@acorex/platform 18.1.4 → 18.1.5

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 (361) hide show
  1. package/common/lib/app/app-startup.service.d.ts +16 -0
  2. package/common/lib/app/application.types.d.ts +3 -1
  3. package/common/lib/app/index.d.ts +1 -0
  4. package/common/lib/common.module.d.ts +7 -1
  5. package/common/lib/configs/app.config.d.ts +1 -0
  6. package/common/lib/data/dexie-storage.service.d.ts +18 -2
  7. package/common/lib/data/entity-data-provider.d.ts +2 -2
  8. package/common/lib/data/{storage-service.d.ts → entity-storage-service.d.ts} +1 -1
  9. package/common/lib/data/index.d.ts +1 -1
  10. package/common/lib/layout/theme/components/slots/index.d.ts +0 -1
  11. package/common/lib/layout/theme/store/admin-layout.actions.d.ts +0 -1
  12. package/common/lib/layout/theme/store/admin-layout.effects.d.ts +1 -2
  13. package/common/lib/layout/theme/store/admin-layout.reducers.d.ts +0 -5
  14. package/common/lib/layout/theme/store/admin-layout.selectors.d.ts +0 -1
  15. package/common/lib/layout/theme/store/admin-layout.state.d.ts +0 -3
  16. package/common/lib/schema/widgets/common-widget-filter/boolean-widget-filter.component.d.ts +1 -1
  17. package/common/lib/settings/index.d.ts +1 -1
  18. package/common/lib/settings/settings.provider.d.ts +7 -0
  19. package/common/lib/settings/settings.service.d.ts +8 -4
  20. package/common/lib/settings/settings.types.d.ts +2 -3
  21. package/common/lib/store/common.actions.d.ts +7 -1
  22. package/common/lib/store/common.effects.d.ts +6 -1
  23. package/esm2022/common/lib/app/app-startup.service.mjs +40 -0
  24. package/esm2022/common/lib/app/application.types.mjs +1 -1
  25. package/esm2022/common/lib/app/index.mjs +2 -1
  26. package/esm2022/common/lib/common.module.mjs +39 -9
  27. package/esm2022/common/lib/configs/app.config.mjs +2 -1
  28. package/esm2022/common/lib/data/dexie-storage.service.mjs +84 -2
  29. package/esm2022/common/lib/data/entity-data-provider.mjs +1 -1
  30. package/esm2022/common/lib/data/entity-storage-service.mjs +5 -0
  31. package/esm2022/common/lib/data/index.mjs +2 -2
  32. package/esm2022/common/lib/layout/theme/components/slots/index.mjs +1 -2
  33. package/esm2022/common/lib/layout/theme/store/admin-layout.actions.mjs +1 -2
  34. package/esm2022/common/lib/layout/theme/store/admin-layout.effects.mjs +6 -14
  35. package/esm2022/common/lib/layout/theme/store/admin-layout.reducers.mjs +5 -7
  36. package/esm2022/common/lib/layout/theme/store/admin-layout.selectors.mjs +1 -2
  37. package/esm2022/common/lib/layout/theme/store/admin-layout.state.mjs +1 -4
  38. package/esm2022/common/lib/schema/widgets/common-widget-filter/boolean-widget-filter.component.mjs +15 -9
  39. package/esm2022/common/lib/schema/widgets/common-widget-filter/number-widget-filter.component.mjs +2 -2
  40. package/esm2022/common/lib/schema/widgets/dateTime/dateTime-widget-filter.component.mjs +38 -11
  41. package/esm2022/common/lib/schema/widgets/lookup/lookup-widget-filter.component.mjs +43 -15
  42. package/esm2022/common/lib/schema/widgets/number/number-widget-edit.component.mjs +2 -2
  43. package/esm2022/common/lib/schema/widgets/selection-list/selection-list-widget-filter.component.mjs +10 -6
  44. package/esm2022/common/lib/settings/index.mjs +2 -2
  45. package/esm2022/common/lib/settings/settings.provider.mjs +35 -0
  46. package/esm2022/common/lib/settings/settings.service.mjs +36 -6
  47. package/esm2022/common/lib/settings/settings.types.mjs +1 -1
  48. package/esm2022/common/lib/store/common.actions.mjs +3 -2
  49. package/esm2022/common/lib/store/common.effects.mjs +10 -6
  50. package/esm2022/layout/builder/lib/builder/builder.service.mjs +4 -6
  51. package/esm2022/layout/builder/lib/builder/widget-renderer.component.directive.mjs +33 -11
  52. package/esm2022/layout/builder/lib/builder/widget.types.mjs +10 -12
  53. package/esm2022/layout/designer/lib/designer/components/add-widget-button/add-widget-line-button.component.mjs +49 -0
  54. package/esm2022/layout/designer/lib/designer/components/add-widget-button/add-widget-mini-button.component.mjs +53 -0
  55. package/esm2022/layout/designer/lib/designer/components/add-widget-button/index.mjs +4 -0
  56. package/esm2022/layout/designer/lib/designer/components/board/board.component.mjs +7 -3
  57. package/esm2022/layout/designer/lib/designer/components/drawers/data-sources/data-sources.component.mjs +1 -1
  58. package/esm2022/layout/designer/lib/designer/components/widget-picker/widget-picker.component.mjs +24 -9
  59. package/esm2022/layout/designer/lib/designer/designer.component.mjs +4 -4
  60. package/esm2022/layout/designer/lib/designer/index.mjs +3 -3
  61. package/esm2022/layout/designer/lib/designer/shared/designer-connector.service.mjs +1 -1
  62. package/esm2022/layout/designer/lib/designer/shared/designer.service.mjs +2 -4
  63. package/esm2022/layout/designer/lib/designer/shared/designer.types.mjs +6 -0
  64. package/esm2022/layout/designer/lib/designer/shared/widget-designer-renderer.directive.mjs +2 -3
  65. package/esm2022/layout/designer/lib/property-viewer/widget-property-viewer.component.mjs +3 -3
  66. package/esm2022/layout/entity/lib/entity-master-list.viewmodel.mjs +3 -4
  67. package/esm2022/layout/entity/lib/widgets/lookup-widget/lookup-widget-edit.component.mjs +2 -2
  68. package/esm2022/layout/entity/lib/widgets/lookup-widget/lookup-widget-selector.component.mjs +45 -9
  69. package/esm2022/layouts/lib/admin/entity-layout/entity-list-view/entity-list-view.component.mjs +1 -1
  70. package/esm2022/themes/default/lib/default.module.mjs +7 -3
  71. package/esm2022/themes/default/lib/layouts/entity-layouts/entity-master-list-view/entity-master-list-view.component.mjs +17 -4
  72. package/esm2022/themes/default/lib/layouts/root-layout/components/header/header.component.mjs +3 -3
  73. package/esm2022/themes/default/lib/layouts/root-layout/root-layout.component.mjs +8 -3
  74. package/esm2022/themes/shared/index.mjs +3 -1
  75. package/esm2022/themes/shared/lib/comments/comment-list-view.component.mjs +3 -3
  76. package/esm2022/themes/shared/lib/comments/comments.service.mjs +1 -1
  77. package/esm2022/themes/shared/lib/comments/comments.type.mjs +1 -1
  78. package/esm2022/themes/shared/lib/components/theme-slot.component.mjs +117 -0
  79. package/esm2022/themes/shared/lib/services/theme.service.mjs +79 -0
  80. package/esm2022/themes/shared/lib/shared.module.mjs +14 -8
  81. package/esm2022/widgets/lib/widgets/actions/button/button-widget-designer.component.mjs +2 -2
  82. package/esm2022/widgets/lib/widgets/actions/button/button-widget-view.component.mjs +1 -2
  83. package/esm2022/widgets/lib/widgets/actions/button/button-widget.config.mjs +3 -2
  84. package/esm2022/widgets/lib/widgets/editors/checkbox/checkbox-widget-edit.component.mjs +1 -1
  85. package/esm2022/widgets/lib/widgets/editors/checkbox/checkbox-widget-view.component.mjs +35 -23
  86. package/esm2022/widgets/lib/widgets/editors/color/color-box-widget-designer.component.mjs +3 -2
  87. package/esm2022/widgets/lib/widgets/editors/color/color-box-widget-edit.component.mjs +3 -2
  88. package/esm2022/widgets/lib/widgets/editors/color/color-box-widget-print.component.mjs +3 -3
  89. package/esm2022/widgets/lib/widgets/editors/color/color-box-widget-view.component.mjs +4 -3
  90. package/esm2022/widgets/lib/widgets/editors/contact/contact-widget-edit.component.mjs +23 -23
  91. package/esm2022/widgets/lib/widgets/editors/contact/contact-widget.config.mjs +5 -24
  92. package/esm2022/widgets/lib/widgets/editors/date-time/date-time-box-widget-print.component.mjs +3 -3
  93. package/esm2022/widgets/lib/widgets/editors/number/number-box-widget-edit.component.mjs +5 -4
  94. package/esm2022/widgets/lib/widgets/editors/number/number-box-widget-view.component.mjs +5 -5
  95. package/esm2022/widgets/lib/widgets/editors/toggle/toggle-widget-edit.component.mjs +3 -3
  96. package/esm2022/widgets/lib/widgets/editors/toggle/toggle-widget-print.component.mjs +3 -2
  97. package/esm2022/widgets/lib/widgets/editors/toggle/toggle-widget-view.component.mjs +68 -28
  98. package/esm2022/widgets/lib/widgets/layout/block/block-widget-designer.component.mjs +7 -8
  99. package/esm2022/widgets/lib/widgets/layout/block/block-widget-view.component.mjs +3 -3
  100. package/esm2022/widgets/lib/widgets/layout/block/block-widget.config.mjs +3 -2
  101. package/esm2022/widgets/lib/widgets/layout/form-field/form-field-widget-designer.component.mjs +11 -10
  102. package/esm2022/widgets/lib/widgets/layout/form-field/form-field-widget-view.component.mjs +3 -3
  103. package/esm2022/widgets/lib/widgets/layout/form-field/form-field-widget.config.mjs +6 -2
  104. package/esm2022/widgets/lib/widgets/layout/grid/grid-widget-designer.component.mjs +6 -6
  105. package/esm2022/widgets/lib/widgets/layout/grid/grid-widget-view.component.mjs +5 -4
  106. package/esm2022/widgets/lib/widgets/layout/grid-item/grid-item-widget-designer.component.mjs +8 -19
  107. package/esm2022/widgets/lib/widgets/layout/grid-item/grid-item-widget-view.component.mjs +5 -4
  108. package/esm2022/widgets/lib/widgets/layout/grid-row/grid-row-widget-designer.component.mjs +2 -1
  109. package/esm2022/widgets/lib/widgets/layout/grid-row/grid-row-widget-view.component.mjs +5 -4
  110. package/esm2022/widgets/lib/widgets/layout/page/page-widget-designer.component.mjs +95 -9
  111. package/esm2022/widgets/lib/widgets/layout/page/page-widget-view.component.mjs +3 -3
  112. package/esm2022/widgets/lib/widgets/layout/page/page-widget.config.mjs +18 -3
  113. package/esm2022/widgets/lib/widgets/layout/repeater/repeater-widget-designer.component.mjs +10 -10
  114. package/esm2022/widgets/lib/widgets/layout/repeater/repeater-widget-edit.component.mjs +18 -11
  115. package/esm2022/widgets/lib/widgets/layout/text-block/text-block-widget.config.mjs +3 -2
  116. package/fesm2022/acorex-platform-auth.mjs.map +1 -1
  117. package/fesm2022/{acorex-platform-common-avatar-widget-edit.component-CfqY7kKi.mjs → acorex-platform-common-avatar-widget-edit.component-CSSz-dqg.mjs} +4 -4
  118. package/fesm2022/{acorex-platform-common-avatar-widget-edit.component-CfqY7kKi.mjs.map → acorex-platform-common-avatar-widget-edit.component-CSSz-dqg.mjs.map} +1 -1
  119. package/fesm2022/{acorex-platform-common-avatar-widget-view.component-DXC7INdQ.mjs → acorex-platform-common-avatar-widget-view.component-WofmamJK.mjs} +2 -3
  120. package/fesm2022/acorex-platform-common-avatar-widget-view.component-WofmamJK.mjs.map +1 -0
  121. package/fesm2022/{acorex-platform-common-boolean-widget-filter.component-DLGnsXy4.mjs → acorex-platform-common-boolean-widget-filter.component-ByoMpVAs.mjs} +14 -9
  122. package/fesm2022/acorex-platform-common-boolean-widget-filter.component-ByoMpVAs.mjs.map +1 -0
  123. package/fesm2022/{acorex-platform-common-change-password.component-BBPFxmB6.mjs → acorex-platform-common-change-password.component-Djd4SeNv.mjs} +6 -6
  124. package/fesm2022/{acorex-platform-common-change-password.component-BBPFxmB6.mjs.map → acorex-platform-common-change-password.component-Djd4SeNv.mjs.map} +1 -1
  125. package/fesm2022/{acorex-platform-common-checkbox-widget-column.component-Ch2bdAjo.mjs → acorex-platform-common-checkbox-widget-column.component-BAK1Wlh_.mjs} +4 -5
  126. package/fesm2022/{acorex-platform-common-checkbox-widget-column.component-Ch2bdAjo.mjs.map → acorex-platform-common-checkbox-widget-column.component-BAK1Wlh_.mjs.map} +1 -1
  127. package/fesm2022/{acorex-platform-common-checkbox-widget-edit.component-DOGMfGby.mjs → acorex-platform-common-checkbox-widget-edit.component-C1PgHZsE.mjs} +2 -3
  128. package/fesm2022/acorex-platform-common-checkbox-widget-edit.component-C1PgHZsE.mjs.map +1 -0
  129. package/fesm2022/{acorex-platform-common-checkbox-widget-view.component-BhGOtblX.mjs → acorex-platform-common-checkbox-widget-view.component-B4BG4mCQ.mjs} +4 -5
  130. package/fesm2022/{acorex-platform-common-checkbox-widget-view.component-BhGOtblX.mjs.map → acorex-platform-common-checkbox-widget-view.component-B4BG4mCQ.mjs.map} +1 -1
  131. package/fesm2022/{acorex-platform-common-dateTime-widget-column.component-BkUDt0Kj.mjs → acorex-platform-common-dateTime-widget-column.component-BnW8m1wn.mjs} +2 -3
  132. package/fesm2022/acorex-platform-common-dateTime-widget-column.component-BnW8m1wn.mjs.map +1 -0
  133. package/fesm2022/{acorex-platform-common-dateTime-widget-edit.component-DEqsapFH.mjs → acorex-platform-common-dateTime-widget-edit.component-DCYX2iyT.mjs} +5 -5
  134. package/fesm2022/{acorex-platform-common-dateTime-widget-edit.component-DEqsapFH.mjs.map → acorex-platform-common-dateTime-widget-edit.component-DCYX2iyT.mjs.map} +1 -1
  135. package/fesm2022/{acorex-platform-common-dateTime-widget-filter.component-CqddjYjP.mjs → acorex-platform-common-dateTime-widget-filter.component-Dbxz84tm.mjs} +37 -11
  136. package/fesm2022/acorex-platform-common-dateTime-widget-filter.component-Dbxz84tm.mjs.map +1 -0
  137. package/fesm2022/{acorex-platform-common-dateTime-widget-view.component-BKUPKE9M.mjs → acorex-platform-common-dateTime-widget-view.component-Bg1h8xAj.mjs} +2 -3
  138. package/fesm2022/{acorex-platform-common-dateTime-widget-view.component-BKUPKE9M.mjs.map → acorex-platform-common-dateTime-widget-view.component-Bg1h8xAj.mjs.map} +1 -1
  139. package/fesm2022/{acorex-platform-common-email-widget-column.component-BOer2nZi.mjs → acorex-platform-common-email-widget-column.component-BqRR2jW9.mjs} +2 -3
  140. package/fesm2022/acorex-platform-common-email-widget-column.component-BqRR2jW9.mjs.map +1 -0
  141. package/fesm2022/{acorex-platform-common-email-widget-edit.component-BoKsGiEI.mjs → acorex-platform-common-email-widget-edit.component-C7oCyByG.mjs} +5 -5
  142. package/fesm2022/{acorex-platform-common-email-widget-edit.component-BoKsGiEI.mjs.map → acorex-platform-common-email-widget-edit.component-C7oCyByG.mjs.map} +1 -1
  143. package/fesm2022/{acorex-platform-common-email-widget-view.component-BZtK5dMd.mjs → acorex-platform-common-email-widget-view.component-hfVZnW_L.mjs} +2 -3
  144. package/fesm2022/{acorex-platform-common-email-widget-view.component-BZtK5dMd.mjs.map → acorex-platform-common-email-widget-view.component-hfVZnW_L.mjs.map} +1 -1
  145. package/fesm2022/{acorex-platform-common-file-widget-column.component-DpcUmwAT.mjs → acorex-platform-common-file-widget-column.component-Dt2mR6hJ.mjs} +1 -2
  146. package/fesm2022/acorex-platform-common-file-widget-column.component-Dt2mR6hJ.mjs.map +1 -0
  147. package/fesm2022/{acorex-platform-common-file-widget-edit.component-CNLXguLn.mjs → acorex-platform-common-file-widget-edit.component-DQol3UN8.mjs} +4 -4
  148. package/fesm2022/{acorex-platform-common-file-widget-edit.component-CNLXguLn.mjs.map → acorex-platform-common-file-widget-edit.component-DQol3UN8.mjs.map} +1 -1
  149. package/fesm2022/{acorex-platform-common-file-widget-filter.component-Dwt-LYWG.mjs → acorex-platform-common-file-widget-filter.component-CGd1mY-z.mjs} +2 -3
  150. package/fesm2022/acorex-platform-common-file-widget-filter.component-CGd1mY-z.mjs.map +1 -0
  151. package/fesm2022/{acorex-platform-common-file-widget-view.component-CjDhjHQR.mjs → acorex-platform-common-file-widget-view.component-lKWnGSSb.mjs} +4 -4
  152. package/fesm2022/{acorex-platform-common-file-widget-view.component-CjDhjHQR.mjs.map → acorex-platform-common-file-widget-view.component-lKWnGSSb.mjs.map} +1 -1
  153. package/fesm2022/{acorex-platform-common-gallery-widget-edit.component-CzKFKaPH.mjs → acorex-platform-common-gallery-widget-edit.component-DgjY3ZWk.mjs} +6 -6
  154. package/fesm2022/{acorex-platform-common-gallery-widget-edit.component-CzKFKaPH.mjs.map → acorex-platform-common-gallery-widget-edit.component-DgjY3ZWk.mjs.map} +1 -1
  155. package/fesm2022/{acorex-platform-common-gallery-widget-filter.component-B-KxKtY4.mjs → acorex-platform-common-gallery-widget-filter.component-CUw4kxTW.mjs} +2 -3
  156. package/fesm2022/acorex-platform-common-gallery-widget-filter.component-CUw4kxTW.mjs.map +1 -0
  157. package/fesm2022/{acorex-platform-common-gallery-widget-view.component-ca-JB8qW.mjs → acorex-platform-common-gallery-widget-view.component-DK52JTds.mjs} +5 -5
  158. package/fesm2022/{acorex-platform-common-gallery-widget-view.component-ca-JB8qW.mjs.map → acorex-platform-common-gallery-widget-view.component-DK52JTds.mjs.map} +1 -1
  159. package/fesm2022/{acorex-platform-common-largetext-widget-edit.component-DD7S5j12.mjs → acorex-platform-common-largetext-widget-edit.component-7bbHUOnp.mjs} +2 -3
  160. package/fesm2022/acorex-platform-common-largetext-widget-edit.component-7bbHUOnp.mjs.map +1 -0
  161. package/fesm2022/{acorex-platform-common-lookup-widget-column.component-BEZNLQZi.mjs → acorex-platform-common-lookup-widget-column.component-PGf5qjC4.mjs} +2 -3
  162. package/fesm2022/{acorex-platform-common-lookup-widget-column.component-BEZNLQZi.mjs.map → acorex-platform-common-lookup-widget-column.component-PGf5qjC4.mjs.map} +1 -1
  163. package/fesm2022/{acorex-platform-common-lookup-widget-edit.component-D50jPeKP.mjs → acorex-platform-common-lookup-widget-edit.component-CGZf6rH2.mjs} +2 -3
  164. package/fesm2022/acorex-platform-common-lookup-widget-edit.component-CGZf6rH2.mjs.map +1 -0
  165. package/fesm2022/{acorex-platform-common-lookup-widget-filter.component-CZHDDnR3.mjs → acorex-platform-common-lookup-widget-filter.component-CUBdIuu9.mjs} +41 -13
  166. package/fesm2022/acorex-platform-common-lookup-widget-filter.component-CUBdIuu9.mjs.map +1 -0
  167. package/fesm2022/{acorex-platform-common-lookup-widget-view.component-CQCvJxgi.mjs → acorex-platform-common-lookup-widget-view.component-dmGctRc9.mjs} +2 -3
  168. package/fesm2022/acorex-platform-common-lookup-widget-view.component-dmGctRc9.mjs.map +1 -0
  169. package/fesm2022/{acorex-platform-common-map-widget-edit.component-OanYRQ3B.mjs → acorex-platform-common-map-widget-edit.component-Cyi6AF9u.mjs} +2 -3
  170. package/fesm2022/acorex-platform-common-map-widget-edit.component-Cyi6AF9u.mjs.map +1 -0
  171. package/fesm2022/{acorex-platform-common-map-widget-view.component-BWdndMYJ.mjs → acorex-platform-common-map-widget-view.component-Cbl1KClC.mjs} +2 -3
  172. package/fesm2022/acorex-platform-common-map-widget-view.component-Cbl1KClC.mjs.map +1 -0
  173. package/fesm2022/{acorex-platform-common-messenger-widget-column.component-BHP6R3OI.mjs → acorex-platform-common-messenger-widget-column.component-BGiTw0jL.mjs} +2 -3
  174. package/fesm2022/acorex-platform-common-messenger-widget-column.component-BGiTw0jL.mjs.map +1 -0
  175. package/fesm2022/{acorex-platform-common-messenger-widget-edit.component-B7ycb6tX.mjs → acorex-platform-common-messenger-widget-edit.component-BBSmai_5.mjs} +4 -4
  176. package/fesm2022/acorex-platform-common-messenger-widget-edit.component-BBSmai_5.mjs.map +1 -0
  177. package/fesm2022/{acorex-platform-common-messenger-widget-view.component-Dz5X-FS5.mjs → acorex-platform-common-messenger-widget-view.component-C15KdEZ6.mjs} +2 -3
  178. package/fesm2022/{acorex-platform-common-messenger-widget-view.component-Dz5X-FS5.mjs.map → acorex-platform-common-messenger-widget-view.component-C15KdEZ6.mjs.map} +1 -1
  179. package/fesm2022/{acorex-platform-common-number-widget-edit.component-XSWI6466.mjs → acorex-platform-common-number-widget-edit.component-CGmS-gd7.mjs} +5 -6
  180. package/fesm2022/acorex-platform-common-number-widget-edit.component-CGmS-gd7.mjs.map +1 -0
  181. package/fesm2022/{acorex-platform-common-number-widget-filter.component-BOT9wPJ5.mjs → acorex-platform-common-number-widget-filter.component-8RC01k_0.mjs} +6 -6
  182. package/fesm2022/acorex-platform-common-number-widget-filter.component-8RC01k_0.mjs.map +1 -0
  183. package/fesm2022/{acorex-platform-common-number-widget-view.component-CP5aboLU.mjs → acorex-platform-common-number-widget-view.component-DGPcZ-yE.mjs} +2 -3
  184. package/fesm2022/acorex-platform-common-number-widget-view.component-DGPcZ-yE.mjs.map +1 -0
  185. package/fesm2022/{acorex-platform-common-password-widget-column.component-CGxTbd_S.mjs → acorex-platform-common-password-widget-column.component-O3L2DvZq.mjs} +2 -3
  186. package/fesm2022/{acorex-platform-common-password-widget-column.component-CGxTbd_S.mjs.map → acorex-platform-common-password-widget-column.component-O3L2DvZq.mjs.map} +1 -1
  187. package/fesm2022/{acorex-platform-common-password-widget-edit.component-CHQ_Kp4t.mjs → acorex-platform-common-password-widget-edit.component-DZz6rAL3.mjs} +6 -7
  188. package/fesm2022/acorex-platform-common-password-widget-edit.component-DZz6rAL3.mjs.map +1 -0
  189. package/fesm2022/{acorex-platform-common-password-widget-view.component-BQ9jlt6g.mjs → acorex-platform-common-password-widget-view.component-OxinnOs8.mjs} +3 -3
  190. package/fesm2022/{acorex-platform-common-password-widget-view.component-BQ9jlt6g.mjs.map → acorex-platform-common-password-widget-view.component-OxinnOs8.mjs.map} +1 -1
  191. package/fesm2022/{acorex-platform-common-phone-widget-column.component-RJp6wHul.mjs → acorex-platform-common-phone-widget-column.component-D9AXNMVq.mjs} +2 -3
  192. package/fesm2022/acorex-platform-common-phone-widget-column.component-D9AXNMVq.mjs.map +1 -0
  193. package/fesm2022/{acorex-platform-common-phone-widget-edit.component-BB5wTbjd.mjs → acorex-platform-common-phone-widget-edit.component-CKvODAMQ.mjs} +5 -5
  194. package/fesm2022/{acorex-platform-common-phone-widget-edit.component-BB5wTbjd.mjs.map → acorex-platform-common-phone-widget-edit.component-CKvODAMQ.mjs.map} +1 -1
  195. package/fesm2022/{acorex-platform-common-phone-widget-view.component-SIzFWfjV.mjs → acorex-platform-common-phone-widget-view.component-Cx-SrpUs.mjs} +2 -3
  196. package/fesm2022/{acorex-platform-common-phone-widget-view.component-SIzFWfjV.mjs.map → acorex-platform-common-phone-widget-view.component-Cx-SrpUs.mjs.map} +1 -1
  197. package/fesm2022/{acorex-platform-common-rich-text-widget-column.component-Ced0WqvI.mjs → acorex-platform-common-rich-text-widget-column.component-C7IqYbqM.mjs} +2 -3
  198. package/fesm2022/acorex-platform-common-rich-text-widget-column.component-C7IqYbqM.mjs.map +1 -0
  199. package/fesm2022/{acorex-platform-common-rich-text-widget-edit.component-Do3YcmKg.mjs → acorex-platform-common-rich-text-widget-edit.component-DtEcLWte.mjs} +2 -2
  200. package/fesm2022/acorex-platform-common-rich-text-widget-edit.component-DtEcLWte.mjs.map +1 -0
  201. package/fesm2022/{acorex-platform-common-rich-text-widget-view.component-BIRyPRtw.mjs → acorex-platform-common-rich-text-widget-view.component-DI4I6wII.mjs} +2 -3
  202. package/fesm2022/acorex-platform-common-rich-text-widget-view.component-DI4I6wII.mjs.map +1 -0
  203. package/fesm2022/{acorex-platform-common-selection-list-widget-column.component-DxeK2RPc.mjs → acorex-platform-common-selection-list-widget-column.component-CHDTopqW.mjs} +2 -3
  204. package/fesm2022/acorex-platform-common-selection-list-widget-column.component-CHDTopqW.mjs.map +1 -0
  205. package/fesm2022/{acorex-platform-common-selection-list-widget-edit.component-CBLEeILz.mjs → acorex-platform-common-selection-list-widget-edit.component-Ds7Pc22g.mjs} +4 -5
  206. package/fesm2022/acorex-platform-common-selection-list-widget-edit.component-Ds7Pc22g.mjs.map +1 -0
  207. package/fesm2022/{acorex-platform-common-selection-list-widget-filter.component-B01t7mso.mjs → acorex-platform-common-selection-list-widget-filter.component-D7h2tUqB.mjs} +11 -9
  208. package/fesm2022/acorex-platform-common-selection-list-widget-filter.component-D7h2tUqB.mjs.map +1 -0
  209. package/fesm2022/{acorex-platform-common-selection-list-widget-view.component-QJMp11dd.mjs → acorex-platform-common-selection-list-widget-view.component-DGuotR-q.mjs} +2 -3
  210. package/fesm2022/acorex-platform-common-selection-list-widget-view.component-DGuotR-q.mjs.map +1 -0
  211. package/fesm2022/{acorex-platform-common-signature-pad-widget-edit.component-BQiY7RIp.mjs → acorex-platform-common-signature-pad-widget-edit.component-DPr0hCtB.mjs} +4 -4
  212. package/fesm2022/{acorex-platform-common-signature-pad-widget-edit.component-BQiY7RIp.mjs.map → acorex-platform-common-signature-pad-widget-edit.component-DPr0hCtB.mjs.map} +1 -1
  213. package/fesm2022/{acorex-platform-common-signature-pad-widget-view.component-CEhRqgEn.mjs → acorex-platform-common-signature-pad-widget-view.component-CdqZ17tU.mjs} +2 -3
  214. package/fesm2022/acorex-platform-common-signature-pad-widget-view.component-CdqZ17tU.mjs.map +1 -0
  215. package/fesm2022/{acorex-platform-common-string-widget-filter.component--L4PeRCB.mjs → acorex-platform-common-string-widget-filter.component-Ctde9CDD.mjs} +6 -6
  216. package/fesm2022/acorex-platform-common-string-widget-filter.component-Ctde9CDD.mjs.map +1 -0
  217. package/fesm2022/{acorex-platform-common-text-widget-column.component-ytX4OqZX.mjs → acorex-platform-common-text-widget-column.component-BHd_WWKq.mjs} +2 -3
  218. package/fesm2022/acorex-platform-common-text-widget-column.component-BHd_WWKq.mjs.map +1 -0
  219. package/fesm2022/{acorex-platform-common-text-widget-edit.component-CN7OyTfJ.mjs → acorex-platform-common-text-widget-edit.component-BwfelIOW.mjs} +4 -4
  220. package/fesm2022/acorex-platform-common-text-widget-edit.component-BwfelIOW.mjs.map +1 -0
  221. package/fesm2022/{acorex-platform-common-text-widget-view.component-B-R4-5Ra.mjs → acorex-platform-common-text-widget-view.component-SHWXqKZS.mjs} +2 -3
  222. package/fesm2022/{acorex-platform-common-text-widget-view.component-B-R4-5Ra.mjs.map → acorex-platform-common-text-widget-view.component-SHWXqKZS.mjs.map} +1 -1
  223. package/fesm2022/{acorex-platform-common-toggle-widget-column.component-B5NFRPgX.mjs → acorex-platform-common-toggle-widget-column.component-Dc_Ahdvn.mjs} +4 -5
  224. package/fesm2022/{acorex-platform-common-toggle-widget-column.component-B5NFRPgX.mjs.map → acorex-platform-common-toggle-widget-column.component-Dc_Ahdvn.mjs.map} +1 -1
  225. package/fesm2022/{acorex-platform-common-toggle-widget-edit.component-CLWHwf8V.mjs → acorex-platform-common-toggle-widget-edit.component-BnPyXdAA.mjs} +2 -2
  226. package/fesm2022/acorex-platform-common-toggle-widget-edit.component-BnPyXdAA.mjs.map +1 -0
  227. package/fesm2022/{acorex-platform-common-toggle-widget-view.component-Di2S7vub.mjs → acorex-platform-common-toggle-widget-view.component-D14GMwWe.mjs} +4 -5
  228. package/fesm2022/{acorex-platform-common-toggle-widget-view.component-Di2S7vub.mjs.map → acorex-platform-common-toggle-widget-view.component-D14GMwWe.mjs.map} +1 -1
  229. package/fesm2022/acorex-platform-common.mjs +326 -181
  230. package/fesm2022/acorex-platform-common.mjs.map +1 -1
  231. package/fesm2022/acorex-platform-core.mjs.map +1 -1
  232. package/fesm2022/acorex-platform-layout-builder.mjs +43 -25
  233. package/fesm2022/acorex-platform-layout-builder.mjs.map +1 -1
  234. package/fesm2022/acorex-platform-layout-designer-preview.component-CaRHf4x_.mjs.map +1 -1
  235. package/fesm2022/acorex-platform-layout-designer.mjs +125 -19
  236. package/fesm2022/acorex-platform-layout-designer.mjs.map +1 -1
  237. package/fesm2022/acorex-platform-layout-entity.mjs +47 -12
  238. package/fesm2022/acorex-platform-layout-entity.mjs.map +1 -1
  239. package/fesm2022/acorex-platform-layouts-entity-create-view.component-CPGbLM4C.mjs.map +1 -1
  240. package/fesm2022/acorex-platform-layouts-entity-import-view.component-CZpEcVi9.mjs.map +1 -1
  241. package/fesm2022/acorex-platform-layouts-entity-modify-view.component-Bt4MLEou.mjs.map +1 -1
  242. package/fesm2022/acorex-platform-layouts.mjs +1 -1
  243. package/fesm2022/acorex-platform-layouts.mjs.map +1 -1
  244. package/fesm2022/acorex-platform-mocks.mjs.map +1 -1
  245. package/fesm2022/acorex-platform-native.mjs.map +1 -1
  246. package/fesm2022/acorex-platform-themes-default-entity-master-create-view.component-Q8eTfAVx.mjs.map +1 -1
  247. package/fesm2022/acorex-platform-themes-default-entity-master-list-view.component-CNXG0nP4.mjs +294 -0
  248. package/fesm2022/acorex-platform-themes-default-entity-master-list-view.component-CNXG0nP4.mjs.map +1 -0
  249. package/fesm2022/acorex-platform-themes-default-entity-master-modify-view.component-BijYXMme.mjs.map +1 -1
  250. package/fesm2022/acorex-platform-themes-default-entity-master-single-view.component-Bnrabotu.mjs.map +1 -1
  251. package/fesm2022/acorex-platform-themes-default-error-401.component-D5QQ2HAv.mjs.map +1 -1
  252. package/fesm2022/acorex-platform-themes-default-error-404.component-DSY_D3Iq.mjs.map +1 -1
  253. package/fesm2022/acorex-platform-themes-default-error-offline.component-B6wSkMdd.mjs.map +1 -1
  254. package/fesm2022/acorex-platform-themes-default.mjs +20 -11
  255. package/fesm2022/acorex-platform-themes-default.mjs.map +1 -1
  256. package/fesm2022/acorex-platform-themes-shared.mjs +198 -9
  257. package/fesm2022/acorex-platform-themes-shared.mjs.map +1 -1
  258. package/fesm2022/{acorex-platform-widgets-button-widget-designer.component-B9bfVuC4.mjs → acorex-platform-widgets-button-widget-designer.component-M_JuDPbt.mjs} +2 -2
  259. package/fesm2022/acorex-platform-widgets-button-widget-designer.component-M_JuDPbt.mjs.map +1 -0
  260. package/fesm2022/acorex-platform-widgets-checkbox-widget-column.component-j1jG8pCr.mjs.map +1 -1
  261. package/fesm2022/acorex-platform-widgets-checkbox-widget-designer.component-DzGg-uFi.mjs.map +1 -1
  262. package/fesm2022/{acorex-platform-widgets-checkbox-widget-view.component-tPk6Gylo.mjs → acorex-platform-widgets-checkbox-widget-view.component-CDA7Jwov.mjs} +35 -23
  263. package/fesm2022/acorex-platform-widgets-checkbox-widget-view.component-CDA7Jwov.mjs.map +1 -0
  264. package/fesm2022/{acorex-platform-widgets-color-box-widget-designer.component-Bb3aXCNZ.mjs → acorex-platform-widgets-color-box-widget-designer.component-DIvi0BtT.mjs} +3 -2
  265. package/fesm2022/acorex-platform-widgets-color-box-widget-designer.component-DIvi0BtT.mjs.map +1 -0
  266. package/fesm2022/acorex-platform-widgets-contact-widget-filter.component-GTwK51nJ.mjs.map +1 -1
  267. package/fesm2022/acorex-platform-widgets-page-widget-designer.component-BL_EAwUs.mjs +153 -0
  268. package/fesm2022/acorex-platform-widgets-page-widget-designer.component-BL_EAwUs.mjs.map +1 -0
  269. package/fesm2022/acorex-platform-widgets-rich-text-popup.component-RCdFIz45.mjs.map +1 -1
  270. package/fesm2022/acorex-platform-widgets-text-block-widget-designer.component-Bi9hlpvB.mjs.map +1 -1
  271. package/fesm2022/acorex-platform-widgets.mjs +208 -163
  272. package/fesm2022/acorex-platform-widgets.mjs.map +1 -1
  273. package/fesm2022/acorex-platform-workflow.mjs.map +1 -1
  274. package/layout/builder/lib/builder/builder.service.d.ts +1 -1
  275. package/layout/builder/lib/builder/widget-renderer.component.directive.d.ts +5 -1
  276. package/layout/builder/lib/builder/widget.types.d.ts +4 -4
  277. package/layout/designer/lib/designer/components/add-widget-button/add-widget-line-button.component.d.ts +8 -0
  278. package/layout/designer/lib/designer/components/add-widget-button/add-widget-mini-button.component.d.ts +9 -0
  279. package/layout/designer/lib/designer/components/add-widget-button/index.d.ts +3 -0
  280. package/layout/designer/lib/designer/components/board/board.component.d.ts +1 -0
  281. package/layout/designer/lib/designer/components/drawers/data-sources/data-sources.component.d.ts +1 -1
  282. package/layout/designer/lib/designer/components/widget-picker/widget-picker.component.d.ts +3 -1
  283. package/layout/designer/lib/designer/index.d.ts +2 -2
  284. package/layout/designer/lib/designer/shared/designer-connector.service.d.ts +1 -1
  285. package/layout/designer/lib/designer/shared/designer.service.d.ts +2 -2
  286. package/layout/entity/lib/entity-master-list.viewmodel.d.ts +2 -1
  287. package/package.json +1 -1
  288. package/themes/default/lib/default.module.d.ts +2 -1
  289. package/themes/default/lib/layouts/entity-layouts/entity-master-list-view/entity-master-list-view.component.d.ts +3 -1
  290. package/themes/default/lib/layouts/root-layout/root-layout.component.d.ts +2 -1
  291. package/themes/shared/index.d.ts +2 -0
  292. package/themes/shared/lib/comments/comments.service.d.ts +6 -6
  293. package/themes/shared/lib/comments/comments.type.d.ts +5 -5
  294. package/themes/shared/lib/components/theme-slot.component.d.ts +23 -0
  295. package/themes/shared/lib/services/theme.service.d.ts +21 -0
  296. package/themes/shared/lib/shared.module.d.ts +6 -4
  297. package/widgets/lib/widgets/advance/map/map-box-widget-view.component.d.ts +1 -1
  298. package/widgets/lib/widgets/advance/signature/signature-pad-widget-view.component.d.ts +1 -1
  299. package/widgets/lib/widgets/editors/color/color-box-widget-designer.component.d.ts +1 -1
  300. package/widgets/lib/widgets/editors/color/color-box-widget-edit.component.d.ts +1 -1
  301. package/widgets/lib/widgets/editors/color/color-box-widget-view.component.d.ts +1 -1
  302. package/widgets/lib/widgets/editors/number/number-box-widget-edit.component.d.ts +1 -0
  303. package/widgets/lib/widgets/editors/number/number-box-widget-view.component.d.ts +1 -1
  304. package/widgets/lib/widgets/editors/password/password-box-widget-view.component.d.ts +1 -1
  305. package/widgets/lib/widgets/editors/toggle/toggle-widget-edit.component.d.ts +1 -1
  306. package/widgets/lib/widgets/editors/toggle/toggle-widget-print.component.d.ts +1 -1
  307. package/widgets/lib/widgets/editors/toggle/toggle-widget-view.component.d.ts +1 -1
  308. package/widgets/lib/widgets/layout/grid/grid-widget-view.component.d.ts +1 -1
  309. package/widgets/lib/widgets/layout/grid-item/grid-item-widget-designer.component.d.ts +0 -2
  310. package/widgets/lib/widgets/layout/grid-item/grid-item-widget-view.component.d.ts +1 -1
  311. package/widgets/lib/widgets/layout/grid-row/grid-row-widget-view.component.d.ts +1 -1
  312. package/widgets/lib/widgets/layout/page/page-widget-designer.component.d.ts +11 -1
  313. package/widgets/lib/widgets/layout/repeater/repeater-widget-edit.component.d.ts +3 -3
  314. package/common/lib/layout/theme/components/slots/theme-slot.component.d.ts +0 -8
  315. package/common/lib/settings/settings.loader.d.ts +0 -8
  316. package/esm2022/common/lib/data/storage-service.mjs +0 -5
  317. package/esm2022/common/lib/layout/theme/components/slots/theme-slot.component.mjs +0 -48
  318. package/esm2022/common/lib/settings/settings.loader.mjs +0 -17
  319. package/esm2022/layout/designer/lib/designer/shared/designer.typs.mjs +0 -6
  320. package/fesm2022/acorex-platform-common-avatar-widget-view.component-DXC7INdQ.mjs.map +0 -1
  321. package/fesm2022/acorex-platform-common-boolean-widget-filter.component-DLGnsXy4.mjs.map +0 -1
  322. package/fesm2022/acorex-platform-common-checkbox-widget-edit.component-DOGMfGby.mjs.map +0 -1
  323. package/fesm2022/acorex-platform-common-dateTime-widget-column.component-BkUDt0Kj.mjs.map +0 -1
  324. package/fesm2022/acorex-platform-common-dateTime-widget-filter.component-CqddjYjP.mjs.map +0 -1
  325. package/fesm2022/acorex-platform-common-email-widget-column.component-BOer2nZi.mjs.map +0 -1
  326. package/fesm2022/acorex-platform-common-file-widget-column.component-DpcUmwAT.mjs.map +0 -1
  327. package/fesm2022/acorex-platform-common-file-widget-filter.component-Dwt-LYWG.mjs.map +0 -1
  328. package/fesm2022/acorex-platform-common-gallery-widget-filter.component-B-KxKtY4.mjs.map +0 -1
  329. package/fesm2022/acorex-platform-common-largetext-widget-edit.component-DD7S5j12.mjs.map +0 -1
  330. package/fesm2022/acorex-platform-common-lookup-widget-edit.component-D50jPeKP.mjs.map +0 -1
  331. package/fesm2022/acorex-platform-common-lookup-widget-filter.component-CZHDDnR3.mjs.map +0 -1
  332. package/fesm2022/acorex-platform-common-lookup-widget-view.component-CQCvJxgi.mjs.map +0 -1
  333. package/fesm2022/acorex-platform-common-map-widget-edit.component-OanYRQ3B.mjs.map +0 -1
  334. package/fesm2022/acorex-platform-common-map-widget-view.component-BWdndMYJ.mjs.map +0 -1
  335. package/fesm2022/acorex-platform-common-messenger-widget-column.component-BHP6R3OI.mjs.map +0 -1
  336. package/fesm2022/acorex-platform-common-messenger-widget-edit.component-B7ycb6tX.mjs.map +0 -1
  337. package/fesm2022/acorex-platform-common-number-widget-edit.component-XSWI6466.mjs.map +0 -1
  338. package/fesm2022/acorex-platform-common-number-widget-filter.component-BOT9wPJ5.mjs.map +0 -1
  339. package/fesm2022/acorex-platform-common-number-widget-view.component-CP5aboLU.mjs.map +0 -1
  340. package/fesm2022/acorex-platform-common-password-widget-edit.component-CHQ_Kp4t.mjs.map +0 -1
  341. package/fesm2022/acorex-platform-common-phone-widget-column.component-RJp6wHul.mjs.map +0 -1
  342. package/fesm2022/acorex-platform-common-rich-text-widget-column.component-Ced0WqvI.mjs.map +0 -1
  343. package/fesm2022/acorex-platform-common-rich-text-widget-edit.component-Do3YcmKg.mjs.map +0 -1
  344. package/fesm2022/acorex-platform-common-rich-text-widget-view.component-BIRyPRtw.mjs.map +0 -1
  345. package/fesm2022/acorex-platform-common-selection-list-widget-column.component-DxeK2RPc.mjs.map +0 -1
  346. package/fesm2022/acorex-platform-common-selection-list-widget-edit.component-CBLEeILz.mjs.map +0 -1
  347. package/fesm2022/acorex-platform-common-selection-list-widget-filter.component-B01t7mso.mjs.map +0 -1
  348. package/fesm2022/acorex-platform-common-selection-list-widget-view.component-QJMp11dd.mjs.map +0 -1
  349. package/fesm2022/acorex-platform-common-signature-pad-widget-view.component-CEhRqgEn.mjs.map +0 -1
  350. package/fesm2022/acorex-platform-common-string-widget-filter.component--L4PeRCB.mjs.map +0 -1
  351. package/fesm2022/acorex-platform-common-text-widget-column.component-ytX4OqZX.mjs.map +0 -1
  352. package/fesm2022/acorex-platform-common-text-widget-edit.component-CN7OyTfJ.mjs.map +0 -1
  353. package/fesm2022/acorex-platform-common-toggle-widget-edit.component-CLWHwf8V.mjs.map +0 -1
  354. package/fesm2022/acorex-platform-themes-default-entity-master-list-view.component-fZ6QEYcd.mjs +0 -281
  355. package/fesm2022/acorex-platform-themes-default-entity-master-list-view.component-fZ6QEYcd.mjs.map +0 -1
  356. package/fesm2022/acorex-platform-widgets-button-widget-designer.component-B9bfVuC4.mjs.map +0 -1
  357. package/fesm2022/acorex-platform-widgets-checkbox-widget-view.component-tPk6Gylo.mjs.map +0 -1
  358. package/fesm2022/acorex-platform-widgets-color-box-widget-designer.component-Bb3aXCNZ.mjs.map +0 -1
  359. package/fesm2022/acorex-platform-widgets-page-widget-designer.component-6BMZ0qRw.mjs +0 -67
  360. package/fesm2022/acorex-platform-widgets-page-widget-designer.component-6BMZ0qRw.mjs.map +0 -1
  361. /package/layout/designer/lib/designer/shared/{designer.typs.d.ts → designer.types.d.ts} +0 -0
