@acorex/platform 18.2.0 → 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 (229) hide show
  1. package/common/lib/app/application.types.d.ts +10 -2
  2. package/common/lib/data/data.types.d.ts +1 -1
  3. package/common/lib/data/entity-storage-service.d.ts +1 -1
  4. package/common/lib/layout/component-slot/component-slot-loader.service.d.ts +2 -2
  5. package/common/lib/layout/component-slot/component-slot.types.d.ts +2 -1
  6. package/common/lib/layout/menu/menu.provider.d.ts +1 -1
  7. package/esm2022/common/lib/app/application.types.mjs +13 -1
  8. package/esm2022/common/lib/common.module.mjs +14 -16
  9. package/esm2022/common/lib/data/data.types.mjs +1 -1
  10. package/esm2022/common/lib/data/dexie-storage.service.mjs +2 -2
  11. package/esm2022/common/lib/data/entity-storage-service.mjs +2 -2
  12. package/esm2022/common/lib/layout/component-slot/component-slot-loader.service.mjs +6 -5
  13. package/esm2022/common/lib/layout/component-slot/component-slot.types.mjs +1 -1
  14. package/esm2022/common/lib/layout/menu/menu.provider.mjs +1 -5
  15. package/esm2022/layout/builder/lib/builder/datasource-provider.service.mjs +27 -0
  16. package/esm2022/layout/builder/lib/builder/index.mjs +2 -1
  17. package/esm2022/layout/builder/lib/builder/widget-renderer.component.directive.mjs +3 -9
  18. package/esm2022/layout/builder/lib/builder/widget.types.mjs +52 -3
  19. package/esm2022/layout/designer/lib/designer/components/board/board.component.mjs +14 -22
  20. package/esm2022/layout/designer/lib/designer/components/drawers/data-sources/data-sources.component.mjs +5 -4
  21. package/esm2022/layout/designer/lib/designer/designer.component.mjs +4 -9
  22. package/esm2022/layout/designer/lib/designer/shared/designer-connector.service.mjs +2 -1
  23. package/esm2022/layout/designer/lib/designer/shared/designer.service.mjs +1 -3
  24. package/esm2022/layout/designer/lib/designer/shared/designer.types.mjs +1 -1
  25. package/esm2022/layout/designer/lib/designer/shared/widget-designer-renderer.directive.mjs +13 -10
  26. package/esm2022/layout/designer/lib/preview/preview-viewer.component.mjs +12 -3
  27. package/esm2022/layout/designer/lib/preview/preview.component.mjs +3 -2
  28. package/esm2022/layout/designer/lib/property-viewer/widget-property-viewer.component.mjs +5 -4
  29. package/esm2022/layout/entity/lib/entity-detail-list.viewmodel.mjs +3 -4
  30. package/esm2022/layout/entity/lib/entity-master-create.viewmodel.mjs +3 -3
  31. package/esm2022/layout/entity/lib/entity-master-list.viewmodel.mjs +5 -6
  32. package/esm2022/layout/entity/lib/entity-master-single.viewmodel.mjs +7 -7
  33. package/esm2022/layout/entity/lib/entity.config.mjs +6 -6
  34. package/esm2022/layout/entity/lib/entity.service.mjs +18 -0
  35. package/esm2022/layout/entity/lib/index.mjs +2 -1
  36. package/esm2022/layout/entity/lib/widgets/lookup-widget/lookup-widget-selector.viewmodel.mjs +21 -19
  37. package/esm2022/layout/entity/lib/workflows/modify-section.workflow.mjs +2 -2
  38. package/esm2022/themes/default/lib/layouts/entity-layouts/entity-detail-list-view/entity-detail-list-view.component.mjs +4 -4
  39. package/esm2022/themes/default/lib/layouts/entity-layouts/entity-master-create-view/entity-master-create-view.component.mjs +3 -3
  40. package/esm2022/themes/default/lib/layouts/entity-layouts/entity-master-list-view/entity-master-list-view.component.mjs +9 -8
  41. package/esm2022/themes/default/lib/layouts/entity-layouts/entity-master-list-view/list-view-option-columns/list-view-option-columns.component.mjs +3 -3
  42. package/esm2022/themes/default/lib/layouts/entity-layouts/entity-master-modify-view/entity-master-modify-view.component.mjs +3 -3
  43. package/esm2022/themes/default/lib/layouts/entity-layouts/entity-master-single-view/entity-master-single-view.component.mjs +3 -3
  44. package/esm2022/themes/default/lib/layouts/entity-layouts/entity-master-single-view/overview/entity-single-overview.component.mjs +12 -10
  45. package/esm2022/themes/default/lib/layouts/root-layout/components/menu/root-menu.component.mjs +4 -3
  46. package/esm2022/themes/default/lib/layouts/root-layout/root-layout.module.mjs +5 -1
  47. package/esm2022/themes/shared/lib/shared.module.mjs +25 -4
  48. package/esm2022/widgets/lib/properties/editors.props.mjs +3 -1
  49. package/esm2022/widgets/lib/properties/general.props.mjs +2 -2
  50. package/esm2022/widgets/lib/widgets/editors/date-time/date-time-box-widget-column.component.mjs +18 -15
  51. package/esm2022/widgets/lib/widgets/editors/date-time/date-time-box-widget-edit.component.mjs +7 -10
  52. package/esm2022/widgets/lib/widgets/editors/date-time/date-time-box-widget-view.component.mjs +13 -6
  53. package/esm2022/widgets/lib/widgets/editors/select/index.mjs +3 -3
  54. package/esm2022/widgets/lib/widgets/editors/select/select-box-widget-edit.component.mjs +9 -20
  55. package/esm2022/widgets/lib/widgets/editors/select/select-box-widget-view.component.mjs +4 -2
  56. package/esm2022/widgets/lib/widgets/editors/selection-list/selection-list-widget-designer.component.mjs +32 -15
  57. package/esm2022/widgets/lib/widgets/editors/selection-list/selection-list-widget-edit.component.mjs +34 -14
  58. package/esm2022/widgets/lib/widgets/editors/selection-list/selection-list-widget.config.mjs +4 -2
  59. package/fesm2022/{acorex-platform-common-avatar-widget-edit.component-D4k52w2k.mjs → acorex-platform-common-avatar-widget-edit.component-BYEjzXpW.mjs} +2 -2
  60. package/fesm2022/{acorex-platform-common-avatar-widget-edit.component-D4k52w2k.mjs.map → acorex-platform-common-avatar-widget-edit.component-BYEjzXpW.mjs.map} +1 -1
  61. package/fesm2022/{acorex-platform-common-avatar-widget-view.component-Bbg1imZG.mjs → acorex-platform-common-avatar-widget-view.component-CfHELBLm.mjs} +2 -2
  62. package/fesm2022/{acorex-platform-common-avatar-widget-view.component-Bbg1imZG.mjs.map → acorex-platform-common-avatar-widget-view.component-CfHELBLm.mjs.map} +1 -1
  63. package/fesm2022/{acorex-platform-common-boolean-widget-filter.component-CRFI7vNR.mjs → acorex-platform-common-boolean-widget-filter.component-DRDiIxsn.mjs} +2 -2
  64. package/fesm2022/{acorex-platform-common-boolean-widget-filter.component-CRFI7vNR.mjs.map → acorex-platform-common-boolean-widget-filter.component-DRDiIxsn.mjs.map} +1 -1
  65. package/fesm2022/{acorex-platform-common-checkbox-widget-column.component-BCUcZiP_.mjs → acorex-platform-common-checkbox-widget-column.component-Bn0tnHyT.mjs} +2 -2
  66. package/fesm2022/{acorex-platform-common-checkbox-widget-column.component-BCUcZiP_.mjs.map → acorex-platform-common-checkbox-widget-column.component-Bn0tnHyT.mjs.map} +1 -1
  67. package/fesm2022/{acorex-platform-common-checkbox-widget-edit.component-GgWLpxV0.mjs → acorex-platform-common-checkbox-widget-edit.component-BuS0Pg-j.mjs} +2 -2
  68. package/fesm2022/{acorex-platform-common-checkbox-widget-edit.component-GgWLpxV0.mjs.map → acorex-platform-common-checkbox-widget-edit.component-BuS0Pg-j.mjs.map} +1 -1
  69. package/fesm2022/{acorex-platform-common-checkbox-widget-view.component-KuRnDGoQ.mjs → acorex-platform-common-checkbox-widget-view.component-D7kmxXjj.mjs} +2 -2
  70. package/fesm2022/{acorex-platform-common-checkbox-widget-view.component-KuRnDGoQ.mjs.map → acorex-platform-common-checkbox-widget-view.component-D7kmxXjj.mjs.map} +1 -1
  71. package/fesm2022/{acorex-platform-common-dateTime-widget-column.component-DaXNK6e2.mjs → acorex-platform-common-dateTime-widget-column.component-CtS98tbi.mjs} +2 -2
  72. package/fesm2022/{acorex-platform-common-dateTime-widget-column.component-DaXNK6e2.mjs.map → acorex-platform-common-dateTime-widget-column.component-CtS98tbi.mjs.map} +1 -1
  73. package/fesm2022/{acorex-platform-common-dateTime-widget-edit.component-XOReyHZ-.mjs → acorex-platform-common-dateTime-widget-edit.component-Dm4QofDq.mjs} +2 -2
  74. package/fesm2022/{acorex-platform-common-dateTime-widget-edit.component-XOReyHZ-.mjs.map → acorex-platform-common-dateTime-widget-edit.component-Dm4QofDq.mjs.map} +1 -1
  75. package/fesm2022/{acorex-platform-common-dateTime-widget-filter.component-3PJx2C6G.mjs → acorex-platform-common-dateTime-widget-filter.component-DDny36SE.mjs} +2 -2
  76. package/fesm2022/{acorex-platform-common-dateTime-widget-filter.component-3PJx2C6G.mjs.map → acorex-platform-common-dateTime-widget-filter.component-DDny36SE.mjs.map} +1 -1
  77. package/fesm2022/{acorex-platform-common-dateTime-widget-view.component-BWTedYCf.mjs → acorex-platform-common-dateTime-widget-view.component-lzf0fwxr.mjs} +2 -2
  78. package/fesm2022/{acorex-platform-common-dateTime-widget-view.component-BWTedYCf.mjs.map → acorex-platform-common-dateTime-widget-view.component-lzf0fwxr.mjs.map} +1 -1
  79. package/fesm2022/{acorex-platform-common-email-widget-column.component-MySWR3RG.mjs → acorex-platform-common-email-widget-column.component-Cy_Kj9po.mjs} +2 -2
  80. package/fesm2022/{acorex-platform-common-email-widget-column.component-MySWR3RG.mjs.map → acorex-platform-common-email-widget-column.component-Cy_Kj9po.mjs.map} +1 -1
  81. package/fesm2022/{acorex-platform-common-email-widget-edit.component-DzqW3Ay6.mjs → acorex-platform-common-email-widget-edit.component-DTxCX3ok.mjs} +2 -2
  82. package/fesm2022/{acorex-platform-common-email-widget-edit.component-DzqW3Ay6.mjs.map → acorex-platform-common-email-widget-edit.component-DTxCX3ok.mjs.map} +1 -1
  83. package/fesm2022/{acorex-platform-common-email-widget-view.component-ikN6SIj0.mjs → acorex-platform-common-email-widget-view.component-CvEHLvcT.mjs} +2 -2
  84. package/fesm2022/{acorex-platform-common-email-widget-view.component-ikN6SIj0.mjs.map → acorex-platform-common-email-widget-view.component-CvEHLvcT.mjs.map} +1 -1
  85. package/fesm2022/{acorex-platform-common-file-widget-edit.component-CPSsJviw.mjs → acorex-platform-common-file-widget-edit.component-3fR5jRFv.mjs} +2 -2
  86. package/fesm2022/{acorex-platform-common-file-widget-edit.component-CPSsJviw.mjs.map → acorex-platform-common-file-widget-edit.component-3fR5jRFv.mjs.map} +1 -1
  87. package/fesm2022/{acorex-platform-common-file-widget-filter.component-D-_WnxlE.mjs → acorex-platform-common-file-widget-filter.component-B7etTIuq.mjs} +2 -2
  88. package/fesm2022/{acorex-platform-common-file-widget-filter.component-D-_WnxlE.mjs.map → acorex-platform-common-file-widget-filter.component-B7etTIuq.mjs.map} +1 -1
  89. package/fesm2022/{acorex-platform-common-file-widget-view.component-BU8iWCVR.mjs → acorex-platform-common-file-widget-view.component-RsQQjlL7.mjs} +2 -2
  90. package/fesm2022/{acorex-platform-common-file-widget-view.component-BU8iWCVR.mjs.map → acorex-platform-common-file-widget-view.component-RsQQjlL7.mjs.map} +1 -1
  91. package/fesm2022/{acorex-platform-common-gallery-widget-edit.component-DMu9OW45.mjs → acorex-platform-common-gallery-widget-edit.component-CixJEDUT.mjs} +2 -2
  92. package/fesm2022/{acorex-platform-common-gallery-widget-edit.component-DMu9OW45.mjs.map → acorex-platform-common-gallery-widget-edit.component-CixJEDUT.mjs.map} +1 -1
  93. package/fesm2022/{acorex-platform-common-gallery-widget-filter.component-BNYgn0eK.mjs → acorex-platform-common-gallery-widget-filter.component-1wzY6U5s.mjs} +2 -2
  94. package/fesm2022/{acorex-platform-common-gallery-widget-filter.component-BNYgn0eK.mjs.map → acorex-platform-common-gallery-widget-filter.component-1wzY6U5s.mjs.map} +1 -1
  95. package/fesm2022/{acorex-platform-common-gallery-widget-view.component-D52gjNcJ.mjs → acorex-platform-common-gallery-widget-view.component-YaLJU3Cv.mjs} +2 -2
  96. package/fesm2022/{acorex-platform-common-gallery-widget-view.component-D52gjNcJ.mjs.map → acorex-platform-common-gallery-widget-view.component-YaLJU3Cv.mjs.map} +1 -1
  97. package/fesm2022/{acorex-platform-common-largetext-widget-edit.component-B7Hq-1ny.mjs → acorex-platform-common-largetext-widget-edit.component-BeiJZnEv.mjs} +2 -2
  98. package/fesm2022/{acorex-platform-common-largetext-widget-edit.component-B7Hq-1ny.mjs.map → acorex-platform-common-largetext-widget-edit.component-BeiJZnEv.mjs.map} +1 -1
  99. package/fesm2022/{acorex-platform-common-lookup-widget-column.component-2ccF27nN.mjs → acorex-platform-common-lookup-widget-column.component-C5DZ-cez.mjs} +2 -2
  100. package/fesm2022/{acorex-platform-common-lookup-widget-column.component-2ccF27nN.mjs.map → acorex-platform-common-lookup-widget-column.component-C5DZ-cez.mjs.map} +1 -1
  101. package/fesm2022/{acorex-platform-common-lookup-widget-edit.component-Cn3yALld.mjs → acorex-platform-common-lookup-widget-edit.component-uopyJIC1.mjs} +2 -2
  102. package/fesm2022/{acorex-platform-common-lookup-widget-edit.component-Cn3yALld.mjs.map → acorex-platform-common-lookup-widget-edit.component-uopyJIC1.mjs.map} +1 -1
  103. package/fesm2022/{acorex-platform-common-lookup-widget-filter.component-NY-w7EgD.mjs → acorex-platform-common-lookup-widget-filter.component-D1lrIkz4.mjs} +2 -2
  104. package/fesm2022/{acorex-platform-common-lookup-widget-filter.component-NY-w7EgD.mjs.map → acorex-platform-common-lookup-widget-filter.component-D1lrIkz4.mjs.map} +1 -1
  105. package/fesm2022/{acorex-platform-common-lookup-widget-view.component-DjbS0xsx.mjs → acorex-platform-common-lookup-widget-view.component-DTNcGNir.mjs} +2 -2
  106. package/fesm2022/{acorex-platform-common-lookup-widget-view.component-DjbS0xsx.mjs.map → acorex-platform-common-lookup-widget-view.component-DTNcGNir.mjs.map} +1 -1
  107. package/fesm2022/{acorex-platform-common-map-widget-edit.component-CHyEencO.mjs → acorex-platform-common-map-widget-edit.component-h4SRiV6_.mjs} +2 -2
  108. package/fesm2022/{acorex-platform-common-map-widget-edit.component-CHyEencO.mjs.map → acorex-platform-common-map-widget-edit.component-h4SRiV6_.mjs.map} +1 -1
  109. package/fesm2022/{acorex-platform-common-map-widget-view.component-BMK6QTKt.mjs → acorex-platform-common-map-widget-view.component-Deos8gVy.mjs} +2 -2
  110. package/fesm2022/{acorex-platform-common-map-widget-view.component-BMK6QTKt.mjs.map → acorex-platform-common-map-widget-view.component-Deos8gVy.mjs.map} +1 -1
  111. package/fesm2022/{acorex-platform-common-messenger-widget-column.component-iVdgR19k.mjs → acorex-platform-common-messenger-widget-column.component-DN8dFLZD.mjs} +2 -2
  112. package/fesm2022/{acorex-platform-common-messenger-widget-column.component-iVdgR19k.mjs.map → acorex-platform-common-messenger-widget-column.component-DN8dFLZD.mjs.map} +1 -1
  113. package/fesm2022/{acorex-platform-common-messenger-widget-edit.component-BicSI2_5.mjs → acorex-platform-common-messenger-widget-edit.component-m_zxHCw5.mjs} +2 -2
  114. package/fesm2022/{acorex-platform-common-messenger-widget-edit.component-BicSI2_5.mjs.map → acorex-platform-common-messenger-widget-edit.component-m_zxHCw5.mjs.map} +1 -1
  115. package/fesm2022/{acorex-platform-common-messenger-widget-view.component-DlSSOqrz.mjs → acorex-platform-common-messenger-widget-view.component-DA9MiNb9.mjs} +2 -2
  116. package/fesm2022/{acorex-platform-common-messenger-widget-view.component-DlSSOqrz.mjs.map → acorex-platform-common-messenger-widget-view.component-DA9MiNb9.mjs.map} +1 -1
  117. package/fesm2022/{acorex-platform-common-number-widget-edit.component-DlLjt4OQ.mjs → acorex-platform-common-number-widget-edit.component-B0if4vR4.mjs} +2 -2
  118. package/fesm2022/{acorex-platform-common-number-widget-edit.component-DlLjt4OQ.mjs.map → acorex-platform-common-number-widget-edit.component-B0if4vR4.mjs.map} +1 -1
  119. package/fesm2022/{acorex-platform-common-number-widget-filter.component-DPZQomNX.mjs → acorex-platform-common-number-widget-filter.component-BgTJbR2u.mjs} +2 -2
  120. package/fesm2022/{acorex-platform-common-number-widget-filter.component-DPZQomNX.mjs.map → acorex-platform-common-number-widget-filter.component-BgTJbR2u.mjs.map} +1 -1
  121. package/fesm2022/{acorex-platform-common-number-widget-view.component-BW1ftaLk.mjs → acorex-platform-common-number-widget-view.component-Du1oQYBH.mjs} +2 -2
  122. package/fesm2022/{acorex-platform-common-number-widget-view.component-BW1ftaLk.mjs.map → acorex-platform-common-number-widget-view.component-Du1oQYBH.mjs.map} +1 -1
  123. package/fesm2022/{acorex-platform-common-password-widget-column.component-BZEavb7p.mjs → acorex-platform-common-password-widget-column.component-CEWtRX1S.mjs} +2 -2
  124. package/fesm2022/{acorex-platform-common-password-widget-column.component-BZEavb7p.mjs.map → acorex-platform-common-password-widget-column.component-CEWtRX1S.mjs.map} +1 -1
  125. package/fesm2022/{acorex-platform-common-password-widget-edit.component-De5r-L4i.mjs → acorex-platform-common-password-widget-edit.component-B-_m6f_C.mjs} +2 -2
  126. package/fesm2022/{acorex-platform-common-password-widget-edit.component-De5r-L4i.mjs.map → acorex-platform-common-password-widget-edit.component-B-_m6f_C.mjs.map} +1 -1
  127. package/fesm2022/{acorex-platform-common-password-widget-view.component-Dw4xxdOT.mjs → acorex-platform-common-password-widget-view.component-BVW-Zak-.mjs} +2 -2
  128. package/fesm2022/{acorex-platform-common-password-widget-view.component-Dw4xxdOT.mjs.map → acorex-platform-common-password-widget-view.component-BVW-Zak-.mjs.map} +1 -1
  129. package/fesm2022/{acorex-platform-common-phone-widget-column.component-BTbtfPty.mjs → acorex-platform-common-phone-widget-column.component-DGaGGltV.mjs} +2 -2
  130. package/fesm2022/{acorex-platform-common-phone-widget-column.component-BTbtfPty.mjs.map → acorex-platform-common-phone-widget-column.component-DGaGGltV.mjs.map} +1 -1
  131. package/fesm2022/{acorex-platform-common-phone-widget-edit.component-Ay4y8j_t.mjs → acorex-platform-common-phone-widget-edit.component-BNfAQ_4j.mjs} +2 -2
  132. package/fesm2022/{acorex-platform-common-phone-widget-edit.component-Ay4y8j_t.mjs.map → acorex-platform-common-phone-widget-edit.component-BNfAQ_4j.mjs.map} +1 -1
  133. package/fesm2022/{acorex-platform-common-phone-widget-view.component-D4WqjjBP.mjs → acorex-platform-common-phone-widget-view.component-xGygt5Y9.mjs} +2 -2
  134. package/fesm2022/{acorex-platform-common-phone-widget-view.component-D4WqjjBP.mjs.map → acorex-platform-common-phone-widget-view.component-xGygt5Y9.mjs.map} +1 -1
  135. package/fesm2022/{acorex-platform-common-rich-text-widget-column.component-B5rev2NB.mjs → acorex-platform-common-rich-text-widget-column.component-BJYxnZm2.mjs} +2 -2
  136. package/fesm2022/{acorex-platform-common-rich-text-widget-column.component-B5rev2NB.mjs.map → acorex-platform-common-rich-text-widget-column.component-BJYxnZm2.mjs.map} +1 -1
  137. package/fesm2022/{acorex-platform-common-rich-text-widget-edit.component-BHBRQKhj.mjs → acorex-platform-common-rich-text-widget-edit.component-Dvv8JnXl.mjs} +2 -2
  138. package/fesm2022/{acorex-platform-common-rich-text-widget-edit.component-BHBRQKhj.mjs.map → acorex-platform-common-rich-text-widget-edit.component-Dvv8JnXl.mjs.map} +1 -1
  139. package/fesm2022/{acorex-platform-common-rich-text-widget-view.component-0bIoY7Ws.mjs → acorex-platform-common-rich-text-widget-view.component-B77Y5luo.mjs} +2 -2
  140. package/fesm2022/{acorex-platform-common-rich-text-widget-view.component-0bIoY7Ws.mjs.map → acorex-platform-common-rich-text-widget-view.component-B77Y5luo.mjs.map} +1 -1
  141. package/fesm2022/{acorex-platform-common-selection-list-widget-column.component-CzJWP4YT.mjs → acorex-platform-common-selection-list-widget-column.component-1zPVFgFG.mjs} +2 -2
  142. package/fesm2022/{acorex-platform-common-selection-list-widget-column.component-CzJWP4YT.mjs.map → acorex-platform-common-selection-list-widget-column.component-1zPVFgFG.mjs.map} +1 -1
  143. package/fesm2022/{acorex-platform-common-selection-list-widget-edit.component-DhYa6y65.mjs → acorex-platform-common-selection-list-widget-edit.component-Tdkf-0cn.mjs} +2 -2
  144. package/fesm2022/{acorex-platform-common-selection-list-widget-edit.component-DhYa6y65.mjs.map → acorex-platform-common-selection-list-widget-edit.component-Tdkf-0cn.mjs.map} +1 -1
  145. package/fesm2022/{acorex-platform-common-selection-list-widget-filter.component-B344MeXJ.mjs → acorex-platform-common-selection-list-widget-filter.component-y2aFk-A6.mjs} +2 -2
  146. package/fesm2022/{acorex-platform-common-selection-list-widget-filter.component-B344MeXJ.mjs.map → acorex-platform-common-selection-list-widget-filter.component-y2aFk-A6.mjs.map} +1 -1
  147. package/fesm2022/{acorex-platform-common-selection-list-widget-view.component-Czk5DzgK.mjs → acorex-platform-common-selection-list-widget-view.component-DLc1MHex.mjs} +2 -2
  148. package/fesm2022/{acorex-platform-common-selection-list-widget-view.component-Czk5DzgK.mjs.map → acorex-platform-common-selection-list-widget-view.component-DLc1MHex.mjs.map} +1 -1
  149. package/fesm2022/{acorex-platform-common-signature-pad-widget-edit.component-YSGjL25D.mjs → acorex-platform-common-signature-pad-widget-edit.component-qUuwwYlj.mjs} +2 -2
  150. package/fesm2022/{acorex-platform-common-signature-pad-widget-edit.component-YSGjL25D.mjs.map → acorex-platform-common-signature-pad-widget-edit.component-qUuwwYlj.mjs.map} +1 -1
  151. package/fesm2022/{acorex-platform-common-signature-pad-widget-view.component-D64btt99.mjs → acorex-platform-common-signature-pad-widget-view.component-D5XVZ88b.mjs} +2 -2
  152. package/fesm2022/{acorex-platform-common-signature-pad-widget-view.component-D64btt99.mjs.map → acorex-platform-common-signature-pad-widget-view.component-D5XVZ88b.mjs.map} +1 -1
  153. package/fesm2022/{acorex-platform-common-string-widget-filter.component-5wb1x5Fa.mjs → acorex-platform-common-string-widget-filter.component-B9h7CnEz.mjs} +2 -2
  154. package/fesm2022/{acorex-platform-common-string-widget-filter.component-5wb1x5Fa.mjs.map → acorex-platform-common-string-widget-filter.component-B9h7CnEz.mjs.map} +1 -1
  155. package/fesm2022/{acorex-platform-common-text-widget-column.component-U-V3HD2V.mjs → acorex-platform-common-text-widget-column.component-LFKeHZbS.mjs} +2 -2
  156. package/fesm2022/{acorex-platform-common-text-widget-column.component-U-V3HD2V.mjs.map → acorex-platform-common-text-widget-column.component-LFKeHZbS.mjs.map} +1 -1
  157. package/fesm2022/{acorex-platform-common-text-widget-edit.component-BCs13zUr.mjs → acorex-platform-common-text-widget-edit.component-BiyTKmvV.mjs} +2 -2
  158. package/fesm2022/{acorex-platform-common-text-widget-edit.component-BCs13zUr.mjs.map → acorex-platform-common-text-widget-edit.component-BiyTKmvV.mjs.map} +1 -1
  159. package/fesm2022/{acorex-platform-common-text-widget-view.component-V1RkKuNZ.mjs → acorex-platform-common-text-widget-view.component-BDxpsxE6.mjs} +2 -2
  160. package/fesm2022/{acorex-platform-common-text-widget-view.component-V1RkKuNZ.mjs.map → acorex-platform-common-text-widget-view.component-BDxpsxE6.mjs.map} +1 -1
  161. package/fesm2022/{acorex-platform-common-toggle-widget-column.component-FqKLeAhY.mjs → acorex-platform-common-toggle-widget-column.component-BnmR9hFM.mjs} +2 -2
  162. package/fesm2022/{acorex-platform-common-toggle-widget-column.component-FqKLeAhY.mjs.map → acorex-platform-common-toggle-widget-column.component-BnmR9hFM.mjs.map} +1 -1
  163. package/fesm2022/{acorex-platform-common-toggle-widget-edit.component-DKSnFdTQ.mjs → acorex-platform-common-toggle-widget-edit.component-Cz7LayX-.mjs} +2 -2
  164. package/fesm2022/{acorex-platform-common-toggle-widget-edit.component-DKSnFdTQ.mjs.map → acorex-platform-common-toggle-widget-edit.component-Cz7LayX-.mjs.map} +1 -1
  165. package/fesm2022/{acorex-platform-common-toggle-widget-view.component-BOYPRUCt.mjs → acorex-platform-common-toggle-widget-view.component-Cq2-5QUg.mjs} +2 -2
  166. package/fesm2022/{acorex-platform-common-toggle-widget-view.component-BOYPRUCt.mjs.map → acorex-platform-common-toggle-widget-view.component-Cq2-5QUg.mjs.map} +1 -1
  167. package/fesm2022/acorex-platform-common.mjs +89 -84
  168. package/fesm2022/acorex-platform-common.mjs.map +1 -1
  169. package/fesm2022/acorex-platform-layout-builder.mjs +78 -11
  170. package/fesm2022/acorex-platform-layout-builder.mjs.map +1 -1
  171. package/fesm2022/acorex-platform-layout-designer.mjs +58 -55
  172. package/fesm2022/acorex-platform-layout-designer.mjs.map +1 -1
  173. package/fesm2022/acorex-platform-layout-entity.mjs +50 -36
  174. package/fesm2022/acorex-platform-layout-entity.mjs.map +1 -1
  175. package/fesm2022/{acorex-platform-themes-default-entity-master-create-view.component-BJ7inoTB.mjs → acorex-platform-themes-default-entity-master-create-view.component-dByV3T8-.mjs} +6 -6
  176. package/fesm2022/{acorex-platform-themes-default-entity-master-create-view.component-BJ7inoTB.mjs.map → acorex-platform-themes-default-entity-master-create-view.component-dByV3T8-.mjs.map} +1 -1
  177. package/fesm2022/acorex-platform-themes-default-entity-master-list-view.component-mzb-FV9E.mjs +299 -0
  178. package/fesm2022/acorex-platform-themes-default-entity-master-list-view.component-mzb-FV9E.mjs.map +1 -0
  179. package/fesm2022/acorex-platform-themes-default-entity-master-modify-view.component-CdwlY0Fa.mjs +88 -0
  180. package/fesm2022/acorex-platform-themes-default-entity-master-modify-view.component-CdwlY0Fa.mjs.map +1 -0
  181. package/fesm2022/acorex-platform-themes-default-entity-master-single-view.component-ItkFB3QF.mjs +150 -0
  182. package/fesm2022/acorex-platform-themes-default-entity-master-single-view.component-ItkFB3QF.mjs.map +1 -0
  183. package/fesm2022/acorex-platform-themes-default.mjs +20 -17
  184. package/fesm2022/acorex-platform-themes-default.mjs.map +1 -1
  185. package/fesm2022/acorex-platform-themes-shared.mjs +23 -4
  186. package/fesm2022/acorex-platform-themes-shared.mjs.map +1 -1
  187. package/fesm2022/{acorex-platform-widgets-checkbox-widget-designer.component-e9O9qFIf.mjs → acorex-platform-widgets-checkbox-widget-designer.component-DzGg-uFi.mjs} +4 -4
  188. package/fesm2022/{acorex-platform-widgets-checkbox-widget-designer.component-e9O9qFIf.mjs.map → acorex-platform-widgets-checkbox-widget-designer.component-DzGg-uFi.mjs.map} +1 -1
  189. package/fesm2022/{acorex-platform-widgets-color-box-widget-designer.component-Brsun0id.mjs → acorex-platform-widgets-color-box-widget-designer.component-DIvi0BtT.mjs} +4 -4
  190. package/fesm2022/acorex-platform-widgets-color-box-widget-designer.component-DIvi0BtT.mjs.map +1 -0
  191. package/fesm2022/{acorex-platform-widgets-template-widget-edit.component-gvAh-gH1.mjs → acorex-platform-widgets-template-widget-edit.component-BWc0_EA0.mjs} +2 -2
  192. 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
  193. package/fesm2022/acorex-platform-widgets.mjs +258 -221
  194. package/fesm2022/acorex-platform-widgets.mjs.map +1 -1
  195. package/layout/builder/lib/builder/datasource-provider.service.d.ts +24 -0
  196. package/layout/builder/lib/builder/index.d.ts +1 -0
  197. package/layout/builder/lib/builder/widget.types.d.ts +12 -8
  198. package/layout/designer/lib/designer/components/board/board.component.d.ts +0 -1
  199. package/layout/designer/lib/designer/components/drawers/data-sources/data-sources.component.d.ts +6 -4
  200. package/layout/designer/lib/designer/designer.component.d.ts +0 -1
  201. package/layout/designer/lib/designer/shared/designer-connector.service.d.ts +1 -4
  202. package/layout/designer/lib/designer/shared/designer.service.d.ts +0 -2
  203. package/layout/designer/lib/designer/shared/designer.types.d.ts +0 -4
  204. package/layout/designer/lib/preview/preview-viewer.component.d.ts +8 -1
  205. package/layout/designer/lib/property-viewer/widget-property-viewer.component.d.ts +6 -2
  206. package/layout/entity/lib/entity-master-create.viewmodel.d.ts +1 -1
  207. package/layout/entity/lib/entity-master-single.viewmodel.d.ts +1 -1
  208. package/layout/entity/lib/entity-master-update.viewmodel.d.ts +1 -1
  209. package/layout/entity/lib/entity.config.d.ts +1 -1
  210. package/layout/entity/lib/entity.service.d.ts +7 -0
  211. package/layout/entity/lib/entity.viewmodel.d.ts +1 -1
  212. package/layout/entity/lib/index.d.ts +1 -0
  213. package/layout/entity/lib/widgets/lookup-widget/lookup-widget-selector.viewmodel.d.ts +2 -2
  214. package/package.json +12 -12
  215. package/themes/default/lib/layouts/root-layout/root-layout.module.d.ts +14 -13
  216. package/themes/shared/lib/shared.module.d.ts +2 -1
  217. package/widgets/lib/widgets/editors/date-time/date-time-box-widget-column.component.d.ts +1 -3
  218. package/widgets/lib/widgets/editors/date-time/date-time-box-widget-view.component.d.ts +1 -0
  219. package/widgets/lib/widgets/editors/select/index.d.ts +2 -2
  220. package/widgets/lib/widgets/editors/select/select-box-widget-edit.component.d.ts +3 -6
  221. package/widgets/lib/widgets/editors/selection-list/selection-list-widget-designer.component.d.ts +5 -6
  222. package/widgets/lib/widgets/editors/selection-list/selection-list-widget-edit.component.d.ts +4 -5
  223. package/fesm2022/acorex-platform-themes-default-entity-master-list-view.component-BGKWaCth.mjs +0 -298
  224. package/fesm2022/acorex-platform-themes-default-entity-master-list-view.component-BGKWaCth.mjs.map +0 -1
  225. package/fesm2022/acorex-platform-themes-default-entity-master-modify-view.component-B3phYOIw.mjs +0 -88
  226. package/fesm2022/acorex-platform-themes-default-entity-master-modify-view.component-B3phYOIw.mjs.map +0 -1
  227. package/fesm2022/acorex-platform-themes-default-entity-master-single-view.component-BO_lAQc_.mjs +0 -150
  228. package/fesm2022/acorex-platform-themes-default-entity-master-single-view.component-BO_lAQc_.mjs.map +0 -1
  229. package/fesm2022/acorex-platform-widgets-color-box-widget-designer.component-Brsun0id.mjs.map +0 -1
