@taon-dev/cms 21.0.14 → 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 (2722) 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 +1932 -446
  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 +531 -360
  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 +1932 -446
  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 +531 -360
  238. package/full-dts/build-info._auto-generated_.d.ts +1 -1
  239. package/full-dts/decorators/taon-cms-authorization.d.ts +49 -0
  240. package/full-dts/index._auto-generated_.d.ts +5 -3
  241. package/full-dts/index.d.ts +0 -1
  242. package/full-dts/migrations/1792506757808_applicaitonHooks.d.ts +10 -0
  243. package/full-dts/migrations/1792579000000_postPermissionInheritance.d.ts +7 -0
  244. package/full-dts/migrations/index.d.ts +7 -1
  245. package/full-dts/migrations/migrations_index._auto-generated_.d.ts +4 -2
  246. package/full-dts/taon-cms-application-hook/taon-cms-application-hook.entity.d.ts +10 -0
  247. package/full-dts/taon-cms-application-hooks.d.ts +9 -0
  248. package/full-dts/taon-cms-assets-backoffice/i18n/taon-cms-asset-preview.component.html.de-DE.i18n.data.d.ts +20 -0
  249. package/full-dts/taon-cms-assets-backoffice/i18n/taon-cms-asset-preview.component.html.en-US.i18n.data.d.ts +20 -0
  250. package/full-dts/taon-cms-assets-backoffice/i18n/taon-cms-asset-preview.component.html.pl-PL.i18n.data.d.ts +20 -0
  251. package/full-dts/taon-cms-assets-backoffice/i18n/taon-cms-asset-preview.component.ts.de-DE.i18n.data.d.ts +18 -0
  252. package/full-dts/taon-cms-assets-backoffice/i18n/taon-cms-asset-preview.component.ts.en-US.i18n.data.d.ts +18 -0
  253. package/full-dts/taon-cms-assets-backoffice/i18n/taon-cms-asset-preview.component.ts.pl-PL.i18n.data.d.ts +18 -0
  254. package/full-dts/taon-cms-assets-backoffice/i18n/taon-cms-assets-backoffice.component.html.de-DE.i18n.data.d.ts +19 -0
  255. package/full-dts/taon-cms-assets-backoffice/i18n/taon-cms-assets-backoffice.component.html.en-US.i18n.data.d.ts +19 -0
  256. package/full-dts/taon-cms-assets-backoffice/i18n/taon-cms-assets-backoffice.component.html.pl-PL.i18n.data.d.ts +19 -0
  257. package/full-dts/taon-cms-assets-backoffice/i18n/taon-cms-assets-backoffice.component.ts.de-DE.i18n.data.d.ts +19 -0
  258. package/full-dts/taon-cms-assets-backoffice/i18n/taon-cms-assets-backoffice.component.ts.en-US.i18n.data.d.ts +19 -0
  259. package/full-dts/taon-cms-assets-backoffice/i18n/taon-cms-assets-backoffice.component.ts.pl-PL.i18n.data.d.ts +19 -0
  260. package/full-dts/taon-cms-assets-backoffice/i18n/taon-cms-assets-backoffice.translation.d.ts +15 -0
  261. package/full-dts/taon-cms-assets-backoffice/taon-cms-asset-preview.component.d.ts +17 -0
  262. package/full-dts/taon-cms-assets-backoffice/taon-cms-assets-backoffice.component.d.ts +15 -6
  263. package/full-dts/taon-cms-backoffice/i18n/taon-cms-backoffice.component.html.de-DE.i18n.data.d.ts +17 -0
  264. package/full-dts/taon-cms-backoffice/i18n/taon-cms-backoffice.component.html.en-US.i18n.data.d.ts +17 -0
  265. package/full-dts/taon-cms-backoffice/i18n/taon-cms-backoffice.component.html.pl-PL.i18n.data.d.ts +17 -0
  266. package/full-dts/taon-cms-backoffice/i18n/taon-cms-backoffice.component.ts.de-DE.i18n.data.d.ts +9 -0
  267. package/full-dts/taon-cms-backoffice/i18n/taon-cms-backoffice.component.ts.en-US.i18n.data.d.ts +9 -0
  268. package/full-dts/taon-cms-backoffice/i18n/taon-cms-backoffice.component.ts.pl-PL.i18n.data.d.ts +9 -0
  269. package/full-dts/taon-cms-backoffice/i18n/taon-cms-backoffice.routes.ts.de-DE.i18n.data.d.ts +18 -0
  270. package/full-dts/taon-cms-backoffice/i18n/taon-cms-backoffice.routes.ts.en-US.i18n.data.d.ts +18 -0
  271. package/full-dts/taon-cms-backoffice/i18n/taon-cms-backoffice.routes.ts.pl-PL.i18n.data.d.ts +18 -0
  272. package/full-dts/taon-cms-backoffice/i18n/taon-cms-backoffice.translation.d.ts +12 -0
  273. package/full-dts/taon-cms-backoffice/taon-cms-backoffice.component.d.ts +2 -0
  274. package/full-dts/taon-cms-category/taon-cms-category-api.service.d.ts +2 -1
  275. package/full-dts/taon-cms-comment/taon-cms-comment-api.service.d.ts +2 -1
  276. package/full-dts/taon-cms-content/i18n/taon-cms-content-storage.controller.ts.de-DE.i18n.data.d.ts +17 -0
  277. package/full-dts/taon-cms-content/i18n/taon-cms-content-storage.controller.ts.en-US.i18n.data.d.ts +17 -0
  278. package/full-dts/taon-cms-content/i18n/taon-cms-content-storage.controller.ts.pl-PL.i18n.data.d.ts +17 -0
  279. package/full-dts/taon-cms-content/i18n/taon-cms-content.controller.ts.de-DE.i18n.data.d.ts +22 -0
  280. package/full-dts/taon-cms-content/i18n/taon-cms-content.controller.ts.en-US.i18n.data.d.ts +22 -0
  281. package/full-dts/taon-cms-content/i18n/taon-cms-content.controller.ts.pl-PL.i18n.data.d.ts +22 -0
  282. package/full-dts/taon-cms-content/i18n/taon-cms-content.translation.d.ts +9 -0
  283. package/full-dts/taon-cms-content/taon-cms-content-api.service.d.ts +30 -6
  284. package/full-dts/taon-cms-content/taon-cms-content-storage.controller.d.ts +24 -4
  285. package/full-dts/taon-cms-content/taon-cms-content.controller.d.ts +22 -5
  286. package/full-dts/taon-cms-content/taon-cms-content.entity.d.ts +3 -0
  287. package/full-dts/taon-cms-content/taon-cms-content.models.d.ts +13 -1
  288. package/full-dts/taon-cms-content/taon-cms-content.repository.d.ts +12 -1
  289. package/full-dts/taon-cms-content/taon-cms-upload-progress.d.ts +2 -0
  290. package/full-dts/taon-cms-content-asset/taon-cms-content-asset-api.service.d.ts +2 -1
  291. package/full-dts/taon-cms-content-permission/taon-cms-content-permission-api.service.d.ts +2 -1
  292. package/full-dts/taon-cms-content-revision/taon-cms-content-revision-api.service.d.ts +4 -2
  293. package/full-dts/taon-cms-content-tag/taon-cms-content-tag-api.service.d.ts +2 -1
  294. package/full-dts/taon-cms-tag/taon-cms-tag-api.service.d.ts +1 -5
  295. package/full-dts/taon-posts/taon-cms-post/i18n/taon-cms-post.component.html.de-DE.i18n.data.d.ts +57 -0
  296. package/full-dts/taon-posts/taon-cms-post/i18n/taon-cms-post.component.html.en-US.i18n.data.d.ts +57 -0
  297. package/full-dts/taon-posts/taon-cms-post/i18n/taon-cms-post.component.html.pl-PL.i18n.data.d.ts +57 -0
  298. package/full-dts/taon-posts/taon-cms-post/i18n/taon-cms-post.component.ts.de-DE.i18n.data.d.ts +42 -0
  299. package/full-dts/taon-posts/taon-cms-post/i18n/taon-cms-post.component.ts.en-US.i18n.data.d.ts +46 -0
  300. package/full-dts/taon-posts/taon-cms-post/i18n/taon-cms-post.component.ts.pl-PL.i18n.data.d.ts +42 -0
  301. package/full-dts/taon-posts/taon-cms-post/i18n/taon-cms-post.translation.d.ts +9 -0
  302. package/full-dts/taon-posts/taon-cms-post/taon-cms-post.component.d.ts +42 -6
  303. 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
  304. 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
  305. 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
  306. package/full-dts/taon-posts/taon-cms-post-details-page/i18n/taon-cms-post-details-page.translation.d.ts +6 -0
  307. package/full-dts/taon-posts/taon-cms-post-details-page/taon-cms-post-details-page.component.d.ts +2 -0
  308. 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
  309. 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
  310. 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
  311. 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
  312. 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
  313. 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
  314. package/full-dts/taon-posts/taon-cms-post-edit-dialog/i18n/taon-cms-post-edit-dialog.translation.d.ts +9 -0
  315. package/full-dts/taon-posts/taon-cms-post-edit-dialog/taon-cms-post-edit-dialog.component.d.ts +2 -0
  316. package/full-dts/taon-posts/taon-cms-posts-backoffice/i18n/taon-cms-posts-backoffice.component.html.de-DE.i18n.data.d.ts +18 -0
  317. package/full-dts/taon-posts/taon-cms-posts-backoffice/i18n/taon-cms-posts-backoffice.component.html.en-US.i18n.data.d.ts +18 -0
  318. package/full-dts/taon-posts/taon-cms-posts-backoffice/i18n/taon-cms-posts-backoffice.component.html.pl-PL.i18n.data.d.ts +18 -0
  319. package/full-dts/taon-posts/taon-cms-posts-backoffice/i18n/taon-cms-posts-backoffice.component.ts.de-DE.i18n.data.d.ts +27 -0
  320. package/full-dts/taon-posts/taon-cms-posts-backoffice/i18n/taon-cms-posts-backoffice.component.ts.en-US.i18n.data.d.ts +27 -0
  321. package/full-dts/taon-posts/taon-cms-posts-backoffice/i18n/taon-cms-posts-backoffice.component.ts.pl-PL.i18n.data.d.ts +27 -0
  322. package/full-dts/taon-posts/taon-cms-posts-backoffice/i18n/taon-cms-posts-backoffice.routes.ts.de-DE.i18n.data.d.ts +18 -0
  323. package/full-dts/taon-posts/taon-cms-posts-backoffice/i18n/taon-cms-posts-backoffice.routes.ts.en-US.i18n.data.d.ts +18 -0
  324. package/full-dts/taon-posts/taon-cms-posts-backoffice/i18n/taon-cms-posts-backoffice.routes.ts.pl-PL.i18n.data.d.ts +18 -0
  325. package/full-dts/taon-posts/taon-cms-posts-backoffice/i18n/taon-cms-posts-backoffice.translation.d.ts +12 -0
  326. package/full-dts/taon-posts/taon-cms-posts-backoffice/taon-cms-posts-backoffice.component.d.ts +3 -1
  327. package/full-dts/taon-posts/taon-cms-revision-chooser/i18n/taon-cms-revision-chooser.component.html.de-DE.i18n.data.d.ts +27 -0
  328. package/full-dts/taon-posts/taon-cms-revision-chooser/i18n/taon-cms-revision-chooser.component.html.en-US.i18n.data.d.ts +27 -0
  329. package/full-dts/taon-posts/taon-cms-revision-chooser/i18n/taon-cms-revision-chooser.component.html.pl-PL.i18n.data.d.ts +27 -0
  330. package/full-dts/taon-posts/taon-cms-revision-chooser/i18n/taon-cms-revision-chooser.component.ts.de-DE.i18n.data.d.ts +19 -0
  331. package/full-dts/taon-posts/taon-cms-revision-chooser/i18n/taon-cms-revision-chooser.component.ts.en-US.i18n.data.d.ts +19 -0
  332. package/full-dts/taon-posts/taon-cms-revision-chooser/i18n/taon-cms-revision-chooser.component.ts.pl-PL.i18n.data.d.ts +19 -0
  333. package/full-dts/taon-posts/taon-cms-revision-chooser/i18n/taon-cms-revision-chooser.translation.d.ts +9 -0
  334. package/full-dts/taon-posts/taon-cms-revision-chooser/taon-cms-revision-chooser.component.d.ts +2 -0
  335. package/full-dts/taon-posts/taon-related-post-chooser/i18n/taon-related-post-chooser.component.html.de-DE.i18n.data.d.ts +22 -0
  336. package/full-dts/taon-posts/taon-related-post-chooser/i18n/taon-related-post-chooser.component.html.en-US.i18n.data.d.ts +22 -0
  337. package/full-dts/taon-posts/taon-related-post-chooser/i18n/taon-related-post-chooser.component.html.pl-PL.i18n.data.d.ts +22 -0
  338. package/full-dts/taon-posts/taon-related-post-chooser/i18n/taon-related-post-chooser.component.ts.de-DE.i18n.data.d.ts +18 -0
  339. package/full-dts/taon-posts/taon-related-post-chooser/i18n/taon-related-post-chooser.component.ts.en-US.i18n.data.d.ts +18 -0
  340. package/full-dts/taon-posts/taon-related-post-chooser/i18n/taon-related-post-chooser.component.ts.pl-PL.i18n.data.d.ts +18 -0
  341. package/full-dts/taon-posts/taon-related-post-chooser/i18n/taon-related-post-chooser.translation.d.ts +9 -0
  342. package/full-dts/taon-posts/taon-related-post-chooser/taon-related-post-chooser.component.d.ts +2 -0
  343. package/html/app/baseline-backoffice/taon-baseline-backoffice.component.html +2 -2
  344. package/html/app/cms-example/cms-example.component.html +1 -1
  345. package/html/app/session-example/session-example.component.html +1 -1
  346. package/html/imports.html +3 -2
  347. package/html/lib/taon-cms-assets-backoffice/taon-cms-asset-preview.component.html +44 -0
  348. package/html/lib/taon-cms-assets-backoffice/taon-cms-assets-backoffice.component.html +29 -0
  349. package/html/lib/taon-cms-backoffice/taon-cms-backoffice.component.html +3 -1
  350. package/html/lib/taon-posts/taon-cms-post/taon-cms-post.component.html +393 -56
  351. package/html/lib/taon-posts/taon-cms-post-edit-dialog/taon-cms-post-edit-dialog.component.html +9 -2
  352. package/html/lib/taon-posts/taon-cms-posts-backoffice/taon-cms-posts-backoffice.component.html +2 -2
  353. package/html/lib/taon-posts/taon-cms-revision-chooser/taon-cms-revision-chooser.component.html +55 -14
  354. package/html/lib/taon-posts/taon-related-post-chooser/taon-related-post-chooser.component.html +40 -11
  355. package/i18n/app.ts.de-DE.i18n.data.d.ts +38 -0
  356. package/i18n/app.ts.de-DE.i18n.data.js +2 -0
  357. package/i18n/app.ts.de-DE.i18n.data.js.map +1 -0
  358. package/i18n/app.ts.en-US.i18n.data.d.ts +25 -3
  359. package/i18n/app.ts.pl-PL.i18n.data.d.ts +24 -3
  360. package/i18n/src.translation.d.ts +2 -1
  361. package/lib/build-info._auto-generated_.d.ts +1 -1
  362. package/lib/build-info._auto-generated_.js +1 -1
  363. package/lib/decorators/taon-cms-authorization.d.ts +48 -0
  364. package/lib/decorators/taon-cms-authorization.js +117 -0
  365. package/lib/decorators/taon-cms-authorization.js.map +1 -0
  366. package/lib/index._auto-generated_.d.ts +4 -3
  367. package/lib/index._auto-generated_.js +5 -3
  368. package/lib/index._auto-generated_.js.map +1 -1
  369. package/lib/index.d.ts +0 -1
  370. package/lib/index.js +0 -1
  371. package/lib/index.js.map +1 -1
  372. package/lib/migrations/1792506757808_applicaitonHooks.d.ts +9 -0
  373. package/lib/migrations/1792506757808_applicaitonHooks.js +85 -0
  374. package/lib/migrations/1792506757808_applicaitonHooks.js.map +1 -0
  375. package/lib/migrations/1792579000000_postPermissionInheritance.d.ts +6 -0
  376. package/lib/migrations/1792579000000_postPermissionInheritance.js +37 -0
  377. package/lib/migrations/1792579000000_postPermissionInheritance.js.map +1 -0
  378. package/lib/migrations/index.d.ts +6 -0
  379. package/lib/migrations/index.js +8 -0
  380. package/lib/migrations/index.js.map +1 -1
  381. package/lib/migrations/migrations_index._auto-generated_.d.ts +4 -2
  382. package/lib/migrations/migrations_index._auto-generated_.js +4 -2
  383. package/lib/migrations/migrations_index._auto-generated_.js.map +1 -1
  384. package/lib/package.json +1 -1
  385. package/lib/taon-cms-application-hook/taon-cms-application-hook.entity.d.ts +9 -0
  386. package/lib/taon-cms-application-hook/taon-cms-application-hook.entity.js +45 -0
  387. package/lib/taon-cms-application-hook/taon-cms-application-hook.entity.js.map +1 -0
  388. package/lib/taon-cms-application-hooks.d.ts +8 -0
  389. package/lib/taon-cms-application-hooks.js +11 -0
  390. package/lib/taon-cms-application-hooks.js.map +1 -0
  391. package/lib/taon-cms-assets-backoffice/i18n/taon-cms-asset-preview.component.html.de-DE.i18n.data.d.ts +19 -0
  392. package/lib/taon-cms-assets-backoffice/i18n/taon-cms-asset-preview.component.html.de-DE.i18n.data.js +31 -0
  393. package/lib/taon-cms-assets-backoffice/i18n/taon-cms-asset-preview.component.html.de-DE.i18n.data.js.map +1 -0
  394. package/lib/taon-cms-assets-backoffice/i18n/taon-cms-asset-preview.component.html.en-US.i18n.data.d.ts +19 -0
  395. package/lib/taon-cms-assets-backoffice/i18n/taon-cms-asset-preview.component.html.en-US.i18n.data.js +31 -0
  396. package/lib/taon-cms-assets-backoffice/i18n/taon-cms-asset-preview.component.html.en-US.i18n.data.js.map +1 -0
  397. package/lib/taon-cms-assets-backoffice/i18n/taon-cms-asset-preview.component.html.pl-PL.i18n.data.d.ts +19 -0
  398. package/lib/taon-cms-assets-backoffice/i18n/taon-cms-asset-preview.component.html.pl-PL.i18n.data.js +31 -0
  399. package/lib/taon-cms-assets-backoffice/i18n/taon-cms-asset-preview.component.html.pl-PL.i18n.data.js.map +1 -0
  400. package/lib/taon-cms-assets-backoffice/i18n/taon-cms-asset-preview.component.ts.de-DE.i18n.data.d.ts +17 -0
  401. package/lib/taon-cms-assets-backoffice/i18n/taon-cms-asset-preview.component.ts.de-DE.i18n.data.js +21 -0
  402. package/lib/taon-cms-assets-backoffice/i18n/taon-cms-asset-preview.component.ts.de-DE.i18n.data.js.map +1 -0
  403. package/lib/taon-cms-assets-backoffice/i18n/taon-cms-asset-preview.component.ts.en-US.i18n.data.d.ts +17 -0
  404. package/lib/taon-cms-assets-backoffice/i18n/taon-cms-asset-preview.component.ts.en-US.i18n.data.js +21 -0
  405. package/lib/taon-cms-assets-backoffice/i18n/taon-cms-asset-preview.component.ts.en-US.i18n.data.js.map +1 -0
  406. package/lib/taon-cms-assets-backoffice/i18n/taon-cms-asset-preview.component.ts.pl-PL.i18n.data.d.ts +17 -0
  407. package/lib/taon-cms-assets-backoffice/i18n/taon-cms-asset-preview.component.ts.pl-PL.i18n.data.js +21 -0
  408. package/lib/taon-cms-assets-backoffice/i18n/taon-cms-asset-preview.component.ts.pl-PL.i18n.data.js.map +1 -0
  409. package/lib/taon-cms-assets-backoffice/i18n/taon-cms-assets-backoffice.component.html.de-DE.i18n.data.d.ts +18 -0
  410. package/lib/taon-cms-assets-backoffice/i18n/taon-cms-assets-backoffice.component.html.de-DE.i18n.data.js +26 -0
  411. package/lib/taon-cms-assets-backoffice/i18n/taon-cms-assets-backoffice.component.html.de-DE.i18n.data.js.map +1 -0
  412. package/lib/taon-cms-assets-backoffice/i18n/taon-cms-assets-backoffice.component.html.en-US.i18n.data.d.ts +18 -0
  413. package/lib/taon-cms-assets-backoffice/i18n/taon-cms-assets-backoffice.component.html.en-US.i18n.data.js +26 -0
  414. package/lib/taon-cms-assets-backoffice/i18n/taon-cms-assets-backoffice.component.html.en-US.i18n.data.js.map +1 -0
  415. package/lib/taon-cms-assets-backoffice/i18n/taon-cms-assets-backoffice.component.html.pl-PL.i18n.data.d.ts +18 -0
  416. package/lib/taon-cms-assets-backoffice/i18n/taon-cms-assets-backoffice.component.html.pl-PL.i18n.data.js +26 -0
  417. package/lib/taon-cms-assets-backoffice/i18n/taon-cms-assets-backoffice.component.html.pl-PL.i18n.data.js.map +1 -0
  418. package/lib/taon-cms-assets-backoffice/i18n/taon-cms-assets-backoffice.component.ts.de-DE.i18n.data.d.ts +18 -0
  419. package/lib/taon-cms-assets-backoffice/i18n/taon-cms-assets-backoffice.component.ts.de-DE.i18n.data.js +26 -0
  420. package/lib/taon-cms-assets-backoffice/i18n/taon-cms-assets-backoffice.component.ts.de-DE.i18n.data.js.map +1 -0
  421. package/lib/taon-cms-assets-backoffice/i18n/taon-cms-assets-backoffice.component.ts.en-US.i18n.data.d.ts +18 -0
  422. package/lib/taon-cms-assets-backoffice/i18n/taon-cms-assets-backoffice.component.ts.en-US.i18n.data.js +26 -0
  423. package/lib/taon-cms-assets-backoffice/i18n/taon-cms-assets-backoffice.component.ts.en-US.i18n.data.js.map +1 -0
  424. package/lib/taon-cms-assets-backoffice/i18n/taon-cms-assets-backoffice.component.ts.pl-PL.i18n.data.d.ts +18 -0
  425. package/lib/taon-cms-assets-backoffice/i18n/taon-cms-assets-backoffice.component.ts.pl-PL.i18n.data.js +26 -0
  426. package/lib/taon-cms-assets-backoffice/i18n/taon-cms-assets-backoffice.component.ts.pl-PL.i18n.data.js.map +1 -0
  427. package/lib/taon-cms-assets-backoffice/i18n/taon-cms-assets-backoffice.translation.d.ts +14 -0
  428. package/lib/taon-cms-assets-backoffice/i18n/taon-cms-assets-backoffice.translation.js +5 -0
  429. package/lib/taon-cms-assets-backoffice/i18n/taon-cms-assets-backoffice.translation.js.map +1 -0
  430. package/lib/taon-cms-backoffice/i18n/taon-cms-backoffice.component.html.de-DE.i18n.data.d.ts +16 -0
  431. package/lib/taon-cms-backoffice/i18n/taon-cms-backoffice.component.html.de-DE.i18n.data.js +16 -0
  432. package/lib/taon-cms-backoffice/i18n/taon-cms-backoffice.component.html.de-DE.i18n.data.js.map +1 -0
  433. package/lib/taon-cms-backoffice/i18n/taon-cms-backoffice.component.html.en-US.i18n.data.d.ts +16 -0
  434. package/lib/taon-cms-backoffice/i18n/taon-cms-backoffice.component.html.en-US.i18n.data.js +16 -0
  435. package/lib/taon-cms-backoffice/i18n/taon-cms-backoffice.component.html.en-US.i18n.data.js.map +1 -0
  436. package/lib/taon-cms-backoffice/i18n/taon-cms-backoffice.component.html.pl-PL.i18n.data.d.ts +16 -0
  437. package/lib/taon-cms-backoffice/i18n/taon-cms-backoffice.component.html.pl-PL.i18n.data.js +16 -0
  438. package/lib/taon-cms-backoffice/i18n/taon-cms-backoffice.component.html.pl-PL.i18n.data.js.map +1 -0
  439. package/lib/taon-cms-backoffice/i18n/taon-cms-backoffice.component.ts.de-DE.i18n.data.d.ts +8 -0
  440. package/lib/taon-cms-backoffice/i18n/taon-cms-backoffice.component.ts.de-DE.i18n.data.js +10 -0
  441. package/lib/taon-cms-backoffice/i18n/taon-cms-backoffice.component.ts.de-DE.i18n.data.js.map +1 -0
  442. package/lib/taon-cms-backoffice/i18n/taon-cms-backoffice.component.ts.en-US.i18n.data.d.ts +8 -0
  443. package/lib/taon-cms-backoffice/i18n/taon-cms-backoffice.component.ts.en-US.i18n.data.js +10 -0
  444. package/lib/taon-cms-backoffice/i18n/taon-cms-backoffice.component.ts.en-US.i18n.data.js.map +1 -0
  445. package/lib/taon-cms-backoffice/i18n/taon-cms-backoffice.component.ts.pl-PL.i18n.data.d.ts +8 -0
  446. package/lib/taon-cms-backoffice/i18n/taon-cms-backoffice.component.ts.pl-PL.i18n.data.js +10 -0
  447. package/lib/taon-cms-backoffice/i18n/taon-cms-backoffice.component.ts.pl-PL.i18n.data.js.map +1 -0
  448. package/lib/taon-cms-backoffice/i18n/taon-cms-backoffice.routes.ts.de-DE.i18n.data.d.ts +17 -0
  449. package/lib/taon-cms-backoffice/i18n/taon-cms-backoffice.routes.ts.de-DE.i18n.data.js +21 -0
  450. package/lib/taon-cms-backoffice/i18n/taon-cms-backoffice.routes.ts.de-DE.i18n.data.js.map +1 -0
  451. package/lib/taon-cms-backoffice/i18n/taon-cms-backoffice.routes.ts.en-US.i18n.data.d.ts +17 -0
  452. package/lib/taon-cms-backoffice/i18n/taon-cms-backoffice.routes.ts.en-US.i18n.data.js +21 -0
  453. package/lib/taon-cms-backoffice/i18n/taon-cms-backoffice.routes.ts.en-US.i18n.data.js.map +1 -0
  454. package/lib/taon-cms-backoffice/i18n/taon-cms-backoffice.routes.ts.pl-PL.i18n.data.d.ts +17 -0
  455. package/lib/taon-cms-backoffice/i18n/taon-cms-backoffice.routes.ts.pl-PL.i18n.data.js +21 -0
  456. package/lib/taon-cms-backoffice/i18n/taon-cms-backoffice.routes.ts.pl-PL.i18n.data.js.map +1 -0
  457. package/lib/taon-cms-backoffice/i18n/taon-cms-backoffice.translation.d.ts +11 -0
  458. package/lib/taon-cms-backoffice/i18n/taon-cms-backoffice.translation.js +5 -0
  459. package/lib/taon-cms-backoffice/i18n/taon-cms-backoffice.translation.js.map +1 -0
  460. package/lib/taon-cms-backoffice/index.d.ts +1 -1
  461. package/lib/taon-cms-backoffice/index.js +2 -2
  462. package/lib/taon-cms-content/i18n/taon-cms-content-storage.controller.ts.de-DE.i18n.data.d.ts +16 -0
  463. package/lib/taon-cms-content/i18n/taon-cms-content-storage.controller.ts.de-DE.i18n.data.js +16 -0
  464. package/lib/taon-cms-content/i18n/taon-cms-content-storage.controller.ts.de-DE.i18n.data.js.map +1 -0
  465. package/lib/taon-cms-content/i18n/taon-cms-content-storage.controller.ts.en-US.i18n.data.d.ts +16 -0
  466. package/lib/taon-cms-content/i18n/taon-cms-content-storage.controller.ts.en-US.i18n.data.js +16 -0
  467. package/lib/taon-cms-content/i18n/taon-cms-content-storage.controller.ts.en-US.i18n.data.js.map +1 -0
  468. package/lib/taon-cms-content/i18n/taon-cms-content-storage.controller.ts.pl-PL.i18n.data.d.ts +16 -0
  469. package/lib/taon-cms-content/i18n/taon-cms-content-storage.controller.ts.pl-PL.i18n.data.js +16 -0
  470. package/lib/taon-cms-content/i18n/taon-cms-content-storage.controller.ts.pl-PL.i18n.data.js.map +1 -0
  471. package/lib/taon-cms-content/i18n/taon-cms-content.controller.ts.de-DE.i18n.data.d.ts +21 -0
  472. package/lib/taon-cms-content/i18n/taon-cms-content.controller.ts.de-DE.i18n.data.js +41 -0
  473. package/lib/taon-cms-content/i18n/taon-cms-content.controller.ts.de-DE.i18n.data.js.map +1 -0
  474. package/lib/taon-cms-content/i18n/taon-cms-content.controller.ts.en-US.i18n.data.d.ts +21 -0
  475. package/lib/taon-cms-content/i18n/taon-cms-content.controller.ts.en-US.i18n.data.js +41 -0
  476. package/lib/taon-cms-content/i18n/taon-cms-content.controller.ts.en-US.i18n.data.js.map +1 -0
  477. package/lib/taon-cms-content/i18n/taon-cms-content.controller.ts.pl-PL.i18n.data.d.ts +21 -0
  478. package/lib/taon-cms-content/i18n/taon-cms-content.controller.ts.pl-PL.i18n.data.js +41 -0
  479. package/lib/taon-cms-content/i18n/taon-cms-content.controller.ts.pl-PL.i18n.data.js.map +1 -0
  480. package/lib/taon-cms-content/i18n/taon-cms-content.translation.d.ts +8 -0
  481. package/lib/taon-cms-content/i18n/taon-cms-content.translation.js +5 -0
  482. package/lib/taon-cms-content/i18n/taon-cms-content.translation.js.map +1 -0
  483. package/lib/taon-cms-content/taon-cms-content-storage.controller.d.ts +24 -4
  484. package/lib/taon-cms-content/taon-cms-content-storage.controller.js +103 -10
  485. package/lib/taon-cms-content/taon-cms-content-storage.controller.js.map +1 -1
  486. package/lib/taon-cms-content/taon-cms-content.abstract.context.js +2 -1
  487. package/lib/taon-cms-content/taon-cms-content.abstract.context.js.map +1 -1
  488. package/lib/taon-cms-content/taon-cms-content.controller.d.ts +22 -5
  489. package/lib/taon-cms-content/taon-cms-content.controller.js +325 -29
  490. package/lib/taon-cms-content/taon-cms-content.controller.js.map +1 -1
  491. package/lib/taon-cms-content/taon-cms-content.entity.d.ts +3 -0
  492. package/lib/taon-cms-content/taon-cms-content.entity.js +19 -0
  493. package/lib/taon-cms-content/taon-cms-content.entity.js.map +1 -1
  494. package/lib/taon-cms-content/taon-cms-content.models.d.ts +12 -0
  495. package/lib/taon-cms-content/taon-cms-content.models.js.map +1 -1
  496. package/lib/taon-cms-content/taon-cms-content.repository.d.ts +12 -1
  497. package/lib/taon-cms-content/taon-cms-content.repository.js +204 -11
  498. package/lib/taon-cms-content/taon-cms-content.repository.js.map +1 -1
  499. package/lib/taon-cms-content/taon-cms-content.validation.js +9 -1
  500. package/lib/taon-cms-content/taon-cms-content.validation.js.map +1 -1
  501. package/lib/taon-cms-content/taon-cms-upload-progress.d.ts +1 -0
  502. package/lib/taon-cms-content/taon-cms-upload-progress.js +80 -0
  503. package/lib/taon-cms-content/taon-cms-upload-progress.js.map +1 -0
  504. package/lib/taon-posts/taon-cms-post/i18n/taon-cms-post.component.html.de-DE.i18n.data.d.ts +56 -0
  505. package/lib/taon-posts/taon-cms-post/i18n/taon-cms-post.component.html.de-DE.i18n.data.js +256 -0
  506. package/lib/taon-posts/taon-cms-post/i18n/taon-cms-post.component.html.de-DE.i18n.data.js.map +1 -0
  507. package/lib/taon-posts/taon-cms-post/i18n/taon-cms-post.component.html.en-US.i18n.data.d.ts +56 -0
  508. package/lib/taon-posts/taon-cms-post/i18n/taon-cms-post.component.html.en-US.i18n.data.js +256 -0
  509. package/lib/taon-posts/taon-cms-post/i18n/taon-cms-post.component.html.en-US.i18n.data.js.map +1 -0
  510. package/lib/taon-posts/taon-cms-post/i18n/taon-cms-post.component.html.pl-PL.i18n.data.d.ts +56 -0
  511. package/lib/taon-posts/taon-cms-post/i18n/taon-cms-post.component.html.pl-PL.i18n.data.js +256 -0
  512. package/lib/taon-posts/taon-cms-post/i18n/taon-cms-post.component.html.pl-PL.i18n.data.js.map +1 -0
  513. package/lib/taon-posts/taon-cms-post/i18n/taon-cms-post.component.ts.de-DE.i18n.data.d.ts +41 -0
  514. package/lib/taon-posts/taon-cms-post/i18n/taon-cms-post.component.ts.de-DE.i18n.data.js +146 -0
  515. package/lib/taon-posts/taon-cms-post/i18n/taon-cms-post.component.ts.de-DE.i18n.data.js.map +1 -0
  516. package/lib/taon-posts/taon-cms-post/i18n/taon-cms-post.component.ts.en-US.i18n.data.d.ts +45 -0
  517. package/lib/taon-posts/taon-cms-post/i18n/taon-cms-post.component.ts.en-US.i18n.data.js +143 -0
  518. package/lib/taon-posts/taon-cms-post/i18n/taon-cms-post.component.ts.en-US.i18n.data.js.map +1 -0
  519. package/lib/taon-posts/taon-cms-post/i18n/taon-cms-post.component.ts.pl-PL.i18n.data.d.ts +41 -0
  520. package/lib/taon-posts/taon-cms-post/i18n/taon-cms-post.component.ts.pl-PL.i18n.data.js +146 -0
  521. package/lib/taon-posts/taon-cms-post/i18n/taon-cms-post.component.ts.pl-PL.i18n.data.js.map +1 -0
  522. package/lib/taon-posts/taon-cms-post/i18n/taon-cms-post.translation.d.ts +8 -0
  523. package/lib/taon-posts/taon-cms-post/i18n/taon-cms-post.translation.js +5 -0
  524. package/lib/taon-posts/taon-cms-post/i18n/taon-cms-post.translation.js.map +1 -0
  525. package/lib/taon-posts/taon-cms-post/index.d.ts +1 -1
  526. package/lib/taon-posts/taon-cms-post/index.js +2 -2
  527. 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
  528. package/lib/taon-posts/taon-cms-post-details-page/i18n/taon-cms-post-details-page.component.ts.de-DE.i18n.data.js +16 -0
  529. 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
  530. 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
  531. package/lib/taon-posts/taon-cms-post-details-page/i18n/taon-cms-post-details-page.component.ts.en-US.i18n.data.js +16 -0
  532. 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
  533. 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
  534. package/lib/taon-posts/taon-cms-post-details-page/i18n/taon-cms-post-details-page.component.ts.pl-PL.i18n.data.js +16 -0
  535. 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
  536. package/lib/taon-posts/taon-cms-post-details-page/i18n/taon-cms-post-details-page.translation.d.ts +5 -0
  537. package/lib/taon-posts/taon-cms-post-details-page/i18n/taon-cms-post-details-page.translation.js +5 -0
  538. package/lib/taon-posts/taon-cms-post-details-page/i18n/taon-cms-post-details-page.translation.js.map +1 -0
  539. 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
  540. package/lib/taon-posts/taon-cms-post-edit-dialog/i18n/taon-cms-post-edit-dialog.component.html.de-DE.i18n.data.js +21 -0
  541. 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
  542. 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
  543. package/lib/taon-posts/taon-cms-post-edit-dialog/i18n/taon-cms-post-edit-dialog.component.html.en-US.i18n.data.js +21 -0
  544. 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
  545. 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
  546. package/lib/taon-posts/taon-cms-post-edit-dialog/i18n/taon-cms-post-edit-dialog.component.html.pl-PL.i18n.data.js +21 -0
  547. 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
  548. 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
  549. package/lib/taon-posts/taon-cms-post-edit-dialog/i18n/taon-cms-post-edit-dialog.component.ts.de-DE.i18n.data.js +10 -0
  550. 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
  551. 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
  552. package/lib/taon-posts/taon-cms-post-edit-dialog/i18n/taon-cms-post-edit-dialog.component.ts.en-US.i18n.data.js +10 -0
  553. 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
  554. 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
  555. package/lib/taon-posts/taon-cms-post-edit-dialog/i18n/taon-cms-post-edit-dialog.component.ts.pl-PL.i18n.data.js +10 -0
  556. 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
  557. package/lib/taon-posts/taon-cms-post-edit-dialog/i18n/taon-cms-post-edit-dialog.translation.d.ts +8 -0
  558. package/lib/taon-posts/taon-cms-post-edit-dialog/i18n/taon-cms-post-edit-dialog.translation.js +5 -0
  559. package/lib/taon-posts/taon-cms-post-edit-dialog/i18n/taon-cms-post-edit-dialog.translation.js.map +1 -0
  560. package/lib/taon-posts/taon-cms-post-edit-dialog/index.d.ts +1 -1
  561. package/lib/taon-posts/taon-cms-post-edit-dialog/index.js +2 -2
  562. package/lib/taon-posts/taon-cms-posts-backoffice/i18n/taon-cms-posts-backoffice.component.html.de-DE.i18n.data.d.ts +17 -0
  563. package/lib/taon-posts/taon-cms-posts-backoffice/i18n/taon-cms-posts-backoffice.component.html.de-DE.i18n.data.js +21 -0
  564. package/lib/taon-posts/taon-cms-posts-backoffice/i18n/taon-cms-posts-backoffice.component.html.de-DE.i18n.data.js.map +1 -0
  565. package/lib/taon-posts/taon-cms-posts-backoffice/i18n/taon-cms-posts-backoffice.component.html.en-US.i18n.data.d.ts +17 -0
  566. package/lib/taon-posts/taon-cms-posts-backoffice/i18n/taon-cms-posts-backoffice.component.html.en-US.i18n.data.js +21 -0
  567. package/lib/taon-posts/taon-cms-posts-backoffice/i18n/taon-cms-posts-backoffice.component.html.en-US.i18n.data.js.map +1 -0
  568. package/lib/taon-posts/taon-cms-posts-backoffice/i18n/taon-cms-posts-backoffice.component.html.pl-PL.i18n.data.d.ts +17 -0
  569. package/lib/taon-posts/taon-cms-posts-backoffice/i18n/taon-cms-posts-backoffice.component.html.pl-PL.i18n.data.js +21 -0
  570. package/lib/taon-posts/taon-cms-posts-backoffice/i18n/taon-cms-posts-backoffice.component.html.pl-PL.i18n.data.js.map +1 -0
  571. package/lib/taon-posts/taon-cms-posts-backoffice/i18n/taon-cms-posts-backoffice.component.ts.de-DE.i18n.data.d.ts +26 -0
  572. package/lib/taon-posts/taon-cms-posts-backoffice/i18n/taon-cms-posts-backoffice.component.ts.de-DE.i18n.data.js +66 -0
  573. package/lib/taon-posts/taon-cms-posts-backoffice/i18n/taon-cms-posts-backoffice.component.ts.de-DE.i18n.data.js.map +1 -0
  574. package/lib/taon-posts/taon-cms-posts-backoffice/i18n/taon-cms-posts-backoffice.component.ts.en-US.i18n.data.d.ts +26 -0
  575. package/lib/taon-posts/taon-cms-posts-backoffice/i18n/taon-cms-posts-backoffice.component.ts.en-US.i18n.data.js +66 -0
  576. package/lib/taon-posts/taon-cms-posts-backoffice/i18n/taon-cms-posts-backoffice.component.ts.en-US.i18n.data.js.map +1 -0
  577. package/lib/taon-posts/taon-cms-posts-backoffice/i18n/taon-cms-posts-backoffice.component.ts.pl-PL.i18n.data.d.ts +26 -0
  578. package/lib/taon-posts/taon-cms-posts-backoffice/i18n/taon-cms-posts-backoffice.component.ts.pl-PL.i18n.data.js +66 -0
  579. package/lib/taon-posts/taon-cms-posts-backoffice/i18n/taon-cms-posts-backoffice.component.ts.pl-PL.i18n.data.js.map +1 -0
  580. package/lib/taon-posts/taon-cms-posts-backoffice/i18n/taon-cms-posts-backoffice.routes.ts.de-DE.i18n.data.d.ts +17 -0
  581. package/lib/taon-posts/taon-cms-posts-backoffice/i18n/taon-cms-posts-backoffice.routes.ts.de-DE.i18n.data.js +21 -0
  582. package/lib/taon-posts/taon-cms-posts-backoffice/i18n/taon-cms-posts-backoffice.routes.ts.de-DE.i18n.data.js.map +1 -0
  583. package/lib/taon-posts/taon-cms-posts-backoffice/i18n/taon-cms-posts-backoffice.routes.ts.en-US.i18n.data.d.ts +17 -0
  584. package/lib/taon-posts/taon-cms-posts-backoffice/i18n/taon-cms-posts-backoffice.routes.ts.en-US.i18n.data.js +21 -0
  585. package/lib/taon-posts/taon-cms-posts-backoffice/i18n/taon-cms-posts-backoffice.routes.ts.en-US.i18n.data.js.map +1 -0
  586. package/lib/taon-posts/taon-cms-posts-backoffice/i18n/taon-cms-posts-backoffice.routes.ts.pl-PL.i18n.data.d.ts +17 -0
  587. package/lib/taon-posts/taon-cms-posts-backoffice/i18n/taon-cms-posts-backoffice.routes.ts.pl-PL.i18n.data.js +21 -0
  588. package/lib/taon-posts/taon-cms-posts-backoffice/i18n/taon-cms-posts-backoffice.routes.ts.pl-PL.i18n.data.js.map +1 -0
  589. package/lib/taon-posts/taon-cms-posts-backoffice/i18n/taon-cms-posts-backoffice.translation.d.ts +11 -0
  590. package/lib/taon-posts/taon-cms-posts-backoffice/i18n/taon-cms-posts-backoffice.translation.js +5 -0
  591. package/lib/taon-posts/taon-cms-posts-backoffice/i18n/taon-cms-posts-backoffice.translation.js.map +1 -0
  592. package/lib/taon-posts/taon-cms-posts-backoffice/index.d.ts +1 -1
  593. package/lib/taon-posts/taon-cms-posts-backoffice/index.js +2 -2
  594. package/lib/taon-posts/taon-cms-revision-chooser/i18n/taon-cms-revision-chooser.component.html.de-DE.i18n.data.d.ts +26 -0
  595. package/lib/taon-posts/taon-cms-revision-chooser/i18n/taon-cms-revision-chooser.component.html.de-DE.i18n.data.js +71 -0
  596. package/lib/taon-posts/taon-cms-revision-chooser/i18n/taon-cms-revision-chooser.component.html.de-DE.i18n.data.js.map +1 -0
  597. package/lib/taon-posts/taon-cms-revision-chooser/i18n/taon-cms-revision-chooser.component.html.en-US.i18n.data.d.ts +26 -0
  598. package/lib/taon-posts/taon-cms-revision-chooser/i18n/taon-cms-revision-chooser.component.html.en-US.i18n.data.js +71 -0
  599. package/lib/taon-posts/taon-cms-revision-chooser/i18n/taon-cms-revision-chooser.component.html.en-US.i18n.data.js.map +1 -0
  600. package/lib/taon-posts/taon-cms-revision-chooser/i18n/taon-cms-revision-chooser.component.html.pl-PL.i18n.data.d.ts +26 -0
  601. package/lib/taon-posts/taon-cms-revision-chooser/i18n/taon-cms-revision-chooser.component.html.pl-PL.i18n.data.js +71 -0
  602. package/lib/taon-posts/taon-cms-revision-chooser/i18n/taon-cms-revision-chooser.component.html.pl-PL.i18n.data.js.map +1 -0
  603. package/lib/taon-posts/taon-cms-revision-chooser/i18n/taon-cms-revision-chooser.component.ts.de-DE.i18n.data.d.ts +18 -0
  604. package/lib/taon-posts/taon-cms-revision-chooser/i18n/taon-cms-revision-chooser.component.ts.de-DE.i18n.data.js +26 -0
  605. package/lib/taon-posts/taon-cms-revision-chooser/i18n/taon-cms-revision-chooser.component.ts.de-DE.i18n.data.js.map +1 -0
  606. package/lib/taon-posts/taon-cms-revision-chooser/i18n/taon-cms-revision-chooser.component.ts.en-US.i18n.data.d.ts +18 -0
  607. package/lib/taon-posts/taon-cms-revision-chooser/i18n/taon-cms-revision-chooser.component.ts.en-US.i18n.data.js +26 -0
  608. package/lib/taon-posts/taon-cms-revision-chooser/i18n/taon-cms-revision-chooser.component.ts.en-US.i18n.data.js.map +1 -0
  609. package/lib/taon-posts/taon-cms-revision-chooser/i18n/taon-cms-revision-chooser.component.ts.pl-PL.i18n.data.d.ts +18 -0
  610. package/lib/taon-posts/taon-cms-revision-chooser/i18n/taon-cms-revision-chooser.component.ts.pl-PL.i18n.data.js +26 -0
  611. package/lib/taon-posts/taon-cms-revision-chooser/i18n/taon-cms-revision-chooser.component.ts.pl-PL.i18n.data.js.map +1 -0
  612. package/lib/taon-posts/taon-cms-revision-chooser/i18n/taon-cms-revision-chooser.translation.d.ts +8 -0
  613. package/lib/taon-posts/taon-cms-revision-chooser/i18n/taon-cms-revision-chooser.translation.js +5 -0
  614. package/lib/taon-posts/taon-cms-revision-chooser/i18n/taon-cms-revision-chooser.translation.js.map +1 -0
  615. package/lib/taon-posts/taon-cms-revision-chooser/index.d.ts +1 -1
  616. package/lib/taon-posts/taon-cms-revision-chooser/index.js +2 -2
  617. package/lib/taon-posts/taon-related-post-chooser/i18n/taon-related-post-chooser.component.html.de-DE.i18n.data.d.ts +21 -0
  618. package/lib/taon-posts/taon-related-post-chooser/i18n/taon-related-post-chooser.component.html.de-DE.i18n.data.js +46 -0
  619. package/lib/taon-posts/taon-related-post-chooser/i18n/taon-related-post-chooser.component.html.de-DE.i18n.data.js.map +1 -0
  620. package/lib/taon-posts/taon-related-post-chooser/i18n/taon-related-post-chooser.component.html.en-US.i18n.data.d.ts +21 -0
  621. package/lib/taon-posts/taon-related-post-chooser/i18n/taon-related-post-chooser.component.html.en-US.i18n.data.js +46 -0
  622. package/lib/taon-posts/taon-related-post-chooser/i18n/taon-related-post-chooser.component.html.en-US.i18n.data.js.map +1 -0
  623. package/lib/taon-posts/taon-related-post-chooser/i18n/taon-related-post-chooser.component.html.pl-PL.i18n.data.d.ts +21 -0
  624. package/lib/taon-posts/taon-related-post-chooser/i18n/taon-related-post-chooser.component.html.pl-PL.i18n.data.js +46 -0
  625. package/lib/taon-posts/taon-related-post-chooser/i18n/taon-related-post-chooser.component.html.pl-PL.i18n.data.js.map +1 -0
  626. package/lib/taon-posts/taon-related-post-chooser/i18n/taon-related-post-chooser.component.ts.de-DE.i18n.data.d.ts +17 -0
  627. package/lib/taon-posts/taon-related-post-chooser/i18n/taon-related-post-chooser.component.ts.de-DE.i18n.data.js +21 -0
  628. package/lib/taon-posts/taon-related-post-chooser/i18n/taon-related-post-chooser.component.ts.de-DE.i18n.data.js.map +1 -0
  629. package/lib/taon-posts/taon-related-post-chooser/i18n/taon-related-post-chooser.component.ts.en-US.i18n.data.d.ts +17 -0
  630. package/lib/taon-posts/taon-related-post-chooser/i18n/taon-related-post-chooser.component.ts.en-US.i18n.data.js +21 -0
  631. package/lib/taon-posts/taon-related-post-chooser/i18n/taon-related-post-chooser.component.ts.en-US.i18n.data.js.map +1 -0
  632. package/lib/taon-posts/taon-related-post-chooser/i18n/taon-related-post-chooser.component.ts.pl-PL.i18n.data.d.ts +17 -0
  633. package/lib/taon-posts/taon-related-post-chooser/i18n/taon-related-post-chooser.component.ts.pl-PL.i18n.data.js +21 -0
  634. package/lib/taon-posts/taon-related-post-chooser/i18n/taon-related-post-chooser.component.ts.pl-PL.i18n.data.js.map +1 -0
  635. package/lib/taon-posts/taon-related-post-chooser/i18n/taon-related-post-chooser.translation.d.ts +8 -0
  636. package/lib/taon-posts/taon-related-post-chooser/i18n/taon-related-post-chooser.translation.js +5 -0
  637. package/lib/taon-posts/taon-related-post-chooser/i18n/taon-related-post-chooser.translation.js.map +1 -0
  638. package/lib/taon-posts/taon-related-post-chooser/index.d.ts +1 -1
  639. package/lib/taon-posts/taon-related-post-chooser/index.js +2 -2
  640. package/lib-esm/i18n/app.ts.de-DE.i18n.data.d.ts +0 -0
  641. package/lib-esm/i18n/app.ts.de-DE.i18n.data.js +2 -0
  642. package/lib-esm/i18n/app.ts.de-DE.i18n.data.js.map +1 -0
  643. package/lib-esm/lib/build-info._auto-generated_.d.ts +1 -1
  644. package/lib-esm/lib/build-info._auto-generated_.js +1 -1
  645. package/lib-esm/lib/decorators/taon-cms-authorization.d.ts +48 -0
  646. package/lib-esm/lib/decorators/taon-cms-authorization.js +107 -0
  647. package/lib-esm/lib/decorators/taon-cms-authorization.js.map +1 -0
  648. package/lib-esm/lib/index._auto-generated_.d.ts +4 -3
  649. package/lib-esm/lib/index._auto-generated_.js +5 -3
  650. package/lib-esm/lib/index._auto-generated_.js.map +1 -1
  651. package/lib-esm/lib/index.d.ts +0 -1
  652. package/lib-esm/lib/index.js +0 -1
  653. package/lib-esm/lib/index.js.map +1 -1
  654. package/lib-esm/lib/migrations/1792506757808_applicaitonHooks.d.ts +9 -0
  655. package/lib-esm/lib/migrations/1792506757808_applicaitonHooks.js +76 -0
  656. package/lib-esm/lib/migrations/1792506757808_applicaitonHooks.js.map +1 -0
  657. package/lib-esm/lib/migrations/1792579000000_postPermissionInheritance.d.ts +6 -0
  658. package/lib-esm/lib/migrations/1792579000000_postPermissionInheritance.js +28 -0
  659. package/lib-esm/lib/migrations/1792579000000_postPermissionInheritance.js.map +1 -0
  660. package/lib-esm/lib/migrations/index.d.ts +6 -0
  661. package/lib-esm/lib/migrations/index.js +7 -0
  662. package/lib-esm/lib/migrations/index.js.map +1 -1
  663. package/lib-esm/lib/migrations/migrations_index._auto-generated_.d.ts +4 -2
  664. package/lib-esm/lib/migrations/migrations_index._auto-generated_.js +4 -2
  665. package/lib-esm/lib/migrations/migrations_index._auto-generated_.js.map +1 -1
  666. package/lib-esm/lib/taon-cms-application-hook/taon-cms-application-hook.entity.d.ts +9 -0
  667. package/lib-esm/lib/taon-cms-application-hook/taon-cms-application-hook.entity.js +33 -0
  668. package/lib-esm/lib/taon-cms-application-hook/taon-cms-application-hook.entity.js.map +1 -0
  669. package/lib-esm/lib/taon-cms-application-hooks.d.ts +8 -0
  670. package/lib-esm/lib/taon-cms-application-hooks.js +8 -0
  671. package/lib-esm/lib/taon-cms-application-hooks.js.map +1 -0
  672. package/lib-esm/lib/taon-cms-assets-backoffice/i18n/taon-cms-asset-preview.component.html.de-DE.i18n.data.d.ts +19 -0
  673. package/lib-esm/lib/taon-cms-assets-backoffice/i18n/taon-cms-asset-preview.component.html.de-DE.i18n.data.js +29 -0
  674. package/lib-esm/lib/taon-cms-assets-backoffice/i18n/taon-cms-asset-preview.component.html.de-DE.i18n.data.js.map +1 -0
  675. package/lib-esm/lib/taon-cms-assets-backoffice/i18n/taon-cms-asset-preview.component.html.en-US.i18n.data.d.ts +19 -0
  676. package/lib-esm/lib/taon-cms-assets-backoffice/i18n/taon-cms-asset-preview.component.html.en-US.i18n.data.js +29 -0
  677. package/lib-esm/lib/taon-cms-assets-backoffice/i18n/taon-cms-asset-preview.component.html.en-US.i18n.data.js.map +1 -0
  678. package/lib-esm/lib/taon-cms-assets-backoffice/i18n/taon-cms-asset-preview.component.html.pl-PL.i18n.data.d.ts +19 -0
  679. package/lib-esm/lib/taon-cms-assets-backoffice/i18n/taon-cms-asset-preview.component.html.pl-PL.i18n.data.js +29 -0
  680. package/lib-esm/lib/taon-cms-assets-backoffice/i18n/taon-cms-asset-preview.component.html.pl-PL.i18n.data.js.map +1 -0
  681. package/lib-esm/lib/taon-cms-assets-backoffice/i18n/taon-cms-asset-preview.component.ts.de-DE.i18n.data.d.ts +17 -0
  682. package/lib-esm/lib/taon-cms-assets-backoffice/i18n/taon-cms-asset-preview.component.ts.de-DE.i18n.data.js +19 -0
  683. package/lib-esm/lib/taon-cms-assets-backoffice/i18n/taon-cms-asset-preview.component.ts.de-DE.i18n.data.js.map +1 -0
  684. package/lib-esm/lib/taon-cms-assets-backoffice/i18n/taon-cms-asset-preview.component.ts.en-US.i18n.data.d.ts +17 -0
  685. package/lib-esm/lib/taon-cms-assets-backoffice/i18n/taon-cms-asset-preview.component.ts.en-US.i18n.data.js +19 -0
  686. package/lib-esm/lib/taon-cms-assets-backoffice/i18n/taon-cms-asset-preview.component.ts.en-US.i18n.data.js.map +1 -0
  687. package/lib-esm/lib/taon-cms-assets-backoffice/i18n/taon-cms-asset-preview.component.ts.pl-PL.i18n.data.d.ts +17 -0
  688. package/lib-esm/lib/taon-cms-assets-backoffice/i18n/taon-cms-asset-preview.component.ts.pl-PL.i18n.data.js +19 -0
  689. package/lib-esm/lib/taon-cms-assets-backoffice/i18n/taon-cms-asset-preview.component.ts.pl-PL.i18n.data.js.map +1 -0
  690. package/lib-esm/lib/taon-cms-assets-backoffice/i18n/taon-cms-assets-backoffice.component.html.de-DE.i18n.data.d.ts +18 -0
  691. package/lib-esm/lib/taon-cms-assets-backoffice/i18n/taon-cms-assets-backoffice.component.html.de-DE.i18n.data.js +24 -0
  692. package/lib-esm/lib/taon-cms-assets-backoffice/i18n/taon-cms-assets-backoffice.component.html.de-DE.i18n.data.js.map +1 -0
  693. package/lib-esm/lib/taon-cms-assets-backoffice/i18n/taon-cms-assets-backoffice.component.html.en-US.i18n.data.d.ts +18 -0
  694. package/lib-esm/lib/taon-cms-assets-backoffice/i18n/taon-cms-assets-backoffice.component.html.en-US.i18n.data.js +24 -0
  695. package/lib-esm/lib/taon-cms-assets-backoffice/i18n/taon-cms-assets-backoffice.component.html.en-US.i18n.data.js.map +1 -0
  696. package/lib-esm/lib/taon-cms-assets-backoffice/i18n/taon-cms-assets-backoffice.component.html.pl-PL.i18n.data.d.ts +18 -0
  697. package/lib-esm/lib/taon-cms-assets-backoffice/i18n/taon-cms-assets-backoffice.component.html.pl-PL.i18n.data.js +24 -0
  698. package/lib-esm/lib/taon-cms-assets-backoffice/i18n/taon-cms-assets-backoffice.component.html.pl-PL.i18n.data.js.map +1 -0
  699. package/lib-esm/lib/taon-cms-assets-backoffice/i18n/taon-cms-assets-backoffice.component.ts.de-DE.i18n.data.d.ts +18 -0
  700. package/lib-esm/lib/taon-cms-assets-backoffice/i18n/taon-cms-assets-backoffice.component.ts.de-DE.i18n.data.js +24 -0
  701. package/lib-esm/lib/taon-cms-assets-backoffice/i18n/taon-cms-assets-backoffice.component.ts.de-DE.i18n.data.js.map +1 -0
  702. package/lib-esm/lib/taon-cms-assets-backoffice/i18n/taon-cms-assets-backoffice.component.ts.en-US.i18n.data.d.ts +18 -0
  703. package/lib-esm/lib/taon-cms-assets-backoffice/i18n/taon-cms-assets-backoffice.component.ts.en-US.i18n.data.js +24 -0
  704. package/lib-esm/lib/taon-cms-assets-backoffice/i18n/taon-cms-assets-backoffice.component.ts.en-US.i18n.data.js.map +1 -0
  705. package/lib-esm/lib/taon-cms-assets-backoffice/i18n/taon-cms-assets-backoffice.component.ts.pl-PL.i18n.data.d.ts +18 -0
  706. package/lib-esm/lib/taon-cms-assets-backoffice/i18n/taon-cms-assets-backoffice.component.ts.pl-PL.i18n.data.js +24 -0
  707. package/lib-esm/lib/taon-cms-assets-backoffice/i18n/taon-cms-assets-backoffice.component.ts.pl-PL.i18n.data.js.map +1 -0
  708. package/lib-esm/lib/taon-cms-assets-backoffice/i18n/taon-cms-assets-backoffice.translation.d.ts +14 -0
  709. package/lib-esm/lib/taon-cms-assets-backoffice/i18n/taon-cms-assets-backoffice.translation.js +4 -0
  710. package/lib-esm/lib/taon-cms-assets-backoffice/i18n/taon-cms-assets-backoffice.translation.js.map +1 -0
  711. package/lib-esm/lib/taon-cms-backoffice/i18n/taon-cms-backoffice.component.html.de-DE.i18n.data.d.ts +16 -0
  712. package/lib-esm/lib/taon-cms-backoffice/i18n/taon-cms-backoffice.component.html.de-DE.i18n.data.js +14 -0
  713. package/lib-esm/lib/taon-cms-backoffice/i18n/taon-cms-backoffice.component.html.de-DE.i18n.data.js.map +1 -0
  714. package/lib-esm/lib/taon-cms-backoffice/i18n/taon-cms-backoffice.component.html.en-US.i18n.data.d.ts +16 -0
  715. package/lib-esm/lib/taon-cms-backoffice/i18n/taon-cms-backoffice.component.html.en-US.i18n.data.js +14 -0
  716. package/lib-esm/lib/taon-cms-backoffice/i18n/taon-cms-backoffice.component.html.en-US.i18n.data.js.map +1 -0
  717. package/lib-esm/lib/taon-cms-backoffice/i18n/taon-cms-backoffice.component.html.pl-PL.i18n.data.d.ts +16 -0
  718. package/lib-esm/lib/taon-cms-backoffice/i18n/taon-cms-backoffice.component.html.pl-PL.i18n.data.js +14 -0
  719. package/lib-esm/lib/taon-cms-backoffice/i18n/taon-cms-backoffice.component.html.pl-PL.i18n.data.js.map +1 -0
  720. package/lib-esm/lib/taon-cms-backoffice/i18n/taon-cms-backoffice.component.ts.de-DE.i18n.data.d.ts +8 -0
  721. package/lib-esm/lib/taon-cms-backoffice/i18n/taon-cms-backoffice.component.ts.de-DE.i18n.data.js +8 -0
  722. package/lib-esm/lib/taon-cms-backoffice/i18n/taon-cms-backoffice.component.ts.de-DE.i18n.data.js.map +1 -0
  723. package/lib-esm/lib/taon-cms-backoffice/i18n/taon-cms-backoffice.component.ts.en-US.i18n.data.d.ts +8 -0
  724. package/lib-esm/lib/taon-cms-backoffice/i18n/taon-cms-backoffice.component.ts.en-US.i18n.data.js +8 -0
  725. package/lib-esm/lib/taon-cms-backoffice/i18n/taon-cms-backoffice.component.ts.en-US.i18n.data.js.map +1 -0
  726. package/lib-esm/lib/taon-cms-backoffice/i18n/taon-cms-backoffice.component.ts.pl-PL.i18n.data.d.ts +8 -0
  727. package/lib-esm/lib/taon-cms-backoffice/i18n/taon-cms-backoffice.component.ts.pl-PL.i18n.data.js +8 -0
  728. package/lib-esm/lib/taon-cms-backoffice/i18n/taon-cms-backoffice.component.ts.pl-PL.i18n.data.js.map +1 -0
  729. package/lib-esm/lib/taon-cms-backoffice/i18n/taon-cms-backoffice.routes.ts.de-DE.i18n.data.d.ts +17 -0
  730. package/lib-esm/lib/taon-cms-backoffice/i18n/taon-cms-backoffice.routes.ts.de-DE.i18n.data.js +19 -0
  731. package/lib-esm/lib/taon-cms-backoffice/i18n/taon-cms-backoffice.routes.ts.de-DE.i18n.data.js.map +1 -0
  732. package/lib-esm/lib/taon-cms-backoffice/i18n/taon-cms-backoffice.routes.ts.en-US.i18n.data.d.ts +17 -0
  733. package/lib-esm/lib/taon-cms-backoffice/i18n/taon-cms-backoffice.routes.ts.en-US.i18n.data.js +19 -0
  734. package/lib-esm/lib/taon-cms-backoffice/i18n/taon-cms-backoffice.routes.ts.en-US.i18n.data.js.map +1 -0
  735. package/lib-esm/lib/taon-cms-backoffice/i18n/taon-cms-backoffice.routes.ts.pl-PL.i18n.data.d.ts +17 -0
  736. package/lib-esm/lib/taon-cms-backoffice/i18n/taon-cms-backoffice.routes.ts.pl-PL.i18n.data.js +19 -0
  737. package/lib-esm/lib/taon-cms-backoffice/i18n/taon-cms-backoffice.routes.ts.pl-PL.i18n.data.js.map +1 -0
  738. package/lib-esm/lib/taon-cms-backoffice/i18n/taon-cms-backoffice.translation.d.ts +11 -0
  739. package/lib-esm/lib/taon-cms-backoffice/i18n/taon-cms-backoffice.translation.js +4 -0
  740. package/lib-esm/lib/taon-cms-backoffice/i18n/taon-cms-backoffice.translation.js.map +1 -0
  741. package/lib-esm/lib/taon-cms-backoffice/index.d.ts +1 -1
  742. package/lib-esm/lib/taon-cms-backoffice/index.js +1 -1
  743. package/lib-esm/lib/taon-cms-content/i18n/taon-cms-content-storage.controller.ts.de-DE.i18n.data.d.ts +16 -0
  744. package/lib-esm/lib/taon-cms-content/i18n/taon-cms-content-storage.controller.ts.de-DE.i18n.data.js +14 -0
  745. package/lib-esm/lib/taon-cms-content/i18n/taon-cms-content-storage.controller.ts.de-DE.i18n.data.js.map +1 -0
  746. package/lib-esm/lib/taon-cms-content/i18n/taon-cms-content-storage.controller.ts.en-US.i18n.data.d.ts +16 -0
  747. package/lib-esm/lib/taon-cms-content/i18n/taon-cms-content-storage.controller.ts.en-US.i18n.data.js +14 -0
  748. package/lib-esm/lib/taon-cms-content/i18n/taon-cms-content-storage.controller.ts.en-US.i18n.data.js.map +1 -0
  749. package/lib-esm/lib/taon-cms-content/i18n/taon-cms-content-storage.controller.ts.pl-PL.i18n.data.d.ts +16 -0
  750. package/lib-esm/lib/taon-cms-content/i18n/taon-cms-content-storage.controller.ts.pl-PL.i18n.data.js +14 -0
  751. package/lib-esm/lib/taon-cms-content/i18n/taon-cms-content-storage.controller.ts.pl-PL.i18n.data.js.map +1 -0
  752. package/lib-esm/lib/taon-cms-content/i18n/taon-cms-content.controller.ts.de-DE.i18n.data.d.ts +21 -0
  753. package/lib-esm/lib/taon-cms-content/i18n/taon-cms-content.controller.ts.de-DE.i18n.data.js +39 -0
  754. package/lib-esm/lib/taon-cms-content/i18n/taon-cms-content.controller.ts.de-DE.i18n.data.js.map +1 -0
  755. package/lib-esm/lib/taon-cms-content/i18n/taon-cms-content.controller.ts.en-US.i18n.data.d.ts +21 -0
  756. package/lib-esm/lib/taon-cms-content/i18n/taon-cms-content.controller.ts.en-US.i18n.data.js +39 -0
  757. package/lib-esm/lib/taon-cms-content/i18n/taon-cms-content.controller.ts.en-US.i18n.data.js.map +1 -0
  758. package/lib-esm/lib/taon-cms-content/i18n/taon-cms-content.controller.ts.pl-PL.i18n.data.d.ts +21 -0
  759. package/lib-esm/lib/taon-cms-content/i18n/taon-cms-content.controller.ts.pl-PL.i18n.data.js +39 -0
  760. package/lib-esm/lib/taon-cms-content/i18n/taon-cms-content.controller.ts.pl-PL.i18n.data.js.map +1 -0
  761. package/lib-esm/lib/taon-cms-content/i18n/taon-cms-content.translation.d.ts +8 -0
  762. package/lib-esm/lib/taon-cms-content/i18n/taon-cms-content.translation.js +4 -0
  763. package/lib-esm/lib/taon-cms-content/i18n/taon-cms-content.translation.js.map +1 -0
  764. package/lib-esm/lib/taon-cms-content/taon-cms-content-storage.controller.d.ts +24 -4
  765. package/lib-esm/lib/taon-cms-content/taon-cms-content-storage.controller.js +101 -8
  766. package/lib-esm/lib/taon-cms-content/taon-cms-content-storage.controller.js.map +1 -1
  767. package/lib-esm/lib/taon-cms-content/taon-cms-content.abstract.context.js +2 -1
  768. package/lib-esm/lib/taon-cms-content/taon-cms-content.abstract.context.js.map +1 -1
  769. package/lib-esm/lib/taon-cms-content/taon-cms-content.controller.d.ts +22 -5
  770. package/lib-esm/lib/taon-cms-content/taon-cms-content.controller.js +298 -2
  771. package/lib-esm/lib/taon-cms-content/taon-cms-content.controller.js.map +1 -1
  772. package/lib-esm/lib/taon-cms-content/taon-cms-content.entity.d.ts +3 -0
  773. package/lib-esm/lib/taon-cms-content/taon-cms-content.entity.js +20 -1
  774. package/lib-esm/lib/taon-cms-content/taon-cms-content.entity.js.map +1 -1
  775. package/lib-esm/lib/taon-cms-content/taon-cms-content.models.d.ts +12 -0
  776. package/lib-esm/lib/taon-cms-content/taon-cms-content.models.js.map +1 -1
  777. package/lib-esm/lib/taon-cms-content/taon-cms-content.repository.d.ts +12 -1
  778. package/lib-esm/lib/taon-cms-content/taon-cms-content.repository.js +204 -11
  779. package/lib-esm/lib/taon-cms-content/taon-cms-content.repository.js.map +1 -1
  780. package/lib-esm/lib/taon-cms-content/taon-cms-content.validation.js +9 -1
  781. package/lib-esm/lib/taon-cms-content/taon-cms-content.validation.js.map +1 -1
  782. package/lib-esm/lib/taon-cms-content/taon-cms-upload-progress.d.ts +1 -0
  783. package/lib-esm/lib/taon-cms-content/taon-cms-upload-progress.js +77 -0
  784. package/lib-esm/lib/taon-cms-content/taon-cms-upload-progress.js.map +1 -0
  785. package/lib-esm/lib/taon-posts/taon-cms-post/i18n/taon-cms-post.component.html.de-DE.i18n.data.d.ts +56 -0
  786. package/lib-esm/lib/taon-posts/taon-cms-post/i18n/taon-cms-post.component.html.de-DE.i18n.data.js +254 -0
  787. package/lib-esm/lib/taon-posts/taon-cms-post/i18n/taon-cms-post.component.html.de-DE.i18n.data.js.map +1 -0
  788. package/lib-esm/lib/taon-posts/taon-cms-post/i18n/taon-cms-post.component.html.en-US.i18n.data.d.ts +56 -0
  789. package/lib-esm/lib/taon-posts/taon-cms-post/i18n/taon-cms-post.component.html.en-US.i18n.data.js +254 -0
  790. package/lib-esm/lib/taon-posts/taon-cms-post/i18n/taon-cms-post.component.html.en-US.i18n.data.js.map +1 -0
  791. package/lib-esm/lib/taon-posts/taon-cms-post/i18n/taon-cms-post.component.html.pl-PL.i18n.data.d.ts +56 -0
  792. package/lib-esm/lib/taon-posts/taon-cms-post/i18n/taon-cms-post.component.html.pl-PL.i18n.data.js +254 -0
  793. package/lib-esm/lib/taon-posts/taon-cms-post/i18n/taon-cms-post.component.html.pl-PL.i18n.data.js.map +1 -0
  794. package/lib-esm/lib/taon-posts/taon-cms-post/i18n/taon-cms-post.component.ts.de-DE.i18n.data.d.ts +41 -0
  795. package/lib-esm/lib/taon-posts/taon-cms-post/i18n/taon-cms-post.component.ts.de-DE.i18n.data.js +144 -0
  796. package/lib-esm/lib/taon-posts/taon-cms-post/i18n/taon-cms-post.component.ts.de-DE.i18n.data.js.map +1 -0
  797. package/lib-esm/lib/taon-posts/taon-cms-post/i18n/taon-cms-post.component.ts.en-US.i18n.data.d.ts +45 -0
  798. package/lib-esm/lib/taon-posts/taon-cms-post/i18n/taon-cms-post.component.ts.en-US.i18n.data.js +141 -0
  799. package/lib-esm/lib/taon-posts/taon-cms-post/i18n/taon-cms-post.component.ts.en-US.i18n.data.js.map +1 -0
  800. package/lib-esm/lib/taon-posts/taon-cms-post/i18n/taon-cms-post.component.ts.pl-PL.i18n.data.d.ts +41 -0
  801. package/lib-esm/lib/taon-posts/taon-cms-post/i18n/taon-cms-post.component.ts.pl-PL.i18n.data.js +144 -0
  802. package/lib-esm/lib/taon-posts/taon-cms-post/i18n/taon-cms-post.component.ts.pl-PL.i18n.data.js.map +1 -0
  803. package/lib-esm/lib/taon-posts/taon-cms-post/i18n/taon-cms-post.translation.d.ts +8 -0
  804. package/lib-esm/lib/taon-posts/taon-cms-post/i18n/taon-cms-post.translation.js +4 -0
  805. package/lib-esm/lib/taon-posts/taon-cms-post/i18n/taon-cms-post.translation.js.map +1 -0
  806. package/lib-esm/lib/taon-posts/taon-cms-post/index.d.ts +1 -1
  807. package/lib-esm/lib/taon-posts/taon-cms-post/index.js +1 -1
  808. 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
  809. 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
  810. 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
  811. 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
  812. 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
  813. 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
  814. 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
  815. 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
  816. 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
  817. package/lib-esm/lib/taon-posts/taon-cms-post-details-page/i18n/taon-cms-post-details-page.translation.d.ts +5 -0
  818. package/lib-esm/lib/taon-posts/taon-cms-post-details-page/i18n/taon-cms-post-details-page.translation.js +4 -0
  819. package/lib-esm/lib/taon-posts/taon-cms-post-details-page/i18n/taon-cms-post-details-page.translation.js.map +1 -0
  820. 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
  821. 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
  822. 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
  823. 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
  824. 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
  825. 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
  826. 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
  827. 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
  828. 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
  829. 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
  830. 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
  831. 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
  832. 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
  833. 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
  834. 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
  835. 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
  836. 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
  837. 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
  838. package/lib-esm/lib/taon-posts/taon-cms-post-edit-dialog/i18n/taon-cms-post-edit-dialog.translation.d.ts +8 -0
  839. package/lib-esm/lib/taon-posts/taon-cms-post-edit-dialog/i18n/taon-cms-post-edit-dialog.translation.js +4 -0
  840. package/lib-esm/lib/taon-posts/taon-cms-post-edit-dialog/i18n/taon-cms-post-edit-dialog.translation.js.map +1 -0
  841. package/lib-esm/lib/taon-posts/taon-cms-post-edit-dialog/index.d.ts +1 -1
  842. package/lib-esm/lib/taon-posts/taon-cms-post-edit-dialog/index.js +1 -1
  843. 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
  844. package/lib-esm/lib/taon-posts/taon-cms-posts-backoffice/i18n/taon-cms-posts-backoffice.component.html.de-DE.i18n.data.js +19 -0
  845. 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
  846. 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
  847. package/lib-esm/lib/taon-posts/taon-cms-posts-backoffice/i18n/taon-cms-posts-backoffice.component.html.en-US.i18n.data.js +19 -0
  848. 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
  849. 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
  850. package/lib-esm/lib/taon-posts/taon-cms-posts-backoffice/i18n/taon-cms-posts-backoffice.component.html.pl-PL.i18n.data.js +19 -0
  851. 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
  852. 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
  853. package/lib-esm/lib/taon-posts/taon-cms-posts-backoffice/i18n/taon-cms-posts-backoffice.component.ts.de-DE.i18n.data.js +64 -0
  854. 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
  855. 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
  856. package/lib-esm/lib/taon-posts/taon-cms-posts-backoffice/i18n/taon-cms-posts-backoffice.component.ts.en-US.i18n.data.js +64 -0
  857. 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
  858. 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
  859. package/lib-esm/lib/taon-posts/taon-cms-posts-backoffice/i18n/taon-cms-posts-backoffice.component.ts.pl-PL.i18n.data.js +64 -0
  860. 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
  861. 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
  862. package/lib-esm/lib/taon-posts/taon-cms-posts-backoffice/i18n/taon-cms-posts-backoffice.routes.ts.de-DE.i18n.data.js +19 -0
  863. 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
  864. 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
  865. package/lib-esm/lib/taon-posts/taon-cms-posts-backoffice/i18n/taon-cms-posts-backoffice.routes.ts.en-US.i18n.data.js +19 -0
  866. 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
  867. 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
  868. package/lib-esm/lib/taon-posts/taon-cms-posts-backoffice/i18n/taon-cms-posts-backoffice.routes.ts.pl-PL.i18n.data.js +19 -0
  869. 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
  870. package/lib-esm/lib/taon-posts/taon-cms-posts-backoffice/i18n/taon-cms-posts-backoffice.translation.d.ts +11 -0
  871. package/lib-esm/lib/taon-posts/taon-cms-posts-backoffice/i18n/taon-cms-posts-backoffice.translation.js +4 -0
  872. package/lib-esm/lib/taon-posts/taon-cms-posts-backoffice/i18n/taon-cms-posts-backoffice.translation.js.map +1 -0
  873. package/lib-esm/lib/taon-posts/taon-cms-posts-backoffice/index.d.ts +1 -1
  874. package/lib-esm/lib/taon-posts/taon-cms-posts-backoffice/index.js +1 -1
  875. 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
  876. package/lib-esm/lib/taon-posts/taon-cms-revision-chooser/i18n/taon-cms-revision-chooser.component.html.de-DE.i18n.data.js +69 -0
  877. 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
  878. 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
  879. package/lib-esm/lib/taon-posts/taon-cms-revision-chooser/i18n/taon-cms-revision-chooser.component.html.en-US.i18n.data.js +69 -0
  880. 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
  881. 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
  882. package/lib-esm/lib/taon-posts/taon-cms-revision-chooser/i18n/taon-cms-revision-chooser.component.html.pl-PL.i18n.data.js +69 -0
  883. 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
  884. 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
  885. package/lib-esm/lib/taon-posts/taon-cms-revision-chooser/i18n/taon-cms-revision-chooser.component.ts.de-DE.i18n.data.js +24 -0
  886. 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
  887. 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
  888. package/lib-esm/lib/taon-posts/taon-cms-revision-chooser/i18n/taon-cms-revision-chooser.component.ts.en-US.i18n.data.js +24 -0
  889. 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
  890. 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
  891. package/lib-esm/lib/taon-posts/taon-cms-revision-chooser/i18n/taon-cms-revision-chooser.component.ts.pl-PL.i18n.data.js +24 -0
  892. 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
  893. package/lib-esm/lib/taon-posts/taon-cms-revision-chooser/i18n/taon-cms-revision-chooser.translation.d.ts +8 -0
  894. package/lib-esm/lib/taon-posts/taon-cms-revision-chooser/i18n/taon-cms-revision-chooser.translation.js +4 -0
  895. package/lib-esm/lib/taon-posts/taon-cms-revision-chooser/i18n/taon-cms-revision-chooser.translation.js.map +1 -0
  896. package/lib-esm/lib/taon-posts/taon-cms-revision-chooser/index.d.ts +1 -1
  897. package/lib-esm/lib/taon-posts/taon-cms-revision-chooser/index.js +1 -1
  898. 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
  899. package/lib-esm/lib/taon-posts/taon-related-post-chooser/i18n/taon-related-post-chooser.component.html.de-DE.i18n.data.js +44 -0
  900. 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
  901. 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
  902. package/lib-esm/lib/taon-posts/taon-related-post-chooser/i18n/taon-related-post-chooser.component.html.en-US.i18n.data.js +44 -0
  903. 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
  904. 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
  905. package/lib-esm/lib/taon-posts/taon-related-post-chooser/i18n/taon-related-post-chooser.component.html.pl-PL.i18n.data.js +44 -0
  906. 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
  907. 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
  908. package/lib-esm/lib/taon-posts/taon-related-post-chooser/i18n/taon-related-post-chooser.component.ts.de-DE.i18n.data.js +19 -0
  909. 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
  910. 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
  911. package/lib-esm/lib/taon-posts/taon-related-post-chooser/i18n/taon-related-post-chooser.component.ts.en-US.i18n.data.js +19 -0
  912. 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
  913. 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
  914. package/lib-esm/lib/taon-posts/taon-related-post-chooser/i18n/taon-related-post-chooser.component.ts.pl-PL.i18n.data.js +19 -0
  915. 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
  916. package/lib-esm/lib/taon-posts/taon-related-post-chooser/i18n/taon-related-post-chooser.translation.d.ts +8 -0
  917. package/lib-esm/lib/taon-posts/taon-related-post-chooser/i18n/taon-related-post-chooser.translation.js +4 -0
  918. package/lib-esm/lib/taon-posts/taon-related-post-chooser/i18n/taon-related-post-chooser.translation.js.map +1 -0
  919. package/lib-esm/lib/taon-posts/taon-related-post-chooser/index.d.ts +1 -1
  920. package/lib-esm/lib/taon-posts/taon-related-post-chooser/index.js +1 -1
  921. package/lib-prod/build-info._auto-generated_.d.ts +1 -1
  922. package/lib-prod/build-info._auto-generated_.js +1 -1
  923. package/lib-prod/decorators/taon-cms-authorization.d.ts +48 -0
  924. package/lib-prod/decorators/taon-cms-authorization.js +107 -0
  925. package/lib-prod/decorators/taon-cms-authorization.js.map +1 -0
  926. package/lib-prod/index._auto-generated_.d.ts +4 -3
  927. package/lib-prod/index._auto-generated_.js +5 -3
  928. package/lib-prod/index._auto-generated_.js.map +1 -1
  929. package/lib-prod/index.d.ts +0 -1
  930. package/lib-prod/index.js +0 -1
  931. package/lib-prod/index.js.map +1 -1
  932. package/lib-prod/migrations/1792506757808_applicaitonHooks.d.ts +9 -0
  933. package/lib-prod/migrations/1792506757808_applicaitonHooks.js +76 -0
  934. package/lib-prod/migrations/1792506757808_applicaitonHooks.js.map +1 -0
  935. package/lib-prod/migrations/1792579000000_postPermissionInheritance.d.ts +6 -0
  936. package/lib-prod/migrations/1792579000000_postPermissionInheritance.js +28 -0
  937. package/lib-prod/migrations/1792579000000_postPermissionInheritance.js.map +1 -0
  938. package/lib-prod/migrations/index.d.ts +6 -0
  939. package/lib-prod/migrations/index.js +7 -0
  940. package/lib-prod/migrations/index.js.map +1 -1
  941. package/lib-prod/migrations/migrations_index._auto-generated_.d.ts +4 -2
  942. package/lib-prod/migrations/migrations_index._auto-generated_.js +4 -2
  943. package/lib-prod/migrations/migrations_index._auto-generated_.js.map +1 -1
  944. package/lib-prod/package.json +1 -1
  945. package/lib-prod/taon-cms-application-hook/taon-cms-application-hook.entity.d.ts +9 -0
  946. package/lib-prod/taon-cms-application-hook/taon-cms-application-hook.entity.js +33 -0
  947. package/lib-prod/taon-cms-application-hook/taon-cms-application-hook.entity.js.map +1 -0
  948. package/lib-prod/taon-cms-application-hooks.d.ts +8 -0
  949. package/lib-prod/taon-cms-application-hooks.js +8 -0
  950. package/lib-prod/taon-cms-application-hooks.js.map +1 -0
  951. package/lib-prod/taon-cms-assets-backoffice/i18n/taon-cms-asset-preview.component.html.de-DE.i18n.data.d.ts +19 -0
  952. package/lib-prod/taon-cms-assets-backoffice/i18n/taon-cms-asset-preview.component.html.de-DE.i18n.data.js +29 -0
  953. package/lib-prod/taon-cms-assets-backoffice/i18n/taon-cms-asset-preview.component.html.de-DE.i18n.data.js.map +1 -0
  954. package/lib-prod/taon-cms-assets-backoffice/i18n/taon-cms-asset-preview.component.html.en-US.i18n.data.d.ts +19 -0
  955. package/lib-prod/taon-cms-assets-backoffice/i18n/taon-cms-asset-preview.component.html.en-US.i18n.data.js +29 -0
  956. package/lib-prod/taon-cms-assets-backoffice/i18n/taon-cms-asset-preview.component.html.en-US.i18n.data.js.map +1 -0
  957. package/lib-prod/taon-cms-assets-backoffice/i18n/taon-cms-asset-preview.component.html.pl-PL.i18n.data.d.ts +19 -0
  958. package/lib-prod/taon-cms-assets-backoffice/i18n/taon-cms-asset-preview.component.html.pl-PL.i18n.data.js +29 -0
  959. package/lib-prod/taon-cms-assets-backoffice/i18n/taon-cms-asset-preview.component.html.pl-PL.i18n.data.js.map +1 -0
  960. package/lib-prod/taon-cms-assets-backoffice/i18n/taon-cms-asset-preview.component.ts.de-DE.i18n.data.d.ts +17 -0
  961. package/lib-prod/taon-cms-assets-backoffice/i18n/taon-cms-asset-preview.component.ts.de-DE.i18n.data.js +19 -0
  962. package/lib-prod/taon-cms-assets-backoffice/i18n/taon-cms-asset-preview.component.ts.de-DE.i18n.data.js.map +1 -0
  963. package/lib-prod/taon-cms-assets-backoffice/i18n/taon-cms-asset-preview.component.ts.en-US.i18n.data.d.ts +17 -0
  964. package/lib-prod/taon-cms-assets-backoffice/i18n/taon-cms-asset-preview.component.ts.en-US.i18n.data.js +19 -0
  965. package/lib-prod/taon-cms-assets-backoffice/i18n/taon-cms-asset-preview.component.ts.en-US.i18n.data.js.map +1 -0
  966. package/lib-prod/taon-cms-assets-backoffice/i18n/taon-cms-asset-preview.component.ts.pl-PL.i18n.data.d.ts +17 -0
  967. package/lib-prod/taon-cms-assets-backoffice/i18n/taon-cms-asset-preview.component.ts.pl-PL.i18n.data.js +19 -0
  968. package/lib-prod/taon-cms-assets-backoffice/i18n/taon-cms-asset-preview.component.ts.pl-PL.i18n.data.js.map +1 -0
  969. package/lib-prod/taon-cms-assets-backoffice/i18n/taon-cms-assets-backoffice.component.html.de-DE.i18n.data.d.ts +18 -0
  970. package/lib-prod/taon-cms-assets-backoffice/i18n/taon-cms-assets-backoffice.component.html.de-DE.i18n.data.js +24 -0
  971. package/lib-prod/taon-cms-assets-backoffice/i18n/taon-cms-assets-backoffice.component.html.de-DE.i18n.data.js.map +1 -0
  972. package/lib-prod/taon-cms-assets-backoffice/i18n/taon-cms-assets-backoffice.component.html.en-US.i18n.data.d.ts +18 -0
  973. package/lib-prod/taon-cms-assets-backoffice/i18n/taon-cms-assets-backoffice.component.html.en-US.i18n.data.js +24 -0
  974. package/lib-prod/taon-cms-assets-backoffice/i18n/taon-cms-assets-backoffice.component.html.en-US.i18n.data.js.map +1 -0
  975. package/lib-prod/taon-cms-assets-backoffice/i18n/taon-cms-assets-backoffice.component.html.pl-PL.i18n.data.d.ts +18 -0
  976. package/lib-prod/taon-cms-assets-backoffice/i18n/taon-cms-assets-backoffice.component.html.pl-PL.i18n.data.js +24 -0
  977. package/lib-prod/taon-cms-assets-backoffice/i18n/taon-cms-assets-backoffice.component.html.pl-PL.i18n.data.js.map +1 -0
  978. package/lib-prod/taon-cms-assets-backoffice/i18n/taon-cms-assets-backoffice.component.ts.de-DE.i18n.data.d.ts +18 -0
  979. package/lib-prod/taon-cms-assets-backoffice/i18n/taon-cms-assets-backoffice.component.ts.de-DE.i18n.data.js +24 -0
  980. package/lib-prod/taon-cms-assets-backoffice/i18n/taon-cms-assets-backoffice.component.ts.de-DE.i18n.data.js.map +1 -0
  981. package/lib-prod/taon-cms-assets-backoffice/i18n/taon-cms-assets-backoffice.component.ts.en-US.i18n.data.d.ts +18 -0
  982. package/lib-prod/taon-cms-assets-backoffice/i18n/taon-cms-assets-backoffice.component.ts.en-US.i18n.data.js +24 -0
  983. package/lib-prod/taon-cms-assets-backoffice/i18n/taon-cms-assets-backoffice.component.ts.en-US.i18n.data.js.map +1 -0
  984. package/lib-prod/taon-cms-assets-backoffice/i18n/taon-cms-assets-backoffice.component.ts.pl-PL.i18n.data.d.ts +18 -0
  985. package/lib-prod/taon-cms-assets-backoffice/i18n/taon-cms-assets-backoffice.component.ts.pl-PL.i18n.data.js +24 -0
  986. package/lib-prod/taon-cms-assets-backoffice/i18n/taon-cms-assets-backoffice.component.ts.pl-PL.i18n.data.js.map +1 -0
  987. package/lib-prod/taon-cms-assets-backoffice/i18n/taon-cms-assets-backoffice.translation.d.ts +14 -0
  988. package/lib-prod/taon-cms-assets-backoffice/i18n/taon-cms-assets-backoffice.translation.js +4 -0
  989. package/lib-prod/taon-cms-assets-backoffice/i18n/taon-cms-assets-backoffice.translation.js.map +1 -0
  990. package/lib-prod/taon-cms-backoffice/i18n/taon-cms-backoffice.component.html.de-DE.i18n.data.d.ts +16 -0
  991. package/lib-prod/taon-cms-backoffice/i18n/taon-cms-backoffice.component.html.de-DE.i18n.data.js +14 -0
  992. package/lib-prod/taon-cms-backoffice/i18n/taon-cms-backoffice.component.html.de-DE.i18n.data.js.map +1 -0
  993. package/lib-prod/taon-cms-backoffice/i18n/taon-cms-backoffice.component.html.en-US.i18n.data.d.ts +16 -0
  994. package/lib-prod/taon-cms-backoffice/i18n/taon-cms-backoffice.component.html.en-US.i18n.data.js +14 -0
  995. package/lib-prod/taon-cms-backoffice/i18n/taon-cms-backoffice.component.html.en-US.i18n.data.js.map +1 -0
  996. package/lib-prod/taon-cms-backoffice/i18n/taon-cms-backoffice.component.html.pl-PL.i18n.data.d.ts +16 -0
  997. package/lib-prod/taon-cms-backoffice/i18n/taon-cms-backoffice.component.html.pl-PL.i18n.data.js +14 -0
  998. package/lib-prod/taon-cms-backoffice/i18n/taon-cms-backoffice.component.html.pl-PL.i18n.data.js.map +1 -0
  999. package/lib-prod/taon-cms-backoffice/i18n/taon-cms-backoffice.component.ts.de-DE.i18n.data.d.ts +8 -0
  1000. package/lib-prod/taon-cms-backoffice/i18n/taon-cms-backoffice.component.ts.de-DE.i18n.data.js +8 -0
  1001. package/lib-prod/taon-cms-backoffice/i18n/taon-cms-backoffice.component.ts.de-DE.i18n.data.js.map +1 -0
  1002. package/lib-prod/taon-cms-backoffice/i18n/taon-cms-backoffice.component.ts.en-US.i18n.data.d.ts +8 -0
  1003. package/lib-prod/taon-cms-backoffice/i18n/taon-cms-backoffice.component.ts.en-US.i18n.data.js +8 -0
  1004. package/lib-prod/taon-cms-backoffice/i18n/taon-cms-backoffice.component.ts.en-US.i18n.data.js.map +1 -0
  1005. package/lib-prod/taon-cms-backoffice/i18n/taon-cms-backoffice.component.ts.pl-PL.i18n.data.d.ts +8 -0
  1006. package/lib-prod/taon-cms-backoffice/i18n/taon-cms-backoffice.component.ts.pl-PL.i18n.data.js +8 -0
  1007. package/lib-prod/taon-cms-backoffice/i18n/taon-cms-backoffice.component.ts.pl-PL.i18n.data.js.map +1 -0
  1008. package/lib-prod/taon-cms-backoffice/i18n/taon-cms-backoffice.routes.ts.de-DE.i18n.data.d.ts +17 -0
  1009. package/lib-prod/taon-cms-backoffice/i18n/taon-cms-backoffice.routes.ts.de-DE.i18n.data.js +19 -0
  1010. package/lib-prod/taon-cms-backoffice/i18n/taon-cms-backoffice.routes.ts.de-DE.i18n.data.js.map +1 -0
  1011. package/lib-prod/taon-cms-backoffice/i18n/taon-cms-backoffice.routes.ts.en-US.i18n.data.d.ts +17 -0
  1012. package/lib-prod/taon-cms-backoffice/i18n/taon-cms-backoffice.routes.ts.en-US.i18n.data.js +19 -0
  1013. package/lib-prod/taon-cms-backoffice/i18n/taon-cms-backoffice.routes.ts.en-US.i18n.data.js.map +1 -0
  1014. package/lib-prod/taon-cms-backoffice/i18n/taon-cms-backoffice.routes.ts.pl-PL.i18n.data.d.ts +17 -0
  1015. package/lib-prod/taon-cms-backoffice/i18n/taon-cms-backoffice.routes.ts.pl-PL.i18n.data.js +19 -0
  1016. package/lib-prod/taon-cms-backoffice/i18n/taon-cms-backoffice.routes.ts.pl-PL.i18n.data.js.map +1 -0
  1017. package/lib-prod/taon-cms-backoffice/i18n/taon-cms-backoffice.translation.d.ts +11 -0
  1018. package/lib-prod/taon-cms-backoffice/i18n/taon-cms-backoffice.translation.js +4 -0
  1019. package/lib-prod/taon-cms-backoffice/i18n/taon-cms-backoffice.translation.js.map +1 -0
  1020. package/lib-prod/taon-cms-backoffice/index.d.ts +1 -1
  1021. package/lib-prod/taon-cms-backoffice/index.js +1 -1
  1022. package/lib-prod/taon-cms-content/i18n/taon-cms-content-storage.controller.ts.de-DE.i18n.data.d.ts +16 -0
  1023. package/lib-prod/taon-cms-content/i18n/taon-cms-content-storage.controller.ts.de-DE.i18n.data.js +14 -0
  1024. package/lib-prod/taon-cms-content/i18n/taon-cms-content-storage.controller.ts.de-DE.i18n.data.js.map +1 -0
  1025. package/lib-prod/taon-cms-content/i18n/taon-cms-content-storage.controller.ts.en-US.i18n.data.d.ts +16 -0
  1026. package/lib-prod/taon-cms-content/i18n/taon-cms-content-storage.controller.ts.en-US.i18n.data.js +14 -0
  1027. package/lib-prod/taon-cms-content/i18n/taon-cms-content-storage.controller.ts.en-US.i18n.data.js.map +1 -0
  1028. package/lib-prod/taon-cms-content/i18n/taon-cms-content-storage.controller.ts.pl-PL.i18n.data.d.ts +16 -0
  1029. package/lib-prod/taon-cms-content/i18n/taon-cms-content-storage.controller.ts.pl-PL.i18n.data.js +14 -0
  1030. package/lib-prod/taon-cms-content/i18n/taon-cms-content-storage.controller.ts.pl-PL.i18n.data.js.map +1 -0
  1031. package/lib-prod/taon-cms-content/i18n/taon-cms-content.controller.ts.de-DE.i18n.data.d.ts +21 -0
  1032. package/lib-prod/taon-cms-content/i18n/taon-cms-content.controller.ts.de-DE.i18n.data.js +39 -0
  1033. package/lib-prod/taon-cms-content/i18n/taon-cms-content.controller.ts.de-DE.i18n.data.js.map +1 -0
  1034. package/lib-prod/taon-cms-content/i18n/taon-cms-content.controller.ts.en-US.i18n.data.d.ts +21 -0
  1035. package/lib-prod/taon-cms-content/i18n/taon-cms-content.controller.ts.en-US.i18n.data.js +39 -0
  1036. package/lib-prod/taon-cms-content/i18n/taon-cms-content.controller.ts.en-US.i18n.data.js.map +1 -0
  1037. package/lib-prod/taon-cms-content/i18n/taon-cms-content.controller.ts.pl-PL.i18n.data.d.ts +21 -0
  1038. package/lib-prod/taon-cms-content/i18n/taon-cms-content.controller.ts.pl-PL.i18n.data.js +39 -0
  1039. package/lib-prod/taon-cms-content/i18n/taon-cms-content.controller.ts.pl-PL.i18n.data.js.map +1 -0
  1040. package/lib-prod/taon-cms-content/i18n/taon-cms-content.translation.d.ts +8 -0
  1041. package/lib-prod/taon-cms-content/i18n/taon-cms-content.translation.js +4 -0
  1042. package/lib-prod/taon-cms-content/i18n/taon-cms-content.translation.js.map +1 -0
  1043. package/lib-prod/taon-cms-content/taon-cms-content-storage.controller.d.ts +24 -4
  1044. package/lib-prod/taon-cms-content/taon-cms-content-storage.controller.js +101 -8
  1045. package/lib-prod/taon-cms-content/taon-cms-content-storage.controller.js.map +1 -1
  1046. package/lib-prod/taon-cms-content/taon-cms-content.abstract.context.js +2 -1
  1047. package/lib-prod/taon-cms-content/taon-cms-content.abstract.context.js.map +1 -1
  1048. package/lib-prod/taon-cms-content/taon-cms-content.controller.d.ts +22 -5
  1049. package/lib-prod/taon-cms-content/taon-cms-content.controller.js +298 -2
  1050. package/lib-prod/taon-cms-content/taon-cms-content.controller.js.map +1 -1
  1051. package/lib-prod/taon-cms-content/taon-cms-content.entity.d.ts +3 -0
  1052. package/lib-prod/taon-cms-content/taon-cms-content.entity.js +20 -1
  1053. package/lib-prod/taon-cms-content/taon-cms-content.entity.js.map +1 -1
  1054. package/lib-prod/taon-cms-content/taon-cms-content.models.d.ts +12 -0
  1055. package/lib-prod/taon-cms-content/taon-cms-content.models.js.map +1 -1
  1056. package/lib-prod/taon-cms-content/taon-cms-content.repository.d.ts +12 -1
  1057. package/lib-prod/taon-cms-content/taon-cms-content.repository.js +204 -11
  1058. package/lib-prod/taon-cms-content/taon-cms-content.repository.js.map +1 -1
  1059. package/lib-prod/taon-cms-content/taon-cms-content.validation.js +9 -1
  1060. package/lib-prod/taon-cms-content/taon-cms-content.validation.js.map +1 -1
  1061. package/lib-prod/taon-cms-content/taon-cms-upload-progress.d.ts +1 -0
  1062. package/lib-prod/taon-cms-content/taon-cms-upload-progress.js +77 -0
  1063. package/lib-prod/taon-cms-content/taon-cms-upload-progress.js.map +1 -0
  1064. package/lib-prod/taon-posts/taon-cms-post/i18n/taon-cms-post.component.html.de-DE.i18n.data.d.ts +56 -0
  1065. package/lib-prod/taon-posts/taon-cms-post/i18n/taon-cms-post.component.html.de-DE.i18n.data.js +254 -0
  1066. package/lib-prod/taon-posts/taon-cms-post/i18n/taon-cms-post.component.html.de-DE.i18n.data.js.map +1 -0
  1067. package/lib-prod/taon-posts/taon-cms-post/i18n/taon-cms-post.component.html.en-US.i18n.data.d.ts +56 -0
  1068. package/lib-prod/taon-posts/taon-cms-post/i18n/taon-cms-post.component.html.en-US.i18n.data.js +254 -0
  1069. package/lib-prod/taon-posts/taon-cms-post/i18n/taon-cms-post.component.html.en-US.i18n.data.js.map +1 -0
  1070. package/lib-prod/taon-posts/taon-cms-post/i18n/taon-cms-post.component.html.pl-PL.i18n.data.d.ts +56 -0
  1071. package/lib-prod/taon-posts/taon-cms-post/i18n/taon-cms-post.component.html.pl-PL.i18n.data.js +254 -0
  1072. package/lib-prod/taon-posts/taon-cms-post/i18n/taon-cms-post.component.html.pl-PL.i18n.data.js.map +1 -0
  1073. package/lib-prod/taon-posts/taon-cms-post/i18n/taon-cms-post.component.ts.de-DE.i18n.data.d.ts +41 -0
  1074. package/lib-prod/taon-posts/taon-cms-post/i18n/taon-cms-post.component.ts.de-DE.i18n.data.js +144 -0
  1075. package/lib-prod/taon-posts/taon-cms-post/i18n/taon-cms-post.component.ts.de-DE.i18n.data.js.map +1 -0
  1076. package/lib-prod/taon-posts/taon-cms-post/i18n/taon-cms-post.component.ts.en-US.i18n.data.d.ts +45 -0
  1077. package/lib-prod/taon-posts/taon-cms-post/i18n/taon-cms-post.component.ts.en-US.i18n.data.js +141 -0
  1078. package/lib-prod/taon-posts/taon-cms-post/i18n/taon-cms-post.component.ts.en-US.i18n.data.js.map +1 -0
  1079. package/lib-prod/taon-posts/taon-cms-post/i18n/taon-cms-post.component.ts.pl-PL.i18n.data.d.ts +41 -0
  1080. package/lib-prod/taon-posts/taon-cms-post/i18n/taon-cms-post.component.ts.pl-PL.i18n.data.js +144 -0
  1081. package/lib-prod/taon-posts/taon-cms-post/i18n/taon-cms-post.component.ts.pl-PL.i18n.data.js.map +1 -0
  1082. package/lib-prod/taon-posts/taon-cms-post/i18n/taon-cms-post.translation.d.ts +8 -0
  1083. package/lib-prod/taon-posts/taon-cms-post/i18n/taon-cms-post.translation.js +4 -0
  1084. package/lib-prod/taon-posts/taon-cms-post/i18n/taon-cms-post.translation.js.map +1 -0
  1085. package/lib-prod/taon-posts/taon-cms-post/index.d.ts +1 -1
  1086. package/lib-prod/taon-posts/taon-cms-post/index.js +1 -1
  1087. 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
  1088. 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
  1089. 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
  1090. 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
  1091. 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
  1092. 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
  1093. 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
  1094. 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
  1095. 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
  1096. package/lib-prod/taon-posts/taon-cms-post-details-page/i18n/taon-cms-post-details-page.translation.d.ts +5 -0
  1097. package/lib-prod/taon-posts/taon-cms-post-details-page/i18n/taon-cms-post-details-page.translation.js +4 -0
  1098. package/lib-prod/taon-posts/taon-cms-post-details-page/i18n/taon-cms-post-details-page.translation.js.map +1 -0
  1099. 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
  1100. 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
  1101. 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
  1102. 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
  1103. 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
  1104. 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
  1105. 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
  1106. 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
  1107. 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
  1108. 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
  1109. 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
  1110. 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
  1111. 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
  1112. 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
  1113. 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
  1114. 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
  1115. 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
  1116. 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
  1117. package/lib-prod/taon-posts/taon-cms-post-edit-dialog/i18n/taon-cms-post-edit-dialog.translation.d.ts +8 -0
  1118. package/lib-prod/taon-posts/taon-cms-post-edit-dialog/i18n/taon-cms-post-edit-dialog.translation.js +4 -0
  1119. package/lib-prod/taon-posts/taon-cms-post-edit-dialog/i18n/taon-cms-post-edit-dialog.translation.js.map +1 -0
  1120. package/lib-prod/taon-posts/taon-cms-post-edit-dialog/index.d.ts +1 -1
  1121. package/lib-prod/taon-posts/taon-cms-post-edit-dialog/index.js +1 -1
  1122. package/lib-prod/taon-posts/taon-cms-posts-backoffice/i18n/taon-cms-posts-backoffice.component.html.de-DE.i18n.data.d.ts +17 -0
  1123. package/lib-prod/taon-posts/taon-cms-posts-backoffice/i18n/taon-cms-posts-backoffice.component.html.de-DE.i18n.data.js +19 -0
  1124. package/lib-prod/taon-posts/taon-cms-posts-backoffice/i18n/taon-cms-posts-backoffice.component.html.de-DE.i18n.data.js.map +1 -0
  1125. package/lib-prod/taon-posts/taon-cms-posts-backoffice/i18n/taon-cms-posts-backoffice.component.html.en-US.i18n.data.d.ts +17 -0
  1126. package/lib-prod/taon-posts/taon-cms-posts-backoffice/i18n/taon-cms-posts-backoffice.component.html.en-US.i18n.data.js +19 -0
  1127. package/lib-prod/taon-posts/taon-cms-posts-backoffice/i18n/taon-cms-posts-backoffice.component.html.en-US.i18n.data.js.map +1 -0
  1128. package/lib-prod/taon-posts/taon-cms-posts-backoffice/i18n/taon-cms-posts-backoffice.component.html.pl-PL.i18n.data.d.ts +17 -0
  1129. package/lib-prod/taon-posts/taon-cms-posts-backoffice/i18n/taon-cms-posts-backoffice.component.html.pl-PL.i18n.data.js +19 -0
  1130. package/lib-prod/taon-posts/taon-cms-posts-backoffice/i18n/taon-cms-posts-backoffice.component.html.pl-PL.i18n.data.js.map +1 -0
  1131. package/lib-prod/taon-posts/taon-cms-posts-backoffice/i18n/taon-cms-posts-backoffice.component.ts.de-DE.i18n.data.d.ts +26 -0
  1132. package/lib-prod/taon-posts/taon-cms-posts-backoffice/i18n/taon-cms-posts-backoffice.component.ts.de-DE.i18n.data.js +64 -0
  1133. package/lib-prod/taon-posts/taon-cms-posts-backoffice/i18n/taon-cms-posts-backoffice.component.ts.de-DE.i18n.data.js.map +1 -0
  1134. package/lib-prod/taon-posts/taon-cms-posts-backoffice/i18n/taon-cms-posts-backoffice.component.ts.en-US.i18n.data.d.ts +26 -0
  1135. package/lib-prod/taon-posts/taon-cms-posts-backoffice/i18n/taon-cms-posts-backoffice.component.ts.en-US.i18n.data.js +64 -0
  1136. package/lib-prod/taon-posts/taon-cms-posts-backoffice/i18n/taon-cms-posts-backoffice.component.ts.en-US.i18n.data.js.map +1 -0
  1137. package/lib-prod/taon-posts/taon-cms-posts-backoffice/i18n/taon-cms-posts-backoffice.component.ts.pl-PL.i18n.data.d.ts +26 -0
  1138. package/lib-prod/taon-posts/taon-cms-posts-backoffice/i18n/taon-cms-posts-backoffice.component.ts.pl-PL.i18n.data.js +64 -0
  1139. package/lib-prod/taon-posts/taon-cms-posts-backoffice/i18n/taon-cms-posts-backoffice.component.ts.pl-PL.i18n.data.js.map +1 -0
  1140. package/lib-prod/taon-posts/taon-cms-posts-backoffice/i18n/taon-cms-posts-backoffice.routes.ts.de-DE.i18n.data.d.ts +17 -0
  1141. package/lib-prod/taon-posts/taon-cms-posts-backoffice/i18n/taon-cms-posts-backoffice.routes.ts.de-DE.i18n.data.js +19 -0
  1142. package/lib-prod/taon-posts/taon-cms-posts-backoffice/i18n/taon-cms-posts-backoffice.routes.ts.de-DE.i18n.data.js.map +1 -0
  1143. package/lib-prod/taon-posts/taon-cms-posts-backoffice/i18n/taon-cms-posts-backoffice.routes.ts.en-US.i18n.data.d.ts +17 -0
  1144. package/lib-prod/taon-posts/taon-cms-posts-backoffice/i18n/taon-cms-posts-backoffice.routes.ts.en-US.i18n.data.js +19 -0
  1145. package/lib-prod/taon-posts/taon-cms-posts-backoffice/i18n/taon-cms-posts-backoffice.routes.ts.en-US.i18n.data.js.map +1 -0
  1146. package/lib-prod/taon-posts/taon-cms-posts-backoffice/i18n/taon-cms-posts-backoffice.routes.ts.pl-PL.i18n.data.d.ts +17 -0
  1147. package/lib-prod/taon-posts/taon-cms-posts-backoffice/i18n/taon-cms-posts-backoffice.routes.ts.pl-PL.i18n.data.js +19 -0
  1148. package/lib-prod/taon-posts/taon-cms-posts-backoffice/i18n/taon-cms-posts-backoffice.routes.ts.pl-PL.i18n.data.js.map +1 -0
  1149. package/lib-prod/taon-posts/taon-cms-posts-backoffice/i18n/taon-cms-posts-backoffice.translation.d.ts +11 -0
  1150. package/lib-prod/taon-posts/taon-cms-posts-backoffice/i18n/taon-cms-posts-backoffice.translation.js +4 -0
  1151. package/lib-prod/taon-posts/taon-cms-posts-backoffice/i18n/taon-cms-posts-backoffice.translation.js.map +1 -0
  1152. package/lib-prod/taon-posts/taon-cms-posts-backoffice/index.d.ts +1 -1
  1153. package/lib-prod/taon-posts/taon-cms-posts-backoffice/index.js +1 -1
  1154. package/lib-prod/taon-posts/taon-cms-revision-chooser/i18n/taon-cms-revision-chooser.component.html.de-DE.i18n.data.d.ts +26 -0
  1155. package/lib-prod/taon-posts/taon-cms-revision-chooser/i18n/taon-cms-revision-chooser.component.html.de-DE.i18n.data.js +69 -0
  1156. package/lib-prod/taon-posts/taon-cms-revision-chooser/i18n/taon-cms-revision-chooser.component.html.de-DE.i18n.data.js.map +1 -0
  1157. package/lib-prod/taon-posts/taon-cms-revision-chooser/i18n/taon-cms-revision-chooser.component.html.en-US.i18n.data.d.ts +26 -0
  1158. package/lib-prod/taon-posts/taon-cms-revision-chooser/i18n/taon-cms-revision-chooser.component.html.en-US.i18n.data.js +69 -0
  1159. package/lib-prod/taon-posts/taon-cms-revision-chooser/i18n/taon-cms-revision-chooser.component.html.en-US.i18n.data.js.map +1 -0
  1160. package/lib-prod/taon-posts/taon-cms-revision-chooser/i18n/taon-cms-revision-chooser.component.html.pl-PL.i18n.data.d.ts +26 -0
  1161. package/lib-prod/taon-posts/taon-cms-revision-chooser/i18n/taon-cms-revision-chooser.component.html.pl-PL.i18n.data.js +69 -0
  1162. package/lib-prod/taon-posts/taon-cms-revision-chooser/i18n/taon-cms-revision-chooser.component.html.pl-PL.i18n.data.js.map +1 -0
  1163. package/lib-prod/taon-posts/taon-cms-revision-chooser/i18n/taon-cms-revision-chooser.component.ts.de-DE.i18n.data.d.ts +18 -0
  1164. package/lib-prod/taon-posts/taon-cms-revision-chooser/i18n/taon-cms-revision-chooser.component.ts.de-DE.i18n.data.js +24 -0
  1165. package/lib-prod/taon-posts/taon-cms-revision-chooser/i18n/taon-cms-revision-chooser.component.ts.de-DE.i18n.data.js.map +1 -0
  1166. package/lib-prod/taon-posts/taon-cms-revision-chooser/i18n/taon-cms-revision-chooser.component.ts.en-US.i18n.data.d.ts +18 -0
  1167. package/lib-prod/taon-posts/taon-cms-revision-chooser/i18n/taon-cms-revision-chooser.component.ts.en-US.i18n.data.js +24 -0
  1168. package/lib-prod/taon-posts/taon-cms-revision-chooser/i18n/taon-cms-revision-chooser.component.ts.en-US.i18n.data.js.map +1 -0
  1169. package/lib-prod/taon-posts/taon-cms-revision-chooser/i18n/taon-cms-revision-chooser.component.ts.pl-PL.i18n.data.d.ts +18 -0
  1170. package/lib-prod/taon-posts/taon-cms-revision-chooser/i18n/taon-cms-revision-chooser.component.ts.pl-PL.i18n.data.js +24 -0
  1171. package/lib-prod/taon-posts/taon-cms-revision-chooser/i18n/taon-cms-revision-chooser.component.ts.pl-PL.i18n.data.js.map +1 -0
  1172. package/lib-prod/taon-posts/taon-cms-revision-chooser/i18n/taon-cms-revision-chooser.translation.d.ts +8 -0
  1173. package/lib-prod/taon-posts/taon-cms-revision-chooser/i18n/taon-cms-revision-chooser.translation.js +4 -0
  1174. package/lib-prod/taon-posts/taon-cms-revision-chooser/i18n/taon-cms-revision-chooser.translation.js.map +1 -0
  1175. package/lib-prod/taon-posts/taon-cms-revision-chooser/index.d.ts +1 -1
  1176. package/lib-prod/taon-posts/taon-cms-revision-chooser/index.js +1 -1
  1177. package/lib-prod/taon-posts/taon-related-post-chooser/i18n/taon-related-post-chooser.component.html.de-DE.i18n.data.d.ts +21 -0
  1178. package/lib-prod/taon-posts/taon-related-post-chooser/i18n/taon-related-post-chooser.component.html.de-DE.i18n.data.js +44 -0
  1179. package/lib-prod/taon-posts/taon-related-post-chooser/i18n/taon-related-post-chooser.component.html.de-DE.i18n.data.js.map +1 -0
  1180. package/lib-prod/taon-posts/taon-related-post-chooser/i18n/taon-related-post-chooser.component.html.en-US.i18n.data.d.ts +21 -0
  1181. package/lib-prod/taon-posts/taon-related-post-chooser/i18n/taon-related-post-chooser.component.html.en-US.i18n.data.js +44 -0
  1182. package/lib-prod/taon-posts/taon-related-post-chooser/i18n/taon-related-post-chooser.component.html.en-US.i18n.data.js.map +1 -0
  1183. package/lib-prod/taon-posts/taon-related-post-chooser/i18n/taon-related-post-chooser.component.html.pl-PL.i18n.data.d.ts +21 -0
  1184. package/lib-prod/taon-posts/taon-related-post-chooser/i18n/taon-related-post-chooser.component.html.pl-PL.i18n.data.js +44 -0
  1185. package/lib-prod/taon-posts/taon-related-post-chooser/i18n/taon-related-post-chooser.component.html.pl-PL.i18n.data.js.map +1 -0
  1186. package/lib-prod/taon-posts/taon-related-post-chooser/i18n/taon-related-post-chooser.component.ts.de-DE.i18n.data.d.ts +17 -0
  1187. package/lib-prod/taon-posts/taon-related-post-chooser/i18n/taon-related-post-chooser.component.ts.de-DE.i18n.data.js +19 -0
  1188. package/lib-prod/taon-posts/taon-related-post-chooser/i18n/taon-related-post-chooser.component.ts.de-DE.i18n.data.js.map +1 -0
  1189. package/lib-prod/taon-posts/taon-related-post-chooser/i18n/taon-related-post-chooser.component.ts.en-US.i18n.data.d.ts +17 -0
  1190. package/lib-prod/taon-posts/taon-related-post-chooser/i18n/taon-related-post-chooser.component.ts.en-US.i18n.data.js +19 -0
  1191. package/lib-prod/taon-posts/taon-related-post-chooser/i18n/taon-related-post-chooser.component.ts.en-US.i18n.data.js.map +1 -0
  1192. package/lib-prod/taon-posts/taon-related-post-chooser/i18n/taon-related-post-chooser.component.ts.pl-PL.i18n.data.d.ts +17 -0
  1193. package/lib-prod/taon-posts/taon-related-post-chooser/i18n/taon-related-post-chooser.component.ts.pl-PL.i18n.data.js +19 -0
  1194. package/lib-prod/taon-posts/taon-related-post-chooser/i18n/taon-related-post-chooser.component.ts.pl-PL.i18n.data.js.map +1 -0
  1195. package/lib-prod/taon-posts/taon-related-post-chooser/i18n/taon-related-post-chooser.translation.d.ts +8 -0
  1196. package/lib-prod/taon-posts/taon-related-post-chooser/i18n/taon-related-post-chooser.translation.js +4 -0
  1197. package/lib-prod/taon-posts/taon-related-post-chooser/i18n/taon-related-post-chooser.translation.js.map +1 -0
  1198. package/lib-prod/taon-posts/taon-related-post-chooser/index.d.ts +1 -1
  1199. package/lib-prod/taon-posts/taon-related-post-chooser/index.js +1 -1
  1200. package/package.json +1 -1
  1201. package/scss/lib/taon-cms-assets-backoffice/taon-cms-asset-preview.component.scss +11 -0
  1202. package/scss/lib/taon-posts/taon-cms-post/taon-cms-post.component.scss +16 -0
  1203. package/ts-source/browser-code/build-info._auto-generated_.ts +2 -2
  1204. package/ts-source/browser-code/decorators/taon-cms-authorization.ts +68 -0
  1205. package/ts-source/browser-code/index._auto-generated_.ts +6 -4
  1206. package/ts-source/browser-code/index.scss +1 -1
  1207. package/ts-source/browser-code/index.ts +1 -2
  1208. package/ts-source/browser-code/migrations/1792506757808_applicaitonHooks.ts +78 -0
  1209. package/ts-source/browser-code/migrations/1792579000000_postPermissionInheritance.ts +36 -0
  1210. package/ts-source/browser-code/migrations/index.ts +8 -1
  1211. package/ts-source/browser-code/migrations/migrations_index._auto-generated_.ts +5 -3
  1212. package/ts-source/browser-code/start-cli.ts +1 -1
  1213. package/ts-source/browser-code/taon-cms-application-hook/taon-cms-application-hook.entity.ts +30 -0
  1214. package/ts-source/browser-code/taon-cms-application-hooks.ts +20 -0
  1215. package/ts-source/browser-code/taon-cms-assets-backoffice/i18n/taon-cms-asset-preview.component.html.de-DE.i18n.data.ts +47 -0
  1216. package/ts-source/browser-code/taon-cms-assets-backoffice/i18n/taon-cms-asset-preview.component.html.de-DE.po +21 -0
  1217. package/ts-source/browser-code/taon-cms-assets-backoffice/i18n/taon-cms-asset-preview.component.html.en-US.i18n.data.ts +47 -0
  1218. package/ts-source/browser-code/taon-cms-assets-backoffice/i18n/taon-cms-asset-preview.component.html.en-US.po +21 -0
  1219. package/ts-source/browser-code/taon-cms-assets-backoffice/i18n/taon-cms-asset-preview.component.html.pl-PL.i18n.data.ts +47 -0
  1220. package/ts-source/browser-code/taon-cms-assets-backoffice/i18n/taon-cms-asset-preview.component.html.pl-PL.po +21 -0
  1221. package/ts-source/browser-code/taon-cms-assets-backoffice/i18n/taon-cms-asset-preview.component.ts.de-DE.i18n.data.ts +35 -0
  1222. package/ts-source/browser-code/taon-cms-assets-backoffice/i18n/taon-cms-asset-preview.component.ts.de-DE.po +13 -0
  1223. package/ts-source/browser-code/taon-cms-assets-backoffice/i18n/taon-cms-asset-preview.component.ts.en-US.i18n.data.ts +35 -0
  1224. package/ts-source/browser-code/taon-cms-assets-backoffice/i18n/taon-cms-asset-preview.component.ts.en-US.po +13 -0
  1225. package/ts-source/browser-code/taon-cms-assets-backoffice/i18n/taon-cms-asset-preview.component.ts.pl-PL.i18n.data.ts +35 -0
  1226. package/ts-source/browser-code/taon-cms-assets-backoffice/i18n/taon-cms-asset-preview.component.ts.pl-PL.po +13 -0
  1227. package/ts-source/browser-code/taon-cms-assets-backoffice/i18n/taon-cms-assets-backoffice.component.html.de-DE.i18n.data.ts +41 -0
  1228. package/ts-source/browser-code/taon-cms-assets-backoffice/i18n/taon-cms-assets-backoffice.component.html.de-DE.po +17 -0
  1229. package/ts-source/browser-code/taon-cms-assets-backoffice/i18n/taon-cms-assets-backoffice.component.html.en-US.i18n.data.ts +41 -0
  1230. package/ts-source/browser-code/taon-cms-assets-backoffice/i18n/taon-cms-assets-backoffice.component.html.en-US.po +17 -0
  1231. package/ts-source/browser-code/taon-cms-assets-backoffice/i18n/taon-cms-assets-backoffice.component.html.pl-PL.i18n.data.ts +41 -0
  1232. package/ts-source/browser-code/taon-cms-assets-backoffice/i18n/taon-cms-assets-backoffice.component.html.pl-PL.po +17 -0
  1233. package/ts-source/browser-code/taon-cms-assets-backoffice/i18n/taon-cms-assets-backoffice.component.ts.de-DE.i18n.data.ts +41 -0
  1234. package/ts-source/browser-code/taon-cms-assets-backoffice/i18n/taon-cms-assets-backoffice.component.ts.de-DE.po +17 -0
  1235. package/ts-source/browser-code/taon-cms-assets-backoffice/i18n/taon-cms-assets-backoffice.component.ts.en-US.i18n.data.ts +41 -0
  1236. package/ts-source/browser-code/taon-cms-assets-backoffice/i18n/taon-cms-assets-backoffice.component.ts.en-US.po +17 -0
  1237. package/ts-source/browser-code/taon-cms-assets-backoffice/i18n/taon-cms-assets-backoffice.component.ts.pl-PL.i18n.data.ts +41 -0
  1238. package/ts-source/browser-code/taon-cms-assets-backoffice/i18n/taon-cms-assets-backoffice.component.ts.pl-PL.po +17 -0
  1239. package/ts-source/browser-code/taon-cms-assets-backoffice/i18n/taon-cms-assets-backoffice.translation.ts +27 -0
  1240. package/ts-source/browser-code/taon-cms-assets-backoffice/taon-cms-asset-preview.component.html +57 -0
  1241. package/ts-source/browser-code/taon-cms-assets-backoffice/taon-cms-asset-preview.component.scss +22 -0
  1242. package/ts-source/browser-code/taon-cms-assets-backoffice/taon-cms-asset-preview.component.ts +79 -0
  1243. package/ts-source/browser-code/taon-cms-assets-backoffice/taon-cms-assets-backoffice.component.html +42 -0
  1244. package/ts-source/browser-code/taon-cms-assets-backoffice/taon-cms-assets-backoffice.component.ts +60 -19
  1245. package/ts-source/browser-code/taon-cms-assets-backoffice/taon-cms-assets-backoffice.routes.ts +1 -1
  1246. package/ts-source/browser-code/taon-cms-backoffice/i18n/taon-cms-backoffice.component.html.de-DE.i18n.data.ts +29 -0
  1247. package/ts-source/browser-code/taon-cms-backoffice/i18n/taon-cms-backoffice.component.html.de-DE.po +9 -0
  1248. package/ts-source/browser-code/taon-cms-backoffice/i18n/taon-cms-backoffice.component.html.en-US.i18n.data.ts +29 -0
  1249. package/ts-source/browser-code/taon-cms-backoffice/i18n/taon-cms-backoffice.component.html.en-US.po +9 -0
  1250. package/ts-source/browser-code/taon-cms-backoffice/i18n/taon-cms-backoffice.component.html.pl-PL.i18n.data.ts +29 -0
  1251. package/ts-source/browser-code/taon-cms-backoffice/i18n/taon-cms-backoffice.component.html.pl-PL.po +9 -0
  1252. package/ts-source/browser-code/taon-cms-backoffice/i18n/taon-cms-backoffice.component.ts.de-DE.i18n.data.ts +19 -0
  1253. package/ts-source/browser-code/taon-cms-backoffice/i18n/taon-cms-backoffice.component.ts.de-DE.po +5 -0
  1254. package/ts-source/browser-code/taon-cms-backoffice/i18n/taon-cms-backoffice.component.ts.en-US.i18n.data.ts +19 -0
  1255. package/ts-source/browser-code/taon-cms-backoffice/i18n/taon-cms-backoffice.component.ts.en-US.po +5 -0
  1256. package/ts-source/browser-code/taon-cms-backoffice/i18n/taon-cms-backoffice.component.ts.pl-PL.i18n.data.ts +19 -0
  1257. package/ts-source/browser-code/taon-cms-backoffice/i18n/taon-cms-backoffice.component.ts.pl-PL.po +5 -0
  1258. package/ts-source/browser-code/taon-cms-backoffice/i18n/taon-cms-backoffice.routes.ts.de-DE.i18n.data.ts +35 -0
  1259. package/ts-source/browser-code/taon-cms-backoffice/i18n/taon-cms-backoffice.routes.ts.de-DE.po +13 -0
  1260. package/ts-source/browser-code/taon-cms-backoffice/i18n/taon-cms-backoffice.routes.ts.en-US.i18n.data.ts +35 -0
  1261. package/ts-source/browser-code/taon-cms-backoffice/i18n/taon-cms-backoffice.routes.ts.en-US.po +13 -0
  1262. package/ts-source/browser-code/taon-cms-backoffice/i18n/taon-cms-backoffice.routes.ts.pl-PL.i18n.data.ts +35 -0
  1263. package/ts-source/browser-code/taon-cms-backoffice/i18n/taon-cms-backoffice.routes.ts.pl-PL.po +13 -0
  1264. package/ts-source/browser-code/taon-cms-backoffice/i18n/taon-cms-backoffice.translation.ts +24 -0
  1265. package/ts-source/browser-code/taon-cms-backoffice/index.ts +1 -1
  1266. package/ts-source/browser-code/taon-cms-backoffice/taon-cms-backoffice.component.html +4 -2
  1267. package/ts-source/browser-code/taon-cms-backoffice/taon-cms-backoffice.component.scss +1 -1
  1268. package/ts-source/browser-code/taon-cms-backoffice/taon-cms-backoffice.component.ts +5 -1
  1269. package/ts-source/browser-code/taon-cms-backoffice/taon-cms-backoffice.models.ts +1 -1
  1270. package/ts-source/browser-code/taon-cms-backoffice/taon-cms-backoffice.routes.ts +13 -4
  1271. package/ts-source/browser-code/taon-cms-category/index.ts +1 -1
  1272. package/ts-source/browser-code/taon-cms-category/taon-cms-category-api.service.ts +2 -2
  1273. package/ts-source/browser-code/taon-cms-category/taon-cms-category.abstract.context.ts +1 -1
  1274. package/ts-source/browser-code/taon-cms-category/taon-cms-category.constants.ts +1 -1
  1275. package/ts-source/browser-code/taon-cms-category/taon-cms-category.controller.ts +1 -1
  1276. package/ts-source/browser-code/taon-cms-category/taon-cms-category.entity.ts +1 -1
  1277. package/ts-source/browser-code/taon-cms-category/taon-cms-category.middleware.ts +1 -1
  1278. package/ts-source/browser-code/taon-cms-category/taon-cms-category.models.ts +1 -1
  1279. package/ts-source/browser-code/taon-cms-category/taon-cms-category.provider.ts +1 -1
  1280. package/ts-source/browser-code/taon-cms-category/taon-cms-category.repository.ts +1 -1
  1281. package/ts-source/browser-code/taon-cms-category/taon-cms-category.subscriber.ts +1 -1
  1282. package/ts-source/browser-code/taon-cms-category/taon-cms-category.utils.ts +1 -1
  1283. package/ts-source/browser-code/taon-cms-comment/index.ts +1 -1
  1284. package/ts-source/browser-code/taon-cms-comment/taon-cms-comment-api.service.ts +2 -2
  1285. package/ts-source/browser-code/taon-cms-comment/taon-cms-comment.abstract.context.ts +1 -1
  1286. package/ts-source/browser-code/taon-cms-comment/taon-cms-comment.constants.ts +1 -1
  1287. package/ts-source/browser-code/taon-cms-comment/taon-cms-comment.controller.ts +1 -1
  1288. package/ts-source/browser-code/taon-cms-comment/taon-cms-comment.entity.ts +1 -1
  1289. package/ts-source/browser-code/taon-cms-comment/taon-cms-comment.middleware.ts +1 -1
  1290. package/ts-source/browser-code/taon-cms-comment/taon-cms-comment.models.ts +1 -1
  1291. package/ts-source/browser-code/taon-cms-comment/taon-cms-comment.provider.ts +1 -1
  1292. package/ts-source/browser-code/taon-cms-comment/taon-cms-comment.repository.ts +1 -1
  1293. package/ts-source/browser-code/taon-cms-comment/taon-cms-comment.subscriber.ts +1 -1
  1294. package/ts-source/browser-code/taon-cms-comment/taon-cms-comment.utils.ts +1 -1
  1295. package/ts-source/browser-code/taon-cms-content/i18n/taon-cms-content-storage.controller.ts.de-DE.i18n.data.ts +29 -0
  1296. package/ts-source/browser-code/taon-cms-content/i18n/taon-cms-content-storage.controller.ts.de-DE.po +9 -0
  1297. package/ts-source/browser-code/taon-cms-content/i18n/taon-cms-content-storage.controller.ts.en-US.i18n.data.ts +29 -0
  1298. package/ts-source/browser-code/taon-cms-content/i18n/taon-cms-content-storage.controller.ts.en-US.po +9 -0
  1299. package/ts-source/browser-code/taon-cms-content/i18n/taon-cms-content-storage.controller.ts.pl-PL.i18n.data.ts +29 -0
  1300. package/ts-source/browser-code/taon-cms-content/i18n/taon-cms-content-storage.controller.ts.pl-PL.po +9 -0
  1301. package/ts-source/browser-code/taon-cms-content/i18n/taon-cms-content.controller.ts.de-DE.i18n.data.ts +59 -0
  1302. package/ts-source/browser-code/taon-cms-content/i18n/taon-cms-content.controller.ts.de-DE.po +29 -0
  1303. package/ts-source/browser-code/taon-cms-content/i18n/taon-cms-content.controller.ts.en-US.i18n.data.ts +59 -0
  1304. package/ts-source/browser-code/taon-cms-content/i18n/taon-cms-content.controller.ts.en-US.po +29 -0
  1305. package/ts-source/browser-code/taon-cms-content/i18n/taon-cms-content.controller.ts.pl-PL.i18n.data.ts +59 -0
  1306. package/ts-source/browser-code/taon-cms-content/i18n/taon-cms-content.controller.ts.pl-PL.po +29 -0
  1307. package/ts-source/browser-code/taon-cms-content/i18n/taon-cms-content.translation.ts +21 -0
  1308. package/ts-source/browser-code/taon-cms-content/index.ts +1 -1
  1309. package/ts-source/browser-code/taon-cms-content/taon-cms-content-api.service.ts +103 -16
  1310. package/ts-source/browser-code/taon-cms-content/taon-cms-content-storage.controller.ts +39 -8
  1311. package/ts-source/browser-code/taon-cms-content/taon-cms-content.abstract.context.ts +3 -2
  1312. package/ts-source/browser-code/taon-cms-content/taon-cms-content.config.service.ts +1 -1
  1313. package/ts-source/browser-code/taon-cms-content/taon-cms-content.constants.ts +1 -1
  1314. package/ts-source/browser-code/taon-cms-content/taon-cms-content.controller.ts +96 -6
  1315. package/ts-source/browser-code/taon-cms-content/taon-cms-content.entity.ts +5 -2
  1316. package/ts-source/browser-code/taon-cms-content/taon-cms-content.middleware.ts +1 -1
  1317. package/ts-source/browser-code/taon-cms-content/taon-cms-content.models.ts +13 -1
  1318. package/ts-source/browser-code/taon-cms-content/taon-cms-content.provider.ts +1 -1
  1319. package/ts-source/browser-code/taon-cms-content/taon-cms-content.repository.ts +44 -5
  1320. package/ts-source/browser-code/taon-cms-content/taon-cms-content.subscriber.ts +1 -1
  1321. package/ts-source/browser-code/taon-cms-content/taon-cms-content.utils.ts +1 -1
  1322. package/ts-source/browser-code/taon-cms-content/taon-cms-content.validation.ts +10 -2
  1323. package/ts-source/browser-code/taon-cms-content/taon-cms-upload-progress.ts +85 -0
  1324. package/ts-source/browser-code/taon-cms-content-asset/index.ts +1 -1
  1325. package/ts-source/browser-code/taon-cms-content-asset/taon-cms-content-asset-api.service.ts +6 -4
  1326. package/ts-source/browser-code/taon-cms-content-asset/taon-cms-content-asset.abstract.context.ts +1 -1
  1327. package/ts-source/browser-code/taon-cms-content-asset/taon-cms-content-asset.constants.ts +1 -1
  1328. package/ts-source/browser-code/taon-cms-content-asset/taon-cms-content-asset.controller.ts +1 -1
  1329. package/ts-source/browser-code/taon-cms-content-asset/taon-cms-content-asset.entity.ts +1 -1
  1330. package/ts-source/browser-code/taon-cms-content-asset/taon-cms-content-asset.middleware.ts +1 -1
  1331. package/ts-source/browser-code/taon-cms-content-asset/taon-cms-content-asset.models.ts +1 -1
  1332. package/ts-source/browser-code/taon-cms-content-asset/taon-cms-content-asset.provider.ts +1 -1
  1333. package/ts-source/browser-code/taon-cms-content-asset/taon-cms-content-asset.repository.ts +1 -1
  1334. package/ts-source/browser-code/taon-cms-content-asset/taon-cms-content-asset.subscriber.ts +1 -1
  1335. package/ts-source/browser-code/taon-cms-content-asset/taon-cms-content-asset.utils.ts +1 -1
  1336. package/ts-source/browser-code/taon-cms-content-permission/index.ts +1 -1
  1337. package/ts-source/browser-code/taon-cms-content-permission/taon-cms-content-permission-api.service.ts +6 -4
  1338. package/ts-source/browser-code/taon-cms-content-permission/taon-cms-content-permission.abstract.context.ts +1 -1
  1339. package/ts-source/browser-code/taon-cms-content-permission/taon-cms-content-permission.constants.ts +1 -1
  1340. package/ts-source/browser-code/taon-cms-content-permission/taon-cms-content-permission.controller.ts +1 -1
  1341. package/ts-source/browser-code/taon-cms-content-permission/taon-cms-content-permission.entity.ts +1 -1
  1342. package/ts-source/browser-code/taon-cms-content-permission/taon-cms-content-permission.middleware.ts +1 -1
  1343. package/ts-source/browser-code/taon-cms-content-permission/taon-cms-content-permission.models.ts +1 -1
  1344. package/ts-source/browser-code/taon-cms-content-permission/taon-cms-content-permission.provider.ts +1 -1
  1345. package/ts-source/browser-code/taon-cms-content-permission/taon-cms-content-permission.repository.ts +1 -1
  1346. package/ts-source/browser-code/taon-cms-content-permission/taon-cms-content-permission.subscriber.ts +1 -1
  1347. package/ts-source/browser-code/taon-cms-content-permission/taon-cms-content-permission.utils.ts +1 -1
  1348. package/ts-source/browser-code/taon-cms-content-revision/index.ts +1 -1
  1349. package/ts-source/browser-code/taon-cms-content-revision/taon-cms-content-revision-api.service.ts +4 -5
  1350. package/ts-source/browser-code/taon-cms-content-revision/taon-cms-content-revision.abstract.context.ts +1 -1
  1351. package/ts-source/browser-code/taon-cms-content-revision/taon-cms-content-revision.constants.ts +1 -1
  1352. package/ts-source/browser-code/taon-cms-content-revision/taon-cms-content-revision.controller.ts +1 -1
  1353. package/ts-source/browser-code/taon-cms-content-revision/taon-cms-content-revision.entity.ts +1 -1
  1354. package/ts-source/browser-code/taon-cms-content-revision/taon-cms-content-revision.middleware.ts +1 -1
  1355. package/ts-source/browser-code/taon-cms-content-revision/taon-cms-content-revision.models.ts +1 -1
  1356. package/ts-source/browser-code/taon-cms-content-revision/taon-cms-content-revision.provider.ts +1 -1
  1357. package/ts-source/browser-code/taon-cms-content-revision/taon-cms-content-revision.repository.ts +1 -1
  1358. package/ts-source/browser-code/taon-cms-content-revision/taon-cms-content-revision.subscriber.ts +1 -1
  1359. package/ts-source/browser-code/taon-cms-content-revision/taon-cms-content-revision.utils.ts +1 -1
  1360. package/ts-source/browser-code/taon-cms-content-tag/index.ts +1 -1
  1361. package/ts-source/browser-code/taon-cms-content-tag/taon-cms-content-tag-api.service.ts +2 -2
  1362. package/ts-source/browser-code/taon-cms-content-tag/taon-cms-content-tag.abstract.context.ts +1 -1
  1363. package/ts-source/browser-code/taon-cms-content-tag/taon-cms-content-tag.constants.ts +1 -1
  1364. package/ts-source/browser-code/taon-cms-content-tag/taon-cms-content-tag.controller.ts +1 -1
  1365. package/ts-source/browser-code/taon-cms-content-tag/taon-cms-content-tag.entity.ts +1 -1
  1366. package/ts-source/browser-code/taon-cms-content-tag/taon-cms-content-tag.middleware.ts +1 -1
  1367. package/ts-source/browser-code/taon-cms-content-tag/taon-cms-content-tag.models.ts +1 -1
  1368. package/ts-source/browser-code/taon-cms-content-tag/taon-cms-content-tag.provider.ts +1 -1
  1369. package/ts-source/browser-code/taon-cms-content-tag/taon-cms-content-tag.repository.ts +1 -1
  1370. package/ts-source/browser-code/taon-cms-content-tag/taon-cms-content-tag.subscriber.ts +1 -1
  1371. package/ts-source/browser-code/taon-cms-content-tag/taon-cms-content-tag.utils.ts +1 -1
  1372. package/ts-source/browser-code/taon-cms-tag/index.ts +1 -1
  1373. package/ts-source/browser-code/taon-cms-tag/taon-cms-tag-api.service.ts +2 -8
  1374. package/ts-source/browser-code/taon-cms-tag/taon-cms-tag.abstract.context.ts +1 -1
  1375. package/ts-source/browser-code/taon-cms-tag/taon-cms-tag.constants.ts +1 -1
  1376. package/ts-source/browser-code/taon-cms-tag/taon-cms-tag.controller.ts +1 -1
  1377. package/ts-source/browser-code/taon-cms-tag/taon-cms-tag.entity.ts +1 -1
  1378. package/ts-source/browser-code/taon-cms-tag/taon-cms-tag.middleware.ts +1 -1
  1379. package/ts-source/browser-code/taon-cms-tag/taon-cms-tag.models.ts +1 -1
  1380. package/ts-source/browser-code/taon-cms-tag/taon-cms-tag.provider.ts +1 -1
  1381. package/ts-source/browser-code/taon-cms-tag/taon-cms-tag.repository.ts +1 -1
  1382. package/ts-source/browser-code/taon-cms-tag/taon-cms-tag.subscriber.ts +1 -1
  1383. package/ts-source/browser-code/taon-cms-tag/taon-cms-tag.utils.ts +1 -1
  1384. package/ts-source/browser-code/taon-cms.abstract.context.ts +1 -1
  1385. package/ts-source/browser-code/taon-posts/taon-cms-post/i18n/taon-cms-post.component.html.de-DE.i18n.data.ts +309 -0
  1386. package/ts-source/browser-code/taon-posts/taon-cms-post/i18n/taon-cms-post.component.html.de-DE.po +177 -0
  1387. package/ts-source/browser-code/taon-posts/taon-cms-post/i18n/taon-cms-post.component.html.en-US.i18n.data.ts +309 -0
  1388. package/ts-source/browser-code/taon-posts/taon-cms-post/i18n/taon-cms-post.component.html.en-US.po +177 -0
  1389. package/ts-source/browser-code/taon-posts/taon-cms-post/i18n/taon-cms-post.component.html.pl-PL.i18n.data.ts +309 -0
  1390. package/ts-source/browser-code/taon-posts/taon-cms-post/i18n/taon-cms-post.component.html.pl-PL.po +177 -0
  1391. package/ts-source/browser-code/taon-posts/taon-cms-post/i18n/taon-cms-post.component.ts.de-DE.i18n.data.ts +184 -0
  1392. package/ts-source/browser-code/taon-posts/taon-cms-post/i18n/taon-cms-post.component.ts.de-DE.po +110 -0
  1393. package/ts-source/browser-code/taon-posts/taon-cms-post/i18n/taon-cms-post.component.ts.en-US.i18n.data.ts +181 -0
  1394. package/ts-source/browser-code/taon-posts/taon-cms-post/i18n/taon-cms-post.component.ts.en-US.po +110 -0
  1395. package/ts-source/browser-code/taon-posts/taon-cms-post/i18n/taon-cms-post.component.ts.pl-PL.i18n.data.ts +184 -0
  1396. package/ts-source/browser-code/taon-posts/taon-cms-post/i18n/taon-cms-post.component.ts.pl-PL.po +110 -0
  1397. package/ts-source/browser-code/taon-posts/taon-cms-post/i18n/taon-cms-post.translation.ts +21 -0
  1398. package/ts-source/browser-code/taon-posts/taon-cms-post/index.ts +1 -1
  1399. package/ts-source/browser-code/taon-posts/taon-cms-post/taon-cms-editable.directive.ts +1 -1
  1400. package/ts-source/browser-code/taon-posts/taon-cms-post/taon-cms-post.component.html +394 -57
  1401. package/ts-source/browser-code/taon-posts/taon-cms-post/taon-cms-post.component.scss +17 -1
  1402. package/ts-source/browser-code/taon-posts/taon-cms-post/taon-cms-post.component.ts +304 -36
  1403. package/ts-source/browser-code/taon-posts/taon-cms-post/taon-cms-post.models.ts +1 -1
  1404. package/ts-source/browser-code/taon-posts/taon-cms-post/taon-cms-post.routes.ts +1 -1
  1405. 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
  1406. 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
  1407. 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
  1408. 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
  1409. 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
  1410. 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
  1411. package/ts-source/browser-code/taon-posts/taon-cms-post-details-page/i18n/taon-cms-post-details-page.translation.ts +18 -0
  1412. package/ts-source/browser-code/taon-posts/taon-cms-post-details-page/taon-cms-post-details-page.component.ts +10 -2
  1413. 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
  1414. 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
  1415. 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
  1416. 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
  1417. 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
  1418. 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
  1419. 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
  1420. 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
  1421. 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
  1422. 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
  1423. 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
  1424. 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
  1425. package/ts-source/browser-code/taon-posts/taon-cms-post-edit-dialog/i18n/taon-cms-post-edit-dialog.translation.ts +21 -0
  1426. package/ts-source/browser-code/taon-posts/taon-cms-post-edit-dialog/index.ts +1 -1
  1427. package/ts-source/browser-code/taon-posts/taon-cms-post-edit-dialog/taon-cms-post-edit-dialog.component.html +10 -3
  1428. package/ts-source/browser-code/taon-posts/taon-cms-post-edit-dialog/taon-cms-post-edit-dialog.component.scss +1 -1
  1429. package/ts-source/browser-code/taon-posts/taon-cms-post-edit-dialog/taon-cms-post-edit-dialog.component.ts +11 -2
  1430. 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
  1431. package/ts-source/browser-code/taon-posts/taon-cms-posts-backoffice/i18n/taon-cms-posts-backoffice.component.html.de-DE.po +13 -0
  1432. 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
  1433. package/ts-source/browser-code/taon-posts/taon-cms-posts-backoffice/i18n/taon-cms-posts-backoffice.component.html.en-US.po +13 -0
  1434. 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
  1435. package/ts-source/browser-code/taon-posts/taon-cms-posts-backoffice/i18n/taon-cms-posts-backoffice.component.html.pl-PL.po +13 -0
  1436. 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
  1437. package/ts-source/browser-code/taon-posts/taon-cms-posts-backoffice/i18n/taon-cms-posts-backoffice.component.ts.de-DE.po +49 -0
  1438. 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
  1439. package/ts-source/browser-code/taon-posts/taon-cms-posts-backoffice/i18n/taon-cms-posts-backoffice.component.ts.en-US.po +49 -0
  1440. 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
  1441. package/ts-source/browser-code/taon-posts/taon-cms-posts-backoffice/i18n/taon-cms-posts-backoffice.component.ts.pl-PL.po +49 -0
  1442. 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
  1443. package/ts-source/browser-code/taon-posts/taon-cms-posts-backoffice/i18n/taon-cms-posts-backoffice.routes.ts.de-DE.po +13 -0
  1444. 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
  1445. package/ts-source/browser-code/taon-posts/taon-cms-posts-backoffice/i18n/taon-cms-posts-backoffice.routes.ts.en-US.po +13 -0
  1446. 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
  1447. package/ts-source/browser-code/taon-posts/taon-cms-posts-backoffice/i18n/taon-cms-posts-backoffice.routes.ts.pl-PL.po +13 -0
  1448. package/ts-source/browser-code/taon-posts/taon-cms-posts-backoffice/i18n/taon-cms-posts-backoffice.translation.ts +24 -0
  1449. package/ts-source/browser-code/taon-posts/taon-cms-posts-backoffice/index.ts +1 -1
  1450. package/ts-source/browser-code/taon-posts/taon-cms-posts-backoffice/taon-cms-posts-backoffice.component.html +3 -3
  1451. package/ts-source/browser-code/taon-posts/taon-cms-posts-backoffice/taon-cms-posts-backoffice.component.scss +1 -1
  1452. package/ts-source/browser-code/taon-posts/taon-cms-posts-backoffice/taon-cms-posts-backoffice.component.ts +17 -13
  1453. package/ts-source/browser-code/taon-posts/taon-cms-posts-backoffice/taon-cms-posts-backoffice.models.ts +1 -1
  1454. package/ts-source/browser-code/taon-posts/taon-cms-posts-backoffice/taon-cms-posts-backoffice.routes.ts +8 -6
  1455. 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
  1456. package/ts-source/browser-code/taon-posts/taon-cms-revision-chooser/i18n/taon-cms-revision-chooser.component.html.de-DE.po +50 -0
  1457. 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
  1458. package/ts-source/browser-code/taon-posts/taon-cms-revision-chooser/i18n/taon-cms-revision-chooser.component.html.en-US.po +50 -0
  1459. 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
  1460. package/ts-source/browser-code/taon-posts/taon-cms-revision-chooser/i18n/taon-cms-revision-chooser.component.html.pl-PL.po +50 -0
  1461. 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
  1462. package/ts-source/browser-code/taon-posts/taon-cms-revision-chooser/i18n/taon-cms-revision-chooser.component.ts.de-DE.po +17 -0
  1463. 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
  1464. package/ts-source/browser-code/taon-posts/taon-cms-revision-chooser/i18n/taon-cms-revision-chooser.component.ts.en-US.po +17 -0
  1465. 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
  1466. package/ts-source/browser-code/taon-posts/taon-cms-revision-chooser/i18n/taon-cms-revision-chooser.component.ts.pl-PL.po +17 -0
  1467. package/ts-source/browser-code/taon-posts/taon-cms-revision-chooser/i18n/taon-cms-revision-chooser.translation.ts +21 -0
  1468. package/ts-source/browser-code/taon-posts/taon-cms-revision-chooser/index.ts +1 -1
  1469. package/ts-source/browser-code/taon-posts/taon-cms-revision-chooser/taon-cms-revision-chooser.component.html +56 -15
  1470. package/ts-source/browser-code/taon-posts/taon-cms-revision-chooser/taon-cms-revision-chooser.component.scss +1 -1
  1471. package/ts-source/browser-code/taon-posts/taon-cms-revision-chooser/taon-cms-revision-chooser.component.ts +17 -8
  1472. 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
  1473. package/ts-source/browser-code/taon-posts/taon-related-post-chooser/i18n/taon-related-post-chooser.component.html.de-DE.po +30 -0
  1474. 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
  1475. package/ts-source/browser-code/taon-posts/taon-related-post-chooser/i18n/taon-related-post-chooser.component.html.en-US.po +30 -0
  1476. 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
  1477. package/ts-source/browser-code/taon-posts/taon-related-post-chooser/i18n/taon-related-post-chooser.component.html.pl-PL.po +30 -0
  1478. 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
  1479. package/ts-source/browser-code/taon-posts/taon-related-post-chooser/i18n/taon-related-post-chooser.component.ts.de-DE.po +13 -0
  1480. 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
  1481. package/ts-source/browser-code/taon-posts/taon-related-post-chooser/i18n/taon-related-post-chooser.component.ts.en-US.po +13 -0
  1482. 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
  1483. package/ts-source/browser-code/taon-posts/taon-related-post-chooser/i18n/taon-related-post-chooser.component.ts.pl-PL.po +13 -0
  1484. package/ts-source/browser-code/taon-posts/taon-related-post-chooser/i18n/taon-related-post-chooser.translation.ts +21 -0
  1485. package/ts-source/browser-code/taon-posts/taon-related-post-chooser/index.ts +1 -1
  1486. package/ts-source/browser-code/taon-posts/taon-related-post-chooser/taon-related-post-chooser.component.html +41 -12
  1487. package/ts-source/browser-code/taon-posts/taon-related-post-chooser/taon-related-post-chooser.component.scss +1 -1
  1488. package/ts-source/browser-code/taon-posts/taon-related-post-chooser/taon-related-post-chooser.component.ts +7 -3
  1489. package/ts-source/browser-code-prod/build-info._auto-generated_.ts +2 -2
  1490. package/ts-source/browser-code-prod/decorators/taon-cms-authorization.ts +68 -0
  1491. package/ts-source/browser-code-prod/index._auto-generated_.ts +6 -4
  1492. package/ts-source/browser-code-prod/index.scss +1 -1
  1493. package/ts-source/browser-code-prod/index.ts +1 -2
  1494. package/ts-source/browser-code-prod/migrations/1792506757808_applicaitonHooks.ts +78 -0
  1495. package/ts-source/browser-code-prod/migrations/1792579000000_postPermissionInheritance.ts +36 -0
  1496. package/ts-source/browser-code-prod/migrations/index.ts +8 -1
  1497. package/ts-source/browser-code-prod/migrations/migrations_index._auto-generated_.ts +5 -3
  1498. package/ts-source/browser-code-prod/start-cli.ts +1 -1
  1499. package/ts-source/browser-code-prod/taon-cms-application-hook/taon-cms-application-hook.entity.ts +30 -0
  1500. package/ts-source/browser-code-prod/taon-cms-application-hooks.ts +20 -0
  1501. package/ts-source/browser-code-prod/taon-cms-assets-backoffice/i18n/taon-cms-asset-preview.component.html.de-DE.i18n.data.ts +47 -0
  1502. package/ts-source/browser-code-prod/taon-cms-assets-backoffice/i18n/taon-cms-asset-preview.component.html.de-DE.po +21 -0
  1503. package/ts-source/browser-code-prod/taon-cms-assets-backoffice/i18n/taon-cms-asset-preview.component.html.en-US.i18n.data.ts +47 -0
  1504. package/ts-source/browser-code-prod/taon-cms-assets-backoffice/i18n/taon-cms-asset-preview.component.html.en-US.po +21 -0
  1505. package/ts-source/browser-code-prod/taon-cms-assets-backoffice/i18n/taon-cms-asset-preview.component.html.pl-PL.i18n.data.ts +47 -0
  1506. package/ts-source/browser-code-prod/taon-cms-assets-backoffice/i18n/taon-cms-asset-preview.component.html.pl-PL.po +21 -0
  1507. package/ts-source/browser-code-prod/taon-cms-assets-backoffice/i18n/taon-cms-asset-preview.component.ts.de-DE.i18n.data.ts +35 -0
  1508. package/ts-source/browser-code-prod/taon-cms-assets-backoffice/i18n/taon-cms-asset-preview.component.ts.de-DE.po +13 -0
  1509. package/ts-source/browser-code-prod/taon-cms-assets-backoffice/i18n/taon-cms-asset-preview.component.ts.en-US.i18n.data.ts +35 -0
  1510. package/ts-source/browser-code-prod/taon-cms-assets-backoffice/i18n/taon-cms-asset-preview.component.ts.en-US.po +13 -0
  1511. package/ts-source/browser-code-prod/taon-cms-assets-backoffice/i18n/taon-cms-asset-preview.component.ts.pl-PL.i18n.data.ts +35 -0
  1512. package/ts-source/browser-code-prod/taon-cms-assets-backoffice/i18n/taon-cms-asset-preview.component.ts.pl-PL.po +13 -0
  1513. package/ts-source/browser-code-prod/taon-cms-assets-backoffice/i18n/taon-cms-assets-backoffice.component.html.de-DE.i18n.data.ts +41 -0
  1514. package/ts-source/browser-code-prod/taon-cms-assets-backoffice/i18n/taon-cms-assets-backoffice.component.html.de-DE.po +17 -0
  1515. package/ts-source/browser-code-prod/taon-cms-assets-backoffice/i18n/taon-cms-assets-backoffice.component.html.en-US.i18n.data.ts +41 -0
  1516. package/ts-source/browser-code-prod/taon-cms-assets-backoffice/i18n/taon-cms-assets-backoffice.component.html.en-US.po +17 -0
  1517. package/ts-source/browser-code-prod/taon-cms-assets-backoffice/i18n/taon-cms-assets-backoffice.component.html.pl-PL.i18n.data.ts +41 -0
  1518. package/ts-source/browser-code-prod/taon-cms-assets-backoffice/i18n/taon-cms-assets-backoffice.component.html.pl-PL.po +17 -0
  1519. package/ts-source/browser-code-prod/taon-cms-assets-backoffice/i18n/taon-cms-assets-backoffice.component.ts.de-DE.i18n.data.ts +41 -0
  1520. package/ts-source/browser-code-prod/taon-cms-assets-backoffice/i18n/taon-cms-assets-backoffice.component.ts.de-DE.po +17 -0
  1521. package/ts-source/browser-code-prod/taon-cms-assets-backoffice/i18n/taon-cms-assets-backoffice.component.ts.en-US.i18n.data.ts +41 -0
  1522. package/ts-source/browser-code-prod/taon-cms-assets-backoffice/i18n/taon-cms-assets-backoffice.component.ts.en-US.po +17 -0
  1523. package/ts-source/browser-code-prod/taon-cms-assets-backoffice/i18n/taon-cms-assets-backoffice.component.ts.pl-PL.i18n.data.ts +41 -0
  1524. package/ts-source/browser-code-prod/taon-cms-assets-backoffice/i18n/taon-cms-assets-backoffice.component.ts.pl-PL.po +17 -0
  1525. package/ts-source/browser-code-prod/taon-cms-assets-backoffice/i18n/taon-cms-assets-backoffice.translation.ts +27 -0
  1526. package/ts-source/browser-code-prod/taon-cms-assets-backoffice/taon-cms-asset-preview.component.html +57 -0
  1527. package/ts-source/browser-code-prod/taon-cms-assets-backoffice/taon-cms-asset-preview.component.scss +22 -0
  1528. package/ts-source/browser-code-prod/taon-cms-assets-backoffice/taon-cms-asset-preview.component.ts +79 -0
  1529. package/ts-source/browser-code-prod/taon-cms-assets-backoffice/taon-cms-assets-backoffice.component.html +42 -0
  1530. package/ts-source/browser-code-prod/taon-cms-assets-backoffice/taon-cms-assets-backoffice.component.ts +60 -19
  1531. package/ts-source/browser-code-prod/taon-cms-assets-backoffice/taon-cms-assets-backoffice.routes.ts +1 -1
  1532. package/ts-source/browser-code-prod/taon-cms-backoffice/i18n/taon-cms-backoffice.component.html.de-DE.i18n.data.ts +29 -0
  1533. package/ts-source/browser-code-prod/taon-cms-backoffice/i18n/taon-cms-backoffice.component.html.de-DE.po +9 -0
  1534. package/ts-source/browser-code-prod/taon-cms-backoffice/i18n/taon-cms-backoffice.component.html.en-US.i18n.data.ts +29 -0
  1535. package/ts-source/browser-code-prod/taon-cms-backoffice/i18n/taon-cms-backoffice.component.html.en-US.po +9 -0
  1536. package/ts-source/browser-code-prod/taon-cms-backoffice/i18n/taon-cms-backoffice.component.html.pl-PL.i18n.data.ts +29 -0
  1537. package/ts-source/browser-code-prod/taon-cms-backoffice/i18n/taon-cms-backoffice.component.html.pl-PL.po +9 -0
  1538. package/ts-source/browser-code-prod/taon-cms-backoffice/i18n/taon-cms-backoffice.component.ts.de-DE.i18n.data.ts +19 -0
  1539. package/ts-source/browser-code-prod/taon-cms-backoffice/i18n/taon-cms-backoffice.component.ts.de-DE.po +5 -0
  1540. package/ts-source/browser-code-prod/taon-cms-backoffice/i18n/taon-cms-backoffice.component.ts.en-US.i18n.data.ts +19 -0
  1541. package/ts-source/browser-code-prod/taon-cms-backoffice/i18n/taon-cms-backoffice.component.ts.en-US.po +5 -0
  1542. package/ts-source/browser-code-prod/taon-cms-backoffice/i18n/taon-cms-backoffice.component.ts.pl-PL.i18n.data.ts +19 -0
  1543. package/ts-source/browser-code-prod/taon-cms-backoffice/i18n/taon-cms-backoffice.component.ts.pl-PL.po +5 -0
  1544. package/ts-source/browser-code-prod/taon-cms-backoffice/i18n/taon-cms-backoffice.routes.ts.de-DE.i18n.data.ts +35 -0
  1545. package/ts-source/browser-code-prod/taon-cms-backoffice/i18n/taon-cms-backoffice.routes.ts.de-DE.po +13 -0
  1546. package/ts-source/browser-code-prod/taon-cms-backoffice/i18n/taon-cms-backoffice.routes.ts.en-US.i18n.data.ts +35 -0
  1547. package/ts-source/browser-code-prod/taon-cms-backoffice/i18n/taon-cms-backoffice.routes.ts.en-US.po +13 -0
  1548. package/ts-source/browser-code-prod/taon-cms-backoffice/i18n/taon-cms-backoffice.routes.ts.pl-PL.i18n.data.ts +35 -0
  1549. package/ts-source/browser-code-prod/taon-cms-backoffice/i18n/taon-cms-backoffice.routes.ts.pl-PL.po +13 -0
  1550. package/ts-source/browser-code-prod/taon-cms-backoffice/i18n/taon-cms-backoffice.translation.ts +24 -0
  1551. package/ts-source/browser-code-prod/taon-cms-backoffice/index.ts +1 -1
  1552. package/ts-source/browser-code-prod/taon-cms-backoffice/taon-cms-backoffice.component.html +4 -2
  1553. package/ts-source/browser-code-prod/taon-cms-backoffice/taon-cms-backoffice.component.scss +1 -1
  1554. package/ts-source/browser-code-prod/taon-cms-backoffice/taon-cms-backoffice.component.ts +5 -1
  1555. package/ts-source/browser-code-prod/taon-cms-backoffice/taon-cms-backoffice.models.ts +1 -1
  1556. package/ts-source/browser-code-prod/taon-cms-backoffice/taon-cms-backoffice.routes.ts +13 -4
  1557. package/ts-source/browser-code-prod/taon-cms-category/index.ts +1 -1
  1558. package/ts-source/browser-code-prod/taon-cms-category/taon-cms-category-api.service.ts +2 -2
  1559. package/ts-source/browser-code-prod/taon-cms-category/taon-cms-category.abstract.context.ts +1 -1
  1560. package/ts-source/browser-code-prod/taon-cms-category/taon-cms-category.constants.ts +1 -1
  1561. package/ts-source/browser-code-prod/taon-cms-category/taon-cms-category.controller.ts +1 -1
  1562. package/ts-source/browser-code-prod/taon-cms-category/taon-cms-category.entity.ts +1 -1
  1563. package/ts-source/browser-code-prod/taon-cms-category/taon-cms-category.middleware.ts +1 -1
  1564. package/ts-source/browser-code-prod/taon-cms-category/taon-cms-category.models.ts +1 -1
  1565. package/ts-source/browser-code-prod/taon-cms-category/taon-cms-category.provider.ts +1 -1
  1566. package/ts-source/browser-code-prod/taon-cms-category/taon-cms-category.repository.ts +1 -1
  1567. package/ts-source/browser-code-prod/taon-cms-category/taon-cms-category.subscriber.ts +1 -1
  1568. package/ts-source/browser-code-prod/taon-cms-category/taon-cms-category.utils.ts +1 -1
  1569. package/ts-source/browser-code-prod/taon-cms-comment/index.ts +1 -1
  1570. package/ts-source/browser-code-prod/taon-cms-comment/taon-cms-comment-api.service.ts +2 -2
  1571. package/ts-source/browser-code-prod/taon-cms-comment/taon-cms-comment.abstract.context.ts +1 -1
  1572. package/ts-source/browser-code-prod/taon-cms-comment/taon-cms-comment.constants.ts +1 -1
  1573. package/ts-source/browser-code-prod/taon-cms-comment/taon-cms-comment.controller.ts +1 -1
  1574. package/ts-source/browser-code-prod/taon-cms-comment/taon-cms-comment.entity.ts +1 -1
  1575. package/ts-source/browser-code-prod/taon-cms-comment/taon-cms-comment.middleware.ts +1 -1
  1576. package/ts-source/browser-code-prod/taon-cms-comment/taon-cms-comment.models.ts +1 -1
  1577. package/ts-source/browser-code-prod/taon-cms-comment/taon-cms-comment.provider.ts +1 -1
  1578. package/ts-source/browser-code-prod/taon-cms-comment/taon-cms-comment.repository.ts +1 -1
  1579. package/ts-source/browser-code-prod/taon-cms-comment/taon-cms-comment.subscriber.ts +1 -1
  1580. package/ts-source/browser-code-prod/taon-cms-comment/taon-cms-comment.utils.ts +1 -1
  1581. package/ts-source/browser-code-prod/taon-cms-content/i18n/taon-cms-content-storage.controller.ts.de-DE.i18n.data.ts +29 -0
  1582. package/ts-source/browser-code-prod/taon-cms-content/i18n/taon-cms-content-storage.controller.ts.de-DE.po +9 -0
  1583. package/ts-source/browser-code-prod/taon-cms-content/i18n/taon-cms-content-storage.controller.ts.en-US.i18n.data.ts +29 -0
  1584. package/ts-source/browser-code-prod/taon-cms-content/i18n/taon-cms-content-storage.controller.ts.en-US.po +9 -0
  1585. package/ts-source/browser-code-prod/taon-cms-content/i18n/taon-cms-content-storage.controller.ts.pl-PL.i18n.data.ts +29 -0
  1586. package/ts-source/browser-code-prod/taon-cms-content/i18n/taon-cms-content-storage.controller.ts.pl-PL.po +9 -0
  1587. package/ts-source/browser-code-prod/taon-cms-content/i18n/taon-cms-content.controller.ts.de-DE.i18n.data.ts +59 -0
  1588. package/ts-source/browser-code-prod/taon-cms-content/i18n/taon-cms-content.controller.ts.de-DE.po +29 -0
  1589. package/ts-source/browser-code-prod/taon-cms-content/i18n/taon-cms-content.controller.ts.en-US.i18n.data.ts +59 -0
  1590. package/ts-source/browser-code-prod/taon-cms-content/i18n/taon-cms-content.controller.ts.en-US.po +29 -0
  1591. package/ts-source/browser-code-prod/taon-cms-content/i18n/taon-cms-content.controller.ts.pl-PL.i18n.data.ts +59 -0
  1592. package/ts-source/browser-code-prod/taon-cms-content/i18n/taon-cms-content.controller.ts.pl-PL.po +29 -0
  1593. package/ts-source/browser-code-prod/taon-cms-content/i18n/taon-cms-content.translation.split-namespaces.json +4 -0
  1594. package/ts-source/browser-code-prod/taon-cms-content/i18n/taon-cms-content.translation.ts +21 -0
  1595. package/ts-source/browser-code-prod/taon-cms-content/index.ts +1 -1
  1596. package/ts-source/browser-code-prod/taon-cms-content/taon-cms-content-api.service.ts +103 -16
  1597. package/ts-source/browser-code-prod/taon-cms-content/taon-cms-content-storage.controller.ts +39 -8
  1598. package/ts-source/browser-code-prod/taon-cms-content/taon-cms-content.abstract.context.ts +3 -2
  1599. package/ts-source/browser-code-prod/taon-cms-content/taon-cms-content.config.service.ts +1 -1
  1600. package/ts-source/browser-code-prod/taon-cms-content/taon-cms-content.constants.ts +1 -1
  1601. package/ts-source/browser-code-prod/taon-cms-content/taon-cms-content.controller.ts +96 -6
  1602. package/ts-source/browser-code-prod/taon-cms-content/taon-cms-content.entity.ts +5 -2
  1603. package/ts-source/browser-code-prod/taon-cms-content/taon-cms-content.middleware.ts +1 -1
  1604. package/ts-source/browser-code-prod/taon-cms-content/taon-cms-content.models.ts +13 -1
  1605. package/ts-source/browser-code-prod/taon-cms-content/taon-cms-content.provider.ts +1 -1
  1606. package/ts-source/browser-code-prod/taon-cms-content/taon-cms-content.repository.ts +44 -5
  1607. package/ts-source/browser-code-prod/taon-cms-content/taon-cms-content.subscriber.ts +1 -1
  1608. package/ts-source/browser-code-prod/taon-cms-content/taon-cms-content.utils.ts +1 -1
  1609. package/ts-source/browser-code-prod/taon-cms-content/taon-cms-content.validation.ts +10 -2
  1610. package/ts-source/browser-code-prod/taon-cms-content/taon-cms-upload-progress.split-namespaces.json +4 -0
  1611. package/ts-source/browser-code-prod/taon-cms-content/taon-cms-upload-progress.ts +85 -0
  1612. package/ts-source/browser-code-prod/taon-cms-content-asset/index.ts +1 -1
  1613. package/ts-source/browser-code-prod/taon-cms-content-asset/taon-cms-content-asset-api.service.ts +6 -4
  1614. package/ts-source/browser-code-prod/taon-cms-content-asset/taon-cms-content-asset.abstract.context.ts +1 -1
  1615. package/ts-source/browser-code-prod/taon-cms-content-asset/taon-cms-content-asset.constants.ts +1 -1
  1616. package/ts-source/browser-code-prod/taon-cms-content-asset/taon-cms-content-asset.controller.ts +1 -1
  1617. package/ts-source/browser-code-prod/taon-cms-content-asset/taon-cms-content-asset.entity.ts +1 -1
  1618. package/ts-source/browser-code-prod/taon-cms-content-asset/taon-cms-content-asset.middleware.ts +1 -1
  1619. package/ts-source/browser-code-prod/taon-cms-content-asset/taon-cms-content-asset.models.ts +1 -1
  1620. package/ts-source/browser-code-prod/taon-cms-content-asset/taon-cms-content-asset.provider.ts +1 -1
  1621. package/ts-source/browser-code-prod/taon-cms-content-asset/taon-cms-content-asset.repository.ts +1 -1
  1622. package/ts-source/browser-code-prod/taon-cms-content-asset/taon-cms-content-asset.subscriber.ts +1 -1
  1623. package/ts-source/browser-code-prod/taon-cms-content-asset/taon-cms-content-asset.utils.ts +1 -1
  1624. package/ts-source/browser-code-prod/taon-cms-content-permission/index.ts +1 -1
  1625. package/ts-source/browser-code-prod/taon-cms-content-permission/taon-cms-content-permission-api.service.ts +6 -4
  1626. package/ts-source/browser-code-prod/taon-cms-content-permission/taon-cms-content-permission.abstract.context.ts +1 -1
  1627. package/ts-source/browser-code-prod/taon-cms-content-permission/taon-cms-content-permission.constants.ts +1 -1
  1628. package/ts-source/browser-code-prod/taon-cms-content-permission/taon-cms-content-permission.controller.ts +1 -1
  1629. package/ts-source/browser-code-prod/taon-cms-content-permission/taon-cms-content-permission.entity.ts +1 -1
  1630. package/ts-source/browser-code-prod/taon-cms-content-permission/taon-cms-content-permission.middleware.ts +1 -1
  1631. package/ts-source/browser-code-prod/taon-cms-content-permission/taon-cms-content-permission.models.ts +1 -1
  1632. package/ts-source/browser-code-prod/taon-cms-content-permission/taon-cms-content-permission.provider.ts +1 -1
  1633. package/ts-source/browser-code-prod/taon-cms-content-permission/taon-cms-content-permission.repository.ts +1 -1
  1634. package/ts-source/browser-code-prod/taon-cms-content-permission/taon-cms-content-permission.subscriber.ts +1 -1
  1635. package/ts-source/browser-code-prod/taon-cms-content-permission/taon-cms-content-permission.utils.ts +1 -1
  1636. package/ts-source/browser-code-prod/taon-cms-content-revision/index.ts +1 -1
  1637. package/ts-source/browser-code-prod/taon-cms-content-revision/taon-cms-content-revision-api.service.ts +4 -5
  1638. package/ts-source/browser-code-prod/taon-cms-content-revision/taon-cms-content-revision.abstract.context.ts +1 -1
  1639. package/ts-source/browser-code-prod/taon-cms-content-revision/taon-cms-content-revision.constants.ts +1 -1
  1640. package/ts-source/browser-code-prod/taon-cms-content-revision/taon-cms-content-revision.controller.ts +1 -1
  1641. package/ts-source/browser-code-prod/taon-cms-content-revision/taon-cms-content-revision.entity.ts +1 -1
  1642. package/ts-source/browser-code-prod/taon-cms-content-revision/taon-cms-content-revision.middleware.ts +1 -1
  1643. package/ts-source/browser-code-prod/taon-cms-content-revision/taon-cms-content-revision.models.ts +1 -1
  1644. package/ts-source/browser-code-prod/taon-cms-content-revision/taon-cms-content-revision.provider.ts +1 -1
  1645. package/ts-source/browser-code-prod/taon-cms-content-revision/taon-cms-content-revision.repository.ts +1 -1
  1646. package/ts-source/browser-code-prod/taon-cms-content-revision/taon-cms-content-revision.subscriber.ts +1 -1
  1647. package/ts-source/browser-code-prod/taon-cms-content-revision/taon-cms-content-revision.utils.ts +1 -1
  1648. package/ts-source/browser-code-prod/taon-cms-content-tag/index.ts +1 -1
  1649. package/ts-source/browser-code-prod/taon-cms-content-tag/taon-cms-content-tag-api.service.ts +2 -2
  1650. package/ts-source/browser-code-prod/taon-cms-content-tag/taon-cms-content-tag.abstract.context.ts +1 -1
  1651. package/ts-source/browser-code-prod/taon-cms-content-tag/taon-cms-content-tag.constants.ts +1 -1
  1652. package/ts-source/browser-code-prod/taon-cms-content-tag/taon-cms-content-tag.controller.ts +1 -1
  1653. package/ts-source/browser-code-prod/taon-cms-content-tag/taon-cms-content-tag.entity.ts +1 -1
  1654. package/ts-source/browser-code-prod/taon-cms-content-tag/taon-cms-content-tag.middleware.ts +1 -1
  1655. package/ts-source/browser-code-prod/taon-cms-content-tag/taon-cms-content-tag.models.ts +1 -1
  1656. package/ts-source/browser-code-prod/taon-cms-content-tag/taon-cms-content-tag.provider.ts +1 -1
  1657. package/ts-source/browser-code-prod/taon-cms-content-tag/taon-cms-content-tag.repository.ts +1 -1
  1658. package/ts-source/browser-code-prod/taon-cms-content-tag/taon-cms-content-tag.subscriber.ts +1 -1
  1659. package/ts-source/browser-code-prod/taon-cms-content-tag/taon-cms-content-tag.utils.ts +1 -1
  1660. package/ts-source/browser-code-prod/taon-cms-tag/index.ts +1 -1
  1661. package/ts-source/browser-code-prod/taon-cms-tag/taon-cms-tag-api.service.ts +2 -8
  1662. package/ts-source/browser-code-prod/taon-cms-tag/taon-cms-tag.abstract.context.ts +1 -1
  1663. package/ts-source/browser-code-prod/taon-cms-tag/taon-cms-tag.constants.ts +1 -1
  1664. package/ts-source/browser-code-prod/taon-cms-tag/taon-cms-tag.controller.ts +1 -1
  1665. package/ts-source/browser-code-prod/taon-cms-tag/taon-cms-tag.entity.ts +1 -1
  1666. package/ts-source/browser-code-prod/taon-cms-tag/taon-cms-tag.middleware.ts +1 -1
  1667. package/ts-source/browser-code-prod/taon-cms-tag/taon-cms-tag.models.ts +1 -1
  1668. package/ts-source/browser-code-prod/taon-cms-tag/taon-cms-tag.provider.ts +1 -1
  1669. package/ts-source/browser-code-prod/taon-cms-tag/taon-cms-tag.repository.ts +1 -1
  1670. package/ts-source/browser-code-prod/taon-cms-tag/taon-cms-tag.subscriber.ts +1 -1
  1671. package/ts-source/browser-code-prod/taon-cms-tag/taon-cms-tag.utils.ts +1 -1
  1672. package/ts-source/browser-code-prod/taon-cms.abstract.context.ts +1 -1
  1673. package/ts-source/browser-code-prod/taon-posts/taon-cms-post/i18n/taon-cms-post.component.html.de-DE.i18n.data.ts +309 -0
  1674. package/ts-source/browser-code-prod/taon-posts/taon-cms-post/i18n/taon-cms-post.component.html.de-DE.po +177 -0
  1675. package/ts-source/browser-code-prod/taon-posts/taon-cms-post/i18n/taon-cms-post.component.html.en-US.i18n.data.ts +309 -0
  1676. package/ts-source/browser-code-prod/taon-posts/taon-cms-post/i18n/taon-cms-post.component.html.en-US.po +177 -0
  1677. package/ts-source/browser-code-prod/taon-posts/taon-cms-post/i18n/taon-cms-post.component.html.pl-PL.i18n.data.ts +309 -0
  1678. package/ts-source/browser-code-prod/taon-posts/taon-cms-post/i18n/taon-cms-post.component.html.pl-PL.po +177 -0
  1679. package/ts-source/browser-code-prod/taon-posts/taon-cms-post/i18n/taon-cms-post.component.ts.de-DE.i18n.data.ts +184 -0
  1680. package/ts-source/browser-code-prod/taon-posts/taon-cms-post/i18n/taon-cms-post.component.ts.de-DE.po +110 -0
  1681. package/ts-source/browser-code-prod/taon-posts/taon-cms-post/i18n/taon-cms-post.component.ts.en-US.i18n.data.ts +181 -0
  1682. package/ts-source/browser-code-prod/taon-posts/taon-cms-post/i18n/taon-cms-post.component.ts.en-US.po +110 -0
  1683. package/ts-source/browser-code-prod/taon-posts/taon-cms-post/i18n/taon-cms-post.component.ts.pl-PL.i18n.data.ts +184 -0
  1684. package/ts-source/browser-code-prod/taon-posts/taon-cms-post/i18n/taon-cms-post.component.ts.pl-PL.po +110 -0
  1685. package/ts-source/browser-code-prod/taon-posts/taon-cms-post/i18n/taon-cms-post.translation.split-namespaces.json +4 -0
  1686. package/ts-source/browser-code-prod/taon-posts/taon-cms-post/i18n/taon-cms-post.translation.ts +21 -0
  1687. package/ts-source/browser-code-prod/taon-posts/taon-cms-post/index.ts +1 -1
  1688. package/ts-source/browser-code-prod/taon-posts/taon-cms-post/taon-cms-editable.directive.ts +1 -1
  1689. package/ts-source/browser-code-prod/taon-posts/taon-cms-post/taon-cms-post.component.html +394 -57
  1690. package/ts-source/browser-code-prod/taon-posts/taon-cms-post/taon-cms-post.component.scss +17 -1
  1691. package/ts-source/browser-code-prod/taon-posts/taon-cms-post/taon-cms-post.component.ts +304 -36
  1692. package/ts-source/browser-code-prod/taon-posts/taon-cms-post/taon-cms-post.models.ts +1 -1
  1693. package/ts-source/browser-code-prod/taon-posts/taon-cms-post/taon-cms-post.routes.ts +1 -1
  1694. 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
  1695. 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
  1696. 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
  1697. 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
  1698. 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
  1699. 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
  1700. 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
  1701. package/ts-source/browser-code-prod/taon-posts/taon-cms-post-details-page/i18n/taon-cms-post-details-page.translation.ts +18 -0
  1702. package/ts-source/browser-code-prod/taon-posts/taon-cms-post-details-page/taon-cms-post-details-page.component.ts +10 -2
  1703. 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
  1704. 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
  1705. 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
  1706. 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
  1707. 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
  1708. 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
  1709. 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
  1710. 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
  1711. 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
  1712. 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
  1713. 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
  1714. 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
  1715. 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
  1716. package/ts-source/browser-code-prod/taon-posts/taon-cms-post-edit-dialog/i18n/taon-cms-post-edit-dialog.translation.ts +21 -0
  1717. package/ts-source/browser-code-prod/taon-posts/taon-cms-post-edit-dialog/index.ts +1 -1
  1718. package/ts-source/browser-code-prod/taon-posts/taon-cms-post-edit-dialog/taon-cms-post-edit-dialog.component.html +10 -3
  1719. package/ts-source/browser-code-prod/taon-posts/taon-cms-post-edit-dialog/taon-cms-post-edit-dialog.component.scss +1 -1
  1720. package/ts-source/browser-code-prod/taon-posts/taon-cms-post-edit-dialog/taon-cms-post-edit-dialog.component.ts +11 -2
  1721. 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
  1722. package/ts-source/browser-code-prod/taon-posts/taon-cms-posts-backoffice/i18n/taon-cms-posts-backoffice.component.html.de-DE.po +13 -0
  1723. 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
  1724. package/ts-source/browser-code-prod/taon-posts/taon-cms-posts-backoffice/i18n/taon-cms-posts-backoffice.component.html.en-US.po +13 -0
  1725. 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
  1726. package/ts-source/browser-code-prod/taon-posts/taon-cms-posts-backoffice/i18n/taon-cms-posts-backoffice.component.html.pl-PL.po +13 -0
  1727. 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
  1728. package/ts-source/browser-code-prod/taon-posts/taon-cms-posts-backoffice/i18n/taon-cms-posts-backoffice.component.ts.de-DE.po +49 -0
  1729. 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
  1730. package/ts-source/browser-code-prod/taon-posts/taon-cms-posts-backoffice/i18n/taon-cms-posts-backoffice.component.ts.en-US.po +49 -0
  1731. 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
  1732. package/ts-source/browser-code-prod/taon-posts/taon-cms-posts-backoffice/i18n/taon-cms-posts-backoffice.component.ts.pl-PL.po +49 -0
  1733. 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
  1734. package/ts-source/browser-code-prod/taon-posts/taon-cms-posts-backoffice/i18n/taon-cms-posts-backoffice.routes.ts.de-DE.po +13 -0
  1735. 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
  1736. package/ts-source/browser-code-prod/taon-posts/taon-cms-posts-backoffice/i18n/taon-cms-posts-backoffice.routes.ts.en-US.po +13 -0
  1737. 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
  1738. package/ts-source/browser-code-prod/taon-posts/taon-cms-posts-backoffice/i18n/taon-cms-posts-backoffice.routes.ts.pl-PL.po +13 -0
  1739. package/ts-source/browser-code-prod/taon-posts/taon-cms-posts-backoffice/i18n/taon-cms-posts-backoffice.translation.split-namespaces.json +4 -0
  1740. package/ts-source/browser-code-prod/taon-posts/taon-cms-posts-backoffice/i18n/taon-cms-posts-backoffice.translation.ts +24 -0
  1741. package/ts-source/browser-code-prod/taon-posts/taon-cms-posts-backoffice/index.ts +1 -1
  1742. package/ts-source/browser-code-prod/taon-posts/taon-cms-posts-backoffice/taon-cms-posts-backoffice.component.html +3 -3
  1743. package/ts-source/browser-code-prod/taon-posts/taon-cms-posts-backoffice/taon-cms-posts-backoffice.component.scss +1 -1
  1744. package/ts-source/browser-code-prod/taon-posts/taon-cms-posts-backoffice/taon-cms-posts-backoffice.component.ts +17 -13
  1745. package/ts-source/browser-code-prod/taon-posts/taon-cms-posts-backoffice/taon-cms-posts-backoffice.models.ts +1 -1
  1746. package/ts-source/browser-code-prod/taon-posts/taon-cms-posts-backoffice/taon-cms-posts-backoffice.routes.ts +8 -6
  1747. 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
  1748. package/ts-source/browser-code-prod/taon-posts/taon-cms-revision-chooser/i18n/taon-cms-revision-chooser.component.html.de-DE.po +50 -0
  1749. 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
  1750. package/ts-source/browser-code-prod/taon-posts/taon-cms-revision-chooser/i18n/taon-cms-revision-chooser.component.html.en-US.po +50 -0
  1751. 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
  1752. package/ts-source/browser-code-prod/taon-posts/taon-cms-revision-chooser/i18n/taon-cms-revision-chooser.component.html.pl-PL.po +50 -0
  1753. 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
  1754. package/ts-source/browser-code-prod/taon-posts/taon-cms-revision-chooser/i18n/taon-cms-revision-chooser.component.ts.de-DE.po +17 -0
  1755. 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
  1756. package/ts-source/browser-code-prod/taon-posts/taon-cms-revision-chooser/i18n/taon-cms-revision-chooser.component.ts.en-US.po +17 -0
  1757. 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
  1758. package/ts-source/browser-code-prod/taon-posts/taon-cms-revision-chooser/i18n/taon-cms-revision-chooser.component.ts.pl-PL.po +17 -0
  1759. package/ts-source/browser-code-prod/taon-posts/taon-cms-revision-chooser/i18n/taon-cms-revision-chooser.translation.split-namespaces.json +4 -0
  1760. package/ts-source/browser-code-prod/taon-posts/taon-cms-revision-chooser/i18n/taon-cms-revision-chooser.translation.ts +21 -0
  1761. package/ts-source/browser-code-prod/taon-posts/taon-cms-revision-chooser/index.ts +1 -1
  1762. package/ts-source/browser-code-prod/taon-posts/taon-cms-revision-chooser/taon-cms-revision-chooser.component.html +56 -15
  1763. package/ts-source/browser-code-prod/taon-posts/taon-cms-revision-chooser/taon-cms-revision-chooser.component.scss +1 -1
  1764. package/ts-source/browser-code-prod/taon-posts/taon-cms-revision-chooser/taon-cms-revision-chooser.component.ts +17 -8
  1765. 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
  1766. package/ts-source/browser-code-prod/taon-posts/taon-related-post-chooser/i18n/taon-related-post-chooser.component.html.de-DE.po +30 -0
  1767. 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
  1768. package/ts-source/browser-code-prod/taon-posts/taon-related-post-chooser/i18n/taon-related-post-chooser.component.html.en-US.po +30 -0
  1769. 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
  1770. package/ts-source/browser-code-prod/taon-posts/taon-related-post-chooser/i18n/taon-related-post-chooser.component.html.pl-PL.po +30 -0
  1771. 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
  1772. package/ts-source/browser-code-prod/taon-posts/taon-related-post-chooser/i18n/taon-related-post-chooser.component.ts.de-DE.po +13 -0
  1773. 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
  1774. package/ts-source/browser-code-prod/taon-posts/taon-related-post-chooser/i18n/taon-related-post-chooser.component.ts.en-US.po +13 -0
  1775. 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
  1776. package/ts-source/browser-code-prod/taon-posts/taon-related-post-chooser/i18n/taon-related-post-chooser.component.ts.pl-PL.po +13 -0
  1777. package/ts-source/browser-code-prod/taon-posts/taon-related-post-chooser/i18n/taon-related-post-chooser.translation.split-namespaces.json +4 -0
  1778. package/ts-source/browser-code-prod/taon-posts/taon-related-post-chooser/i18n/taon-related-post-chooser.translation.ts +21 -0
  1779. package/ts-source/browser-code-prod/taon-posts/taon-related-post-chooser/index.ts +1 -1
  1780. package/ts-source/browser-code-prod/taon-posts/taon-related-post-chooser/taon-related-post-chooser.component.html +41 -12
  1781. package/ts-source/browser-code-prod/taon-posts/taon-related-post-chooser/taon-related-post-chooser.component.scss +1 -1
  1782. package/ts-source/browser-code-prod/taon-posts/taon-related-post-chooser/taon-related-post-chooser.component.ts +7 -3
  1783. package/ts-source/websql-code/build-info._auto-generated_.ts +2 -2
  1784. package/ts-source/websql-code/decorators/taon-cms-authorization.ts +103 -0
  1785. package/ts-source/websql-code/index._auto-generated_.ts +6 -4
  1786. package/ts-source/websql-code/index.scss +1 -1
  1787. package/ts-source/websql-code/index.ts +1 -2
  1788. package/ts-source/websql-code/migrations/1792506757808_applicaitonHooks.ts +78 -0
  1789. package/ts-source/websql-code/migrations/1792579000000_postPermissionInheritance.ts +36 -0
  1790. package/ts-source/websql-code/migrations/index.ts +8 -1
  1791. package/ts-source/websql-code/migrations/migrations_index._auto-generated_.ts +5 -3
  1792. package/ts-source/websql-code/start-cli.ts +1 -1
  1793. package/ts-source/websql-code/taon-cms-application-hook/taon-cms-application-hook.entity.ts +30 -0
  1794. package/ts-source/websql-code/taon-cms-application-hooks.ts +20 -0
  1795. package/ts-source/websql-code/taon-cms-assets-backoffice/i18n/taon-cms-asset-preview.component.html.de-DE.i18n.data.ts +47 -0
  1796. package/ts-source/websql-code/taon-cms-assets-backoffice/i18n/taon-cms-asset-preview.component.html.de-DE.po +21 -0
  1797. package/ts-source/websql-code/taon-cms-assets-backoffice/i18n/taon-cms-asset-preview.component.html.en-US.i18n.data.ts +47 -0
  1798. package/ts-source/websql-code/taon-cms-assets-backoffice/i18n/taon-cms-asset-preview.component.html.en-US.po +21 -0
  1799. package/ts-source/websql-code/taon-cms-assets-backoffice/i18n/taon-cms-asset-preview.component.html.pl-PL.i18n.data.ts +47 -0
  1800. package/ts-source/websql-code/taon-cms-assets-backoffice/i18n/taon-cms-asset-preview.component.html.pl-PL.po +21 -0
  1801. package/ts-source/websql-code/taon-cms-assets-backoffice/i18n/taon-cms-asset-preview.component.ts.de-DE.i18n.data.ts +35 -0
  1802. package/ts-source/websql-code/taon-cms-assets-backoffice/i18n/taon-cms-asset-preview.component.ts.de-DE.po +13 -0
  1803. package/ts-source/websql-code/taon-cms-assets-backoffice/i18n/taon-cms-asset-preview.component.ts.en-US.i18n.data.ts +35 -0
  1804. package/ts-source/websql-code/taon-cms-assets-backoffice/i18n/taon-cms-asset-preview.component.ts.en-US.po +13 -0
  1805. package/ts-source/websql-code/taon-cms-assets-backoffice/i18n/taon-cms-asset-preview.component.ts.pl-PL.i18n.data.ts +35 -0
  1806. package/ts-source/websql-code/taon-cms-assets-backoffice/i18n/taon-cms-asset-preview.component.ts.pl-PL.po +13 -0
  1807. package/ts-source/websql-code/taon-cms-assets-backoffice/i18n/taon-cms-assets-backoffice.component.html.de-DE.i18n.data.ts +41 -0
  1808. package/ts-source/websql-code/taon-cms-assets-backoffice/i18n/taon-cms-assets-backoffice.component.html.de-DE.po +17 -0
  1809. package/ts-source/websql-code/taon-cms-assets-backoffice/i18n/taon-cms-assets-backoffice.component.html.en-US.i18n.data.ts +41 -0
  1810. package/ts-source/websql-code/taon-cms-assets-backoffice/i18n/taon-cms-assets-backoffice.component.html.en-US.po +17 -0
  1811. package/ts-source/websql-code/taon-cms-assets-backoffice/i18n/taon-cms-assets-backoffice.component.html.pl-PL.i18n.data.ts +41 -0
  1812. package/ts-source/websql-code/taon-cms-assets-backoffice/i18n/taon-cms-assets-backoffice.component.html.pl-PL.po +17 -0
  1813. package/ts-source/websql-code/taon-cms-assets-backoffice/i18n/taon-cms-assets-backoffice.component.ts.de-DE.i18n.data.ts +41 -0
  1814. package/ts-source/websql-code/taon-cms-assets-backoffice/i18n/taon-cms-assets-backoffice.component.ts.de-DE.po +17 -0
  1815. package/ts-source/websql-code/taon-cms-assets-backoffice/i18n/taon-cms-assets-backoffice.component.ts.en-US.i18n.data.ts +41 -0
  1816. package/ts-source/websql-code/taon-cms-assets-backoffice/i18n/taon-cms-assets-backoffice.component.ts.en-US.po +17 -0
  1817. package/ts-source/websql-code/taon-cms-assets-backoffice/i18n/taon-cms-assets-backoffice.component.ts.pl-PL.i18n.data.ts +41 -0
  1818. package/ts-source/websql-code/taon-cms-assets-backoffice/i18n/taon-cms-assets-backoffice.component.ts.pl-PL.po +17 -0
  1819. package/ts-source/websql-code/taon-cms-assets-backoffice/i18n/taon-cms-assets-backoffice.translation.ts +27 -0
  1820. package/ts-source/websql-code/taon-cms-assets-backoffice/taon-cms-asset-preview.component.html +57 -0
  1821. package/ts-source/websql-code/taon-cms-assets-backoffice/taon-cms-asset-preview.component.scss +22 -0
  1822. package/ts-source/websql-code/taon-cms-assets-backoffice/taon-cms-asset-preview.component.ts +79 -0
  1823. package/ts-source/websql-code/taon-cms-assets-backoffice/taon-cms-assets-backoffice.component.html +42 -0
  1824. package/ts-source/websql-code/taon-cms-assets-backoffice/taon-cms-assets-backoffice.component.ts +60 -19
  1825. package/ts-source/websql-code/taon-cms-assets-backoffice/taon-cms-assets-backoffice.routes.ts +1 -1
  1826. package/ts-source/websql-code/taon-cms-backoffice/i18n/taon-cms-backoffice.component.html.de-DE.i18n.data.ts +29 -0
  1827. package/ts-source/websql-code/taon-cms-backoffice/i18n/taon-cms-backoffice.component.html.de-DE.po +9 -0
  1828. package/ts-source/websql-code/taon-cms-backoffice/i18n/taon-cms-backoffice.component.html.en-US.i18n.data.ts +29 -0
  1829. package/ts-source/websql-code/taon-cms-backoffice/i18n/taon-cms-backoffice.component.html.en-US.po +9 -0
  1830. package/ts-source/websql-code/taon-cms-backoffice/i18n/taon-cms-backoffice.component.html.pl-PL.i18n.data.ts +29 -0
  1831. package/ts-source/websql-code/taon-cms-backoffice/i18n/taon-cms-backoffice.component.html.pl-PL.po +9 -0
  1832. package/ts-source/websql-code/taon-cms-backoffice/i18n/taon-cms-backoffice.component.ts.de-DE.i18n.data.ts +19 -0
  1833. package/ts-source/websql-code/taon-cms-backoffice/i18n/taon-cms-backoffice.component.ts.de-DE.po +5 -0
  1834. package/ts-source/websql-code/taon-cms-backoffice/i18n/taon-cms-backoffice.component.ts.en-US.i18n.data.ts +19 -0
  1835. package/ts-source/websql-code/taon-cms-backoffice/i18n/taon-cms-backoffice.component.ts.en-US.po +5 -0
  1836. package/ts-source/websql-code/taon-cms-backoffice/i18n/taon-cms-backoffice.component.ts.pl-PL.i18n.data.ts +19 -0
  1837. package/ts-source/websql-code/taon-cms-backoffice/i18n/taon-cms-backoffice.component.ts.pl-PL.po +5 -0
  1838. package/ts-source/websql-code/taon-cms-backoffice/i18n/taon-cms-backoffice.routes.ts.de-DE.i18n.data.ts +35 -0
  1839. package/ts-source/websql-code/taon-cms-backoffice/i18n/taon-cms-backoffice.routes.ts.de-DE.po +13 -0
  1840. package/ts-source/websql-code/taon-cms-backoffice/i18n/taon-cms-backoffice.routes.ts.en-US.i18n.data.ts +35 -0
  1841. package/ts-source/websql-code/taon-cms-backoffice/i18n/taon-cms-backoffice.routes.ts.en-US.po +13 -0
  1842. package/ts-source/websql-code/taon-cms-backoffice/i18n/taon-cms-backoffice.routes.ts.pl-PL.i18n.data.ts +35 -0
  1843. package/ts-source/websql-code/taon-cms-backoffice/i18n/taon-cms-backoffice.routes.ts.pl-PL.po +13 -0
  1844. package/ts-source/websql-code/taon-cms-backoffice/i18n/taon-cms-backoffice.translation.ts +24 -0
  1845. package/ts-source/websql-code/taon-cms-backoffice/index.ts +1 -1
  1846. package/ts-source/websql-code/taon-cms-backoffice/taon-cms-backoffice.component.html +4 -2
  1847. package/ts-source/websql-code/taon-cms-backoffice/taon-cms-backoffice.component.scss +1 -1
  1848. package/ts-source/websql-code/taon-cms-backoffice/taon-cms-backoffice.component.ts +5 -1
  1849. package/ts-source/websql-code/taon-cms-backoffice/taon-cms-backoffice.models.ts +1 -1
  1850. package/ts-source/websql-code/taon-cms-backoffice/taon-cms-backoffice.routes.ts +13 -4
  1851. package/ts-source/websql-code/taon-cms-category/index.ts +1 -1
  1852. package/ts-source/websql-code/taon-cms-category/taon-cms-category-api.service.ts +2 -2
  1853. package/ts-source/websql-code/taon-cms-category/taon-cms-category.abstract.context.ts +1 -1
  1854. package/ts-source/websql-code/taon-cms-category/taon-cms-category.constants.ts +1 -1
  1855. package/ts-source/websql-code/taon-cms-category/taon-cms-category.controller.ts +1 -1
  1856. package/ts-source/websql-code/taon-cms-category/taon-cms-category.entity.ts +1 -1
  1857. package/ts-source/websql-code/taon-cms-category/taon-cms-category.middleware.ts +1 -1
  1858. package/ts-source/websql-code/taon-cms-category/taon-cms-category.models.ts +1 -1
  1859. package/ts-source/websql-code/taon-cms-category/taon-cms-category.provider.ts +1 -1
  1860. package/ts-source/websql-code/taon-cms-category/taon-cms-category.repository.ts +1 -1
  1861. package/ts-source/websql-code/taon-cms-category/taon-cms-category.subscriber.ts +1 -1
  1862. package/ts-source/websql-code/taon-cms-category/taon-cms-category.utils.ts +1 -1
  1863. package/ts-source/websql-code/taon-cms-comment/index.ts +1 -1
  1864. package/ts-source/websql-code/taon-cms-comment/taon-cms-comment-api.service.ts +2 -2
  1865. package/ts-source/websql-code/taon-cms-comment/taon-cms-comment.abstract.context.ts +1 -1
  1866. package/ts-source/websql-code/taon-cms-comment/taon-cms-comment.constants.ts +1 -1
  1867. package/ts-source/websql-code/taon-cms-comment/taon-cms-comment.controller.ts +1 -1
  1868. package/ts-source/websql-code/taon-cms-comment/taon-cms-comment.entity.ts +1 -1
  1869. package/ts-source/websql-code/taon-cms-comment/taon-cms-comment.middleware.ts +1 -1
  1870. package/ts-source/websql-code/taon-cms-comment/taon-cms-comment.models.ts +1 -1
  1871. package/ts-source/websql-code/taon-cms-comment/taon-cms-comment.provider.ts +1 -1
  1872. package/ts-source/websql-code/taon-cms-comment/taon-cms-comment.repository.ts +1 -1
  1873. package/ts-source/websql-code/taon-cms-comment/taon-cms-comment.subscriber.ts +1 -1
  1874. package/ts-source/websql-code/taon-cms-comment/taon-cms-comment.utils.ts +1 -1
  1875. package/ts-source/websql-code/taon-cms-content/i18n/taon-cms-content-storage.controller.ts.de-DE.i18n.data.ts +29 -0
  1876. package/ts-source/websql-code/taon-cms-content/i18n/taon-cms-content-storage.controller.ts.de-DE.po +9 -0
  1877. package/ts-source/websql-code/taon-cms-content/i18n/taon-cms-content-storage.controller.ts.en-US.i18n.data.ts +29 -0
  1878. package/ts-source/websql-code/taon-cms-content/i18n/taon-cms-content-storage.controller.ts.en-US.po +9 -0
  1879. package/ts-source/websql-code/taon-cms-content/i18n/taon-cms-content-storage.controller.ts.pl-PL.i18n.data.ts +29 -0
  1880. package/ts-source/websql-code/taon-cms-content/i18n/taon-cms-content-storage.controller.ts.pl-PL.po +9 -0
  1881. package/ts-source/websql-code/taon-cms-content/i18n/taon-cms-content.controller.ts.de-DE.i18n.data.ts +59 -0
  1882. package/ts-source/websql-code/taon-cms-content/i18n/taon-cms-content.controller.ts.de-DE.po +29 -0
  1883. package/ts-source/websql-code/taon-cms-content/i18n/taon-cms-content.controller.ts.en-US.i18n.data.ts +59 -0
  1884. package/ts-source/websql-code/taon-cms-content/i18n/taon-cms-content.controller.ts.en-US.po +29 -0
  1885. package/ts-source/websql-code/taon-cms-content/i18n/taon-cms-content.controller.ts.pl-PL.i18n.data.ts +59 -0
  1886. package/ts-source/websql-code/taon-cms-content/i18n/taon-cms-content.controller.ts.pl-PL.po +29 -0
  1887. package/ts-source/websql-code/taon-cms-content/i18n/taon-cms-content.translation.ts +21 -0
  1888. package/ts-source/websql-code/taon-cms-content/index.ts +1 -1
  1889. package/ts-source/websql-code/taon-cms-content/taon-cms-content-api.service.ts +103 -16
  1890. package/ts-source/websql-code/taon-cms-content/taon-cms-content-storage.controller.ts +55 -8
  1891. package/ts-source/websql-code/taon-cms-content/taon-cms-content.abstract.context.ts +3 -2
  1892. package/ts-source/websql-code/taon-cms-content/taon-cms-content.config.service.ts +1 -1
  1893. package/ts-source/websql-code/taon-cms-content/taon-cms-content.constants.ts +1 -1
  1894. package/ts-source/websql-code/taon-cms-content/taon-cms-content.controller.ts +161 -6
  1895. package/ts-source/websql-code/taon-cms-content/taon-cms-content.entity.ts +7 -2
  1896. package/ts-source/websql-code/taon-cms-content/taon-cms-content.middleware.ts +1 -1
  1897. package/ts-source/websql-code/taon-cms-content/taon-cms-content.models.ts +13 -1
  1898. package/ts-source/websql-code/taon-cms-content/taon-cms-content.provider.ts +1 -1
  1899. package/ts-source/websql-code/taon-cms-content/taon-cms-content.repository.ts +185 -13
  1900. package/ts-source/websql-code/taon-cms-content/taon-cms-content.subscriber.ts +1 -1
  1901. package/ts-source/websql-code/taon-cms-content/taon-cms-content.utils.ts +1 -1
  1902. package/ts-source/websql-code/taon-cms-content/taon-cms-content.validation.ts +10 -2
  1903. package/ts-source/websql-code/taon-cms-content/taon-cms-upload-progress.ts +85 -0
  1904. package/ts-source/websql-code/taon-cms-content-asset/index.ts +1 -1
  1905. package/ts-source/websql-code/taon-cms-content-asset/taon-cms-content-asset-api.service.ts +6 -4
  1906. package/ts-source/websql-code/taon-cms-content-asset/taon-cms-content-asset.abstract.context.ts +1 -1
  1907. package/ts-source/websql-code/taon-cms-content-asset/taon-cms-content-asset.constants.ts +1 -1
  1908. package/ts-source/websql-code/taon-cms-content-asset/taon-cms-content-asset.controller.ts +1 -1
  1909. package/ts-source/websql-code/taon-cms-content-asset/taon-cms-content-asset.entity.ts +1 -1
  1910. package/ts-source/websql-code/taon-cms-content-asset/taon-cms-content-asset.middleware.ts +1 -1
  1911. package/ts-source/websql-code/taon-cms-content-asset/taon-cms-content-asset.models.ts +1 -1
  1912. package/ts-source/websql-code/taon-cms-content-asset/taon-cms-content-asset.provider.ts +1 -1
  1913. package/ts-source/websql-code/taon-cms-content-asset/taon-cms-content-asset.repository.ts +1 -1
  1914. package/ts-source/websql-code/taon-cms-content-asset/taon-cms-content-asset.subscriber.ts +1 -1
  1915. package/ts-source/websql-code/taon-cms-content-asset/taon-cms-content-asset.utils.ts +1 -1
  1916. package/ts-source/websql-code/taon-cms-content-permission/index.ts +1 -1
  1917. package/ts-source/websql-code/taon-cms-content-permission/taon-cms-content-permission-api.service.ts +6 -4
  1918. package/ts-source/websql-code/taon-cms-content-permission/taon-cms-content-permission.abstract.context.ts +1 -1
  1919. package/ts-source/websql-code/taon-cms-content-permission/taon-cms-content-permission.constants.ts +1 -1
  1920. package/ts-source/websql-code/taon-cms-content-permission/taon-cms-content-permission.controller.ts +1 -1
  1921. package/ts-source/websql-code/taon-cms-content-permission/taon-cms-content-permission.entity.ts +1 -1
  1922. package/ts-source/websql-code/taon-cms-content-permission/taon-cms-content-permission.middleware.ts +1 -1
  1923. package/ts-source/websql-code/taon-cms-content-permission/taon-cms-content-permission.models.ts +1 -1
  1924. package/ts-source/websql-code/taon-cms-content-permission/taon-cms-content-permission.provider.ts +1 -1
  1925. package/ts-source/websql-code/taon-cms-content-permission/taon-cms-content-permission.repository.ts +1 -1
  1926. package/ts-source/websql-code/taon-cms-content-permission/taon-cms-content-permission.subscriber.ts +1 -1
  1927. package/ts-source/websql-code/taon-cms-content-permission/taon-cms-content-permission.utils.ts +1 -1
  1928. package/ts-source/websql-code/taon-cms-content-revision/index.ts +1 -1
  1929. package/ts-source/websql-code/taon-cms-content-revision/taon-cms-content-revision-api.service.ts +4 -5
  1930. package/ts-source/websql-code/taon-cms-content-revision/taon-cms-content-revision.abstract.context.ts +1 -1
  1931. package/ts-source/websql-code/taon-cms-content-revision/taon-cms-content-revision.constants.ts +1 -1
  1932. package/ts-source/websql-code/taon-cms-content-revision/taon-cms-content-revision.controller.ts +1 -1
  1933. package/ts-source/websql-code/taon-cms-content-revision/taon-cms-content-revision.entity.ts +1 -1
  1934. package/ts-source/websql-code/taon-cms-content-revision/taon-cms-content-revision.middleware.ts +1 -1
  1935. package/ts-source/websql-code/taon-cms-content-revision/taon-cms-content-revision.models.ts +1 -1
  1936. package/ts-source/websql-code/taon-cms-content-revision/taon-cms-content-revision.provider.ts +1 -1
  1937. package/ts-source/websql-code/taon-cms-content-revision/taon-cms-content-revision.repository.ts +1 -1
  1938. package/ts-source/websql-code/taon-cms-content-revision/taon-cms-content-revision.subscriber.ts +1 -1
  1939. package/ts-source/websql-code/taon-cms-content-revision/taon-cms-content-revision.utils.ts +1 -1
  1940. package/ts-source/websql-code/taon-cms-content-tag/index.ts +1 -1
  1941. package/ts-source/websql-code/taon-cms-content-tag/taon-cms-content-tag-api.service.ts +2 -2
  1942. package/ts-source/websql-code/taon-cms-content-tag/taon-cms-content-tag.abstract.context.ts +1 -1
  1943. package/ts-source/websql-code/taon-cms-content-tag/taon-cms-content-tag.constants.ts +1 -1
  1944. package/ts-source/websql-code/taon-cms-content-tag/taon-cms-content-tag.controller.ts +1 -1
  1945. package/ts-source/websql-code/taon-cms-content-tag/taon-cms-content-tag.entity.ts +1 -1
  1946. package/ts-source/websql-code/taon-cms-content-tag/taon-cms-content-tag.middleware.ts +1 -1
  1947. package/ts-source/websql-code/taon-cms-content-tag/taon-cms-content-tag.models.ts +1 -1
  1948. package/ts-source/websql-code/taon-cms-content-tag/taon-cms-content-tag.provider.ts +1 -1
  1949. package/ts-source/websql-code/taon-cms-content-tag/taon-cms-content-tag.repository.ts +1 -1
  1950. package/ts-source/websql-code/taon-cms-content-tag/taon-cms-content-tag.subscriber.ts +1 -1
  1951. package/ts-source/websql-code/taon-cms-content-tag/taon-cms-content-tag.utils.ts +1 -1
  1952. package/ts-source/websql-code/taon-cms-tag/index.ts +1 -1
  1953. package/ts-source/websql-code/taon-cms-tag/taon-cms-tag-api.service.ts +2 -8
  1954. package/ts-source/websql-code/taon-cms-tag/taon-cms-tag.abstract.context.ts +1 -1
  1955. package/ts-source/websql-code/taon-cms-tag/taon-cms-tag.constants.ts +1 -1
  1956. package/ts-source/websql-code/taon-cms-tag/taon-cms-tag.controller.ts +1 -1
  1957. package/ts-source/websql-code/taon-cms-tag/taon-cms-tag.entity.ts +1 -1
  1958. package/ts-source/websql-code/taon-cms-tag/taon-cms-tag.middleware.ts +1 -1
  1959. package/ts-source/websql-code/taon-cms-tag/taon-cms-tag.models.ts +1 -1
  1960. package/ts-source/websql-code/taon-cms-tag/taon-cms-tag.provider.ts +1 -1
  1961. package/ts-source/websql-code/taon-cms-tag/taon-cms-tag.repository.ts +1 -1
  1962. package/ts-source/websql-code/taon-cms-tag/taon-cms-tag.subscriber.ts +1 -1
  1963. package/ts-source/websql-code/taon-cms-tag/taon-cms-tag.utils.ts +1 -1
  1964. package/ts-source/websql-code/taon-cms.abstract.context.ts +1 -1
  1965. package/ts-source/websql-code/taon-posts/taon-cms-post/i18n/taon-cms-post.component.html.de-DE.i18n.data.ts +309 -0
  1966. package/ts-source/websql-code/taon-posts/taon-cms-post/i18n/taon-cms-post.component.html.de-DE.po +177 -0
  1967. package/ts-source/websql-code/taon-posts/taon-cms-post/i18n/taon-cms-post.component.html.en-US.i18n.data.ts +309 -0
  1968. package/ts-source/websql-code/taon-posts/taon-cms-post/i18n/taon-cms-post.component.html.en-US.po +177 -0
  1969. package/ts-source/websql-code/taon-posts/taon-cms-post/i18n/taon-cms-post.component.html.pl-PL.i18n.data.ts +309 -0
  1970. package/ts-source/websql-code/taon-posts/taon-cms-post/i18n/taon-cms-post.component.html.pl-PL.po +177 -0
  1971. package/ts-source/websql-code/taon-posts/taon-cms-post/i18n/taon-cms-post.component.ts.de-DE.i18n.data.ts +184 -0
  1972. package/ts-source/websql-code/taon-posts/taon-cms-post/i18n/taon-cms-post.component.ts.de-DE.po +110 -0
  1973. package/ts-source/websql-code/taon-posts/taon-cms-post/i18n/taon-cms-post.component.ts.en-US.i18n.data.ts +181 -0
  1974. package/ts-source/websql-code/taon-posts/taon-cms-post/i18n/taon-cms-post.component.ts.en-US.po +110 -0
  1975. package/ts-source/websql-code/taon-posts/taon-cms-post/i18n/taon-cms-post.component.ts.pl-PL.i18n.data.ts +184 -0
  1976. package/ts-source/websql-code/taon-posts/taon-cms-post/i18n/taon-cms-post.component.ts.pl-PL.po +110 -0
  1977. package/ts-source/websql-code/taon-posts/taon-cms-post/i18n/taon-cms-post.translation.ts +21 -0
  1978. package/ts-source/websql-code/taon-posts/taon-cms-post/index.ts +1 -1
  1979. package/ts-source/websql-code/taon-posts/taon-cms-post/taon-cms-editable.directive.ts +1 -1
  1980. package/ts-source/websql-code/taon-posts/taon-cms-post/taon-cms-post.component.html +394 -57
  1981. package/ts-source/websql-code/taon-posts/taon-cms-post/taon-cms-post.component.scss +17 -1
  1982. package/ts-source/websql-code/taon-posts/taon-cms-post/taon-cms-post.component.ts +304 -36
  1983. package/ts-source/websql-code/taon-posts/taon-cms-post/taon-cms-post.models.ts +1 -1
  1984. package/ts-source/websql-code/taon-posts/taon-cms-post/taon-cms-post.routes.ts +1 -1
  1985. 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
  1986. 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
  1987. 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
  1988. 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
  1989. 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
  1990. 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
  1991. package/ts-source/websql-code/taon-posts/taon-cms-post-details-page/i18n/taon-cms-post-details-page.translation.ts +18 -0
  1992. package/ts-source/websql-code/taon-posts/taon-cms-post-details-page/taon-cms-post-details-page.component.ts +10 -2
  1993. 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
  1994. 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
  1995. 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
  1996. 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
  1997. 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
  1998. 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
  1999. 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
  2000. 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
  2001. 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
  2002. 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
  2003. 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
  2004. 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
  2005. package/ts-source/websql-code/taon-posts/taon-cms-post-edit-dialog/i18n/taon-cms-post-edit-dialog.translation.ts +21 -0
  2006. package/ts-source/websql-code/taon-posts/taon-cms-post-edit-dialog/index.ts +1 -1
  2007. package/ts-source/websql-code/taon-posts/taon-cms-post-edit-dialog/taon-cms-post-edit-dialog.component.html +10 -3
  2008. package/ts-source/websql-code/taon-posts/taon-cms-post-edit-dialog/taon-cms-post-edit-dialog.component.scss +1 -1
  2009. package/ts-source/websql-code/taon-posts/taon-cms-post-edit-dialog/taon-cms-post-edit-dialog.component.ts +11 -2
  2010. 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
  2011. package/ts-source/websql-code/taon-posts/taon-cms-posts-backoffice/i18n/taon-cms-posts-backoffice.component.html.de-DE.po +13 -0
  2012. 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
  2013. package/ts-source/websql-code/taon-posts/taon-cms-posts-backoffice/i18n/taon-cms-posts-backoffice.component.html.en-US.po +13 -0
  2014. 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
  2015. package/ts-source/websql-code/taon-posts/taon-cms-posts-backoffice/i18n/taon-cms-posts-backoffice.component.html.pl-PL.po +13 -0
  2016. 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
  2017. package/ts-source/websql-code/taon-posts/taon-cms-posts-backoffice/i18n/taon-cms-posts-backoffice.component.ts.de-DE.po +49 -0
  2018. 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
  2019. package/ts-source/websql-code/taon-posts/taon-cms-posts-backoffice/i18n/taon-cms-posts-backoffice.component.ts.en-US.po +49 -0
  2020. 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
  2021. package/ts-source/websql-code/taon-posts/taon-cms-posts-backoffice/i18n/taon-cms-posts-backoffice.component.ts.pl-PL.po +49 -0
  2022. 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
  2023. package/ts-source/websql-code/taon-posts/taon-cms-posts-backoffice/i18n/taon-cms-posts-backoffice.routes.ts.de-DE.po +13 -0
  2024. 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
  2025. package/ts-source/websql-code/taon-posts/taon-cms-posts-backoffice/i18n/taon-cms-posts-backoffice.routes.ts.en-US.po +13 -0
  2026. 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
  2027. package/ts-source/websql-code/taon-posts/taon-cms-posts-backoffice/i18n/taon-cms-posts-backoffice.routes.ts.pl-PL.po +13 -0
  2028. package/ts-source/websql-code/taon-posts/taon-cms-posts-backoffice/i18n/taon-cms-posts-backoffice.translation.ts +24 -0
  2029. package/ts-source/websql-code/taon-posts/taon-cms-posts-backoffice/index.ts +1 -1
  2030. package/ts-source/websql-code/taon-posts/taon-cms-posts-backoffice/taon-cms-posts-backoffice.component.html +3 -3
  2031. package/ts-source/websql-code/taon-posts/taon-cms-posts-backoffice/taon-cms-posts-backoffice.component.scss +1 -1
  2032. package/ts-source/websql-code/taon-posts/taon-cms-posts-backoffice/taon-cms-posts-backoffice.component.ts +17 -13
  2033. package/ts-source/websql-code/taon-posts/taon-cms-posts-backoffice/taon-cms-posts-backoffice.models.ts +1 -1
  2034. package/ts-source/websql-code/taon-posts/taon-cms-posts-backoffice/taon-cms-posts-backoffice.routes.ts +8 -6
  2035. 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
  2036. package/ts-source/websql-code/taon-posts/taon-cms-revision-chooser/i18n/taon-cms-revision-chooser.component.html.de-DE.po +50 -0
  2037. 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
  2038. package/ts-source/websql-code/taon-posts/taon-cms-revision-chooser/i18n/taon-cms-revision-chooser.component.html.en-US.po +50 -0
  2039. 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
  2040. package/ts-source/websql-code/taon-posts/taon-cms-revision-chooser/i18n/taon-cms-revision-chooser.component.html.pl-PL.po +50 -0
  2041. 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
  2042. package/ts-source/websql-code/taon-posts/taon-cms-revision-chooser/i18n/taon-cms-revision-chooser.component.ts.de-DE.po +17 -0
  2043. 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
  2044. package/ts-source/websql-code/taon-posts/taon-cms-revision-chooser/i18n/taon-cms-revision-chooser.component.ts.en-US.po +17 -0
  2045. 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
  2046. package/ts-source/websql-code/taon-posts/taon-cms-revision-chooser/i18n/taon-cms-revision-chooser.component.ts.pl-PL.po +17 -0
  2047. package/ts-source/websql-code/taon-posts/taon-cms-revision-chooser/i18n/taon-cms-revision-chooser.translation.ts +21 -0
  2048. package/ts-source/websql-code/taon-posts/taon-cms-revision-chooser/index.ts +1 -1
  2049. package/ts-source/websql-code/taon-posts/taon-cms-revision-chooser/taon-cms-revision-chooser.component.html +56 -15
  2050. package/ts-source/websql-code/taon-posts/taon-cms-revision-chooser/taon-cms-revision-chooser.component.scss +1 -1
  2051. package/ts-source/websql-code/taon-posts/taon-cms-revision-chooser/taon-cms-revision-chooser.component.ts +17 -8
  2052. 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
  2053. package/ts-source/websql-code/taon-posts/taon-related-post-chooser/i18n/taon-related-post-chooser.component.html.de-DE.po +30 -0
  2054. 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
  2055. package/ts-source/websql-code/taon-posts/taon-related-post-chooser/i18n/taon-related-post-chooser.component.html.en-US.po +30 -0
  2056. 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
  2057. package/ts-source/websql-code/taon-posts/taon-related-post-chooser/i18n/taon-related-post-chooser.component.html.pl-PL.po +30 -0
  2058. 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
  2059. package/ts-source/websql-code/taon-posts/taon-related-post-chooser/i18n/taon-related-post-chooser.component.ts.de-DE.po +13 -0
  2060. 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
  2061. package/ts-source/websql-code/taon-posts/taon-related-post-chooser/i18n/taon-related-post-chooser.component.ts.en-US.po +13 -0
  2062. 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
  2063. package/ts-source/websql-code/taon-posts/taon-related-post-chooser/i18n/taon-related-post-chooser.component.ts.pl-PL.po +13 -0
  2064. package/ts-source/websql-code/taon-posts/taon-related-post-chooser/i18n/taon-related-post-chooser.translation.ts +21 -0
  2065. package/ts-source/websql-code/taon-posts/taon-related-post-chooser/index.ts +1 -1
  2066. package/ts-source/websql-code/taon-posts/taon-related-post-chooser/taon-related-post-chooser.component.html +41 -12
  2067. package/ts-source/websql-code/taon-posts/taon-related-post-chooser/taon-related-post-chooser.component.scss +1 -1
  2068. package/ts-source/websql-code/taon-posts/taon-related-post-chooser/taon-related-post-chooser.component.ts +7 -3
  2069. package/ts-source/websql-code-prod/build-info._auto-generated_.ts +2 -2
  2070. package/ts-source/websql-code-prod/decorators/taon-cms-authorization.split-namespaces.json +4 -0
  2071. package/ts-source/websql-code-prod/decorators/taon-cms-authorization.ts +103 -0
  2072. package/ts-source/websql-code-prod/index._auto-generated_.ts +6 -4
  2073. package/ts-source/websql-code-prod/index.scss +1 -1
  2074. package/ts-source/websql-code-prod/index.ts +1 -2
  2075. package/ts-source/websql-code-prod/migrations/1792506757808_applicaitonHooks.split-namespaces.json +4 -0
  2076. package/ts-source/websql-code-prod/migrations/1792506757808_applicaitonHooks.ts +78 -0
  2077. package/ts-source/websql-code-prod/migrations/1792579000000_postPermissionInheritance.split-namespaces.json +4 -0
  2078. package/ts-source/websql-code-prod/migrations/1792579000000_postPermissionInheritance.ts +36 -0
  2079. package/ts-source/websql-code-prod/migrations/index.ts +8 -1
  2080. package/ts-source/websql-code-prod/migrations/migrations_index._auto-generated_.ts +5 -3
  2081. package/ts-source/websql-code-prod/start-cli.ts +1 -1
  2082. package/ts-source/websql-code-prod/taon-cms-application-hook/taon-cms-application-hook.entity.split-namespaces.json +4 -0
  2083. package/ts-source/websql-code-prod/taon-cms-application-hook/taon-cms-application-hook.entity.ts +30 -0
  2084. package/ts-source/websql-code-prod/taon-cms-application-hooks.split-namespaces.json +4 -0
  2085. package/ts-source/websql-code-prod/taon-cms-application-hooks.ts +20 -0
  2086. package/ts-source/websql-code-prod/taon-cms-assets-backoffice/i18n/taon-cms-asset-preview.component.html.de-DE.i18n.data.ts +47 -0
  2087. package/ts-source/websql-code-prod/taon-cms-assets-backoffice/i18n/taon-cms-asset-preview.component.html.de-DE.po +21 -0
  2088. package/ts-source/websql-code-prod/taon-cms-assets-backoffice/i18n/taon-cms-asset-preview.component.html.en-US.i18n.data.ts +47 -0
  2089. package/ts-source/websql-code-prod/taon-cms-assets-backoffice/i18n/taon-cms-asset-preview.component.html.en-US.po +21 -0
  2090. package/ts-source/websql-code-prod/taon-cms-assets-backoffice/i18n/taon-cms-asset-preview.component.html.pl-PL.i18n.data.ts +47 -0
  2091. package/ts-source/websql-code-prod/taon-cms-assets-backoffice/i18n/taon-cms-asset-preview.component.html.pl-PL.po +21 -0
  2092. package/ts-source/websql-code-prod/taon-cms-assets-backoffice/i18n/taon-cms-asset-preview.component.ts.de-DE.i18n.data.ts +35 -0
  2093. package/ts-source/websql-code-prod/taon-cms-assets-backoffice/i18n/taon-cms-asset-preview.component.ts.de-DE.po +13 -0
  2094. package/ts-source/websql-code-prod/taon-cms-assets-backoffice/i18n/taon-cms-asset-preview.component.ts.en-US.i18n.data.ts +35 -0
  2095. package/ts-source/websql-code-prod/taon-cms-assets-backoffice/i18n/taon-cms-asset-preview.component.ts.en-US.po +13 -0
  2096. package/ts-source/websql-code-prod/taon-cms-assets-backoffice/i18n/taon-cms-asset-preview.component.ts.pl-PL.i18n.data.ts +35 -0
  2097. package/ts-source/websql-code-prod/taon-cms-assets-backoffice/i18n/taon-cms-asset-preview.component.ts.pl-PL.po +13 -0
  2098. package/ts-source/websql-code-prod/taon-cms-assets-backoffice/i18n/taon-cms-assets-backoffice.component.html.de-DE.i18n.data.ts +41 -0
  2099. package/ts-source/websql-code-prod/taon-cms-assets-backoffice/i18n/taon-cms-assets-backoffice.component.html.de-DE.po +17 -0
  2100. package/ts-source/websql-code-prod/taon-cms-assets-backoffice/i18n/taon-cms-assets-backoffice.component.html.en-US.i18n.data.ts +41 -0
  2101. package/ts-source/websql-code-prod/taon-cms-assets-backoffice/i18n/taon-cms-assets-backoffice.component.html.en-US.po +17 -0
  2102. package/ts-source/websql-code-prod/taon-cms-assets-backoffice/i18n/taon-cms-assets-backoffice.component.html.pl-PL.i18n.data.ts +41 -0
  2103. package/ts-source/websql-code-prod/taon-cms-assets-backoffice/i18n/taon-cms-assets-backoffice.component.html.pl-PL.po +17 -0
  2104. package/ts-source/websql-code-prod/taon-cms-assets-backoffice/i18n/taon-cms-assets-backoffice.component.ts.de-DE.i18n.data.ts +41 -0
  2105. package/ts-source/websql-code-prod/taon-cms-assets-backoffice/i18n/taon-cms-assets-backoffice.component.ts.de-DE.po +17 -0
  2106. package/ts-source/websql-code-prod/taon-cms-assets-backoffice/i18n/taon-cms-assets-backoffice.component.ts.en-US.i18n.data.ts +41 -0
  2107. package/ts-source/websql-code-prod/taon-cms-assets-backoffice/i18n/taon-cms-assets-backoffice.component.ts.en-US.po +17 -0
  2108. package/ts-source/websql-code-prod/taon-cms-assets-backoffice/i18n/taon-cms-assets-backoffice.component.ts.pl-PL.i18n.data.ts +41 -0
  2109. package/ts-source/websql-code-prod/taon-cms-assets-backoffice/i18n/taon-cms-assets-backoffice.component.ts.pl-PL.po +17 -0
  2110. package/ts-source/websql-code-prod/taon-cms-assets-backoffice/i18n/taon-cms-assets-backoffice.translation.split-namespaces.json +4 -0
  2111. package/ts-source/websql-code-prod/taon-cms-assets-backoffice/i18n/taon-cms-assets-backoffice.translation.ts +27 -0
  2112. package/ts-source/websql-code-prod/taon-cms-assets-backoffice/taon-cms-asset-preview.component.html +57 -0
  2113. package/ts-source/websql-code-prod/taon-cms-assets-backoffice/taon-cms-asset-preview.component.scss +22 -0
  2114. package/ts-source/websql-code-prod/taon-cms-assets-backoffice/taon-cms-asset-preview.component.split-namespaces.json +4 -0
  2115. package/ts-source/websql-code-prod/taon-cms-assets-backoffice/taon-cms-asset-preview.component.ts +79 -0
  2116. package/ts-source/websql-code-prod/taon-cms-assets-backoffice/taon-cms-assets-backoffice.component.html +42 -0
  2117. package/ts-source/websql-code-prod/taon-cms-assets-backoffice/taon-cms-assets-backoffice.component.ts +60 -19
  2118. package/ts-source/websql-code-prod/taon-cms-assets-backoffice/taon-cms-assets-backoffice.routes.ts +1 -1
  2119. package/ts-source/websql-code-prod/taon-cms-backoffice/i18n/taon-cms-backoffice.component.html.de-DE.i18n.data.ts +29 -0
  2120. package/ts-source/websql-code-prod/taon-cms-backoffice/i18n/taon-cms-backoffice.component.html.de-DE.po +9 -0
  2121. package/ts-source/websql-code-prod/taon-cms-backoffice/i18n/taon-cms-backoffice.component.html.en-US.i18n.data.ts +29 -0
  2122. package/ts-source/websql-code-prod/taon-cms-backoffice/i18n/taon-cms-backoffice.component.html.en-US.po +9 -0
  2123. package/ts-source/websql-code-prod/taon-cms-backoffice/i18n/taon-cms-backoffice.component.html.pl-PL.i18n.data.ts +29 -0
  2124. package/ts-source/websql-code-prod/taon-cms-backoffice/i18n/taon-cms-backoffice.component.html.pl-PL.po +9 -0
  2125. package/ts-source/websql-code-prod/taon-cms-backoffice/i18n/taon-cms-backoffice.component.ts.de-DE.i18n.data.ts +19 -0
  2126. package/ts-source/websql-code-prod/taon-cms-backoffice/i18n/taon-cms-backoffice.component.ts.de-DE.po +5 -0
  2127. package/ts-source/websql-code-prod/taon-cms-backoffice/i18n/taon-cms-backoffice.component.ts.en-US.i18n.data.ts +19 -0
  2128. package/ts-source/websql-code-prod/taon-cms-backoffice/i18n/taon-cms-backoffice.component.ts.en-US.po +5 -0
  2129. package/ts-source/websql-code-prod/taon-cms-backoffice/i18n/taon-cms-backoffice.component.ts.pl-PL.i18n.data.ts +19 -0
  2130. package/ts-source/websql-code-prod/taon-cms-backoffice/i18n/taon-cms-backoffice.component.ts.pl-PL.po +5 -0
  2131. package/ts-source/websql-code-prod/taon-cms-backoffice/i18n/taon-cms-backoffice.routes.ts.de-DE.i18n.data.ts +35 -0
  2132. package/ts-source/websql-code-prod/taon-cms-backoffice/i18n/taon-cms-backoffice.routes.ts.de-DE.po +13 -0
  2133. package/ts-source/websql-code-prod/taon-cms-backoffice/i18n/taon-cms-backoffice.routes.ts.en-US.i18n.data.ts +35 -0
  2134. package/ts-source/websql-code-prod/taon-cms-backoffice/i18n/taon-cms-backoffice.routes.ts.en-US.po +13 -0
  2135. package/ts-source/websql-code-prod/taon-cms-backoffice/i18n/taon-cms-backoffice.routes.ts.pl-PL.i18n.data.ts +35 -0
  2136. package/ts-source/websql-code-prod/taon-cms-backoffice/i18n/taon-cms-backoffice.routes.ts.pl-PL.po +13 -0
  2137. package/ts-source/websql-code-prod/taon-cms-backoffice/i18n/taon-cms-backoffice.translation.split-namespaces.json +4 -0
  2138. package/ts-source/websql-code-prod/taon-cms-backoffice/i18n/taon-cms-backoffice.translation.ts +24 -0
  2139. package/ts-source/websql-code-prod/taon-cms-backoffice/index.ts +1 -1
  2140. package/ts-source/websql-code-prod/taon-cms-backoffice/taon-cms-backoffice.component.html +4 -2
  2141. package/ts-source/websql-code-prod/taon-cms-backoffice/taon-cms-backoffice.component.scss +1 -1
  2142. package/ts-source/websql-code-prod/taon-cms-backoffice/taon-cms-backoffice.component.ts +5 -1
  2143. package/ts-source/websql-code-prod/taon-cms-backoffice/taon-cms-backoffice.models.ts +1 -1
  2144. package/ts-source/websql-code-prod/taon-cms-backoffice/taon-cms-backoffice.routes.ts +13 -4
  2145. package/ts-source/websql-code-prod/taon-cms-category/index.ts +1 -1
  2146. package/ts-source/websql-code-prod/taon-cms-category/taon-cms-category-api.service.ts +2 -2
  2147. package/ts-source/websql-code-prod/taon-cms-category/taon-cms-category.abstract.context.ts +1 -1
  2148. package/ts-source/websql-code-prod/taon-cms-category/taon-cms-category.constants.ts +1 -1
  2149. package/ts-source/websql-code-prod/taon-cms-category/taon-cms-category.controller.ts +1 -1
  2150. package/ts-source/websql-code-prod/taon-cms-category/taon-cms-category.entity.ts +1 -1
  2151. package/ts-source/websql-code-prod/taon-cms-category/taon-cms-category.middleware.ts +1 -1
  2152. package/ts-source/websql-code-prod/taon-cms-category/taon-cms-category.models.ts +1 -1
  2153. package/ts-source/websql-code-prod/taon-cms-category/taon-cms-category.provider.ts +1 -1
  2154. package/ts-source/websql-code-prod/taon-cms-category/taon-cms-category.repository.ts +1 -1
  2155. package/ts-source/websql-code-prod/taon-cms-category/taon-cms-category.subscriber.ts +1 -1
  2156. package/ts-source/websql-code-prod/taon-cms-category/taon-cms-category.utils.ts +1 -1
  2157. package/ts-source/websql-code-prod/taon-cms-comment/index.ts +1 -1
  2158. package/ts-source/websql-code-prod/taon-cms-comment/taon-cms-comment-api.service.ts +2 -2
  2159. package/ts-source/websql-code-prod/taon-cms-comment/taon-cms-comment.abstract.context.ts +1 -1
  2160. package/ts-source/websql-code-prod/taon-cms-comment/taon-cms-comment.constants.ts +1 -1
  2161. package/ts-source/websql-code-prod/taon-cms-comment/taon-cms-comment.controller.ts +1 -1
  2162. package/ts-source/websql-code-prod/taon-cms-comment/taon-cms-comment.entity.ts +1 -1
  2163. package/ts-source/websql-code-prod/taon-cms-comment/taon-cms-comment.middleware.ts +1 -1
  2164. package/ts-source/websql-code-prod/taon-cms-comment/taon-cms-comment.models.ts +1 -1
  2165. package/ts-source/websql-code-prod/taon-cms-comment/taon-cms-comment.provider.ts +1 -1
  2166. package/ts-source/websql-code-prod/taon-cms-comment/taon-cms-comment.repository.ts +1 -1
  2167. package/ts-source/websql-code-prod/taon-cms-comment/taon-cms-comment.subscriber.ts +1 -1
  2168. package/ts-source/websql-code-prod/taon-cms-comment/taon-cms-comment.utils.ts +1 -1
  2169. package/ts-source/websql-code-prod/taon-cms-content/i18n/taon-cms-content-storage.controller.ts.de-DE.i18n.data.ts +29 -0
  2170. package/ts-source/websql-code-prod/taon-cms-content/i18n/taon-cms-content-storage.controller.ts.de-DE.po +9 -0
  2171. package/ts-source/websql-code-prod/taon-cms-content/i18n/taon-cms-content-storage.controller.ts.en-US.i18n.data.ts +29 -0
  2172. package/ts-source/websql-code-prod/taon-cms-content/i18n/taon-cms-content-storage.controller.ts.en-US.po +9 -0
  2173. package/ts-source/websql-code-prod/taon-cms-content/i18n/taon-cms-content-storage.controller.ts.pl-PL.i18n.data.ts +29 -0
  2174. package/ts-source/websql-code-prod/taon-cms-content/i18n/taon-cms-content-storage.controller.ts.pl-PL.po +9 -0
  2175. package/ts-source/websql-code-prod/taon-cms-content/i18n/taon-cms-content.controller.ts.de-DE.i18n.data.ts +59 -0
  2176. package/ts-source/websql-code-prod/taon-cms-content/i18n/taon-cms-content.controller.ts.de-DE.po +29 -0
  2177. package/ts-source/websql-code-prod/taon-cms-content/i18n/taon-cms-content.controller.ts.en-US.i18n.data.ts +59 -0
  2178. package/ts-source/websql-code-prod/taon-cms-content/i18n/taon-cms-content.controller.ts.en-US.po +29 -0
  2179. package/ts-source/websql-code-prod/taon-cms-content/i18n/taon-cms-content.controller.ts.pl-PL.i18n.data.ts +59 -0
  2180. package/ts-source/websql-code-prod/taon-cms-content/i18n/taon-cms-content.controller.ts.pl-PL.po +29 -0
  2181. package/ts-source/websql-code-prod/taon-cms-content/i18n/taon-cms-content.translation.split-namespaces.json +4 -0
  2182. package/ts-source/websql-code-prod/taon-cms-content/i18n/taon-cms-content.translation.ts +21 -0
  2183. package/ts-source/websql-code-prod/taon-cms-content/index.ts +1 -1
  2184. package/ts-source/websql-code-prod/taon-cms-content/taon-cms-content-api.service.ts +103 -16
  2185. package/ts-source/websql-code-prod/taon-cms-content/taon-cms-content-storage.controller.ts +55 -8
  2186. package/ts-source/websql-code-prod/taon-cms-content/taon-cms-content.abstract.context.ts +3 -2
  2187. package/ts-source/websql-code-prod/taon-cms-content/taon-cms-content.config.service.ts +1 -1
  2188. package/ts-source/websql-code-prod/taon-cms-content/taon-cms-content.constants.ts +1 -1
  2189. package/ts-source/websql-code-prod/taon-cms-content/taon-cms-content.controller.ts +161 -6
  2190. package/ts-source/websql-code-prod/taon-cms-content/taon-cms-content.entity.ts +7 -2
  2191. package/ts-source/websql-code-prod/taon-cms-content/taon-cms-content.middleware.ts +1 -1
  2192. package/ts-source/websql-code-prod/taon-cms-content/taon-cms-content.models.ts +13 -1
  2193. package/ts-source/websql-code-prod/taon-cms-content/taon-cms-content.provider.ts +1 -1
  2194. package/ts-source/websql-code-prod/taon-cms-content/taon-cms-content.repository.ts +185 -13
  2195. package/ts-source/websql-code-prod/taon-cms-content/taon-cms-content.subscriber.ts +1 -1
  2196. package/ts-source/websql-code-prod/taon-cms-content/taon-cms-content.utils.ts +1 -1
  2197. package/ts-source/websql-code-prod/taon-cms-content/taon-cms-content.validation.ts +10 -2
  2198. package/ts-source/websql-code-prod/taon-cms-content/taon-cms-upload-progress.split-namespaces.json +4 -0
  2199. package/ts-source/websql-code-prod/taon-cms-content/taon-cms-upload-progress.ts +85 -0
  2200. package/ts-source/websql-code-prod/taon-cms-content-asset/index.ts +1 -1
  2201. package/ts-source/websql-code-prod/taon-cms-content-asset/taon-cms-content-asset-api.service.ts +6 -4
  2202. package/ts-source/websql-code-prod/taon-cms-content-asset/taon-cms-content-asset.abstract.context.ts +1 -1
  2203. package/ts-source/websql-code-prod/taon-cms-content-asset/taon-cms-content-asset.constants.ts +1 -1
  2204. package/ts-source/websql-code-prod/taon-cms-content-asset/taon-cms-content-asset.controller.ts +1 -1
  2205. package/ts-source/websql-code-prod/taon-cms-content-asset/taon-cms-content-asset.entity.ts +1 -1
  2206. package/ts-source/websql-code-prod/taon-cms-content-asset/taon-cms-content-asset.middleware.ts +1 -1
  2207. package/ts-source/websql-code-prod/taon-cms-content-asset/taon-cms-content-asset.models.ts +1 -1
  2208. package/ts-source/websql-code-prod/taon-cms-content-asset/taon-cms-content-asset.provider.ts +1 -1
  2209. package/ts-source/websql-code-prod/taon-cms-content-asset/taon-cms-content-asset.repository.ts +1 -1
  2210. package/ts-source/websql-code-prod/taon-cms-content-asset/taon-cms-content-asset.subscriber.ts +1 -1
  2211. package/ts-source/websql-code-prod/taon-cms-content-asset/taon-cms-content-asset.utils.ts +1 -1
  2212. package/ts-source/websql-code-prod/taon-cms-content-permission/index.ts +1 -1
  2213. package/ts-source/websql-code-prod/taon-cms-content-permission/taon-cms-content-permission-api.service.ts +6 -4
  2214. package/ts-source/websql-code-prod/taon-cms-content-permission/taon-cms-content-permission.abstract.context.ts +1 -1
  2215. package/ts-source/websql-code-prod/taon-cms-content-permission/taon-cms-content-permission.constants.ts +1 -1
  2216. package/ts-source/websql-code-prod/taon-cms-content-permission/taon-cms-content-permission.controller.ts +1 -1
  2217. package/ts-source/websql-code-prod/taon-cms-content-permission/taon-cms-content-permission.entity.ts +1 -1
  2218. package/ts-source/websql-code-prod/taon-cms-content-permission/taon-cms-content-permission.middleware.ts +1 -1
  2219. package/ts-source/websql-code-prod/taon-cms-content-permission/taon-cms-content-permission.models.ts +1 -1
  2220. package/ts-source/websql-code-prod/taon-cms-content-permission/taon-cms-content-permission.provider.ts +1 -1
  2221. package/ts-source/websql-code-prod/taon-cms-content-permission/taon-cms-content-permission.repository.ts +1 -1
  2222. package/ts-source/websql-code-prod/taon-cms-content-permission/taon-cms-content-permission.subscriber.ts +1 -1
  2223. package/ts-source/websql-code-prod/taon-cms-content-permission/taon-cms-content-permission.utils.ts +1 -1
  2224. package/ts-source/websql-code-prod/taon-cms-content-revision/index.ts +1 -1
  2225. package/ts-source/websql-code-prod/taon-cms-content-revision/taon-cms-content-revision-api.service.ts +4 -5
  2226. package/ts-source/websql-code-prod/taon-cms-content-revision/taon-cms-content-revision.abstract.context.ts +1 -1
  2227. package/ts-source/websql-code-prod/taon-cms-content-revision/taon-cms-content-revision.constants.ts +1 -1
  2228. package/ts-source/websql-code-prod/taon-cms-content-revision/taon-cms-content-revision.controller.ts +1 -1
  2229. package/ts-source/websql-code-prod/taon-cms-content-revision/taon-cms-content-revision.entity.ts +1 -1
  2230. package/ts-source/websql-code-prod/taon-cms-content-revision/taon-cms-content-revision.middleware.ts +1 -1
  2231. package/ts-source/websql-code-prod/taon-cms-content-revision/taon-cms-content-revision.models.ts +1 -1
  2232. package/ts-source/websql-code-prod/taon-cms-content-revision/taon-cms-content-revision.provider.ts +1 -1
  2233. package/ts-source/websql-code-prod/taon-cms-content-revision/taon-cms-content-revision.repository.ts +1 -1
  2234. package/ts-source/websql-code-prod/taon-cms-content-revision/taon-cms-content-revision.subscriber.ts +1 -1
  2235. package/ts-source/websql-code-prod/taon-cms-content-revision/taon-cms-content-revision.utils.ts +1 -1
  2236. package/ts-source/websql-code-prod/taon-cms-content-tag/index.ts +1 -1
  2237. package/ts-source/websql-code-prod/taon-cms-content-tag/taon-cms-content-tag-api.service.ts +2 -2
  2238. package/ts-source/websql-code-prod/taon-cms-content-tag/taon-cms-content-tag.abstract.context.ts +1 -1
  2239. package/ts-source/websql-code-prod/taon-cms-content-tag/taon-cms-content-tag.constants.ts +1 -1
  2240. package/ts-source/websql-code-prod/taon-cms-content-tag/taon-cms-content-tag.controller.ts +1 -1
  2241. package/ts-source/websql-code-prod/taon-cms-content-tag/taon-cms-content-tag.entity.ts +1 -1
  2242. package/ts-source/websql-code-prod/taon-cms-content-tag/taon-cms-content-tag.middleware.ts +1 -1
  2243. package/ts-source/websql-code-prod/taon-cms-content-tag/taon-cms-content-tag.models.ts +1 -1
  2244. package/ts-source/websql-code-prod/taon-cms-content-tag/taon-cms-content-tag.provider.ts +1 -1
  2245. package/ts-source/websql-code-prod/taon-cms-content-tag/taon-cms-content-tag.repository.ts +1 -1
  2246. package/ts-source/websql-code-prod/taon-cms-content-tag/taon-cms-content-tag.subscriber.ts +1 -1
  2247. package/ts-source/websql-code-prod/taon-cms-content-tag/taon-cms-content-tag.utils.ts +1 -1
  2248. package/ts-source/websql-code-prod/taon-cms-tag/index.ts +1 -1
  2249. package/ts-source/websql-code-prod/taon-cms-tag/taon-cms-tag-api.service.ts +2 -8
  2250. package/ts-source/websql-code-prod/taon-cms-tag/taon-cms-tag.abstract.context.ts +1 -1
  2251. package/ts-source/websql-code-prod/taon-cms-tag/taon-cms-tag.constants.ts +1 -1
  2252. package/ts-source/websql-code-prod/taon-cms-tag/taon-cms-tag.controller.ts +1 -1
  2253. package/ts-source/websql-code-prod/taon-cms-tag/taon-cms-tag.entity.ts +1 -1
  2254. package/ts-source/websql-code-prod/taon-cms-tag/taon-cms-tag.middleware.ts +1 -1
  2255. package/ts-source/websql-code-prod/taon-cms-tag/taon-cms-tag.models.ts +1 -1
  2256. package/ts-source/websql-code-prod/taon-cms-tag/taon-cms-tag.provider.ts +1 -1
  2257. package/ts-source/websql-code-prod/taon-cms-tag/taon-cms-tag.repository.ts +1 -1
  2258. package/ts-source/websql-code-prod/taon-cms-tag/taon-cms-tag.subscriber.ts +1 -1
  2259. package/ts-source/websql-code-prod/taon-cms-tag/taon-cms-tag.utils.ts +1 -1
  2260. package/ts-source/websql-code-prod/taon-cms.abstract.context.ts +1 -1
  2261. package/ts-source/websql-code-prod/taon-posts/taon-cms-post/i18n/taon-cms-post.component.html.de-DE.i18n.data.ts +309 -0
  2262. package/ts-source/websql-code-prod/taon-posts/taon-cms-post/i18n/taon-cms-post.component.html.de-DE.po +177 -0
  2263. package/ts-source/websql-code-prod/taon-posts/taon-cms-post/i18n/taon-cms-post.component.html.en-US.i18n.data.ts +309 -0
  2264. package/ts-source/websql-code-prod/taon-posts/taon-cms-post/i18n/taon-cms-post.component.html.en-US.po +177 -0
  2265. package/ts-source/websql-code-prod/taon-posts/taon-cms-post/i18n/taon-cms-post.component.html.pl-PL.i18n.data.ts +309 -0
  2266. package/ts-source/websql-code-prod/taon-posts/taon-cms-post/i18n/taon-cms-post.component.html.pl-PL.po +177 -0
  2267. package/ts-source/websql-code-prod/taon-posts/taon-cms-post/i18n/taon-cms-post.component.ts.de-DE.i18n.data.ts +184 -0
  2268. package/ts-source/websql-code-prod/taon-posts/taon-cms-post/i18n/taon-cms-post.component.ts.de-DE.po +110 -0
  2269. package/ts-source/websql-code-prod/taon-posts/taon-cms-post/i18n/taon-cms-post.component.ts.en-US.i18n.data.ts +181 -0
  2270. package/ts-source/websql-code-prod/taon-posts/taon-cms-post/i18n/taon-cms-post.component.ts.en-US.po +110 -0
  2271. package/ts-source/websql-code-prod/taon-posts/taon-cms-post/i18n/taon-cms-post.component.ts.pl-PL.i18n.data.ts +184 -0
  2272. package/ts-source/websql-code-prod/taon-posts/taon-cms-post/i18n/taon-cms-post.component.ts.pl-PL.po +110 -0
  2273. package/ts-source/websql-code-prod/taon-posts/taon-cms-post/i18n/taon-cms-post.translation.split-namespaces.json +4 -0
  2274. package/ts-source/websql-code-prod/taon-posts/taon-cms-post/i18n/taon-cms-post.translation.ts +21 -0
  2275. package/ts-source/websql-code-prod/taon-posts/taon-cms-post/index.ts +1 -1
  2276. package/ts-source/websql-code-prod/taon-posts/taon-cms-post/taon-cms-editable.directive.ts +1 -1
  2277. package/ts-source/websql-code-prod/taon-posts/taon-cms-post/taon-cms-post.component.html +394 -57
  2278. package/ts-source/websql-code-prod/taon-posts/taon-cms-post/taon-cms-post.component.scss +17 -1
  2279. package/ts-source/websql-code-prod/taon-posts/taon-cms-post/taon-cms-post.component.ts +304 -36
  2280. package/ts-source/websql-code-prod/taon-posts/taon-cms-post/taon-cms-post.models.ts +1 -1
  2281. package/ts-source/websql-code-prod/taon-posts/taon-cms-post/taon-cms-post.routes.ts +1 -1
  2282. 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
  2283. 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
  2284. 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
  2285. 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
  2286. 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
  2287. 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
  2288. 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
  2289. package/ts-source/websql-code-prod/taon-posts/taon-cms-post-details-page/i18n/taon-cms-post-details-page.translation.ts +18 -0
  2290. package/ts-source/websql-code-prod/taon-posts/taon-cms-post-details-page/taon-cms-post-details-page.component.ts +10 -2
  2291. 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
  2292. 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
  2293. 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
  2294. 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
  2295. 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
  2296. 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
  2297. 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
  2298. 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
  2299. 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
  2300. 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
  2301. 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
  2302. 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
  2303. 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
  2304. package/ts-source/websql-code-prod/taon-posts/taon-cms-post-edit-dialog/i18n/taon-cms-post-edit-dialog.translation.ts +21 -0
  2305. package/ts-source/websql-code-prod/taon-posts/taon-cms-post-edit-dialog/index.ts +1 -1
  2306. package/ts-source/websql-code-prod/taon-posts/taon-cms-post-edit-dialog/taon-cms-post-edit-dialog.component.html +10 -3
  2307. package/ts-source/websql-code-prod/taon-posts/taon-cms-post-edit-dialog/taon-cms-post-edit-dialog.component.scss +1 -1
  2308. package/ts-source/websql-code-prod/taon-posts/taon-cms-post-edit-dialog/taon-cms-post-edit-dialog.component.ts +11 -2
  2309. 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
  2310. package/ts-source/websql-code-prod/taon-posts/taon-cms-posts-backoffice/i18n/taon-cms-posts-backoffice.component.html.de-DE.po +13 -0
  2311. 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
  2312. package/ts-source/websql-code-prod/taon-posts/taon-cms-posts-backoffice/i18n/taon-cms-posts-backoffice.component.html.en-US.po +13 -0
  2313. 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
  2314. package/ts-source/websql-code-prod/taon-posts/taon-cms-posts-backoffice/i18n/taon-cms-posts-backoffice.component.html.pl-PL.po +13 -0
  2315. 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
  2316. package/ts-source/websql-code-prod/taon-posts/taon-cms-posts-backoffice/i18n/taon-cms-posts-backoffice.component.ts.de-DE.po +49 -0
  2317. 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
  2318. package/ts-source/websql-code-prod/taon-posts/taon-cms-posts-backoffice/i18n/taon-cms-posts-backoffice.component.ts.en-US.po +49 -0
  2319. 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
  2320. package/ts-source/websql-code-prod/taon-posts/taon-cms-posts-backoffice/i18n/taon-cms-posts-backoffice.component.ts.pl-PL.po +49 -0
  2321. 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
  2322. package/ts-source/websql-code-prod/taon-posts/taon-cms-posts-backoffice/i18n/taon-cms-posts-backoffice.routes.ts.de-DE.po +13 -0
  2323. 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
  2324. package/ts-source/websql-code-prod/taon-posts/taon-cms-posts-backoffice/i18n/taon-cms-posts-backoffice.routes.ts.en-US.po +13 -0
  2325. 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
  2326. package/ts-source/websql-code-prod/taon-posts/taon-cms-posts-backoffice/i18n/taon-cms-posts-backoffice.routes.ts.pl-PL.po +13 -0
  2327. package/ts-source/websql-code-prod/taon-posts/taon-cms-posts-backoffice/i18n/taon-cms-posts-backoffice.translation.split-namespaces.json +4 -0
  2328. package/ts-source/websql-code-prod/taon-posts/taon-cms-posts-backoffice/i18n/taon-cms-posts-backoffice.translation.ts +24 -0
  2329. package/ts-source/websql-code-prod/taon-posts/taon-cms-posts-backoffice/index.ts +1 -1
  2330. package/ts-source/websql-code-prod/taon-posts/taon-cms-posts-backoffice/taon-cms-posts-backoffice.component.html +3 -3
  2331. package/ts-source/websql-code-prod/taon-posts/taon-cms-posts-backoffice/taon-cms-posts-backoffice.component.scss +1 -1
  2332. package/ts-source/websql-code-prod/taon-posts/taon-cms-posts-backoffice/taon-cms-posts-backoffice.component.ts +17 -13
  2333. package/ts-source/websql-code-prod/taon-posts/taon-cms-posts-backoffice/taon-cms-posts-backoffice.models.ts +1 -1
  2334. package/ts-source/websql-code-prod/taon-posts/taon-cms-posts-backoffice/taon-cms-posts-backoffice.routes.ts +8 -6
  2335. 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
  2336. package/ts-source/websql-code-prod/taon-posts/taon-cms-revision-chooser/i18n/taon-cms-revision-chooser.component.html.de-DE.po +50 -0
  2337. 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
  2338. package/ts-source/websql-code-prod/taon-posts/taon-cms-revision-chooser/i18n/taon-cms-revision-chooser.component.html.en-US.po +50 -0
  2339. 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
  2340. package/ts-source/websql-code-prod/taon-posts/taon-cms-revision-chooser/i18n/taon-cms-revision-chooser.component.html.pl-PL.po +50 -0
  2341. 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
  2342. package/ts-source/websql-code-prod/taon-posts/taon-cms-revision-chooser/i18n/taon-cms-revision-chooser.component.ts.de-DE.po +17 -0
  2343. 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
  2344. package/ts-source/websql-code-prod/taon-posts/taon-cms-revision-chooser/i18n/taon-cms-revision-chooser.component.ts.en-US.po +17 -0
  2345. 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
  2346. package/ts-source/websql-code-prod/taon-posts/taon-cms-revision-chooser/i18n/taon-cms-revision-chooser.component.ts.pl-PL.po +17 -0
  2347. package/ts-source/websql-code-prod/taon-posts/taon-cms-revision-chooser/i18n/taon-cms-revision-chooser.translation.split-namespaces.json +4 -0
  2348. package/ts-source/websql-code-prod/taon-posts/taon-cms-revision-chooser/i18n/taon-cms-revision-chooser.translation.ts +21 -0
  2349. package/ts-source/websql-code-prod/taon-posts/taon-cms-revision-chooser/index.ts +1 -1
  2350. package/ts-source/websql-code-prod/taon-posts/taon-cms-revision-chooser/taon-cms-revision-chooser.component.html +56 -15
  2351. package/ts-source/websql-code-prod/taon-posts/taon-cms-revision-chooser/taon-cms-revision-chooser.component.scss +1 -1
  2352. package/ts-source/websql-code-prod/taon-posts/taon-cms-revision-chooser/taon-cms-revision-chooser.component.ts +17 -8
  2353. 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
  2354. package/ts-source/websql-code-prod/taon-posts/taon-related-post-chooser/i18n/taon-related-post-chooser.component.html.de-DE.po +30 -0
  2355. 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
  2356. package/ts-source/websql-code-prod/taon-posts/taon-related-post-chooser/i18n/taon-related-post-chooser.component.html.en-US.po +30 -0
  2357. 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
  2358. package/ts-source/websql-code-prod/taon-posts/taon-related-post-chooser/i18n/taon-related-post-chooser.component.html.pl-PL.po +30 -0
  2359. 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
  2360. package/ts-source/websql-code-prod/taon-posts/taon-related-post-chooser/i18n/taon-related-post-chooser.component.ts.de-DE.po +13 -0
  2361. 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
  2362. package/ts-source/websql-code-prod/taon-posts/taon-related-post-chooser/i18n/taon-related-post-chooser.component.ts.en-US.po +13 -0
  2363. 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
  2364. package/ts-source/websql-code-prod/taon-posts/taon-related-post-chooser/i18n/taon-related-post-chooser.component.ts.pl-PL.po +13 -0
  2365. package/ts-source/websql-code-prod/taon-posts/taon-related-post-chooser/i18n/taon-related-post-chooser.translation.split-namespaces.json +4 -0
  2366. package/ts-source/websql-code-prod/taon-posts/taon-related-post-chooser/i18n/taon-related-post-chooser.translation.ts +21 -0
  2367. package/ts-source/websql-code-prod/taon-posts/taon-related-post-chooser/index.ts +1 -1
  2368. package/ts-source/websql-code-prod/taon-posts/taon-related-post-chooser/taon-related-post-chooser.component.html +41 -12
  2369. package/ts-source/websql-code-prod/taon-posts/taon-related-post-chooser/taon-related-post-chooser.component.scss +1 -1
  2370. package/ts-source/websql-code-prod/taon-posts/taon-related-post-chooser/taon-related-post-chooser.component.ts +7 -3
  2371. package/websql/fesm2022/cms-websql-taon-cms-asset-preview.component.html.de-DE.i18n.data-BRUu0gBW.mjs +31 -0
  2372. package/websql/fesm2022/cms-websql-taon-cms-asset-preview.component.html.de-DE.i18n.data-BRUu0gBW.mjs.map +1 -0
  2373. package/websql/fesm2022/cms-websql-taon-cms-asset-preview.component.html.en-US.i18n.data-B9wMX_EY.mjs +31 -0
  2374. package/websql/fesm2022/cms-websql-taon-cms-asset-preview.component.html.en-US.i18n.data-B9wMX_EY.mjs.map +1 -0
  2375. package/websql/fesm2022/cms-websql-taon-cms-asset-preview.component.html.pl-PL.i18n.data-xbwXUXYs.mjs +31 -0
  2376. package/websql/fesm2022/cms-websql-taon-cms-asset-preview.component.html.pl-PL.i18n.data-xbwXUXYs.mjs.map +1 -0
  2377. package/websql/fesm2022/cms-websql-taon-cms-asset-preview.component.ts.de-DE.i18n.data-BRZcYMCv.mjs +21 -0
  2378. package/websql/fesm2022/cms-websql-taon-cms-asset-preview.component.ts.de-DE.i18n.data-BRZcYMCv.mjs.map +1 -0
  2379. package/websql/fesm2022/cms-websql-taon-cms-asset-preview.component.ts.en-US.i18n.data-CLtlIZzx.mjs +21 -0
  2380. package/websql/fesm2022/cms-websql-taon-cms-asset-preview.component.ts.en-US.i18n.data-CLtlIZzx.mjs.map +1 -0
  2381. package/websql/fesm2022/cms-websql-taon-cms-asset-preview.component.ts.pl-PL.i18n.data-CPExkT3k.mjs +21 -0
  2382. package/websql/fesm2022/cms-websql-taon-cms-asset-preview.component.ts.pl-PL.i18n.data-CPExkT3k.mjs.map +1 -0
  2383. package/websql/fesm2022/cms-websql-taon-cms-assets-backoffice.component.html.de-DE.i18n.data-Brmp2jOd.mjs +26 -0
  2384. package/websql/fesm2022/cms-websql-taon-cms-assets-backoffice.component.html.de-DE.i18n.data-Brmp2jOd.mjs.map +1 -0
  2385. package/websql/fesm2022/cms-websql-taon-cms-assets-backoffice.component.html.en-US.i18n.data-Dd97eKL6.mjs +26 -0
  2386. package/websql/fesm2022/cms-websql-taon-cms-assets-backoffice.component.html.en-US.i18n.data-Dd97eKL6.mjs.map +1 -0
  2387. package/websql/fesm2022/cms-websql-taon-cms-assets-backoffice.component.html.pl-PL.i18n.data-Bhajq1qM.mjs +26 -0
  2388. package/websql/fesm2022/cms-websql-taon-cms-assets-backoffice.component.html.pl-PL.i18n.data-Bhajq1qM.mjs.map +1 -0
  2389. package/websql/fesm2022/cms-websql-taon-cms-assets-backoffice.component.ts.de-DE.i18n.data-Cxv1uL_y.mjs +26 -0
  2390. package/websql/fesm2022/cms-websql-taon-cms-assets-backoffice.component.ts.de-DE.i18n.data-Cxv1uL_y.mjs.map +1 -0
  2391. package/websql/fesm2022/cms-websql-taon-cms-assets-backoffice.component.ts.en-US.i18n.data-Isn8nVdY.mjs +26 -0
  2392. package/websql/fesm2022/cms-websql-taon-cms-assets-backoffice.component.ts.en-US.i18n.data-Isn8nVdY.mjs.map +1 -0
  2393. package/websql/fesm2022/cms-websql-taon-cms-assets-backoffice.component.ts.pl-PL.i18n.data-DZQ_dWB0.mjs +26 -0
  2394. package/websql/fesm2022/cms-websql-taon-cms-assets-backoffice.component.ts.pl-PL.i18n.data-DZQ_dWB0.mjs.map +1 -0
  2395. package/websql/fesm2022/cms-websql-taon-cms-backoffice.component.html.de-DE.i18n.data-DQollWm9.mjs +16 -0
  2396. package/websql/fesm2022/cms-websql-taon-cms-backoffice.component.html.de-DE.i18n.data-DQollWm9.mjs.map +1 -0
  2397. package/websql/fesm2022/cms-websql-taon-cms-backoffice.component.html.en-US.i18n.data-B6WD9PJf.mjs +16 -0
  2398. package/websql/fesm2022/cms-websql-taon-cms-backoffice.component.html.en-US.i18n.data-B6WD9PJf.mjs.map +1 -0
  2399. package/websql/fesm2022/cms-websql-taon-cms-backoffice.component.html.pl-PL.i18n.data-CkJQRqG3.mjs +16 -0
  2400. package/websql/fesm2022/cms-websql-taon-cms-backoffice.component.html.pl-PL.i18n.data-CkJQRqG3.mjs.map +1 -0
  2401. package/websql/fesm2022/cms-websql-taon-cms-backoffice.component.ts.de-DE.i18n.data-DzBHONcQ.mjs +10 -0
  2402. package/websql/fesm2022/cms-websql-taon-cms-backoffice.component.ts.de-DE.i18n.data-DzBHONcQ.mjs.map +1 -0
  2403. package/websql/fesm2022/cms-websql-taon-cms-backoffice.component.ts.en-US.i18n.data-eTouqefi.mjs +10 -0
  2404. package/websql/fesm2022/cms-websql-taon-cms-backoffice.component.ts.en-US.i18n.data-eTouqefi.mjs.map +1 -0
  2405. package/websql/fesm2022/cms-websql-taon-cms-backoffice.component.ts.pl-PL.i18n.data-C8tsBZCu.mjs +10 -0
  2406. package/websql/fesm2022/cms-websql-taon-cms-backoffice.component.ts.pl-PL.i18n.data-C8tsBZCu.mjs.map +1 -0
  2407. package/websql/fesm2022/cms-websql-taon-cms-backoffice.routes.ts.de-DE.i18n.data-DLee8IHp.mjs +21 -0
  2408. package/websql/fesm2022/cms-websql-taon-cms-backoffice.routes.ts.de-DE.i18n.data-DLee8IHp.mjs.map +1 -0
  2409. package/websql/fesm2022/cms-websql-taon-cms-backoffice.routes.ts.en-US.i18n.data-Bm9mDdSW.mjs +21 -0
  2410. package/websql/fesm2022/cms-websql-taon-cms-backoffice.routes.ts.en-US.i18n.data-Bm9mDdSW.mjs.map +1 -0
  2411. package/websql/fesm2022/cms-websql-taon-cms-backoffice.routes.ts.pl-PL.i18n.data-DlhV8M8I.mjs +21 -0
  2412. package/websql/fesm2022/cms-websql-taon-cms-backoffice.routes.ts.pl-PL.i18n.data-DlhV8M8I.mjs.map +1 -0
  2413. package/websql/fesm2022/cms-websql-taon-cms-post-details-page.component.ts.de-DE.i18n.data-C3nWxKN2.mjs +16 -0
  2414. package/websql/fesm2022/cms-websql-taon-cms-post-details-page.component.ts.de-DE.i18n.data-C3nWxKN2.mjs.map +1 -0
  2415. package/websql/fesm2022/cms-websql-taon-cms-post-details-page.component.ts.en-US.i18n.data-CzHUdCUx.mjs +16 -0
  2416. package/websql/fesm2022/cms-websql-taon-cms-post-details-page.component.ts.en-US.i18n.data-CzHUdCUx.mjs.map +1 -0
  2417. package/websql/fesm2022/cms-websql-taon-cms-post-details-page.component.ts.pl-PL.i18n.data-BGjfwt-R.mjs +16 -0
  2418. package/websql/fesm2022/cms-websql-taon-cms-post-details-page.component.ts.pl-PL.i18n.data-BGjfwt-R.mjs.map +1 -0
  2419. package/websql/fesm2022/cms-websql-taon-cms-post-edit-dialog.component.html.de-DE.i18n.data-Dz5ZLwgG.mjs +21 -0
  2420. package/websql/fesm2022/cms-websql-taon-cms-post-edit-dialog.component.html.de-DE.i18n.data-Dz5ZLwgG.mjs.map +1 -0
  2421. package/websql/fesm2022/cms-websql-taon-cms-post-edit-dialog.component.html.en-US.i18n.data-Z28o4CQK.mjs +21 -0
  2422. package/websql/fesm2022/cms-websql-taon-cms-post-edit-dialog.component.html.en-US.i18n.data-Z28o4CQK.mjs.map +1 -0
  2423. package/websql/fesm2022/cms-websql-taon-cms-post-edit-dialog.component.html.pl-PL.i18n.data-Buh1Pgyd.mjs +21 -0
  2424. package/websql/fesm2022/cms-websql-taon-cms-post-edit-dialog.component.html.pl-PL.i18n.data-Buh1Pgyd.mjs.map +1 -0
  2425. package/websql/fesm2022/cms-websql-taon-cms-post-edit-dialog.component.ts.de-DE.i18n.data-D2I8Zux6.mjs +10 -0
  2426. package/websql/fesm2022/cms-websql-taon-cms-post-edit-dialog.component.ts.de-DE.i18n.data-D2I8Zux6.mjs.map +1 -0
  2427. package/websql/fesm2022/cms-websql-taon-cms-post-edit-dialog.component.ts.en-US.i18n.data-CNV_wiqy.mjs +10 -0
  2428. package/websql/fesm2022/cms-websql-taon-cms-post-edit-dialog.component.ts.en-US.i18n.data-CNV_wiqy.mjs.map +1 -0
  2429. package/websql/fesm2022/cms-websql-taon-cms-post-edit-dialog.component.ts.pl-PL.i18n.data-B3XPzty6.mjs +10 -0
  2430. package/websql/fesm2022/cms-websql-taon-cms-post-edit-dialog.component.ts.pl-PL.i18n.data-B3XPzty6.mjs.map +1 -0
  2431. package/websql/fesm2022/cms-websql-taon-cms-post.component.html.de-DE.i18n.data-Bzbm7OIO.mjs +256 -0
  2432. package/websql/fesm2022/cms-websql-taon-cms-post.component.html.de-DE.i18n.data-Bzbm7OIO.mjs.map +1 -0
  2433. package/websql/fesm2022/cms-websql-taon-cms-post.component.html.en-US.i18n.data-BADXpKlC.mjs +256 -0
  2434. package/websql/fesm2022/cms-websql-taon-cms-post.component.html.en-US.i18n.data-BADXpKlC.mjs.map +1 -0
  2435. package/websql/fesm2022/cms-websql-taon-cms-post.component.html.pl-PL.i18n.data-DyBK3Qg6.mjs +256 -0
  2436. package/websql/fesm2022/cms-websql-taon-cms-post.component.html.pl-PL.i18n.data-DyBK3Qg6.mjs.map +1 -0
  2437. package/websql/fesm2022/cms-websql-taon-cms-post.component.ts.de-DE.i18n.data-DaC7IYoM.mjs +146 -0
  2438. package/websql/fesm2022/cms-websql-taon-cms-post.component.ts.de-DE.i18n.data-DaC7IYoM.mjs.map +1 -0
  2439. package/websql/fesm2022/cms-websql-taon-cms-post.component.ts.en-US.i18n.data-BbpIRzgh.mjs +143 -0
  2440. package/websql/fesm2022/cms-websql-taon-cms-post.component.ts.en-US.i18n.data-BbpIRzgh.mjs.map +1 -0
  2441. package/websql/fesm2022/cms-websql-taon-cms-post.component.ts.pl-PL.i18n.data-Cqy96DQS.mjs +146 -0
  2442. package/websql/fesm2022/cms-websql-taon-cms-post.component.ts.pl-PL.i18n.data-Cqy96DQS.mjs.map +1 -0
  2443. package/websql/fesm2022/cms-websql-taon-cms-posts-backoffice.component.html.de-DE.i18n.data-CmScO4Pm.mjs +21 -0
  2444. package/websql/fesm2022/cms-websql-taon-cms-posts-backoffice.component.html.de-DE.i18n.data-CmScO4Pm.mjs.map +1 -0
  2445. package/websql/fesm2022/cms-websql-taon-cms-posts-backoffice.component.html.en-US.i18n.data-IKL7BZHV.mjs +21 -0
  2446. package/websql/fesm2022/cms-websql-taon-cms-posts-backoffice.component.html.en-US.i18n.data-IKL7BZHV.mjs.map +1 -0
  2447. package/websql/fesm2022/cms-websql-taon-cms-posts-backoffice.component.html.pl-PL.i18n.data-BCMo1HVU.mjs +21 -0
  2448. package/websql/fesm2022/cms-websql-taon-cms-posts-backoffice.component.html.pl-PL.i18n.data-BCMo1HVU.mjs.map +1 -0
  2449. package/websql/fesm2022/cms-websql-taon-cms-posts-backoffice.component.ts.de-DE.i18n.data-C1EPeAaF.mjs +66 -0
  2450. package/websql/fesm2022/cms-websql-taon-cms-posts-backoffice.component.ts.de-DE.i18n.data-C1EPeAaF.mjs.map +1 -0
  2451. package/websql/fesm2022/cms-websql-taon-cms-posts-backoffice.component.ts.en-US.i18n.data-C2t8zwda.mjs +66 -0
  2452. package/websql/fesm2022/cms-websql-taon-cms-posts-backoffice.component.ts.en-US.i18n.data-C2t8zwda.mjs.map +1 -0
  2453. package/websql/fesm2022/cms-websql-taon-cms-posts-backoffice.component.ts.pl-PL.i18n.data-Xehy4KUW.mjs +66 -0
  2454. package/websql/fesm2022/cms-websql-taon-cms-posts-backoffice.component.ts.pl-PL.i18n.data-Xehy4KUW.mjs.map +1 -0
  2455. package/websql/fesm2022/cms-websql-taon-cms-posts-backoffice.routes.ts.de-DE.i18n.data-CSwq8etN.mjs +21 -0
  2456. package/websql/fesm2022/cms-websql-taon-cms-posts-backoffice.routes.ts.de-DE.i18n.data-CSwq8etN.mjs.map +1 -0
  2457. package/websql/fesm2022/cms-websql-taon-cms-posts-backoffice.routes.ts.en-US.i18n.data-ayYFXvcP.mjs +21 -0
  2458. package/websql/fesm2022/cms-websql-taon-cms-posts-backoffice.routes.ts.en-US.i18n.data-ayYFXvcP.mjs.map +1 -0
  2459. package/websql/fesm2022/cms-websql-taon-cms-posts-backoffice.routes.ts.pl-PL.i18n.data-BZf6TtRS.mjs +21 -0
  2460. package/websql/fesm2022/cms-websql-taon-cms-posts-backoffice.routes.ts.pl-PL.i18n.data-BZf6TtRS.mjs.map +1 -0
  2461. package/websql/fesm2022/cms-websql-taon-cms-revision-chooser.component.html.de-DE.i18n.data-BeMa9gWH.mjs +71 -0
  2462. package/websql/fesm2022/cms-websql-taon-cms-revision-chooser.component.html.de-DE.i18n.data-BeMa9gWH.mjs.map +1 -0
  2463. package/websql/fesm2022/cms-websql-taon-cms-revision-chooser.component.html.en-US.i18n.data-BQetHhHY.mjs +71 -0
  2464. package/websql/fesm2022/cms-websql-taon-cms-revision-chooser.component.html.en-US.i18n.data-BQetHhHY.mjs.map +1 -0
  2465. package/websql/fesm2022/cms-websql-taon-cms-revision-chooser.component.html.pl-PL.i18n.data-DFyL2hhB.mjs +71 -0
  2466. package/websql/fesm2022/cms-websql-taon-cms-revision-chooser.component.html.pl-PL.i18n.data-DFyL2hhB.mjs.map +1 -0
  2467. package/websql/fesm2022/cms-websql-taon-cms-revision-chooser.component.ts.de-DE.i18n.data-C8Amkua1.mjs +26 -0
  2468. package/websql/fesm2022/cms-websql-taon-cms-revision-chooser.component.ts.de-DE.i18n.data-C8Amkua1.mjs.map +1 -0
  2469. package/websql/fesm2022/cms-websql-taon-cms-revision-chooser.component.ts.en-US.i18n.data-Q_yYYlqT.mjs +26 -0
  2470. package/websql/fesm2022/cms-websql-taon-cms-revision-chooser.component.ts.en-US.i18n.data-Q_yYYlqT.mjs.map +1 -0
  2471. package/websql/fesm2022/cms-websql-taon-cms-revision-chooser.component.ts.pl-PL.i18n.data-DS71Bpee.mjs +26 -0
  2472. package/websql/fesm2022/cms-websql-taon-cms-revision-chooser.component.ts.pl-PL.i18n.data-DS71Bpee.mjs.map +1 -0
  2473. package/websql/fesm2022/cms-websql-taon-related-post-chooser.component.html.de-DE.i18n.data-Bg2aMQRp.mjs +46 -0
  2474. package/websql/fesm2022/cms-websql-taon-related-post-chooser.component.html.de-DE.i18n.data-Bg2aMQRp.mjs.map +1 -0
  2475. package/websql/fesm2022/cms-websql-taon-related-post-chooser.component.html.en-US.i18n.data-ta4f6CoB.mjs +46 -0
  2476. package/websql/fesm2022/cms-websql-taon-related-post-chooser.component.html.en-US.i18n.data-ta4f6CoB.mjs.map +1 -0
  2477. package/websql/fesm2022/cms-websql-taon-related-post-chooser.component.html.pl-PL.i18n.data-Dw5hHPVt.mjs +46 -0
  2478. package/websql/fesm2022/cms-websql-taon-related-post-chooser.component.html.pl-PL.i18n.data-Dw5hHPVt.mjs.map +1 -0
  2479. package/websql/fesm2022/cms-websql-taon-related-post-chooser.component.ts.de-DE.i18n.data-DaAVLmDB.mjs +21 -0
  2480. package/websql/fesm2022/cms-websql-taon-related-post-chooser.component.ts.de-DE.i18n.data-DaAVLmDB.mjs.map +1 -0
  2481. package/websql/fesm2022/cms-websql-taon-related-post-chooser.component.ts.en-US.i18n.data-BHozuByI.mjs +21 -0
  2482. package/websql/fesm2022/cms-websql-taon-related-post-chooser.component.ts.en-US.i18n.data-BHozuByI.mjs.map +1 -0
  2483. package/websql/fesm2022/cms-websql-taon-related-post-chooser.component.ts.pl-PL.i18n.data-CVbRXbCE.mjs +21 -0
  2484. package/websql/fesm2022/cms-websql-taon-related-post-chooser.component.ts.pl-PL.i18n.data-CVbRXbCE.mjs.map +1 -0
  2485. package/websql/fesm2022/cms-websql.mjs +1903 -507
  2486. package/websql/fesm2022/cms-websql.mjs.map +1 -1
  2487. package/websql/package.json +1 -1
  2488. package/websql/types/cms-websql.d.ts +531 -360
  2489. package/websql-prod/fesm2022/cms-websql-prod-taon-cms-asset-preview.component.html.de-DE.i18n.data-BRUu0gBW.mjs +31 -0
  2490. package/websql-prod/fesm2022/cms-websql-prod-taon-cms-asset-preview.component.html.de-DE.i18n.data-BRUu0gBW.mjs.map +1 -0
  2491. package/websql-prod/fesm2022/cms-websql-prod-taon-cms-asset-preview.component.html.en-US.i18n.data-B9wMX_EY.mjs +31 -0
  2492. package/websql-prod/fesm2022/cms-websql-prod-taon-cms-asset-preview.component.html.en-US.i18n.data-B9wMX_EY.mjs.map +1 -0
  2493. package/websql-prod/fesm2022/cms-websql-prod-taon-cms-asset-preview.component.html.pl-PL.i18n.data-xbwXUXYs.mjs +31 -0
  2494. package/websql-prod/fesm2022/cms-websql-prod-taon-cms-asset-preview.component.html.pl-PL.i18n.data-xbwXUXYs.mjs.map +1 -0
  2495. package/websql-prod/fesm2022/cms-websql-prod-taon-cms-asset-preview.component.ts.de-DE.i18n.data-BRZcYMCv.mjs +21 -0
  2496. package/websql-prod/fesm2022/cms-websql-prod-taon-cms-asset-preview.component.ts.de-DE.i18n.data-BRZcYMCv.mjs.map +1 -0
  2497. package/websql-prod/fesm2022/cms-websql-prod-taon-cms-asset-preview.component.ts.en-US.i18n.data-CLtlIZzx.mjs +21 -0
  2498. package/websql-prod/fesm2022/cms-websql-prod-taon-cms-asset-preview.component.ts.en-US.i18n.data-CLtlIZzx.mjs.map +1 -0
  2499. package/websql-prod/fesm2022/cms-websql-prod-taon-cms-asset-preview.component.ts.pl-PL.i18n.data-CPExkT3k.mjs +21 -0
  2500. package/websql-prod/fesm2022/cms-websql-prod-taon-cms-asset-preview.component.ts.pl-PL.i18n.data-CPExkT3k.mjs.map +1 -0
  2501. package/websql-prod/fesm2022/cms-websql-prod-taon-cms-assets-backoffice.component.html.de-DE.i18n.data-Brmp2jOd.mjs +26 -0
  2502. package/websql-prod/fesm2022/cms-websql-prod-taon-cms-assets-backoffice.component.html.de-DE.i18n.data-Brmp2jOd.mjs.map +1 -0
  2503. package/websql-prod/fesm2022/cms-websql-prod-taon-cms-assets-backoffice.component.html.en-US.i18n.data-Dd97eKL6.mjs +26 -0
  2504. package/websql-prod/fesm2022/cms-websql-prod-taon-cms-assets-backoffice.component.html.en-US.i18n.data-Dd97eKL6.mjs.map +1 -0
  2505. package/websql-prod/fesm2022/cms-websql-prod-taon-cms-assets-backoffice.component.html.pl-PL.i18n.data-Bhajq1qM.mjs +26 -0
  2506. package/websql-prod/fesm2022/cms-websql-prod-taon-cms-assets-backoffice.component.html.pl-PL.i18n.data-Bhajq1qM.mjs.map +1 -0
  2507. package/websql-prod/fesm2022/cms-websql-prod-taon-cms-assets-backoffice.component.ts.de-DE.i18n.data-Cxv1uL_y.mjs +26 -0
  2508. package/websql-prod/fesm2022/cms-websql-prod-taon-cms-assets-backoffice.component.ts.de-DE.i18n.data-Cxv1uL_y.mjs.map +1 -0
  2509. package/websql-prod/fesm2022/cms-websql-prod-taon-cms-assets-backoffice.component.ts.en-US.i18n.data-Isn8nVdY.mjs +26 -0
  2510. package/websql-prod/fesm2022/cms-websql-prod-taon-cms-assets-backoffice.component.ts.en-US.i18n.data-Isn8nVdY.mjs.map +1 -0
  2511. package/websql-prod/fesm2022/cms-websql-prod-taon-cms-assets-backoffice.component.ts.pl-PL.i18n.data-DZQ_dWB0.mjs +26 -0
  2512. package/websql-prod/fesm2022/cms-websql-prod-taon-cms-assets-backoffice.component.ts.pl-PL.i18n.data-DZQ_dWB0.mjs.map +1 -0
  2513. package/websql-prod/fesm2022/cms-websql-prod-taon-cms-backoffice.component.html.de-DE.i18n.data-DQollWm9.mjs +16 -0
  2514. package/websql-prod/fesm2022/cms-websql-prod-taon-cms-backoffice.component.html.de-DE.i18n.data-DQollWm9.mjs.map +1 -0
  2515. package/websql-prod/fesm2022/cms-websql-prod-taon-cms-backoffice.component.html.en-US.i18n.data-B6WD9PJf.mjs +16 -0
  2516. package/websql-prod/fesm2022/cms-websql-prod-taon-cms-backoffice.component.html.en-US.i18n.data-B6WD9PJf.mjs.map +1 -0
  2517. package/websql-prod/fesm2022/cms-websql-prod-taon-cms-backoffice.component.html.pl-PL.i18n.data-CkJQRqG3.mjs +16 -0
  2518. package/websql-prod/fesm2022/cms-websql-prod-taon-cms-backoffice.component.html.pl-PL.i18n.data-CkJQRqG3.mjs.map +1 -0
  2519. package/websql-prod/fesm2022/cms-websql-prod-taon-cms-backoffice.component.ts.de-DE.i18n.data-DzBHONcQ.mjs +10 -0
  2520. package/websql-prod/fesm2022/cms-websql-prod-taon-cms-backoffice.component.ts.de-DE.i18n.data-DzBHONcQ.mjs.map +1 -0
  2521. package/websql-prod/fesm2022/cms-websql-prod-taon-cms-backoffice.component.ts.en-US.i18n.data-eTouqefi.mjs +10 -0
  2522. package/websql-prod/fesm2022/cms-websql-prod-taon-cms-backoffice.component.ts.en-US.i18n.data-eTouqefi.mjs.map +1 -0
  2523. package/websql-prod/fesm2022/cms-websql-prod-taon-cms-backoffice.component.ts.pl-PL.i18n.data-C8tsBZCu.mjs +10 -0
  2524. package/websql-prod/fesm2022/cms-websql-prod-taon-cms-backoffice.component.ts.pl-PL.i18n.data-C8tsBZCu.mjs.map +1 -0
  2525. package/websql-prod/fesm2022/cms-websql-prod-taon-cms-backoffice.routes.ts.de-DE.i18n.data-DLee8IHp.mjs +21 -0
  2526. package/websql-prod/fesm2022/cms-websql-prod-taon-cms-backoffice.routes.ts.de-DE.i18n.data-DLee8IHp.mjs.map +1 -0
  2527. package/websql-prod/fesm2022/cms-websql-prod-taon-cms-backoffice.routes.ts.en-US.i18n.data-Bm9mDdSW.mjs +21 -0
  2528. package/websql-prod/fesm2022/cms-websql-prod-taon-cms-backoffice.routes.ts.en-US.i18n.data-Bm9mDdSW.mjs.map +1 -0
  2529. package/websql-prod/fesm2022/cms-websql-prod-taon-cms-backoffice.routes.ts.pl-PL.i18n.data-DlhV8M8I.mjs +21 -0
  2530. package/websql-prod/fesm2022/cms-websql-prod-taon-cms-backoffice.routes.ts.pl-PL.i18n.data-DlhV8M8I.mjs.map +1 -0
  2531. package/websql-prod/fesm2022/cms-websql-prod-taon-cms-post-details-page.component.ts.de-DE.i18n.data-C3nWxKN2.mjs +16 -0
  2532. package/websql-prod/fesm2022/cms-websql-prod-taon-cms-post-details-page.component.ts.de-DE.i18n.data-C3nWxKN2.mjs.map +1 -0
  2533. package/websql-prod/fesm2022/cms-websql-prod-taon-cms-post-details-page.component.ts.en-US.i18n.data-CzHUdCUx.mjs +16 -0
  2534. package/websql-prod/fesm2022/cms-websql-prod-taon-cms-post-details-page.component.ts.en-US.i18n.data-CzHUdCUx.mjs.map +1 -0
  2535. package/websql-prod/fesm2022/cms-websql-prod-taon-cms-post-details-page.component.ts.pl-PL.i18n.data-BGjfwt-R.mjs +16 -0
  2536. package/websql-prod/fesm2022/cms-websql-prod-taon-cms-post-details-page.component.ts.pl-PL.i18n.data-BGjfwt-R.mjs.map +1 -0
  2537. package/websql-prod/fesm2022/cms-websql-prod-taon-cms-post-edit-dialog.component.html.de-DE.i18n.data-Dz5ZLwgG.mjs +21 -0
  2538. package/websql-prod/fesm2022/cms-websql-prod-taon-cms-post-edit-dialog.component.html.de-DE.i18n.data-Dz5ZLwgG.mjs.map +1 -0
  2539. package/websql-prod/fesm2022/cms-websql-prod-taon-cms-post-edit-dialog.component.html.en-US.i18n.data-Z28o4CQK.mjs +21 -0
  2540. package/websql-prod/fesm2022/cms-websql-prod-taon-cms-post-edit-dialog.component.html.en-US.i18n.data-Z28o4CQK.mjs.map +1 -0
  2541. package/websql-prod/fesm2022/cms-websql-prod-taon-cms-post-edit-dialog.component.html.pl-PL.i18n.data-Buh1Pgyd.mjs +21 -0
  2542. package/websql-prod/fesm2022/cms-websql-prod-taon-cms-post-edit-dialog.component.html.pl-PL.i18n.data-Buh1Pgyd.mjs.map +1 -0
  2543. package/websql-prod/fesm2022/cms-websql-prod-taon-cms-post-edit-dialog.component.ts.de-DE.i18n.data-D2I8Zux6.mjs +10 -0
  2544. package/websql-prod/fesm2022/cms-websql-prod-taon-cms-post-edit-dialog.component.ts.de-DE.i18n.data-D2I8Zux6.mjs.map +1 -0
  2545. package/websql-prod/fesm2022/cms-websql-prod-taon-cms-post-edit-dialog.component.ts.en-US.i18n.data-CNV_wiqy.mjs +10 -0
  2546. package/websql-prod/fesm2022/cms-websql-prod-taon-cms-post-edit-dialog.component.ts.en-US.i18n.data-CNV_wiqy.mjs.map +1 -0
  2547. package/websql-prod/fesm2022/cms-websql-prod-taon-cms-post-edit-dialog.component.ts.pl-PL.i18n.data-B3XPzty6.mjs +10 -0
  2548. package/websql-prod/fesm2022/cms-websql-prod-taon-cms-post-edit-dialog.component.ts.pl-PL.i18n.data-B3XPzty6.mjs.map +1 -0
  2549. package/websql-prod/fesm2022/cms-websql-prod-taon-cms-post.component.html.de-DE.i18n.data-Bzbm7OIO.mjs +256 -0
  2550. package/websql-prod/fesm2022/cms-websql-prod-taon-cms-post.component.html.de-DE.i18n.data-Bzbm7OIO.mjs.map +1 -0
  2551. package/websql-prod/fesm2022/cms-websql-prod-taon-cms-post.component.html.en-US.i18n.data-BADXpKlC.mjs +256 -0
  2552. package/websql-prod/fesm2022/cms-websql-prod-taon-cms-post.component.html.en-US.i18n.data-BADXpKlC.mjs.map +1 -0
  2553. package/websql-prod/fesm2022/cms-websql-prod-taon-cms-post.component.html.pl-PL.i18n.data-DyBK3Qg6.mjs +256 -0
  2554. package/websql-prod/fesm2022/cms-websql-prod-taon-cms-post.component.html.pl-PL.i18n.data-DyBK3Qg6.mjs.map +1 -0
  2555. package/websql-prod/fesm2022/cms-websql-prod-taon-cms-post.component.ts.de-DE.i18n.data-DaC7IYoM.mjs +146 -0
  2556. package/websql-prod/fesm2022/cms-websql-prod-taon-cms-post.component.ts.de-DE.i18n.data-DaC7IYoM.mjs.map +1 -0
  2557. package/websql-prod/fesm2022/cms-websql-prod-taon-cms-post.component.ts.en-US.i18n.data-BbpIRzgh.mjs +143 -0
  2558. package/websql-prod/fesm2022/cms-websql-prod-taon-cms-post.component.ts.en-US.i18n.data-BbpIRzgh.mjs.map +1 -0
  2559. package/websql-prod/fesm2022/cms-websql-prod-taon-cms-post.component.ts.pl-PL.i18n.data-Cqy96DQS.mjs +146 -0
  2560. package/websql-prod/fesm2022/cms-websql-prod-taon-cms-post.component.ts.pl-PL.i18n.data-Cqy96DQS.mjs.map +1 -0
  2561. package/websql-prod/fesm2022/cms-websql-prod-taon-cms-posts-backoffice.component.html.de-DE.i18n.data-CmScO4Pm.mjs +21 -0
  2562. package/websql-prod/fesm2022/cms-websql-prod-taon-cms-posts-backoffice.component.html.de-DE.i18n.data-CmScO4Pm.mjs.map +1 -0
  2563. package/websql-prod/fesm2022/cms-websql-prod-taon-cms-posts-backoffice.component.html.en-US.i18n.data-IKL7BZHV.mjs +21 -0
  2564. package/websql-prod/fesm2022/cms-websql-prod-taon-cms-posts-backoffice.component.html.en-US.i18n.data-IKL7BZHV.mjs.map +1 -0
  2565. package/websql-prod/fesm2022/cms-websql-prod-taon-cms-posts-backoffice.component.html.pl-PL.i18n.data-BCMo1HVU.mjs +21 -0
  2566. package/websql-prod/fesm2022/cms-websql-prod-taon-cms-posts-backoffice.component.html.pl-PL.i18n.data-BCMo1HVU.mjs.map +1 -0
  2567. package/websql-prod/fesm2022/cms-websql-prod-taon-cms-posts-backoffice.component.ts.de-DE.i18n.data-C1EPeAaF.mjs +66 -0
  2568. package/websql-prod/fesm2022/cms-websql-prod-taon-cms-posts-backoffice.component.ts.de-DE.i18n.data-C1EPeAaF.mjs.map +1 -0
  2569. package/websql-prod/fesm2022/cms-websql-prod-taon-cms-posts-backoffice.component.ts.en-US.i18n.data-C2t8zwda.mjs +66 -0
  2570. package/websql-prod/fesm2022/cms-websql-prod-taon-cms-posts-backoffice.component.ts.en-US.i18n.data-C2t8zwda.mjs.map +1 -0
  2571. package/websql-prod/fesm2022/cms-websql-prod-taon-cms-posts-backoffice.component.ts.pl-PL.i18n.data-Xehy4KUW.mjs +66 -0
  2572. package/websql-prod/fesm2022/cms-websql-prod-taon-cms-posts-backoffice.component.ts.pl-PL.i18n.data-Xehy4KUW.mjs.map +1 -0
  2573. package/websql-prod/fesm2022/cms-websql-prod-taon-cms-posts-backoffice.routes.ts.de-DE.i18n.data-CSwq8etN.mjs +21 -0
  2574. package/websql-prod/fesm2022/cms-websql-prod-taon-cms-posts-backoffice.routes.ts.de-DE.i18n.data-CSwq8etN.mjs.map +1 -0
  2575. package/websql-prod/fesm2022/cms-websql-prod-taon-cms-posts-backoffice.routes.ts.en-US.i18n.data-ayYFXvcP.mjs +21 -0
  2576. package/websql-prod/fesm2022/cms-websql-prod-taon-cms-posts-backoffice.routes.ts.en-US.i18n.data-ayYFXvcP.mjs.map +1 -0
  2577. package/websql-prod/fesm2022/cms-websql-prod-taon-cms-posts-backoffice.routes.ts.pl-PL.i18n.data-BZf6TtRS.mjs +21 -0
  2578. package/websql-prod/fesm2022/cms-websql-prod-taon-cms-posts-backoffice.routes.ts.pl-PL.i18n.data-BZf6TtRS.mjs.map +1 -0
  2579. package/websql-prod/fesm2022/cms-websql-prod-taon-cms-revision-chooser.component.html.de-DE.i18n.data-BeMa9gWH.mjs +71 -0
  2580. package/websql-prod/fesm2022/cms-websql-prod-taon-cms-revision-chooser.component.html.de-DE.i18n.data-BeMa9gWH.mjs.map +1 -0
  2581. package/websql-prod/fesm2022/cms-websql-prod-taon-cms-revision-chooser.component.html.en-US.i18n.data-BQetHhHY.mjs +71 -0
  2582. package/websql-prod/fesm2022/cms-websql-prod-taon-cms-revision-chooser.component.html.en-US.i18n.data-BQetHhHY.mjs.map +1 -0
  2583. package/websql-prod/fesm2022/cms-websql-prod-taon-cms-revision-chooser.component.html.pl-PL.i18n.data-DFyL2hhB.mjs +71 -0
  2584. package/websql-prod/fesm2022/cms-websql-prod-taon-cms-revision-chooser.component.html.pl-PL.i18n.data-DFyL2hhB.mjs.map +1 -0
  2585. package/websql-prod/fesm2022/cms-websql-prod-taon-cms-revision-chooser.component.ts.de-DE.i18n.data-C8Amkua1.mjs +26 -0
  2586. package/websql-prod/fesm2022/cms-websql-prod-taon-cms-revision-chooser.component.ts.de-DE.i18n.data-C8Amkua1.mjs.map +1 -0
  2587. package/websql-prod/fesm2022/cms-websql-prod-taon-cms-revision-chooser.component.ts.en-US.i18n.data-Q_yYYlqT.mjs +26 -0
  2588. package/websql-prod/fesm2022/cms-websql-prod-taon-cms-revision-chooser.component.ts.en-US.i18n.data-Q_yYYlqT.mjs.map +1 -0
  2589. package/websql-prod/fesm2022/cms-websql-prod-taon-cms-revision-chooser.component.ts.pl-PL.i18n.data-DS71Bpee.mjs +26 -0
  2590. package/websql-prod/fesm2022/cms-websql-prod-taon-cms-revision-chooser.component.ts.pl-PL.i18n.data-DS71Bpee.mjs.map +1 -0
  2591. package/websql-prod/fesm2022/cms-websql-prod-taon-related-post-chooser.component.html.de-DE.i18n.data-Bg2aMQRp.mjs +46 -0
  2592. package/websql-prod/fesm2022/cms-websql-prod-taon-related-post-chooser.component.html.de-DE.i18n.data-Bg2aMQRp.mjs.map +1 -0
  2593. package/websql-prod/fesm2022/cms-websql-prod-taon-related-post-chooser.component.html.en-US.i18n.data-ta4f6CoB.mjs +46 -0
  2594. package/websql-prod/fesm2022/cms-websql-prod-taon-related-post-chooser.component.html.en-US.i18n.data-ta4f6CoB.mjs.map +1 -0
  2595. package/websql-prod/fesm2022/cms-websql-prod-taon-related-post-chooser.component.html.pl-PL.i18n.data-Dw5hHPVt.mjs +46 -0
  2596. package/websql-prod/fesm2022/cms-websql-prod-taon-related-post-chooser.component.html.pl-PL.i18n.data-Dw5hHPVt.mjs.map +1 -0
  2597. package/websql-prod/fesm2022/cms-websql-prod-taon-related-post-chooser.component.ts.de-DE.i18n.data-DaAVLmDB.mjs +21 -0
  2598. package/websql-prod/fesm2022/cms-websql-prod-taon-related-post-chooser.component.ts.de-DE.i18n.data-DaAVLmDB.mjs.map +1 -0
  2599. package/websql-prod/fesm2022/cms-websql-prod-taon-related-post-chooser.component.ts.en-US.i18n.data-BHozuByI.mjs +21 -0
  2600. package/websql-prod/fesm2022/cms-websql-prod-taon-related-post-chooser.component.ts.en-US.i18n.data-BHozuByI.mjs.map +1 -0
  2601. package/websql-prod/fesm2022/cms-websql-prod-taon-related-post-chooser.component.ts.pl-PL.i18n.data-CVbRXbCE.mjs +21 -0
  2602. package/websql-prod/fesm2022/cms-websql-prod-taon-related-post-chooser.component.ts.pl-PL.i18n.data-CVbRXbCE.mjs.map +1 -0
  2603. package/websql-prod/fesm2022/cms-websql-prod.mjs +1903 -507
  2604. package/websql-prod/fesm2022/cms-websql-prod.mjs.map +1 -1
  2605. package/websql-prod/package.json +1 -1
  2606. package/websql-prod/types/cms-websql-prod.d.ts +531 -360
  2607. package/browser/fesm2022/cms-browser-my-organization-proj.ts.en-US.i18n.data-DmmrAdFK.mjs +0 -15
  2608. package/browser/fesm2022/cms-browser-my-organization-proj.ts.en-US.i18n.data-DmmrAdFK.mjs.map +0 -1
  2609. package/browser/fesm2022/cms-browser-my-organization-proj.ts.pl-PL.i18n.data-DLJyp-Bj.mjs +0 -16
  2610. package/browser/fesm2022/cms-browser-my-organization-proj.ts.pl-PL.i18n.data-DLJyp-Bj.mjs.map +0 -1
  2611. package/browser-prod/fesm2022/cms-browser-prod-my-organization-proj.ts.en-US.i18n.data-C_wk7SeG.mjs +0 -15
  2612. package/browser-prod/fesm2022/cms-browser-prod-my-organization-proj.ts.en-US.i18n.data-C_wk7SeG.mjs.map +0 -1
  2613. package/browser-prod/fesm2022/cms-browser-prod-my-organization-proj.ts.pl-PL.i18n.data-Ez3YQGdF.mjs +0 -16
  2614. package/browser-prod/fesm2022/cms-browser-prod-my-organization-proj.ts.pl-PL.i18n.data-Ez3YQGdF.mjs.map +0 -1
  2615. package/full-dts/app.data.d.ts +0 -23
  2616. package/full-dts/i18n/lib.translation.d.ts +0 -5
  2617. package/full-dts/i18n/my-organization-proj.ts.en-US.i18n.data.d.ts +0 -16
  2618. package/full-dts/i18n/my-organization-proj.ts.pl-PL.i18n.data.d.ts +0 -17
  2619. package/full-dts/migrations/1791132517216_initial.d.ts +0 -8
  2620. package/full-dts/my-organization-proj.d.ts +0 -2
  2621. package/lib/app.data.d.ts +0 -22
  2622. package/lib/app.data.js +0 -23
  2623. package/lib/app.data.js.map +0 -1
  2624. package/lib/i18n/lib.translation.d.ts +0 -4
  2625. package/lib/i18n/lib.translation.js +0 -5
  2626. package/lib/i18n/lib.translation.js.map +0 -1
  2627. package/lib/i18n/my-organization-proj.ts.en-US.i18n.data.d.ts +0 -15
  2628. package/lib/i18n/my-organization-proj.ts.en-US.i18n.data.js +0 -15
  2629. package/lib/i18n/my-organization-proj.ts.en-US.i18n.data.js.map +0 -1
  2630. package/lib/i18n/my-organization-proj.ts.pl-PL.i18n.data.d.ts +0 -16
  2631. package/lib/i18n/my-organization-proj.ts.pl-PL.i18n.data.js +0 -16
  2632. package/lib/i18n/my-organization-proj.ts.pl-PL.i18n.data.js.map +0 -1
  2633. package/lib/migrations/1791132517216_initial.d.ts +0 -7
  2634. package/lib/migrations/1791132517216_initial.js +0 -73
  2635. package/lib/migrations/1791132517216_initial.js.map +0 -1
  2636. package/lib/my-organization-proj.d.ts +0 -1
  2637. package/lib/my-organization-proj.js +0 -9
  2638. package/lib/my-organization-proj.js.map +0 -1
  2639. package/lib-esm/lib/app.data.d.ts +0 -22
  2640. package/lib-esm/lib/app.data.js +0 -20
  2641. package/lib-esm/lib/app.data.js.map +0 -1
  2642. package/lib-esm/lib/i18n/lib.translation.d.ts +0 -4
  2643. package/lib-esm/lib/i18n/lib.translation.js +0 -4
  2644. package/lib-esm/lib/i18n/lib.translation.js.map +0 -1
  2645. package/lib-esm/lib/i18n/my-organization-proj.ts.en-US.i18n.data.d.ts +0 -15
  2646. package/lib-esm/lib/i18n/my-organization-proj.ts.en-US.i18n.data.js +0 -13
  2647. package/lib-esm/lib/i18n/my-organization-proj.ts.en-US.i18n.data.js.map +0 -1
  2648. package/lib-esm/lib/i18n/my-organization-proj.ts.pl-PL.i18n.data.d.ts +0 -16
  2649. package/lib-esm/lib/i18n/my-organization-proj.ts.pl-PL.i18n.data.js +0 -14
  2650. package/lib-esm/lib/i18n/my-organization-proj.ts.pl-PL.i18n.data.js.map +0 -1
  2651. package/lib-esm/lib/migrations/1791132517216_initial.d.ts +0 -7
  2652. package/lib-esm/lib/migrations/1791132517216_initial.js +0 -64
  2653. package/lib-esm/lib/migrations/1791132517216_initial.js.map +0 -1
  2654. package/lib-esm/lib/my-organization-proj.d.ts +0 -1
  2655. package/lib-esm/lib/my-organization-proj.js +0 -6
  2656. package/lib-esm/lib/my-organization-proj.js.map +0 -1
  2657. package/lib-prod/app.data.d.ts +0 -22
  2658. package/lib-prod/app.data.js +0 -20
  2659. package/lib-prod/app.data.js.map +0 -1
  2660. package/lib-prod/i18n/lib.translation.d.ts +0 -4
  2661. package/lib-prod/i18n/lib.translation.js +0 -4
  2662. package/lib-prod/i18n/lib.translation.js.map +0 -1
  2663. package/lib-prod/i18n/my-organization-proj.ts.en-US.i18n.data.d.ts +0 -15
  2664. package/lib-prod/i18n/my-organization-proj.ts.en-US.i18n.data.js +0 -13
  2665. package/lib-prod/i18n/my-organization-proj.ts.en-US.i18n.data.js.map +0 -1
  2666. package/lib-prod/i18n/my-organization-proj.ts.pl-PL.i18n.data.d.ts +0 -16
  2667. package/lib-prod/i18n/my-organization-proj.ts.pl-PL.i18n.data.js +0 -14
  2668. package/lib-prod/i18n/my-organization-proj.ts.pl-PL.i18n.data.js.map +0 -1
  2669. package/lib-prod/migrations/1791132517216_initial.d.ts +0 -7
  2670. package/lib-prod/migrations/1791132517216_initial.js +0 -64
  2671. package/lib-prod/migrations/1791132517216_initial.js.map +0 -1
  2672. package/lib-prod/my-organization-proj.d.ts +0 -1
  2673. package/lib-prod/my-organization-proj.js +0 -6
  2674. package/lib-prod/my-organization-proj.js.map +0 -1
  2675. package/ts-source/browser-code/app.data.ts +0 -34
  2676. package/ts-source/browser-code/i18n/lib.translation.ts +0 -17
  2677. package/ts-source/browser-code/i18n/my-organization-proj.ts.en-US.i18n.data.ts +0 -28
  2678. package/ts-source/browser-code/i18n/my-organization-proj.ts.en-US.po +0 -9
  2679. package/ts-source/browser-code/i18n/my-organization-proj.ts.pl-PL.i18n.data.ts +0 -29
  2680. package/ts-source/browser-code/i18n/my-organization-proj.ts.pl-PL.po +0 -9
  2681. package/ts-source/browser-code/migrations/1791132517216_initial.ts +0 -47
  2682. package/ts-source/browser-code/my-organization-proj.ts +0 -18
  2683. package/ts-source/browser-code-prod/app.data.ts +0 -34
  2684. package/ts-source/browser-code-prod/i18n/lib.translation.ts +0 -17
  2685. package/ts-source/browser-code-prod/i18n/my-organization-proj.ts.en-US.i18n.data.ts +0 -28
  2686. package/ts-source/browser-code-prod/i18n/my-organization-proj.ts.en-US.po +0 -9
  2687. package/ts-source/browser-code-prod/i18n/my-organization-proj.ts.pl-PL.i18n.data.ts +0 -29
  2688. package/ts-source/browser-code-prod/i18n/my-organization-proj.ts.pl-PL.po +0 -9
  2689. package/ts-source/browser-code-prod/migrations/1791132517216_initial.ts +0 -47
  2690. package/ts-source/browser-code-prod/my-organization-proj.ts +0 -18
  2691. package/ts-source/websql-code/app.data.ts +0 -34
  2692. package/ts-source/websql-code/i18n/lib.translation.ts +0 -17
  2693. package/ts-source/websql-code/i18n/my-organization-proj.ts.en-US.i18n.data.ts +0 -28
  2694. package/ts-source/websql-code/i18n/my-organization-proj.ts.en-US.po +0 -9
  2695. package/ts-source/websql-code/i18n/my-organization-proj.ts.pl-PL.i18n.data.ts +0 -29
  2696. package/ts-source/websql-code/i18n/my-organization-proj.ts.pl-PL.po +0 -9
  2697. package/ts-source/websql-code/migrations/1791132517216_initial.ts +0 -47
  2698. package/ts-source/websql-code/my-organization-proj.ts +0 -18
  2699. package/ts-source/websql-code-prod/app.data.ts +0 -34
  2700. package/ts-source/websql-code-prod/i18n/lib.translation.ts +0 -17
  2701. package/ts-source/websql-code-prod/i18n/my-organization-proj.ts.en-US.i18n.data.ts +0 -28
  2702. package/ts-source/websql-code-prod/i18n/my-organization-proj.ts.en-US.po +0 -9
  2703. package/ts-source/websql-code-prod/i18n/my-organization-proj.ts.pl-PL.i18n.data.ts +0 -29
  2704. package/ts-source/websql-code-prod/i18n/my-organization-proj.ts.pl-PL.po +0 -9
  2705. package/ts-source/websql-code-prod/migrations/1791132517216_initial.ts +0 -47
  2706. package/ts-source/websql-code-prod/my-organization-proj.ts +0 -18
  2707. package/websql/fesm2022/cms-websql-my-organization-proj.ts.en-US.i18n.data-BnqooYnv.mjs +0 -15
  2708. package/websql/fesm2022/cms-websql-my-organization-proj.ts.en-US.i18n.data-BnqooYnv.mjs.map +0 -1
  2709. package/websql/fesm2022/cms-websql-my-organization-proj.ts.pl-PL.i18n.data-wMy6Ze3w.mjs +0 -16
  2710. package/websql/fesm2022/cms-websql-my-organization-proj.ts.pl-PL.i18n.data-wMy6Ze3w.mjs.map +0 -1
  2711. package/websql-prod/fesm2022/cms-websql-prod-my-organization-proj.ts.en-US.i18n.data-DOOojzJR.mjs +0 -15
  2712. package/websql-prod/fesm2022/cms-websql-prod-my-organization-proj.ts.en-US.i18n.data-DOOojzJR.mjs.map +0 -1
  2713. package/websql-prod/fesm2022/cms-websql-prod-my-organization-proj.ts.pl-PL.i18n.data-BzVDKLrA.mjs +0 -16
  2714. package/websql-prod/fesm2022/cms-websql-prod-my-organization-proj.ts.pl-PL.i18n.data-BzVDKLrA.mjs.map +0 -1
  2715. /package/ts-source/browser-code-prod/{app.data.split-namespaces.json → decorators/taon-cms-authorization.split-namespaces.json} +0 -0
  2716. /package/ts-source/browser-code-prod/{i18n/lib.translation.split-namespaces.json → migrations/1792506757808_applicaitonHooks.split-namespaces.json} +0 -0
  2717. /package/ts-source/browser-code-prod/migrations/{1791132517216_initial.split-namespaces.json → 1792579000000_postPermissionInheritance.split-namespaces.json} +0 -0
  2718. /package/ts-source/browser-code-prod/{my-organization-proj.split-namespaces.json → taon-cms-application-hook/taon-cms-application-hook.entity.split-namespaces.json} +0 -0
  2719. /package/ts-source/{websql-code-prod/app.data.split-namespaces.json → browser-code-prod/taon-cms-application-hooks.split-namespaces.json} +0 -0
  2720. /package/ts-source/{websql-code-prod/i18n/lib.translation.split-namespaces.json → browser-code-prod/taon-cms-assets-backoffice/i18n/taon-cms-assets-backoffice.translation.split-namespaces.json} +0 -0
  2721. /package/ts-source/{websql-code-prod/migrations/1791132517216_initial.split-namespaces.json → browser-code-prod/taon-cms-assets-backoffice/taon-cms-asset-preview.component.split-namespaces.json} +0 -0
  2722. /package/ts-source/{websql-code-prod/my-organization-proj.split-namespaces.json → browser-code-prod/taon-cms-backoffice/i18n/taon-cms-backoffice.translation.split-namespaces.json} +0 -0
@@ -1,126 +1,347 @@
1
1
  import { __decorate, __metadata, __param } from 'tslib';
2
- import { TaonAuthContextRepository, TaonPermissionEntity, TaonSessionAbstractContext, TaonPermissionApiService } from '@taon-dev/session/websql';
3
- import { TaonBaseMigration, TaonMigration, TaonBaseAbstractEntity, Column, TaonEntity, Taon, TaonBaseRepository, TaonRepository, TaonBaseCrudController, TaonController, TaonBaseProvider, TaonProvider, TaonBaseMiddleware, TaonMiddleware, TaonBaseSubscriberForEntity, TaonSubscriber, createContext, TaonBaseContext, TaonBaseEntity, PrimaryGeneratedColumn, ClassHelpers, GET, Query, ManyToMany, JoinTable, POST, Body, PUT, DELETE, TaonBaseStorageController, TaonBaseAngularService } from 'taon/websql';
4
- import { Translation } from '@taon-dev/i18n/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 { Raw, In } from 'taon-typeorm/websql';
10
- 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';
11
17
  import { AsyncPipe, DatePipe } from '@angular/common';
12
18
  import { RouterOutlet, ActivatedRoute, RouterLink, Router } from '@angular/router';
13
- import { adminLazyRoute, TaonConfirmDialogComponent, TaonDatatableComponent } from '@taon-dev/ui/websql';
14
- import { map } from 'rxjs/operators';
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';
20
+ import * as i2$1 from '@angular/material/checkbox';
21
+ import { MatCheckboxModule } from '@angular/material/checkbox';
19
22
  import * as i2 from '@angular/material/dialog';
20
23
  import { MAT_DIALOG_DATA, MatDialogRef, MatDialogModule, MatDialog } from '@angular/material/dialog';
21
- import * as i2$1 from '@angular/material/form-field';
24
+ import * as i3$1 from '@angular/material/form-field';
22
25
  import { MatFormFieldModule } from '@angular/material/form-field';
23
- import * as i3$1 from '@angular/material/icon';
26
+ import * as i4 from '@angular/material/icon';
24
27
  import { MatIconModule } from '@angular/material/icon';
28
+ import * as i5 from '@angular/material/progress-bar';
29
+ import { MatProgressBarModule } from '@angular/material/progress-bar';
25
30
  import * as i3 from '@angular/material/radio';
26
31
  import { MatRadioModule } from '@angular/material/radio';
27
- import * as i5 from '@angular/material/select';
32
+ import * as i7 from '@angular/material/select';
28
33
  import { MatSelectModule } from '@angular/material/select';
29
- import { finalize, map as map$1, Subject, takeUntil } from 'rxjs';
34
+
35
+ let TaonCmsApplicationHookEntity = class TaonCmsApplicationHookEntity extends TaonBaseEntity {
36
+ };
37
+ __decorate([
38
+ PrimaryGeneratedColumn(),
39
+ __metadata("design:type", Number)
40
+ ], TaonCmsApplicationHookEntity.prototype, "id", void 0);
41
+ __decorate([
42
+ Column({ type: 'varchar', unique: true }),
43
+ __metadata("design:type", String)
44
+ ], TaonCmsApplicationHookEntity.prototype, "hook", void 0);
45
+ __decorate([
46
+ Column({ type: 'integer', nullable: true, unique: true }),
47
+ __metadata("design:type", Number)
48
+ ], TaonCmsApplicationHookEntity.prototype, "contentId", void 0);
49
+ __decorate([
50
+ OneToOne(() => TaonCmsContentEntity, content => content.applicationHook, { nullable: true, onDelete: 'SET NULL' }),
51
+ JoinColumn({ name: 'contentId', referencedColumnName: 'id' }),
52
+ __metadata("design:type", TaonCmsContentEntity)
53
+ ], TaonCmsApplicationHookEntity.prototype, "content", void 0);
54
+ TaonCmsApplicationHookEntity = __decorate([
55
+ TaonEntity({
56
+ className: 'TaonCmsApplicationHookEntity',
57
+ createTable: true,
58
+ })
59
+ ], TaonCmsApplicationHookEntity);
60
+
61
+ var TaonCmsContentType;
62
+ (function (TaonCmsContentType) {
63
+ TaonCmsContentType["Normal"] = "normal";
64
+ TaonCmsContentType["Video"] = "video";
65
+ TaonCmsContentType["Audio"] = "audio";
66
+ TaonCmsContentType["Attachment"] = "attachment";
67
+ })(TaonCmsContentType || (TaonCmsContentType = {}));
68
+ var TaonCmsContentState;
69
+ (function (TaonCmsContentState) {
70
+ TaonCmsContentState["Active"] = "active";
71
+ TaonCmsContentState["Inactive"] = "inactive";
72
+ })(TaonCmsContentState || (TaonCmsContentState = {}));
73
+
74
+ //#endregion
75
+ let TaonCmsContentEntity = class TaonCmsContentEntity extends TaonBaseEntity {
76
+ constructor() {
77
+ super(...arguments);
78
+ //#region @websql
79
+ this.type = TaonCmsContentType.Normal;
80
+ //#region @websql
81
+ this.applyPermissionsToRelatedPosts = false;
82
+ //#region @websql
83
+ this.videoKey = null;
84
+ //#region @websql
85
+ this.audioKey = null;
86
+ //#region @websql
87
+ this.attachmentKey = null;
88
+ }
89
+ };
90
+ __decorate([
91
+ PrimaryGeneratedColumn()
92
+ //#endregion
93
+ ,
94
+ __metadata("design:type", Number)
95
+ ], TaonCmsContentEntity.prototype, "id", void 0);
96
+ __decorate([
97
+ Column({ type: 'integer', default: 0 })
98
+ //#endregion
99
+ ,
100
+ __metadata("design:type", Number)
101
+ ], TaonCmsContentEntity.prototype, "version", void 0);
102
+ __decorate([
103
+ Column({ type: 'varchar', default: TaonCmsContentType.Normal })
104
+ //#endregion
105
+ ,
106
+ __metadata("design:type", String)
107
+ ], TaonCmsContentEntity.prototype, "type", void 0);
108
+ __decorate([
109
+ Column({ type: 'varchar' })
110
+ //#endregion
111
+ ,
112
+ __metadata("design:type", String)
113
+ ], TaonCmsContentEntity.prototype, "title", void 0);
114
+ __decorate([
115
+ Column({ type: 'varchar', unique: true })
116
+ //#endregion
117
+ ,
118
+ __metadata("design:type", String)
119
+ ], TaonCmsContentEntity.prototype, "slug", void 0);
120
+ __decorate([
121
+ ManyToMany(() => TaonCmsContentEntity),
122
+ JoinTable({
123
+ name: 'taon_cms_related_posts',
124
+ joinColumn: { name: 'contentId', referencedColumnName: 'id' },
125
+ inverseJoinColumn: { name: 'relatedPostId', referencedColumnName: 'id' },
126
+ })
127
+ //#endregion
128
+ ,
129
+ __metadata("design:type", Array)
130
+ ], TaonCmsContentEntity.prototype, "relatedPosts", void 0);
131
+ __decorate([
132
+ OneToOne(() => TaonCmsApplicationHookEntity, applicationHook => applicationHook.content)
133
+ //#endregion
134
+ ,
135
+ __metadata("design:type", TaonCmsApplicationHookEntity)
136
+ ], TaonCmsContentEntity.prototype, "applicationHook", void 0);
137
+ __decorate([
138
+ ManyToMany(() => TaonPermissionEntity),
139
+ JoinTable({
140
+ name: 'taon_cms_content_permissions',
141
+ joinColumn: { name: 'contentId', referencedColumnName: 'id' },
142
+ inverseJoinColumn: { name: 'permissionId', referencedColumnName: 'id' },
143
+ })
144
+ //#endregion
145
+ ,
146
+ __metadata("design:type", Array)
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);
154
+ __decorate([
155
+ Column({ type: 'text', nullable: true })
156
+ //#endregion
157
+ ,
158
+ __metadata("design:type", String)
159
+ ], TaonCmsContentEntity.prototype, "excerpt", void 0);
160
+ __decorate([
161
+ Column({ type: 'text', nullable: true })
162
+ //#endregion
163
+ ,
164
+ __metadata("design:type", String)
165
+ ], TaonCmsContentEntity.prototype, "body", void 0);
166
+ __decorate([
167
+ Column({ type: 'varchar', nullable: true })
168
+ //#endregion
169
+ ,
170
+ __metadata("design:type", String)
171
+ ], TaonCmsContentEntity.prototype, "videoKey", void 0);
172
+ __decorate([
173
+ Column({ type: 'varchar', nullable: true })
174
+ //#endregion
175
+ ,
176
+ __metadata("design:type", String)
177
+ ], TaonCmsContentEntity.prototype, "audioKey", void 0);
178
+ __decorate([
179
+ Column({ type: 'varchar', nullable: true })
180
+ //#endregion
181
+ ,
182
+ __metadata("design:type", String)
183
+ ], TaonCmsContentEntity.prototype, "attachmentKey", void 0);
184
+ __decorate([
185
+ Column({ type: 'integer', nullable: true })
186
+ //#endregion
187
+ ,
188
+ __metadata("design:type", Number)
189
+ ], TaonCmsContentEntity.prototype, "categoryId", void 0);
190
+ __decorate([
191
+ Column({ type: 'integer', nullable: true })
192
+ //#endregion
193
+ ,
194
+ __metadata("design:type", Number)
195
+ ], TaonCmsContentEntity.prototype, "authorUserId", void 0);
196
+ __decorate([
197
+ Column({ type: 'varchar', default: 'draft' })
198
+ //#endregion
199
+ ,
200
+ __metadata("design:type", String)
201
+ ], TaonCmsContentEntity.prototype, "status", void 0);
202
+ __decorate([
203
+ Column({ type: 'datetime', nullable: true })
204
+ //#endregion
205
+ ,
206
+ __metadata("design:type", Date)
207
+ ], TaonCmsContentEntity.prototype, "publishedAt", void 0);
208
+ __decorate([
209
+ Column({ type: 'datetime' })
210
+ //#endregion
211
+ ,
212
+ __metadata("design:type", Date)
213
+ ], TaonCmsContentEntity.prototype, "createdAt", void 0);
214
+ __decorate([
215
+ Column({ type: 'datetime' })
216
+ //#endregion
217
+ ,
218
+ __metadata("design:type", Date)
219
+ ], TaonCmsContentEntity.prototype, "updatedAt", void 0);
220
+ TaonCmsContentEntity = __decorate([
221
+ TaonEntity({
222
+ className: 'TaonCmsContentEntity',
223
+ createTable: true,
224
+ })
225
+ ], TaonCmsContentEntity);
226
+
227
+ const TaonCmsApplicationHook = {
228
+ HOME_HERO: 'home-hero',
229
+ HOME_FEATURED_POST: 'home-featured-post',
230
+ SHOP_PROMOTION: 'shop-promotion',
231
+ LOGIN_INFO: 'login-info',
232
+ FOOTER_ABOUT: 'footer-about',
233
+ };
30
234
 
31
235
  //#region Migration class for context "CmsContext"
32
- let CmsContext_1791132517216_initial = class CmsContext_1791132517216_initial extends TaonBaseMigration {
236
+ let CmsContext_1792506757808_applicaitonHooks = class CmsContext_1792506757808_applicaitonHooks extends TaonBaseMigration {
33
237
  constructor() {
34
238
  super(...arguments);
35
- this.taonAuthContextRepository = this.injectCustomRepo((TaonAuthContextRepository));
36
- //#endregion
239
+ this.APPLICATION_HOOK_TABLE = ClassHelpers.getName(TaonCmsApplicationHookEntity);
240
+ this.CONTENT_TABLE = ClassHelpers.getName(TaonCmsContentEntity);
37
241
  }
38
242
  //#region up
39
243
  async up(queryRunner) {
40
- // await queryRunner.startTransaction();
244
+ await queryRunner.startTransaction();
41
245
  try {
42
- // await this.taonAuthContextRepository.persistTree({
43
- // enums: {
44
- // groups: MyAppGroup,
45
- // roles: MyAppRole,
46
- // permissions: MyAppPermission,
47
- // },
48
- // tree: {
49
- // groupAndRoles: {
50
- // [MyAppGroup.Administrator]: '*',
51
- // [MyAppGroup.Customers]: [MyAppRole.BlogReader],
52
- // },
53
- // rolesAndPermissions: {
54
- // [MyAppRole.Customer]: [
55
- // MyAppPermission.AccessCourseP2,
56
- // MyAppPermission.AccessCourseP2,
57
- // ],
58
- // [MyAppRole.CustomerPremium]: '*',
59
- // },
60
- // },
61
- // });
62
- // await queryRunner.commitTransaction();
246
+ if (!(await queryRunner.hasTable(this.APPLICATION_HOOK_TABLE))) {
247
+ await queryRunner.createTable(new Table({
248
+ name: this.APPLICATION_HOOK_TABLE,
249
+ columns: [
250
+ {
251
+ name: 'id',
252
+ type: 'integer',
253
+ isPrimary: true,
254
+ isGenerated: true,
255
+ generationStrategy: 'increment',
256
+ },
257
+ { name: 'hook', type: 'varchar', isUnique: true },
258
+ {
259
+ name: 'contentId',
260
+ type: 'integer',
261
+ isNullable: true,
262
+ isUnique: true,
263
+ },
264
+ ],
265
+ foreignKeys: [
266
+ {
267
+ columnNames: ['contentId'],
268
+ referencedTableName: this.CONTENT_TABLE,
269
+ referencedColumnNames: ['id'],
270
+ onDelete: 'SET NULL',
271
+ },
272
+ ],
273
+ }), true);
274
+ }
275
+ await this.persistApplicationHooks(queryRunner);
276
+ await queryRunner.commitTransaction();
63
277
  }
64
278
  catch (error) {
65
279
  console.error('Error in migration:', error);
66
280
  await queryRunner.rollbackTransaction();
67
- }
68
- finally {
69
- await queryRunner.release();
281
+ throw error;
70
282
  }
71
283
  }
72
284
  //#endregion
73
285
  //#region down
74
286
  async down(queryRunner) {
75
- await queryRunner.startTransaction();
76
- try {
77
- await this.taonAuthContextRepository.clearRolesGroupPermissions();
78
- await queryRunner.commitTransaction();
79
- }
80
- catch (error) {
81
- console.error('Error in migration:', error);
82
- await queryRunner.rollbackTransaction();
287
+ if (await queryRunner.hasTable(this.APPLICATION_HOOK_TABLE)) {
288
+ await queryRunner.dropTable(this.APPLICATION_HOOK_TABLE, true);
83
289
  }
84
- finally {
85
- await queryRunner.release();
290
+ }
291
+ //#endregion
292
+ async persistApplicationHooks(queryRunner) {
293
+ const repository = queryRunner.manager.getRepository(TaonCmsApplicationHookEntity);
294
+ for (const hook of Object.values(TaonCmsApplicationHook)) {
295
+ if (!(await repository.findOneBy({ hook }))) {
296
+ await repository.save(repository.create({ hook, contentId: null }));
297
+ }
86
298
  }
87
299
  }
88
300
  };
89
- CmsContext_1791132517216_initial = __decorate([
301
+ CmsContext_1792506757808_applicaitonHooks = __decorate([
90
302
  TaonMigration({
91
- className: 'CmsContext_1791132517216_initial',
303
+ className: 'CmsContext_1792506757808_applicaitonHooks',
92
304
  })
93
- ], CmsContext_1791132517216_initial);
305
+ ], CmsContext_1792506757808_applicaitonHooks);
94
306
  //#endregion
95
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
+
96
332
  // THIS FILE IS GENERATED - DO NOT MODIFY
97
333
  // THIS FILE IS GENERATED - DO NOT MODIFY
98
- const MIGRATIONS_CLASSES_FOR_CmsContext = {
99
- /* 04-10-2026 18:48:37 */ CmsContext_1791132517216_initial,
334
+ const MIGRATIONS_CLASSES_FOR_CmsContext$1 = {
335
+ /* 20-10-2026 16:32:37 */ CmsContext_1792506757808_applicaitonHooks,
336
+ /* 21-10-2026 12:36:40 */ CmsContext_1792579000000_postPermissionInheritance,
100
337
  };
101
338
  // THIS FILE IS GENERATED - DO NOT MODIFY
102
339
 
103
340
  //@ts-nocheck
104
-
105
- var MyAppGroup;
106
- (function (MyAppGroup) {
107
- MyAppGroup["Administrator"] = "administrator";
108
- MyAppGroup["Customers"] = "customers";
109
- })(MyAppGroup || (MyAppGroup = {}));
110
- var MyAppRole;
111
- (function (MyAppRole) {
112
- MyAppRole["MangePosts"] = "manage-posts";
113
- MyAppRole["Customer"] = "Customer";
114
- MyAppRole["CustomerPremium"] = "CustomerPremium";
115
- MyAppRole["BlogReader"] = "BlogReader";
116
- })(MyAppRole || (MyAppRole = {}));
117
- var MyAppPermission;
118
- (function (MyAppPermission) {
119
- MyAppPermission["AccessToAllEmails"] = "AccessToAllEmails";
120
- MyAppPermission["AccessCourseP1"] = "AccessCourseP1";
121
- MyAppPermission["AccessCourseP2"] = "AccessCourseP2";
122
- MyAppPermission["AccessCoursePremium"] = "AccessCoursePremium";
123
- })(MyAppPermission || (MyAppPermission = {}));
341
+ const MIGRATIONS_CLASSES_FOR_CmsContext = {
342
+ ...MIGRATIONS_CLASSES_FOR_CmsContext$1,
343
+ CmsContext_1792579000000_postPermissionInheritance,
344
+ };
124
345
 
125
346
  // THIS FILE IS GENERATED - DO NOT MODIFY
126
347
  /**
@@ -146,14 +367,9 @@ const CURRENT_PACKAGE_TAON_VERSION = 'v21';
146
367
  /**
147
368
  * Autogenerated by current cli tool. Use *tnp release* to bump version.
148
369
  */
149
- const CURRENT_PACKAGE_VERSION = '21.0.14';
370
+ const CURRENT_PACKAGE_VERSION = '21.0.17';
150
371
  // THIS FILE IS GENERATED - DO NOT MODIFY
151
372
 
152
- const t = Translation.for('src/lib/my-organization-proj.ts', { "src/lib/my-organization-proj.ts": { "en-US": async () => (await import('./cms-websql-my-organization-proj.ts.en-US.i18n.data-BnqooYnv.mjs')).default, "pl-PL": async () => (await import('./cms-websql-my-organization-proj.ts.pl-PL.i18n.data-wMy6Ze3w.mjs')).default } });
153
- function myOrgProj() {
154
- t.gettext('My Translated Company Name!');
155
- }
156
-
157
373
  //#region tnp-helpers cli template
158
374
  /* */
159
375
  //#endregion
@@ -283,19 +499,6 @@ TaonCmsCategoryEntity = __decorate([
283
499
  })
284
500
  ], TaonCmsCategoryEntity);
285
501
 
286
- var TaonCmsContentType;
287
- (function (TaonCmsContentType) {
288
- TaonCmsContentType["Normal"] = "normal";
289
- TaonCmsContentType["Video"] = "video";
290
- TaonCmsContentType["Audio"] = "audio";
291
- TaonCmsContentType["Attachment"] = "attachment";
292
- })(TaonCmsContentType || (TaonCmsContentType = {}));
293
- var TaonCmsContentState;
294
- (function (TaonCmsContentState) {
295
- TaonCmsContentState["Active"] = "active";
296
- TaonCmsContentState["Inactive"] = "inactive";
297
- })(TaonCmsContentState || (TaonCmsContentState = {}));
298
-
299
502
  function contentError(message, status = 400) {
300
503
  Taon.error({ message, status });
301
504
  throw new Error(message);
@@ -326,7 +529,11 @@ function validateContentInput(input, creating = false) {
326
529
  }
327
530
  }
328
531
  for (const field of [
329
- 'body', 'excerpt', 'videoKey', 'audioKey', 'attachmentKey',
532
+ 'body',
533
+ 'excerpt',
534
+ 'videoKey',
535
+ 'audioKey',
536
+ 'attachmentKey',
330
537
  ]) {
331
538
  if (input[field] !== undefined &&
332
539
  input[field] !== null &&
@@ -339,6 +546,10 @@ function validateContentInput(input, creating = false) {
339
546
  requireContentId(input[field], field);
340
547
  }
341
548
  }
549
+ if (input.applyPermissionsToRelatedPosts !== undefined &&
550
+ typeof input.applyPermissionsToRelatedPosts !== 'boolean') {
551
+ contentError('applyPermissionsToRelatedPosts must be a boolean.');
552
+ }
342
553
  if (input.status !== undefined &&
343
554
  !['draft', 'published', 'archived'].includes(input.status)) {
344
555
  contentError('status must be draft, published, or archived.');
@@ -1112,144 +1323,110 @@ const TaonCmsTagAbstractContext = createContext(() => ({
1112
1323
  subscribers: { TaonCmsTagSubscriber },
1113
1324
  }));
1114
1325
 
1115
- //#endregion
1116
- let TaonCmsContentEntity = class TaonCmsContentEntity extends TaonBaseEntity {
1326
+ //#region taon auth decorator
1327
+ const TaonSessionCoreGroups = {
1328
+ ...TaonSessionCoreGroups$1,
1329
+ Manager: 'manager',
1330
+ };
1331
+ const TaonSessionCoreRoles = {
1332
+ ...TaonSessionCoreRoles$1,
1333
+ /**
1334
+ * Can manage roles and permissions assigned directly to users.
1335
+ * Does NOT allow changing user groups.
1336
+ */
1337
+ PostsManager: 'posts-manager',
1338
+ PremiumUser1: 'premium-user-1',
1339
+ PremiumUser2: 'premium-user-2',
1340
+ };
1341
+ const TaonSessionCorePermissions = {
1342
+ ...TaonSessionCorePermissions$1,
1343
+ ViewPrivateVideo1: 'view-private-video-1',
1344
+ ViewPrivateVideo2: 'view-private-video-2',
1345
+ };
1346
+ let TaonAuthContextEntity = class TaonAuthContextEntity extends TaonAuthContextEntity$1 {
1347
+ // @ts-ignore
1348
+ get hasAccess() {
1349
+ return this.injectClass(TaonAuthContextHasAccess, this);
1350
+ }
1351
+ };
1352
+ TaonAuthContextEntity = __decorate([
1353
+ TaonEntity({
1354
+ className: 'TaonAuthContextEntity',
1355
+ createTable: false,
1356
+ })
1357
+ ], TaonAuthContextEntity);
1358
+ class TaonAuthContextHasAccess extends TaonAuthContextHasAccess$1 {
1359
+ get toManagePosts() {
1360
+ //#region @browserFunc
1361
+ return this.context.snapshoot.toManagePosts;
1362
+ //#endregion
1363
+ //#region @websqlFunc
1364
+ return (this.context.isSuperUser ||
1365
+ this.context.hasRole(TaonSessionCoreRoles.PostsManager));
1366
+ //#endregion
1367
+ }
1368
+ }
1369
+ let TaonAuthContextRepository = class TaonAuthContextRepository extends TaonAuthContextRepository$1 {
1117
1370
  constructor() {
1118
1371
  super(...arguments);
1119
- //#region @websql
1120
- this.type = TaonCmsContentType.Normal;
1121
- //#region @websql
1122
- this.videoKey = null;
1123
- //#region @websql
1124
- this.audioKey = null;
1125
- //#region @websql
1126
- this.attachmentKey = null;
1372
+ // @ts-ignore
1373
+ this.entityClassResolveFn = () => TaonAuthContextEntity;
1127
1374
  }
1128
1375
  };
1129
- __decorate([
1130
- PrimaryGeneratedColumn()
1131
- //#endregion
1132
- ,
1133
- __metadata("design:type", Number)
1134
- ], TaonCmsContentEntity.prototype, "id", void 0);
1135
- __decorate([
1136
- Column({ type: 'integer', default: 0 })
1137
- //#endregion
1138
- ,
1139
- __metadata("design:type", Number)
1140
- ], TaonCmsContentEntity.prototype, "version", void 0);
1141
- __decorate([
1142
- Column({ type: 'varchar', default: TaonCmsContentType.Normal })
1143
- //#endregion
1144
- ,
1145
- __metadata("design:type", String)
1146
- ], TaonCmsContentEntity.prototype, "type", void 0);
1147
- __decorate([
1148
- Column({ type: 'varchar' })
1149
- //#endregion
1150
- ,
1151
- __metadata("design:type", String)
1152
- ], TaonCmsContentEntity.prototype, "title", void 0);
1153
- __decorate([
1154
- Column({ type: 'varchar', unique: true })
1155
- //#endregion
1156
- ,
1157
- __metadata("design:type", String)
1158
- ], TaonCmsContentEntity.prototype, "slug", void 0);
1159
- __decorate([
1160
- ManyToMany(() => TaonCmsContentEntity),
1161
- JoinTable({
1162
- name: 'taon_cms_related_posts',
1163
- joinColumn: { name: 'contentId', referencedColumnName: 'id' },
1164
- inverseJoinColumn: { name: 'relatedPostId', referencedColumnName: 'id' },
1165
- })
1166
- //#endregion
1167
- ,
1168
- __metadata("design:type", Array)
1169
- ], TaonCmsContentEntity.prototype, "relatedPosts", void 0);
1170
- __decorate([
1171
- ManyToMany(() => TaonPermissionEntity),
1172
- JoinTable({
1173
- name: 'taon_cms_content_permissions',
1174
- joinColumn: { name: 'contentId', referencedColumnName: 'id' },
1175
- inverseJoinColumn: { name: 'permissionId', referencedColumnName: 'id' },
1376
+ TaonAuthContextRepository = __decorate([
1377
+ TaonRepository({
1378
+ className: 'TaonAuthContextRepository',
1176
1379
  })
1177
- //#endregion
1178
- ,
1179
- __metadata("design:type", Array)
1180
- ], TaonCmsContentEntity.prototype, "permissions", void 0);
1181
- __decorate([
1182
- Column({ type: 'text', nullable: true })
1183
- //#endregion
1184
- ,
1185
- __metadata("design:type", String)
1186
- ], TaonCmsContentEntity.prototype, "excerpt", void 0);
1187
- __decorate([
1188
- Column({ type: 'text', nullable: true })
1189
- //#endregion
1190
- ,
1191
- __metadata("design:type", String)
1192
- ], TaonCmsContentEntity.prototype, "body", void 0);
1193
- __decorate([
1194
- Column({ type: 'varchar', nullable: true })
1195
- //#endregion
1196
- ,
1197
- __metadata("design:type", String)
1198
- ], TaonCmsContentEntity.prototype, "videoKey", void 0);
1199
- __decorate([
1200
- Column({ type: 'varchar', nullable: true })
1201
- //#endregion
1202
- ,
1203
- __metadata("design:type", String)
1204
- ], TaonCmsContentEntity.prototype, "audioKey", void 0);
1205
- __decorate([
1206
- Column({ type: 'varchar', nullable: true })
1207
- //#endregion
1208
- ,
1209
- __metadata("design:type", String)
1210
- ], TaonCmsContentEntity.prototype, "attachmentKey", void 0);
1211
- __decorate([
1212
- Column({ type: 'integer', nullable: true })
1213
- //#endregion
1214
- ,
1215
- __metadata("design:type", Number)
1216
- ], TaonCmsContentEntity.prototype, "categoryId", void 0);
1217
- __decorate([
1218
- Column({ type: 'integer', nullable: true })
1219
- //#endregion
1220
- ,
1221
- __metadata("design:type", Number)
1222
- ], TaonCmsContentEntity.prototype, "authorUserId", void 0);
1223
- __decorate([
1224
- Column({ type: 'varchar', default: 'draft' })
1225
- //#endregion
1226
- ,
1227
- __metadata("design:type", String)
1228
- ], TaonCmsContentEntity.prototype, "status", void 0);
1229
- __decorate([
1230
- Column({ type: 'datetime', nullable: true })
1231
- //#endregion
1232
- ,
1233
- __metadata("design:type", Date)
1234
- ], TaonCmsContentEntity.prototype, "publishedAt", void 0);
1235
- __decorate([
1236
- Column({ type: 'datetime' })
1237
- //#endregion
1238
- ,
1239
- __metadata("design:type", Date)
1240
- ], TaonCmsContentEntity.prototype, "createdAt", void 0);
1241
- __decorate([
1242
- Column({ type: 'datetime' })
1243
- //#endregion
1244
- ,
1245
- __metadata("design:type", Date)
1246
- ], TaonCmsContentEntity.prototype, "updatedAt", void 0);
1247
- TaonCmsContentEntity = __decorate([
1248
- TaonEntity({
1249
- className: 'TaonCmsContentEntity',
1250
- createTable: true,
1380
+ ], TaonAuthContextRepository);
1381
+ let CmsContext_1791132517217_initial = class CmsContext_1791132517217_initial extends MIGRATIONS_CLASSES_FOR_SessionContext.SessionContext_1791132517216_initial {
1382
+ async persistTree() {
1383
+ //#region @websqlFunc
1384
+ await this.taonAuthContextRepository.persistTree({
1385
+ authorization: {
1386
+ groups: TaonSessionCoreGroups,
1387
+ roles: TaonSessionCoreRoles,
1388
+ permissions: TaonSessionCorePermissions,
1389
+ },
1390
+ tree: {
1391
+ groupAndRoles: {
1392
+ // Administrators receive all core administrative roles.
1393
+ [TaonSessionCoreGroups.Administrator]: '*',
1394
+ // Normal customers receive no administrative roles by default.
1395
+ [TaonSessionCoreGroups.Customers]: [],
1396
+ [TaonSessionCoreGroups.Manager]: [TaonSessionCoreRoles.PostsManager],
1397
+ },
1398
+ rolesAndPermissions: {
1399
+ [TaonSessionCoreRoles.AuthorizationManager]: [
1400
+ TaonSessionCorePermissions.ViewUsers,
1401
+ TaonSessionCorePermissions.ViewUserAuthorization,
1402
+ TaonSessionCorePermissions.ManageUserRoles,
1403
+ TaonSessionCorePermissions.ManageUserPermissions,
1404
+ ],
1405
+ [TaonSessionCoreRoles.PostsManager]: [],
1406
+ [TaonSessionCoreRoles.PremiumUser1]: [
1407
+ TaonSessionCorePermissions.ViewPrivateVideo1,
1408
+ ],
1409
+ [TaonSessionCoreRoles.PremiumUser2]: [
1410
+ TaonSessionCorePermissions.ViewPrivateVideo2,
1411
+ ],
1412
+ [TaonSessionCoreRoles.UserManager]: [
1413
+ TaonSessionCorePermissions.ViewUsers,
1414
+ TaonSessionCorePermissions.ManageUsers,
1415
+ TaonSessionCorePermissions.ViewSessions,
1416
+ TaonSessionCorePermissions.RevokeSessions,
1417
+ ],
1418
+ },
1419
+ },
1420
+ });
1421
+ //#endregion
1422
+ }
1423
+ };
1424
+ CmsContext_1791132517217_initial = __decorate([
1425
+ TaonMigration({
1426
+ className: 'CmsContext_1791132517217_initial',
1251
1427
  })
1252
- ], TaonCmsContentEntity);
1428
+ ], CmsContext_1791132517217_initial);
1429
+ //#endregion
1253
1430
 
1254
1431
  //#endregion
1255
1432
  let TaonCmsContentRepository = class TaonCmsContentRepository extends TaonBaseRepository {
@@ -1264,7 +1441,7 @@ let TaonCmsContentRepository = class TaonCmsContentRepository extends TaonBaseRe
1264
1441
  async createContent(input) {
1265
1442
  //#region @websqlFunc
1266
1443
  validateContentInput(input, true);
1267
- return this.connection.transaction(async (manager) => {
1444
+ return this.connection.transaction('SERIALIZABLE', async (manager) => {
1268
1445
  const fields = this.contentFields(input);
1269
1446
  const tagIds = [...new Set(input.tagIds ?? [])];
1270
1447
  const relatedPostIds = [...new Set(input.relatedPostIds ?? [])];
@@ -1281,7 +1458,9 @@ let TaonCmsContentRepository = class TaonCmsContentRepository extends TaonBaseRe
1281
1458
  }));
1282
1459
  await this.taonCmsContentTagRepository.replaceTags(content.id, tagIds, manager);
1283
1460
  await this.replaceRelatedPosts(content.id, relatedPostIds, [], manager);
1461
+ await this.validatePermissionInheritance(manager);
1284
1462
  await this.replacePermissions(content.id, permissionIds, [], manager);
1463
+ await this.replaceApplicationHook(content.id, input.applicationHook ?? null, manager);
1285
1464
  await this.taonCmsContentRevisionRepository.recordContent(content, { ...fields, tagIds, relatedPostIds, permissionIds }, manager);
1286
1465
  return this.requireContent(content.id, manager);
1287
1466
  });
@@ -1292,7 +1471,7 @@ let TaonCmsContentRepository = class TaonCmsContentRepository extends TaonBaseRe
1292
1471
  requireContentId(id);
1293
1472
  validateContentInput(input);
1294
1473
  requireContentVersion(input.expectedVersion);
1295
- return this.connection.transaction(async (manager) => {
1474
+ return this.connection.transaction('SERIALIZABLE', async (manager) => {
1296
1475
  const current = await this.requireContent(id, manager);
1297
1476
  const snapshot = await this.snapshotOf(current, manager);
1298
1477
  const fields = this.contentFields(input, snapshot);
@@ -1305,7 +1484,7 @@ let TaonCmsContentRepository = class TaonCmsContentRepository extends TaonBaseRe
1305
1484
  const permissionIds = input.permissionIds === undefined
1306
1485
  ? snapshot.permissionIds
1307
1486
  : [...new Set(input.permissionIds)];
1308
- return this.commitUpdate(current, input.expectedVersion, { ...fields, tagIds, relatedPostIds, permissionIds }, manager);
1487
+ return this.commitUpdate(current, input.expectedVersion, { ...fields, tagIds, relatedPostIds, permissionIds }, manager, input.applicationHook);
1309
1488
  });
1310
1489
  //#endregion
1311
1490
  }
@@ -1322,7 +1501,7 @@ let TaonCmsContentRepository = class TaonCmsContentRepository extends TaonBaseRe
1322
1501
  }
1323
1502
  requireContentVersion(input.revisionNumber, 'revisionNumber');
1324
1503
  requireContentVersion(input.expectedVersion);
1325
- return this.connection.transaction(async (manager) => {
1504
+ return this.connection.transaction('SERIALIZABLE', async (manager) => {
1326
1505
  const current = await this.requireContent(id, manager);
1327
1506
  const revision = await this.taonCmsContentRevisionRepository.requireRevision(id, input.revisionNumber, manager);
1328
1507
  if (!revision.snapshot) {
@@ -1374,9 +1553,153 @@ let TaonCmsContentRepository = class TaonCmsContentRepository extends TaonBaseRe
1374
1553
  async listPermissions(id) {
1375
1554
  //#region @websqlFunc
1376
1555
  requireContentId(id);
1377
- return this.connection.transaction(async (manager) => (await this.requireContent(id, manager)).permissions);
1556
+ return (await this.getPermissionConfiguration(id)).permissions;
1378
1557
  //#endregion
1379
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
+ }
1639
+ //#endregion
1640
+ }
1641
+ async listApplicationHooks() {
1642
+ //#region @websqlFunc
1643
+ return this.connection
1644
+ .getRepository(TaonCmsApplicationHookEntity)
1645
+ .find({ order: { hook: 'ASC' } });
1646
+ //#endregion
1647
+ }
1648
+ async getContentByHook(hook) {
1649
+ //#region @websqlFunc
1650
+ return (await this.getContentForHook(hook))?.body ?? '';
1651
+ //#endregion
1652
+ }
1653
+ async getContentForHook(hook) {
1654
+ //#region @websqlFunc
1655
+ if (!hook) {
1656
+ contentError('Application hook is required.');
1657
+ }
1658
+ const applicationHook = await this.connection
1659
+ .getRepository(TaonCmsApplicationHookEntity)
1660
+ .findOne({
1661
+ where: { hook: hook },
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 },
1688
+ });
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;
1700
+ //#endregion
1701
+ }
1702
+ //#endregion
1380
1703
  async addRelatedPost(id, relatedPostId, expectedVersion) {
1381
1704
  //#region @websqlFunc
1382
1705
  return this.changeRelatedPost(id, relatedPostId, expectedVersion, true);
@@ -1395,7 +1718,7 @@ let TaonCmsContentRepository = class TaonCmsContentRepository extends TaonBaseRe
1395
1718
  if (id === relatedPostId) {
1396
1719
  contentError('A post cannot relate to itself.');
1397
1720
  }
1398
- return this.connection.transaction(async (manager) => {
1721
+ return this.connection.transaction('SERIALIZABLE', async (manager) => {
1399
1722
  const current = await this.requireContent(id, manager);
1400
1723
  await this.requireContent(relatedPostId, manager);
1401
1724
  const snapshot = await this.snapshotOf(current, manager);
@@ -1413,7 +1736,11 @@ let TaonCmsContentRepository = class TaonCmsContentRepository extends TaonBaseRe
1413
1736
  .getRepository(this.target)
1414
1737
  .findOne({
1415
1738
  where: { id },
1416
- relations: { relatedPosts: true, permissions: true },
1739
+ relations: {
1740
+ relatedPosts: true,
1741
+ permissions: true,
1742
+ applicationHook: true,
1743
+ },
1417
1744
  });
1418
1745
  if (!content) {
1419
1746
  contentError(`Content ${id} does not exist.`, 404);
@@ -1436,8 +1763,12 @@ let TaonCmsContentRepository = class TaonCmsContentRepository extends TaonBaseRe
1436
1763
  title,
1437
1764
  slug,
1438
1765
  body: input.body === undefined ? (current?.body ?? null) : input.body,
1439
- videoKey: input.videoKey === undefined ? (current?.videoKey ?? null) : input.videoKey,
1440
- 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,
1441
1772
  attachmentKey: input.attachmentKey === undefined
1442
1773
  ? (current?.attachmentKey ?? null)
1443
1774
  : input.attachmentKey,
@@ -1452,6 +1783,9 @@ let TaonCmsContentRepository = class TaonCmsContentRepository extends TaonBaseRe
1452
1783
  : input.authorUserId,
1453
1784
  status: input.status ?? current?.status ?? 'draft',
1454
1785
  publishedAt: publishedAt === null ? null : new Date(publishedAt),
1786
+ applyPermissionsToRelatedPosts: input.applyPermissionsToRelatedPosts ??
1787
+ current?.applyPermissionsToRelatedPosts ??
1788
+ false,
1455
1789
  };
1456
1790
  }
1457
1791
  async snapshotOf(content, manager) {
@@ -1524,7 +1858,8 @@ let TaonCmsContentRepository = class TaonCmsContentRepository extends TaonBaseRe
1524
1858
  const added = relatedPostIds.filter(postId => !previousIds.includes(postId));
1525
1859
  const removed = previousIds.filter(postId => !relatedPostIds.includes(postId));
1526
1860
  if (added.length || removed.length) {
1527
- await repository.createQueryBuilder()
1861
+ await repository
1862
+ .createQueryBuilder()
1528
1863
  .relation('relatedPosts')
1529
1864
  .of(id)
1530
1865
  .addAndRemove(added, removed);
@@ -1545,11 +1880,41 @@ let TaonCmsContentRepository = class TaonCmsContentRepository extends TaonBaseRe
1545
1880
  }
1546
1881
  //#endregion
1547
1882
  }
1548
- async commitUpdate(current, expectedVersion, snapshot, manager) {
1883
+ async replaceApplicationHook(contentId, hook, manager) {
1884
+ //#region @websqlFunc
1885
+ const repository = manager.getRepository(TaonCmsApplicationHookEntity);
1886
+ const current = await repository.findOneBy({ contentId });
1887
+ if (hook === null) {
1888
+ if (current) {
1889
+ current.contentId = null;
1890
+ await repository.save(current);
1891
+ }
1892
+ return;
1893
+ }
1894
+ const target = await repository.findOneBy({ hook });
1895
+ if (!target) {
1896
+ contentError(`Application hook "${hook}" is not configured.`, 404);
1897
+ }
1898
+ if (target.contentId !== null && target.contentId !== contentId) {
1899
+ contentError(`Application hook "${hook}" is already in use.`, 409);
1900
+ }
1901
+ if (current?.id === target.id) {
1902
+ return;
1903
+ }
1904
+ if (current) {
1905
+ current.contentId = null;
1906
+ await repository.save(current);
1907
+ }
1908
+ target.contentId = contentId;
1909
+ await repository.save(target);
1910
+ //#endregion
1911
+ }
1912
+ async commitUpdate(current, expectedVersion, snapshot, manager, applicationHook) {
1549
1913
  //#region @websqlFunc
1550
1914
  if (current.version !== expectedVersion) {
1551
1915
  contentError('Content has changed. Reload it before editing.', 409);
1552
1916
  }
1917
+ await this.requireOwnPermissionEdit(current.id, snapshot.permissionIds, current, manager);
1553
1918
  await this.validateReferences(snapshot, snapshot.tagIds, snapshot.permissionIds, manager);
1554
1919
  await this.requireAvailableSlug(snapshot.slug, manager, current.id);
1555
1920
  // Preserve the first pre-API version before replacing it.
@@ -1565,7 +1930,11 @@ let TaonCmsContentRepository = class TaonCmsContentRepository extends TaonBaseRe
1565
1930
  }
1566
1931
  await this.taonCmsContentTagRepository.replaceTags(current.id, snapshot.tagIds, manager);
1567
1932
  await this.replaceRelatedPosts(current.id, [...new Set(snapshot.relatedPostIds ?? [])], current.relatedPosts.map(post => post.id), manager);
1933
+ await this.validatePermissionInheritance(manager);
1568
1934
  await this.replacePermissions(current.id, [...new Set(snapshot.permissionIds ?? [])], current.permissions.map(permission => permission.id), manager);
1935
+ if (applicationHook !== undefined) {
1936
+ await this.replaceApplicationHook(current.id, applicationHook, manager);
1937
+ }
1569
1938
  const updated = await this.requireContent(current.id, manager);
1570
1939
  await this.taonCmsContentRevisionRepository.recordContent(updated, {
1571
1940
  ...fields,
@@ -1596,59 +1965,464 @@ TaonCmsContentRepository = __decorate([
1596
1965
  })
1597
1966
  ], TaonCmsContentRepository);
1598
1967
 
1968
+ //#endregion
1969
+ let TaonCmsContentStorageController = class TaonCmsContentStorageController extends TaonBaseStorageController {
1970
+ constructor() {
1971
+ super(...arguments);
1972
+ this.taonSessionRepository = this.injectCustomRepo(TaonSessionRepository);
1973
+ this.taonAuthContextRepository = this.injectCustomRepo(TaonAuthContextRepository);
1974
+ this.taonCmsContentRepository = this.injectCustomRepo(TaonCmsContentRepository);
1975
+ this.taonSessionProvider = this.injectProvider(TaonSessionProvider);
1976
+ }
1977
+ async beforeEachRequest({ req, res, methodConfig, t, }) {
1978
+ /* */
1979
+ /* */
1980
+ /* */
1981
+ /* */
1982
+ /* */
1983
+ /* */
1984
+ /* */
1985
+ /* */
1986
+ /* */
1987
+ /* */
1988
+ /* */
1989
+ /* */
1990
+ /* */
1991
+ /* */
1992
+ /* */
1993
+ /* */
1994
+ return (void 0);
1995
+ }
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) {
2041
+ //#region @websqlFunc
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
+
1599
2112
  //#endregion
1600
2113
  let TaonCmsContentController = class TaonCmsContentController extends TaonBaseCrudController {
1601
2114
  constructor() {
1602
2115
  super(...arguments);
2116
+ //#region fields & getters
1603
2117
  this.entityClassResolveFn = () => TaonCmsContentEntity;
1604
2118
  this.taonCmsContentRepository = this.injectCustomRepo(TaonCmsContentRepository);
2119
+ this.taonSessionRepository = this.injectCustomRepo(TaonSessionRepository);
2120
+ this.taonAuthContextRepository = this.injectCustomRepo(TaonAuthContextRepository);
2121
+ this.taonCmsContentStorageController = this.injectController(TaonCmsContentStorageController);
2122
+ //#endregion
1605
2123
  }
2124
+ //#endregion
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) {
2160
+ //#region @websqlFunc
2161
+ return (req, _res, { t }) => this.getMediaLinkBySlug(slug, 'video', false, req, t);
2162
+ //#endregion
2163
+ }
2164
+ //#region methods / get public video link by slug
2165
+ getPublicVideoLinkBySlug(slug) {
2166
+ //#region @websqlFunc
2167
+ return (req, _res, { t }) => this.getMediaLinkBySlug(slug, 'video', true, req, t);
2168
+ //#endregion
2169
+ }
2170
+ //#endregion
2171
+ //#region methods / get audio link by slug
2172
+ getAudioLinkBySlug(slug) {
2173
+ //#region @websqlFunc
2174
+ return (req, _res, { t }) => this.getMediaLinkBySlug(slug, 'audio', false, req, t);
2175
+ //#endregion
2176
+ }
2177
+ //#endregion
2178
+ //#region methods / get public audio link by slug
2179
+ getPublicAudioLinkBySlug(slug) {
2180
+ //#region @websqlFunc
2181
+ return (req, _res, { t }) => this.getMediaLinkBySlug(slug, 'audio', true, req, t);
2182
+ //#endregion
2183
+ }
2184
+ //#endregion
2185
+ //#region methods / get attachment link by slug
2186
+ getAttachmentLinkBySlug(slug) {
2187
+ //#region @websqlFunc
2188
+ return (req, _res, { t }) => this.getMediaLinkBySlug(slug, 'attachment', false, req, t);
2189
+ //#endregion
2190
+ }
2191
+ //#endregion
2192
+ //#region methods / get public attachment link by slug
2193
+ getPublicAttachmentLinkBySlug(slug) {
2194
+ //#region @websqlFunc
2195
+ return (req, _res, { t }) => this.getMediaLinkBySlug(slug, 'attachment', true, req, t);
2196
+ //#endregion
2197
+ }
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
1606
2273
  createContent(input) {
1607
2274
  //#region @websqlFunc
1608
2275
  return async () => this.taonCmsContentRepository.createContent(input);
1609
2276
  //#endregion
1610
2277
  }
2278
+ //#endregion
2279
+ //#region methods / update content
1611
2280
  updateContent(id, input) {
1612
2281
  //#region @websqlFunc
1613
2282
  return async () => this.taonCmsContentRepository.updateContent(id, input);
1614
2283
  //#endregion
1615
2284
  }
2285
+ //#endregion
2286
+ //#region methods / delete content
1616
2287
  deleteContent(id, expectedVersion) {
1617
2288
  //#region @websqlFunc
1618
2289
  return async () => this.taonCmsContentRepository.archiveContent(id, expectedVersion);
1619
2290
  //#endregion
1620
2291
  }
2292
+ //#endregion
2293
+ //#region methods / restore content
1621
2294
  restoreContent(id, input) {
1622
2295
  //#region @websqlFunc
1623
2296
  return async () => this.taonCmsContentRepository.restoreContent(id, input);
1624
2297
  //#endregion
1625
2298
  }
2299
+ //#endregion
2300
+ //#region methods / list related posts
1626
2301
  listRelatedPosts(id) {
1627
2302
  //#region @websqlFunc
1628
2303
  return async () => this.taonCmsContentRepository.listRelatedPosts(id);
1629
2304
  //#endregion
1630
2305
  }
1631
- listPermissions(id) {
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() {
2323
+ //#region @websqlFunc
2324
+ return async () => this.taonCmsContentRepository.listApplicationHooks();
2325
+ //#endregion
2326
+ }
2327
+ //#endregion
2328
+ //#region methods / get content by hook
2329
+ getContentByHook(hook) {
2330
+ //#region @websqlFunc
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
+ };
2339
+ //#endregion
2340
+ }
2341
+ //#endregion
2342
+ //#region methods / get public content by hook
2343
+ getPublicContentByHook(hook) {
1632
2344
  //#region @websqlFunc
1633
- return async () => this.taonCmsContentRepository.listPermissions(id);
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
+ };
1634
2353
  //#endregion
1635
2354
  }
2355
+ //#endregion
2356
+ //#region methods / add related post
1636
2357
  addRelatedPost(id, relatedPostId, expectedVersion) {
1637
2358
  //#region @websqlFunc
1638
2359
  return async () => this.taonCmsContentRepository.addRelatedPost(id, relatedPostId, expectedVersion);
1639
2360
  //#endregion
1640
2361
  }
2362
+ //#endregion
2363
+ //#region methods / delete related post
1641
2364
  deleteRelatedPost(id, relatedPostId, expectedVersion) {
1642
2365
  //#region @websqlFunc
1643
2366
  return async () => this.taonCmsContentRepository.deleteRelatedPost(id, relatedPostId, expectedVersion);
1644
2367
  //#endregion
1645
2368
  }
2369
+ //#endregion
2370
+ //#region methods / list revisions
1646
2371
  listRevisions(id) {
1647
2372
  //#region @websqlFunc
1648
2373
  return async () => this.taonCmsContentRepository.listRevisions(id);
1649
2374
  //#endregion
1650
2375
  }
1651
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);
2419
+ __decorate([
2420
+ GET(),
2421
+ __param(0, Query(`slug`)),
2422
+ __metadata("design:type", Function),
2423
+ __metadata("design:paramtypes", [String]),
2424
+ __metadata("design:returntype", Object)
2425
+ ], TaonCmsContentController.prototype, "getBySlug", null);
1652
2426
  __decorate([
1653
2427
  POST(),
1654
2428
  __param(0, Body()),
@@ -1694,6 +2468,33 @@ __decorate([
1694
2468
  __metadata("design:paramtypes", [Number]),
1695
2469
  __metadata("design:returntype", Object)
1696
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);
2478
+ __decorate([
2479
+ GET(),
2480
+ __metadata("design:type", Function),
2481
+ __metadata("design:paramtypes", []),
2482
+ __metadata("design:returntype", Object)
2483
+ ], TaonCmsContentController.prototype, "listApplicationHooks", null);
2484
+ __decorate([
2485
+ GET(),
2486
+ __param(0, Query('hook')),
2487
+ __metadata("design:type", Function),
2488
+ __metadata("design:paramtypes", [String]),
2489
+ __metadata("design:returntype", Object)
2490
+ ], TaonCmsContentController.prototype, "getContentByHook", null);
2491
+ __decorate([
2492
+ GET(),
2493
+ __param(0, Query('hook')),
2494
+ __metadata("design:type", Function),
2495
+ __metadata("design:paramtypes", [String]),
2496
+ __metadata("design:returntype", Object)
2497
+ ], TaonCmsContentController.prototype, "getPublicContentByHook", null);
1697
2498
  __decorate([
1698
2499
  POST(),
1699
2500
  __param(0, Query('id')),
@@ -1721,6 +2522,7 @@ __decorate([
1721
2522
  ], TaonCmsContentController.prototype, "listRevisions", null);
1722
2523
  TaonCmsContentController = __decorate([
1723
2524
  TaonController({
2525
+ //#region controller options
1724
2526
  className: 'TaonCmsContentController',
1725
2527
  allowedMethods: [
1726
2528
  'getAll',
@@ -1732,10 +2534,21 @@ TaonCmsContentController = __decorate([
1732
2534
  'listRevisions',
1733
2535
  'listRelatedPosts',
1734
2536
  'listPermissions',
2537
+ 'getPermissionConfiguration',
2538
+ 'listApplicationHooks',
2539
+ 'getContentByHook',
2540
+ 'getPublicContentByHook',
2541
+ 'getVideoLinkBySlug',
2542
+ 'getPublicVideoLinkBySlug',
2543
+ 'getAudioLinkBySlug',
2544
+ 'getPublicAudioLinkBySlug',
2545
+ 'getAttachmentLinkBySlug',
2546
+ 'getPublicAttachmentLinkBySlug',
1735
2547
  'addRelatedPost',
1736
2548
  'deleteRelatedPost',
1737
- 'paginationQuery'
2549
+ 'paginationQuery',
1738
2550
  ],
2551
+ //#endregion
1739
2552
  })
1740
2553
  ], TaonCmsContentController);
1741
2554
 
@@ -1780,34 +2593,6 @@ TaonCmsContentSubscriber = __decorate([
1780
2593
  })
1781
2594
  ], TaonCmsContentSubscriber);
1782
2595
 
1783
- //#endregion
1784
- let TaonCmsContentStorageController = class TaonCmsContentStorageController extends TaonBaseStorageController {
1785
- async handleUploadFiles(files, queryParams, req, res) {
1786
- /* */
1787
- /* */
1788
- /* */
1789
- /* */
1790
- /* */
1791
- /* */
1792
- /* */
1793
- /* */
1794
- return (void 0);
1795
- }
1796
- afterFileUploadHook() { }
1797
- buildStorageDownloadUrl() {
1798
- throw new Error('Use the download endpoint for CMS media.');
1799
- }
1800
- async createStorageDownloadToken() {
1801
- throw new Error('CMS media download tokens are not enabled.');
1802
- }
1803
- };
1804
- TaonCmsContentStorageController = __decorate([
1805
- TaonController({
1806
- className: 'TaonCmsContentStorageController',
1807
- allowedMethods: ['exists', 'download', 'getMetadata', 'uploadFormDataToServer'],
1808
- })
1809
- ], TaonCmsContentStorageController);
1810
-
1811
2596
  //#region imports
1812
2597
  //#endregion
1813
2598
  const TaonCmsContentAbstractContext = createContext(() => ({
@@ -1820,7 +2605,7 @@ const TaonCmsContentAbstractContext = createContext(() => ({
1820
2605
  TaonCmsContentTagAbstractContext,
1821
2606
  TaonCmsContentRevisionAbstractContext,
1822
2607
  },
1823
- entities: { TaonCmsContentEntity },
2608
+ entities: { TaonCmsApplicationHookEntity, TaonCmsContentEntity },
1824
2609
  controllers: { TaonCmsContentController, TaonCmsContentStorageController },
1825
2610
  repositories: { TaonCmsContentRepository },
1826
2611
  providers: { TaonCmsContentProvider },
@@ -2168,95 +2953,462 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.9", ngImpor
2168
2953
  type: Injectable
2169
2954
  }] });
2170
2955
 
2171
- //#endregion
2172
- let TaonCmsContentPermissionMiddleware = class TaonCmsContentPermissionMiddleware extends TaonBaseMiddleware {
2173
- };
2174
- TaonCmsContentPermissionMiddleware = __decorate([
2175
- TaonMiddleware({
2176
- className: 'TaonCmsContentPermissionMiddleware',
2177
- })
2178
- ], TaonCmsContentPermissionMiddleware);
2179
-
2180
- //#endregion
2181
- let TaonCmsContentPermissionSubscriber = class TaonCmsContentPermissionSubscriber extends TaonBaseSubscriberForEntity {
2956
+ //#endregion
2957
+ let TaonCmsContentPermissionMiddleware = class TaonCmsContentPermissionMiddleware extends TaonBaseMiddleware {
2958
+ };
2959
+ TaonCmsContentPermissionMiddleware = __decorate([
2960
+ TaonMiddleware({
2961
+ className: 'TaonCmsContentPermissionMiddleware',
2962
+ })
2963
+ ], TaonCmsContentPermissionMiddleware);
2964
+
2965
+ //#endregion
2966
+ let TaonCmsContentPermissionSubscriber = class TaonCmsContentPermissionSubscriber extends TaonBaseSubscriberForEntity {
2967
+ constructor() {
2968
+ super(...arguments);
2969
+ this.taonCmsContentPermissionProvider = this.injectProvider(TaonCmsContentPermissionProvider);
2970
+ }
2971
+ listenTo() {
2972
+ return TaonCmsContentPermissionEntity;
2973
+ }
2974
+ };
2975
+ TaonCmsContentPermissionSubscriber = __decorate([
2976
+ TaonSubscriber({
2977
+ className: 'TaonCmsContentPermissionSubscriber',
2978
+ // allowedEvents: ['afterUpdate'],
2979
+ })
2980
+ ], TaonCmsContentPermissionSubscriber);
2981
+
2982
+ //#region imports
2983
+ //#endregion
2984
+ const TaonCmsContentPermissionAbstractContext = createContext(() => ({
2985
+ contextName: 'TaonCmsContentPermissionAbstractContext',
2986
+ abstract: true,
2987
+ contexts: { TaonBaseContext },
2988
+ entities: { TaonCmsContentPermissionEntity },
2989
+ controllers: { TaonCmsContentPermissionController },
2990
+ repositories: { TaonCmsContentPermissionRepository },
2991
+ providers: { TaonCmsContentPermissionProvider },
2992
+ middlewares: { TaonCmsContentPermissionMiddleware },
2993
+ subscribers: { TaonCmsContentPermissionSubscriber },
2994
+ }));
2995
+
2996
+ // THIS FILE IS GENERATED - DO NOT MODIFY
2997
+ const TaonCmsAbstractContext = createContext(() => ({
2998
+ contextName: 'TaonCmsAbstractContext',
2999
+ abstract: true,
3000
+ contexts: {
3001
+ TaonCmsCategoryAbstractContext,
3002
+ TaonCmsCommentAbstractContext,
3003
+ TaonCmsContentAbstractContext,
3004
+ TaonCmsContentAssetAbstractContext,
3005
+ TaonCmsContentPermissionAbstractContext,
3006
+ TaonCmsContentRevisionAbstractContext,
3007
+ TaonCmsContentTagAbstractContext,
3008
+ TaonCmsTagAbstractContext,
3009
+ TaonSessionAbstractContext,
3010
+ },
3011
+ }));
3012
+ // THIS FILE IS GENERATED - DO NOT MODIFY
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 {
2182
3297
  constructor() {
2183
- super(...arguments);
2184
- this.taonCmsContentPermissionProvider = this.injectProvider(TaonCmsContentPermissionProvider);
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" }] : []));
2185
3304
  }
2186
- listenTo() {
2187
- return TaonCmsContentPermissionEntity;
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';
2188
3314
  }
2189
- };
2190
- TaonCmsContentPermissionSubscriber = __decorate([
2191
- TaonSubscriber({
2192
- className: 'TaonCmsContentPermissionSubscriber',
2193
- // allowedEvents: ['afterUpdate'],
2194
- })
2195
- ], TaonCmsContentPermissionSubscriber);
2196
-
2197
- //#region imports
2198
- //#endregion
2199
- const TaonCmsContentPermissionAbstractContext = createContext(() => ({
2200
- contextName: 'TaonCmsContentPermissionAbstractContext',
2201
- abstract: true,
2202
- contexts: { TaonBaseContext },
2203
- entities: { TaonCmsContentPermissionEntity },
2204
- controllers: { TaonCmsContentPermissionController },
2205
- repositories: { TaonCmsContentPermissionRepository },
2206
- providers: { TaonCmsContentPermissionProvider },
2207
- middlewares: { TaonCmsContentPermissionMiddleware },
2208
- subscribers: { TaonCmsContentPermissionSubscriber },
2209
- }));
2210
-
2211
- // THIS FILE IS GENERATED - DO NOT MODIFY
2212
- const TaonCmsAbstractContext = createContext(() => ({
2213
- contextName: 'TaonCmsAbstractContext',
2214
- abstract: true,
2215
- contexts: {
2216
- TaonCmsCategoryAbstractContext,
2217
- TaonCmsCommentAbstractContext,
2218
- TaonCmsContentAbstractContext,
2219
- TaonCmsContentAssetAbstractContext,
2220
- TaonCmsContentPermissionAbstractContext,
2221
- TaonCmsContentRevisionAbstractContext,
2222
- TaonCmsContentTagAbstractContext,
2223
- TaonCmsTagAbstractContext,
2224
- TaonSessionAbstractContext,
2225
- },
2226
- }));
2227
- // THIS FILE IS GENERATED - DO NOT MODIFY
2228
-
2229
- ;
2230
- // THIS FILE IS GENERATED - DO NOT MODIFY
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
+ }] } });
2231
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 } });
2232
3361
  class TaonCmsAssetsBackofficeComponent {
2233
3362
  constructor() {
2234
- this.assets = [
2235
- { id: 1, name: 'Sample image.jpg' },
2236
- { id: 2, name: 'Sample document.pdf' },
2237
- ];
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" }] : []));
2238
3369
  this.columns = [
2239
- { header: 'ID', field: 'id', sortable: true },
2240
- { 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
+ },
2241
3377
  ];
2242
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
+ }
2243
3402
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.0.9", ngImport: i0, type: TaonCmsAssetsBackofficeComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
2244
- 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: `
2245
- <h1>CMS assets</h1>
2246
- <mtx-grid [data]="assets" [columns]="columns"></mtx-grid>
2247
- `, 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 }); }
2248
3404
  }
2249
3405
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.9", ngImport: i0, type: TaonCmsAssetsBackofficeComponent, decorators: [{
2250
3406
  type: Component,
2251
- args: [{
2252
- selector: 'taon-cms-assets-backoffice',
2253
- changeDetection: ChangeDetectionStrategy.OnPush,
2254
- imports: [MtxGrid],
2255
- template: `
2256
- <h1>CMS assets</h1>
2257
- <mtx-grid [data]="assets" [columns]="columns"></mtx-grid>
2258
- `,
2259
- }]
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" }]
2260
3412
  }] });
2261
3413
 
2262
3414
  var taonCmsAssetsBackoffice_component = /*#__PURE__*/Object.freeze({
@@ -2278,8 +3430,10 @@ var taonCmsAssetsBackoffice_routes = /*#__PURE__*/Object.freeze({
2278
3430
 
2279
3431
  //#region imports
2280
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 } });
2281
3434
  class TaonCmsBackofficeComponent {
2282
3435
  constructor() {
3436
+ this.t = t$8.for(this);
2283
3437
  this.componentLoaded = false;
2284
3438
  }
2285
3439
  onRouteActivate(component) {
@@ -2289,11 +3443,11 @@ class TaonCmsBackofficeComponent {
2289
3443
  this.componentLoaded = false;
2290
3444
  }
2291
3445
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.0.9", ngImport: i0, type: TaonCmsBackofficeComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
2292
- 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 }); }
2293
3447
  }
2294
3448
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.9", ngImport: i0, type: TaonCmsBackofficeComponent, decorators: [{
2295
3449
  type: Component,
2296
- 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"] }]
2297
3451
  }] });
2298
3452
 
2299
3453
  var taonCmsBackoffice_component = /*#__PURE__*/Object.freeze({
@@ -2302,21 +3456,28 @@ var taonCmsBackoffice_component = /*#__PURE__*/Object.freeze({
2302
3456
  });
2303
3457
 
2304
3458
  //#endregion
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 } });
2305
3461
  const TaonCmsBackofficeRoutes = [
2306
3462
  {
2307
3463
  path: '',
2308
3464
  loadComponent: () => Promise.resolve().then(function () { return taonCmsBackoffice_component; }).then(m => m.TaonCmsBackofficeComponent),
2309
3465
  children: [
2310
3466
  adminLazyRoute({
3467
+ isDisabled: ({ context }) => {
3468
+ // console.log('context', { context });
3469
+ return !context?.hasAccess.toManagePosts;
3470
+ },
2311
3471
  path: 'posts',
2312
- menuItem: 'Posts',
3472
+ menuItem: t$7.gettext('Posts'),
2313
3473
  expandable: true,
2314
3474
  icon: 'edit',
2315
3475
  loader: () => Promise.resolve().then(function () { return index$1; }).then(m => m.TaonCmsPostsBackofficeRoutes),
2316
3476
  }),
2317
3477
  adminLazyRoute({
3478
+ isDisabled: ({ context }) => !context?.hasAccess.toManagePosts,
2318
3479
  path: 'assets',
2319
- menuItem: 'Assets',
3480
+ menuItem: t$7.gettext('Assets'),
2320
3481
  expandable: false,
2321
3482
  icon: 'perm_media',
2322
3483
  loader: () => Promise.resolve().then(function () { return taonCmsAssetsBackoffice_routes; }).then(m => m.TaonCmsAssetsBackofficeRoutes),
@@ -2412,70 +3573,6 @@ var TaonCmsCommentUtils;
2412
3573
  TaonCmsCommentUtils.isActive = isActive;
2413
3574
  })(TaonCmsCommentUtils || (TaonCmsCommentUtils = {}));
2414
3575
 
2415
- //#region imports
2416
- //#endregion
2417
- class TaonCmsContentApiService extends TaonBaseAngularService {
2418
- constructor() {
2419
- super(...arguments);
2420
- this.taonCmsContentController = this.injectController(TaonCmsContentController);
2421
- this.taonCmsContentStorageController = this.injectController(TaonCmsContentStorageController);
2422
- }
2423
- async uploadMedia(file) {
2424
- const formData = new FormData();
2425
- formData.append('file', file);
2426
- const response = await this.taonCmsContentStorageController
2427
- .uploadFormDataToServer(formData)
2428
- .request();
2429
- const objects = response.body.json;
2430
- if (objects.length !== 1 || !objects[0].key) {
2431
- throw new Error('The upload did not return a media key.');
2432
- }
2433
- return objects[0];
2434
- }
2435
- createContent(input) {
2436
- return this.taonCmsContentController.createContent(input)
2437
- .request().observable.pipe(map(res => res.body.json));
2438
- }
2439
- updateContent(id, input) {
2440
- return this.taonCmsContentController.updateContent(id, input)
2441
- .request().observable.pipe(map(res => res.body.json));
2442
- }
2443
- deleteContent(id, expectedVersion) {
2444
- return this.taonCmsContentController.deleteContent(id, expectedVersion)
2445
- .request().observable.pipe(map(res => res.body.json));
2446
- }
2447
- restoreContent(id, input) {
2448
- return this.taonCmsContentController.restoreContent(id, input)
2449
- .request().observable.pipe(map(res => res.body.json));
2450
- }
2451
- listRevisions(id) {
2452
- return this.taonCmsContentController.listRevisions(id)
2453
- .request().observable.pipe(map(res => res.body.json));
2454
- }
2455
- listRelatedPosts(id) {
2456
- return this.taonCmsContentController.listRelatedPosts(id)
2457
- .request().observable.pipe(map(res => res.body.json));
2458
- }
2459
- listPermissions(id) {
2460
- return this.taonCmsContentController.listPermissions(id)
2461
- .request().observable.pipe(map(res => res.body.json));
2462
- }
2463
- addRelatedPost(id, relatedPostId, expectedVersion) {
2464
- return this.taonCmsContentController.addRelatedPost(id, relatedPostId, expectedVersion).request().observable.pipe(map(res => res.body.json));
2465
- }
2466
- deleteRelatedPost(id, relatedPostId, expectedVersion) {
2467
- return this.taonCmsContentController.deleteRelatedPost(id, relatedPostId, expectedVersion).request().observable.pipe(map(res => res.body.json));
2468
- }
2469
- get allMyEntities$() {
2470
- return this.taonCmsContentController.getAll().request().observable.pipe(map(res => res.body?.json));
2471
- }
2472
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.0.9", ngImport: i0, type: TaonCmsContentApiService, deps: null, target: i0.ɵɵFactoryTarget.Injectable }); }
2473
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "21.0.9", ngImport: i0, type: TaonCmsContentApiService }); }
2474
- }
2475
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.9", ngImport: i0, type: TaonCmsContentApiService, decorators: [{
2476
- type: Injectable
2477
- }] });
2478
-
2479
3576
  class TaonCmsContentConfigService extends TaonBaseAngularService {
2480
3577
  constructor() {
2481
3578
  super(...arguments);
@@ -2512,10 +3609,12 @@ class TaonCmsContentAssetApiService extends TaonBaseAngularService {
2512
3609
  this.taonCmsContentAssetController = this.injectController(TaonCmsContentAssetController);
2513
3610
  }
2514
3611
  get allMyEntities$() {
2515
- return this.taonCmsContentAssetController.getAll().request().observable.pipe(map(res => res.body?.json));
3612
+ return this.taonCmsContentAssetController.getAll()
3613
+ .request().observable.pipe(map(res => res.body?.json));
2516
3614
  }
2517
3615
  helloWorld(user) {
2518
- return this.taonCmsContentAssetController.helloWord(user).request().observable.pipe(map(res => res.responseText));
3616
+ return this.taonCmsContentAssetController.helloWord(user)
3617
+ .request().observable.pipe(map(res => res.responseText));
2519
3618
  }
2520
3619
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.0.9", ngImport: i0, type: TaonCmsContentAssetApiService, deps: null, target: i0.ɵɵFactoryTarget.Injectable }); }
2521
3620
  static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "21.0.9", ngImport: i0, type: TaonCmsContentAssetApiService }); }
@@ -2550,10 +3649,12 @@ class TaonCmsContentPermissionApiService extends TaonBaseAngularService {
2550
3649
  this.taonCmsContentPermissionController = this.injectController(TaonCmsContentPermissionController);
2551
3650
  }
2552
3651
  get allMyEntities$() {
2553
- return this.taonCmsContentPermissionController.getAll().request().observable.pipe(map(res => res.body?.json));
3652
+ return this.taonCmsContentPermissionController.getAll()
3653
+ .request().observable.pipe(map(res => res.body?.json));
2554
3654
  }
2555
3655
  helloWorld(user) {
2556
- return this.taonCmsContentPermissionController.helloWord(user).request().observable.pipe(map(res => res.responseText));
3656
+ return this.taonCmsContentPermissionController.helloWord(user)
3657
+ .request().observable.pipe(map(res => res.responseText));
2557
3658
  }
2558
3659
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.0.9", ngImport: i0, type: TaonCmsContentPermissionApiService, deps: null, target: i0.ɵɵFactoryTarget.Injectable }); }
2559
3660
  static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "21.0.9", ngImport: i0, type: TaonCmsContentPermissionApiService }); }
@@ -2589,8 +3690,7 @@ class TaonCmsContentRevisionApiService extends TaonBaseAngularService {
2589
3690
  this.taonCmsContentRevisionController = this.injectController(TaonCmsContentRevisionController);
2590
3691
  }
2591
3692
  listRevisions(id) {
2592
- return this.contentController.listRevisions(id)
2593
- .request().observable.pipe(map(res => res.body.json));
3693
+ return this.contentController.listRevisions(id).request().observable.pipe(map(res => res.body.json));
2594
3694
  }
2595
3695
  restoreContent(id, input) {
2596
3696
  return this.contentController.restoreContent(id, input)
@@ -2667,12 +3767,6 @@ class TaonCmsTagApiService extends TaonBaseAngularService {
2667
3767
  super(...arguments);
2668
3768
  this.taonCmsTagController = this.injectController(TaonCmsTagController);
2669
3769
  }
2670
- get allMyEntities$() {
2671
- return this.taonCmsTagController.getAll().request().observable.pipe(map(res => res.body?.json));
2672
- }
2673
- helloWorld(user) {
2674
- return this.taonCmsTagController.helloWord(user).request().observable.pipe(map(res => res.responseText));
2675
- }
2676
3770
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.0.9", ngImport: i0, type: TaonCmsTagApiService, deps: null, target: i0.ɵɵFactoryTarget.Injectable }); }
2677
3771
  static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "21.0.9", ngImport: i0, type: TaonCmsTagApiService }); }
2678
3772
  }
@@ -2818,8 +3912,10 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.9", ngImpor
2818
3912
  args: ['paste', ['$event']]
2819
3913
  }] } });
2820
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 } });
2821
3916
  class TaonCmsRevisionChooserComponent {
2822
3917
  constructor() {
3918
+ this.t = t$6.for(this);
2823
3919
  this.post = inject(MAT_DIALOG_DATA);
2824
3920
  this.revisions = signal([], ...(ngDevMode ? [{ debugName: "revisions" }] : []));
2825
3921
  this.selected = signal(null, ...(ngDevMode ? [{ debugName: "selected" }] : []));
@@ -2838,11 +3934,14 @@ class TaonCmsRevisionChooserComponent {
2838
3934
  this.selected.set(null);
2839
3935
  this.loading.set(true);
2840
3936
  this.error.set('');
2841
- 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({
2842
3941
  next: revisions => this.revisions.set([...revisions].sort((a, b) => b.revisionNumber - a.revisionNumber)),
2843
3942
  error: (error) => {
2844
3943
  console.error('[taon-cms-revision-chooser] Unable to load revisions', error);
2845
- 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.'));
2846
3945
  },
2847
3946
  });
2848
3947
  }
@@ -2852,20 +3951,22 @@ class TaonCmsRevisionChooserComponent {
2852
3951
  return;
2853
3952
  }
2854
3953
  if (revisionNumber === null) {
2855
- this.error.set('Select a revision to restore.');
3954
+ this.error.set(this.t.gettext('Select a revision to restore.'));
2856
3955
  return;
2857
3956
  }
2858
3957
  this.applying.set(true);
2859
3958
  this.error.set('');
2860
- this.api.restoreContent(this.post.id, {
3959
+ this.api
3960
+ .restoreContent(this.post.id, {
2861
3961
  revisionNumber,
2862
3962
  expectedVersion: this.post.version,
2863
- }).pipe(takeUntilDestroyed(this.destroyRef), finalize(() => this.applying.set(false))).subscribe({
3963
+ })
3964
+ .pipe(takeUntilDestroyed(this.destroyRef), finalize(() => this.applying.set(false)))
3965
+ .subscribe({
2864
3966
  next: post => this.ref.close(post),
2865
3967
  error: (error) => {
2866
3968
  console.error('[taon-cms-revision-chooser] Unable to restore revision', error);
2867
- this.error.set('The revision could not be restored. If the post changed, close and ' +
2868
- 'reopen it to load its latest version.');
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.'));
2869
3970
  },
2870
3971
  });
2871
3972
  }
@@ -2875,15 +3976,17 @@ class TaonCmsRevisionChooserComponent {
2875
3976
  }
2876
3977
  }
2877
3978
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.0.9", ngImport: i0, type: TaonCmsRevisionChooserComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
2878
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.0.9", type: TaonCmsRevisionChooserComponent, isStandalone: true, selector: "taon-cms-revision-chooser", providers: [TaonCmsContentRevisionApiService], ngImport: i0, template: "<h2 mat-dialog-title>Restore a revision</h2>\n<mat-dialog-content>\n <p>Restoring replaces the post, including its status, with the selected revision.</p>\n @if (loading()) {\n <p role=\"status\">Loading revisions...</p>\n } @else {\n <mat-radio-group aria-label=\"Post revisions\" [value]=\"selected()\" (change)=\"selected.set($event.value)\" [disabled]=\"applying()\">\n @for (revision of revisions(); track revision.id) {\n <mat-radio-button [value]=\"revision.revisionNumber\" [disabled]=\"!revision.snapshot\">\n <strong>Revision {{ revision.revisionNumber }}</strong>\n <span>{{ revision.createdAt | date: 'medium' }}</span>\n @if (revision.createdByUserId !== null && revision.createdByUserId !== undefined) {\n <span>User {{ revision.createdByUserId }}</span>\n }\n @if (!revision.snapshot) {\n <span>Legacy revision - cannot be restored</span>\n }\n </mat-radio-button>\n } @empty {\n <p>No revisions are available.</p>\n }\n </mat-radio-group>\n }\n @if (error()) {\n <p role=\"alert\">{{ error() }}</p>\n <button mat-button type=\"button\" [disabled]=\"loading() || applying()\" (click)=\"load()\">Reload revisions</button>\n }\n @if (applying()) {\n <p role=\"status\">Restoring...</p>\n }\n</mat-dialog-content>\n<mat-dialog-actions align=\"end\">\n <button mat-button type=\"button\" [disabled]=\"applying()\" (click)=\"cancel()\">Cancel</button>\n <button mat-flat-button type=\"button\" [disabled]=\"loading() || applying() || selected() === null\" (click)=\"apply()\">Apply</button>\n</mat-dialog-actions>\n", styles: ["mat-radio-group{display:flex;flex-direction:column;gap:1rem}mat-radio-button span{display:block;font-size:.875rem;opacity:.7}[role=alert]{color:#b3261e}\n"], dependencies: [{ kind: "ngmodule", type: MatButtonModule }, { kind: "component", type: i1.MatButton, selector: " button[matButton], a[matButton], button[mat-button], button[mat-raised-button], button[mat-flat-button], button[mat-stroked-button], a[mat-button], a[mat-raised-button], a[mat-flat-button], a[mat-stroked-button] ", inputs: ["matButton"], exportAs: ["matButton", "matAnchor"] }, { kind: "ngmodule", type: MatDialogModule }, { kind: "directive", type: i2.MatDialogTitle, selector: "[mat-dialog-title], [matDialogTitle]", inputs: ["id"], exportAs: ["matDialogTitle"] }, { kind: "directive", type: i2.MatDialogActions, selector: "[mat-dialog-actions], mat-dialog-actions, [matDialogActions]", inputs: ["align"] }, { kind: "directive", type: i2.MatDialogContent, selector: "[mat-dialog-content], mat-dialog-content, [matDialogContent]" }, { kind: "ngmodule", type: MatRadioModule }, { kind: "directive", type: i3.MatRadioGroup, selector: "mat-radio-group", inputs: ["color", "name", "labelPosition", "value", "selected", "disabled", "required", "disabledInteractive"], outputs: ["change"], exportAs: ["matRadioGroup"] }, { kind: "component", type: i3.MatRadioButton, selector: "mat-radio-button", inputs: ["id", "name", "aria-label", "aria-labelledby", "aria-describedby", "disableRipple", "tabIndex", "checked", "value", "labelPosition", "disabled", "required", "color", "disabledInteractive"], outputs: ["change"], exportAs: ["matRadioButton"] }, { kind: "pipe", type: DatePipe, name: "date" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
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 }); }
2879
3980
  }
2880
3981
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.9", ngImport: i0, type: TaonCmsRevisionChooserComponent, decorators: [{
2881
3982
  type: Component,
2882
- args: [{ selector: 'taon-cms-revision-chooser', changeDetection: ChangeDetectionStrategy.OnPush, imports: [DatePipe, MatButtonModule, MatDialogModule, MatRadioModule], providers: [TaonCmsContentRevisionApiService], template: "<h2 mat-dialog-title>Restore a revision</h2>\n<mat-dialog-content>\n <p>Restoring replaces the post, including its status, with the selected revision.</p>\n @if (loading()) {\n <p role=\"status\">Loading revisions...</p>\n } @else {\n <mat-radio-group aria-label=\"Post revisions\" [value]=\"selected()\" (change)=\"selected.set($event.value)\" [disabled]=\"applying()\">\n @for (revision of revisions(); track revision.id) {\n <mat-radio-button [value]=\"revision.revisionNumber\" [disabled]=\"!revision.snapshot\">\n <strong>Revision {{ revision.revisionNumber }}</strong>\n <span>{{ revision.createdAt | date: 'medium' }}</span>\n @if (revision.createdByUserId !== null && revision.createdByUserId !== undefined) {\n <span>User {{ revision.createdByUserId }}</span>\n }\n @if (!revision.snapshot) {\n <span>Legacy revision - cannot be restored</span>\n }\n </mat-radio-button>\n } @empty {\n <p>No revisions are available.</p>\n }\n </mat-radio-group>\n }\n @if (error()) {\n <p role=\"alert\">{{ error() }}</p>\n <button mat-button type=\"button\" [disabled]=\"loading() || applying()\" (click)=\"load()\">Reload revisions</button>\n }\n @if (applying()) {\n <p role=\"status\">Restoring...</p>\n }\n</mat-dialog-content>\n<mat-dialog-actions align=\"end\">\n <button mat-button type=\"button\" [disabled]=\"applying()\" (click)=\"cancel()\">Cancel</button>\n <button mat-flat-button type=\"button\" [disabled]=\"loading() || applying() || selected() === null\" (click)=\"apply()\">Apply</button>\n</mat-dialog-actions>\n", styles: ["mat-radio-group{display:flex;flex-direction:column;gap:1rem}mat-radio-button span{display:block;font-size:.875rem;opacity:.7}[role=alert]{color:#b3261e}\n"] }]
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"] }]
2883
3984
  }], ctorParameters: () => [] });
2884
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 } });
2885
3987
  class TaonRelatedPostChooserComponent {
2886
3988
  constructor() {
3989
+ this.t = t$5.for(this);
2887
3990
  this.data = inject(MAT_DIALOG_DATA);
2888
3991
  this.posts = signal([], ...(ngDevMode ? [{ debugName: "posts" }] : []));
2889
3992
  this.selected = signal(null, ...(ngDevMode ? [{ debugName: "selected" }] : []));
@@ -2914,7 +4017,7 @@ class TaonRelatedPostChooserComponent {
2914
4017
  next: posts => this.posts.set(posts),
2915
4018
  error: (error) => {
2916
4019
  console.error('[taon-related-post-chooser] Unable to load posts', error);
2917
- 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.'));
2918
4021
  },
2919
4022
  });
2920
4023
  }
@@ -2930,7 +4033,7 @@ class TaonRelatedPostChooserComponent {
2930
4033
  }
2931
4034
  const post = this.filteredPosts().find(post => post.id === this.selected());
2932
4035
  if (!post) {
2933
- this.error.set('Select a related post.');
4036
+ this.error.set(this.t.gettext('Select a related post.'));
2934
4037
  return;
2935
4038
  }
2936
4039
  this.ref.close(post);
@@ -2939,19 +4042,21 @@ class TaonRelatedPostChooserComponent {
2939
4042
  this.ref.close();
2940
4043
  }
2941
4044
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.0.9", ngImport: i0, type: TaonRelatedPostChooserComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
2942
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.0.9", type: TaonRelatedPostChooserComponent, isStandalone: true, selector: "taon-related-post-chooser", providers: [TaonCmsContentApiService], ngImport: i0, template: "<h2 mat-dialog-title>Add related post</h2>\n<mat-dialog-content>\n <label class=\"search-field\">\n <span>Search posts</span>\n <input type=\"search\" aria-label=\"Search posts by ID, title or slug\" [value]=\"query()\" [disabled]=\"loading()\" (input)=\"search($event)\" />\n </label>\n @if (loading()) {\n <p role=\"status\">Loading posts...</p>\n } @else if (error()) {\n <p class=\"error\" role=\"alert\">{{ error() }}</p>\n <button mat-button type=\"button\" (click)=\"load()\">Try again</button>\n } @else {\n <mat-radio-group aria-label=\"Related post\" [value]=\"selected()\" (change)=\"selected.set($event.value)\">\n @for (post of filteredPosts(); track post.id) {\n <mat-radio-button [value]=\"post.id\">\n #{{ post.id }} - {{ post.title }} <span class=\"slug\">{{ post.slug }}</span>\n </mat-radio-button>\n } @empty {\n <p>No matching posts available.</p>\n }\n </mat-radio-group>\n }\n</mat-dialog-content>\n<mat-dialog-actions align=\"end\">\n <button mat-button type=\"button\" (click)=\"cancel()\">Cancel</button>\n <button mat-flat-button type=\"button\" [disabled]=\"loading() || !!error() || selected() === null\" (click)=\"choose()\">Add related post</button>\n</mat-dialog-actions>\n", styles: [".search-field,mat-radio-group{display:flex;flex-direction:column;gap:.75rem;margin-bottom:1rem}.search-field input{padding:.5rem;color:inherit;background:transparent;border:1px solid rgba(136,136,136,.3333333333);border-radius:4px}.slug{display:block;opacity:.7;overflow-wrap:anywhere}.error{color:#b3261e}\n"], dependencies: [{ kind: "ngmodule", type: MatButtonModule }, { kind: "component", type: i1.MatButton, selector: " button[matButton], a[matButton], button[mat-button], button[mat-raised-button], button[mat-flat-button], button[mat-stroked-button], a[mat-button], a[mat-raised-button], a[mat-flat-button], a[mat-stroked-button] ", inputs: ["matButton"], exportAs: ["matButton", "matAnchor"] }, { kind: "ngmodule", type: MatDialogModule }, { kind: "directive", type: i2.MatDialogTitle, selector: "[mat-dialog-title], [matDialogTitle]", inputs: ["id"], exportAs: ["matDialogTitle"] }, { kind: "directive", type: i2.MatDialogActions, selector: "[mat-dialog-actions], mat-dialog-actions, [matDialogActions]", inputs: ["align"] }, { kind: "directive", type: i2.MatDialogContent, selector: "[mat-dialog-content], mat-dialog-content, [matDialogContent]" }, { kind: "ngmodule", type: MatRadioModule }, { kind: "directive", type: i3.MatRadioGroup, selector: "mat-radio-group", inputs: ["color", "name", "labelPosition", "value", "selected", "disabled", "required", "disabledInteractive"], outputs: ["change"], exportAs: ["matRadioGroup"] }, { kind: "component", type: i3.MatRadioButton, selector: "mat-radio-button", inputs: ["id", "name", "aria-label", "aria-labelledby", "aria-describedby", "disableRipple", "tabIndex", "checked", "value", "labelPosition", "disabled", "required", "color", "disabledInteractive"], outputs: ["change"], exportAs: ["matRadioButton"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
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 }); }
2943
4046
  }
2944
4047
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.9", ngImport: i0, type: TaonRelatedPostChooserComponent, decorators: [{
2945
4048
  type: Component,
2946
- args: [{ selector: 'taon-related-post-chooser', changeDetection: ChangeDetectionStrategy.OnPush, imports: [MatButtonModule, MatDialogModule, MatRadioModule], providers: [TaonCmsContentApiService], template: "<h2 mat-dialog-title>Add related post</h2>\n<mat-dialog-content>\n <label class=\"search-field\">\n <span>Search posts</span>\n <input type=\"search\" aria-label=\"Search posts by ID, title or slug\" [value]=\"query()\" [disabled]=\"loading()\" (input)=\"search($event)\" />\n </label>\n @if (loading()) {\n <p role=\"status\">Loading posts...</p>\n } @else if (error()) {\n <p class=\"error\" role=\"alert\">{{ error() }}</p>\n <button mat-button type=\"button\" (click)=\"load()\">Try again</button>\n } @else {\n <mat-radio-group aria-label=\"Related post\" [value]=\"selected()\" (change)=\"selected.set($event.value)\">\n @for (post of filteredPosts(); track post.id) {\n <mat-radio-button [value]=\"post.id\">\n #{{ post.id }} - {{ post.title }} <span class=\"slug\">{{ post.slug }}</span>\n </mat-radio-button>\n } @empty {\n <p>No matching posts available.</p>\n }\n </mat-radio-group>\n }\n</mat-dialog-content>\n<mat-dialog-actions align=\"end\">\n <button mat-button type=\"button\" (click)=\"cancel()\">Cancel</button>\n <button mat-flat-button type=\"button\" [disabled]=\"loading() || !!error() || selected() === null\" (click)=\"choose()\">Add related post</button>\n</mat-dialog-actions>\n", styles: [".search-field,mat-radio-group{display:flex;flex-direction:column;gap:.75rem;margin-bottom:1rem}.search-field input{padding:.5rem;color:inherit;background:transparent;border:1px solid rgba(136,136,136,.3333333333);border-radius:4px}.slug{display:block;opacity:.7;overflow-wrap:anywhere}.error{color:#b3261e}\n"] }]
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"] }]
2947
4050
  }], ctorParameters: () => [] });
2948
4051
 
2949
4052
  //#region imports
2950
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 } });
2951
4055
  class TaonCmsPostComponent {
2952
4056
  //#endregion
2953
4057
  //#region constructor
2954
4058
  constructor() {
4059
+ this.t = t$4.for(this);
2955
4060
  //#region fields and getters
2956
4061
  this.post = input(null, ...(ngDevMode ? [{ debugName: "post" }] : []));
2957
4062
  this.mode = model('view', ...(ngDevMode ? [{ debugName: "mode" }] : []));
@@ -2959,6 +4064,9 @@ class TaonCmsPostComponent {
2959
4064
  this.deleted = output();
2960
4065
  this.cancelled = output();
2961
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...');
2962
4070
  this.draft = signal({
2963
4071
  type: TaonCmsContentType.Normal,
2964
4072
  title: '',
@@ -2970,43 +4078,64 @@ class TaonCmsPostComponent {
2970
4078
  attachmentKey: null,
2971
4079
  }, ...(ngDevMode ? [{ debugName: "draft" }] : []));
2972
4080
  this.postTypes = [
2973
- { value: TaonCmsContentType.Normal, label: 'Normal post' },
2974
- { value: TaonCmsContentType.Video, label: 'Video post' },
2975
- { value: TaonCmsContentType.Audio, label: 'Audio post' },
2976
- { value: TaonCmsContentType.Attachment, label: 'Attachment post' },
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
+ },
2977
4091
  ];
2978
4092
  this.mediaAttachments = [
2979
4093
  {
2980
4094
  type: TaonCmsContentType.Video,
2981
4095
  key: 'videoKey',
2982
- heading: 'Video Attachment',
2983
- uploadLabel: 'Upload video',
4096
+ heading: this.t.gettext('Video Attachment'),
4097
+ uploadLabel: this.t.gettext('Upload video'),
2984
4098
  accept: 'video/*',
2985
4099
  },
2986
4100
  {
2987
4101
  type: TaonCmsContentType.Audio,
2988
4102
  key: 'audioKey',
2989
- heading: 'Audio Attachment',
2990
- uploadLabel: 'Upload audio',
4103
+ heading: this.t.gettext('Audio Attachment'),
4104
+ uploadLabel: this.t.gettext('Upload audio'),
2991
4105
  accept: 'audio/*',
2992
4106
  },
2993
4107
  {
2994
4108
  type: TaonCmsContentType.Attachment,
2995
4109
  key: 'attachmentKey',
2996
- heading: 'File Attachment',
2997
- uploadLabel: 'Upload file',
4110
+ heading: this.t.gettext('File Attachment'),
4111
+ uploadLabel: this.t.gettext('Upload file'),
2998
4112
  accept: '',
2999
4113
  },
3000
4114
  ];
3001
4115
  this.mediaAttachment = computed(() => this.mediaAttachments.find(media => media.type === this.draft().type), ...(ngDevMode ? [{ debugName: "mediaAttachment" }] : []));
3002
4116
  this.busy = signal(false, ...(ngDevMode ? [{ debugName: "busy" }] : []));
3003
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 = '';
3004
4126
  this.dialogOpen = signal(false, ...(ngDevMode ? [{ debugName: "dialogOpen" }] : []));
3005
4127
  this.error = signal('', ...(ngDevMode ? [{ debugName: "error" }] : []));
3006
4128
  this.relatedPosts = signal([], ...(ngDevMode ? [{ debugName: "relatedPosts" }] : []));
3007
4129
  this.relatedPostsLoading = signal(false, ...(ngDevMode ? [{ debugName: "relatedPostsLoading" }] : []));
3008
4130
  this.relatedPostsError = signal('', ...(ngDevMode ? [{ debugName: "relatedPostsError" }] : []));
4131
+ this.applicationHooks = signal([], ...(ngDevMode ? [{ debugName: "applicationHooks" }] : []));
4132
+ this.applicationHooksLoading = signal(false, ...(ngDevMode ? [{ debugName: "applicationHooksLoading" }] : []));
4133
+ this.applicationHooksError = signal('', ...(ngDevMode ? [{ debugName: "applicationHooksError" }] : []));
4134
+ this.useAsApplicationHook = signal(false, ...(ngDevMode ? [{ debugName: "useAsApplicationHook" }] : []));
4135
+ this.selectedApplicationHook = signal(null, ...(ngDevMode ? [{ debugName: "selectedApplicationHook" }] : []));
3009
4136
  this.permissions = signal([], ...(ngDevMode ? [{ debugName: "permissions" }] : []));
4137
+ this.applyPermissionsToRelatedPosts = signal(false, ...(ngDevMode ? [{ debugName: "applyPermissionsToRelatedPosts" }] : []));
4138
+ this.permissionSource = signal(null, ...(ngDevMode ? [{ debugName: "permissionSource" }] : []));
3010
4139
  this.permissionsLoading = signal(false, ...(ngDevMode ? [{ debugName: "permissionsLoading" }] : []));
3011
4140
  this.permissionsError = signal('', ...(ngDevMode ? [{ debugName: "permissionsError" }] : []));
3012
4141
  this.permissionOptions = signal([], ...(ngDevMode ? [{ debugName: "permissionOptions" }] : []));
@@ -3022,6 +4151,9 @@ class TaonCmsPostComponent {
3022
4151
  !!this.draft().slug.trim() &&
3023
4152
  !this.relatedPostsLoading() &&
3024
4153
  !this.relatedPostsError() &&
4154
+ !this.applicationHooksLoading() &&
4155
+ !this.applicationHooksError() &&
4156
+ (!this.useAsApplicationHook() || !!this.selectedApplicationHook()) &&
3025
4157
  !this.permissionsLoading() &&
3026
4158
  !this.permissionsError(), ...(ngDevMode ? [{ debugName: "canSave" }] : []));
3027
4159
  this.canPublish = computed(() => {
@@ -3038,8 +4170,79 @@ class TaonCmsPostComponent {
3038
4170
  });
3039
4171
  effect(() => {
3040
4172
  if (this.editing()) {
3041
- untracked(() => this.loadPermissionOptions());
4173
+ untracked(() => {
4174
+ this.loadApplicationHooks();
4175
+ this.loadPermissionOptions();
4176
+ });
4177
+ }
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;
3042
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
+ });
3043
4246
  });
3044
4247
  }
3045
4248
  //#endregion
@@ -3061,7 +4264,7 @@ class TaonCmsPostComponent {
3061
4264
  next: posts => this.relatedPosts.set(posts),
3062
4265
  error: (error) => {
3063
4266
  console.error('[taon-cms-post] Unable to load related posts', error);
3064
- 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.'));
3065
4268
  },
3066
4269
  });
3067
4270
  }
@@ -3110,9 +4313,41 @@ class TaonCmsPostComponent {
3110
4313
  this.relatedPosts.update(posts => posts.filter(post => post.id !== id));
3111
4314
  }
3112
4315
  //#endregion
4316
+ //#region methods / application hooks
4317
+ loadApplicationHooks() {
4318
+ if (this.applicationHooksLoading()) {
4319
+ return;
4320
+ }
4321
+ this.applicationHooksLoading.set(true);
4322
+ this.applicationHooksError.set('');
4323
+ this.applicationHooksLoad = this.api
4324
+ .listApplicationHooks()
4325
+ .pipe(takeUntilDestroyed(this.destroyRef), finalize(() => this.applicationHooksLoading.set(false)))
4326
+ .subscribe({
4327
+ next: hooks => {
4328
+ this.applicationHooks.set(hooks);
4329
+ this.setApplicationHookSelection(this.currentPost(), hooks);
4330
+ },
4331
+ error: (error) => {
4332
+ console.error('[taon-cms-post] Unable to load application hooks', error);
4333
+ this.applicationHooksError.set(this.t.gettext('Application hooks could not be loaded. Please try again.'));
4334
+ },
4335
+ });
4336
+ }
4337
+ setUseAsApplicationHook(enabled) {
4338
+ this.useAsApplicationHook.set(enabled);
4339
+ }
4340
+ applicationHookInUseByAnotherPost(applicationHook) {
4341
+ return (applicationHook.contentId !== null &&
4342
+ applicationHook.contentId !== this.currentPost()?.id);
4343
+ }
4344
+ applicationHookLabel(hook) {
4345
+ return hook.split('-').join('_').toUpperCase();
4346
+ }
4347
+ //#endregion
3113
4348
  //#region methods / load permissions
3114
4349
  loadPermissions() {
3115
- if (this.busy() || this.permissionsLoading()) {
4350
+ if (this.permissionsLoading()) {
3116
4351
  return;
3117
4352
  }
3118
4353
  const post = this.requirePost();
@@ -3122,20 +4357,28 @@ class TaonCmsPostComponent {
3122
4357
  this.permissionsLoading.set(true);
3123
4358
  this.permissionsError.set('');
3124
4359
  this.permissionsLoad = this.api
3125
- .listPermissions(post.id)
4360
+ .getPermissionConfiguration(post.id)
3126
4361
  .pipe(takeUntilDestroyed(this.destroyRef), finalize(() => this.permissionsLoading.set(false)))
3127
4362
  .subscribe({
3128
- next: permissions => this.permissions.set(permissions),
4363
+ next: configuration => {
4364
+ this.permissions.set(configuration.permissions);
4365
+ this.permissionSource.set(configuration.source);
4366
+ },
3129
4367
  error: (error) => {
3130
4368
  console.error('[taon-cms-post] Unable to load permissions', error);
3131
- 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.'));
3132
4370
  },
3133
4371
  });
3134
4372
  }
3135
4373
  //#endregion
3136
4374
  //#region methods / add permission
3137
4375
  addPermission() {
3138
- 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()) {
3139
4382
  return;
3140
4383
  }
3141
4384
  const permissionId = this.selectedPermissionId();
@@ -3148,7 +4391,12 @@ class TaonCmsPostComponent {
3148
4391
  //#endregion
3149
4392
  //#region methods / remove permission
3150
4393
  removePermission(id) {
3151
- 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()) {
3152
4400
  return;
3153
4401
  }
3154
4402
  this.permissions.update(items => items.filter(permission => permission.id !== id));
@@ -3168,7 +4416,7 @@ class TaonCmsPostComponent {
3168
4416
  next: permissions => this.permissionOptions.set(permissions),
3169
4417
  error: (error) => {
3170
4418
  console.error('[taon-cms-post] Unable to load permission options', error);
3171
- 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.'));
3172
4420
  },
3173
4421
  });
3174
4422
  }
@@ -3181,7 +4429,7 @@ class TaonCmsPostComponent {
3181
4429
  //#region methods / file selected
3182
4430
  async fileSelected(event) {
3183
4431
  if (!(event.target instanceof HTMLInputElement)) {
3184
- this.error.set('Unable to read the selected media file.');
4432
+ this.error.set(this.t.gettext('Unable to read the selected media file.'));
3185
4433
  return;
3186
4434
  }
3187
4435
  const input = event.target;
@@ -3197,20 +4445,38 @@ class TaonCmsPostComponent {
3197
4445
  const draft = this.draft();
3198
4446
  this.busy.set(true);
3199
4447
  this.uploading.set(true);
4448
+ this.uploadProgress.set(0);
3200
4449
  this.error.set('');
3201
4450
  try {
3202
- 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
+ });
3203
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
+ }
3204
4469
  this.updateDraft(media.key, object.key);
3205
4470
  }
3206
4471
  }
3207
4472
  catch (error) {
3208
4473
  console.error('[taon-cms-post] Unable to upload media', error);
3209
- 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.'));
3210
4475
  }
3211
4476
  finally {
3212
4477
  this.busy.set(false);
3213
4478
  this.uploading.set(false);
4479
+ this.uploadProgress.set(0);
3214
4480
  input.value = '';
3215
4481
  }
3216
4482
  }
@@ -3221,9 +4487,67 @@ class TaonCmsPostComponent {
3221
4487
  if (!media || !this.editing() || this.busy() || this.dialogOpen()) {
3222
4488
  return;
3223
4489
  }
4490
+ this.uploadedMediaPreview.set(null);
3224
4491
  this.updateDraft(media.key, null);
3225
4492
  }
3226
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
3227
4551
  //#region methods / update slug
3228
4552
  updateSlug(event) {
3229
4553
  if (event.target instanceof HTMLInputElement) {
@@ -3262,7 +4586,7 @@ class TaonCmsPostComponent {
3262
4586
  return;
3263
4587
  }
3264
4588
  if (!this.canSave()) {
3265
- this.error.set('A title and slug are required.');
4589
+ this.error.set(this.t.gettext('A title and slug are required.'));
3266
4590
  return;
3267
4591
  }
3268
4592
  if (this.mode() === 'add') {
@@ -3270,6 +4594,10 @@ class TaonCmsPostComponent {
3270
4594
  ...this.draft(),
3271
4595
  relatedPostIds: this.relatedPosts().map(post => post.id),
3272
4596
  permissionIds: this.permissions().map(permission => permission.id),
4597
+ applyPermissionsToRelatedPosts: this.applyPermissionsToRelatedPosts(),
4598
+ applicationHook: this.useAsApplicationHook()
4599
+ ? this.selectedApplicationHook()
4600
+ : null,
3273
4601
  }));
3274
4602
  }
3275
4603
  else {
@@ -3290,7 +4618,7 @@ class TaonCmsPostComponent {
3290
4618
  return;
3291
4619
  }
3292
4620
  if (this.editing() && !this.canSave()) {
3293
- this.error.set('A title and slug are required.');
4621
+ this.error.set(this.t.gettext('A title and slug are required.'));
3294
4622
  return;
3295
4623
  }
3296
4624
  const post = this.requirePost();
@@ -3305,6 +4633,23 @@ class TaonCmsPostComponent {
3305
4633
  }
3306
4634
  }
3307
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
3308
4653
  //#region methods / revert
3309
4654
  revert() {
3310
4655
  const post = this.requirePost();
@@ -3344,9 +4689,9 @@ class TaonCmsPostComponent {
3344
4689
  this.dialogOpen.set(true);
3345
4690
  const ref = this.dialog.open(TaonConfirmDialogComponent, {
3346
4691
  data: {
3347
- title: 'Delete post?',
3348
- message: 'This archives the post. It can be restored from its revisions.',
3349
- 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'),
3350
4695
  },
3351
4696
  });
3352
4697
  ref
@@ -3365,7 +4710,15 @@ class TaonCmsPostComponent {
3365
4710
  return {
3366
4711
  ...this.draft(),
3367
4712
  relatedPostIds: this.relatedPosts().map(related => related.id),
3368
- 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(),
4719
+ applicationHook: this.useAsApplicationHook()
4720
+ ? this.selectedApplicationHook()
4721
+ : null,
3369
4722
  expectedVersion: post.version,
3370
4723
  };
3371
4724
  }
@@ -3374,7 +4727,7 @@ class TaonCmsPostComponent {
3374
4727
  requirePost() {
3375
4728
  const post = this.currentPost();
3376
4729
  if (!post) {
3377
- this.error.set('No post is loaded.');
4730
+ this.error.set(this.t.gettext('No post is loaded.'));
3378
4731
  }
3379
4732
  return post;
3380
4733
  }
@@ -3382,15 +4735,24 @@ class TaonCmsPostComponent {
3382
4735
  //#region methods / set post
3383
4736
  setPost(post) {
3384
4737
  this.relatedPostsLoad?.unsubscribe();
4738
+ this.applicationHooksLoad?.unsubscribe();
3385
4739
  this.permissionsLoad?.unsubscribe();
3386
4740
  this.relatedPostsLoading.set(false);
3387
4741
  this.relatedPostsError.set('');
4742
+ this.applicationHooksLoading.set(false);
4743
+ this.applicationHooksError.set('');
3388
4744
  this.permissionsLoading.set(false);
3389
4745
  this.permissionsError.set('');
4746
+ this.uploadedMediaPreview.set(null);
4747
+ this.mediaPreviewSignature = '';
4748
+ this.mediaPreviewRequest += 1;
3390
4749
  this.currentPost.set(post);
3391
4750
  this.relatedPosts.set(post?.relatedPosts ?? []);
3392
4751
  this.permissions.set(post?.permissions ?? []);
4752
+ this.permissionSource.set(null);
4753
+ this.applyPermissionsToRelatedPosts.set(post?.applyPermissionsToRelatedPosts ?? false);
3393
4754
  this.selectedPermissionId.set(null);
4755
+ this.setApplicationHookSelection(post, this.applicationHooks());
3394
4756
  this.draft.set({
3395
4757
  type: post?.type ?? TaonCmsContentType.Normal,
3396
4758
  title: post?.title ?? '',
@@ -3406,13 +4768,19 @@ class TaonCmsPostComponent {
3406
4768
  this.mode() !== 'view-clean') {
3407
4769
  this.loadRelatedPosts();
3408
4770
  }
3409
- if (post &&
3410
- post.permissions === undefined &&
3411
- this.mode() !== 'view-clean') {
4771
+ if (post && this.mode() !== 'view-clean') {
3412
4772
  this.loadPermissions();
3413
4773
  }
3414
4774
  }
3415
4775
  //#endregion
4776
+ setApplicationHookSelection(post, hooks) {
4777
+ const assignedHook = post?.applicationHook !== undefined
4778
+ ? post.applicationHook?.hook
4779
+ : hooks.find(applicationHook => applicationHook.contentId === post?.id)
4780
+ ?.hook;
4781
+ this.useAsApplicationHook.set(!!assignedHook);
4782
+ this.selectedApplicationHook.set(assignedHook ?? null);
4783
+ }
3416
4784
  //#region methods / accept post
3417
4785
  acceptPost(post) {
3418
4786
  this.setPost(post);
@@ -3439,24 +4807,25 @@ class TaonCmsPostComponent {
3439
4807
  },
3440
4808
  error: (error) => {
3441
4809
  console.error('[taon-cms-post] Unable to save post', error);
3442
- this.error.set('The post could not be saved. Check the slug and your connection. ' +
3443
- '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.'));
3444
4811
  },
3445
4812
  });
3446
4813
  }
3447
4814
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.0.9", ngImport: i0, type: TaonCmsPostComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
3448
- 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=\"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,.post-permissions{margin-top:1.5rem;font-size:.875rem}.media-attachment h2,.related-posts h2,.post-permissions h2{font-size:1rem}.related-posts ul,.post-permissions ul{padding:0;list-style:none}.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: MatFormFieldModule }, { kind: "component", type: i2$1.MatFormField, selector: "mat-form-field", inputs: ["hideRequiredMarker", "color", "floatLabel", "appearance", "subscriptSizing", "hintLabel"], exportAs: ["matFormField"] }, { kind: "directive", type: i2$1.MatLabel, selector: "mat-label" }, { kind: "ngmodule", type: MatIconModule }, { kind: "component", type: i3$1.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: i5.MatSelect, selector: "mat-select", inputs: ["aria-describedby", "panelClass", "disabled", "disableRipple", "tabIndex", "hideSingleSelectionIndicator", "placeholder", "required", "multiple", "disableOptionCentering", "compareWith", "value", "aria-label", "aria-labelledby", "errorStateMatcher", "typeaheadDebounceInterval", "sortComparator", "id", "panelWidth", "canSelectNullableOptions"], outputs: ["openedChange", "opened", "closed", "selectionChange", "valueChange"], exportAs: ["matSelect"] }, { kind: "component", type: i5.MatOption, selector: "mat-option", inputs: ["value", "id", "disabled"], outputs: ["onSelectionChange"], exportAs: ["matOption"] }, { kind: "directive", type: TaonCmsEditableDirective, selector: "[taonCmsEditable]", inputs: ["taonCmsEditableFormat", "taonCmsEditableSingleLine", "taonCmsEditable"], outputs: ["taonCmsEditableChange"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
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 }); }
3449
4816
  }
3450
4817
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.9", ngImport: i0, type: TaonCmsPostComponent, decorators: [{
3451
4818
  type: Component,
3452
4819
  args: [{ selector: 'taon-cms-post', changeDetection: ChangeDetectionStrategy.OnPush, imports: [
3453
4820
  MatButtonModule,
4821
+ MatCheckboxModule,
3454
4822
  MatFormFieldModule,
3455
4823
  MatIconModule,
4824
+ MatProgressBarModule,
3456
4825
  MatRadioModule,
3457
4826
  MatSelectModule,
3458
4827
  TaonCmsEditableDirective,
3459
- ], 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=\"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,.post-permissions{margin-top:1.5rem;font-size:.875rem}.media-attachment h2,.related-posts h2,.post-permissions h2{font-size:1rem}.related-posts ul,.post-permissions ul{padding:0;list-style:none}.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"] }]
3460
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"] }] } });
3461
4830
 
3462
4831
  var taonCmsPost_component = /*#__PURE__*/Object.freeze({
@@ -3488,14 +4857,20 @@ const TaonCmsPostRoutes = [
3488
4857
  */
3489
4858
  // export default TaonCmsPostRoutes;
3490
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 } });
3491
4861
  class TaonCmsPostDetailsPageComponent {
3492
4862
  constructor() {
4863
+ this.t = t$3.for(this);
3493
4864
  this.post$ = inject(ActivatedRoute).data.pipe(map$1(data => data['post']));
3494
4865
  }
3495
4866
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.0.9", ngImport: i0, type: TaonCmsPostDetailsPageComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
3496
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: `
3497
4868
  @if (post$ | async; as post) {
3498
- <a mat-button routerLink="../">Back to Posts</a>
4869
+ <a
4870
+ mat-button
4871
+ routerLink="../"
4872
+ >{{ t.gettext('Back to Posts') }}</a
4873
+ >
3499
4874
  <taon-cms-post [post]="post"></taon-cms-post>
3500
4875
  }
3501
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 }); }
@@ -3508,7 +4883,11 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.9", ngImpor
3508
4883
  imports: [AsyncPipe, MatButtonModule, RouterLink, TaonCmsPostComponent],
3509
4884
  template: `
3510
4885
  @if (post$ | async; as post) {
3511
- <a mat-button routerLink="../">Back to Posts</a>
4886
+ <a
4887
+ mat-button
4888
+ routerLink="../"
4889
+ >{{ t.gettext('Back to Posts') }}</a
4890
+ >
3512
4891
  <taon-cms-post [post]="post"></taon-cms-post>
3513
4892
  }
3514
4893
  `,
@@ -3520,8 +4899,10 @@ var taonCmsPostDetailsPage_component = /*#__PURE__*/Object.freeze({
3520
4899
  TaonCmsPostDetailsPageComponent: TaonCmsPostDetailsPageComponent
3521
4900
  });
3522
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 } });
3523
4903
  class TaonCmsPostEditDialogComponent {
3524
4904
  constructor() {
4905
+ this.t = t$2.for(this);
3525
4906
  this.data = inject(MAT_DIALOG_DATA);
3526
4907
  this.editor = viewChild(TaonCmsPostComponent, ...(ngDevMode ? [{ debugName: "editor" }] : []));
3527
4908
  this.changed = new EventEmitter();
@@ -3536,17 +4917,24 @@ class TaonCmsPostEditDialogComponent {
3536
4917
  this.ref.close(post);
3537
4918
  }
3538
4919
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.0.9", ngImport: i0, type: TaonCmsPostEditDialogComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
3539
- 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: i3$1.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 }); }
3540
4921
  }
3541
4922
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.9", ngImport: i0, type: TaonCmsPostEditDialogComponent, decorators: [{
3542
4923
  type: Component,
3543
- 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"] }]
3544
4930
  }], propDecorators: { editor: [{ type: i0.ViewChild, args: [i0.forwardRef(() => TaonCmsPostComponent), { isSignal: true }] }] } });
3545
4931
 
3546
4932
  //#region imports
3547
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 } });
3548
4935
  class TaonCmsPostsBackofficeComponent {
3549
4936
  constructor() {
4937
+ this.t = t$1.for(this);
3550
4938
  this.taonCmsContentApiService = inject(TaonCmsContentApiService);
3551
4939
  this.posts = signal([], ...(ngDevMode ? [{ debugName: "posts" }] : []));
3552
4940
  this.loading = signal(false, ...(ngDevMode ? [{ debugName: "loading" }] : []));
@@ -3559,29 +4947,29 @@ class TaonCmsPostsBackofficeComponent {
3559
4947
  this.cancelLoad$ = new Subject();
3560
4948
  this.columns = [
3561
4949
  { header: 'ID', field: 'id', sortable: true },
3562
- { header: 'Title', field: 'title', sortable: true },
3563
- { 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 },
3564
4952
  {
3565
- header: 'Actions',
4953
+ header: this.t.gettext('Actions'),
3566
4954
  field: 'actions',
3567
4955
  type: 'button',
3568
4956
  buttons: [
3569
4957
  {
3570
4958
  type: 'icon',
3571
4959
  icon: 'edit',
3572
- tooltip: 'Edit post',
4960
+ tooltip: this.t.gettext('Edit post'),
3573
4961
  click: (post) => this.edit(post),
3574
4962
  },
3575
4963
  {
3576
4964
  type: 'icon',
3577
4965
  icon: 'open_in_new',
3578
- tooltip: 'Post details',
4966
+ tooltip: this.t.gettext('Post details'),
3579
4967
  click: (post) => this.openDetails(post),
3580
4968
  },
3581
4969
  {
3582
4970
  type: 'icon',
3583
4971
  icon: 'delete',
3584
- tooltip: 'Delete (archive) post',
4972
+ tooltip: this.t.gettext('Delete (archive) post'),
3585
4973
  disabled: (post) => post.status === 'archived' || this.deleting() !== null,
3586
4974
  click: (post) => this.delete(post),
3587
4975
  },
@@ -3590,7 +4978,7 @@ class TaonCmsPostsBackofficeComponent {
3590
4978
  ];
3591
4979
  }
3592
4980
  get crud() {
3593
- return this.taonCmsContentApiService.taonCmsContentController;
4981
+ return this.taonCmsContentApiService.crudController;
3594
4982
  }
3595
4983
  reload() {
3596
4984
  this.datatable.reload();
@@ -3607,7 +4995,7 @@ class TaonCmsPostsBackofficeComponent {
3607
4995
  openDetails(post) {
3608
4996
  const postsRoute = this.route.parent;
3609
4997
  if (!postsRoute) {
3610
- this.error.set('The Post details route is unavailable.');
4998
+ this.error.set(this.t.gettext('The Post details route is unavailable.'));
3611
4999
  return;
3612
5000
  }
3613
5001
  void this.router.navigate([post.id], { relativeTo: postsRoute });
@@ -3619,9 +5007,9 @@ class TaonCmsPostsBackofficeComponent {
3619
5007
  this.deleting.set(post.id);
3620
5008
  const ref = this.dialog.open(TaonConfirmDialogComponent, {
3621
5009
  data: {
3622
- title: 'Delete post?',
3623
- message: 'This archives the post. It can be restored from its revisions.',
3624
- 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'),
3625
5013
  },
3626
5014
  });
3627
5015
  ref
@@ -3640,7 +5028,7 @@ class TaonCmsPostsBackofficeComponent {
3640
5028
  next: () => this.reload(),
3641
5029
  error: (error) => {
3642
5030
  console.error('[taon-cms-posts-backoffice] Unable to delete post', error);
3643
- 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.'));
3644
5032
  },
3645
5033
  });
3646
5034
  });
@@ -3660,11 +5048,11 @@ class TaonCmsPostsBackofficeComponent {
3660
5048
  .subscribe(() => this.reload());
3661
5049
  }
3662
5050
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.0.9", ngImport: i0, type: TaonCmsPostsBackofficeComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
3663
- 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 }); }
3664
5052
  }
3665
5053
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.9", ngImport: i0, type: TaonCmsPostsBackofficeComponent, decorators: [{
3666
5054
  type: Component,
3667
- 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"] }]
3668
5056
  }], propDecorators: { datatable: [{
3669
5057
  type: ViewChild,
3670
5058
  args: [TaonDatatableComponent]
@@ -3677,16 +5065,16 @@ var taonCmsPostsBackoffice_component = /*#__PURE__*/Object.freeze({
3677
5065
 
3678
5066
  //#region imports
3679
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 } });
3680
5069
  const resolvePost = async (route) => {
3681
5070
  const id = Number(route.paramMap.get('id'));
3682
5071
  if (!Number.isSafeInteger(id) || id <= 0) {
3683
- throw new Error('Invalid Post ID');
5072
+ throw new Error(t.gettext('Invalid Post ID'));
3684
5073
  }
3685
- const apiService = inject(TaonCmsContentApiService);
3686
- const post = (await apiService.taonCmsContentController.getBy(id).request())
3687
- .body.json;
5074
+ const taonCmsContentApiService = inject(TaonCmsContentApiService);
5075
+ const post = await taonCmsContentApiService.getById(id);
3688
5076
  if (!post) {
3689
- throw new Error('Post not found');
5077
+ throw new Error(t.gettext('Post not found'));
3690
5078
  }
3691
5079
  return post;
3692
5080
  };
@@ -3727,12 +5115,17 @@ var index$1 = /*#__PURE__*/Object.freeze({
3727
5115
  BUILD_FRAMEWORK_CLI_NAME: BUILD_FRAMEWORK_CLI_NAME,
3728
5116
  CURRENT_PACKAGE_TAON_VERSION: CURRENT_PACKAGE_TAON_VERSION,
3729
5117
  CURRENT_PACKAGE_VERSION: CURRENT_PACKAGE_VERSION,
5118
+ get CmsContext_1791132517217_initial () { return CmsContext_1791132517217_initial; },
5119
+ get CmsContext_1792579000000_postPermissionInheritance () { return CmsContext_1792579000000_postPermissionInheritance; },
3730
5120
  MIGRATIONS_CLASSES_FOR_CmsContext: MIGRATIONS_CLASSES_FOR_CmsContext,
3731
- get MyAppGroup () { return MyAppGroup; },
3732
- get MyAppPermission () { return MyAppPermission; },
3733
- get MyAppRole () { return MyAppRole; },
3734
5121
  PROJECT_NPM_NAME: PROJECT_NPM_NAME,
5122
+ get TaonAuthContextEntity () { return TaonAuthContextEntity; },
5123
+ TaonAuthContextHasAccess: TaonAuthContextHasAccess,
5124
+ get TaonAuthContextRepository () { return TaonAuthContextRepository; },
3735
5125
  TaonCmsAbstractContext: TaonCmsAbstractContext,
5126
+ TaonCmsApplicationHook: TaonCmsApplicationHook,
5127
+ get TaonCmsApplicationHookEntity () { return TaonCmsApplicationHookEntity; },
5128
+ TaonCmsAssetPreviewComponent: TaonCmsAssetPreviewComponent,
3736
5129
  TaonCmsAssetsBackofficeComponent: TaonCmsAssetsBackofficeComponent,
3737
5130
  TaonCmsAssetsBackofficeRoutes: TaonCmsAssetsBackofficeRoutes,
3738
5131
  TaonCmsBackofficeComponent: TaonCmsBackofficeComponent,
@@ -3837,12 +5230,15 @@ var index$1 = /*#__PURE__*/Object.freeze({
3837
5230
  get TaonCmsTagSubscriber () { return TaonCmsTagSubscriber; },
3838
5231
  get TaonCmsTagUtils () { return TaonCmsTagUtils; },
3839
5232
  TaonRelatedPostChooserComponent: TaonRelatedPostChooserComponent,
5233
+ TaonSessionCoreGroups: TaonSessionCoreGroups,
5234
+ TaonSessionCorePermissions: TaonSessionCorePermissions,
5235
+ TaonSessionCoreRoles: TaonSessionCoreRoles,
3840
5236
  contentError: contentError,
3841
5237
  default: index,
3842
- myOrgProj: myOrgProj,
3843
5238
  requireContentId: requireContentId,
3844
5239
  requireContentVersion: requireContentVersion,
3845
5240
  startCli: startCli,
5241
+ trackCmsUpload: trackCmsUpload,
3846
5242
  validateContentInput: validateContentInput
3847
5243
  });
3848
5244
 
@@ -3850,5 +5246,5 @@ var index$1 = /*#__PURE__*/Object.freeze({
3850
5246
  * Generated bundle index. Do not edit.
3851
5247
  */
3852
5248
 
3853
- export { APP_ID, BUILD_BASE_HREF, BUILD_FRAMEWORK_CLI_NAME, CURRENT_PACKAGE_TAON_VERSION, CURRENT_PACKAGE_VERSION, MIGRATIONS_CLASSES_FOR_CmsContext, MyAppGroup, MyAppPermission, MyAppRole, PROJECT_NPM_NAME, TaonCmsAbstractContext, 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, contentError, myOrgProj, 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 };
3854
5250
  //# sourceMappingURL=cms-websql.mjs.map