@acorex/platform 18.1.6 → 18.2.1

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 (251) hide show
  1. package/common/index.d.ts +3 -3
  2. package/common/lib/app/application.types.d.ts +10 -2
  3. package/common/lib/data/data.types.d.ts +1 -1
  4. package/common/lib/data/entity-storage-service.d.ts +1 -1
  5. package/common/lib/layout/component-slot/component-slot-loader.service.d.ts +2 -2
  6. package/common/lib/layout/component-slot/component-slot.types.d.ts +2 -1
  7. package/common/lib/layout/menu/menu.provider.d.ts +1 -1
  8. package/esm2022/common/index.mjs +4 -4
  9. package/esm2022/common/lib/app/application.types.mjs +13 -1
  10. package/esm2022/common/lib/common.module.mjs +14 -16
  11. package/esm2022/common/lib/data/data.types.mjs +1 -1
  12. package/esm2022/common/lib/data/dexie-storage.service.mjs +6 -4
  13. package/esm2022/common/lib/data/entity-storage-service.mjs +2 -2
  14. package/esm2022/common/lib/layout/component-slot/component-slot-loader.service.mjs +6 -5
  15. package/esm2022/common/lib/layout/component-slot/component-slot.types.mjs +1 -1
  16. package/esm2022/common/lib/layout/menu/menu.provider.mjs +1 -5
  17. package/esm2022/layout/builder/lib/builder/builder.service.mjs +19 -23
  18. package/esm2022/layout/builder/lib/builder/datasource-provider.service.mjs +27 -0
  19. package/esm2022/layout/builder/lib/builder/index.mjs +2 -1
  20. package/esm2022/layout/builder/lib/builder/widget-container.component.mjs +1 -8
  21. package/esm2022/layout/builder/lib/builder/widget-renderer.component.directive.mjs +34 -24
  22. package/esm2022/layout/builder/lib/builder/widget.types.mjs +52 -3
  23. package/esm2022/layout/designer/lib/designer/components/board/board.component.mjs +14 -22
  24. package/esm2022/layout/designer/lib/designer/components/drawers/data-sources/data-sources.component.mjs +5 -4
  25. package/esm2022/layout/designer/lib/designer/designer.component.mjs +4 -9
  26. package/esm2022/layout/designer/lib/designer/shared/designer-connector.service.mjs +2 -1
  27. package/esm2022/layout/designer/lib/designer/shared/designer.service.mjs +1 -3
  28. package/esm2022/layout/designer/lib/designer/shared/designer.types.mjs +1 -1
  29. package/esm2022/layout/designer/lib/designer/shared/widget-designer-renderer.directive.mjs +13 -10
  30. package/esm2022/layout/designer/lib/preview/preview-viewer.component.mjs +12 -3
  31. package/esm2022/layout/designer/lib/preview/preview.component.mjs +3 -2
  32. package/esm2022/layout/designer/lib/property-viewer/widget-property-viewer.component.mjs +5 -4
  33. package/esm2022/layout/entity/lib/entity-detail-list.viewmodel.mjs +3 -4
  34. package/esm2022/layout/entity/lib/entity-master-create.viewmodel.mjs +3 -3
  35. package/esm2022/layout/entity/lib/entity-master-list.viewmodel.mjs +5 -6
  36. package/esm2022/layout/entity/lib/entity-master-single.viewmodel.mjs +7 -7
  37. package/esm2022/layout/entity/lib/entity.config.mjs +6 -6
  38. package/esm2022/layout/entity/lib/entity.service.mjs +18 -0
  39. package/esm2022/layout/entity/lib/index.mjs +2 -1
  40. package/esm2022/layout/entity/lib/widgets/lookup-widget/lookup-widget-selector.viewmodel.mjs +21 -19
  41. package/esm2022/layout/entity/lib/workflows/modify-section.workflow.mjs +2 -2
  42. package/esm2022/themes/default/lib/layouts/entity-layouts/entity-detail-list-view/entity-detail-list-view.component.mjs +4 -4
  43. package/esm2022/themes/default/lib/layouts/entity-layouts/entity-master-create-view/entity-master-create-view.component.mjs +4 -4
  44. package/esm2022/themes/default/lib/layouts/entity-layouts/entity-master-list-view/entity-master-list-view.component.mjs +9 -8
  45. package/esm2022/themes/default/lib/layouts/entity-layouts/entity-master-list-view/list-view-option-columns/list-view-option-columns.component.mjs +3 -3
  46. package/esm2022/themes/default/lib/layouts/entity-layouts/entity-master-modify-view/entity-master-modify-view.component.mjs +3 -3
  47. package/esm2022/themes/default/lib/layouts/entity-layouts/entity-master-single-view/entity-master-single-view.component.mjs +7 -6
  48. package/esm2022/themes/default/lib/layouts/entity-layouts/entity-master-single-view/overview/entity-single-overview.component.mjs +12 -10
  49. package/esm2022/themes/default/lib/layouts/root-layout/components/menu/root-menu.component.mjs +4 -3
  50. package/esm2022/themes/default/lib/layouts/root-layout/root-layout.module.mjs +10 -6
  51. package/esm2022/themes/shared/index.mjs +1 -5
  52. package/esm2022/themes/shared/lib/components/theme-slot.component.mjs +13 -11
  53. package/esm2022/themes/shared/lib/shared.module.mjs +25 -4
  54. package/esm2022/widgets/lib/properties/editors.props.mjs +4 -2
  55. package/esm2022/widgets/lib/properties/general.props.mjs +2 -2
  56. package/esm2022/widgets/lib/widgets/editors/color/color-box-widget-view.component.mjs +26 -5
  57. package/esm2022/widgets/lib/widgets/editors/date-time/date-time-box-widget-column.component.mjs +27 -16
  58. package/esm2022/widgets/lib/widgets/editors/date-time/date-time-box-widget-edit.component.mjs +10 -2
  59. package/esm2022/widgets/lib/widgets/editors/date-time/date-time-box-widget-view.component.mjs +22 -7
  60. package/esm2022/widgets/lib/widgets/editors/rich-text/rich-text-widget-edit.component.mjs +8 -15
  61. package/esm2022/widgets/lib/widgets/editors/select/index.mjs +3 -3
  62. package/esm2022/widgets/lib/widgets/editors/select/select-box-widget-edit.component.mjs +9 -19
  63. package/esm2022/widgets/lib/widgets/editors/select/select-box-widget-view.component.mjs +4 -2
  64. package/esm2022/widgets/lib/widgets/editors/select/select-box-widget.config.mjs +3 -2
  65. package/esm2022/widgets/lib/widgets/editors/selection-list/selection-list-widget-designer.component.mjs +32 -15
  66. package/esm2022/widgets/lib/widgets/editors/selection-list/selection-list-widget-edit.component.mjs +34 -14
  67. package/esm2022/widgets/lib/widgets/editors/selection-list/selection-list-widget.config.mjs +4 -2
  68. package/esm2022/widgets/lib/widgets/layout/template/template-widget-view.component.mjs +7 -21
  69. package/fesm2022/{acorex-platform-common-avatar-widget-edit.component-WAlG5E_9.mjs → acorex-platform-common-avatar-widget-edit.component-BYEjzXpW.mjs} +3 -3
  70. package/fesm2022/{acorex-platform-common-avatar-widget-edit.component-WAlG5E_9.mjs.map → acorex-platform-common-avatar-widget-edit.component-BYEjzXpW.mjs.map} +1 -1
  71. package/fesm2022/{acorex-platform-common-avatar-widget-view.component-DRyB3UWf.mjs → acorex-platform-common-avatar-widget-view.component-CfHELBLm.mjs} +3 -3
  72. package/fesm2022/{acorex-platform-common-avatar-widget-view.component-DRyB3UWf.mjs.map → acorex-platform-common-avatar-widget-view.component-CfHELBLm.mjs.map} +1 -1
  73. package/fesm2022/{acorex-platform-common-boolean-widget-filter.component-DY4oTjC-.mjs → acorex-platform-common-boolean-widget-filter.component-DRDiIxsn.mjs} +3 -3
  74. package/fesm2022/{acorex-platform-common-boolean-widget-filter.component-DY4oTjC-.mjs.map → acorex-platform-common-boolean-widget-filter.component-DRDiIxsn.mjs.map} +1 -1
  75. package/fesm2022/{acorex-platform-common-checkbox-widget-column.component-NSXcrUwU.mjs → acorex-platform-common-checkbox-widget-column.component-Bn0tnHyT.mjs} +3 -3
  76. package/fesm2022/{acorex-platform-common-checkbox-widget-column.component-NSXcrUwU.mjs.map → acorex-platform-common-checkbox-widget-column.component-Bn0tnHyT.mjs.map} +1 -1
  77. package/fesm2022/{acorex-platform-common-checkbox-widget-edit.component-BU7qV5Cm.mjs → acorex-platform-common-checkbox-widget-edit.component-BuS0Pg-j.mjs} +3 -3
  78. package/fesm2022/{acorex-platform-common-checkbox-widget-edit.component-BU7qV5Cm.mjs.map → acorex-platform-common-checkbox-widget-edit.component-BuS0Pg-j.mjs.map} +1 -1
  79. package/fesm2022/{acorex-platform-common-checkbox-widget-view.component-2Du2IzDS.mjs → acorex-platform-common-checkbox-widget-view.component-D7kmxXjj.mjs} +3 -3
  80. package/fesm2022/{acorex-platform-common-checkbox-widget-view.component-2Du2IzDS.mjs.map → acorex-platform-common-checkbox-widget-view.component-D7kmxXjj.mjs.map} +1 -1
  81. package/fesm2022/{acorex-platform-common-dateTime-widget-column.component-Dd7fgwu3.mjs → acorex-platform-common-dateTime-widget-column.component-CtS98tbi.mjs} +3 -3
  82. package/fesm2022/{acorex-platform-common-dateTime-widget-column.component-Dd7fgwu3.mjs.map → acorex-platform-common-dateTime-widget-column.component-CtS98tbi.mjs.map} +1 -1
  83. package/fesm2022/{acorex-platform-common-dateTime-widget-edit.component-B4AelVJp.mjs → acorex-platform-common-dateTime-widget-edit.component-Dm4QofDq.mjs} +3 -3
  84. package/fesm2022/{acorex-platform-common-dateTime-widget-edit.component-B4AelVJp.mjs.map → acorex-platform-common-dateTime-widget-edit.component-Dm4QofDq.mjs.map} +1 -1
  85. package/fesm2022/{acorex-platform-common-dateTime-widget-filter.component-Ytm-TwOP.mjs → acorex-platform-common-dateTime-widget-filter.component-DDny36SE.mjs} +3 -3
  86. package/fesm2022/{acorex-platform-common-dateTime-widget-filter.component-Ytm-TwOP.mjs.map → acorex-platform-common-dateTime-widget-filter.component-DDny36SE.mjs.map} +1 -1
  87. package/fesm2022/{acorex-platform-common-dateTime-widget-view.component-BKdqOPkb.mjs → acorex-platform-common-dateTime-widget-view.component-lzf0fwxr.mjs} +3 -3
  88. package/fesm2022/{acorex-platform-common-dateTime-widget-view.component-BKdqOPkb.mjs.map → acorex-platform-common-dateTime-widget-view.component-lzf0fwxr.mjs.map} +1 -1
  89. package/fesm2022/{acorex-platform-common-email-widget-column.component-CDKqwlPD.mjs → acorex-platform-common-email-widget-column.component-Cy_Kj9po.mjs} +3 -3
  90. package/fesm2022/{acorex-platform-common-email-widget-column.component-CDKqwlPD.mjs.map → acorex-platform-common-email-widget-column.component-Cy_Kj9po.mjs.map} +1 -1
  91. package/fesm2022/{acorex-platform-common-email-widget-edit.component-BT2rJjaW.mjs → acorex-platform-common-email-widget-edit.component-DTxCX3ok.mjs} +3 -3
  92. package/fesm2022/{acorex-platform-common-email-widget-edit.component-BT2rJjaW.mjs.map → acorex-platform-common-email-widget-edit.component-DTxCX3ok.mjs.map} +1 -1
  93. package/fesm2022/{acorex-platform-common-email-widget-view.component-DbhRWpB1.mjs → acorex-platform-common-email-widget-view.component-CvEHLvcT.mjs} +3 -3
  94. package/fesm2022/{acorex-platform-common-email-widget-view.component-DbhRWpB1.mjs.map → acorex-platform-common-email-widget-view.component-CvEHLvcT.mjs.map} +1 -1
  95. package/fesm2022/{acorex-platform-common-file-widget-column.component-8U76QgEQ.mjs → acorex-platform-common-file-widget-column.component-GtbElxmS.mjs} +2 -2
  96. package/fesm2022/{acorex-platform-common-file-widget-column.component-8U76QgEQ.mjs.map → acorex-platform-common-file-widget-column.component-GtbElxmS.mjs.map} +1 -1
  97. package/fesm2022/{acorex-platform-common-file-widget-edit.component-OFmiYz_5.mjs → acorex-platform-common-file-widget-edit.component-3fR5jRFv.mjs} +3 -3
  98. package/fesm2022/{acorex-platform-common-file-widget-edit.component-OFmiYz_5.mjs.map → acorex-platform-common-file-widget-edit.component-3fR5jRFv.mjs.map} +1 -1
  99. package/fesm2022/{acorex-platform-common-file-widget-filter.component-ZLnpXMXK.mjs → acorex-platform-common-file-widget-filter.component-B7etTIuq.mjs} +3 -3
  100. package/fesm2022/{acorex-platform-common-file-widget-filter.component-ZLnpXMXK.mjs.map → acorex-platform-common-file-widget-filter.component-B7etTIuq.mjs.map} +1 -1
  101. package/fesm2022/{acorex-platform-common-file-widget-view.component-BcrM4XrO.mjs → acorex-platform-common-file-widget-view.component-RsQQjlL7.mjs} +3 -3
  102. package/fesm2022/{acorex-platform-common-file-widget-view.component-BcrM4XrO.mjs.map → acorex-platform-common-file-widget-view.component-RsQQjlL7.mjs.map} +1 -1
  103. package/fesm2022/{acorex-platform-common-gallery-widget-edit.component-pBBjrjDP.mjs → acorex-platform-common-gallery-widget-edit.component-CixJEDUT.mjs} +3 -3
  104. package/fesm2022/{acorex-platform-common-gallery-widget-edit.component-pBBjrjDP.mjs.map → acorex-platform-common-gallery-widget-edit.component-CixJEDUT.mjs.map} +1 -1
  105. package/fesm2022/{acorex-platform-common-gallery-widget-filter.component-Cp7t9ovC.mjs → acorex-platform-common-gallery-widget-filter.component-1wzY6U5s.mjs} +3 -3
  106. package/fesm2022/{acorex-platform-common-gallery-widget-filter.component-Cp7t9ovC.mjs.map → acorex-platform-common-gallery-widget-filter.component-1wzY6U5s.mjs.map} +1 -1
  107. package/fesm2022/{acorex-platform-common-gallery-widget-view.component-CPS-h3cq.mjs → acorex-platform-common-gallery-widget-view.component-YaLJU3Cv.mjs} +3 -3
  108. package/fesm2022/{acorex-platform-common-gallery-widget-view.component-CPS-h3cq.mjs.map → acorex-platform-common-gallery-widget-view.component-YaLJU3Cv.mjs.map} +1 -1
  109. package/fesm2022/{acorex-platform-common-largetext-widget-edit.component-DA6r3rVA.mjs → acorex-platform-common-largetext-widget-edit.component-BeiJZnEv.mjs} +3 -3
  110. package/fesm2022/{acorex-platform-common-largetext-widget-edit.component-DA6r3rVA.mjs.map → acorex-platform-common-largetext-widget-edit.component-BeiJZnEv.mjs.map} +1 -1
  111. package/fesm2022/{acorex-platform-common-lookup-widget-column.component-Cxv1yZvE.mjs → acorex-platform-common-lookup-widget-column.component-C5DZ-cez.mjs} +3 -3
  112. package/fesm2022/{acorex-platform-common-lookup-widget-column.component-Cxv1yZvE.mjs.map → acorex-platform-common-lookup-widget-column.component-C5DZ-cez.mjs.map} +1 -1
  113. package/fesm2022/{acorex-platform-common-lookup-widget-edit.component-CUtGoAGX.mjs → acorex-platform-common-lookup-widget-edit.component-uopyJIC1.mjs} +3 -3
  114. package/fesm2022/{acorex-platform-common-lookup-widget-edit.component-CUtGoAGX.mjs.map → acorex-platform-common-lookup-widget-edit.component-uopyJIC1.mjs.map} +1 -1
  115. package/fesm2022/{acorex-platform-common-lookup-widget-filter.component-DJZqB3vj.mjs → acorex-platform-common-lookup-widget-filter.component-D1lrIkz4.mjs} +3 -3
  116. package/fesm2022/{acorex-platform-common-lookup-widget-filter.component-DJZqB3vj.mjs.map → acorex-platform-common-lookup-widget-filter.component-D1lrIkz4.mjs.map} +1 -1
  117. package/fesm2022/{acorex-platform-common-lookup-widget-view.component-CghJK1C4.mjs → acorex-platform-common-lookup-widget-view.component-DTNcGNir.mjs} +3 -3
  118. package/fesm2022/{acorex-platform-common-lookup-widget-view.component-CghJK1C4.mjs.map → acorex-platform-common-lookup-widget-view.component-DTNcGNir.mjs.map} +1 -1
  119. package/fesm2022/{acorex-platform-common-map-widget-edit.component-oSb3kVMc.mjs → acorex-platform-common-map-widget-edit.component-h4SRiV6_.mjs} +3 -3
  120. package/fesm2022/{acorex-platform-common-map-widget-edit.component-oSb3kVMc.mjs.map → acorex-platform-common-map-widget-edit.component-h4SRiV6_.mjs.map} +1 -1
  121. package/fesm2022/{acorex-platform-common-map-widget-view.component-BrYwr914.mjs → acorex-platform-common-map-widget-view.component-Deos8gVy.mjs} +3 -3
  122. package/fesm2022/{acorex-platform-common-map-widget-view.component-BrYwr914.mjs.map → acorex-platform-common-map-widget-view.component-Deos8gVy.mjs.map} +1 -1
  123. package/fesm2022/{acorex-platform-common-messenger-widget-column.component-DIJAffxy.mjs → acorex-platform-common-messenger-widget-column.component-DN8dFLZD.mjs} +3 -3
  124. package/fesm2022/{acorex-platform-common-messenger-widget-column.component-DIJAffxy.mjs.map → acorex-platform-common-messenger-widget-column.component-DN8dFLZD.mjs.map} +1 -1
  125. package/fesm2022/{acorex-platform-common-messenger-widget-edit.component-DpGvbM4a.mjs → acorex-platform-common-messenger-widget-edit.component-m_zxHCw5.mjs} +3 -3
  126. package/fesm2022/{acorex-platform-common-messenger-widget-edit.component-DpGvbM4a.mjs.map → acorex-platform-common-messenger-widget-edit.component-m_zxHCw5.mjs.map} +1 -1
  127. package/fesm2022/{acorex-platform-common-messenger-widget-view.component-CeuDEI-j.mjs → acorex-platform-common-messenger-widget-view.component-DA9MiNb9.mjs} +3 -3
  128. package/fesm2022/{acorex-platform-common-messenger-widget-view.component-CeuDEI-j.mjs.map → acorex-platform-common-messenger-widget-view.component-DA9MiNb9.mjs.map} +1 -1
  129. package/fesm2022/{acorex-platform-common-number-widget-edit.component-B1YGwr60.mjs → acorex-platform-common-number-widget-edit.component-B0if4vR4.mjs} +3 -3
  130. package/fesm2022/{acorex-platform-common-number-widget-edit.component-B1YGwr60.mjs.map → acorex-platform-common-number-widget-edit.component-B0if4vR4.mjs.map} +1 -1
  131. package/fesm2022/{acorex-platform-common-number-widget-filter.component-BmmgPy1w.mjs → acorex-platform-common-number-widget-filter.component-BgTJbR2u.mjs} +3 -3
  132. package/fesm2022/{acorex-platform-common-number-widget-filter.component-BmmgPy1w.mjs.map → acorex-platform-common-number-widget-filter.component-BgTJbR2u.mjs.map} +1 -1
  133. package/fesm2022/{acorex-platform-common-number-widget-view.component-bqylVHOz.mjs → acorex-platform-common-number-widget-view.component-Du1oQYBH.mjs} +3 -3
  134. package/fesm2022/{acorex-platform-common-number-widget-view.component-bqylVHOz.mjs.map → acorex-platform-common-number-widget-view.component-Du1oQYBH.mjs.map} +1 -1
  135. package/fesm2022/{acorex-platform-common-password-widget-column.component-DVdZh7s4.mjs → acorex-platform-common-password-widget-column.component-CEWtRX1S.mjs} +3 -3
  136. package/fesm2022/{acorex-platform-common-password-widget-column.component-DVdZh7s4.mjs.map → acorex-platform-common-password-widget-column.component-CEWtRX1S.mjs.map} +1 -1
  137. package/fesm2022/{acorex-platform-common-password-widget-edit.component-OjHwMT5d.mjs → acorex-platform-common-password-widget-edit.component-B-_m6f_C.mjs} +3 -3
  138. package/fesm2022/{acorex-platform-common-password-widget-edit.component-OjHwMT5d.mjs.map → acorex-platform-common-password-widget-edit.component-B-_m6f_C.mjs.map} +1 -1
  139. package/fesm2022/{acorex-platform-common-password-widget-view.component-BeSk1OgU.mjs → acorex-platform-common-password-widget-view.component-BVW-Zak-.mjs} +3 -3
  140. package/fesm2022/{acorex-platform-common-password-widget-view.component-BeSk1OgU.mjs.map → acorex-platform-common-password-widget-view.component-BVW-Zak-.mjs.map} +1 -1
  141. package/fesm2022/{acorex-platform-common-phone-widget-column.component-DOfzGKBi.mjs → acorex-platform-common-phone-widget-column.component-DGaGGltV.mjs} +3 -3
  142. package/fesm2022/{acorex-platform-common-phone-widget-column.component-DOfzGKBi.mjs.map → acorex-platform-common-phone-widget-column.component-DGaGGltV.mjs.map} +1 -1
  143. package/fesm2022/{acorex-platform-common-phone-widget-edit.component-BJ-iEyLP.mjs → acorex-platform-common-phone-widget-edit.component-BNfAQ_4j.mjs} +3 -3
  144. package/fesm2022/{acorex-platform-common-phone-widget-edit.component-BJ-iEyLP.mjs.map → acorex-platform-common-phone-widget-edit.component-BNfAQ_4j.mjs.map} +1 -1
  145. package/fesm2022/{acorex-platform-common-phone-widget-view.component-DW4AHCE6.mjs → acorex-platform-common-phone-widget-view.component-xGygt5Y9.mjs} +3 -3
  146. package/fesm2022/{acorex-platform-common-phone-widget-view.component-DW4AHCE6.mjs.map → acorex-platform-common-phone-widget-view.component-xGygt5Y9.mjs.map} +1 -1
  147. package/fesm2022/{acorex-platform-common-rich-text-widget-column.component-2zZBG6Ze.mjs → acorex-platform-common-rich-text-widget-column.component-BJYxnZm2.mjs} +3 -3
  148. package/fesm2022/{acorex-platform-common-rich-text-widget-column.component-2zZBG6Ze.mjs.map → acorex-platform-common-rich-text-widget-column.component-BJYxnZm2.mjs.map} +1 -1
  149. package/fesm2022/{acorex-platform-common-rich-text-widget-edit.component-BJveJgHZ.mjs → acorex-platform-common-rich-text-widget-edit.component-Dvv8JnXl.mjs} +3 -3
  150. package/fesm2022/{acorex-platform-common-rich-text-widget-edit.component-BJveJgHZ.mjs.map → acorex-platform-common-rich-text-widget-edit.component-Dvv8JnXl.mjs.map} +1 -1
  151. package/fesm2022/{acorex-platform-common-rich-text-widget-view.component-CiViWpBX.mjs → acorex-platform-common-rich-text-widget-view.component-B77Y5luo.mjs} +3 -3
  152. package/fesm2022/{acorex-platform-common-rich-text-widget-view.component-CiViWpBX.mjs.map → acorex-platform-common-rich-text-widget-view.component-B77Y5luo.mjs.map} +1 -1
  153. package/fesm2022/{acorex-platform-common-selection-list-widget-column.component-D9lsVFgo.mjs → acorex-platform-common-selection-list-widget-column.component-1zPVFgFG.mjs} +3 -3
  154. package/fesm2022/{acorex-platform-common-selection-list-widget-column.component-D9lsVFgo.mjs.map → acorex-platform-common-selection-list-widget-column.component-1zPVFgFG.mjs.map} +1 -1
  155. package/fesm2022/{acorex-platform-common-selection-list-widget-edit.component-ocEwyUP7.mjs → acorex-platform-common-selection-list-widget-edit.component-Tdkf-0cn.mjs} +3 -3
  156. package/fesm2022/{acorex-platform-common-selection-list-widget-edit.component-ocEwyUP7.mjs.map → acorex-platform-common-selection-list-widget-edit.component-Tdkf-0cn.mjs.map} +1 -1
  157. package/fesm2022/{acorex-platform-common-selection-list-widget-filter.component-CS0f_jCx.mjs → acorex-platform-common-selection-list-widget-filter.component-y2aFk-A6.mjs} +3 -3
  158. package/fesm2022/{acorex-platform-common-selection-list-widget-filter.component-CS0f_jCx.mjs.map → acorex-platform-common-selection-list-widget-filter.component-y2aFk-A6.mjs.map} +1 -1
  159. package/fesm2022/{acorex-platform-common-selection-list-widget-view.component-C65lbpo_.mjs → acorex-platform-common-selection-list-widget-view.component-DLc1MHex.mjs} +3 -3
  160. package/fesm2022/{acorex-platform-common-selection-list-widget-view.component-C65lbpo_.mjs.map → acorex-platform-common-selection-list-widget-view.component-DLc1MHex.mjs.map} +1 -1
  161. package/fesm2022/{acorex-platform-common-signature-pad-widget-edit.component-DbfQSGxm.mjs → acorex-platform-common-signature-pad-widget-edit.component-qUuwwYlj.mjs} +3 -3
  162. package/fesm2022/{acorex-platform-common-signature-pad-widget-edit.component-DbfQSGxm.mjs.map → acorex-platform-common-signature-pad-widget-edit.component-qUuwwYlj.mjs.map} +1 -1
  163. package/fesm2022/{acorex-platform-common-signature-pad-widget-view.component-CDY3JdP-.mjs → acorex-platform-common-signature-pad-widget-view.component-D5XVZ88b.mjs} +3 -3
  164. package/fesm2022/{acorex-platform-common-signature-pad-widget-view.component-CDY3JdP-.mjs.map → acorex-platform-common-signature-pad-widget-view.component-D5XVZ88b.mjs.map} +1 -1
  165. package/fesm2022/{acorex-platform-common-string-widget-filter.component-BW2ehdOx.mjs → acorex-platform-common-string-widget-filter.component-B9h7CnEz.mjs} +3 -3
  166. package/fesm2022/{acorex-platform-common-string-widget-filter.component-BW2ehdOx.mjs.map → acorex-platform-common-string-widget-filter.component-B9h7CnEz.mjs.map} +1 -1
  167. package/fesm2022/{acorex-platform-common-text-widget-column.component-bhx0QWAX.mjs → acorex-platform-common-text-widget-column.component-LFKeHZbS.mjs} +3 -3
  168. package/fesm2022/{acorex-platform-common-text-widget-column.component-bhx0QWAX.mjs.map → acorex-platform-common-text-widget-column.component-LFKeHZbS.mjs.map} +1 -1
  169. package/fesm2022/{acorex-platform-common-text-widget-edit.component-Cb1k59hs.mjs → acorex-platform-common-text-widget-edit.component-BiyTKmvV.mjs} +3 -3
  170. package/fesm2022/{acorex-platform-common-text-widget-edit.component-Cb1k59hs.mjs.map → acorex-platform-common-text-widget-edit.component-BiyTKmvV.mjs.map} +1 -1
  171. package/fesm2022/{acorex-platform-common-text-widget-view.component-CGwY9c2O.mjs → acorex-platform-common-text-widget-view.component-BDxpsxE6.mjs} +3 -3
  172. package/fesm2022/{acorex-platform-common-text-widget-view.component-CGwY9c2O.mjs.map → acorex-platform-common-text-widget-view.component-BDxpsxE6.mjs.map} +1 -1
  173. package/fesm2022/{acorex-platform-common-toggle-widget-column.component-BxAwa7jw.mjs → acorex-platform-common-toggle-widget-column.component-BnmR9hFM.mjs} +3 -3
  174. package/fesm2022/{acorex-platform-common-toggle-widget-column.component-BxAwa7jw.mjs.map → acorex-platform-common-toggle-widget-column.component-BnmR9hFM.mjs.map} +1 -1
  175. package/fesm2022/{acorex-platform-common-toggle-widget-edit.component-CT2fRAKm.mjs → acorex-platform-common-toggle-widget-edit.component-Cz7LayX-.mjs} +3 -3
  176. package/fesm2022/{acorex-platform-common-toggle-widget-edit.component-CT2fRAKm.mjs.map → acorex-platform-common-toggle-widget-edit.component-Cz7LayX-.mjs.map} +1 -1
  177. package/fesm2022/{acorex-platform-common-toggle-widget-view.component-9tquFHhE.mjs → acorex-platform-common-toggle-widget-view.component-Cq2-5QUg.mjs} +3 -3
  178. package/fesm2022/{acorex-platform-common-toggle-widget-view.component-9tquFHhE.mjs.map → acorex-platform-common-toggle-widget-view.component-Cq2-5QUg.mjs.map} +1 -1
  179. package/fesm2022/acorex-platform-common.mjs +520 -514
  180. package/fesm2022/acorex-platform-common.mjs.map +1 -1
  181. package/fesm2022/acorex-platform-layout-builder.mjs +125 -53
  182. package/fesm2022/acorex-platform-layout-builder.mjs.map +1 -1
  183. package/fesm2022/acorex-platform-layout-designer.mjs +58 -55
  184. package/fesm2022/acorex-platform-layout-designer.mjs.map +1 -1
  185. package/fesm2022/acorex-platform-layout-entity.mjs +50 -36
  186. package/fesm2022/acorex-platform-layout-entity.mjs.map +1 -1
  187. package/fesm2022/{acorex-platform-themes-default-entity-master-create-view.component-i6vjEhti.mjs → acorex-platform-themes-default-entity-master-create-view.component-dByV3T8-.mjs} +7 -7
  188. package/fesm2022/acorex-platform-themes-default-entity-master-create-view.component-dByV3T8-.mjs.map +1 -0
  189. package/fesm2022/acorex-platform-themes-default-entity-master-list-view.component-mzb-FV9E.mjs +299 -0
  190. package/fesm2022/acorex-platform-themes-default-entity-master-list-view.component-mzb-FV9E.mjs.map +1 -0
  191. package/fesm2022/acorex-platform-themes-default-entity-master-modify-view.component-CdwlY0Fa.mjs +88 -0
  192. package/fesm2022/acorex-platform-themes-default-entity-master-modify-view.component-CdwlY0Fa.mjs.map +1 -0
  193. package/fesm2022/acorex-platform-themes-default-entity-master-single-view.component-ItkFB3QF.mjs +150 -0
  194. package/fesm2022/acorex-platform-themes-default-entity-master-single-view.component-ItkFB3QF.mjs.map +1 -0
  195. package/fesm2022/acorex-platform-themes-default.mjs +21 -18
  196. package/fesm2022/acorex-platform-themes-default.mjs.map +1 -1
  197. package/fesm2022/acorex-platform-themes-shared.mjs +42 -491
  198. package/fesm2022/acorex-platform-themes-shared.mjs.map +1 -1
  199. package/fesm2022/{acorex-platform-widgets-template-widget-edit.component-gvAh-gH1.mjs → acorex-platform-widgets-template-widget-edit.component-BWc0_EA0.mjs} +2 -2
  200. package/fesm2022/{acorex-platform-widgets-template-widget-edit.component-gvAh-gH1.mjs.map → acorex-platform-widgets-template-widget-edit.component-BWc0_EA0.mjs.map} +1 -1
  201. package/fesm2022/acorex-platform-widgets.mjs +257 -194
  202. package/fesm2022/acorex-platform-widgets.mjs.map +1 -1
  203. package/layout/builder/lib/builder/builder.service.d.ts +2 -0
  204. package/layout/builder/lib/builder/datasource-provider.service.d.ts +24 -0
  205. package/layout/builder/lib/builder/index.d.ts +1 -0
  206. package/layout/builder/lib/builder/widget-container.component.d.ts +0 -1
  207. package/layout/builder/lib/builder/widget-renderer.component.directive.d.ts +1 -1
  208. package/layout/builder/lib/builder/widget.types.d.ts +13 -9
  209. package/layout/designer/lib/designer/components/board/board.component.d.ts +0 -1
  210. package/layout/designer/lib/designer/components/drawers/data-sources/data-sources.component.d.ts +6 -4
  211. package/layout/designer/lib/designer/designer.component.d.ts +0 -1
  212. package/layout/designer/lib/designer/shared/designer-connector.service.d.ts +1 -4
  213. package/layout/designer/lib/designer/shared/designer.service.d.ts +0 -2
  214. package/layout/designer/lib/designer/shared/designer.types.d.ts +0 -4
  215. package/layout/designer/lib/preview/preview-viewer.component.d.ts +8 -1
  216. package/layout/designer/lib/property-viewer/widget-property-viewer.component.d.ts +6 -2
  217. package/layout/entity/lib/entity-master-create.viewmodel.d.ts +1 -1
  218. package/layout/entity/lib/entity-master-single.viewmodel.d.ts +1 -1
  219. package/layout/entity/lib/entity-master-update.viewmodel.d.ts +1 -1
  220. package/layout/entity/lib/entity.config.d.ts +1 -1
  221. package/layout/entity/lib/entity.service.d.ts +7 -0
  222. package/layout/entity/lib/entity.viewmodel.d.ts +1 -1
  223. package/layout/entity/lib/index.d.ts +1 -0
  224. package/layout/entity/lib/widgets/lookup-widget/lookup-widget-selector.viewmodel.d.ts +2 -2
  225. package/package.json +17 -17
  226. package/themes/default/lib/layouts/root-layout/root-layout.module.d.ts +14 -13
  227. package/themes/shared/index.d.ts +0 -4
  228. package/themes/shared/lib/shared.module.d.ts +2 -1
  229. package/widgets/lib/widgets/editors/color/color-box-widget-view.component.d.ts +3 -0
  230. package/widgets/lib/widgets/editors/date-time/date-time-box-widget-column.component.d.ts +2 -4
  231. package/widgets/lib/widgets/editors/date-time/date-time-box-widget-view.component.d.ts +1 -0
  232. package/widgets/lib/widgets/editors/rich-text/rich-text-widget-edit.component.d.ts +3 -4
  233. package/widgets/lib/widgets/editors/select/index.d.ts +2 -2
  234. package/widgets/lib/widgets/editors/select/select-box-widget-edit.component.d.ts +3 -6
  235. package/widgets/lib/widgets/editors/selection-list/selection-list-widget-designer.component.d.ts +5 -6
  236. package/widgets/lib/widgets/editors/selection-list/selection-list-widget-edit.component.d.ts +4 -5
  237. package/esm2022/themes/shared/lib/comments/comment-list-view.component.mjs +0 -429
  238. package/esm2022/themes/shared/lib/comments/comment-lookup-popup.component.mjs +0 -56
  239. package/esm2022/themes/shared/lib/comments/comments.service.mjs +0 -4
  240. package/esm2022/themes/shared/lib/comments/comments.type.mjs +0 -2
  241. package/fesm2022/acorex-platform-themes-default-entity-master-create-view.component-i6vjEhti.mjs.map +0 -1
  242. package/fesm2022/acorex-platform-themes-default-entity-master-list-view.component-BGKWaCth.mjs +0 -298
  243. package/fesm2022/acorex-platform-themes-default-entity-master-list-view.component-BGKWaCth.mjs.map +0 -1
  244. package/fesm2022/acorex-platform-themes-default-entity-master-modify-view.component-B3phYOIw.mjs +0 -88
  245. package/fesm2022/acorex-platform-themes-default-entity-master-modify-view.component-B3phYOIw.mjs.map +0 -1
  246. package/fesm2022/acorex-platform-themes-default-entity-master-single-view.component-DyZHE0o-.mjs +0 -148
  247. package/fesm2022/acorex-platform-themes-default-entity-master-single-view.component-DyZHE0o-.mjs.map +0 -1
  248. package/themes/shared/lib/comments/comment-list-view.component.d.ts +0 -66
  249. package/themes/shared/lib/comments/comment-lookup-popup.component.d.ts +0 -10
  250. package/themes/shared/lib/comments/comments.service.d.ts +0 -5
  251. package/themes/shared/lib/comments/comments.type.d.ts +0 -74