@@ -3,7 +3,7 @@ import { AXButtonModule } from '@acorex/components/button';
3
3
  import * as i1 from '@acorex/components/decorators';
4
4
  import { AXDecoratorModule } from '@acorex/components/decorators';
5
5
  import * as i1$3 from '@acorex/platform/layout/builder';
6
- import { AXPWidgetRegistryService, AXPWidgetsCatalog, AXPContainerWidgetComponent, AXP_WIDGETS_GROUPS, AXPLayoutBuilderModule, AXP_WIDGET_TOKEN } from '@acorex/platform/layout/builder';
6
+ import { AXPWidgetRegistryService, AXPWidgetsCatalog, AXPContainerWidgetComponent, AXP_WIDGETS_GROUPS, AXPWidgetDataSourceProviderService, AXPLayoutBuilderModule, AXP_WIDGET_TOKEN } from '@acorex/platform/layout/builder';
7
7
  import * as i0 from '@angular/core';
8
8
  import { signal, computed, Injectable, inject, Component, ChangeDetectionStrategy, ViewEncapsulation, input, output, HostBinding, model, HostListener, EventEmitter, effect, untracked, Output, Injector, NgZone, ViewContainerRef, Directive, ElementRef, ViewChild } from '@angular/core';
9
9
  import { AXLoadingDialogService } from '@acorex/components/loading-dialog';