@@ -1 +1 @@
1
- {"version":3,"file":"acorex-platform-workflow.mjs","sources":["../../../../libs/platform/workflow/src/lib/errors.types.ts","../../../../libs/platform/workflow/src/lib/workflow-event-dispatcher.service.ts","../../../../libs/platform/workflow/src/lib/workflow-registery.service.ts","../../../../libs/platform/workflow/src/lib/workflow.types.ts","../../../../libs/platform/workflow/src/lib/workflow.service.ts","../../../../libs/platform/workflow/src/lib/actions/start-workflow.action.ts","../../../../libs/platform/workflow/src/lib/workflow.module.ts","../../../../libs/platform/workflow/src/acorex-platform-workflow.ts"],"sourcesContent":["export class AXPWorkflowError extends Error {\n constructor(message: string, public inner: Error | null = null) {\n super(message);\n this.name = 'AXPWorkflowError';\n }\n}","import { Injectable } from '@angular/core';\nimport { Observable, Subject } from 'rxjs';\nimport { AXPWorkflowEvent } from './workflow.types';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class AXPWorkflowEventService {\n private eventSubject = new Subject<AXPWorkflowEvent>();\n\n dispatch(event: AXPWorkflowEvent): void {\n this.eventSubject.next(event);\n }\n\n get events$(): Observable<AXPWorkflowEvent> {\n return this.eventSubject.asObservable();\n }\n}\n","import { Injectable, Type } from '@angular/core';\nimport { AXPWorkflow, AXPWorkflowAction, AXPWorkflowFunction } from './workflow.types';\n\n\n\n\n@Injectable({\n providedIn: 'root'\n})\nexport class AXPWorkflowRegistryService {\n private functionsMap = new Map<string, Type<AXPWorkflowFunction>>();\n private actionsMap = new Map<string, Type<AXPWorkflowAction>>();\n private workflowsMap = new Map<string, AXPWorkflow>();\n\n registerWorkflow(name: string, workflow: AXPWorkflow): void {\n this.workflowsMap.set(name, workflow);\n }\n\n getWorkflow(name: string): AXPWorkflow | undefined {\n return this.workflowsMap.get(name);\n }\n\n registerAction(name: string, action: Type<AXPWorkflowAction>): void {\n this.actionsMap.set(name, action);\n }\n\n getAction(name: string): Type<AXPWorkflowAction> | undefined {\n return this.actionsMap.get(name);\n }\n\n registerFunction(name: string, func: Type<AXPWorkflowFunction>): void {\n this.functionsMap.set(name, func);\n }\n\n getFunction(name: string): Type<AXPWorkflowFunction> | undefined {\n return this.functionsMap.get(name);\n }\n\n getFunctionNames(): string[] {\n return Array.from(this.functionsMap.keys());\n }\n}","import { Injectable, inject } from '@angular/core';\nimport { filter } from 'rxjs';\nimport { AXPWorkflowEventService } from './workflow-event-dispatcher.service';\nimport { cloneDeep, get, set } from 'lodash-es';\n\nexport interface AXPWorkflow {\n steps: { [stepName: string]: AXPWorkflowStep };\n startStepId: string;\n}\n\n\nexport class AXPWorkflowContext {\n\n constructor(initialData: any = {}) {\n this.variables = cloneDeep(initialData);\n }\n\n private variables: any = {};\n private stepOutputs: Map<string, any> = new Map();\n\n setVariable(key: string, value: any): void {\n set(this.variables, key, value);\n }\n\n\n setVariables(context: any = {}) {\n this.variables = { ...this.variables, ...context };\n }\n\n getVariable<T = any>(key: string): T {\n return get(this.variables, key);\n }\n\n setOutput(key: string, output: any): void {\n this.stepOutputs.set(key, output);\n }\n\n setOutputs(values: Map<string, any>): void {\n this.stepOutputs = new Map([...this.stepOutputs, ...values])\n }\n\n getOutput<T = any>(key: string): T {\n return this.stepOutputs.get(key);\n }\n}\n\nexport type AXPWorkflowActionInput = any;\n\nexport type AXPWorkflowConditionType = 'AND' | 'OR' | 'SINGLE';\n\nexport interface AXPWorkflowCondition {\n type: AXPWorkflowConditionType;\n conditions?: AXPWorkflowCondition[]; // Nested conditions\n expression?: string; // Used if type is 'SINGLE'\n}\n\nexport interface AXPWorkflowNextStep {\n conditions: AXPWorkflowCondition[];\n nextStepId: string;\n}\n\nexport interface AXPWorkflowStep {\n id?: string;\n action: AXPWorkflowAction | string;\n input?: AXPWorkflowActionInput;\n nextSteps?: AXPWorkflowNextStep[];\n conditions?: AXPWorkflowCondition[];\n}\n@Injectable()\nexport abstract class AXPWorkflowAction {\n private eventService = inject(AXPWorkflowEventService);\n\n protected dispatch(event: AXPWorkflowEvent): void {\n this.eventService.dispatch(event);\n }\n\n abstract execute(context: AXPWorkflowContext): Promise<void>;\n}\n\n@Injectable()\nexport abstract class AXPWorkflowFunction {\n abstract execute(...args: any[]): Promise<any> | any;\n}\n\nexport interface AXPWorkflowEvent<T = any> {\n type: string;\n payload?: T;\n}\n\n\n\nexport function createWorkFlowEvent<T>(type: string) {\n const eventCreator = (payload: T) => ({ type, payload });\n eventCreator.type = type;\n return eventCreator;\n}\n\nexport function ofType<T extends { type: string }>(...allowedTypes: Array<{ type: string }>) {\n return filter((event: T) => allowedTypes.some((type) => event.type === type.type));\n}\n","import { Injectable, Injector, inject } from '@angular/core';\nimport { Observable } from 'rxjs';\nimport { AXPWorkflowError } from './errors.types';\nimport { AXPWorkflowEventService } from './workflow-event-dispatcher.service';\nimport { AXPWorkflowRegistryService } from './workflow-registery.service';\nimport {\n AXPWorkflow,\n AXPWorkflowAction,\n AXPWorkflowCondition,\n AXPWorkflowContext,\n AXPWorkflowEvent,\n AXPWorkflowFunction,\n AXPWorkflowNextStep,\n AXPWorkflowStep,\n} from './workflow.types';\nimport { cloneDeep, set } from 'lodash-es';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class AXPWorkflowService {\n private eventService = inject(AXPWorkflowEventService);\n\n\n get events$(): Observable<AXPWorkflowEvent> {\n return this.eventService.events$;\n }\n\n constructor(private registryService: AXPWorkflowRegistryService, private injector: Injector) { }\n\n async execute(workflow: AXPWorkflow | string, initialContext: AXPWorkflowContext | any | null = null): Promise<AXPWorkflowContext> {\n // Instantiate or retrieve the workflow\n const wk = typeof workflow === 'string' ? this.getWorkflowInstance(workflow) : workflow;\n\n let currentStepId = wk.startStepId;\n const context = initialContext instanceof AXPWorkflowContext ? initialContext : new AXPWorkflowContext(initialContext ?? {});\n // Initialize context with initial variables\n\n while (currentStepId) {\n const currentStep = wk.steps[currentStepId];\n if (!currentStep) {\n throw new AXPWorkflowError(`Step '${currentStepId}' not found in the workflow steps.`);\n }\n\n // Instantiate or retrieve the action\n const action = typeof currentStep.action === 'string' ? this.getActionInstance(currentStep.action) : currentStep.action;\n if (currentStep.input) {\n let inputs: any = {};\n await this.processInputs(cloneDeep(currentStep.input), inputs, '', context);\n Object.assign(action, inputs);\n }\n try {\n await new Promise((resolve) => setTimeout(async () => {\n await action.execute(context);\n resolve(0);\n }, 0));\n } catch (error) {\n console.error(error);\n throw new AXPWorkflowError('Workflow Error', error as Error);\n }\n // Determine the next step based on the conditions\n const nextStepInfo = await this.determineNextStep(currentStep, context);\n if (nextStepInfo) {\n currentStepId = nextStepInfo.nextStepId;\n } else {\n break; // Exit the loop if no next step is determined\n }\n }\n return context;\n }\n\n //TODO : replace with AXDataGenerator\n private uuid(): string {\n return 'xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx'.replace(/[xy]/g, (char) => {\n const random = (Math.random() * 16) | 0;\n const value = char === 'x' ? random : (random & 0x3) | 0x8;\n return value.toString(16);\n });\n }\n\n private getActionInstance(actionName: string): AXPWorkflowAction {\n const actionType = this.registryService.getAction(actionName);\n if (!actionType) {\n throw new AXPWorkflowError(`Action type '${actionName}' not found in the registry.`);\n }\n return this.injector.get(actionType,);\n }\n\n private getWorkflowInstance(workflowName: string): AXPWorkflow {\n const workflowType = this.registryService.getWorkflow(workflowName);\n if (!workflowType) {\n throw new AXPWorkflowError(`Workflow type '${workflowName}' not found in the registry.`);\n }\n return workflowType;\n }\n\n private async determineNextStep(\n currentStep: AXPWorkflowStep,\n context: AXPWorkflowContext\n ): Promise<AXPWorkflowNextStep | null> {\n if (!currentStep.nextSteps) {\n return null;\n }\n for (const nextStep of currentStep.nextSteps) {\n if (await this.evaluateCondition(nextStep.conditions, context)) {\n return nextStep;\n }\n }\n return null;\n }\n\n private async evaluateCondition(conditions: AXPWorkflowCondition[], context: AXPWorkflowContext): Promise<boolean> {\n if (!conditions || conditions.length === 0) {\n return true; // If no conditions, the step proceeds\n }\n\n // Map each condition to a promise using evaluateSingleCondition\n const conditionPromises = conditions.map((condition) => this.evaluateSingleCondition(condition, context));\n\n // Wait for all promises to resolve\n const results = await Promise.all(conditionPromises);\n\n // Check if every condition is true\n return results.every((result) => result);\n }\n\n private async evaluateSingleCondition(\n condition: AXPWorkflowCondition,\n context: AXPWorkflowContext\n ): Promise<boolean> {\n switch (condition.type) {\n case 'SINGLE':\n return (!condition.expression ? true : await this.evaluateExpression(condition.expression, context)) as boolean;\n case 'AND':\n // Evaluate all conditions with 'AND' logic\n const andConditions = condition.conditions ?? [];\n const andResults = await Promise.all(andConditions.map((cond) => this.evaluateSingleCondition(cond, context)));\n return andResults.every((result) => result);\n\n case 'OR':\n // Evaluate all conditions with 'OR' logic\n const orConditions = condition.conditions ?? [];\n const orResults = await Promise.all(orConditions.map((cond) => this.evaluateSingleCondition(cond, context)));\n return orResults.some((result) => result);\n\n default:\n throw new AXPWorkflowError(`Unsupported condition type: ${condition.type}`);\n }\n }\n\n private async evaluateExpression(templateExpression: string, context: AXPWorkflowContext): Promise<Boolean> {\n try {\n let expression = '';\n if (typeof templateExpression === 'string' && templateExpression.trim().includes('{{')) {\n const expressionMatch = templateExpression.match(/\\{\\{\\s*(.*?)\\s*\\}\\}/);\n if (!expressionMatch) {\n throw Error(`No valid expression found in \"${templateExpression}\"`);\n }\n expression = expressionMatch[1];\n }\n else {\n expression = templateExpression;\n }\n // Create a scope that includes context and registered functions\n const scope = { context, ...this.createFunctionScope() };\n // Evaluating the expression within the created scope\n const sandbox = new Function('scope', `return (async function() { with (scope) { return ${expression}; } })();`);\n const result = await sandbox(scope);\n return result;\n } catch (error) {\n console.error('Error evaluating expression:', error);\n return false;\n }\n }\n\n async processInputs(obj: any, inputs: any, pathPrefix: string = '', context: any = {}): Promise<void> {\n if (!obj)\n return;\n\n for await (const i of Object.entries(obj)) {\n const key = i[0];\n const value = i[1];\n const currentPath = pathPrefix ? `${pathPrefix}.${key}` : key;\n if (typeof value === 'string' && value.trim().includes('{{')) {\n const expValue = await this.evaluateExpression(value, context);\n set(inputs, currentPath, expValue);\n }\n else if (typeof value === 'object' && value !== null && (value.constructor === Object || Array.isArray(value))) {\n // Recursively handle nested objects\n this.processInputs(value, inputs, currentPath, context);\n } else {\n // Apply static values directly\n set(inputs, currentPath, value);\n }\n }\n }\n\n private createFunctionScope(): any {\n const scope: any = {};\n this.registryService.getFunctionNames().forEach((name) => {\n scope[name] = this.getFunctionInstance(name).execute;\n });\n return scope;\n }\n\n private getFunctionInstance(functionName: string): AXPWorkflowFunction {\n const functionType = this.registryService.getFunction(functionName);\n if (!functionType) {\n throw new AXPWorkflowError(`Function type '${functionName}' not found in the registry.`);\n }\n return this.injector.get(functionType);\n }\n}\n","import { inject, Injectable } from \"@angular/core\";\nimport { AXPWorkflowAction, AXPWorkflowContext } from \"../workflow.types\";\nimport { AXPWorkflowService } from \"../workflow.service\";\n\n@Injectable({\n providedIn: 'root',\n})\nexport class AXPStartWorkflowAction extends AXPWorkflowAction {\n\n private workflowService = inject(AXPWorkflowService)\n private workflow: string;\n private context: any;\n\n async execute(context: AXPWorkflowContext): Promise<void> {\n //console.log(\"start WK current context\", context);\n //console.log(\"start WK input context\", this.context);\n if (this.context)\n context.setVariables(this.context)\n //console.log(\"start WK merged context\", context);\n try {\n await this.workflowService.execute(this.workflow, context);\n }\n catch (e: unknown) {\n throw e;\n }\n\n }\n}","import { Inject, ModuleWithProviders, NgModule, Optional, Type } from \"@angular/core\";\nimport { AXPWorkflowRegistryService } from \"./workflow-registery.service\";\nimport { AXPWorkflow, AXPWorkflowAction, AXPWorkflowFunction } from \"./workflow.types\";\nimport { AXPStartWorkflowAction } from \"./actions/start-workflow.action\";\n\n\nexport interface AXPWorkflowModuleConfigs {\n functions?: {\n [name: string]: Type<AXPWorkflowFunction>\n },\n actions?: {\n [name: string]: Type<AXPWorkflowAction>\n },\n workflows?: {\n [name: string]: AXPWorkflow\n }\n}\n\n@NgModule({\n imports: [],\n exports: [],\n declarations: [],\n})\nexport class AXPWorkflowModule {\n\n static forRoot(config?: AXPWorkflowModuleConfigs): ModuleWithProviders<AXPWorkflowModule> {\n return {\n ngModule: AXPWorkflowModule,\n providers: [\n {\n provide: 'AXPWorkflowModuleFactory',\n useFactory: (registry: AXPWorkflowRegistryService) => () => {\n registry.registerAction(\"start-workflow\", AXPStartWorkflowAction);\n //\n if (config?.functions) {\n for (const [key, type] of Object.entries(config.functions)) {\n registry.registerFunction(key, type);\n }\n }\n //\n if (config?.actions) {\n for (const [key, type] of Object.entries(config.actions)) {\n registry.registerAction(key, type);\n }\n }\n //\n if (config?.workflows) {\n for (const [key, type] of Object.entries(config.workflows)) {\n registry.registerWorkflow(key, type);\n }\n }\n },\n deps: [AXPWorkflowRegistryService],\n multi: true\n },\n ...Object.values(config?.actions ?? { AXPStartWorkflowAction }),\n ...Object.values(config?.functions ?? {}),\n ]\n };\n }\n\n static forChild(config?: AXPWorkflowModuleConfigs): ModuleWithProviders<AXPWorkflowModule> {\n return {\n ngModule: AXPWorkflowModule,\n providers: [\n {\n provide: 'AXPWorkflowModuleFactory',\n useFactory: (registry: AXPWorkflowRegistryService) => () => {\n registry.registerAction(\"start-workflow\", AXPStartWorkflowAction);\n //\n if (config?.functions) {\n for (const [key, type] of Object.entries(config.functions)) {\n registry.registerFunction(key, type);\n }\n }\n //\n if (config?.actions) {\n for (const [key, type] of Object.entries(config.actions)) {\n registry.registerAction(key, type);\n }\n }\n //\n if (config?.workflows) {\n for (const [key, type] of Object.entries(config.workflows)) {\n registry.registerWorkflow(key, type);\n }\n }\n },\n deps: [AXPWorkflowRegistryService],\n multi: true\n },\n ...Object.values(config?.actions ?? {}),\n ...Object.values(config?.functions ?? {})\n ]\n };\n }\n\n /**\n * @ignore\n */\n constructor(@Optional() @Inject('AXPWorkflowModuleFactory') instances: any[]) {\n instances?.forEach(f => {\n f();\n });\n }\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["i1.AXPWorkflowRegistryService"],"mappings":"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"}
1
+ {"version":3,"file":"acorex-platform-workflow.mjs","sources":["../../../../libs/platform/workflow/src/lib/errors.types.ts","../../../../libs/platform/workflow/src/lib/workflow-event-dispatcher.service.ts","../../../../libs/platform/workflow/src/lib/workflow-registery.service.ts","../../../../libs/platform/workflow/src/lib/workflow.types.ts","../../../../libs/platform/workflow/src/lib/workflow.service.ts","../../../../libs/platform/workflow/src/lib/actions/start-workflow.action.ts","../../../../libs/platform/workflow/src/lib/workflow.module.ts","../../../../libs/platform/workflow/src/acorex-platform-workflow.ts"],"sourcesContent":["export class AXPWorkflowError extends Error {\n constructor(message: string, public inner: Error | null = null) {\n super(message);\n this.name = 'AXPWorkflowError';\n }\n}","import { Injectable } from '@angular/core';\nimport { Observable, Subject } from 'rxjs';\nimport { AXPWorkflowEvent } from './workflow.types';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class AXPWorkflowEventService {\n private eventSubject = new Subject<AXPWorkflowEvent>();\n\n dispatch(event: AXPWorkflowEvent): void {\n this.eventSubject.next(event);\n }\n\n get events$(): Observable<AXPWorkflowEvent> {\n return this.eventSubject.asObservable();\n }\n}\n","import { Injectable, Type } from '@angular/core';\nimport { AXPWorkflow, AXPWorkflowAction, AXPWorkflowFunction } from './workflow.types';\n\n\n\n\n@Injectable({\n providedIn: 'root'\n})\nexport class AXPWorkflowRegistryService {\n private functionsMap = new Map<string, Type<AXPWorkflowFunction>>();\n private actionsMap = new Map<string, Type<AXPWorkflowAction>>();\n private workflowsMap = new Map<string, AXPWorkflow>();\n\n registerWorkflow(name: string, workflow: AXPWorkflow): void {\n this.workflowsMap.set(name, workflow);\n }\n\n getWorkflow(name: string): AXPWorkflow | undefined {\n return this.workflowsMap.get(name);\n }\n\n registerAction(name: string, action: Type<AXPWorkflowAction>): void {\n this.actionsMap.set(name, action);\n }\n\n getAction(name: string): Type<AXPWorkflowAction> | undefined {\n return this.actionsMap.get(name);\n }\n\n registerFunction(name: string, func: Type<AXPWorkflowFunction>): void {\n this.functionsMap.set(name, func);\n }\n\n getFunction(name: string): Type<AXPWorkflowFunction> | undefined {\n return this.functionsMap.get(name);\n }\n\n getFunctionNames(): string[] {\n return Array.from(this.functionsMap.keys());\n }\n}","import { Injectable, inject } from '@angular/core';\nimport { filter } from 'rxjs';\nimport { AXPWorkflowEventService } from './workflow-event-dispatcher.service';\nimport { cloneDeep, get, set } from 'lodash-es';\n\nexport interface AXPWorkflow {\n steps: { [stepName: string]: AXPWorkflowStep };\n startStepId: string;\n}\n\n\nexport class AXPWorkflowContext {\n\n constructor(initialData: any = {}) {\n this.variables = cloneDeep(initialData);\n }\n\n private variables: any = {};\n private stepOutputs: Map<string, any> = new Map();\n\n setVariable(key: string, value: any): void {\n set(this.variables, key, value);\n }\n\n\n setVariables(context: any = {}) {\n this.variables = { ...this.variables, ...context };\n }\n\n getVariable<T = any>(key: string): T {\n return get(this.variables, key);\n }\n\n setOutput(key: string, output: any): void {\n this.stepOutputs.set(key, output);\n }\n\n setOutputs(values: Map<string, any>): void {\n this.stepOutputs = new Map([...this.stepOutputs, ...values])\n }\n\n getOutput<T = any>(key: string): T {\n return this.stepOutputs.get(key);\n }\n}\n\nexport type AXPWorkflowActionInput = any;\n\nexport type AXPWorkflowConditionType = 'AND' | 'OR' | 'SINGLE';\n\nexport interface AXPWorkflowCondition {\n type: AXPWorkflowConditionType;\n conditions?: AXPWorkflowCondition[]; // Nested conditions\n expression?: string; // Used if type is 'SINGLE'\n}\n\nexport interface AXPWorkflowNextStep {\n conditions: AXPWorkflowCondition[];\n nextStepId: string;\n}\n\nexport interface AXPWorkflowStep {\n id?: string;\n action: AXPWorkflowAction | string;\n input?: AXPWorkflowActionInput;\n nextSteps?: AXPWorkflowNextStep[];\n conditions?: AXPWorkflowCondition[];\n}\n@Injectable()\nexport abstract class AXPWorkflowAction {\n private eventService = inject(AXPWorkflowEventService);\n\n protected dispatch(event: AXPWorkflowEvent): void {\n this.eventService.dispatch(event);\n }\n\n abstract execute(context: AXPWorkflowContext): Promise<void>;\n}\n\n@Injectable()\nexport abstract class AXPWorkflowFunction {\n abstract execute(...args: any[]): Promise<any> | any;\n}\n\nexport interface AXPWorkflowEvent<T = any> {\n type: string;\n payload?: T;\n}\n\n\n\nexport function createWorkFlowEvent<T>(type: string) {\n const eventCreator = (payload: T) => ({ type, payload });\n eventCreator.type = type;\n return eventCreator;\n}\n\nexport function ofType<T extends { type: string }>(...allowedTypes: Array<{ type: string }>) {\n return filter((event: T) => allowedTypes.some((type) => event.type === type.type));\n}\n","import { Injectable, Injector, inject } from '@angular/core';\nimport { Observable } from 'rxjs';\nimport { AXPWorkflowError } from './errors.types';\nimport { AXPWorkflowEventService } from './workflow-event-dispatcher.service';\nimport { AXPWorkflowRegistryService } from './workflow-registery.service';\nimport {\n AXPWorkflow,\n AXPWorkflowAction,\n AXPWorkflowCondition,\n AXPWorkflowContext,\n AXPWorkflowEvent,\n AXPWorkflowFunction,\n AXPWorkflowNextStep,\n AXPWorkflowStep,\n} from './workflow.types';\nimport { cloneDeep, set } from 'lodash-es';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class AXPWorkflowService {\n private eventService = inject(AXPWorkflowEventService);\n\n\n get events$(): Observable<AXPWorkflowEvent> {\n return this.eventService.events$;\n }\n\n constructor(private registryService: AXPWorkflowRegistryService, private injector: Injector) { }\n\n async execute(workflow: AXPWorkflow | string, initialContext: AXPWorkflowContext | any | null = null): Promise<AXPWorkflowContext> {\n // Instantiate or retrieve the workflow\n const wk = typeof workflow === 'string' ? this.getWorkflowInstance(workflow) : workflow;\n\n let currentStepId = wk.startStepId;\n const context = initialContext instanceof AXPWorkflowContext ? initialContext : new AXPWorkflowContext(initialContext ?? {});\n // Initialize context with initial variables\n\n while (currentStepId) {\n const currentStep = wk.steps[currentStepId];\n if (!currentStep) {\n throw new AXPWorkflowError(`Step '${currentStepId}' not found in the workflow steps.`);\n }\n\n // Instantiate or retrieve the action\n const action = typeof currentStep.action === 'string' ? this.getActionInstance(currentStep.action) : currentStep.action;\n if (currentStep.input) {\n let inputs: any = {};\n await this.processInputs(cloneDeep(currentStep.input), inputs, '', context);\n Object.assign(action, inputs);\n }\n try {\n await new Promise((resolve) => setTimeout(async () => {\n await action.execute(context);\n resolve(0);\n }, 0));\n } catch (error) {\n console.error(error);\n throw new AXPWorkflowError('Workflow Error', error as Error);\n }\n // Determine the next step based on the conditions\n const nextStepInfo = await this.determineNextStep(currentStep, context);\n if (nextStepInfo) {\n currentStepId = nextStepInfo.nextStepId;\n } else {\n break; // Exit the loop if no next step is determined\n }\n }\n return context;\n }\n\n //TODO : replace with AXDataGenerator\n private uuid(): string {\n return 'xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx'.replace(/[xy]/g, (char) => {\n const random = (Math.random() * 16) | 0;\n const value = char === 'x' ? random : (random & 0x3) | 0x8;\n return value.toString(16);\n });\n }\n\n private getActionInstance(actionName: string): AXPWorkflowAction {\n const actionType = this.registryService.getAction(actionName);\n if (!actionType) {\n throw new AXPWorkflowError(`Action type '${actionName}' not found in the registry.`);\n }\n return this.injector.get(actionType,);\n }\n\n private getWorkflowInstance(workflowName: string): AXPWorkflow {\n const workflowType = this.registryService.getWorkflow(workflowName);\n if (!workflowType) {\n throw new AXPWorkflowError(`Workflow type '${workflowName}' not found in the registry.`);\n }\n return workflowType;\n }\n\n private async determineNextStep(\n currentStep: AXPWorkflowStep,\n context: AXPWorkflowContext\n ): Promise<AXPWorkflowNextStep | null> {\n if (!currentStep.nextSteps) {\n return null;\n }\n for (const nextStep of currentStep.nextSteps) {\n if (await this.evaluateCondition(nextStep.conditions, context)) {\n return nextStep;\n }\n }\n return null;\n }\n\n private async evaluateCondition(conditions: AXPWorkflowCondition[], context: AXPWorkflowContext): Promise<boolean> {\n if (!conditions || conditions.length === 0) {\n return true; // If no conditions, the step proceeds\n }\n\n // Map each condition to a promise using evaluateSingleCondition\n const conditionPromises = conditions.map((condition) => this.evaluateSingleCondition(condition, context));\n\n // Wait for all promises to resolve\n const results = await Promise.all(conditionPromises);\n\n // Check if every condition is true\n return results.every((result) => result);\n }\n\n private async evaluateSingleCondition(\n condition: AXPWorkflowCondition,\n context: AXPWorkflowContext\n ): Promise<boolean> {\n switch (condition.type) {\n case 'SINGLE':\n return (!condition.expression ? true : await this.evaluateExpression(condition.expression, context)) as boolean;\n case 'AND':\n // Evaluate all conditions with 'AND' logic\n const andConditions = condition.conditions ?? [];\n const andResults = await Promise.all(andConditions.map((cond) => this.evaluateSingleCondition(cond, context)));\n return andResults.every((result) => result);\n\n case 'OR':\n // Evaluate all conditions with 'OR' logic\n const orConditions = condition.conditions ?? [];\n const orResults = await Promise.all(orConditions.map((cond) => this.evaluateSingleCondition(cond, context)));\n return orResults.some((result) => result);\n\n default:\n throw new AXPWorkflowError(`Unsupported condition type: ${condition.type}`);\n }\n }\n\n private async evaluateExpression(templateExpression: string, context: AXPWorkflowContext): Promise<Boolean> {\n try {\n let expression = '';\n if (typeof templateExpression === 'string' && templateExpression.trim().includes('{{')) {\n const expressionMatch = templateExpression.match(/\\{\\{\\s*(.*?)\\s*\\}\\}/);\n if (!expressionMatch) {\n throw Error(`No valid expression found in \"${templateExpression}\"`);\n }\n expression = expressionMatch[1];\n }\n else {\n expression = templateExpression;\n }\n // Create a scope that includes context and registered functions\n const scope = { context, ...this.createFunctionScope() };\n // Evaluating the expression within the created scope\n const sandbox = new Function('scope', `return (async function() { with (scope) { return ${expression}; } })();`);\n const result = await sandbox(scope);\n return result;\n } catch (error) {\n console.error('Error evaluating expression:', error);\n return false;\n }\n }\n\n async processInputs(obj: any, inputs: any, pathPrefix: string = '', context: any = {}): Promise<void> {\n if (!obj)\n return;\n\n for await (const i of Object.entries(obj)) {\n const key = i[0];\n const value = i[1];\n const currentPath = pathPrefix ? `${pathPrefix}.${key}` : key;\n if (typeof value === 'string' && value.trim().includes('{{')) {\n const expValue = await this.evaluateExpression(value, context);\n set(inputs, currentPath, expValue);\n }\n else if (typeof value === 'object' && value !== null && (value.constructor === Object || Array.isArray(value))) {\n // Recursively handle nested objects\n this.processInputs(value, inputs, currentPath, context);\n } else {\n // Apply static values directly\n set(inputs, currentPath, value);\n }\n }\n }\n\n private createFunctionScope(): any {\n const scope: any = {};\n this.registryService.getFunctionNames().forEach((name) => {\n scope[name] = this.getFunctionInstance(name).execute;\n });\n return scope;\n }\n\n private getFunctionInstance(functionName: string): AXPWorkflowFunction {\n const functionType = this.registryService.getFunction(functionName);\n if (!functionType) {\n throw new AXPWorkflowError(`Function type '${functionName}' not found in the registry.`);\n }\n return this.injector.get(functionType);\n }\n}\n","import { inject, Injectable } from \"@angular/core\";\nimport { AXPWorkflowAction, AXPWorkflowContext } from \"../workflow.types\";\nimport { AXPWorkflowService } from \"../workflow.service\";\n\n@Injectable({\n providedIn: 'root',\n})\nexport class AXPStartWorkflowAction extends AXPWorkflowAction {\n\n private workflowService = inject(AXPWorkflowService)\n private workflow: string;\n private context: any;\n\n async execute(context: AXPWorkflowContext): Promise<void> {\n //console.log(\"start WK current context\", context);\n //console.log(\"start WK input context\", this.context);\n if (this.context)\n context.setVariables(this.context)\n //console.log(\"start WK merged context\", context);\n try {\n await this.workflowService.execute(this.workflow, context);\n }\n catch (e: unknown) {\n throw e;\n }\n\n }\n}","import { Inject, ModuleWithProviders, NgModule, Optional, Type } from \"@angular/core\";\nimport { AXPWorkflowRegistryService } from \"./workflow-registery.service\";\nimport { AXPWorkflow, AXPWorkflowAction, AXPWorkflowFunction } from \"./workflow.types\";\nimport { AXPStartWorkflowAction } from \"./actions/start-workflow.action\";\n\n\nexport interface AXPWorkflowModuleConfigs {\n functions?: {\n [name: string]: Type<AXPWorkflowFunction>\n },\n actions?: {\n [name: string]: Type<AXPWorkflowAction>\n },\n workflows?: {\n [name: string]: AXPWorkflow\n }\n}\n\n@NgModule({\n imports: [],\n exports: [],\n declarations: [],\n})\nexport class AXPWorkflowModule {\n\n static forRoot(config?: AXPWorkflowModuleConfigs): ModuleWithProviders<AXPWorkflowModule> {\n return {\n ngModule: AXPWorkflowModule,\n providers: [\n {\n provide: 'AXPWorkflowModuleFactory',\n useFactory: (registry: AXPWorkflowRegistryService) => () => {\n registry.registerAction(\"start-workflow\", AXPStartWorkflowAction);\n //\n if (config?.functions) {\n for (const [key, type] of Object.entries(config.functions)) {\n registry.registerFunction(key, type);\n }\n }\n //\n if (config?.actions) {\n for (const [key, type] of Object.entries(config.actions)) {\n registry.registerAction(key, type);\n }\n }\n //\n if (config?.workflows) {\n for (const [key, type] of Object.entries(config.workflows)) {\n registry.registerWorkflow(key, type);\n }\n }\n },\n deps: [AXPWorkflowRegistryService],\n multi: true\n },\n ...Object.values(config?.actions ?? { AXPStartWorkflowAction }),\n ...Object.values(config?.functions ?? {}),\n ]\n };\n }\n\n static forChild(config?: AXPWorkflowModuleConfigs): ModuleWithProviders<AXPWorkflowModule> {\n return {\n ngModule: AXPWorkflowModule,\n providers: [\n {\n provide: 'AXPWorkflowModuleFactory',\n useFactory: (registry: AXPWorkflowRegistryService) => () => {\n registry.registerAction(\"start-workflow\", AXPStartWorkflowAction);\n //\n if (config?.functions) {\n for (const [key, type] of Object.entries(config.functions)) {\n registry.registerFunction(key, type);\n }\n }\n //\n if (config?.actions) {\n for (const [key, type] of Object.entries(config.actions)) {\n registry.registerAction(key, type);\n }\n }\n //\n if (config?.workflows) {\n for (const [key, type] of Object.entries(config.workflows)) {\n registry.registerWorkflow(key, type);\n }\n }\n },\n deps: [AXPWorkflowRegistryService],\n multi: true\n },\n ...Object.values(config?.actions ?? {}),\n ...Object.values(config?.functions ?? {})\n ]\n };\n }\n\n /**\n * @ignore\n */\n constructor(@Optional() @Inject('AXPWorkflowModuleFactory') instances: any[]) {\n instances?.forEach(f => {\n f();\n });\n }\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["i1.AXPWorkflowRegistryService"],"mappings":"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"}
@@ -16,7 +16,7 @@ export declare class AXPLayoutBuilderService {
16
16
  private debouncers;
17
17
  private debouncerSubscriptions;
18
18
  private widgets;
19
- get context(): any;
19
+ context: import("@angular/core").Signal<any>;
20
20
  get variables(): any;
21
21
  get functions(): {
22
22
  [key: string]: Function;
@@ -1,5 +1,5 @@
1
1
  import { AXUnsubscriber } from '@acorex/core/utils';
2
- import { WritableSignal } from '@angular/core';
2
+ import { SimpleChanges, WritableSignal } from '@angular/core';
3
3
  import { AXPLayoutBuilderService } from './builder.service';
4
4
  import { AXPWidgetRegistryService } from './widget-registery.service';
5
5
  import { AXPWidgetComponent, AXPWidgetNode } from './widget.types';
@@ -20,7 +20,11 @@ export declare class AXPWidgetRendererDirective {
20
20
  private expressionCache;
21
21
  private expressionEvaluators;
22
22
  private scope;
23
+ private componentRef;
23
24
  constructor();
25
+ ngOnChanges(changes: SimpleChanges): Promise<void>;
26
+ private rerenderComponent;
27
+ ngOnDestroy(): void;
24
28
  private loadComponent;
25
29
  private applyOptions;
26
30
  private checkFormulaForUpdate;
@@ -82,6 +82,7 @@ export interface AXPWidgetNode {
82
82
  children?: AXPWidgetNode[];
83
83
  options?: AXPOptionsData;
84
84
  triggers?: AXPWidgetTriggers;
85
+ meta?: AXPMetaData;
85
86
  }
86
87
  export interface AXPWidgetTypesMap {
87
88
  checkbox: 'checkbox-editor';
@@ -177,7 +178,6 @@ export declare abstract class AXPWidgetComponent<T = any | null | void> extends
177
178
  protected _options: import("@angular/core").WritableSignal<any>;
178
179
  protected options: import("@angular/core").Signal<any>;
179
180
  private readonly contextService;
180
- protected readonly rawValue: import("@angular/core").Signal<T>;
181
181
  readonly onReady: Subject<void>;
182
182
  private isRendered;
183
183
  private _id;
@@ -185,12 +185,12 @@ export declare abstract class AXPWidgetComponent<T = any | null | void> extends
185
185
  parent: AXPWidgetComponent | null | undefined;
186
186
  index: number | null | undefined;
187
187
  mode: AXPWidgetRenderMode;
188
- private _fullPath;
188
+ private fullPath;
189
189
  ngOnInit(): void;
190
190
  private nextRender;
191
191
  private initRender;
192
- getValue<T>(): T_1;
193
- setValue(value: T | null, init?: boolean): void;
192
+ getValue: import("@angular/core").Signal<any>;
193
+ setValue(value: T | null | undefined, init?: boolean): void;
194
194
  setOptions(values: any): void;
195
195
  call(name: string, ...args: any[]): void;
196
196
  setChildren(children: AXPWidgetNode[]): void;
@@ -0,0 +1,8 @@
1
+ import * as i0 from "@angular/core";
2
+ export declare class AXPDesignerAddWidgetLineButtonComponent {
3
+ text: import("@angular/core").InputSignal<unknown>;
4
+ onClick: import("@angular/core").OutputEmitterRef<void>;
5
+ protected handleClick(): void;
6
+ static ɵfac: i0.ɵɵFactoryDeclaration<AXPDesignerAddWidgetLineButtonComponent, never>;
7
+ static ɵcmp: i0.ɵɵComponentDeclaration<AXPDesignerAddWidgetLineButtonComponent, "axp-designer-add-widget-line-button", never, { "text": { "alias": "text"; "required": false; "isSignal": true; }; }, { "onClick": "onClick"; }, never, never, true, never>;
8
+ }
@@ -0,0 +1,9 @@
1
+ import * as i0 from "@angular/core";
2
+ export declare class AXPDesignerAddWidgetMiniButtonComponent {
3
+ private designerService;
4
+ private parent;
5
+ protected handleClick(e: MouseEvent): Promise<void>;
6
+ private get __class();
7
+ static ɵfac: i0.ɵɵFactoryDeclaration<AXPDesignerAddWidgetMiniButtonComponent, never>;
8
+ static ɵcmp: i0.ɵɵComponentDeclaration<AXPDesignerAddWidgetMiniButtonComponent, "axp-designer-add-widget-mini-button", never, {}, {}, never, never, true, never>;
9
+ }
@@ -0,0 +1,3 @@
1
+ export * from './add-widget-button.component';
2
+ export * from './add-widget-line-button.component';
3
+ export * from './add-widget-mini-button.component';
@@ -10,6 +10,7 @@ export declare class AXPDesignerBoardComponent {
10
10
  protected service: AXPDesignerService;
11
11
  protected width: import("@angular/core").Signal<"340px" | "768px" | "100%">;
12
12
  private ef;
13
+ protected handleContextChanged(e: any): void;
13
14
  private get __style();
14
15
  private get __class();
15
16
  static ɵfac: i0.ɵɵFactoryDeclaration<AXPDesignerBoardComponent, never>;
@@ -1,6 +1,6 @@
1
1
  import { AXPDesignerService } from '../../../shared/designer.service';
2
2
  import { AXPDesignerConnectorAbstract } from '../../../shared/designer-connector.service';
3
- import { AXPDesignerDataSourceName } from '../../../shared/designer.typs';
3
+ import { AXPDesignerDataSourceName } from '../../../shared/designer.types';
4
4
  import * as i0 from "@angular/core";
5
5
  export declare class AXPDesignerDataSourcesComponent {
6
6
  protected service: AXPDesignerService;
@@ -6,6 +6,8 @@ export interface AXPDisplayWidgetConfig extends AXPWidgetConfig {
6
6
  pinned: boolean;
7
7
  }
8
8
  export declare class AXPDesignerWidgetPickerComponent extends AXBasePageComponent {
9
+ private settingService;
10
+ private readonly pinnedSettingKey;
9
11
  protected searchTerm: import("@angular/core").ModelSignal<string>;
10
12
  private widgets;
11
13
  private displayWidgets;
@@ -16,7 +18,7 @@ export declare class AXPDesignerWidgetPickerComponent extends AXBasePageComponen
16
18
  protected tabs: AXPWidgetGroup[];
17
19
  protected currentTabIndex: import("@angular/core").WritableSignal<number>;
18
20
  protected selectedTab: import("@angular/core").Signal<AXPWidgetGroup>;
19
- protected ngOnInit(): void;
21
+ protected ngOnInit(): Promise<void>;
20
22
  protected handleTabChange(event: AXTabStripChangedEvent): void;
21
23
  protected handleClick(event: MouseEvent, widget: AXPDisplayWidgetConfig): void;
22
24
  protected handlePinClick(e: MouseEvent, widget: AXPDisplayWidgetConfig): void;
@@ -1,8 +1,8 @@
1
- export * from './components/add-widget-button/add-widget-button.component';
1
+ export * from './components/add-widget-button';
2
2
  export * from './components/grid-drawer/grid-drawer.component';
3
3
  export * from './components/widget-picker/widget-picker.component';
4
4
  export * from './designer.component';
5
5
  export * from './shared/designer-connector.service';
6
6
  export * from './shared/designer.service';
7
- export * from './shared/designer.typs';
7
+ export * from './shared/designer.types';
8
8
  export * from './shared/widget-designer-renderer.directive';
@@ -1,5 +1,5 @@
1
1
  import { AXPWidgetDataSource, AXPWidgetNode } from "@acorex/platform/layout/builder";
2
- import { AXPDesignerDataSourceName } from "./designer.typs";
2
+ import { AXPDesignerDataSourceName } from "./designer.types";
3
3
  import * as i0 from "@angular/core";
4
4
  export declare abstract class AXPDesignerConnectorAbstract<T = string> {
5
5
  abstract save(): Promise<any>;
@@ -1,6 +1,6 @@
1
1
  import { AXPWidgetComponent, AXPWidgetConfig, AXPWidgetNode } from '@acorex/platform/layout/builder';
2
2
  import { Subject } from 'rxjs';
3
- import { AXPDesignerMode } from './designer.typs';
3
+ import { AXPDesignerMode } from './designer.types';
4
4
  import * as i0 from "@angular/core";
5
5
  export type AXPDesignerPreviewSize = 'sm' | 'md' | 'lg' | 'xl' | 'xxl';
6
6
  export interface AXPDesignerFocusCommand {
@@ -91,7 +91,7 @@ export declare class AXPDesignerService {
91
91
  findWidgetById(root: AXPWidgetNode, id: string): AXPWidgetNode | null;
92
92
  private findParent;
93
93
  private findNearestContainer;
94
- addWidget(currentNode: AXPWidgetNode, node: AXPWidgetNode): AXPWidgetNode | null;
94
+ addWidget(currentNode: AXPWidgetNode, node: AXPWidgetNode): AXPWidgetNode;
95
95
  removeWidget(node: AXPWidgetNode): void;
96
96
  navigateTo(index: number): void;
97
97
  redo(): void;
@@ -47,7 +47,8 @@ export declare class AXPEntityMasterListViewModel {
47
47
  private allActions;
48
48
  primaryActions: import("@angular/core").Signal<AXPEntityCommandTriggerViewModel[]>;
49
49
  secondaryActions: import("@angular/core").Signal<AXPEntityCommandTriggerViewModel[]>;
50
- rowActions: import("@angular/core").Signal<AXPEntityCommandTriggerViewModel[]>;
50
+ primaryRowActions: import("@angular/core").Signal<AXPEntityCommandTriggerViewModel[]>;
51
+ secondaryRowActions: import("@angular/core").Signal<AXPEntityCommandTriggerViewModel[]>;
51
52
  private inlineFilters;
52
53
  private advanceFilters;
53
54
  applyInlineFilter(value: string): void;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@acorex/platform",
3
- "version": "18.1.4",
3
+ "version": "18.1.5",
4
4
  "peerDependencies": {
5
5
  "@angular/common": ">=18.0.0",
6
6
  "@angular/core": ">=18.0.0",
@@ -1,8 +1,9 @@
1
1
  import * as i0 from "@angular/core";
2
2
  import * as i1 from "@angular/router";
3
3
  import * as i2 from "@acorex/platform/common";
4
+ import * as i3 from "@acorex/platform/themes/shared";
4
5
  export declare class AXPDefaultThemeModule {
5
6
  static ɵfac: i0.ɵɵFactoryDeclaration<AXPDefaultThemeModule, never>;
6
- static ɵmod: i0.ɵɵNgModuleDeclaration<AXPDefaultThemeModule, never, [typeof i1.RouterModule, typeof i2.AXPCommonModule], never>;
7
+ static ɵmod: i0.ɵɵNgModuleDeclaration<AXPDefaultThemeModule, never, [typeof i1.RouterModule, typeof i2.AXPCommonModule, typeof i3.AXPThemesSharedModule], never>;
7
8
  static ɵinj: i0.ɵɵInjectorDeclaration<AXPDefaultThemeModule>;
8
9
  }
@@ -20,9 +20,11 @@ export declare class AXPEntityMasterListViewComponent {
20
20
  ngAfterViewInit(): void;
21
21
  protected closeDrawer(name: string, collapsed: boolean): void;
22
22
  handleChangeSearchValue(e: AXValueChangedEvent): void;
23
- private dropdownRowItems;
23
+ protected dropdownRowItems: import("@angular/core").Signal<import("@acorex/components/button").AXButtonItemListItem[]>;
24
+ private commandRowItems;
24
25
  protected handleRowDbClick(e: AXDataTableRowDbClick): void;
25
26
  protected getDropdownRowItems: (rowData: unknown) => Promise<AXRowCommandItem[]>;
27
+ protected getCommandRowItems: () => AXRowCommandItem[];
26
28
  protected handleRowCommandClick(e: AXRowCommandItemClickEvent): Promise<void>;
27
29
  protected handleSelectedRowsChange(rows: unknown[]): Promise<void>;
28
30
  protected makeResponsive<t>(value: t): t | string;
@@ -1,5 +1,5 @@
1
1
  import { AXDrawerComponent } from '@acorex/components/drawer';
2
- import { AXPMenuItem, AXPLayoutService } from '@acorex/platform/common';
2
+ import { AXPLayoutService, AXPMenuItem } from '@acorex/platform/common';
3
3
  import { WritableSignal } from '@angular/core';
4
4
  import { Observable } from 'rxjs';
5
5
  import * as i0 from "@angular/core";
@@ -25,6 +25,7 @@ export declare class AXPRootLayoutComponent {
25
25
  protected showNavigationProgress: WritableSignal<boolean>;
26
26
  protected menuItems$: Observable<AXPMenuItem[]>;
27
27
  constructor();
28
+ ngAfterViewInit(): void;
28
29
  protected handleMenuClick(e: any, item: AXPMenuItem): void;
29
30
  protected handleCollapsedChange(value: boolean): void;
30
31
  static ɵfac: i0.ɵɵFactoryDeclaration<AXPRootLayoutComponent, never>;
@@ -2,4 +2,6 @@ export * from './lib/comments/comment-list-view.component';
2
2
  export * from './lib/comments/comment-lookup-popup.component';
3
3
  export * from './lib/comments/comments.service';
4
4
  export * from './lib/comments/comments.type';
5
+ export * from './lib/components/theme-slot.component';
6
+ export * from './lib/services/theme.service';
5
7
  export * from './lib/shared.module';
@@ -1,8 +1,8 @@
1
- import { AXPCommentResponse, AXPDeleteRequest, AXPGetRequest, AXPLikeRequest, AXPPostRequest, AXPPutRequest } from './comments.type';
1
+ import { AXPCommentResponse, AXPCommentCreateRequest, AXPCommentDeleteRequest, AXPCommentGetRequest, AXPCommentLikeRequest, AXPCommentUpdateRequest } from './comments.type';
2
2
  export declare abstract class AXPCommentService {
3
- abstract get(payload: AXPGetRequest): Promise<AXPCommentResponse>;
4
- abstract post(payload: AXPPostRequest): Promise<string>;
5
- abstract delete(payload: AXPDeleteRequest): Promise<void>;
6
- abstract put(payload: AXPPutRequest): Promise<string>;
7
- abstract like(payload: AXPLikeRequest): Promise<string>;
3
+ abstract get(payload: AXPCommentGetRequest): Promise<AXPCommentResponse>;
4
+ abstract create(payload: AXPCommentCreateRequest): Promise<string>;
5
+ abstract delete(payload: AXPCommentDeleteRequest): Promise<void>;
6
+ abstract update(payload: AXPCommentUpdateRequest): Promise<string>;
7
+ abstract like(payload: AXPCommentLikeRequest): Promise<string>;
8
8
  }
@@ -45,26 +45,26 @@ export interface AXPCommentResponse {
45
45
  totalCount: number;
46
46
  items: AXPComment[];
47
47
  }
48
- export interface AXPPostRequest extends Partial<AXPComment> {
48
+ export interface AXPCommentCreateRequest extends Partial<AXPComment> {
49
49
  content: string;
50
50
  contentType: string;
51
51
  isPrivate: boolean;
52
52
  replyId: string | undefined;
53
53
  members?: string[];
54
54
  }
55
- export interface AXPGetRequest extends Partial<AXPComment> {
55
+ export interface AXPCommentGetRequest extends Partial<AXPComment> {
56
56
  roomType: string;
57
57
  entityId: string;
58
58
  instanceId: string;
59
59
  }
60
- export interface AXPDeleteRequest {
60
+ export interface AXPCommentDeleteRequest {
61
61
  id: string;
62
62
  }
63
- export interface AXPPutRequest {
63
+ export interface AXPCommentUpdateRequest {
64
64
  id: string;
65
65
  content: string;
66
66
  }
67
- export interface AXPLikeRequest {
67
+ export interface AXPCommentLikeRequest {
68
68
  messageId: string;
69
69
  type: 'like';
70
70
  }
@@ -0,0 +1,23 @@
1
+ import { AXPThemeVariant } from '../services/theme.service';
2
+ import * as i0 from "@angular/core";
3
+ export declare class AXPThemeSlotComponent {
4
+ protected store: {
5
+ currentTheme: import("@angular/core").Signal<AXPThemeVariant>;
6
+ systemTheme: import("@angular/core").Signal<AXPThemeVariant>;
7
+ listener: import("@angular/core").Signal<((e: MediaQueryListEvent) => void) | null>;
8
+ isDarkMode: import("@angular/core").Signal<boolean>;
9
+ isLightMode: import("@angular/core").Signal<boolean>;
10
+ isSystemMode: import("@angular/core").Signal<boolean>;
11
+ changeTheme: (theme: AXPThemeVariant) => void;
12
+ applyCurrentTheme: () => void;
13
+ setupListener: () => (e: MediaQueryListEvent) => void;
14
+ removeListener: (listener: (e: MediaQueryListEvent) => void) => void;
15
+ } & import("@ngrx/signals").StateSource<{
16
+ currentTheme: AXPThemeVariant;
17
+ systemTheme: AXPThemeVariant;
18
+ listener: (((e: MediaQueryListEvent) => void) | null);
19
+ }>;
20
+ protected variants: typeof AXPThemeVariant;
21
+ static ɵfac: i0.ɵɵFactoryDeclaration<AXPThemeSlotComponent, never>;
22
+ static ɵcmp: i0.ɵɵComponentDeclaration<AXPThemeSlotComponent, "ng-component", never, {}, {}, never, never, true, never>;
23
+ }
@@ -0,0 +1,21 @@
1
+ export declare enum AXPThemeVariant {
2
+ Light = "light",
3
+ Dark = "dark",
4
+ System = "system"
5
+ }
6
+ export declare const AXPLayoutThemeService: import("@angular/core").Type<{
7
+ currentTheme: import("@angular/core").Signal<AXPThemeVariant>;
8
+ systemTheme: import("@angular/core").Signal<AXPThemeVariant>;
9
+ listener: import("@angular/core").Signal<((e: MediaQueryListEvent) => void) | null>;
10
+ isDarkMode: import("@angular/core").Signal<boolean>;
11
+ isLightMode: import("@angular/core").Signal<boolean>;
12
+ isSystemMode: import("@angular/core").Signal<boolean>;
13
+ changeTheme: (theme: AXPThemeVariant) => void;
14
+ applyCurrentTheme: () => void;
15
+ setupListener: () => (e: MediaQueryListEvent) => void;
16
+ removeListener: (listener: (e: MediaQueryListEvent) => void) => void;
17
+ } & import("@ngrx/signals").StateSource<{
18
+ currentTheme: AXPThemeVariant;
19
+ systemTheme: AXPThemeVariant;
20
+ listener: (((e: MediaQueryListEvent) => void) | null);
21
+ }>>;
@@ -1,6 +1,8 @@
1
1
  import * as i0 from "@angular/core";
2
- export declare class AXPSharedModule {
3
- static ɵfac: i0.ɵɵFactoryDeclaration<AXPSharedModule, never>;
4
- static ɵmod: i0.ɵɵNgModuleDeclaration<AXPSharedModule, never, never, never>;
5
- static ɵinj: i0.ɵɵInjectorDeclaration<AXPSharedModule>;
2
+ export declare class AXPThemesSharedModule {
3
+ private themeService;
4
+ constructor();
5
+ static ɵfac: i0.ɵɵFactoryDeclaration<AXPThemesSharedModule, never>;
6
+ static ɵmod: i0.ɵɵNgModuleDeclaration<AXPThemesSharedModule, never, never, never>;
7
+ static ɵinj: i0.ɵɵInjectorDeclaration<AXPThemesSharedModule>;
6
8
  }
@@ -2,7 +2,7 @@ import { AXMapLocation } from '@acorex/components/map';
2
2
  import { AXPWidgetComponent } from '@acorex/platform/layout/builder';
3
3
  import * as i0 from "@angular/core";
4
4
  export declare class AXPMapBoxWidgetViewComponent extends AXPWidgetComponent<AXMapLocation[]> {
5
- markers: import("@angular/core").Signal<T_1>;
5
+ markers: import("@angular/core").Signal<any>;
6
6
  height: import("@angular/core").Signal<number>;
7
7
  zoomLevel: import("@angular/core").Signal<number>;
8
8
  initialLocation: import("@angular/core").Signal<AXMapLocation>;
@@ -2,7 +2,7 @@ import { AXPWidgetComponent } from '@acorex/platform/layout/builder';
2
2
  import * as i0 from "@angular/core";
3
3
  export declare class AXPSignatureWidgetViewComponent extends AXPWidgetComponent<any> {
4
4
  protected placeholder: import("@angular/core").Signal<string>;
5
- protected internalValue: import("@angular/core").Signal<T_1>;
5
+ protected internalValue: import("@angular/core").Signal<any>;
6
6
  static ɵfac: i0.ɵɵFactoryDeclaration<AXPSignatureWidgetViewComponent, never>;
7
7
  static ɵcmp: i0.ɵɵComponentDeclaration<AXPSignatureWidgetViewComponent, "axp-signature-widget", never, {}, {}, never, never, true, never>;
8
8
  }
@@ -7,5 +7,5 @@ export declare class AXPColorBoxWidgetDesignerComponent extends AXPWidgetCompone
7
7
  protected hasClearButton: import("@angular/core").Signal<boolean>;
8
8
  private get __class();
9
9
  static ɵfac: i0.ɵɵFactoryDeclaration<AXPColorBoxWidgetDesignerComponent, never>;
10
- static ɵcmp: i0.ɵɵComponentDeclaration<AXPColorBoxWidgetDesignerComponent, "ng-component", never, {}, {}, never, never, true, never>;
10
+ static ɵcmp: i0.ɵɵComponentDeclaration<AXPColorBoxWidgetDesignerComponent, "axp-color-box-widget", never, {}, {}, never, never, true, never>;
11
11
  }
@@ -9,5 +9,5 @@ export declare class AXPColorBoxWidgetEditComponent extends AXPWidgetComponent<s
9
9
  protected validationRules: import("@angular/core").Signal<AXPValidationRules>;
10
10
  private get __class();
11
11
  static ɵfac: i0.ɵɵFactoryDeclaration<AXPColorBoxWidgetEditComponent, never>;
12
- static ɵcmp: i0.ɵɵComponentDeclaration<AXPColorBoxWidgetEditComponent, "ng-component", never, {}, {}, never, never, true, never>;
12
+ static ɵcmp: i0.ɵɵComponentDeclaration<AXPColorBoxWidgetEditComponent, "axp-color-box-widget", never, {}, {}, never, never, true, never>;
13
13
  }
@@ -2,5 +2,5 @@ import { AXPWidgetComponent } from '@acorex/platform/layout/builder';
2
2
  import * as i0 from "@angular/core";
3
3
  export declare class AXPColorBoxWidgetViewComponent extends AXPWidgetComponent<any> {
4
4
  static ɵfac: i0.ɵɵFactoryDeclaration<AXPColorBoxWidgetViewComponent, never>;
5
- static ɵcmp: i0.ɵɵComponentDeclaration<AXPColorBoxWidgetViewComponent, "ng-component", never, {}, {}, never, never, true, never>;
5
+ static ɵcmp: i0.ɵɵComponentDeclaration<AXPColorBoxWidgetViewComponent, "axp-color-box-widget", never, {}, {}, never, never, true, never>;
6
6
  }
@@ -11,6 +11,7 @@ export declare class AXPNumberBoxWidgetEditComponent extends AXPWidgetComponent<
11
11
  protected decimals: Signal<number>;
12
12
  protected minValue: Signal<number>;
13
13
  protected maxValue: Signal<number>;
14
+ protected seprator: Signal<string>;
14
15
  protected placeholder: Signal<string>;
15
16
  protected validationService: AXValidationService;
16
17
  protected validationRules: AXPValidationRules;
@@ -6,7 +6,7 @@ export declare class AXPNumberBoxWidgetViewComponent extends AXPWidgetComponent<
6
6
  protected multiple: import("@angular/core").Signal<boolean>;
7
7
  protected format: import("@angular/core").Signal<AXNumberFormatterOptions>;
8
8
  private formatService;
9
- getValue(): string;
9
+ private formattedValue;
10
10
  static ɵfac: i0.ɵɵFactoryDeclaration<AXPNumberBoxWidgetViewComponent, never>;
11
11
  static ɵcmp: i0.ɵɵComponentDeclaration<AXPNumberBoxWidgetViewComponent, "ng-component", never, {}, {}, never, never, true, never>;
12
12
  }
@@ -2,7 +2,7 @@ import { AXPClipBoardService } from '@acorex/platform/common';
2
2
  import { AXPWidgetComponent } from '@acorex/platform/layout/builder';
3
3
  import * as i0 from "@angular/core";
4
4
  export declare class AXPPasswordBoxWidgetViewComponent extends AXPWidgetComponent<string> {
5
- protected internalValue: import("@angular/core").Signal<T_1>;
5
+ protected internalValue: import("@angular/core").Signal<any>;
6
6
  protected hasCopyIcon: import("@angular/core").Signal<boolean>;
7
7
  protected hasEyeIcon: import("@angular/core").Signal<boolean>;
8
8
  protected showPassword: import("@angular/core").Signal<boolean>;
@@ -7,5 +7,5 @@ export declare class AXPToggleWidgetEditComponent extends AXPWidgetComponent<any
7
7
  protected onModelChange(e: boolean): void;
8
8
  private get __class();
9
9
  static ɵfac: i0.ɵɵFactoryDeclaration<AXPToggleWidgetEditComponent, never>;
10
- static ɵcmp: i0.ɵɵComponentDeclaration<AXPToggleWidgetEditComponent, "axp-swith-widget", never, {}, {}, never, never, true, never>;
10
+ static ɵcmp: i0.ɵɵComponentDeclaration<AXPToggleWidgetEditComponent, "axp-switch-widget", never, {}, {}, never, never, true, never>;
11
11
  }
@@ -2,5 +2,5 @@ import { AXPWidgetComponent } from '@acorex/platform/layout/builder';
2
2
  import * as i0 from "@angular/core";
3
3
  export declare class AXPToggleWidgetPrintComponent extends AXPWidgetComponent<any> {
4
4
  static ɵfac: i0.ɵɵFactoryDeclaration<AXPToggleWidgetPrintComponent, never>;
5
- static ɵcmp: i0.ɵɵComponentDeclaration<AXPToggleWidgetPrintComponent, "ng-component", never, {}, {}, never, never, true, never>;
5
+ static ɵcmp: i0.ɵɵComponentDeclaration<AXPToggleWidgetPrintComponent, "axp-swith-widget", never, {}, {}, never, never, true, never>;
6
6
  }
@@ -5,5 +5,5 @@ export declare class AXPToggleWidgetViewComponent extends AXPWidgetComponent<any
5
5
  protected falsyText: import("@angular/core").Signal<string>;
6
6
  protected trulyText: import("@angular/core").Signal<string>;
7
7
  static ɵfac: i0.ɵɵFactoryDeclaration<AXPToggleWidgetViewComponent, never>;
8
- static ɵcmp: i0.ɵɵComponentDeclaration<AXPToggleWidgetViewComponent, "ng-component", never, {}, {}, never, never, true, never>;
8
+ static ɵcmp: i0.ɵɵComponentDeclaration<AXPToggleWidgetViewComponent, "axp-switch-widget", never, {}, {}, never, never, true, never>;
9
9
  }