@@ -1,485 +1,18 @@
1
- import * as i4 from '@acorex/components/comment';
2
- import { AXCommentModule } from '@acorex/components/comment';
1
+ import * as i2 from '@acorex/components/button';
2
+ import { AXButtonModule } from '@acorex/components/button';
3
3
  import * as i3 from '@acorex/components/decorators';
4
4
  import { AXDecoratorModule } from '@acorex/components/decorators';
5
- import * as i5 from '@acorex/components/wysiwyg';
6
- import { AXWysiwygModule } from '@acorex/components/wysiwyg';
7
- import * as i2$1 from '@angular/common';
5
+ import * as i4 from '@acorex/components/dropdown';
6
+ import { AXDropdownModule } from '@acorex/components/dropdown';
7
+ import * as i1 from '@angular/common';
8
8
  import { CommonModule } from '@angular/common';
9
9
  import * as i0 from '@angular/core';
10
- import { Component, signal, viewChild, inject, computed, ChangeDetectionStrategy, NgModule } from '@angular/core';
11
- import * as i1 from '@angular/forms';
12
- import { FormsModule } from '@angular/forms';
13
- import { ActivatedRoute, RouterModule } from '@angular/router';
14
- import * as i7 from '@acorex/components/avatar';
15
- import { AXAvatarModule } from '@acorex/components/avatar';
16
- import * as i6 from '@acorex/components/button';
17
- import { AXButtonModule } from '@acorex/components/button';
18
- import { AXDialogService } from '@acorex/components/dialog';
19
- import * as i12 from '@acorex/components/dropdown';
20
- import { AXDropdownModule } from '@acorex/components/dropdown';
21
- import * as i11 from '@acorex/components/dropdown-button';
22
- import { AXDropdownButtonModule } from '@acorex/components/dropdown-button';
23
- import * as i9 from '@acorex/components/form';
24
- import { AXFormModule } from '@acorex/components/form';
25
- import * as i8 from '@acorex/components/image';
26
- import { AXImageModule } from '@acorex/components/image';
27
- import { AXLabelModule } from '@acorex/components/label';
28
- import * as i10 from '@acorex/components/loading';
29
- import { AXLoadingModule } from '@acorex/components/loading';
30
- import { AXPopupService } from '@acorex/components/popup';
31
- import { AXSelectBoxModule } from '@acorex/components/select-box';
32
- import * as i14 from '@acorex/components/skeleton';
33
- import { AXSkeletonModule } from '@acorex/components/skeleton';
34
- import { AXTextBoxModule } from '@acorex/components/text-box';
35
- import { AXToastService } from '@acorex/components/toast';
36
- import * as i13 from '@acorex/core/format';
37
- import { AXFormatModule } from '@acorex/core/format';
38
- import { AXPlatform } from '@acorex/core/platform';
39
- import { AXPHtmlUtils } from '@acorex/platform/core';
40
- import { AXBasePageComponent } from '@acorex/components/page';
41
- import * as i2 from '@acorex/platform/layout/builder';
42
- import { AXPLayoutBuilderModule } from '@acorex/platform/layout/builder';
43
- import { AXMEntityCrudServiceImpl, AXPSettingsService } from '@acorex/platform/common';
10
+ import { inject, computed, Component, NgModule } from '@angular/core';
11
+ import * as i1$1 from '@acorex/platform/common';
12
+ import { AXPSettingsService, AXPComponentSlotModule } from '@acorex/platform/common';
44
13
  import { signalStore, withState, withComputed, withMethods, patchState, withHooks } from '@ngrx/signals';