@@ -29,7 +29,7 @@ import * as i3$1 from '@acorex/components/drawer';
29
29
  import { AXDrawerModule } from '@acorex/components/drawer';
30
30
  import * as i4 from '@acorex/components/dropdown';
31
31
  import { AXDropdownModule } from '@acorex/components/dropdown';
32
- import * as i6$1 from '@acorex/components/dropdown-button';
32
+ import * as i5 from '@acorex/components/dropdown-button';
33
33
  import { AXDropdownButtonModule } from '@acorex/components/dropdown-button';
34
34
  import * as i2$2 from '@acorex/components/menu';
35
35
  import { AXMenuModule } from '@acorex/components/menu';
@@ -224,12 +224,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.0", ngImpor
224
224
  }]
225
225
  }] });
226
226
 
227
- class AXPDesignerModes {
228
- static { this.View = { id: 'view', title: 'View' }; }
229
- static { this.Design = { id: 'designer', title: 'Designer' }; }
230
- static { this.Edit = { id: 'edit', title: 'Edit' }; }
231
- }
232
-
233
227
  class AXPDesignerService {
234
228
  constructor() {
235
229
  this.popupService = inject(AXPopupService);
@@ -253,7 +247,6 @@ class AXPDesignerService {
253
247
  this.selectedNode = signal(null);
254
248
  this._focusedNode = null;
255
249
  this.focusedNode = () => this._focusedNode;
256
- this.mode = signal(AXPDesignerModes.Design);
257
250
  this.size = signal('xl');
258
251
  this.onSelected = new Subject();
259
252
  this.onRefresh = new Subject();
@@ -1038,6 +1031,7 @@ class AXPWidgetPropertyViewerComponent {
1038
1031
  this.widget = input.required();
1039
1032
  this.widgetRegistryService = inject(AXPWidgetRegistryService);
1040
1033
  this.connector = inject(AXPDesignerConnectorAbstract);
1034
+ this.dataSourceProvider = inject(AXPWidgetDataSourceProviderService);
1041
1035
  this.currentTabIndex = signal(0);
1042
1036
  this.config = signal(null);
1043
1037
  this.allPoperties = [];
@@ -1127,8 +1121,8 @@ class AXPWidgetPropertyViewerComponent {
1127
1121
  handleCollapsedChange(group, collapsed) {
1128
1122
  this.groupCollapsedStates.set(group, collapsed);
1129
1123
  }
1130
- getDataSourceNames() {
1131
- return this.connector.getDataSourcesNames();
1124
+ async getDataSourceNames() {
1125
+ return (await this.dataSourceProvider.items()).map(c => ({ id: c.name, title: c.title }));
1132
1126
  }
1133
1127
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.0", ngImport: i0, type: AXPWidgetPropertyViewerComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
1134
1128
  static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.0", type: AXPWidgetPropertyViewerComponent, isStandalone: true, selector: "axp-widget-property-viewer", inputs: { widget: { classPropertyName: "widget", publicName: "widget", isSignal: true, isRequired: true, transformFunction: null } }, outputs: { onChanged: "onChanged" }, ngImport: i0, template: "<axp-widgets-container [context]=\"context()\" (onChanged)=\"handleContextChange($event)\" [functions]=\"functions\">\n <div class=\"ax-flex ax-flex-col\">\n <div class=\"ax-pb-2\">\n <ax-tabs look=\"default\" (onActiveTabChanged)=\"handleTabChange($event)\" [look]=\"'with-line'\">\n @for( tab of tabs();track $index){\n <ax-tab-item [text]=\"tab.title\" [key]=\"$index.toString()\" [active]=\"currentTabIndex() === $index\">\n </ax-tab-item>\n }\n </ax-tabs>\n </div>\n <div class=\"ax-flex-1 ax-overflow-auto\">\n <ax-collapse-group class=\"ax-h-fit\" look=\"blank\">\n @for( group of groups();track $index){\n <ax-collapse [caption]=\"group.title\" look=\"solid\" [(isCollapsed)]=\"group.isCollapsed\"\n (isCollapsedChange)=\"handleCollapsedChange(group.name,$event)\">\n <div class=\"ax-flex ax-flex-col ax-divide-y\">\n @for( p of group.props;track $index){\n <div class=\"ax-flex ax-flex-col ax-gap-1 ax-py-2 first:ax-pt-0 last:ax-pb-0\">\n <span class=\"ax-font-semibold\">{{p.title}}</span>\n @if(p.schema.interface)\n {\n <ng-container axp-widget-renderer [node]=\"p.schema.interface\" [mode]=\"'edit'\">\n </ng-container>\n }\n </div>\n }\n </div>\n </ax-collapse>\n }\n </ax-collapse-group>\n </div>\n </div>\n</axp-widgets-container>", styles: ["ax-collapse .ax-collapse-header{font-weight:600}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "ngmodule", type: AXCollapseModule }, { kind: "component", type: i1$2.AXCollapseComponent, selector: "ax-collapse", inputs: ["disabled", "look", "isCollapsed", "showHeader", "caption", "icon", "isLoading", "headerTemplate"], outputs: ["onClick", "isCollapsedChange"] }, { kind: "component", type: i1$2.AXCollapseGroupComponent, selector: "ax-collapse-group", inputs: ["look", "accordion", "activeIndex"], outputs: ["accordionChange", "activeIndexChange"] }, { kind: "ngmodule", type: AXTabsModule }, { kind: "component", type: i6.AXTabsComponent, selector: "ax-tabs", inputs: ["look", "location", "fitParent", "minWidth", "content"], outputs: ["onActiveTabChanged"] }, { kind: "component", type: i6.AXTabItemComponent, selector: "ax-tab-item", inputs: ["disabled", "text", "key", "headerTemplate", "active"], outputs: ["disabledChange", "onClick", "onBlur", "onFocus", "activeChange"] }, { kind: "ngmodule", type: AXPLayoutBuilderModule }, { kind: "component", type: i1$3.AXPWidgetContainerComponent, selector: "axp-widgets-container", inputs: ["context", "variables", "functions"], outputs: ["onChanged", "contextChange"] }, { kind: "directive", type: i1$3.AXPWidgetRendererDirective, selector: "[axp-widget-renderer]", inputs: ["parentNode", "index", "mode", "node"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
@@ -1191,8 +1185,10 @@ class AXPWidgetDesignerRendererDirective {
1191
1185
  }
1192
1186
  });
1193
1187
  //
1194
- effect(async () => {
1195
- await this.loadComponent();
1188
+ effect(() => {
1189
+ setTimeout(async () => {
1190
+ await this.loadComponent();
1191
+ });
1196
1192
  }, { allowSignalWrites: true });
1197
1193
  }
1198
1194
  async loadComponent() {
@@ -1200,8 +1196,8 @@ class AXPWidgetDesignerRendererDirective {
1200
1196
  this.isLoading.set(true);
1201
1197
  this.config = this.widgetRegistery.resolve(this.node().type);
1202
1198
  //
1203
- const props = this.config?.components[this.mode()]?.properties
1204
- ?.filter((c) => c.schema.defaultValue)
1199
+ const props = [...(this.config?.properties ?? []), ...(this.config?.components[this.mode()]?.properties ?? [])]
1200
+ ?.filter((c) => c.schema.defaultValue != null)
1205
1201
  .map((c) => ({ [c.name]: c.schema.defaultValue }))
1206
1202
  .reduce((acc, curr) => {
1207
1203
  return { ...acc, ...curr };
@@ -1232,7 +1228,7 @@ class AXPWidgetDesignerRendererDirective {
1232
1228
  //
1233
1229
  this.instance.onReady.pipe(first()).subscribe(() => {
1234
1230
  const host = this.hostElement();
1235
- host.classList.add("axp-widget-host");
1231
+ host.classList.add('axp-widget-host');
1236
1232
  if (this.mode() == 'designer') {
1237
1233
  host.addEventListener('mouseover', (e) => {
1238
1234
  e.stopPropagation();
@@ -1273,7 +1269,6 @@ class AXPWidgetDesignerRendererDirective {
1273
1269
  if (this.hostElement().querySelector('.axp-widget-overlay') || this.config?.type == 'container') {
1274
1270
  return;
1275
1271
  }
1276
- ;
1277
1272
  this.overlay = document.createElement('div');
1278
1273
  this.overlay.classList.add('axp-widget-overlay');
1279
1274
  this.overlay.addEventListener('click', (e) => {
@@ -1319,16 +1314,18 @@ class AXPWidgetDesignerRendererDirective {
1319
1314
  this.instance?.setOptions(this.mergedOptions());
1320
1315
  }
1321
1316
  async onKeydownHandler(event) {
1322
- if (this.service.selectedNode() && this.isCurrentWidget(this.service.selectedNode()) && event.target == document.body) {
1317
+ if (this.service.selectedNode() &&
1318
+ this.isCurrentWidget(this.service.selectedNode()) &&
1319
+ event.target == document.body) {
1323
1320
  // handle delete
1324
- if (event.key == "Delete") {
1321
+ if (event.key == 'Delete') {
1325
1322
  event.preventDefault();
1326
1323
  event.stopPropagation();
1327
1324
  this.service.removeWidget(this.node());
1328
1325
  }
1329
1326
  //
1330
1327
  // handle delete
1331
- if (this.config?.type == 'container' && event.key == "Insert") {
1328
+ if (this.config?.type == 'container' && event.key == 'Insert') {
1332
1329
  this.service.showPicker(this.node());
1333
1330
  }
1334
1331
  }
@@ -1361,16 +1358,12 @@ class AXPDesignerBoardComponent {
1361
1358
  this.context = {};
1362
1359
  this.elementRef = inject((ElementRef));
1363
1360
  this.breakpointMap = {
1364
- 'sm': 640,
1365
- 'md': 768,
1366
- 'lg': 1024,
1367
- 'xl': 1280,
1368
- 'xxl': 1536
1361
+ sm: 640,
1362
+ md: 768,
1363
+ lg: 1024,
1364
+ xl: 1280,
1365
+ xxl: 1536,
1369
1366
  };
1370
- this.ctx = effect(() => {
1371
- const mode = this.service.mode();
1372
- this.context = {};
1373
- });
1374
1367
  this.service = inject(AXPDesignerService);
1375
1368
  this.width = computed(() => {
1376
1369
  switch (this.service.size()) {
@@ -1417,10 +1410,10 @@ class AXPDesignerBoardComponent {
1417
1410
  }
1418
1411
  createCustomClass(className, styles, breakpoint) {
1419
1412
  const styleSheet = document.createElement('style');
1420
- styleSheet.setAttribute("data-screen", breakpoint);
1413
+ styleSheet.setAttribute('data-screen', breakpoint);
1421
1414
  // Construct a pure CSS string, dynamically replacing the breakpoint prefix
1422
- let styleString = "";
1423
- styles.forEach(style => {
1415
+ let styleString = '';
1416
+ styles.forEach((style) => {
1424
1417
  // Replace any prefixed classes like 'lg:' or 'md:' dynamically
1425
1418
  const dynamicPrefix = new RegExp(`\\.${breakpoint}\\\\:`, 'g');
1426
1419
  styleString += `.${className} ${style.replace(dynamicPrefix, '.')}`; // Replace the breakpoint prefix
@@ -1430,7 +1423,7 @@ class AXPDesignerBoardComponent {
1430
1423
  this.elementRef.nativeElement.appendChild(styleSheet);
1431
1424
  }
1432
1425
  removeCustomClass() {
1433
- this.elementRef.nativeElement.querySelectorAll('style').forEach(s => s.remove());
1426
+ this.elementRef.nativeElement.querySelectorAll('style').forEach((s) => s.remove());
1434
1427
  }
1435
1428
  handleContextChanged(e) {
1436
1429
  console.log(e);
@@ -1451,15 +1444,11 @@ class AXPDesignerBoardComponent {
1451
1444
  return cls;
1452
1445
  }
1453
1446
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.0", ngImport: i0, type: AXPDesignerBoardComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
1454
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.0", type: AXPDesignerBoardComponent, isStandalone: true, selector: "axp-designer-board", host: { properties: { "style": "this.__style", "class": "this.__class" } }, ngImport: i0, template: "<axp-widgets-container [context]=\"context\" (onChanged)=\"handleContextChanged($event)\">\n <ng-container axp-widget-designer-renderer [node]=\"service.currentPage()\" [mode]=\"service.mode().id\"></ng-container>\n</axp-widgets-container>", dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "ngmodule", type: AXPLayoutBuilderModule }, { kind: "component", type: i1$3.AXPWidgetContainerComponent, selector: "axp-widgets-container", inputs: ["context", "variables", "functions"], outputs: ["onChanged", "contextChange"] }, { kind: "directive", type: AXPWidgetDesignerRendererDirective, selector: "[axp-widget-designer-renderer]", inputs: ["parentNode", "index", "mode", "node"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
1447
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.0", type: AXPDesignerBoardComponent, isStandalone: true, selector: "axp-designer-board", host: { properties: { "style": "this.__style", "class": "this.__class" } }, ngImport: i0, template: "<axp-widgets-container [context]=\"context\" (onChanged)=\"handleContextChanged($event)\">\n <ng-container axp-widget-designer-renderer [node]=\"service.currentPage()\" [mode]=\"'designer'\"></ng-container>\n</axp-widgets-container>\n", dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "ngmodule", type: AXPLayoutBuilderModule }, { kind: "component", type: i1$3.AXPWidgetContainerComponent, selector: "axp-widgets-container", inputs: ["context", "variables", "functions"], outputs: ["onChanged", "contextChange"] }, { kind: "directive", type: AXPWidgetDesignerRendererDirective, selector: "[axp-widget-designer-renderer]", inputs: ["parentNode", "index", "mode", "node"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
1455
1448
  }
1456
1449
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.0", ngImport: i0, type: AXPDesignerBoardComponent, decorators: [{
1457
1450
  type: Component,
1458
- args: [{ selector: 'axp-designer-board', encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, standalone: true, imports: [
1459
- CommonModule,
1460
- AXPLayoutBuilderModule,
1461
- AXPWidgetDesignerRendererDirective
1462
- ], template: "<axp-widgets-container [context]=\"context\" (onChanged)=\"handleContextChanged($event)\">\n <ng-container axp-widget-designer-renderer [node]=\"service.currentPage()\" [mode]=\"service.mode().id\"></ng-container>\n</axp-widgets-container>" }]
1451
+ args: [{ selector: 'axp-designer-board', encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, standalone: true, imports: [CommonModule, AXPLayoutBuilderModule, AXPWidgetDesignerRendererDirective], template: "<axp-widgets-container [context]=\"context\" (onChanged)=\"handleContextChanged($event)\">\n <ng-container axp-widget-designer-renderer [node]=\"service.currentPage()\" [mode]=\"'designer'\"></ng-container>\n</axp-widgets-container>\n" }]
1463
1452
  }], propDecorators: { __style: [{
1464
1453
  type: HostBinding,
1465
1454
  args: ['style']
@@ -1534,22 +1523,15 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.0", ngImpor
1534
1523
  args: [{ standalone: true, imports: [CommonModule, AXDecoratorModule], selector: 'axp-designer-drawer-content', template: "<div class=\"ax-flex ax-flex-col ax-border-e ax-w-72 ax-h-full\">\n <div class=\"ax-flex ax-flex-row ax-w-full ax-justify-between ax-text-white ax-p-2 ax-border-b\">\n <div class=\"ax-flex ax-flex-row ax-gap-2 ax-items-center ax-font-semibold\">\n <ng-content select=\"ax-title\"></ng-content>\n </div>\n <div class=\"ax-flex ax-gap-1 ax-items-center\">\n <ng-content select=\"ax-content[header]\">\n </ng-content>\n <ax-close-button></ax-close-button>\n </div>\n </div>\n <div class=\"ax-flex-1 ax-h-full ax-overflow-auto\">\n <ng-content select=\"ax-content[body]\">\n\n </ng-content>\n </div>\n</div>" }]
1535
1524
  }], ctorParameters: () => [] });
1536
1525
 
1537
- class AXPDesignerConnectorAbstract {
1538
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.0", ngImport: i0, type: AXPDesignerConnectorAbstract, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
1539
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.0", ngImport: i0, type: AXPDesignerConnectorAbstract }); }
1540
- }
1541
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.0", ngImport: i0, type: AXPDesignerConnectorAbstract, decorators: [{
1542
- type: Injectable
1543
- }] });
1544
-
1545
1526
  class AXPDesignerDataSourcesComponent {
1546
1527
  constructor() {
1547
1528
  this.service = inject(AXPDesignerService);
1548
- this.connector = inject(AXPDesignerConnectorAbstract);
1529
+ this.dataSourceProvider = inject(AXPWidgetDataSourceProviderService);
1549
1530
  this.list = signal([]);
1550
1531
  }
1551
1532
  async ngOnInit() {
1552
- this.list.set(await this.connector.getDataSourcesNames());
1533
+ const items = (await this.dataSourceProvider.items()).map(c => ({ name: c.name, title: c.title }));
1534
+ this.list.set(items);
1553
1535
  }
1554
1536
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.0", ngImport: i0, type: AXPDesignerDataSourcesComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
1555
1537
  static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.0", type: AXPDesignerDataSourcesComponent, isStandalone: true, selector: "axp-designer-data-sources", ngImport: i0, template: "<axp-designer-drawer-content>\n\n <ax-title>Data Sources</ax-title>\n\n <ax-content header>\n <ax-button look=\"ghost\" class=\"ax-xs\" title=\"Add New Data Source\">\n <ax-icon class=\"fa-light fa-plus\"></ax-icon>\n </ax-button>\n </ax-content>\n\n <ax-content body>\n @if(list().length)\n {\n <ul class=\"axp-designer-drawer-list\">\n @for (item of list(); track $index) {\n <li>\n <i class=\"ax-me-1 fa-solid fa-table\"></i>\n {{ item.title }}\n </li>\n }\n </ul>\n }\n @else {\n <div class=\"axp-designer-drawer-empty\">No data source found in the\n document\n </div>\n }\n </ax-content>\n\n</axp-designer-drawer-content>", dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "ngmodule", type: AXDecoratorModule }, { kind: "component", type: i1.AXDecoratorIconComponent, selector: "ax-icon", inputs: ["icon"] }, { kind: "component", type: i1.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: 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: AXPLayoutDesignerDrawerContentComponent, selector: "axp-designer-drawer-content" }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
@@ -1781,16 +1763,13 @@ class AXPLayoutDesignerComponent {
1781
1763
  this.propertyViewer.update(e.values);
1782
1764
  });
1783
1765
  }
1784
- changeMode(mode) {
1785
- this.service.mode.set(AXPDesignerModes[mode]);
1786
- }
1787
1766
  get __styles() {
1788
1767
  const styles = {};
1789
1768
  styles[`direction`] = 'ltr';
1790
1769
  return styles;
1791
1770
  }
1792
1771
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.0", ngImport: i0, type: AXPLayoutDesignerComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
1793
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.0", type: AXPLayoutDesignerComponent, isStandalone: true, selector: "axp-layout-designer", host: { properties: { "style": "this.__styles" } }, providers: [AXPDesignerService], viewQueries: [{ propertyName: "propertyViewer", first: true, predicate: AXPWidgetPropertyViewerComponent, descendants: true, static: true }], ngImport: i0, template: "<ax-drawer-container class=\"ax-h-full ax-w-full ax-flex ax-relative ax-overflow-hidden ax-dark\">\n <ax-content class=\"ax-contents\">\n <!-- Toolbar Side -->\n <div class=\"ax-min-w-10 ax-bg-surface ax-border-e ax-xs ax-flex ax-flex-col ax-items-center\">\n <div class=\"ax-min-w-10 ax-h-10 ax-flex ax-items-center ax-justify-center ax-border-b\">\n <img src=\"assets/logos/logo.png\" class=\"ax-w-6\" />\n </div>\n <div class=\"ax-py-1\"></div>\n <div class=\"ax-flex ax-flex-col ax-gap-2\">\n <!-- <ax-button color=\"ghost\" look=\"twotone\">\n <ax-icon class=\"fa-solid fa-puzzle ax-text-sm\"> </ax-icon>\n </ax-button> -->\n <ax-button color=\"ghost\" look=\"twotone\" (onClick)=\"pages.toggle()\" title=\"Pages\">\n <ax-icon class=\"fa-solid fa-page ax-text-sm\"> </ax-icon>\n </ax-button>\n <ax-button color=\"ghost\" look=\"twotone\" (onClick)=\"datasources.toggle()\" title=\"Data Sources\">\n <ax-icon class=\"fa-solid fa-database ax-text-sm\"> </ax-icon>\n </ax-button>\n <ax-button color=\"ghost\" look=\"twotone\" (onClick)=\"outline.toggle()\" title=\"Outline\">\n <ax-icon class=\"fa-solid fa-list-tree ax-text-sm\"> </ax-icon>\n </ax-button>\n <ax-button color=\"ghost\" look=\"twotone\" (onClick)=\"history.toggle()\" title=\"History\">\n <ax-icon class=\"fa-solid fa-clock-rotate-left ax-text-sm\"> </ax-icon>\n </ax-button>\n <!-- <ax-button color=\"ghost\" look=\"twotone\" title=\"Timeline\">\n <ax-icon class=\"fa-solid fa-diagram-sankey ax-text-sm\"> </ax-icon>\n </ax-button> -->\n </div>\n </div>\n <!-- Main Side -->\n <div class=\"ax-col-span-10 ax-flex ax-flex-col ax-flex-1\">\n <!-- Header Toolbar -->\n <div class=\"ax-h-10 ax-bg-surface ax-border-b ax-flex ax-justify-between ax-px-2\">\n <div class=\"ax-flex ax-flex-1 ax-items-center ax-text-white ax-justify-start\">\n <axp-designer-header-menu></axp-designer-header-menu>\n </div>\n <div class=\"ax-flex ax-flex-1 ax-flex-row ax-gap-2 ax-xs ax-items-center ax-justify-center\">\n <axp-designer-view-sizes [(size)]=\"service.size\"></axp-designer-view-sizes>\n </div>\n <div class=\"ax-flex ax-flex-1 ax-flex-row ax-gap-2 ax-xs ax-items-center ax-justify-end\">\n <ax-button [text]=\"service.mode().title\" look=\"outline\" class=\"ax-xs\">\n <ax-suffix>\n <ax-icon class=\"fa-light fa-chevron-down\"></ax-icon>\n </ax-suffix>\n <ax-dropdown-panel>\n <ax-button-item-list>\n <ax-button-item\n (onClick)=\"changeMode('Design')\"\n text=\"Designer\"\n name=\"designer\"\n [selected]=\"service.mode().id == 'designer'\"\n >\n </ax-button-item>\n <ax-button-item\n (onClick)=\"changeMode('View')\"\n text=\"View\"\n name=\"view\"\n [selected]=\"service.mode().id == 'view'\"\n >\n </ax-button-item>\n <ax-button-item\n (onClick)=\"changeMode('Edit')\"\n text=\"Edit\"\n name=\"edit\"\n [selected]=\"service.mode().id == 'edit'\"\n >\n </ax-button-item>\n </ax-button-item-list>\n </ax-dropdown-panel>\n </ax-button>\n\n <ax-dropdown-button\n mode=\"split\"\n look=\"outline\"\n text=\"Preview\"\n class=\"ax-xs\"\n (onClick)=\"service.openPreviewDialog()\"\n >\n <ax-button-item-list>\n <ax-button-item text=\"Open in new window\" (onClick)=\"service.openPreviewWindow()\">\n <ax-prefix>\n <ax-icon icon=\"fa-regular fa-window-restore\"></ax-icon>\n </ax-prefix>\n </ax-button-item>\n </ax-button-item-list>\n </ax-dropdown-button>\n </div>\n </div>\n <!-- Board -->\n <ax-drawer-container class=\"ax-w-full ax-flex-1\">\n <!-- Pages -->\n <ax-drawer #pages location=\"start\" mode=\"push\">\n <ax-content>\n <axp-designer-pages></axp-designer-pages>\n </ax-content>\n </ax-drawer>\n <!-- Datasources -->\n <ax-drawer #datasources location=\"start\" mode=\"push\">\n <ax-content>\n <axp-designer-data-sources></axp-designer-data-sources>\n </ax-content>\n </ax-drawer>\n <!-- Outline Pnael -->\n <ax-drawer #outline location=\"start\" mode=\"push\">\n <ax-content>\n <axp-designer-outline></axp-designer-outline>\n </ax-content>\n </ax-drawer>\n <!-- History Pnael -->\n <ax-drawer #history location=\"start\" mode=\"push\">\n <ax-content>\n <axp-designer-history></axp-designer-history>\n </ax-content>\n </ax-drawer>\n <!-- Content of board -->\n <ax-content class=\"ax-light ax-bg-[#f3f3fe] ax-flex ax-justify-center ax-p-10\">\n <axp-designer-board class=\"ax-rounded-lg ax-bg-white ax-shadow-md\"> </axp-designer-board>\n </ax-content>\n </ax-drawer-container>\n <!-- Footer -->\n <div class=\"ax-h-10 ax-bg-surface ax-border-t ax-flex ax-items-center\">\n <axp-designer-breadcrumbs class=\"ax-border-default ax-border-t ax-p-2 ax-font-normal\">\n </axp-designer-breadcrumbs>\n </div>\n </div>\n </ax-content>\n <!-- Property Side -->\n <ax-drawer class=\"ax-w-80 ax-border-s\" location=\"end\" mode=\"push\" [collapsed]=\"false\" #pd>\n <ax-content>\n <div class=\"ax-flex ax-flex-row ax-w-full ax-justify-between ax-text-white ax-py-2 ax-px-4 ax-border-b\">\n <div class=\"ax-flex ax-flex-row ax-gap-2 ax-items-center\">\n <i [ngClass]=\"nodeConfig()?.icon\"></i>\n <span class=\"ax-font-semibold\">{{ nodeConfig()?.title }}</span>\n </div>\n </div>\n <axp-widget-property-viewer\n [widget]=\"service.selectedNode()!\"\n (onChanged)=\"service.update({ values: $event.values, mode: $event.mode })\"\n class=\"ax-w-1/4\"\n >\n </axp-widget-property-viewer>\n </ax-content>\n </ax-drawer>\n</ax-drawer-container>\n", styles: [".axp-designer-board{display:block;height:100%;width:100%;overflow:auto;--tw-bg-opacity: 1;background-color:rgba(var(--ax-color-surface),var(--tw-bg-opacity));padding:.75rem}.axp-designer-board.axp-state-design .ax-widget-outline{outline-style:dashed;outline-width:1px;outline-offset:2px;outline-color:#d1d5db}.axp-designer-board.axp-state-design .axp-widget-host{cursor:pointer;position:relative}.axp-designer-board.axp-state-design .axp-widget-host.axp-state-selected{outline-style:solid;outline-width:2px;outline-offset:1px;outline-color:#60a5fa}.axp-designer-board.axp-state-design .axp-widget-host.axp-state-selected.ax-widget-container{outline-offset:2px}.axp-designer-board.axp-state-design .axp-widget-host.axp-state-hover{outline-style:dashed;outline-width:2px;outline-offset:2px;outline-color:#d946ef}.axp-designer-board.axp-state-design .axp-widget-host.axp-state-hover.axp-state-selected{outline-color:#60a5fa}.axp-designer-board.axp-state-design .axp-widget-host.axp-state-hover.ax-widget-container{outline-offset:4px}.axp-designer-board.axp-state-design .axp-widget-host .axp-widget-overlay{position:absolute;left:0;top:0;right:0;bottom:0;z-index:2000;height:100%;width:100%}.axp-designer-board .axp-empty-space{display:flex;flex:1 1 0%;cursor:default;align-items:center;justify-content:center;background-color:rgba(var(--ax-color-primary-300),10%);background-image:linear-gradient(135deg,rgba(var(--ax-color-primary-300),50%) 10%,transparent 0,transparent 50%,rgba(var(--ax-color-primary-300),50%) 0,rgba(var(--ax-color-primary-300),50%) 60%,transparent 0,transparent);background-size:7.5px 7.5px;height:100%}.axp-designer-board .axp-page-widget-header,.axp-designer-board .axp-page-widget-footer{filter:grayscale(100%);opacity:.5}.axp-designer-board .axp-page-widget-header:hover,.axp-designer-board .axp-page-widget-footer:hover{filter:grayscale(0);opacity:1}.axp-designer-board .axp-page-widget-header{margin-bottom:.5rem}.axp-designer-board .axp-page-widget-footer{margin-top:.5rem}axp-designer-drawer-content ul.axp-designer-drawer-list>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(.25rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.25rem * var(--tw-space-y-reverse))}axp-designer-drawer-content ul.axp-designer-drawer-list{padding:.25rem;font-size:.875rem;line-height:1.25rem;--tw-text-opacity: 1;color:rgb(255 255 255 / var(--tw-text-opacity))}axp-designer-drawer-content ul.axp-designer-drawer-list li{cursor:pointer;border-radius:.125rem;padding:.25rem .5rem;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter;transition-duration:.15s;transition-timing-function:cubic-bezier(.4,0,.2,1)}axp-designer-drawer-content ul.axp-designer-drawer-list li:hover:not(.axp-designer-drawer-list){--tw-bg-opacity: 1;background-color:rgb(55 65 81 / var(--tw-bg-opacity))}axp-designer-drawer-content ul.axp-designer-drawer-list li.ax-state-selected{--tw-bg-opacity: 1;background-color:rgba(var(--ax-color-neutral-700),var(--tw-bg-opacity))}axp-designer-drawer-content .axp-designer-drawer-empty{display:flex;align-items:center;justify-content:center;padding:1rem;--tw-text-opacity: 1;color:rgb(209 213 219 / var(--tw-text-opacity))}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1$1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "ngmodule", type: AXPLayoutBuilderModule }, { kind: "component", type: AXPDesignerBoardComponent, selector: "axp-designer-board" }, { kind: "component", type: AXPWidgetPropertyViewerComponent, selector: "axp-widget-property-viewer", inputs: ["widget"], outputs: ["onChanged"] }, { kind: "component", type: AXPDesignerBreadcrumbsComponent, selector: "axp-designer-breadcrumbs" }, { kind: "component", type: AXPDesignerOutlineComponent, selector: "axp-designer-outline" }, { kind: "component", type: AXPDesignerHeaderMenuComponent, selector: "axp-designer-header-menu" }, { kind: "component", type: AXPDesignerHistoryComponent, selector: "axp-designer-history" }, { kind: "component", type: AXPDesignerDataSourcesComponent, selector: "axp-designer-data-sources" }, { kind: "component", type: AXPDesignerPagesComponent, selector: "axp-designer-pages" }, { kind: "component", type: AXPDesignerViewSizeToolbarComponent, selector: "axp-designer-view-sizes", inputs: ["size"], outputs: ["sizeChange"] }, { kind: "ngmodule", type: AXTabsModule }, { 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: AXDrawerModule }, { kind: "component", type: i3$1.AXDrawerComponent, selector: "ax-drawer", inputs: ["location", "showBackdrop", "mode", "closeOthers", "collapsed"], outputs: ["locationChange", "modeChange", "collapsedChange"] }, { kind: "component", type: i3$1.AXDrawerContainerComponent, selector: "ax-drawer-container" }, { kind: "ngmodule", type: AXDecoratorModule }, { kind: "component", type: i1.AXDecoratorIconComponent, selector: "ax-icon", inputs: ["icon"] }, { kind: "component", type: i1.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: AXMenuModule }, { kind: "ngmodule", type: AXButtonGroupModule }, { 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: AXDropdownButtonModule }, { kind: "component", type: i6$1.AXDropdownButtonComponent, selector: "ax-dropdown-button", inputs: ["disabled", "size", "tabIndex", "color", "look", "text", "type", "mode"], outputs: ["onBlur", "onFocus", "onClick", "selectedChange", "lookChange", "colorChange", "disabledChange"] }], encapsulation: i0.ViewEncapsulation.None }); }
1772
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.0", type: AXPLayoutDesignerComponent, isStandalone: true, selector: "axp-layout-designer", host: { properties: { "style": "this.__styles" } }, providers: [AXPDesignerService], viewQueries: [{ propertyName: "propertyViewer", first: true, predicate: AXPWidgetPropertyViewerComponent, descendants: true, static: true }], ngImport: i0, template: "<ax-drawer-container class=\"ax-h-full ax-w-full ax-flex ax-relative ax-overflow-hidden ax-dark\">\n <ax-content class=\"ax-contents\">\n <!-- Toolbar Side -->\n <div class=\"ax-min-w-10 ax-bg-surface ax-border-e ax-xs ax-flex ax-flex-col ax-items-center\">\n <div class=\"ax-min-w-10 ax-h-10 ax-flex ax-items-center ax-justify-center ax-border-b\">\n <img src=\"assets/logos/logo.png\" class=\"ax-w-6\" />\n </div>\n <div class=\"ax-py-1\"></div>\n <div class=\"ax-flex ax-flex-col ax-gap-2\">\n <!-- <ax-button color=\"ghost\" look=\"twotone\">\n <ax-icon class=\"fa-solid fa-puzzle ax-text-sm\"> </ax-icon>\n </ax-button> -->\n <ax-button color=\"ghost\" look=\"twotone\" (onClick)=\"pages.toggle()\" title=\"Pages\">\n <ax-icon class=\"fa-solid fa-page ax-text-sm\"> </ax-icon>\n </ax-button>\n <ax-button color=\"ghost\" look=\"twotone\" (onClick)=\"datasources.toggle()\" title=\"Data Sources\">\n <ax-icon class=\"fa-solid fa-database ax-text-sm\"> </ax-icon>\n </ax-button>\n <ax-button color=\"ghost\" look=\"twotone\" (onClick)=\"outline.toggle()\" title=\"Outline\">\n <ax-icon class=\"fa-solid fa-list-tree ax-text-sm\"> </ax-icon>\n </ax-button>\n <ax-button color=\"ghost\" look=\"twotone\" (onClick)=\"history.toggle()\" title=\"History\">\n <ax-icon class=\"fa-solid fa-clock-rotate-left ax-text-sm\"> </ax-icon>\n </ax-button>\n <!-- <ax-button color=\"ghost\" look=\"twotone\" title=\"Timeline\">\n <ax-icon class=\"fa-solid fa-diagram-sankey ax-text-sm\"> </ax-icon>\n </ax-button> -->\n </div>\n </div>\n <!-- Main Side -->\n <div class=\"ax-col-span-10 ax-flex ax-flex-col ax-flex-1\">\n <!-- Header Toolbar -->\n <div class=\"ax-h-10 ax-bg-surface ax-border-b ax-flex ax-justify-between ax-px-2\">\n <div class=\"ax-flex ax-flex-1 ax-items-center ax-text-white ax-justify-start\">\n <axp-designer-header-menu></axp-designer-header-menu>\n </div>\n <div class=\"ax-flex ax-flex-1 ax-flex-row ax-gap-2 ax-xs ax-items-center ax-justify-center\">\n <axp-designer-view-sizes [(size)]=\"service.size\"></axp-designer-view-sizes>\n </div>\n <div class=\"ax-flex ax-flex-1 ax-flex-row ax-gap-2 ax-xs ax-items-center ax-justify-end\">\n <ax-dropdown-button\n mode=\"split\"\n look=\"outline\"\n text=\"Preview\"\n class=\"ax-xs\"\n (onClick)=\"service.openPreviewDialog()\"\n >\n <ax-button-item-list>\n <ax-button-item text=\"Open in new window\" (onClick)=\"service.openPreviewWindow()\">\n <ax-prefix>\n <ax-icon icon=\"fa-regular fa-window-restore\"></ax-icon>\n </ax-prefix>\n </ax-button-item>\n </ax-button-item-list>\n </ax-dropdown-button>\n </div>\n </div>\n <!-- Board -->\n <ax-drawer-container class=\"ax-w-full ax-flex-1\">\n <!-- Pages -->\n <ax-drawer #pages location=\"start\" mode=\"push\">\n <ax-content>\n <axp-designer-pages></axp-designer-pages>\n </ax-content>\n </ax-drawer>\n <!-- Datasources -->\n <ax-drawer #datasources location=\"start\" mode=\"push\">\n <ax-content>\n <axp-designer-data-sources></axp-designer-data-sources>\n </ax-content>\n </ax-drawer>\n <!-- Outline Pnael -->\n <ax-drawer #outline location=\"start\" mode=\"push\">\n <ax-content>\n <axp-designer-outline></axp-designer-outline>\n </ax-content>\n </ax-drawer>\n <!-- History Pnael -->\n <ax-drawer #history location=\"start\" mode=\"push\">\n <ax-content>\n <axp-designer-history></axp-designer-history>\n </ax-content>\n </ax-drawer>\n <!-- Content of board -->\n <ax-content class=\"ax-light ax-bg-[#f3f3fe] ax-flex ax-justify-center ax-p-10\">\n <axp-designer-board class=\"ax-rounded-lg ax-bg-white ax-shadow-md\"> </axp-designer-board>\n </ax-content>\n </ax-drawer-container>\n <!-- Footer -->\n <div class=\"ax-h-10 ax-bg-surface ax-border-t ax-flex ax-items-center\">\n <axp-designer-breadcrumbs class=\"ax-border-default ax-border-t ax-p-2 ax-font-normal\">\n </axp-designer-breadcrumbs>\n </div>\n </div>\n </ax-content>\n <!-- Property Side -->\n <ax-drawer class=\"ax-w-80 ax-border-s\" location=\"end\" mode=\"push\" [collapsed]=\"false\" #pd>\n <ax-content>\n <div class=\"ax-flex ax-flex-row ax-w-full ax-justify-between ax-text-white ax-py-2 ax-px-4 ax-border-b\">\n <div class=\"ax-flex ax-flex-row ax-gap-2 ax-items-center\">\n <i [ngClass]=\"nodeConfig()?.icon\"></i>\n <span class=\"ax-font-semibold\">{{ nodeConfig()?.title }}</span>\n </div>\n </div>\n <axp-widget-property-viewer\n [widget]=\"service.selectedNode()!\"\n (onChanged)=\"service.update({ values: $event.values, mode: $event.mode })\"\n class=\"ax-w-1/4\"\n >\n </axp-widget-property-viewer>\n </ax-content>\n </ax-drawer>\n</ax-drawer-container>\n", styles: [".axp-designer-board{display:block;height:100%;width:100%;overflow:auto;--tw-bg-opacity: 1;background-color:rgba(var(--ax-color-surface),var(--tw-bg-opacity));padding:.75rem}.axp-designer-board.axp-state-design .ax-widget-outline{outline-style:dashed;outline-width:1px;outline-offset:2px;outline-color:#d1d5db}.axp-designer-board.axp-state-design .axp-widget-host{cursor:pointer;position:relative}.axp-designer-board.axp-state-design .axp-widget-host.axp-state-selected{outline-style:solid;outline-width:2px;outline-offset:1px;outline-color:#60a5fa}.axp-designer-board.axp-state-design .axp-widget-host.axp-state-selected.ax-widget-container{outline-offset:2px}.axp-designer-board.axp-state-design .axp-widget-host.axp-state-hover{outline-style:dashed;outline-width:2px;outline-offset:2px;outline-color:#d946ef}.axp-designer-board.axp-state-design .axp-widget-host.axp-state-hover.axp-state-selected{outline-color:#60a5fa}.axp-designer-board.axp-state-design .axp-widget-host.axp-state-hover.ax-widget-container{outline-offset:4px}.axp-designer-board.axp-state-design .axp-widget-host .axp-widget-overlay{position:absolute;left:0;top:0;right:0;bottom:0;z-index:2000;height:100%;width:100%}.axp-designer-board .axp-empty-space{display:flex;flex:1 1 0%;cursor:default;align-items:center;justify-content:center;background-color:rgba(var(--ax-color-primary-300),10%);background-image:linear-gradient(135deg,rgba(var(--ax-color-primary-300),50%) 10%,transparent 0,transparent 50%,rgba(var(--ax-color-primary-300),50%) 0,rgba(var(--ax-color-primary-300),50%) 60%,transparent 0,transparent);background-size:7.5px 7.5px;height:100%}.axp-designer-board .axp-page-widget-header,.axp-designer-board .axp-page-widget-footer{filter:grayscale(100%);opacity:.5}.axp-designer-board .axp-page-widget-header:hover,.axp-designer-board .axp-page-widget-footer:hover{filter:grayscale(0);opacity:1}.axp-designer-board .axp-page-widget-header{margin-bottom:.5rem}.axp-designer-board .axp-page-widget-footer{margin-top:.5rem}axp-designer-drawer-content ul.axp-designer-drawer-list>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(.25rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.25rem * var(--tw-space-y-reverse))}axp-designer-drawer-content ul.axp-designer-drawer-list{padding:.25rem;font-size:.875rem;line-height:1.25rem;--tw-text-opacity: 1;color:rgb(255 255 255 / var(--tw-text-opacity))}axp-designer-drawer-content ul.axp-designer-drawer-list li{cursor:pointer;border-radius:.125rem;padding:.25rem .5rem;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter;transition-duration:.15s;transition-timing-function:cubic-bezier(.4,0,.2,1)}axp-designer-drawer-content ul.axp-designer-drawer-list li:hover:not(.axp-designer-drawer-list){--tw-bg-opacity: 1;background-color:rgb(55 65 81 / var(--tw-bg-opacity))}axp-designer-drawer-content ul.axp-designer-drawer-list li.ax-state-selected{--tw-bg-opacity: 1;background-color:rgba(var(--ax-color-neutral-700),var(--tw-bg-opacity))}axp-designer-drawer-content .axp-designer-drawer-empty{display:flex;align-items:center;justify-content:center;padding:1rem;--tw-text-opacity: 1;color:rgb(209 213 219 / var(--tw-text-opacity))}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1$1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "ngmodule", type: AXPLayoutBuilderModule }, { kind: "component", type: AXPDesignerBoardComponent, selector: "axp-designer-board" }, { kind: "component", type: AXPWidgetPropertyViewerComponent, selector: "axp-widget-property-viewer", inputs: ["widget"], outputs: ["onChanged"] }, { kind: "component", type: AXPDesignerBreadcrumbsComponent, selector: "axp-designer-breadcrumbs" }, { kind: "component", type: AXPDesignerOutlineComponent, selector: "axp-designer-outline" }, { kind: "component", type: AXPDesignerHeaderMenuComponent, selector: "axp-designer-header-menu" }, { kind: "component", type: AXPDesignerHistoryComponent, selector: "axp-designer-history" }, { kind: "component", type: AXPDesignerDataSourcesComponent, selector: "axp-designer-data-sources" }, { kind: "component", type: AXPDesignerPagesComponent, selector: "axp-designer-pages" }, { kind: "component", type: AXPDesignerViewSizeToolbarComponent, selector: "axp-designer-view-sizes", inputs: ["size"], outputs: ["sizeChange"] }, { kind: "ngmodule", type: AXTabsModule }, { 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: AXDrawerModule }, { kind: "component", type: i3$1.AXDrawerComponent, selector: "ax-drawer", inputs: ["location", "showBackdrop", "mode", "closeOthers", "collapsed"], outputs: ["locationChange", "modeChange", "collapsedChange"] }, { kind: "component", type: i3$1.AXDrawerContainerComponent, selector: "ax-drawer-container" }, { kind: "ngmodule", type: AXDecoratorModule }, { kind: "component", type: i1.AXDecoratorIconComponent, selector: "ax-icon", inputs: ["icon"] }, { kind: "component", type: i1.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: AXMenuModule }, { kind: "ngmodule", type: AXButtonGroupModule }, { kind: "ngmodule", type: AXDropdownModule }, { kind: "ngmodule", type: AXDropdownButtonModule }, { kind: "component", type: i5.AXDropdownButtonComponent, selector: "ax-dropdown-button", inputs: ["disabled", "size", "tabIndex", "color", "look", "text", "type", "mode"], outputs: ["onBlur", "onFocus", "onClick", "selectedChange", "lookChange", "colorChange", "disabledChange"] }], encapsulation: i0.ViewEncapsulation.None }); }
1794
1773
  }
1795
1774
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.0", ngImport: i0, type: AXPLayoutDesignerComponent, decorators: [{
1796
1775
  type: Component,
@@ -1814,7 +1793,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.0", ngImpor
1814
1793
  AXButtonGroupModule,
1815
1794
  AXDropdownModule,
1816
1795
  AXDropdownButtonModule,
1817
- ], providers: [AXPDesignerService], template: "<ax-drawer-container class=\"ax-h-full ax-w-full ax-flex ax-relative ax-overflow-hidden ax-dark\">\n <ax-content class=\"ax-contents\">\n <!-- Toolbar Side -->\n <div class=\"ax-min-w-10 ax-bg-surface ax-border-e ax-xs ax-flex ax-flex-col ax-items-center\">\n <div class=\"ax-min-w-10 ax-h-10 ax-flex ax-items-center ax-justify-center ax-border-b\">\n <img src=\"assets/logos/logo.png\" class=\"ax-w-6\" />\n </div>\n <div class=\"ax-py-1\"></div>\n <div class=\"ax-flex ax-flex-col ax-gap-2\">\n <!-- <ax-button color=\"ghost\" look=\"twotone\">\n <ax-icon class=\"fa-solid fa-puzzle ax-text-sm\"> </ax-icon>\n </ax-button> -->\n <ax-button color=\"ghost\" look=\"twotone\" (onClick)=\"pages.toggle()\" title=\"Pages\">\n <ax-icon class=\"fa-solid fa-page ax-text-sm\"> </ax-icon>\n </ax-button>\n <ax-button color=\"ghost\" look=\"twotone\" (onClick)=\"datasources.toggle()\" title=\"Data Sources\">\n <ax-icon class=\"fa-solid fa-database ax-text-sm\"> </ax-icon>\n </ax-button>\n <ax-button color=\"ghost\" look=\"twotone\" (onClick)=\"outline.toggle()\" title=\"Outline\">\n <ax-icon class=\"fa-solid fa-list-tree ax-text-sm\"> </ax-icon>\n </ax-button>\n <ax-button color=\"ghost\" look=\"twotone\" (onClick)=\"history.toggle()\" title=\"History\">\n <ax-icon class=\"fa-solid fa-clock-rotate-left ax-text-sm\"> </ax-icon>\n </ax-button>\n <!-- <ax-button color=\"ghost\" look=\"twotone\" title=\"Timeline\">\n <ax-icon class=\"fa-solid fa-diagram-sankey ax-text-sm\"> </ax-icon>\n </ax-button> -->\n </div>\n </div>\n <!-- Main Side -->\n <div class=\"ax-col-span-10 ax-flex ax-flex-col ax-flex-1\">\n <!-- Header Toolbar -->\n <div class=\"ax-h-10 ax-bg-surface ax-border-b ax-flex ax-justify-between ax-px-2\">\n <div class=\"ax-flex ax-flex-1 ax-items-center ax-text-white ax-justify-start\">\n <axp-designer-header-menu></axp-designer-header-menu>\n </div>\n <div class=\"ax-flex ax-flex-1 ax-flex-row ax-gap-2 ax-xs ax-items-center ax-justify-center\">\n <axp-designer-view-sizes [(size)]=\"service.size\"></axp-designer-view-sizes>\n </div>\n <div class=\"ax-flex ax-flex-1 ax-flex-row ax-gap-2 ax-xs ax-items-center ax-justify-end\">\n <ax-button [text]=\"service.mode().title\" look=\"outline\" class=\"ax-xs\">\n <ax-suffix>\n <ax-icon class=\"fa-light fa-chevron-down\"></ax-icon>\n </ax-suffix>\n <ax-dropdown-panel>\n <ax-button-item-list>\n <ax-button-item\n (onClick)=\"changeMode('Design')\"\n text=\"Designer\"\n name=\"designer\"\n [selected]=\"service.mode().id == 'designer'\"\n >\n </ax-button-item>\n <ax-button-item\n (onClick)=\"changeMode('View')\"\n text=\"View\"\n name=\"view\"\n [selected]=\"service.mode().id == 'view'\"\n >\n </ax-button-item>\n <ax-button-item\n (onClick)=\"changeMode('Edit')\"\n text=\"Edit\"\n name=\"edit\"\n [selected]=\"service.mode().id == 'edit'\"\n >\n </ax-button-item>\n </ax-button-item-list>\n </ax-dropdown-panel>\n </ax-button>\n\n <ax-dropdown-button\n mode=\"split\"\n look=\"outline\"\n text=\"Preview\"\n class=\"ax-xs\"\n (onClick)=\"service.openPreviewDialog()\"\n >\n <ax-button-item-list>\n <ax-button-item text=\"Open in new window\" (onClick)=\"service.openPreviewWindow()\">\n <ax-prefix>\n <ax-icon icon=\"fa-regular fa-window-restore\"></ax-icon>\n </ax-prefix>\n </ax-button-item>\n </ax-button-item-list>\n </ax-dropdown-button>\n </div>\n </div>\n <!-- Board -->\n <ax-drawer-container class=\"ax-w-full ax-flex-1\">\n <!-- Pages -->\n <ax-drawer #pages location=\"start\" mode=\"push\">\n <ax-content>\n <axp-designer-pages></axp-designer-pages>\n </ax-content>\n </ax-drawer>\n <!-- Datasources -->\n <ax-drawer #datasources location=\"start\" mode=\"push\">\n <ax-content>\n <axp-designer-data-sources></axp-designer-data-sources>\n </ax-content>\n </ax-drawer>\n <!-- Outline Pnael -->\n <ax-drawer #outline location=\"start\" mode=\"push\">\n <ax-content>\n <axp-designer-outline></axp-designer-outline>\n </ax-content>\n </ax-drawer>\n <!-- History Pnael -->\n <ax-drawer #history location=\"start\" mode=\"push\">\n <ax-content>\n <axp-designer-history></axp-designer-history>\n </ax-content>\n </ax-drawer>\n <!-- Content of board -->\n <ax-content class=\"ax-light ax-bg-[#f3f3fe] ax-flex ax-justify-center ax-p-10\">\n <axp-designer-board class=\"ax-rounded-lg ax-bg-white ax-shadow-md\"> </axp-designer-board>\n </ax-content>\n </ax-drawer-container>\n <!-- Footer -->\n <div class=\"ax-h-10 ax-bg-surface ax-border-t ax-flex ax-items-center\">\n <axp-designer-breadcrumbs class=\"ax-border-default ax-border-t ax-p-2 ax-font-normal\">\n </axp-designer-breadcrumbs>\n </div>\n </div>\n </ax-content>\n <!-- Property Side -->\n <ax-drawer class=\"ax-w-80 ax-border-s\" location=\"end\" mode=\"push\" [collapsed]=\"false\" #pd>\n <ax-content>\n <div class=\"ax-flex ax-flex-row ax-w-full ax-justify-between ax-text-white ax-py-2 ax-px-4 ax-border-b\">\n <div class=\"ax-flex ax-flex-row ax-gap-2 ax-items-center\">\n <i [ngClass]=\"nodeConfig()?.icon\"></i>\n <span class=\"ax-font-semibold\">{{ nodeConfig()?.title }}</span>\n </div>\n </div>\n <axp-widget-property-viewer\n [widget]=\"service.selectedNode()!\"\n (onChanged)=\"service.update({ values: $event.values, mode: $event.mode })\"\n class=\"ax-w-1/4\"\n >\n </axp-widget-property-viewer>\n </ax-content>\n </ax-drawer>\n</ax-drawer-container>\n", styles: [".axp-designer-board{display:block;height:100%;width:100%;overflow:auto;--tw-bg-opacity: 1;background-color:rgba(var(--ax-color-surface),var(--tw-bg-opacity));padding:.75rem}.axp-designer-board.axp-state-design .ax-widget-outline{outline-style:dashed;outline-width:1px;outline-offset:2px;outline-color:#d1d5db}.axp-designer-board.axp-state-design .axp-widget-host{cursor:pointer;position:relative}.axp-designer-board.axp-state-design .axp-widget-host.axp-state-selected{outline-style:solid;outline-width:2px;outline-offset:1px;outline-color:#60a5fa}.axp-designer-board.axp-state-design .axp-widget-host.axp-state-selected.ax-widget-container{outline-offset:2px}.axp-designer-board.axp-state-design .axp-widget-host.axp-state-hover{outline-style:dashed;outline-width:2px;outline-offset:2px;outline-color:#d946ef}.axp-designer-board.axp-state-design .axp-widget-host.axp-state-hover.axp-state-selected{outline-color:#60a5fa}.axp-designer-board.axp-state-design .axp-widget-host.axp-state-hover.ax-widget-container{outline-offset:4px}.axp-designer-board.axp-state-design .axp-widget-host .axp-widget-overlay{position:absolute;left:0;top:0;right:0;bottom:0;z-index:2000;height:100%;width:100%}.axp-designer-board .axp-empty-space{display:flex;flex:1 1 0%;cursor:default;align-items:center;justify-content:center;background-color:rgba(var(--ax-color-primary-300),10%);background-image:linear-gradient(135deg,rgba(var(--ax-color-primary-300),50%) 10%,transparent 0,transparent 50%,rgba(var(--ax-color-primary-300),50%) 0,rgba(var(--ax-color-primary-300),50%) 60%,transparent 0,transparent);background-size:7.5px 7.5px;height:100%}.axp-designer-board .axp-page-widget-header,.axp-designer-board .axp-page-widget-footer{filter:grayscale(100%);opacity:.5}.axp-designer-board .axp-page-widget-header:hover,.axp-designer-board .axp-page-widget-footer:hover{filter:grayscale(0);opacity:1}.axp-designer-board .axp-page-widget-header{margin-bottom:.5rem}.axp-designer-board .axp-page-widget-footer{margin-top:.5rem}axp-designer-drawer-content ul.axp-designer-drawer-list>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(.25rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.25rem * var(--tw-space-y-reverse))}axp-designer-drawer-content ul.axp-designer-drawer-list{padding:.25rem;font-size:.875rem;line-height:1.25rem;--tw-text-opacity: 1;color:rgb(255 255 255 / var(--tw-text-opacity))}axp-designer-drawer-content ul.axp-designer-drawer-list li{cursor:pointer;border-radius:.125rem;padding:.25rem .5rem;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter;transition-duration:.15s;transition-timing-function:cubic-bezier(.4,0,.2,1)}axp-designer-drawer-content ul.axp-designer-drawer-list li:hover:not(.axp-designer-drawer-list){--tw-bg-opacity: 1;background-color:rgb(55 65 81 / var(--tw-bg-opacity))}axp-designer-drawer-content ul.axp-designer-drawer-list li.ax-state-selected{--tw-bg-opacity: 1;background-color:rgba(var(--ax-color-neutral-700),var(--tw-bg-opacity))}axp-designer-drawer-content .axp-designer-drawer-empty{display:flex;align-items:center;justify-content:center;padding:1rem;--tw-text-opacity: 1;color:rgb(209 213 219 / var(--tw-text-opacity))}\n"] }]
1796
+ ], providers: [AXPDesignerService], template: "<ax-drawer-container class=\"ax-h-full ax-w-full ax-flex ax-relative ax-overflow-hidden ax-dark\">\n <ax-content class=\"ax-contents\">\n <!-- Toolbar Side -->\n <div class=\"ax-min-w-10 ax-bg-surface ax-border-e ax-xs ax-flex ax-flex-col ax-items-center\">\n <div class=\"ax-min-w-10 ax-h-10 ax-flex ax-items-center ax-justify-center ax-border-b\">\n <img src=\"assets/logos/logo.png\" class=\"ax-w-6\" />\n </div>\n <div class=\"ax-py-1\"></div>\n <div class=\"ax-flex ax-flex-col ax-gap-2\">\n <!-- <ax-button color=\"ghost\" look=\"twotone\">\n <ax-icon class=\"fa-solid fa-puzzle ax-text-sm\"> </ax-icon>\n </ax-button> -->\n <ax-button color=\"ghost\" look=\"twotone\" (onClick)=\"pages.toggle()\" title=\"Pages\">\n <ax-icon class=\"fa-solid fa-page ax-text-sm\"> </ax-icon>\n </ax-button>\n <ax-button color=\"ghost\" look=\"twotone\" (onClick)=\"datasources.toggle()\" title=\"Data Sources\">\n <ax-icon class=\"fa-solid fa-database ax-text-sm\"> </ax-icon>\n </ax-button>\n <ax-button color=\"ghost\" look=\"twotone\" (onClick)=\"outline.toggle()\" title=\"Outline\">\n <ax-icon class=\"fa-solid fa-list-tree ax-text-sm\"> </ax-icon>\n </ax-button>\n <ax-button color=\"ghost\" look=\"twotone\" (onClick)=\"history.toggle()\" title=\"History\">\n <ax-icon class=\"fa-solid fa-clock-rotate-left ax-text-sm\"> </ax-icon>\n </ax-button>\n <!-- <ax-button color=\"ghost\" look=\"twotone\" title=\"Timeline\">\n <ax-icon class=\"fa-solid fa-diagram-sankey ax-text-sm\"> </ax-icon>\n </ax-button> -->\n </div>\n </div>\n <!-- Main Side -->\n <div class=\"ax-col-span-10 ax-flex ax-flex-col ax-flex-1\">\n <!-- Header Toolbar -->\n <div class=\"ax-h-10 ax-bg-surface ax-border-b ax-flex ax-justify-between ax-px-2\">\n <div class=\"ax-flex ax-flex-1 ax-items-center ax-text-white ax-justify-start\">\n <axp-designer-header-menu></axp-designer-header-menu>\n </div>\n <div class=\"ax-flex ax-flex-1 ax-flex-row ax-gap-2 ax-xs ax-items-center ax-justify-center\">\n <axp-designer-view-sizes [(size)]=\"service.size\"></axp-designer-view-sizes>\n </div>\n <div class=\"ax-flex ax-flex-1 ax-flex-row ax-gap-2 ax-xs ax-items-center ax-justify-end\">\n <ax-dropdown-button\n mode=\"split\"\n look=\"outline\"\n text=\"Preview\"\n class=\"ax-xs\"\n (onClick)=\"service.openPreviewDialog()\"\n >\n <ax-button-item-list>\n <ax-button-item text=\"Open in new window\" (onClick)=\"service.openPreviewWindow()\">\n <ax-prefix>\n <ax-icon icon=\"fa-regular fa-window-restore\"></ax-icon>\n </ax-prefix>\n </ax-button-item>\n </ax-button-item-list>\n </ax-dropdown-button>\n </div>\n </div>\n <!-- Board -->\n <ax-drawer-container class=\"ax-w-full ax-flex-1\">\n <!-- Pages -->\n <ax-drawer #pages location=\"start\" mode=\"push\">\n <ax-content>\n <axp-designer-pages></axp-designer-pages>\n </ax-content>\n </ax-drawer>\n <!-- Datasources -->\n <ax-drawer #datasources location=\"start\" mode=\"push\">\n <ax-content>\n <axp-designer-data-sources></axp-designer-data-sources>\n </ax-content>\n </ax-drawer>\n <!-- Outline Pnael -->\n <ax-drawer #outline location=\"start\" mode=\"push\">\n <ax-content>\n <axp-designer-outline></axp-designer-outline>\n </ax-content>\n </ax-drawer>\n <!-- History Pnael -->\n <ax-drawer #history location=\"start\" mode=\"push\">\n <ax-content>\n <axp-designer-history></axp-designer-history>\n </ax-content>\n </ax-drawer>\n <!-- Content of board -->\n <ax-content class=\"ax-light ax-bg-[#f3f3fe] ax-flex ax-justify-center ax-p-10\">\n <axp-designer-board class=\"ax-rounded-lg ax-bg-white ax-shadow-md\"> </axp-designer-board>\n </ax-content>\n </ax-drawer-container>\n <!-- Footer -->\n <div class=\"ax-h-10 ax-bg-surface ax-border-t ax-flex ax-items-center\">\n <axp-designer-breadcrumbs class=\"ax-border-default ax-border-t ax-p-2 ax-font-normal\">\n </axp-designer-breadcrumbs>\n </div>\n </div>\n </ax-content>\n <!-- Property Side -->\n <ax-drawer class=\"ax-w-80 ax-border-s\" location=\"end\" mode=\"push\" [collapsed]=\"false\" #pd>\n <ax-content>\n <div class=\"ax-flex ax-flex-row ax-w-full ax-justify-between ax-text-white ax-py-2 ax-px-4 ax-border-b\">\n <div class=\"ax-flex ax-flex-row ax-gap-2 ax-items-center\">\n <i [ngClass]=\"nodeConfig()?.icon\"></i>\n <span class=\"ax-font-semibold\">{{ nodeConfig()?.title }}</span>\n </div>\n </div>\n <axp-widget-property-viewer\n [widget]=\"service.selectedNode()!\"\n (onChanged)=\"service.update({ values: $event.values, mode: $event.mode })\"\n class=\"ax-w-1/4\"\n >\n </axp-widget-property-viewer>\n </ax-content>\n </ax-drawer>\n</ax-drawer-container>\n", styles: [".axp-designer-board{display:block;height:100%;width:100%;overflow:auto;--tw-bg-opacity: 1;background-color:rgba(var(--ax-color-surface),var(--tw-bg-opacity));padding:.75rem}.axp-designer-board.axp-state-design .ax-widget-outline{outline-style:dashed;outline-width:1px;outline-offset:2px;outline-color:#d1d5db}.axp-designer-board.axp-state-design .axp-widget-host{cursor:pointer;position:relative}.axp-designer-board.axp-state-design .axp-widget-host.axp-state-selected{outline-style:solid;outline-width:2px;outline-offset:1px;outline-color:#60a5fa}.axp-designer-board.axp-state-design .axp-widget-host.axp-state-selected.ax-widget-container{outline-offset:2px}.axp-designer-board.axp-state-design .axp-widget-host.axp-state-hover{outline-style:dashed;outline-width:2px;outline-offset:2px;outline-color:#d946ef}.axp-designer-board.axp-state-design .axp-widget-host.axp-state-hover.axp-state-selected{outline-color:#60a5fa}.axp-designer-board.axp-state-design .axp-widget-host.axp-state-hover.ax-widget-container{outline-offset:4px}.axp-designer-board.axp-state-design .axp-widget-host .axp-widget-overlay{position:absolute;left:0;top:0;right:0;bottom:0;z-index:2000;height:100%;width:100%}.axp-designer-board .axp-empty-space{display:flex;flex:1 1 0%;cursor:default;align-items:center;justify-content:center;background-color:rgba(var(--ax-color-primary-300),10%);background-image:linear-gradient(135deg,rgba(var(--ax-color-primary-300),50%) 10%,transparent 0,transparent 50%,rgba(var(--ax-color-primary-300),50%) 0,rgba(var(--ax-color-primary-300),50%) 60%,transparent 0,transparent);background-size:7.5px 7.5px;height:100%}.axp-designer-board .axp-page-widget-header,.axp-designer-board .axp-page-widget-footer{filter:grayscale(100%);opacity:.5}.axp-designer-board .axp-page-widget-header:hover,.axp-designer-board .axp-page-widget-footer:hover{filter:grayscale(0);opacity:1}.axp-designer-board .axp-page-widget-header{margin-bottom:.5rem}.axp-designer-board .axp-page-widget-footer{margin-top:.5rem}axp-designer-drawer-content ul.axp-designer-drawer-list>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(.25rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.25rem * var(--tw-space-y-reverse))}axp-designer-drawer-content ul.axp-designer-drawer-list{padding:.25rem;font-size:.875rem;line-height:1.25rem;--tw-text-opacity: 1;color:rgb(255 255 255 / var(--tw-text-opacity))}axp-designer-drawer-content ul.axp-designer-drawer-list li{cursor:pointer;border-radius:.125rem;padding:.25rem .5rem;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter;transition-duration:.15s;transition-timing-function:cubic-bezier(.4,0,.2,1)}axp-designer-drawer-content ul.axp-designer-drawer-list li:hover:not(.axp-designer-drawer-list){--tw-bg-opacity: 1;background-color:rgb(55 65 81 / var(--tw-bg-opacity))}axp-designer-drawer-content ul.axp-designer-drawer-list li.ax-state-selected{--tw-bg-opacity: 1;background-color:rgba(var(--ax-color-neutral-700),var(--tw-bg-opacity))}axp-designer-drawer-content .axp-designer-drawer-empty{display:flex;align-items:center;justify-content:center;padding:1rem;--tw-text-opacity: 1;color:rgb(209 213 219 / var(--tw-text-opacity))}\n"] }]
1818
1797
  }], ctorParameters: () => [], propDecorators: { propertyViewer: [{
1819
1798
  type: ViewChild,
1820
1799
  args: [AXPWidgetPropertyViewerComponent, { static: true }]
@@ -1823,15 +1802,35 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.0", ngImpor
1823
1802
  args: ['style']
1824
1803
  }] } });
1825
1804
 
1805
+ // import { AXPDesignerDataSourceName } from "./designer.types";
1806
+ class AXPDesignerConnectorAbstract {
1807
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.0", ngImport: i0, type: AXPDesignerConnectorAbstract, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
1808
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.0", ngImport: i0, type: AXPDesignerConnectorAbstract }); }
1809
+ }
1810
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.0", ngImport: i0, type: AXPDesignerConnectorAbstract, decorators: [{
1811
+ type: Injectable
1812
+ }] });
1813
+
1814
+ class AXPDesignerModes {
1815
+ static { this.View = { id: 'view', title: 'View' }; }
1816
+ static { this.Design = { id: 'designer', title: 'Designer' }; }
1817
+ static { this.Edit = { id: 'edit', title: 'Edit' }; }
1818
+ }
1819
+
1826
1820
  class AXPLayoutDesignerPreviewViewerComponent {
1827
1821
  constructor() {
1828
1822
  this.context = {};
1829
1823
  this.document = signal({ type: AXPWidgetsCatalog.document });
1830
1824
  this.currentPageIndex = signal(0);
1825
+ this.connector = inject(AXPDesignerConnectorAbstract);
1826
+ this.dataSourceProvider = inject(AXPWidgetDataSourceProviderService);
1831
1827
  this.currentPage = computed(() => {
1832
1828
  return (this.document().children?.[this.currentPageIndex()] ?? { type: AXPWidgetsCatalog.pageLayout });
1833
1829
  });
1834
1830
  this.channel = new BroadcastChannel('livePreviewChannel');
1831
+ this.functions = {
1832
+ getDataSourceNames: this.getDataSources.bind(this),
1833
+ };
1835
1834
  this.channel.addEventListener('message', (message) => {
1836
1835
  if (message.data.action == 'designer-preview') {
1837
1836
  this.document.set(message.data.document);
@@ -1854,6 +1853,9 @@ class AXPLayoutDesignerPreviewViewerComponent {
1854
1853
  context: this.context,
1855
1854
  });
1856
1855
  }
1856
+ async getDataSources(name) {
1857
+ return await this.dataSourceProvider.get(name);
1858
+ }
1857
1859
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.0", ngImport: i0, type: AXPLayoutDesignerPreviewViewerComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
1858
1860
  static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.0", type: AXPLayoutDesignerPreviewViewerComponent, isStandalone: true, selector: "axp-layout-builder-viewer", ngImport: i0, template: `
1859
1861
  <axp-widgets-container [(context)]="context" (onChanged)="handleContextChanged($event)">
@@ -1955,7 +1957,7 @@ class AXPLayoutDesignerPreviewComponent extends AXBasePageComponent {
1955
1957
  this.settings = inject(AXPSettingsService);
1956
1958
  this.initialSize = 'xl';
1957
1959
  this.isDialogWindow = false;
1958
- this.jsonSettingsKey = "forms:preview:json";
1960
+ this.jsonSettingsKey = 'forms:preview:json';
1959
1961
  this.jsonViewCollapsed = signal(true);
1960
1962
  this.size = signal(this.initialSize);
1961
1963
  this.channel = new BroadcastChannel('livePreviewChannel');
@@ -1963,6 +1965,7 @@ class AXPLayoutDesignerPreviewComponent extends AXBasePageComponent {
1963
1965
  //
1964
1966
  this.channel.addEventListener('message', (message) => {
1965
1967
  if (message.data.action == 'designer-preview-context') {
1968
+ //TODO: json viewer bug
1966
1969
  this.context.set(message.data.context);
1967
1970
  }
1968
1971
  });