45
-
46
- class AXPCommentLookupPopup extends AXBasePageComponent {
47
- constructor() {
48
- super(...arguments);
49
- this.lookupNode = {
50
- name: 'lookup',
51
- path: 'lookup',
52
- type: 'lookup-editor',
53
- options: {
54
- entity: 'axoidc.users',
55
- },
56
- };
57
- this.context = {};
58
- }
59
- handleClose() {
60
- this.close({
61
- result: true,
62
- data: this.context,
63
- });
64
- }
65
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.0", ngImport: i0, type: AXPCommentLookupPopup, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
66
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.0", type: AXPCommentLookupPopup, isStandalone: true, selector: "ng-component", usesInheritance: true, ngImport: i0, template: `<axp-widgets-container class="ax-flex ax-flex-col ax-gap-2 ax-p-4" [(context)]="context">
67
- <div class="ax-m-5"><axp-widget-renderer [node]="lookupNode" [mode]="'edit'"> </axp-widget-renderer></div>
68
- </axp-widgets-container>
69
-
70
- <ax-footer>
71
- <ax-suffix>
72
- <ax-button text="Accept & Send" color="primary" (onClick)="handleClose()"></ax-button>
73
- </ax-suffix>
74
- </ax-footer>`, isInline: true, dependencies: [{ kind: "ngmodule", type: AXDecoratorModule }, { kind: "component", type: i3.AXDecoratorGenericComponent, selector: "ax-footer, ax-header, ax-content, ax-divider, ax-form-hint, ax-prefix, ax-suffix, ax-text, ax-title, ax-sub-title, ax-placeholder, ax-overlay" }, { kind: "ngmodule", type: AXPLayoutBuilderModule }, { kind: "component", type: i2.AXPWidgetContainerComponent, selector: "axp-widgets-container", inputs: ["context", "variables", "functions"], outputs: ["onChanged", "contextChange"] }, { kind: "component", type: i2.AXPWidgetRendererComponent, selector: "axp-widget-renderer", inputs: ["node", "mode", "parentNode", "index"] }, { kind: "ngmodule", type: AXButtonModule }, { kind: "component", type: i6.AXButtonComponent, selector: "ax-button", inputs: ["disabled", "size", "tabIndex", "color", "look", "text", "toggleable", "selected", "type", "responsiveOn", "loadingText"], outputs: ["onBlur", "onFocus", "onClick", "selectedChange", "toggleableChange", "lookChange", "colorChange", "disabledChange", "responsiveOnChange", "loadingTextChange"] }] }); }
75
- }
76
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.0", ngImport: i0, type: AXPCommentLookupPopup, decorators: [{
77
- type: Component,
78
- args: [{
79
- template: `<axp-widgets-container class="ax-flex ax-flex-col ax-gap-2 ax-p-4" [(context)]="context">
80
- <div class="ax-m-5"><axp-widget-renderer [node]="lookupNode" [mode]="'edit'"> </axp-widget-renderer></div>
81
- </axp-widgets-container>
82
-
83
- <ax-footer>
84
- <ax-suffix>
85
- <ax-button text="Accept & Send" color="primary" (onClick)="handleClose()"></ax-button>
86
- </ax-suffix>
87
- </ax-footer>`,
88
- imports: [AXDecoratorModule, AXPLayoutBuilderModule, AXButtonModule],
89
- standalone: true,
90
- }]
91
- }] });
92
-
93
- class AXPCommentService extends AXMEntityCrudServiceImpl {
94
- }
95
-
96
- class AXPCommentListViewComponent {
97
- constructor() {
98
- this.hasCooldown = signal(false);
99
- this.commentContent = signal('');
100
- this.isSubmitting = signal(false);
101
- this.isReplyingMode = signal(false);
102
- this.isEditingMode = signal(false);
103
- this.isLoading = signal(true);
104
- this.failedImageIds = signal([]);
105
- this.activeReplyComment = signal(undefined);
106
- this.activeEditComment = signal(undefined);
107
- this.wysiwygEditor = viewChild.required('w');
108
- this.commentService = inject(AXPCommentService);
109
- this.platform = inject(AXPlatform);
110
- this.route = inject(ActivatedRoute);
111
- this.popupService = inject(AXPopupService);
112
- this.toastService = inject(AXToastService);
113
- this.dialogService = inject(AXDialogService);
114
- this.htmlUtils = inject(AXPHtmlUtils);
115
- this.routeParams = this.route.snapshot;
116
- this.getPayload = computed(() => ({
117
- params: this.payload(),
118
- skip: 0,
119
- take: 10,
120
- }));
121
- this.payload = computed(() => ({
122
- roomType: 'default',
123
- entityId: this.routeParams.params?.['module'] + '.' + this.routeParams.params?.['entity'],
124
- instanceId: this.routeParams.params?.['id'],
125
- }));
126
- this.comments = signal([]);
127
- this.wysiwyg = viewChild('w');
128
- this.wysiwygOptions = signal({
129
- look: 'solid',
130
- });
131
- this.avatarConfig = signal({
132
- color: 'primary',
133
- look: 'rounded',
134
- type: 'solid', // 'image' | 'text' | 'icon' | 'default'
135
- });
136
- this.validateContent = (content) => {
137
- let isValid = true;
138
- if (!content || content === '<p><br></p>') {
139
- isValid = false;
140
- }
141
- return {
142
- rule: 'callback',
143
- result: isValid,
144
- message: isValid ? '' : 'Please fill the content',
145
- value: content,
146
- };
147
- };
148
- }
149
- ngOnInit() {
150
- this.loadComments();
151
- }
152
- sanitizeHtml(htmlContent) {
153
- return this.htmlUtils.getSafeHTMLfromHTML(htmlContent);
154
- }
155
- handleImageError(imageId) {
156
- this.failedImageIds.update((ids) => [...ids, imageId]);
157
- }
158
- checkImageExists(imageId) {
159
- return !this.failedImageIds().includes(imageId);
160
- }
161
- extractInitials(name) {
162
- const words = name.split(' ');
163
- const initials = words.map((word) => word.charAt(0).toUpperCase());
164
- return initials.join('');
165
- }
166
- async loadComments() {
167
- this.isLoading.set(true);
168
- // const response = await this.commentService.get(this.payload());
169
- const response = await this.commentService.query(this.getPayload());
170
- this.comments.set(response.items);
171
- setTimeout(() => {
172
- this.isLoading.set(false);
173
- }, 250);
174
- }
175
- editMessage(comment, reply) {
176
- this.isReplyingMode.set(false);
177
- this.activeReplyComment.set(undefined);
178
- this.isEditingMode.set(true);
179
- this.activeEditComment.set(comment);
180
- const contentToEdit = reply ? reply.content : comment.content;
181
- this.commentContent.set(contentToEdit);
182
- document.getElementsByClassName('ql-editor')[0].innerHTML = contentToEdit;
183
- this.wysiwygEditor().getHostElement().scrollIntoView({ behavior: 'smooth', block: 'start' });
184
- }
185
- replyMessage(comment, reply) {
186
- this.isEditingMode.set(false);
187
- this.activeEditComment.set(undefined);
188
- this.isReplyingMode.set(true);
189
- this.activeReplyComment.set(comment);
190
- if (reply) {
191
- const mention = `<a data-id="${reply.id}">@${reply.user?.userName}</a> `;
192
- this.commentContent.set(mention);
193
- this.wysiwyg()?.focus();
194
- document.getElementsByClassName('ql-editor')[0].innerHTML = mention;
195
- }
196
- this.wysiwygEditor().getHostElement().scrollIntoView({ behavior: 'smooth', block: 'start' });
197
- }
198
- async deleteComment(comment) {
199
- const dialog = this.dialogService.open({
200
- icon: 'fa-regular fa-warning',
201
- content: 'Are you sure you want to delete this comment?',
202
- title: 'Delete Comment',
203
- type: 'danger',
204
- orientation: 'horizontal',
205
- buttons: [
206
- {
207
- text: 'Delete',
208
- color: 'danger',
209
- onClick: async (e) => {
210
- e.handled = true;
211
- e.source.text = 'Deleting...';
212
- e.source.disabled = true;
213
- e.source.loading = true;
214
- try {
215
- await this.commentService.deleteOne(comment.id);
216
- this.removeMessageById(comment.id);
217
- this.toastService.show({
218
- content: 'Comment deleted successfully.',
219
- color: 'success',
220
- location: 'bottom-center',
221
- closeButton: true,
222
- timeOut: 3000,
223
- timeOutProgress: true,
224
- });
225
- (this.isEditingMode() && this.activeEditComment()?.id === comment.id) || this.resetReplyEditState;
226
- dialog.close();
227
- }
228
- catch (error) {
229
- this.toastService.show({
230
- content: typeof error === 'string' ? error : 'Failed to delete comment!',
231
- color: 'danger',
232
- location: 'bottom-center',
233
- closeButton: true,
234
- timeOut: 3000,
235
- timeOutProgress: true,
236
- });
237
- }
238
- },
239
- },
240
- {
241
- text: 'Cancel',
242
- color: 'ghost',
243
- autofocus: true,
244
- onClick: (e) => {
245
- dialog.close();
246
- },
247
- },
248
- ],
249
- closeButton: false,
250
- });
251
- }
252
- async deleteReply(comment, reply) {
253
- const dialog = this.dialogService.open({
254
- icon: 'fa-regular fa-warning',
255
- content: 'Are you sure you want to delete this reply?',
256
- title: 'Delete Reply',
257
- type: 'danger',
258
- orientation: 'horizontal',
259
- buttons: [
260
- {
261
- text: 'Delete',
262
- color: 'danger',
263
- onClick: async (e) => {
264
- e.handled = true;
265
- e.source.text = 'Deleting...';
266
- e.source.disabled = true;
267
- e.source.loading = true;
268
- try {
269
- await this.commentService.deleteOne(comment.id);
270
- this.removeMessageById(comment.id, reply.id);
271
- this.toastService.show({
272
- content: 'Comment deleted successfully.',
273
- color: 'success',
274
- location: 'bottom-center',
275
- closeButton: true,
276
- timeOut: 3000,
277
- timeOutProgress: true,
278
- });
279
- dialog.close();
280
- }
281
- catch (error) {
282
- this.toastService.show({
283
- content: typeof error === 'string' ? error : 'Failed to delete comment!',
284
- color: 'danger',
285
- location: 'bottom-center',
286
- closeButton: true,
287
- timeOut: 3000,
288
- timeOutProgress: true,
289
- });
290
- }
291
- },
292
- },
293
- {
294
- text: 'Cancel',
295
- color: 'ghost',
296
- autofocus: true,
297
- onClick: (e) => {
298
- dialog.close();
299
- },
300
- },
301
- ],
302
- closeButton: false,
303
- });
304
- }
305
- resetReplyEditState() {
306
- this.isEditingMode.set(false);
307
- this.activeEditComment.set(undefined);
308
- this.isReplyingMode.set(false);
309
- this.activeReplyComment.set(undefined);
310
- }
311
- async toggleLike(comment, reply) {
312
- if (reply) {
313
- this.updateLikeStatus(comment.id, reply.id);
314
- const payload = {
315
- messageId: reply.id,
316
- type: 'like',
317
- };
318
- try {
319
- await this.commentService.like(payload);
320
- }
321
- catch (error) {
322
- this.updateLikeStatus(comment.id, reply.id);
323
- }
324
- }
325
- else {
326
- this.updateLikeStatus(comment.id);
327
- const payload = {
328
- messageId: comment.id,
329
- type: 'like',
330
- };
331
- try {
332
- await this.commentService.like(payload);
333
- }
334
- catch (error) {
335
- this.updateLikeStatus(comment.id);
336
- }
337
- }
338
- }
339
- updateLikeStatus(commentId, replyId) {
340
- this.comments.update((commentsList) => {
341
- return commentsList.map((comment) => {
342
- if (comment.id === commentId) {
343
- if (replyId) {
344
- const updatedReplies = comment.replies?.map((reply) => reply.id === replyId
345
- ? {
346
- ...reply,
347
- isLiked: !reply.isLiked,
348
- reactionsCount: reply.isLiked ? --reply.reactionsCount : ++reply.reactionsCount,
349
- }
350
- : reply);
351
- return {
352
- ...comment,
353
- replies: updatedReplies,
354
- };
355
- }
356
- else {
357
- return {
358
- ...comment,
359
- isLiked: !comment.isLiked,
360
- reactionsCount: comment.isLiked ? --comment.reactionsCount : ++comment.reactionsCount,
361
- };
362
- }
363
- }
364
- return comment;
365
- });
366
- });
367
- }
368
- removeMessageById(commentId, replyId) {
369
- this.comments.update((commentsList) => commentsList
370
- .map((comment) => {
371
- if (comment.id === commentId) {
372
- if (replyId) {
373
- return {
374
- ...comment,
375
- replies: comment.replies?.filter((reply) => reply.id !== replyId),
376
- };
377
- }
378
- return null;
379
- }
380
- return comment;
381
- })
382
- .filter((comment) => comment !== null));
383
- }
384
- async submitComment(isPrivate = false) {
385
- if (!this.validateContent(this.commentContent()).result) {
386
- return;
387
- }
388
- let memberLookup;
389
- if (isPrivate) {
390
- const popupConfig = {
391
- header: true,
392
- size: 'md',
393
- draggable: true,
394
- hasBackdrop: true,
395
- closeButton: true,
396
- closeOnBackdropClick: false,
397
- };
398
- const popup = await this.popupService.open(AXPCommentLookupPopup, popupConfig);
399
- memberLookup = popup.data?.data?.lookup;
400
- }
401
- if (this.isEditingMode()) {
402
- const payload = {
403
- content: this.commentContent(),
404
- };
405
- //todo why ? need not nullable id !-!
406
- await this.commentService.updateOne(this.activeEditComment()?.id, payload);
407
- this.isSubmitting.set(true);
408
- this.hasCooldown.set(true);
409
- this.isEditingMode.set(false);
410
- this.activeEditComment.set(undefined);
411
- }
412
- else {
413
- const payload = {
414
- ...this.payload(),
415
- content: this.commentContent(),
416
- contentType: 'text',
417
- isPrivate: isPrivate,
418
- replyId: this.activeReplyComment()?.id ?? null,
419
- //members: isPrivate ? [memberLookup] : [],
420
- };
421
- await this.commentService.insertOne(payload);
422
- this.isSubmitting.set(true);
423
- this.hasCooldown.set(true);
424
- this.isReplyingMode.set(false);
425
- this.activeReplyComment.set(undefined);
426
- }
427
- const response = await this.commentService.query(this.getPayload());
428
- this.comments.set(response.items);
429
- this.commentContent.set('');
430
- document.getElementsByClassName('ql-editor')[0].innerHTML = '';
431
- this.isSubmitting.set(false);
432
- setTimeout(() => {
433
- this.hasCooldown.set(false);
434
- }, 1000);
435
- }
436
- scrollMain() {
437
- console.log('clicked');
438
- debugger;
439
- //
440
- const comment = this.isReplyingMode() ? this.activeReplyComment() : this.activeEditComment();
441
- const el = document.getElementById(comment.id);
442
- if (el) {
443
- el.scrollIntoView({ behavior: 'smooth', block: 'center' });
444
- const content = el?.firstElementChild?.children[1];
445
- const prevBg = content.style.background;
446
- content.style.borderRadius = '0.25rem';
447
- content.style.transition = 'background 1s ease-in-out';
448
- content.style.background = `rgba(var(--ax-color-on-surface), var(--tw-bg-opacity))`;
449
- setTimeout(() => {
450
- content.style.background = prevBg || 'rgba(0, 0, 0, 0)';
451
- }, 1000);
452
- }
453
- }
454
- calcDefrenetTime(date) {
455
- return date ? Date.now() - date.getTime() : undefined;
456
- }
457
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.0", ngImport: i0, type: AXPCommentListViewComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
458
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.0", type: AXPCommentListViewComponent, isStandalone: true, selector: "axp-comment-list-view", viewQueries: [{ propertyName: "wysiwygEditor", first: true, predicate: ["w"], descendants: true, isSignal: true }, { propertyName: "wysiwyg", first: true, predicate: ["w"], descendants: true, isSignal: true }], ngImport: i0, template: "<div class=\"ax-mt-2\">\n <ax-comment-container>\n @if(isLoading()){\n <div class=\"ax-flex ax-items-center ax-py-12 ax-bg-surface ax-px-5\">\n <ax-skeleton class=\"ax-min-w-16 ax-h-16 ax-rounded-full ax-me-4\"></ax-skeleton>\n <div class=\"ax-flex ax-flex-col ax-gap-2 ax-w-full\">\n <ax-skeleton class=\"ax-w-full ax-h-6 ax-rounded\"></ax-skeleton>\n <ax-skeleton class=\"ax-w-full ax-h-2 ax-rounded-full\"></ax-skeleton>\n <ax-skeleton class=\"ax-w-full ax-h-2 ax-rounded-full\"></ax-skeleton>\n <ax-skeleton class=\"ax-w-8/12 ax-h-2 ax-rounded-full\"></ax-skeleton>\n </div>\n </div>\n } @else if(!isLoading() && comments().length > 0){\n <ax-comment-view class=\"ax-bg-surface\">\n @for(comment of comments(); track comment.id){\n <ax-comment-item [id]=\"comment.id!\" [replyCount]=\"comment.replies?.length ?? 0\">\n <ax-avatar [color]=\"avatarConfig().color\" [look]=\"avatarConfig().look\">\n @if(checkImageExists(comment.id!) && comment.user && comment.user.picture){\n <ax-image (onError)=\"handleImageError(comment.id!)\" [src]=\"comment.user!.picture\">\n <ax-loading></ax-loading>\n </ax-image>\n }@else{\n <ax-text>\n <span class=\"ax-text-base ax-overflow-hidden\">{{\n extractInitials(comment.user?.firstName + ' ' + comment.user?.lastName)\n }}</span>\n </ax-text>\n }\n </ax-avatar>\n <ax-title>{{ comment.user?.firstName + ' ' + comment.user?.lastName }}</ax-title>\n <ax-comment-date>{{ calcDefrenetTime(comment.createdAt) | format : 'timeleft' | async }} </ax-comment-date>\n <ax-comment-menu-options>\n <ax-button class=\"ax-sm\" look=\"blank\" color=\"secondary\">\n <ax-icon icon=\"ax-icon ax-icon-solid ax-icon-more-horizontal\"></ax-icon>\n </ax-button>\n\n <ax-dropdown-panel>\n <ax-button-item-list>\n <ax-button-item text=\"Edit\" color=\"secondary\" (click)=\"editMessage(comment)\">\n <ax-prefix>\n <ax-icon icon=\"fa-solid fa-edit\"></ax-icon>\n </ax-prefix>\n </ax-button-item>\n\n <ax-button-item text=\"Delete\" color=\"danger\" (click)=\"deleteComment(comment)\">\n <ax-prefix>\n <ax-icon icon=\"fa-solid fa-trash-can\"></ax-icon>\n </ax-prefix>\n </ax-button-item>\n </ax-button-item-list>\n </ax-dropdown-panel>\n </ax-comment-menu-options>\n <ax-content [innerHTML]=\"sanitizeHtml(comment.content)\"></ax-content>\n <ax-comment-like (click)=\"toggleLike(comment)\" [liked]=\"comment.isLiked\">\n {{ comment.reactionsCount }}\n </ax-comment-like>\n <ax-comment-reply-text (click)=\"replyMessage(comment)\"></ax-comment-reply-text>\n @for(reply of comment.replies; track reply.id){\n <ax-comment-item [id]=\"reply.id\">\n <ax-avatar [color]=\"avatarConfig().color\" [look]=\"avatarConfig().look\">\n @if(reply && checkImageExists(reply.id!) && reply.user && reply.user.picture){\n <ax-image (onError)=\"handleImageError(reply!.id!)\" [src]=\"reply.user!.picture\">\n <ax-loading></ax-loading>\n </ax-image>\n }@else{\n <ax-text>\n <span class=\"ax-text-base ax-overflow-hidden\">{{\n extractInitials(reply.user?.firstName + ' ' + reply.user?.lastName)\n }}</span>\n </ax-text>\n }\n </ax-avatar>\n <ax-title>{{ (reply?.user?.firstName ?? '') + ' ' + (reply?.user?.lastName ?? '') }}</ax-title>\n <ax-comment-date>{{ calcDefrenetTime(reply.createdAt) | format : 'timeleft' | async }} </ax-comment-date>\n <ax-comment-menu-options>\n <ax-button class=\"ax-sm\" look=\"blank\" color=\"secondary\">\n <ax-icon icon=\"ax-icon ax-icon-solid ax-icon-more-horizontal\"></ax-icon>\n </ax-button>\n\n <ax-dropdown-panel>\n <ax-button-item-list>\n <ax-button-item text=\"Edit\" color=\"secondary\" (click)=\"editMessage(comment, reply)\">\n <ax-prefix>\n <ax-icon icon=\"fa-solid fa-edit\"></ax-icon>\n </ax-prefix>\n </ax-button-item>\n <ax-button-item text=\"Delete\" color=\"danger\" (click)=\"deleteReply(comment, reply)\">\n <ax-prefix>\n <ax-icon icon=\"fa-solid fa-trash-can\"></ax-icon>\n </ax-prefix>\n </ax-button-item>\n </ax-button-item-list>\n </ax-dropdown-panel>\n </ax-comment-menu-options>\n <ax-content [innerHTML]=\"sanitizeHtml(reply.content)\"></ax-content>\n <ax-comment-like (click)=\"toggleLike(comment, reply)\" [liked]=\"reply.isLiked\">\n {{ reply.reactionsCount }}\n </ax-comment-like>\n <ax-comment-reply-text (click)=\"replyMessage(comment, reply)\"></ax-comment-reply-text>\n </ax-comment-item>\n }\n </ax-comment-item>\n } </ax-comment-view\n >} @else{\n <div>\n <div class=\"ax-flex ax-flex-col ax-gap-4 ax-justify-center ax-items-center ax-p-10\">\n <svg\n class=\"ax-mx-auto\"\n xmlns=\"http://www.w3.org/2000/svg\"\n width=\"154\"\n height=\"161\"\n viewBox=\"0 0 154 161\"\n fill=\"none\"\n >\n <path\n d=\"M0.0616455 84.4268C0.0616455 42.0213 34.435 7.83765 76.6507 7.83765C118.803 7.83765 153.224 42.0055 153.224 84.4268C153.224 102.42 147.026 118.974 136.622 132.034C122.282 150.138 100.367 161 76.6507 161C52.7759 161 30.9882 150.059 16.6633 132.034C6.25961 118.974 0.0616455 102.42 0.0616455 84.4268Z\"\n fill=\"#EEF2FF\"\n />\n <path\n d=\"M96.8189 0.632498L96.8189 0.632384L96.8083 0.630954C96.2034 0.549581 95.5931 0.5 94.9787 0.5H29.338C22.7112 0.5 17.3394 5.84455 17.3394 12.4473V142.715C17.3394 149.318 22.7112 154.662 29.338 154.662H123.948C130.591 154.662 135.946 149.317 135.946 142.715V38.9309C135.946 38.0244 135.847 37.1334 135.648 36.2586L135.648 36.2584C135.117 33.9309 133.874 31.7686 132.066 30.1333C132.066 30.1331 132.065 30.1329 132.065 30.1327L103.068 3.65203C103.068 3.6519 103.067 3.65177 103.067 3.65164C101.311 2.03526 99.1396 0.995552 96.8189 0.632498Z\"\n fill=\"white\"\n stroke=\"#E5E7EB\"\n />\n <ellipse cx=\"80.0618\" cy=\"81\" rx=\"28.0342\" ry=\"28.0342\" fill=\"#EEF2FF\" />\n <path\n d=\"M99.2393 61.3061L99.2391 61.3058C88.498 50.5808 71.1092 50.5804 60.3835 61.3061C49.6423 72.0316 49.6422 89.4361 60.3832 100.162C71.109 110.903 88.4982 110.903 99.2393 100.162C109.965 89.4363 109.965 72.0317 99.2393 61.3061ZM105.863 54.6832C120.249 69.0695 120.249 92.3985 105.863 106.785C91.4605 121.171 68.1468 121.171 53.7446 106.785C39.3582 92.3987 39.3582 69.0693 53.7446 54.683C68.1468 40.2965 91.4605 40.2966 105.863 54.6832Z\"\n stroke=\"#E5E7EB\"\n />\n <path\n d=\"M110.782 119.267L102.016 110.492C104.888 108.267 107.476 105.651 109.564 102.955L118.329 111.729L110.782 119.267Z\"\n stroke=\"#E5E7EB\"\n />\n <path\n d=\"M139.122 125.781L139.122 125.78L123.313 109.988C123.313 109.987 123.313 109.987 123.312 109.986C121.996 108.653 119.849 108.657 118.521 109.985L118.871 110.335L118.521 109.985L109.047 119.459C107.731 120.775 107.735 122.918 109.044 124.247L109.047 124.249L124.858 140.06C128.789 143.992 135.191 143.992 139.122 140.06C143.069 136.113 143.069 129.728 139.122 125.781Z\"\n fill=\"#A5B4FC\"\n stroke=\"#818CF8\"\n />\n <path\n d=\"M83.185 87.2285C82.5387 87.2285 82.0027 86.6926 82.0027 86.0305C82.0027 83.3821 77.9987 83.3821 77.9987 86.0305C77.9987 86.6926 77.4627 87.2285 76.8006 87.2285C76.1543 87.2285 75.6183 86.6926 75.6183 86.0305C75.6183 80.2294 84.3831 80.2451 84.3831 86.0305C84.3831 86.6926 83.8471 87.2285 83.185 87.2285Z\"\n fill=\"#4F46E5\"\n />\n <path\n d=\"M93.3528 77.0926H88.403C87.7409 77.0926 87.2049 76.5567 87.2049 75.8946C87.2049 75.2483 87.7409 74.7123 88.403 74.7123H93.3528C94.0149 74.7123 94.5509 75.2483 94.5509 75.8946C94.5509 76.5567 94.0149 77.0926 93.3528 77.0926Z\"\n fill=\"#4F46E5\"\n />\n <path\n d=\"M71.5987 77.0925H66.6488C65.9867 77.0925 65.4507 76.5565 65.4507 75.8945C65.4507 75.2481 65.9867 74.7122 66.6488 74.7122H71.5987C72.245 74.7122 72.781 75.2481 72.781 75.8945C72.781 76.5565 72.245 77.0925 71.5987 77.0925Z\"\n fill=\"#4F46E5\"\n />\n <rect x=\"38.3522\" y=\"21.5128\" width=\"41.0256\" height=\"2.73504\" rx=\"1.36752\" fill=\"#4F46E5\" />\n <rect x=\"38.3522\" y=\"133.65\" width=\"54.7009\" height=\"5.47009\" rx=\"2.73504\" fill=\"#A5B4FC\" />\n <rect x=\"38.3522\" y=\"29.7179\" width=\"13.6752\" height=\"2.73504\" rx=\"1.36752\" fill=\"#4F46E5\" />\n <circle cx=\"56.13\" cy=\"31.0854\" r=\"1.36752\" fill=\"#4F46E5\" />\n <circle cx=\"61.6001\" cy=\"31.0854\" r=\"1.36752\" fill=\"#4F46E5\" />\n <circle cx=\"67.0702\" cy=\"31.0854\" r=\"1.36752\" fill=\"#4F46E5\" />\n </svg>\n <div>\n <h2 class=\"ax-text-center ax-text-neutral-600 ax-font-semibold ax-leading-loose ax-pb-2\">\n There is no Comment!\n </h2>\n </div>\n </div>\n </div>\n }\n </ax-comment-container>\n <ax-form>\n <ax-form-field>\n <div>\n @if(isReplyingMode() || isEditingMode()){\n <div\n class=\"ax-flex ax-justify-between ax-rounded-b-none ax-border ax-border-b-0 ax-rounded-lg ax-bg-on-surface ax-px-6 ax-py-3 ax-w-full ax-items-center ax-overflow-hidden ax-text-sm ax-leading-none\"\n >\n <div (click)=\"scrollMain()\" class=\"ax-flex ax-justify-start ax-items-center ax-cursor-pointer\">\n <i\n [class]=\"isReplyingMode() ? 'fa-reply' : 'fa-pen'\"\n class=\"fa-solid ax-text-primary-500 dark:ax-text-primary-300 ax-text-2xl ax-me-4\"\n ></i>\n <div\n class=\"ax-flex ax-flex-col ax-gap-2 ax-justify-between ax-align-middle ax-leading-4 ax-overflow-hidden\"\n >\n <p class=\"ax-text-primary-500 dark:ax-text-primary-300\">\n {{ isReplyingMode() ? 'Reply to ' : 'Edit Message' }}\n <span class=\"ax-font-bold\">\n {{\n isReplyingMode()\n ? activeReplyComment()?.user?.firstName + ' ' + activeReplyComment()?.user?.lastName\n : ''\n }}\n </span>\n </p>\n <div\n class=\"ax-truncate\"\n [innerHTML]=\"\n isReplyingMode()\n ? sanitizeHtml(activeReplyComment()?.content ?? '')\n : sanitizeHtml(activeEditComment()?.content ?? '')\n \"\n ></div>\n </div>\n </div>\n <div><i (click)=\"resetReplyEditState()\" class=\"fa-solid ax-text-2xl fa-xmark ax-cursor-pointer\"></i></div>\n </div>\n }\n <ax-wysiwyg-container #w [look]=\"wysiwygOptions().look\" [(ngModel)]=\"commentContent\">\n <ax-wysiwyg-view class=\"ax-min-h-28\"></ax-wysiwyg-view>\n <ax-wysiwyg-toolbar>\n <ax-wysiwyg-history></ax-wysiwyg-history>\n <ax-wysiwyg-font-style></ax-wysiwyg-font-style>\n <ax-wysiwyg-colors></ax-wysiwyg-colors>\n <ax-wysiwyg-list></ax-wysiwyg-list>\n <ax-wysiwyg-alignment></ax-wysiwyg-alignment>\n <ax-suffix>\n <ax-dropdown-button\n [disabled]=\"hasCooldown()\"\n type=\"submit\"\n color=\"primary\"\n mode=\"split\"\n text=\"Send\"\n (onClick)=\"submitComment()\"\n >\n @if(isSubmitting()){ <ax-loading></ax-loading> }\n <ax-button-item-list>\n <ax-button-item (click)=\"submitComment(true)\" text=\"Send Private ...\" name=\"private\" data=\"private\">\n <ax-prefix>\n <ax-icon icon=\"fa-regular fa-user-secret\"></ax-icon>\n </ax-prefix>\n </ax-button-item>\n </ax-button-item-list>\n </ax-dropdown-button>\n </ax-suffix>\n </ax-wysiwyg-toolbar>\n <ax-validation-rule rule=\"callback\" [options]=\"{ validate: validateContent }\"></ax-validation-rule>\n </ax-wysiwyg-container>\n </div>\n </ax-form-field>\n </ax-form>\n</div>\n", styles: ["ax-wysiwyg-container .ax-editor-container{border-top-left-radius:0!important;border-top-right-radius:0!important}ax-wysiwyg-container .ax-error-message{padding-left:.5rem}\n"], dependencies: [{ kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "ngmodule", type: CommonModule }, { kind: "pipe", type: i2$1.AsyncPipe, name: "async" }, { kind: "ngmodule", type: RouterModule }, { kind: "ngmodule", type: AXDecoratorModule }, { kind: "component", type: i3.AXDecoratorIconComponent, selector: "ax-icon", inputs: ["icon"] }, { kind: "component", type: i3.AXDecoratorGenericComponent, selector: "ax-footer, ax-header, ax-content, ax-divider, ax-form-hint, ax-prefix, ax-suffix, ax-text, ax-title, ax-sub-title, ax-placeholder, ax-overlay" }, { kind: "ngmodule", type: AXCommentModule }, { kind: "component", type: i4.AXCommentViewComponent, selector: "ax-comment-view" }, { kind: "component", type: i4.AXCommentContainerComponent, selector: "ax-comment-container" }, { kind: "component", type: i4.AxCommentItemComponent, selector: "ax-comment-item", inputs: ["replyCount"] }, { kind: "component", type: i4.AXCommentLikeComponent, selector: "ax-comment-like", inputs: ["liked"] }, { kind: "component", type: i4.AXMenuOptionsComponent, selector: "ax-comment-menu-options" }, { kind: "component", type: i4.AXCommentReplyTextComponent, selector: "ax-comment-reply-text" }, { kind: "component", type: i4.AXCommentDateComponent, selector: "ax-comment-date" }, { kind: "ngmodule", type: AXWysiwygModule }, { kind: "component", type: i5.AXWysiwygContainerComponent, selector: "ax-wysiwyg-container", inputs: ["look", "placeHolder"], outputs: ["onValueChanged"] }, { kind: "component", type: i5.AXWysiwygViewComponent, selector: "ax-wysiwyg-view", inputs: ["class"] }, { kind: "component", type: i5.AXWysiwygToolbarComponent, selector: "ax-wysiwyg-toolbar" }, { kind: "component", type: i5.AXWysiwygAlignmentComponent, selector: "ax-wysiwyg-alignment" }, { kind: "component", type: i5.AXWysiwygColorsComponent, selector: "ax-wysiwyg-colors" }, { kind: "component", type: i5.AXWysiwygFontStyleComponent, selector: "ax-wysiwyg-font-style" }, { kind: "component", type: i5.AXWysiwygHistoryComponent, selector: "ax-wysiwyg-history" }, { kind: "component", type: i5.AXWysiwygListComponent, selector: "ax-wysiwyg-list" }, { kind: "ngmodule", type: AXButtonModule }, { kind: "component", type: i6.AXButtonComponent, selector: "ax-button", inputs: ["disabled", "size", "tabIndex", "color", "look", "text", "toggleable", "selected", "type", "responsiveOn", "loadingText"], outputs: ["onBlur", "onFocus", "onClick", "selectedChange", "toggleableChange", "lookChange", "colorChange", "disabledChange", "responsiveOnChange", "loadingTextChange"] }, { kind: "component", type: i6.AXButtonItemComponent, selector: "ax-button-item", inputs: ["color", "disabled", "text", "selected", "divided", "data", "name"], outputs: ["onClick", "onFocus", "onBlur", "disabledChange"] }, { kind: "component", type: i6.AXButtonItemListComponent, selector: "ax-button-item-list", inputs: ["items"], outputs: ["onItemClick"] }, { kind: "ngmodule", type: AXTextBoxModule }, { kind: "ngmodule", type: AXLabelModule }, { kind: "ngmodule", type: AXAvatarModule }, { kind: "component", type: i7.AXAvatarComponent, selector: "ax-avatar", inputs: ["color", "size", "look"], outputs: ["sizeChange"] }, { kind: "ngmodule", type: AXImageModule }, { kind: "component", type: i8.AXImageComponent, selector: "ax-image", inputs: ["overlayMode", "src", "alt", "priority", "lazy"], outputs: ["onLoad", "onError"] }, { kind: "ngmodule", type: AXSelectBoxModule }, { kind: "ngmodule", type: AXFormModule }, { kind: "component", type: i9.AXFormFieldComponent, selector: "ax-form-field", inputs: ["labelMode"] }, { kind: "component", type: i9.AXFormComponent, selector: "ax-form", inputs: ["labelMode", "messageStyle", "updateOn"], outputs: ["onValidate", "updateOnChange"] }, { kind: "directive", type: i9.AXValidationRuleDirective, selector: "ax-validation-rule", inputs: ["rule", "options", "message"] }, { kind: "ngmodule", type: AXLoadingModule }, { kind: "component", type: i10.AXLoadingComponent, selector: "ax-loading", inputs: ["visible", "type", "context"], outputs: ["visibleChange"] }, { kind: "ngmodule", type: AXDropdownButtonModule }, { kind: "component", type: i11.AXDropdownButtonComponent, selector: "ax-dropdown-button", inputs: ["disabled", "size", "tabIndex", "color", "look", "text", "type", "mode"], outputs: ["onBlur", "onFocus", "onClick", "selectedChange", "lookChange", "colorChange", "disabledChange"] }, { kind: "ngmodule", type: AXDropdownModule }, { kind: "component", type: i12.AXDropdownPanelComponent, selector: "ax-dropdown-panel", inputs: ["isOpen", "fitParent", "dropdownWidth", "position", "_target", "adaptivityEnabled"], outputs: ["onOpened", "onClosed"] }, { kind: "ngmodule", type: AXFormatModule }, { kind: "pipe", type: i13.AXFormatPipe, name: "format" }, { kind: "ngmodule", type: AXSkeletonModule }, { kind: "component", type: i14.AXSkeletonComponent, selector: "ax-skeleton", inputs: ["animated"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
459
- }
460
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.0", ngImport: i0, type: AXPCommentListViewComponent, decorators: [{
461
- type: Component,
462
- args: [{ selector: 'axp-comment-list-view', imports: [
463
- FormsModule,
464
- CommonModule,
465
- RouterModule,
466
- AXDecoratorModule,
467
- AXCommentModule,
468
- AXWysiwygModule,
469
- AXButtonModule,
470
- AXTextBoxModule,
471
- AXLabelModule,
472
- AXAvatarModule,
473
- AXImageModule,
474
- AXSelectBoxModule,
475
- AXFormModule,
476
- AXLoadingModule,
477
- AXDropdownButtonModule,
478
- AXDropdownModule,
479
- AXFormatModule,
480
- AXSkeletonModule,
481
- ], standalone: true, changeDetection: ChangeDetectionStrategy.OnPush, template: "<div class=\"ax-mt-2\">\n <ax-comment-container>\n @if(isLoading()){\n <div class=\"ax-flex ax-items-center ax-py-12 ax-bg-surface ax-px-5\">\n <ax-skeleton class=\"ax-min-w-16 ax-h-16 ax-rounded-full ax-me-4\"></ax-skeleton>\n <div class=\"ax-flex ax-flex-col ax-gap-2 ax-w-full\">\n <ax-skeleton class=\"ax-w-full ax-h-6 ax-rounded\"></ax-skeleton>\n <ax-skeleton class=\"ax-w-full ax-h-2 ax-rounded-full\"></ax-skeleton>\n <ax-skeleton class=\"ax-w-full ax-h-2 ax-rounded-full\"></ax-skeleton>\n <ax-skeleton class=\"ax-w-8/12 ax-h-2 ax-rounded-full\"></ax-skeleton>\n </div>\n </div>\n } @else if(!isLoading() && comments().length > 0){\n <ax-comment-view class=\"ax-bg-surface\">\n @for(comment of comments(); track comment.id){\n <ax-comment-item [id]=\"comment.id!\" [replyCount]=\"comment.replies?.length ?? 0\">\n <ax-avatar [color]=\"avatarConfig().color\" [look]=\"avatarConfig().look\">\n @if(checkImageExists(comment.id!) && comment.user && comment.user.picture){\n <ax-image (onError)=\"handleImageError(comment.id!)\" [src]=\"comment.user!.picture\">\n <ax-loading></ax-loading>\n </ax-image>\n }@else{\n <ax-text>\n <span class=\"ax-text-base ax-overflow-hidden\">{{\n extractInitials(comment.user?.firstName + ' ' + comment.user?.lastName)\n }}</span>\n </ax-text>\n }\n </ax-avatar>\n <ax-title>{{ comment.user?.firstName + ' ' + comment.user?.lastName }}</ax-title>\n <ax-comment-date>{{ calcDefrenetTime(comment.createdAt) | format : 'timeleft' | async }} </ax-comment-date>\n <ax-comment-menu-options>\n <ax-button class=\"ax-sm\" look=\"blank\" color=\"secondary\">\n <ax-icon icon=\"ax-icon ax-icon-solid ax-icon-more-horizontal\"></ax-icon>\n </ax-button>\n\n <ax-dropdown-panel>\n <ax-button-item-list>\n <ax-button-item text=\"Edit\" color=\"secondary\" (click)=\"editMessage(comment)\">\n <ax-prefix>\n <ax-icon icon=\"fa-solid fa-edit\"></ax-icon>\n </ax-prefix>\n </ax-button-item>\n\n <ax-button-item text=\"Delete\" color=\"danger\" (click)=\"deleteComment(comment)\">\n <ax-prefix>\n <ax-icon icon=\"fa-solid fa-trash-can\"></ax-icon>\n </ax-prefix>\n </ax-button-item>\n </ax-button-item-list>\n </ax-dropdown-panel>\n </ax-comment-menu-options>\n <ax-content [innerHTML]=\"sanitizeHtml(comment.content)\"></ax-content>\n <ax-comment-like (click)=\"toggleLike(comment)\" [liked]=\"comment.isLiked\">\n {{ comment.reactionsCount }}\n </ax-comment-like>\n <ax-comment-reply-text (click)=\"replyMessage(comment)\"></ax-comment-reply-text>\n @for(reply of comment.replies; track reply.id){\n <ax-comment-item [id]=\"reply.id\">\n <ax-avatar [color]=\"avatarConfig().color\" [look]=\"avatarConfig().look\">\n @if(reply && checkImageExists(reply.id!) && reply.user && reply.user.picture){\n <ax-image (onError)=\"handleImageError(reply!.id!)\" [src]=\"reply.user!.picture\">\n <ax-loading></ax-loading>\n </ax-image>\n }@else{\n <ax-text>\n <span class=\"ax-text-base ax-overflow-hidden\">{{\n extractInitials(reply.user?.firstName + ' ' + reply.user?.lastName)\n }}</span>\n </ax-text>\n }\n </ax-avatar>\n <ax-title>{{ (reply?.user?.firstName ?? '') + ' ' + (reply?.user?.lastName ?? '') }}</ax-title>\n <ax-comment-date>{{ calcDefrenetTime(reply.createdAt) | format : 'timeleft' | async }} </ax-comment-date>\n <ax-comment-menu-options>\n <ax-button class=\"ax-sm\" look=\"blank\" color=\"secondary\">\n <ax-icon icon=\"ax-icon ax-icon-solid ax-icon-more-horizontal\"></ax-icon>\n </ax-button>\n\n <ax-dropdown-panel>\n <ax-button-item-list>\n <ax-button-item text=\"Edit\" color=\"secondary\" (click)=\"editMessage(comment, reply)\">\n <ax-prefix>\n <ax-icon icon=\"fa-solid fa-edit\"></ax-icon>\n </ax-prefix>\n </ax-button-item>\n <ax-button-item text=\"Delete\" color=\"danger\" (click)=\"deleteReply(comment, reply)\">\n <ax-prefix>\n <ax-icon icon=\"fa-solid fa-trash-can\"></ax-icon>\n </ax-prefix>\n </ax-button-item>\n </ax-button-item-list>\n </ax-dropdown-panel>\n </ax-comment-menu-options>\n <ax-content [innerHTML]=\"sanitizeHtml(reply.content)\"></ax-content>\n <ax-comment-like (click)=\"toggleLike(comment, reply)\" [liked]=\"reply.isLiked\">\n {{ reply.reactionsCount }}\n </ax-comment-like>\n <ax-comment-reply-text (click)=\"replyMessage(comment, reply)\"></ax-comment-reply-text>\n </ax-comment-item>\n }\n </ax-comment-item>\n } </ax-comment-view\n >} @else{\n <div>\n <div class=\"ax-flex ax-flex-col ax-gap-4 ax-justify-center ax-items-center ax-p-10\">\n <svg\n class=\"ax-mx-auto\"\n xmlns=\"http://www.w3.org/2000/svg\"\n width=\"154\"\n height=\"161\"\n viewBox=\"0 0 154 161\"\n fill=\"none\"\n >\n <path\n d=\"M0.0616455 84.4268C0.0616455 42.0213 34.435 7.83765 76.6507 7.83765C118.803 7.83765 153.224 42.0055 153.224 84.4268C153.224 102.42 147.026 118.974 136.622 132.034C122.282 150.138 100.367 161 76.6507 161C52.7759 161 30.9882 150.059 16.6633 132.034C6.25961 118.974 0.0616455 102.42 0.0616455 84.4268Z\"\n fill=\"#EEF2FF\"\n />\n <path\n d=\"M96.8189 0.632498L96.8189 0.632384L96.8083 0.630954C96.2034 0.549581 95.5931 0.5 94.9787 0.5H29.338C22.7112 0.5 17.3394 5.84455 17.3394 12.4473V142.715C17.3394 149.318 22.7112 154.662 29.338 154.662H123.948C130.591 154.662 135.946 149.317 135.946 142.715V38.9309C135.946 38.0244 135.847 37.1334 135.648 36.2586L135.648 36.2584C135.117 33.9309 133.874 31.7686 132.066 30.1333C132.066 30.1331 132.065 30.1329 132.065 30.1327L103.068 3.65203C103.068 3.6519 103.067 3.65177 103.067 3.65164C101.311 2.03526 99.1396 0.995552 96.8189 0.632498Z\"\n fill=\"white\"\n stroke=\"#E5E7EB\"\n />\n <ellipse cx=\"80.0618\" cy=\"81\" rx=\"28.0342\" ry=\"28.0342\" fill=\"#EEF2FF\" />\n <path\n d=\"M99.2393 61.3061L99.2391 61.3058C88.498 50.5808 71.1092 50.5804 60.3835 61.3061C49.6423 72.0316 49.6422 89.4361 60.3832 100.162C71.109 110.903 88.4982 110.903 99.2393 100.162C109.965 89.4363 109.965 72.0317 99.2393 61.3061ZM105.863 54.6832C120.249 69.0695 120.249 92.3985 105.863 106.785C91.4605 121.171 68.1468 121.171 53.7446 106.785C39.3582 92.3987 39.3582 69.0693 53.7446 54.683C68.1468 40.2965 91.4605 40.2966 105.863 54.6832Z\"\n stroke=\"#E5E7EB\"\n />\n <path\n d=\"M110.782 119.267L102.016 110.492C104.888 108.267 107.476 105.651 109.564 102.955L118.329 111.729L110.782 119.267Z\"\n stroke=\"#E5E7EB\"\n />\n <path\n d=\"M139.122 125.781L139.122 125.78L123.313 109.988C123.313 109.987 123.313 109.987 123.312 109.986C121.996 108.653 119.849 108.657 118.521 109.985L118.871 110.335L118.521 109.985L109.047 119.459C107.731 120.775 107.735 122.918 109.044 124.247L109.047 124.249L124.858 140.06C128.789 143.992 135.191 143.992 139.122 140.06C143.069 136.113 143.069 129.728 139.122 125.781Z\"\n fill=\"#A5B4FC\"\n stroke=\"#818CF8\"\n />\n <path\n d=\"M83.185 87.2285C82.5387 87.2285 82.0027 86.6926 82.0027 86.0305C82.0027 83.3821 77.9987 83.3821 77.9987 86.0305C77.9987 86.6926 77.4627 87.2285 76.8006 87.2285C76.1543 87.2285 75.6183 86.6926 75.6183 86.0305C75.6183 80.2294 84.3831 80.2451 84.3831 86.0305C84.3831 86.6926 83.8471 87.2285 83.185 87.2285Z\"\n fill=\"#4F46E5\"\n />\n <path\n d=\"M93.3528 77.0926H88.403C87.7409 77.0926 87.2049 76.5567 87.2049 75.8946C87.2049 75.2483 87.7409 74.7123 88.403 74.7123H93.3528C94.0149 74.7123 94.5509 75.2483 94.5509 75.8946C94.5509 76.5567 94.0149 77.0926 93.3528 77.0926Z\"\n fill=\"#4F46E5\"\n />\n <path\n d=\"M71.5987 77.0925H66.6488C65.9867 77.0925 65.4507 76.5565 65.4507 75.8945C65.4507 75.2481 65.9867 74.7122 66.6488 74.7122H71.5987C72.245 74.7122 72.781 75.2481 72.781 75.8945C72.781 76.5565 72.245 77.0925 71.5987 77.0925Z\"\n fill=\"#4F46E5\"\n />\n <rect x=\"38.3522\" y=\"21.5128\" width=\"41.0256\" height=\"2.73504\" rx=\"1.36752\" fill=\"#4F46E5\" />\n <rect x=\"38.3522\" y=\"133.65\" width=\"54.7009\" height=\"5.47009\" rx=\"2.73504\" fill=\"#A5B4FC\" />\n <rect x=\"38.3522\" y=\"29.7179\" width=\"13.6752\" height=\"2.73504\" rx=\"1.36752\" fill=\"#4F46E5\" />\n <circle cx=\"56.13\" cy=\"31.0854\" r=\"1.36752\" fill=\"#4F46E5\" />\n <circle cx=\"61.6001\" cy=\"31.0854\" r=\"1.36752\" fill=\"#4F46E5\" />\n <circle cx=\"67.0702\" cy=\"31.0854\" r=\"1.36752\" fill=\"#4F46E5\" />\n </svg>\n <div>\n <h2 class=\"ax-text-center ax-text-neutral-600 ax-font-semibold ax-leading-loose ax-pb-2\">\n There is no Comment!\n </h2>\n </div>\n </div>\n </div>\n }\n </ax-comment-container>\n <ax-form>\n <ax-form-field>\n <div>\n @if(isReplyingMode() || isEditingMode()){\n <div\n class=\"ax-flex ax-justify-between ax-rounded-b-none ax-border ax-border-b-0 ax-rounded-lg ax-bg-on-surface ax-px-6 ax-py-3 ax-w-full ax-items-center ax-overflow-hidden ax-text-sm ax-leading-none\"\n >\n <div (click)=\"scrollMain()\" class=\"ax-flex ax-justify-start ax-items-center ax-cursor-pointer\">\n <i\n [class]=\"isReplyingMode() ? 'fa-reply' : 'fa-pen'\"\n class=\"fa-solid ax-text-primary-500 dark:ax-text-primary-300 ax-text-2xl ax-me-4\"\n ></i>\n <div\n class=\"ax-flex ax-flex-col ax-gap-2 ax-justify-between ax-align-middle ax-leading-4 ax-overflow-hidden\"\n >\n <p class=\"ax-text-primary-500 dark:ax-text-primary-300\">\n {{ isReplyingMode() ? 'Reply to ' : 'Edit Message' }}\n <span class=\"ax-font-bold\">\n {{\n isReplyingMode()\n ? activeReplyComment()?.user?.firstName + ' ' + activeReplyComment()?.user?.lastName\n : ''\n }}\n </span>\n </p>\n <div\n class=\"ax-truncate\"\n [innerHTML]=\"\n isReplyingMode()\n ? sanitizeHtml(activeReplyComment()?.content ?? '')\n : sanitizeHtml(activeEditComment()?.content ?? '')\n \"\n ></div>\n </div>\n </div>\n <div><i (click)=\"resetReplyEditState()\" class=\"fa-solid ax-text-2xl fa-xmark ax-cursor-pointer\"></i></div>\n </div>\n }\n <ax-wysiwyg-container #w [look]=\"wysiwygOptions().look\" [(ngModel)]=\"commentContent\">\n <ax-wysiwyg-view class=\"ax-min-h-28\"></ax-wysiwyg-view>\n <ax-wysiwyg-toolbar>\n <ax-wysiwyg-history></ax-wysiwyg-history>\n <ax-wysiwyg-font-style></ax-wysiwyg-font-style>\n <ax-wysiwyg-colors></ax-wysiwyg-colors>\n <ax-wysiwyg-list></ax-wysiwyg-list>\n <ax-wysiwyg-alignment></ax-wysiwyg-alignment>\n <ax-suffix>\n <ax-dropdown-button\n [disabled]=\"hasCooldown()\"\n type=\"submit\"\n color=\"primary\"\n mode=\"split\"\n text=\"Send\"\n (onClick)=\"submitComment()\"\n >\n @if(isSubmitting()){ <ax-loading></ax-loading> }\n <ax-button-item-list>\n <ax-button-item (click)=\"submitComment(true)\" text=\"Send Private ...\" name=\"private\" data=\"private\">\n <ax-prefix>\n <ax-icon icon=\"fa-regular fa-user-secret\"></ax-icon>\n </ax-prefix>\n </ax-button-item>\n </ax-button-item-list>\n </ax-dropdown-button>\n </ax-suffix>\n </ax-wysiwyg-toolbar>\n <ax-validation-rule rule=\"callback\" [options]=\"{ validate: validateContent }\"></ax-validation-rule>\n </ax-wysiwyg-container>\n </div>\n </ax-form-field>\n </ax-form>\n</div>\n", styles: ["ax-wysiwyg-container .ax-editor-container{border-top-left-radius:0!important;border-top-right-radius:0!important}ax-wysiwyg-container .ax-error-message{padding-left:.5rem}\n"] }]
482
- }] });
14
+ import * as i5 from '@acorex/core/translation';
15
+ import { AXTranslationModule } from '@acorex/core/translation';
483
16
 
484
17
  // Theme Enum
485
18
  var AXPThemeVariant;
@@ -581,11 +114,11 @@ class AXPThemeSlotComponent {
581
114
  }"
582
115
  >
583
116
  </ax-icon>
584
- <ax-dropdown-panel>
117
+ <ax-dropdown-panel *translate="let t">
585
118
  <ax-button-item-list>
586
119
  <ax-button-item
587
120
  (onClick)="store.changeTheme(variants.Light)"
588
- text="Light"
121
+ [text]="(t('theme.light') | async)!"
589
122
  [selected]="!store.isSystemMode() && !store.isDarkMode()"
590
123
  >
591
124
  <ax-prefix>
@@ -594,7 +127,7 @@ class AXPThemeSlotComponent {
594
127
  </ax-button-item>
595
128
  <ax-button-item
596
129
  (onClick)="store.changeTheme(variants.Dark)"
597
- text="Dark"
130
+ [text]="(t('theme.dark') | async)!"
598
131
  [selected]="!store.isSystemMode() && store.isDarkMode()"
599
132
  >
600
133
  <ax-prefix>
@@ -603,7 +136,7 @@ class AXPThemeSlotComponent {
603
136
  </ax-button-item>
604
137
  <ax-button-item
605
138
  (onClick)="store.changeTheme(variants.System)"
606
- text="System"
139
+ [text]="(t('theme.system') | async)!"
607
140
  [selected]="store.isSystemMode()"
608
141
  >
609
142
  <ax-prefix>
@@ -613,7 +146,7 @@ class AXPThemeSlotComponent {
613
146
  </ax-button-item-list>
614
147
  </ax-dropdown-panel>
615
148
  </ax-button>
616
- `, isInline: true, dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i2$1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "ngmodule", type: AXButtonModule }, { kind: "component", type: i6.AXButtonComponent, selector: "ax-button", inputs: ["disabled", "size", "tabIndex", "color", "look", "text", "toggleable", "selected", "type", "responsiveOn", "loadingText"], outputs: ["onBlur", "onFocus", "onClick", "selectedChange", "toggleableChange", "lookChange", "colorChange", "disabledChange", "responsiveOnChange", "loadingTextChange"] }, { kind: "component", type: i6.AXButtonItemComponent, selector: "ax-button-item", inputs: ["color", "disabled", "text", "selected", "divided", "data", "name"], outputs: ["onClick", "onFocus", "onBlur", "disabledChange"] }, { kind: "component", type: i6.AXButtonItemListComponent, selector: "ax-button-item-list", inputs: ["items"], outputs: ["onItemClick"] }, { kind: "ngmodule", type: AXDecoratorModule }, { kind: "component", type: i3.AXDecoratorIconComponent, selector: "ax-icon", inputs: ["icon"] }, { kind: "component", type: i3.AXDecoratorGenericComponent, selector: "ax-footer, ax-header, ax-content, ax-divider, ax-form-hint, ax-prefix, ax-suffix, ax-text, ax-title, ax-sub-title, ax-placeholder, ax-overlay" }, { kind: "ngmodule", type: AXDropdownModule }, { kind: "component", type: i12.AXDropdownPanelComponent, selector: "ax-dropdown-panel", inputs: ["isOpen", "fitParent", "dropdownWidth", "position", "_target", "adaptivityEnabled"], outputs: ["onOpened", "onClosed"] }] }); }
149
+ `, isInline: true, dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "pipe", type: i1.AsyncPipe, name: "async" }, { kind: "ngmodule", type: AXButtonModule }, { kind: "component", type: i2.AXButtonComponent, selector: "ax-button", inputs: ["disabled", "size", "tabIndex", "color", "look", "text", "toggleable", "selected", "type", "responsiveOn", "loadingText"], outputs: ["onBlur", "onFocus", "onClick", "selectedChange", "toggleableChange", "lookChange", "colorChange", "disabledChange", "responsiveOnChange", "loadingTextChange"] }, { kind: "component", type: i2.AXButtonItemComponent, selector: "ax-button-item", inputs: ["color", "disabled", "text", "selected", "divided", "data", "name"], outputs: ["onClick", "onFocus", "onBlur", "disabledChange"] }, { kind: "component", type: i2.AXButtonItemListComponent, selector: "ax-button-item-list", inputs: ["items"], outputs: ["onItemClick"] }, { kind: "ngmodule", type: AXDecoratorModule }, { kind: "component", type: i3.AXDecoratorIconComponent, selector: "ax-icon", inputs: ["icon"] }, { kind: "component", type: i3.AXDecoratorGenericComponent, selector: "ax-footer, ax-header, ax-content, ax-divider, ax-form-hint, ax-prefix, ax-suffix, ax-text, ax-title, ax-sub-title, ax-placeholder, ax-overlay" }, { kind: "ngmodule", type: AXDropdownModule }, { kind: "component", type: i4.AXDropdownPanelComponent, selector: "ax-dropdown-panel", inputs: ["isOpen", "fitParent", "dropdownWidth", "position", "_target", "adaptivityEnabled"], outputs: ["onOpened", "onClosed"] }, { kind: "ngmodule", type: AXTranslationModule }, { kind: "directive", type: i5.AXTranslatorDirective, selector: "[translate]" }] }); }
617
150
  }
618
151
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.0", ngImport: i0, type: AXPThemeSlotComponent, decorators: [{
619
152
  type: Component,
@@ -629,11 +162,11 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.0", ngImpor
629
162
  }"
630
163
  >
631
164
  </ax-icon>
632
- <ax-dropdown-panel>
165
+ <ax-dropdown-panel *translate="let t">
633
166
  <ax-button-item-list>
634
167
  <ax-button-item
635
168
  (onClick)="store.changeTheme(variants.Light)"
636
- text="Light"
169
+ [text]="(t('theme.light') | async)!"
637
170
  [selected]="!store.isSystemMode() && !store.isDarkMode()"
638
171
  >
639
172
  <ax-prefix>
@@ -642,7 +175,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.0", ngImpor
642
175
  </ax-button-item>
643
176
  <ax-button-item
644
177
  (onClick)="store.changeTheme(variants.Dark)"
645
- text="Dark"
178
+ [text]="(t('theme.dark') | async)!"
646
179
  [selected]="!store.isSystemMode() && store.isDarkMode()"
647
180
  >
648
181
  <ax-prefix>
@@ -651,7 +184,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.0", ngImpor
651
184
  </ax-button-item>
652
185
  <ax-button-item
653
186
  (onClick)="store.changeTheme(variants.System)"
654
- text="System"
187
+ [text]="(t('theme.system') | async)!"
655
188
  [selected]="store.isSystemMode()"
656
189
  >
657
190
  <ax-prefix>
@@ -663,20 +196,38 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.0", ngImpor
663
196
  </ax-button>
664
197
  `,
665
198
  standalone: true,
666
- imports: [CommonModule, AXButtonModule, AXDecoratorModule, AXDropdownModule],
199
+ imports: [CommonModule, AXButtonModule, AXDecoratorModule, AXDropdownModule, AXTranslationModule],
667
200
  }]
668
201
  }] });
669
202
 
670
203
  class AXPThemesSharedModule {
671
204
  constructor() { }
672
205
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.0", ngImport: i0, type: AXPThemesSharedModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
673
- static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "18.2.0", ngImport: i0, type: AXPThemesSharedModule }); }
674
- static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "18.2.0", ngImport: i0, type: AXPThemesSharedModule }); }
206
+ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "18.2.0", ngImport: i0, type: AXPThemesSharedModule, imports: [i1$1.AXPComponentSlotModule] }); }
207
+ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "18.2.0", ngImport: i0, type: AXPThemesSharedModule, imports: [AXPComponentSlotModule.forRoot({
208
+ 'header-end': [
209
+ {
210
+ priority: 50,
211
+ name: 'theme',
212
+ component: AXPThemeSlotComponent,
213
+ },
214
+ ],
215
+ })] }); }
675
216
  }
676
217
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.0", ngImport: i0, type: AXPThemesSharedModule, decorators: [{
677
218
  type: NgModule,
678
219
  args: [{
679
- imports: [],
220
+ imports: [
221
+ AXPComponentSlotModule.forRoot({
222
+ 'header-end': [
223
+ {
224
+ priority: 50,
225
+ name: 'theme',
226
+ component: AXPThemeSlotComponent,
227
+ },
228
+ ],
229
+ }),
230
+ ],
680
231
  exports: [],
681
232
  declarations: [],
682
233
  providers: [],
@@ -687,5 +238,5 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.0", ngImpor
687
238
  * Generated bundle index. Do not edit.
688
239
  */
689
240
 
690
- export { AXPCommentListViewComponent, AXPCommentLookupPopup, AXPCommentService, AXPLayoutThemeService, AXPThemeSlotComponent, AXPThemeVariant, AXPThemesSharedModule };
241
+ export { AXPLayoutThemeService, AXPThemeSlotComponent, AXPThemeVariant, AXPThemesSharedModule };
691
242
  //# sourceMappingURL=acorex-platform-themes-shared.mjs.map