@acorex/platform 18.1.4 → 18.1.6

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 (485) hide show
  1. package/common/lib/app/app-startup.service.d.ts +16 -0
  2. package/common/lib/app/application.types.d.ts +4 -2
  3. package/common/lib/app/index.d.ts +1 -0
  4. package/common/lib/common.module.d.ts +4 -1
  5. package/common/lib/configs/app.config.d.ts +1 -0
  6. package/common/lib/data/data-provider.types.d.ts +1 -0
  7. package/common/lib/data/data.types.d.ts +14 -0
  8. package/common/lib/data/dexie-storage.service.d.ts +7 -5
  9. package/common/lib/data/entity-data-seeder.d.ts +12 -0
  10. package/common/lib/data/entity-storage-service.d.ts +66 -0
  11. package/common/lib/data/index.d.ts +3 -2
  12. package/common/lib/layout/menu/index.d.ts +2 -0
  13. package/common/lib/layout/menu/menu.provider.d.ts +15 -0
  14. package/common/lib/layout/menu/menu.service.d.ts +12 -0
  15. package/common/lib/layout/menu/menu.types.d.ts +8 -1
  16. package/common/lib/layout/theme/components/slots/index.d.ts +0 -1
  17. package/common/lib/layout/theme/store/admin-layout.actions.d.ts +0 -1
  18. package/common/lib/layout/theme/store/admin-layout.effects.d.ts +1 -2
  19. package/common/lib/layout/theme/store/admin-layout.reducers.d.ts +0 -5
  20. package/common/lib/layout/theme/store/admin-layout.selectors.d.ts +0 -1
  21. package/common/lib/layout/theme/store/admin-layout.state.d.ts +0 -3
  22. package/common/lib/schema/widgets/common-widget-filter/boolean-widget-filter.component.d.ts +1 -1
  23. package/common/lib/schema/widgets/dateTime/dateTime-widget-filter.component.d.ts +2 -0
  24. package/common/lib/schema/widgets/lookup/lookup-widget-edit.component.d.ts +1 -0
  25. package/common/lib/settings/index.d.ts +1 -1
  26. package/common/lib/settings/settings.provider.d.ts +7 -0
  27. package/common/lib/settings/settings.service.d.ts +8 -4
  28. package/common/lib/settings/settings.types.d.ts +2 -3
  29. package/common/lib/store/common.actions.d.ts +1 -2
  30. package/common/lib/store/common.effects.d.ts +5 -3
  31. package/common/lib/workflows/common.workflow.d.ts +2 -0
  32. package/core/utils/data-conditioner.d.ts +2 -5
  33. package/esm2022/common/lib/app/app-startup.service.mjs +40 -0
  34. package/esm2022/common/lib/app/application.types.mjs +1 -1
  35. package/esm2022/common/lib/app/index.mjs +2 -1
  36. package/esm2022/common/lib/common.module.mjs +56 -19
  37. package/esm2022/common/lib/configs/app.config.mjs +2 -1
  38. package/esm2022/common/lib/data/data-provider.types.mjs +1 -1
  39. package/esm2022/common/lib/data/data.types.mjs +2 -0
  40. package/esm2022/common/lib/data/dexie-storage.service.mjs +98 -4
  41. package/esm2022/common/lib/data/entity-data-seeder.mjs +25 -0
  42. package/esm2022/common/lib/data/entity-storage-service.mjs +63 -0
  43. package/esm2022/common/lib/data/index.mjs +4 -3
  44. package/esm2022/common/lib/layout/menu/index.mjs +3 -1
  45. package/esm2022/common/lib/layout/menu/menu.provider.mjs +60 -0
  46. package/esm2022/common/lib/layout/menu/menu.service.mjs +73 -0
  47. package/esm2022/common/lib/layout/menu/menu.types.mjs +1 -1
  48. package/esm2022/common/lib/layout/theme/components/slots/index.mjs +1 -2
  49. package/esm2022/common/lib/layout/theme/store/admin-layout.actions.mjs +1 -2
  50. package/esm2022/common/lib/layout/theme/store/admin-layout.effects.mjs +6 -14
  51. package/esm2022/common/lib/layout/theme/store/admin-layout.reducers.mjs +24 -21
  52. package/esm2022/common/lib/layout/theme/store/admin-layout.selectors.mjs +1 -2
  53. package/esm2022/common/lib/layout/theme/store/admin-layout.state.mjs +1 -4
  54. package/esm2022/common/lib/schema/widgets/avatar/avatar-widget-edit.component.mjs +8 -2
  55. package/esm2022/common/lib/schema/widgets/common-widget-filter/boolean-widget-filter.component.mjs +15 -9
  56. package/esm2022/common/lib/schema/widgets/common-widget-filter/number-widget-filter.component.mjs +2 -2
  57. package/esm2022/common/lib/schema/widgets/common-widget-filter/string-widget-filter.component.mjs +2 -2
  58. package/esm2022/common/lib/schema/widgets/dateTime/dateTime-widget-filter.component.mjs +64 -15
  59. package/esm2022/common/lib/schema/widgets/gallery/gallery-widget-edit.component.mjs +3 -3
  60. package/esm2022/common/lib/schema/widgets/gallery/gallery-widget-view.component.mjs +3 -3
  61. package/esm2022/common/lib/schema/widgets/lookup/lookup-widget-edit.component.mjs +2 -2
  62. package/esm2022/common/lib/schema/widgets/lookup/lookup-widget-filter.component.mjs +44 -16
  63. package/esm2022/common/lib/schema/widgets/number/number-widget-edit.component.mjs +2 -2
  64. package/esm2022/common/lib/schema/widgets/selection-list/selection-list-widget-filter.component.mjs +10 -6
  65. package/esm2022/common/lib/settings/index.mjs +2 -2
  66. package/esm2022/common/lib/settings/settings.provider.mjs +35 -0
  67. package/esm2022/common/lib/settings/settings.service.mjs +40 -7
  68. package/esm2022/common/lib/settings/settings.types.mjs +1 -1
  69. package/esm2022/common/lib/store/common.actions.mjs +2 -3
  70. package/esm2022/common/lib/store/common.effects.mjs +13 -10
  71. package/esm2022/common/lib/workflows/common.workflow.mjs +7 -4
  72. package/esm2022/core/utils/data-conditioner.mjs +3 -3
  73. package/esm2022/layout/builder/lib/builder/builder.service.mjs +11 -6
  74. package/esm2022/layout/builder/lib/builder/widget-catalog.mjs +2 -1
  75. package/esm2022/layout/builder/lib/builder/widget-container.component.mjs +12 -8
  76. package/esm2022/layout/builder/lib/builder/widget-renderer.component.directive.mjs +34 -11
  77. package/esm2022/layout/builder/lib/builder/widget.types.mjs +21 -19
  78. package/esm2022/layout/designer/index.mjs +3 -1
  79. package/esm2022/layout/designer/lib/designer/components/add-widget-button/add-widget-line-button.component.mjs +49 -0
  80. package/esm2022/layout/designer/lib/designer/components/add-widget-button/add-widget-mini-button.component.mjs +53 -0
  81. package/esm2022/layout/designer/lib/designer/components/add-widget-button/index.mjs +4 -0
  82. package/esm2022/layout/designer/lib/designer/components/board/board.component.mjs +11 -3
  83. package/esm2022/layout/designer/lib/designer/components/drawers/data-sources/data-sources.component.mjs +1 -1
  84. package/esm2022/layout/designer/lib/designer/components/header-menu/header-menu.component.mjs +66 -5
  85. package/esm2022/layout/designer/lib/designer/components/size-mode/view-size-toolbar.component.mjs +54 -0
  86. package/esm2022/layout/designer/lib/designer/components/widget-picker/widget-picker.component.mjs +40 -16
  87. package/esm2022/layout/designer/lib/designer/designer.component.mjs +18 -57
  88. package/esm2022/layout/designer/lib/designer/index.mjs +3 -3
  89. package/esm2022/layout/designer/lib/designer/shared/designer-connector.service.mjs +1 -1
  90. package/esm2022/layout/designer/lib/designer/shared/designer.service.mjs +28 -8
  91. package/esm2022/layout/designer/lib/designer/shared/designer.types.mjs +6 -0
  92. package/esm2022/layout/designer/lib/designer/shared/widget-designer-renderer.directive.mjs +2 -3
  93. package/esm2022/layout/designer/lib/preview/preview-frame.component.mjs +75 -0
  94. package/esm2022/layout/designer/lib/preview/preview-viewer.component.mjs +58 -0
  95. package/esm2022/layout/designer/lib/preview/preview.component.mjs +67 -9
  96. package/esm2022/layout/designer/lib/property-viewer/widget-property-viewer.component.mjs +3 -3
  97. package/esm2022/layout/entity/lib/entity-detail-list.viewmodel.mjs +48 -36
  98. package/esm2022/layout/entity/lib/entity-master-list.viewmodel.mjs +5 -6
  99. package/esm2022/layout/entity/lib/entity-master-single.viewmodel.mjs +1 -2
  100. package/esm2022/layout/entity/lib/entity-registery.service.mjs +5 -5
  101. package/esm2022/layout/entity/lib/entity.config.mjs +28 -2
  102. package/esm2022/layout/entity/lib/widgets/lookup-widget/lookup-widget-edit.component.mjs +5 -5
  103. package/esm2022/layout/entity/lib/widgets/lookup-widget/lookup-widget-selector.component.mjs +45 -9
  104. package/esm2022/layout/entity/lib/widgets/lookup-widget/lookup-widget-selector.viewmodel.mjs +2 -2
  105. package/esm2022/layout/entity/lib/widgets/lookup-widget/lookup-widget-view.component.mjs +4 -4
  106. package/esm2022/layout/entity/lib/widgets/widget-selector/widget-selector-widget.config.mjs +2 -1
  107. package/esm2022/layout/entity/lib/workflows/create-entity.workflow.mjs +3 -3
  108. package/esm2022/layout/entity/lib/workflows/delete-entity.workflow.mjs +18 -9
  109. package/esm2022/layout/entity/lib/workflows/modify-section.workflow.mjs +7 -5
  110. package/esm2022/layouts/lib/admin/entity-layout/entity-details-view/entity-details-view.component.mjs +3 -3
  111. package/esm2022/layouts/lib/admin/entity-layout/entity-list-view/components/entity-custom-view/entity-custom-view.component.mjs +1 -1
  112. package/esm2022/layouts/lib/admin/entity-layout/entity-list-view/components/list-view-option-conditions/list-view-option-conditions.component.mjs +1 -1
  113. package/esm2022/layouts/lib/admin/entity-layout/entity-list-view/entity-list-view.component.mjs +3 -3
  114. package/esm2022/layouts/lib/admin/entity-layout/entity-list-view/list-view.config.mjs +9 -5
  115. package/esm2022/layouts/lib/admin/entity-layout/workflows/delete-entity.workflow.mjs +2 -2
  116. package/esm2022/layouts/lib/admin/entity-layout/workflows/modify-entity.workflow.mjs +5 -3
  117. package/esm2022/themes/default/lib/default.module.mjs +7 -3
  118. package/esm2022/themes/default/lib/layouts/entity-layouts/entity-detail-list-view/entity-detail-list-view.component.mjs +10 -7
  119. package/esm2022/themes/default/lib/layouts/entity-layouts/entity-master-list-view/entity-master-list-view.component.mjs +27 -10
  120. package/esm2022/themes/default/lib/layouts/entity-layouts/entity-master-modify-view/entity-master-modify-view.component.mjs +3 -3
  121. package/esm2022/themes/default/lib/layouts/entity-layouts/entity-master-single-view/entity-master-single-view.component.mjs +11 -8
  122. package/esm2022/themes/default/lib/layouts/entity-layouts/entity-master-single-view/overview/entity-single-overview.component.mjs +1 -1
  123. package/esm2022/themes/default/lib/layouts/root-layout/components/header/header.component.mjs +3 -3
  124. package/esm2022/themes/default/lib/layouts/root-layout/components/menu/root-menu.component.mjs +39 -0
  125. package/esm2022/themes/default/lib/layouts/root-layout/index.mjs +2 -1
  126. package/esm2022/themes/default/lib/layouts/root-layout/root-layout.component.mjs +13 -26
  127. package/esm2022/themes/default/lib/layouts/root-layout/root-layout.module.mjs +5 -2
  128. package/esm2022/themes/shared/index.mjs +3 -1
  129. package/esm2022/themes/shared/lib/comments/comment-list-view.component.mjs +28 -20
  130. package/esm2022/themes/shared/lib/comments/comments.service.mjs +3 -2
  131. package/esm2022/themes/shared/lib/comments/comments.type.mjs +1 -1
  132. package/esm2022/themes/shared/lib/components/theme-slot.component.mjs +114 -0
  133. package/esm2022/themes/shared/lib/services/theme.service.mjs +86 -0
  134. package/esm2022/themes/shared/lib/shared.module.mjs +9 -7
  135. package/esm2022/widgets/lib/widgets/actions/button/button-widget-designer.component.mjs +2 -2
  136. package/esm2022/widgets/lib/widgets/actions/button/button-widget-view.component.mjs +1 -2
  137. package/esm2022/widgets/lib/widgets/actions/button/button-widget.config.mjs +3 -2
  138. package/esm2022/widgets/lib/widgets/advance/gallery/gallery-widget-edit.component.mjs +3 -3
  139. package/esm2022/widgets/lib/widgets/advance/gallery/gallery-widget-view.component.mjs +3 -3
  140. package/esm2022/widgets/lib/widgets/advance/qrcode/qrcode-widget-view.component.mjs +4 -4
  141. package/esm2022/widgets/lib/widgets/editors/checkbox/checkbox-widget-edit.component.mjs +1 -1
  142. package/esm2022/widgets/lib/widgets/editors/checkbox/checkbox-widget-view.component.mjs +35 -23
  143. package/esm2022/widgets/lib/widgets/editors/color/color-box-widget-column.component.mjs +26 -5
  144. package/esm2022/widgets/lib/widgets/editors/color/color-box-widget-designer.component.mjs +3 -2
  145. package/esm2022/widgets/lib/widgets/editors/color/color-box-widget-edit.component.mjs +3 -2
  146. package/esm2022/widgets/lib/widgets/editors/color/color-box-widget-print.component.mjs +3 -3
  147. package/esm2022/widgets/lib/widgets/editors/color/color-box-widget-view.component.mjs +4 -3
  148. package/esm2022/widgets/lib/widgets/editors/contact/contact-widget-column.component.mjs +18 -4
  149. package/esm2022/widgets/lib/widgets/editors/contact/contact-widget-edit.component.mjs +20 -23
  150. package/esm2022/widgets/lib/widgets/editors/contact/contact-widget.config.mjs +6 -29
  151. package/esm2022/widgets/lib/widgets/editors/date-time/date-time-box-widget-column.component.mjs +18 -8
  152. package/esm2022/widgets/lib/widgets/editors/date-time/date-time-box-widget-print.component.mjs +3 -3
  153. package/esm2022/widgets/lib/widgets/editors/large-text/large-text-widget-edit.component.mjs +1 -1
  154. package/esm2022/widgets/lib/widgets/editors/large-text/large-text-widget-view.component.mjs +1 -1
  155. package/esm2022/widgets/lib/widgets/editors/number/number-box-widget-edit.component.mjs +5 -4
  156. package/esm2022/widgets/lib/widgets/editors/number/number-box-widget-view.component.mjs +5 -5
  157. package/esm2022/widgets/lib/widgets/editors/rich-text/rich-text-widget-edit.component.mjs +16 -11
  158. package/esm2022/widgets/lib/widgets/editors/select/select-box-widget-view.component.mjs +15 -19
  159. package/esm2022/widgets/lib/widgets/editors/select/select-box-widget.config.mjs +3 -2
  160. package/esm2022/widgets/lib/widgets/editors/toggle/toggle-widget-edit.component.mjs +3 -3
  161. package/esm2022/widgets/lib/widgets/editors/toggle/toggle-widget-print.component.mjs +3 -2
  162. package/esm2022/widgets/lib/widgets/editors/toggle/toggle-widget-view.component.mjs +68 -28
  163. package/esm2022/widgets/lib/widgets/index.mjs +2 -1
  164. package/esm2022/widgets/lib/widgets/layout/block/block-widget-designer.component.mjs +7 -8
  165. package/esm2022/widgets/lib/widgets/layout/block/block-widget-view.component.mjs +36 -15
  166. package/esm2022/widgets/lib/widgets/layout/block/block-widget.config.mjs +3 -2
  167. package/esm2022/widgets/lib/widgets/layout/form-field/form-field-widget-designer.component.mjs +11 -10
  168. package/esm2022/widgets/lib/widgets/layout/form-field/form-field-widget-view.component.mjs +3 -3
  169. package/esm2022/widgets/lib/widgets/layout/form-field/form-field-widget.config.mjs +6 -2
  170. package/esm2022/widgets/lib/widgets/layout/grid/grid-widget-designer.component.mjs +7 -7
  171. package/esm2022/widgets/lib/widgets/layout/grid/grid-widget-view.component.mjs +5 -4
  172. package/esm2022/widgets/lib/widgets/layout/grid-item/grid-item-widget-designer.component.mjs +8 -19
  173. package/esm2022/widgets/lib/widgets/layout/grid-item/grid-item-widget-view.component.mjs +5 -4
  174. package/esm2022/widgets/lib/widgets/layout/grid-row/grid-row-widget-designer.component.mjs +2 -1
  175. package/esm2022/widgets/lib/widgets/layout/grid-row/grid-row-widget-view.component.mjs +5 -4
  176. package/esm2022/widgets/lib/widgets/layout/page/page-widget-designer.component.mjs +95 -9
  177. package/esm2022/widgets/lib/widgets/layout/page/page-widget-view.component.mjs +3 -3
  178. package/esm2022/widgets/lib/widgets/layout/page/page-widget.config.mjs +18 -3
  179. package/esm2022/widgets/lib/widgets/layout/repeater/repeater-widget-designer.component.mjs +10 -10
  180. package/esm2022/widgets/lib/widgets/layout/repeater/repeater-widget-edit.component.mjs +56 -17
  181. package/esm2022/widgets/lib/widgets/layout/template/index.mjs +5 -0
  182. package/esm2022/widgets/lib/widgets/layout/template/template-widget-designer.component.mjs +70 -0
  183. package/esm2022/widgets/lib/widgets/layout/template/template-widget-edit.component.mjs +55 -0
  184. package/esm2022/widgets/lib/widgets/layout/template/template-widget-view.component.mjs +56 -0
  185. package/esm2022/widgets/lib/widgets/layout/template/template-widget.config.mjs +30 -0
  186. package/esm2022/widgets/lib/widgets/layout/template/template.provider.mjs +41 -0
  187. package/esm2022/widgets/lib/widgets/layout/text-block/text-block-widget.config.mjs +3 -2
  188. package/esm2022/widgets/lib/widgets.module.mjs +4 -1
  189. package/fesm2022/acorex-platform-auth.mjs.map +1 -1
  190. package/fesm2022/{acorex-platform-common-avatar-widget-edit.component-CfqY7kKi.mjs → acorex-platform-common-avatar-widget-edit.component-WAlG5E_9.mjs} +17 -8
  191. package/fesm2022/acorex-platform-common-avatar-widget-edit.component-WAlG5E_9.mjs.map +1 -0
  192. package/fesm2022/{acorex-platform-common-avatar-widget-view.component-DXC7INdQ.mjs → acorex-platform-common-avatar-widget-view.component-DRyB3UWf.mjs} +8 -6
  193. package/fesm2022/acorex-platform-common-avatar-widget-view.component-DRyB3UWf.mjs.map +1 -0
  194. package/fesm2022/{acorex-platform-common-boolean-widget-filter.component-DLGnsXy4.mjs → acorex-platform-common-boolean-widget-filter.component-DY4oTjC-.mjs} +19 -12
  195. package/fesm2022/acorex-platform-common-boolean-widget-filter.component-DY4oTjC-.mjs.map +1 -0
  196. package/fesm2022/{acorex-platform-common-change-password.component-BBPFxmB6.mjs → acorex-platform-common-change-password.component-Djd4SeNv.mjs} +6 -6
  197. package/fesm2022/{acorex-platform-common-change-password.component-BBPFxmB6.mjs.map → acorex-platform-common-change-password.component-Djd4SeNv.mjs.map} +1 -1
  198. package/fesm2022/{acorex-platform-common-checkbox-widget-column.component-Ch2bdAjo.mjs → acorex-platform-common-checkbox-widget-column.component-NSXcrUwU.mjs} +10 -8
  199. package/fesm2022/{acorex-platform-common-checkbox-widget-column.component-Ch2bdAjo.mjs.map → acorex-platform-common-checkbox-widget-column.component-NSXcrUwU.mjs.map} +1 -1
  200. package/fesm2022/{acorex-platform-common-checkbox-widget-edit.component-DOGMfGby.mjs → acorex-platform-common-checkbox-widget-edit.component-BU7qV5Cm.mjs} +8 -6
  201. package/fesm2022/acorex-platform-common-checkbox-widget-edit.component-BU7qV5Cm.mjs.map +1 -0
  202. package/fesm2022/{acorex-platform-common-checkbox-widget-view.component-BhGOtblX.mjs → acorex-platform-common-checkbox-widget-view.component-2Du2IzDS.mjs} +10 -8
  203. package/fesm2022/{acorex-platform-common-checkbox-widget-view.component-BhGOtblX.mjs.map → acorex-platform-common-checkbox-widget-view.component-2Du2IzDS.mjs.map} +1 -1
  204. package/fesm2022/{acorex-platform-common-dateTime-widget-column.component-BkUDt0Kj.mjs → acorex-platform-common-dateTime-widget-column.component-Dd7fgwu3.mjs} +8 -6
  205. package/fesm2022/acorex-platform-common-dateTime-widget-column.component-Dd7fgwu3.mjs.map +1 -0
  206. package/fesm2022/{acorex-platform-common-dateTime-widget-edit.component-DEqsapFH.mjs → acorex-platform-common-dateTime-widget-edit.component-B4AelVJp.mjs} +11 -8
  207. package/fesm2022/{acorex-platform-common-dateTime-widget-edit.component-DEqsapFH.mjs.map → acorex-platform-common-dateTime-widget-edit.component-B4AelVJp.mjs.map} +1 -1
  208. package/fesm2022/{acorex-platform-common-dateTime-widget-filter.component-CqddjYjP.mjs → acorex-platform-common-dateTime-widget-filter.component-Ytm-TwOP.mjs} +68 -18
  209. package/fesm2022/acorex-platform-common-dateTime-widget-filter.component-Ytm-TwOP.mjs.map +1 -0
  210. package/fesm2022/{acorex-platform-common-dateTime-widget-view.component-BKUPKE9M.mjs → acorex-platform-common-dateTime-widget-view.component-BKdqOPkb.mjs} +8 -6
  211. package/fesm2022/{acorex-platform-common-dateTime-widget-view.component-BKUPKE9M.mjs.map → acorex-platform-common-dateTime-widget-view.component-BKdqOPkb.mjs.map} +1 -1
  212. package/fesm2022/{acorex-platform-common-email-widget-column.component-BOer2nZi.mjs → acorex-platform-common-email-widget-column.component-CDKqwlPD.mjs} +8 -6
  213. package/fesm2022/acorex-platform-common-email-widget-column.component-CDKqwlPD.mjs.map +1 -0
  214. package/fesm2022/{acorex-platform-common-email-widget-edit.component-BoKsGiEI.mjs → acorex-platform-common-email-widget-edit.component-BT2rJjaW.mjs} +11 -8
  215. package/fesm2022/acorex-platform-common-email-widget-edit.component-BT2rJjaW.mjs.map +1 -0
  216. package/fesm2022/{acorex-platform-common-email-widget-view.component-BZtK5dMd.mjs → acorex-platform-common-email-widget-view.component-DbhRWpB1.mjs} +8 -6
  217. package/fesm2022/{acorex-platform-common-email-widget-view.component-BZtK5dMd.mjs.map → acorex-platform-common-email-widget-view.component-DbhRWpB1.mjs.map} +1 -1
  218. package/fesm2022/{acorex-platform-common-file-widget-column.component-DpcUmwAT.mjs → acorex-platform-common-file-widget-column.component-8U76QgEQ.mjs} +7 -5
  219. package/fesm2022/acorex-platform-common-file-widget-column.component-8U76QgEQ.mjs.map +1 -0
  220. package/fesm2022/{acorex-platform-common-file-widget-edit.component-CNLXguLn.mjs → acorex-platform-common-file-widget-edit.component-OFmiYz_5.mjs} +10 -7
  221. package/fesm2022/{acorex-platform-common-file-widget-edit.component-CNLXguLn.mjs.map → acorex-platform-common-file-widget-edit.component-OFmiYz_5.mjs.map} +1 -1
  222. package/fesm2022/{acorex-platform-common-file-widget-filter.component-Dwt-LYWG.mjs → acorex-platform-common-file-widget-filter.component-ZLnpXMXK.mjs} +8 -6
  223. package/fesm2022/acorex-platform-common-file-widget-filter.component-ZLnpXMXK.mjs.map +1 -0
  224. package/fesm2022/{acorex-platform-common-file-widget-view.component-CjDhjHQR.mjs → acorex-platform-common-file-widget-view.component-BcrM4XrO.mjs} +10 -7
  225. package/fesm2022/{acorex-platform-common-file-widget-view.component-CjDhjHQR.mjs.map → acorex-platform-common-file-widget-view.component-BcrM4XrO.mjs.map} +1 -1
  226. package/fesm2022/{acorex-platform-common-gallery-widget-edit.component-CzKFKaPH.mjs → acorex-platform-common-gallery-widget-edit.component-pBBjrjDP.mjs} +14 -11
  227. package/fesm2022/{acorex-platform-common-gallery-widget-edit.component-CzKFKaPH.mjs.map → acorex-platform-common-gallery-widget-edit.component-pBBjrjDP.mjs.map} +1 -1
  228. package/fesm2022/{acorex-platform-common-gallery-widget-filter.component-B-KxKtY4.mjs → acorex-platform-common-gallery-widget-filter.component-Cp7t9ovC.mjs} +8 -6
  229. package/fesm2022/acorex-platform-common-gallery-widget-filter.component-Cp7t9ovC.mjs.map +1 -0
  230. package/fesm2022/{acorex-platform-common-gallery-widget-view.component-ca-JB8qW.mjs → acorex-platform-common-gallery-widget-view.component-CPS-h3cq.mjs} +13 -10
  231. package/fesm2022/{acorex-platform-common-gallery-widget-view.component-ca-JB8qW.mjs.map → acorex-platform-common-gallery-widget-view.component-CPS-h3cq.mjs.map} +1 -1
  232. package/fesm2022/{acorex-platform-common-largetext-widget-edit.component-DD7S5j12.mjs → acorex-platform-common-largetext-widget-edit.component-DA6r3rVA.mjs} +8 -6
  233. package/fesm2022/acorex-platform-common-largetext-widget-edit.component-DA6r3rVA.mjs.map +1 -0
  234. package/fesm2022/{acorex-platform-common-lookup-widget-column.component-BEZNLQZi.mjs → acorex-platform-common-lookup-widget-column.component-Cxv1yZvE.mjs} +8 -6
  235. package/fesm2022/acorex-platform-common-lookup-widget-column.component-Cxv1yZvE.mjs.map +1 -0
  236. package/fesm2022/{acorex-platform-common-lookup-widget-edit.component-D50jPeKP.mjs → acorex-platform-common-lookup-widget-edit.component-CUtGoAGX.mjs} +9 -7
  237. package/fesm2022/acorex-platform-common-lookup-widget-edit.component-CUtGoAGX.mjs.map +1 -0
  238. package/fesm2022/{acorex-platform-common-lookup-widget-filter.component-CZHDDnR3.mjs → acorex-platform-common-lookup-widget-filter.component-DJZqB3vj.mjs} +47 -17
  239. package/fesm2022/acorex-platform-common-lookup-widget-filter.component-DJZqB3vj.mjs.map +1 -0
  240. package/fesm2022/{acorex-platform-common-lookup-widget-view.component-CQCvJxgi.mjs → acorex-platform-common-lookup-widget-view.component-CghJK1C4.mjs} +8 -6
  241. package/fesm2022/acorex-platform-common-lookup-widget-view.component-CghJK1C4.mjs.map +1 -0
  242. package/fesm2022/{acorex-platform-common-map-widget-edit.component-OanYRQ3B.mjs → acorex-platform-common-map-widget-edit.component-oSb3kVMc.mjs} +8 -6
  243. package/fesm2022/acorex-platform-common-map-widget-edit.component-oSb3kVMc.mjs.map +1 -0
  244. package/fesm2022/{acorex-platform-common-map-widget-view.component-BWdndMYJ.mjs → acorex-platform-common-map-widget-view.component-BrYwr914.mjs} +8 -6
  245. package/fesm2022/{acorex-platform-common-map-widget-view.component-BWdndMYJ.mjs.map → acorex-platform-common-map-widget-view.component-BrYwr914.mjs.map} +1 -1
  246. package/fesm2022/{acorex-platform-common-messenger-widget-column.component-BHP6R3OI.mjs → acorex-platform-common-messenger-widget-column.component-DIJAffxy.mjs} +8 -6
  247. package/fesm2022/acorex-platform-common-messenger-widget-column.component-DIJAffxy.mjs.map +1 -0
  248. package/fesm2022/{acorex-platform-common-messenger-widget-edit.component-B7ycb6tX.mjs → acorex-platform-common-messenger-widget-edit.component-DpGvbM4a.mjs} +10 -7
  249. package/fesm2022/{acorex-platform-common-messenger-widget-edit.component-B7ycb6tX.mjs.map → acorex-platform-common-messenger-widget-edit.component-DpGvbM4a.mjs.map} +1 -1
  250. package/fesm2022/{acorex-platform-common-messenger-widget-view.component-Dz5X-FS5.mjs → acorex-platform-common-messenger-widget-view.component-CeuDEI-j.mjs} +8 -6
  251. package/fesm2022/{acorex-platform-common-messenger-widget-view.component-Dz5X-FS5.mjs.map → acorex-platform-common-messenger-widget-view.component-CeuDEI-j.mjs.map} +1 -1
  252. package/fesm2022/{acorex-platform-common-number-widget-edit.component-XSWI6466.mjs → acorex-platform-common-number-widget-edit.component-B1YGwr60.mjs} +11 -9
  253. package/fesm2022/acorex-platform-common-number-widget-edit.component-B1YGwr60.mjs.map +1 -0
  254. package/fesm2022/{acorex-platform-common-number-widget-filter.component-BOT9wPJ5.mjs → acorex-platform-common-number-widget-filter.component-BmmgPy1w.mjs} +12 -9
  255. package/fesm2022/acorex-platform-common-number-widget-filter.component-BmmgPy1w.mjs.map +1 -0
  256. package/fesm2022/{acorex-platform-common-number-widget-view.component-CP5aboLU.mjs → acorex-platform-common-number-widget-view.component-bqylVHOz.mjs} +8 -6
  257. package/fesm2022/acorex-platform-common-number-widget-view.component-bqylVHOz.mjs.map +1 -0
  258. package/fesm2022/{acorex-platform-common-password-widget-column.component-CGxTbd_S.mjs → acorex-platform-common-password-widget-column.component-DVdZh7s4.mjs} +8 -6
  259. package/fesm2022/{acorex-platform-common-password-widget-column.component-CGxTbd_S.mjs.map → acorex-platform-common-password-widget-column.component-DVdZh7s4.mjs.map} +1 -1
  260. package/fesm2022/{acorex-platform-common-password-widget-edit.component-CHQ_Kp4t.mjs → acorex-platform-common-password-widget-edit.component-OjHwMT5d.mjs} +12 -10
  261. package/fesm2022/acorex-platform-common-password-widget-edit.component-OjHwMT5d.mjs.map +1 -0
  262. package/fesm2022/{acorex-platform-common-password-widget-view.component-BQ9jlt6g.mjs → acorex-platform-common-password-widget-view.component-BeSk1OgU.mjs} +9 -6
  263. package/fesm2022/{acorex-platform-common-password-widget-view.component-BQ9jlt6g.mjs.map → acorex-platform-common-password-widget-view.component-BeSk1OgU.mjs.map} +1 -1
  264. package/fesm2022/{acorex-platform-common-phone-widget-column.component-RJp6wHul.mjs → acorex-platform-common-phone-widget-column.component-DOfzGKBi.mjs} +8 -6
  265. package/fesm2022/acorex-platform-common-phone-widget-column.component-DOfzGKBi.mjs.map +1 -0
  266. package/fesm2022/{acorex-platform-common-phone-widget-edit.component-BB5wTbjd.mjs → acorex-platform-common-phone-widget-edit.component-BJ-iEyLP.mjs} +10 -8
  267. package/fesm2022/{acorex-platform-common-phone-widget-edit.component-BB5wTbjd.mjs.map → acorex-platform-common-phone-widget-edit.component-BJ-iEyLP.mjs.map} +1 -1
  268. package/fesm2022/{acorex-platform-common-phone-widget-view.component-SIzFWfjV.mjs → acorex-platform-common-phone-widget-view.component-DW4AHCE6.mjs} +8 -6
  269. package/fesm2022/{acorex-platform-common-phone-widget-view.component-SIzFWfjV.mjs.map → acorex-platform-common-phone-widget-view.component-DW4AHCE6.mjs.map} +1 -1
  270. package/fesm2022/{acorex-platform-common-rich-text-widget-column.component-Ced0WqvI.mjs → acorex-platform-common-rich-text-widget-column.component-2zZBG6Ze.mjs} +8 -6
  271. package/fesm2022/{acorex-platform-common-rich-text-widget-column.component-Ced0WqvI.mjs.map → acorex-platform-common-rich-text-widget-column.component-2zZBG6Ze.mjs.map} +1 -1
  272. package/fesm2022/{acorex-platform-common-rich-text-widget-edit.component-Do3YcmKg.mjs → acorex-platform-common-rich-text-widget-edit.component-BJveJgHZ.mjs} +8 -5
  273. package/fesm2022/acorex-platform-common-rich-text-widget-edit.component-BJveJgHZ.mjs.map +1 -0
  274. package/fesm2022/{acorex-platform-common-rich-text-widget-view.component-BIRyPRtw.mjs → acorex-platform-common-rich-text-widget-view.component-CiViWpBX.mjs} +8 -6
  275. package/fesm2022/acorex-platform-common-rich-text-widget-view.component-CiViWpBX.mjs.map +1 -0
  276. package/fesm2022/{acorex-platform-common-selection-list-widget-column.component-DxeK2RPc.mjs → acorex-platform-common-selection-list-widget-column.component-D9lsVFgo.mjs} +8 -6
  277. package/fesm2022/acorex-platform-common-selection-list-widget-column.component-D9lsVFgo.mjs.map +1 -0
  278. package/fesm2022/{acorex-platform-common-selection-list-widget-edit.component-CBLEeILz.mjs → acorex-platform-common-selection-list-widget-edit.component-ocEwyUP7.mjs} +10 -8
  279. package/fesm2022/acorex-platform-common-selection-list-widget-edit.component-ocEwyUP7.mjs.map +1 -0
  280. package/fesm2022/{acorex-platform-common-selection-list-widget-filter.component-B01t7mso.mjs → acorex-platform-common-selection-list-widget-filter.component-CS0f_jCx.mjs} +16 -12
  281. package/fesm2022/acorex-platform-common-selection-list-widget-filter.component-CS0f_jCx.mjs.map +1 -0
  282. package/fesm2022/{acorex-platform-common-selection-list-widget-view.component-QJMp11dd.mjs → acorex-platform-common-selection-list-widget-view.component-C65lbpo_.mjs} +8 -6
  283. package/fesm2022/acorex-platform-common-selection-list-widget-view.component-C65lbpo_.mjs.map +1 -0
  284. package/fesm2022/{acorex-platform-common-signature-pad-widget-edit.component-BQiY7RIp.mjs → acorex-platform-common-signature-pad-widget-edit.component-DbfQSGxm.mjs} +10 -7
  285. package/fesm2022/{acorex-platform-common-signature-pad-widget-edit.component-BQiY7RIp.mjs.map → acorex-platform-common-signature-pad-widget-edit.component-DbfQSGxm.mjs.map} +1 -1
  286. package/fesm2022/{acorex-platform-common-signature-pad-widget-view.component-CEhRqgEn.mjs → acorex-platform-common-signature-pad-widget-view.component-CDY3JdP-.mjs} +8 -6
  287. package/fesm2022/acorex-platform-common-signature-pad-widget-view.component-CDY3JdP-.mjs.map +1 -0
  288. package/fesm2022/{acorex-platform-common-string-widget-filter.component--L4PeRCB.mjs → acorex-platform-common-string-widget-filter.component-BW2ehdOx.mjs} +12 -9
  289. package/fesm2022/acorex-platform-common-string-widget-filter.component-BW2ehdOx.mjs.map +1 -0
  290. package/fesm2022/{acorex-platform-common-text-widget-column.component-ytX4OqZX.mjs → acorex-platform-common-text-widget-column.component-bhx0QWAX.mjs} +8 -6
  291. package/fesm2022/acorex-platform-common-text-widget-column.component-bhx0QWAX.mjs.map +1 -0
  292. package/fesm2022/{acorex-platform-common-text-widget-edit.component-CN7OyTfJ.mjs → acorex-platform-common-text-widget-edit.component-Cb1k59hs.mjs} +10 -7
  293. package/fesm2022/acorex-platform-common-text-widget-edit.component-Cb1k59hs.mjs.map +1 -0
  294. package/fesm2022/{acorex-platform-common-text-widget-view.component-B-R4-5Ra.mjs → acorex-platform-common-text-widget-view.component-CGwY9c2O.mjs} +8 -6
  295. package/fesm2022/{acorex-platform-common-text-widget-view.component-B-R4-5Ra.mjs.map → acorex-platform-common-text-widget-view.component-CGwY9c2O.mjs.map} +1 -1
  296. package/fesm2022/{acorex-platform-common-toggle-widget-column.component-B5NFRPgX.mjs → acorex-platform-common-toggle-widget-column.component-BxAwa7jw.mjs} +10 -8
  297. package/fesm2022/{acorex-platform-common-toggle-widget-column.component-B5NFRPgX.mjs.map → acorex-platform-common-toggle-widget-column.component-BxAwa7jw.mjs.map} +1 -1
  298. package/fesm2022/{acorex-platform-common-toggle-widget-edit.component-CLWHwf8V.mjs → acorex-platform-common-toggle-widget-edit.component-CT2fRAKm.mjs} +8 -5
  299. package/fesm2022/acorex-platform-common-toggle-widget-edit.component-CT2fRAKm.mjs.map +1 -0
  300. package/fesm2022/{acorex-platform-common-toggle-widget-view.component-Di2S7vub.mjs → acorex-platform-common-toggle-widget-view.component-9tquFHhE.mjs} +10 -8
  301. package/fesm2022/{acorex-platform-common-toggle-widget-view.component-Di2S7vub.mjs.map → acorex-platform-common-toggle-widget-view.component-9tquFHhE.mjs.map} +1 -1
  302. package/fesm2022/acorex-platform-common.mjs +652 -302
  303. package/fesm2022/acorex-platform-common.mjs.map +1 -1
  304. package/fesm2022/acorex-platform-core.mjs +2 -2
  305. package/fesm2022/acorex-platform-core.mjs.map +1 -1
  306. package/fesm2022/acorex-platform-layout-builder.mjs +71 -36
  307. package/fesm2022/acorex-platform-layout-builder.mjs.map +1 -1
  308. package/fesm2022/acorex-platform-layout-designer.mjs +476 -72
  309. package/fesm2022/acorex-platform-layout-designer.mjs.map +1 -1
  310. package/fesm2022/acorex-platform-layout-entity.mjs +149 -68
  311. package/fesm2022/acorex-platform-layout-entity.mjs.map +1 -1
  312. package/fesm2022/acorex-platform-layouts-entity-create-view.component-CPGbLM4C.mjs.map +1 -1
  313. package/fesm2022/acorex-platform-layouts-entity-import-view.component-CZpEcVi9.mjs.map +1 -1
  314. package/fesm2022/acorex-platform-layouts-entity-modify-view.component-Bt4MLEou.mjs.map +1 -1
  315. package/fesm2022/acorex-platform-layouts.mjs +16 -11
  316. package/fesm2022/acorex-platform-layouts.mjs.map +1 -1
  317. package/fesm2022/acorex-platform-mocks.mjs.map +1 -1
  318. package/fesm2022/acorex-platform-native.mjs.map +1 -1
  319. package/fesm2022/{acorex-platform-themes-default-entity-master-create-view.component-Q8eTfAVx.mjs → acorex-platform-themes-default-entity-master-create-view.component-i6vjEhti.mjs} +3 -3
  320. package/fesm2022/{acorex-platform-themes-default-entity-master-create-view.component-Q8eTfAVx.mjs.map → acorex-platform-themes-default-entity-master-create-view.component-i6vjEhti.mjs.map} +1 -1
  321. package/fesm2022/{acorex-platform-themes-default-entity-master-list-view.component-fZ6QEYcd.mjs → acorex-platform-themes-default-entity-master-list-view.component-BGKWaCth.mjs} +37 -20
  322. package/fesm2022/acorex-platform-themes-default-entity-master-list-view.component-BGKWaCth.mjs.map +1 -0
  323. package/fesm2022/{acorex-platform-themes-default-entity-master-modify-view.component-BijYXMme.mjs → acorex-platform-themes-default-entity-master-modify-view.component-B3phYOIw.mjs} +5 -5
  324. package/fesm2022/acorex-platform-themes-default-entity-master-modify-view.component-B3phYOIw.mjs.map +1 -0
  325. package/fesm2022/{acorex-platform-themes-default-entity-master-single-view.component-Bnrabotu.mjs → acorex-platform-themes-default-entity-master-single-view.component-DyZHE0o-.mjs} +16 -13
  326. package/fesm2022/acorex-platform-themes-default-entity-master-single-view.component-DyZHE0o-.mjs.map +1 -0
  327. package/fesm2022/acorex-platform-themes-default-error-401.component-D5QQ2HAv.mjs.map +1 -1
  328. package/fesm2022/acorex-platform-themes-default-error-404.component-DSY_D3Iq.mjs.map +1 -1
  329. package/fesm2022/acorex-platform-themes-default-error-offline.component-B6wSkMdd.mjs.map +1 -1
  330. package/fesm2022/acorex-platform-themes-default.mjs +83 -56
  331. package/fesm2022/acorex-platform-themes-default.mjs.map +1 -1
  332. package/fesm2022/acorex-platform-themes-shared.mjs +225 -27
  333. package/fesm2022/acorex-platform-themes-shared.mjs.map +1 -1
  334. package/fesm2022/{acorex-platform-widgets-button-widget-designer.component-B9bfVuC4.mjs → acorex-platform-widgets-button-widget-designer.component-M_JuDPbt.mjs} +2 -2
  335. package/fesm2022/acorex-platform-widgets-button-widget-designer.component-M_JuDPbt.mjs.map +1 -0
  336. package/fesm2022/acorex-platform-widgets-checkbox-widget-column.component-j1jG8pCr.mjs.map +1 -1
  337. package/fesm2022/acorex-platform-widgets-checkbox-widget-designer.component-DzGg-uFi.mjs.map +1 -1
  338. package/fesm2022/{acorex-platform-widgets-checkbox-widget-view.component-tPk6Gylo.mjs → acorex-platform-widgets-checkbox-widget-view.component-CDA7Jwov.mjs} +35 -23
  339. package/fesm2022/acorex-platform-widgets-checkbox-widget-view.component-CDA7Jwov.mjs.map +1 -0
  340. package/fesm2022/{acorex-platform-widgets-color-box-widget-designer.component-Bb3aXCNZ.mjs → acorex-platform-widgets-color-box-widget-designer.component-DIvi0BtT.mjs} +3 -2
  341. package/fesm2022/acorex-platform-widgets-color-box-widget-designer.component-DIvi0BtT.mjs.map +1 -0
  342. package/fesm2022/acorex-platform-widgets-contact-widget-filter.component-GTwK51nJ.mjs.map +1 -1
  343. package/fesm2022/acorex-platform-widgets-page-widget-designer.component-BL_EAwUs.mjs +153 -0
  344. package/fesm2022/acorex-platform-widgets-page-widget-designer.component-BL_EAwUs.mjs.map +1 -0
  345. package/fesm2022/acorex-platform-widgets-rich-text-popup.component-RCdFIz45.mjs.map +1 -1
  346. package/fesm2022/acorex-platform-widgets-template-widget-edit.component-gvAh-gH1.mjs +96 -0
  347. package/fesm2022/acorex-platform-widgets-template-widget-edit.component-gvAh-gH1.mjs.map +1 -0
  348. package/fesm2022/acorex-platform-widgets-text-block-widget-designer.component-Bi9hlpvB.mjs.map +1 -1
  349. package/fesm2022/acorex-platform-widgets.mjs +563 -235
  350. package/fesm2022/acorex-platform-widgets.mjs.map +1 -1
  351. package/fesm2022/acorex-platform-workflow.mjs.map +1 -1
  352. package/layout/builder/lib/builder/builder.service.d.ts +1 -1
  353. package/layout/builder/lib/builder/widget-container.component.d.ts +3 -2
  354. package/layout/builder/lib/builder/widget-renderer.component.directive.d.ts +5 -1
  355. package/layout/builder/lib/builder/widget.types.d.ts +8 -5
  356. package/layout/designer/index.d.ts +2 -0
  357. package/layout/designer/lib/designer/components/add-widget-button/add-widget-line-button.component.d.ts +8 -0
  358. package/layout/designer/lib/designer/components/add-widget-button/add-widget-mini-button.component.d.ts +9 -0
  359. package/layout/designer/lib/designer/components/add-widget-button/index.d.ts +3 -0
  360. package/layout/designer/lib/designer/components/board/board.component.d.ts +2 -0
  361. package/layout/designer/lib/designer/components/drawers/data-sources/data-sources.component.d.ts +1 -1
  362. package/layout/designer/lib/designer/components/header-menu/header-menu.component.d.ts +1 -0
  363. package/layout/designer/lib/designer/components/size-mode/view-size-toolbar.component.d.ts +6 -0
  364. package/layout/designer/lib/designer/components/widget-picker/widget-picker.component.d.ts +4 -2
  365. package/layout/designer/lib/designer/designer.component.d.ts +1 -1
  366. package/layout/designer/lib/designer/index.d.ts +2 -2
  367. package/layout/designer/lib/designer/shared/designer-connector.service.d.ts +1 -1
  368. package/layout/designer/lib/designer/shared/designer.service.d.ts +8 -3
  369. package/layout/designer/lib/preview/preview-frame.component.d.ts +8 -0
  370. package/layout/designer/lib/preview/preview-viewer.component.d.ts +14 -0
  371. package/layout/designer/lib/preview/preview.component.d.ts +17 -3
  372. package/layout/entity/lib/entity-detail-list.viewmodel.d.ts +4 -4
  373. package/layout/entity/lib/entity-master-create.viewmodel.d.ts +1 -1
  374. package/layout/entity/lib/entity-master-list.viewmodel.d.ts +2 -1
  375. package/layout/entity/lib/entity-master-single.viewmodel.d.ts +1 -5
  376. package/layout/entity/lib/entity-master-update.viewmodel.d.ts +1 -1
  377. package/layout/entity/lib/entity-registery.service.d.ts +1 -1
  378. package/layout/entity/lib/entity.config.d.ts +7 -0
  379. package/layout/entity/lib/entity.viewmodel.d.ts +1 -1
  380. package/layout/entity/lib/widgets/lookup-widget/lookup-widget-edit.component.d.ts +2 -1
  381. package/layout/entity/lib/widgets/lookup-widget/lookup-widget-view.component.d.ts +2 -1
  382. package/layout/entity/lib/workflows/delete-entity.workflow.d.ts +1 -0
  383. package/layout/entity/lib/workflows/modify-section.workflow.d.ts +1 -0
  384. package/layouts/lib/admin/entity-layout/workflows/modify-entity.workflow.d.ts +1 -0
  385. package/package.json +13 -13
  386. package/themes/default/lib/default.module.d.ts +2 -1
  387. package/themes/default/lib/layouts/entity-layouts/entity-master-list-view/entity-master-list-view.component.d.ts +3 -1
  388. package/themes/default/lib/layouts/entity-layouts/entity-master-single-view/entity-master-single-view.component.d.ts +1 -1
  389. package/themes/default/lib/layouts/root-layout/components/menu/root-menu.component.d.ts +22 -0
  390. package/themes/default/lib/layouts/root-layout/index.d.ts +1 -0
  391. package/themes/default/lib/layouts/root-layout/root-layout.component.d.ts +1 -4
  392. package/themes/default/lib/layouts/root-layout/root-layout.module.d.ts +17 -16
  393. package/themes/shared/index.d.ts +2 -0
  394. package/themes/shared/lib/comments/comment-list-view.component.d.ts +16 -11
  395. package/themes/shared/lib/comments/comments.service.d.ts +4 -7
  396. package/themes/shared/lib/comments/comments.type.d.ts +24 -20
  397. package/themes/shared/lib/components/theme-slot.component.d.ts +23 -0
  398. package/themes/shared/lib/services/theme.service.d.ts +21 -0
  399. package/themes/shared/lib/shared.module.d.ts +5 -4
  400. package/widgets/lib/widgets/advance/map/map-box-widget-view.component.d.ts +1 -1
  401. package/widgets/lib/widgets/advance/qrcode/qrcode-widget-view.component.d.ts +1 -1
  402. package/widgets/lib/widgets/advance/signature/signature-pad-widget-view.component.d.ts +1 -1
  403. package/widgets/lib/widgets/editors/color/color-box-widget-column.component.d.ts +3 -0
  404. package/widgets/lib/widgets/editors/color/color-box-widget-designer.component.d.ts +1 -1
  405. package/widgets/lib/widgets/editors/color/color-box-widget-edit.component.d.ts +1 -1
  406. package/widgets/lib/widgets/editors/color/color-box-widget-view.component.d.ts +1 -1
  407. package/widgets/lib/widgets/editors/contact/contact-widget-column.component.d.ts +2 -0
  408. package/widgets/lib/widgets/editors/contact/contact-widget-edit.component.d.ts +1 -1
  409. package/widgets/lib/widgets/editors/contact/contact-widget-view.component.d.ts +1 -1
  410. package/widgets/lib/widgets/editors/date-time/date-time-box-widget-column.component.d.ts +3 -0
  411. package/widgets/lib/widgets/editors/number/number-box-widget-edit.component.d.ts +1 -0
  412. package/widgets/lib/widgets/editors/number/number-box-widget-view.component.d.ts +1 -1
  413. package/widgets/lib/widgets/editors/password/password-box-widget-view.component.d.ts +1 -1
  414. package/widgets/lib/widgets/editors/rich-text/rich-text-widget-edit.component.d.ts +3 -2
  415. package/widgets/lib/widgets/editors/toggle/toggle-widget-edit.component.d.ts +1 -1
  416. package/widgets/lib/widgets/editors/toggle/toggle-widget-print.component.d.ts +1 -1
  417. package/widgets/lib/widgets/editors/toggle/toggle-widget-view.component.d.ts +1 -1
  418. package/widgets/lib/widgets/index.d.ts +1 -0
  419. package/widgets/lib/widgets/layout/block/block-widget-view.component.d.ts +4 -2
  420. package/widgets/lib/widgets/layout/grid/grid-widget-view.component.d.ts +1 -1
  421. package/widgets/lib/widgets/layout/grid-item/grid-item-widget-designer.component.d.ts +0 -2
  422. package/widgets/lib/widgets/layout/grid-item/grid-item-widget-view.component.d.ts +1 -1
  423. package/widgets/lib/widgets/layout/grid-row/grid-row-widget-view.component.d.ts +1 -1
  424. package/widgets/lib/widgets/layout/page/page-widget-designer.component.d.ts +11 -1
  425. package/widgets/lib/widgets/layout/repeater/repeater-widget-edit.component.d.ts +4 -3
  426. package/widgets/lib/widgets/layout/template/index.d.ts +4 -0
  427. package/widgets/lib/widgets/layout/template/template-widget-designer.component.d.ts +11 -0
  428. package/widgets/lib/widgets/layout/template/template-widget-edit.component.d.ts +10 -0
  429. package/widgets/lib/widgets/layout/template/template-widget-view.component.d.ts +10 -0
  430. package/widgets/lib/widgets/layout/template/template-widget.config.d.ts +7 -0
  431. package/widgets/lib/widgets/layout/template/template.provider.d.ts +21 -0
  432. package/common/lib/data/entity-data-provider.d.ts +0 -14
  433. package/common/lib/data/storage-service.d.ts +0 -22
  434. package/common/lib/layout/theme/components/slots/theme-slot.component.d.ts +0 -8
  435. package/common/lib/settings/settings.loader.d.ts +0 -8
  436. package/esm2022/common/lib/data/entity-data-provider.mjs +0 -26
  437. package/esm2022/common/lib/data/storage-service.mjs +0 -5
  438. package/esm2022/common/lib/layout/theme/components/slots/theme-slot.component.mjs +0 -48
  439. package/esm2022/common/lib/settings/settings.loader.mjs +0 -17
  440. package/esm2022/layout/designer/lib/designer/shared/designer.typs.mjs +0 -6
  441. package/fesm2022/acorex-platform-common-avatar-widget-edit.component-CfqY7kKi.mjs.map +0 -1
  442. package/fesm2022/acorex-platform-common-avatar-widget-view.component-DXC7INdQ.mjs.map +0 -1
  443. package/fesm2022/acorex-platform-common-boolean-widget-filter.component-DLGnsXy4.mjs.map +0 -1
  444. package/fesm2022/acorex-platform-common-checkbox-widget-edit.component-DOGMfGby.mjs.map +0 -1
  445. package/fesm2022/acorex-platform-common-dateTime-widget-column.component-BkUDt0Kj.mjs.map +0 -1
  446. package/fesm2022/acorex-platform-common-dateTime-widget-filter.component-CqddjYjP.mjs.map +0 -1
  447. package/fesm2022/acorex-platform-common-email-widget-column.component-BOer2nZi.mjs.map +0 -1
  448. package/fesm2022/acorex-platform-common-email-widget-edit.component-BoKsGiEI.mjs.map +0 -1
  449. package/fesm2022/acorex-platform-common-file-widget-column.component-DpcUmwAT.mjs.map +0 -1
  450. package/fesm2022/acorex-platform-common-file-widget-filter.component-Dwt-LYWG.mjs.map +0 -1
  451. package/fesm2022/acorex-platform-common-gallery-widget-filter.component-B-KxKtY4.mjs.map +0 -1
  452. package/fesm2022/acorex-platform-common-largetext-widget-edit.component-DD7S5j12.mjs.map +0 -1
  453. package/fesm2022/acorex-platform-common-lookup-widget-column.component-BEZNLQZi.mjs.map +0 -1
  454. package/fesm2022/acorex-platform-common-lookup-widget-edit.component-D50jPeKP.mjs.map +0 -1
  455. package/fesm2022/acorex-platform-common-lookup-widget-filter.component-CZHDDnR3.mjs.map +0 -1
  456. package/fesm2022/acorex-platform-common-lookup-widget-view.component-CQCvJxgi.mjs.map +0 -1
  457. package/fesm2022/acorex-platform-common-map-widget-edit.component-OanYRQ3B.mjs.map +0 -1
  458. package/fesm2022/acorex-platform-common-messenger-widget-column.component-BHP6R3OI.mjs.map +0 -1
  459. package/fesm2022/acorex-platform-common-number-widget-edit.component-XSWI6466.mjs.map +0 -1
  460. package/fesm2022/acorex-platform-common-number-widget-filter.component-BOT9wPJ5.mjs.map +0 -1
  461. package/fesm2022/acorex-platform-common-number-widget-view.component-CP5aboLU.mjs.map +0 -1
  462. package/fesm2022/acorex-platform-common-password-widget-edit.component-CHQ_Kp4t.mjs.map +0 -1
  463. package/fesm2022/acorex-platform-common-phone-widget-column.component-RJp6wHul.mjs.map +0 -1
  464. package/fesm2022/acorex-platform-common-rich-text-widget-edit.component-Do3YcmKg.mjs.map +0 -1
  465. package/fesm2022/acorex-platform-common-rich-text-widget-view.component-BIRyPRtw.mjs.map +0 -1
  466. package/fesm2022/acorex-platform-common-selection-list-widget-column.component-DxeK2RPc.mjs.map +0 -1
  467. package/fesm2022/acorex-platform-common-selection-list-widget-edit.component-CBLEeILz.mjs.map +0 -1
  468. package/fesm2022/acorex-platform-common-selection-list-widget-filter.component-B01t7mso.mjs.map +0 -1
  469. package/fesm2022/acorex-platform-common-selection-list-widget-view.component-QJMp11dd.mjs.map +0 -1
  470. package/fesm2022/acorex-platform-common-signature-pad-widget-view.component-CEhRqgEn.mjs.map +0 -1
  471. package/fesm2022/acorex-platform-common-string-widget-filter.component--L4PeRCB.mjs.map +0 -1
  472. package/fesm2022/acorex-platform-common-text-widget-column.component-ytX4OqZX.mjs.map +0 -1
  473. package/fesm2022/acorex-platform-common-text-widget-edit.component-CN7OyTfJ.mjs.map +0 -1
  474. package/fesm2022/acorex-platform-common-toggle-widget-edit.component-CLWHwf8V.mjs.map +0 -1
  475. package/fesm2022/acorex-platform-layout-designer-preview.component-CaRHf4x_.mjs +0 -23
  476. package/fesm2022/acorex-platform-layout-designer-preview.component-CaRHf4x_.mjs.map +0 -1
  477. package/fesm2022/acorex-platform-themes-default-entity-master-list-view.component-fZ6QEYcd.mjs.map +0 -1
  478. package/fesm2022/acorex-platform-themes-default-entity-master-modify-view.component-BijYXMme.mjs.map +0 -1
  479. package/fesm2022/acorex-platform-themes-default-entity-master-single-view.component-Bnrabotu.mjs.map +0 -1
  480. package/fesm2022/acorex-platform-widgets-button-widget-designer.component-B9bfVuC4.mjs.map +0 -1
  481. package/fesm2022/acorex-platform-widgets-checkbox-widget-view.component-tPk6Gylo.mjs.map +0 -1
  482. package/fesm2022/acorex-platform-widgets-color-box-widget-designer.component-Bb3aXCNZ.mjs.map +0 -1
  483. package/fesm2022/acorex-platform-widgets-page-widget-designer.component-6BMZ0qRw.mjs +0 -67
  484. package/fesm2022/acorex-platform-widgets-page-widget-designer.component-6BMZ0qRw.mjs.map +0 -1
  485. /package/layout/designer/lib/designer/shared/{designer.typs.d.ts → designer.types.d.ts} +0 -0
@@ -0,0 +1,41 @@
1
+ import { inject, Injectable, InjectionToken } from '@angular/core';
2
+ import * as i0 from "@angular/core";
3
+ export const AXP_TEMPLATE_WIDGET_PROVIDER = new InjectionToken('AXP_TEMPLATE_WIDGET_PROVIDER');
4
+ export class AXPTemplateWidgetProviderService {
5
+ constructor() {
6
+ this.providers = inject(AXP_TEMPLATE_WIDGET_PROVIDER, { optional: true });
7
+ }
8
+ async items(query) {
9
+ if (Array.isArray(this.providers)) {
10
+ const result = [];
11
+ for (const provider of this.providers) {
12
+ const items = await provider.items(query);
13
+ if (items) {
14
+ result.push(...items);
15
+ }
16
+ }
17
+ return result;
18
+ }
19
+ else {
20
+ return [];
21
+ }
22
+ }
23
+ async get(id) {
24
+ if (Array.isArray(this.providers)) {
25
+ for (const provider of this.providers) {
26
+ const node = await provider.get(id);
27
+ if (node) {
28
+ return node;
29
+ }
30
+ }
31
+ }
32
+ return null;
33
+ }
34
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.0", ngImport: i0, type: AXPTemplateWidgetProviderService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
35
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.0", ngImport: i0, type: AXPTemplateWidgetProviderService, providedIn: 'root' }); }
36
+ }
37
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.0", ngImport: i0, type: AXPTemplateWidgetProviderService, decorators: [{
38
+ type: Injectable,
39
+ args: [{ providedIn: 'root' }]
40
+ }] });
41
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGVtcGxhdGUucHJvdmlkZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL3BsYXRmb3JtL3dpZGdldHMvc3JjL2xpYi93aWRnZXRzL2xheW91dC90ZW1wbGF0ZS90ZW1wbGF0ZS5wcm92aWRlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFFQSxPQUFPLEVBQUUsTUFBTSxFQUFFLFVBQVUsRUFBRSxjQUFjLEVBQVksTUFBTSxlQUFlLENBQUM7O0FBYzdFLE1BQU0sQ0FBQyxNQUFNLDRCQUE0QixHQUFHLElBQUksY0FBYyxDQUE4Qiw4QkFBOEIsQ0FBQyxDQUFDO0FBSTVILE1BQU0sT0FBTyxnQ0FBZ0M7SUFEN0M7UUFFWSxjQUFTLEdBQUcsTUFBTSxDQUFDLDRCQUE0QixFQUFFLEVBQUUsUUFBUSxFQUFFLElBQUksRUFBRSxDQUFDLENBQUM7S0ErQmhGO0lBNUJHLEtBQUssQ0FBQyxLQUFLLENBQUMsS0FBdUI7UUFDL0IsSUFBSSxLQUFLLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsRUFBRSxDQUFDO1lBQ2hDLE1BQU0sTUFBTSxHQUFnQyxFQUFFLENBQUE7WUFDOUMsS0FBSyxNQUFNLFFBQVEsSUFBSSxJQUFJLENBQUMsU0FBUyxFQUFFLENBQUM7Z0JBQ3BDLE1BQU0sS0FBSyxHQUFHLE1BQU0sUUFBUSxDQUFDLEtBQUssQ0FBQyxLQUFLLENBQUMsQ0FBQztnQkFDMUMsSUFBSSxLQUFLLEVBQUUsQ0FBQztvQkFDUixNQUFNLENBQUMsSUFBSSxDQUFDLEdBQUcsS0FBSyxDQUFDLENBQUM7Z0JBQzFCLENBQUM7WUFDTCxDQUFDO1lBQ0QsT0FBTyxNQUFNLENBQUM7UUFDbEIsQ0FBQzthQUNJLENBQUM7WUFDRixPQUFPLEVBQUUsQ0FBQztRQUNkLENBQUM7SUFDTCxDQUFDO0lBR0QsS0FBSyxDQUFDLEdBQUcsQ0FBQyxFQUFVO1FBQ2hCLElBQUksS0FBSyxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLEVBQUUsQ0FBQztZQUNoQyxLQUFLLE1BQU0sUUFBUSxJQUFJLElBQUksQ0FBQyxTQUFTLEVBQUUsQ0FBQztnQkFDcEMsTUFBTSxJQUFJLEdBQUcsTUFBTSxRQUFRLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxDQUFDO2dCQUNwQyxJQUFJLElBQUksRUFBRSxDQUFDO29CQUNQLE9BQU8sSUFBSSxDQUFDO2dCQUNoQixDQUFDO1lBQ0wsQ0FBQztRQUNMLENBQUM7UUFDRCxPQUFPLElBQUksQ0FBQztJQUNoQixDQUFDOzhHQS9CUSxnQ0FBZ0M7a0hBQWhDLGdDQUFnQyxjQURuQixNQUFNOzsyRkFDbkIsZ0NBQWdDO2tCQUQ1QyxVQUFVO21CQUFDLEVBQUUsVUFBVSxFQUFFLE1BQU0sRUFBRSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEFYUFF1ZXJ5UmVxdWVzdCB9IGZyb20gJ0BhY29yZXgvcGxhdGZvcm0vY29tbW9uJztcbmltcG9ydCB7IEFYUFdpZGdldEdyb3VwLCBBWFBXaWRnZXROb2RlIH0gZnJvbSAnQGFjb3JleC9wbGF0Zm9ybS9sYXlvdXQvYnVpbGRlcic7XG5pbXBvcnQgeyBpbmplY3QsIEluamVjdGFibGUsIEluamVjdGlvblRva2VuLCBJbmplY3RvciB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5cbmV4cG9ydCBpbnRlcmZhY2UgQVhQVGVtcGxhdGVXaWRnZXRQcm92aWRlZCB7XG4gICAgaWQ6IHN0cmluZyxcbiAgICB0aXRsZTogc3RyaW5nLFxuICAgIGdyb3VwOiBBWFBXaWRnZXRHcm91cCxcbn1cblxuZXhwb3J0IGludGVyZmFjZSBBWFBUZW1wbGF0ZVdpZGdldFByb3ZpZGVyIHtcbiAgICBpdGVtcyhxdWVyeT86IEFYUFF1ZXJ5UmVxdWVzdCk6IFByb21pc2U8QVhQVGVtcGxhdGVXaWRnZXRQcm92aWRlZFtdPjtcbiAgICBnZXQoaWQ6IHN0cmluZyk6IFByb21pc2U8QVhQV2lkZ2V0Tm9kZSB8IG51bGw+O1xufVxuXG5leHBvcnQgY29uc3QgQVhQX1RFTVBMQVRFX1dJREdFVF9QUk9WSURFUiA9IG5ldyBJbmplY3Rpb25Ub2tlbjxBWFBUZW1wbGF0ZVdpZGdldFByb3ZpZGVyW10+KCdBWFBfVEVNUExBVEVfV0lER0VUX1BST1ZJREVSJyk7XG5cblxuQEluamVjdGFibGUoeyBwcm92aWRlZEluOiAncm9vdCcgfSlcbmV4cG9ydCBjbGFzcyBBWFBUZW1wbGF0ZVdpZGdldFByb3ZpZGVyU2VydmljZSBpbXBsZW1lbnRzIEFYUFRlbXBsYXRlV2lkZ2V0UHJvdmlkZXIge1xuICAgIHByaXZhdGUgcHJvdmlkZXJzID0gaW5qZWN0KEFYUF9URU1QTEFURV9XSURHRVRfUFJPVklERVIsIHsgb3B0aW9uYWw6IHRydWUgfSk7XG5cblxuICAgIGFzeW5jIGl0ZW1zKHF1ZXJ5PzogQVhQUXVlcnlSZXF1ZXN0KTogUHJvbWlzZTxBWFBUZW1wbGF0ZVdpZGdldFByb3ZpZGVkW10+IHtcbiAgICAgICAgaWYgKEFycmF5LmlzQXJyYXkodGhpcy5wcm92aWRlcnMpKSB7XG4gICAgICAgICAgICBjb25zdCByZXN1bHQ6IEFYUFRlbXBsYXRlV2lkZ2V0UHJvdmlkZWRbXSA9IFtdXG4gICAgICAgICAgICBmb3IgKGNvbnN0IHByb3ZpZGVyIG9mIHRoaXMucHJvdmlkZXJzKSB7XG4gICAgICAgICAgICAgICAgY29uc3QgaXRlbXMgPSBhd2FpdCBwcm92aWRlci5pdGVtcyhxdWVyeSk7XG4gICAgICAgICAgICAgICAgaWYgKGl0ZW1zKSB7XG4gICAgICAgICAgICAgICAgICAgIHJlc3VsdC5wdXNoKC4uLml0ZW1zKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICByZXR1cm4gcmVzdWx0O1xuICAgICAgICB9XG4gICAgICAgIGVsc2Uge1xuICAgICAgICAgICAgcmV0dXJuIFtdO1xuICAgICAgICB9XG4gICAgfVxuXG5cbiAgICBhc3luYyBnZXQoaWQ6IHN0cmluZyk6IFByb21pc2U8QVhQV2lkZ2V0Tm9kZSB8IG51bGw+IHtcbiAgICAgICAgaWYgKEFycmF5LmlzQXJyYXkodGhpcy5wcm92aWRlcnMpKSB7XG4gICAgICAgICAgICBmb3IgKGNvbnN0IHByb3ZpZGVyIG9mIHRoaXMucHJvdmlkZXJzKSB7XG4gICAgICAgICAgICAgICAgY29uc3Qgbm9kZSA9IGF3YWl0IHByb3ZpZGVyLmdldChpZCk7XG4gICAgICAgICAgICAgICAgaWYgKG5vZGUpIHtcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIG5vZGU7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIHJldHVybiBudWxsO1xuICAgIH1cbn1cbiJdfQ==
@@ -1,5 +1,5 @@
1
1
  import { AXP_WIDGETS_LAYOUT_GROUP, AXPWidgetsCatalog } from '@acorex/platform/layout/builder';
2
- import { AXP_BEHAVIOR_PROPERTY_GROUP } from '../../../properties';
2
+ import { AXP_BEHAVIOR_PROPERTY_GROUP, AXP_NAME_PROPERTY } from '../../../properties';
3
3
  export const AXPTextBlockWidget = {
4
4
  name: 'text-block-layout',
5
5
  title: 'Text Block',
@@ -8,6 +8,7 @@ export const AXPTextBlockWidget = {
8
8
  group: AXP_WIDGETS_LAYOUT_GROUP,
9
9
  type: 'view',
10
10
  properties: [
11
+ AXP_NAME_PROPERTY,
11
12
  {
12
13
  name: 'content',
13
14
  title: 'Content',
@@ -39,4 +40,4 @@ export const AXPTextBlockWidget = {
39
40
  },
40
41
  },
41
42
  };
42
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGV4dC1ibG9jay13aWRnZXQuY29uZmlnLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9wbGF0Zm9ybS93aWRnZXRzL3NyYy9saWIvd2lkZ2V0cy9sYXlvdXQvdGV4dC1ibG9jay90ZXh0LWJsb2NrLXdpZGdldC5jb25maWcudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLHdCQUF3QixFQUFtQixpQkFBaUIsRUFBRSxNQUFNLGlDQUFpQyxDQUFDO0FBQy9HLE9BQU8sRUFBRSwyQkFBMkIsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBRWxFLE1BQU0sQ0FBQyxNQUFNLGtCQUFrQixHQUFvQjtJQUNqRCxJQUFJLEVBQUUsbUJBQW1CO0lBQ3pCLEtBQUssRUFBRSxZQUFZO0lBQ25CLFdBQVcsRUFBRSxzQkFBc0I7SUFDbkMsSUFBSSxFQUFFLGtCQUFrQjtJQUN4QixLQUFLLEVBQUUsd0JBQXdCO0lBQy9CLElBQUksRUFBRSxNQUFNO0lBQ1osVUFBVSxFQUFFO1FBQ1Y7WUFDRSxJQUFJLEVBQUUsU0FBUztZQUNmLEtBQUssRUFBRSxTQUFTO1lBQ2hCLEtBQUssRUFBRSwyQkFBMkI7WUFDbEMsTUFBTSxFQUFFO2dCQUNOLFFBQVEsRUFBRSxRQUFRO2dCQUNsQixZQUFZLEVBQUUsWUFBWTtnQkFDMUIsU0FBUyxFQUFFO29CQUNULElBQUksRUFBRSxTQUFTO29CQUNmLElBQUksRUFBRSxpQkFBaUI7b0JBQ3ZCLElBQUksRUFBRSxpQkFBaUIsQ0FBQyxRQUFRO2lCQUNqQzthQUNGO1lBQ0QsT0FBTyxFQUFFLElBQUk7U0FDZDtLQUNGO0lBQ0QsVUFBVSxFQUFFO1FBQ1YsSUFBSSxFQUFFO1lBQ0osU0FBUyxFQUFFLEdBQUcsRUFBRSxDQUFDLE1BQU0sQ0FBQyxvQ0FBb0MsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDLCtCQUErQixDQUFDO1NBQzdHO1FBQ0QsSUFBSSxFQUFFO1lBQ0osU0FBUyxFQUFFLEdBQUcsRUFBRSxDQUFDLE1BQU0sQ0FBQyxvQ0FBb0MsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDLCtCQUErQixDQUFDO1NBQzdHO1FBQ0QsS0FBSyxFQUFFO1lBQ0wsU0FBUyxFQUFFLEdBQUcsRUFBRSxDQUFDLE1BQU0sQ0FBQyxvQ0FBb0MsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDLCtCQUErQixDQUFDO1NBQzdHO1FBQ0QsUUFBUSxFQUFFO1lBQ1IsU0FBUyxFQUFFLEdBQUcsRUFBRSxDQUFDLE1BQU0sQ0FBQyx3Q0FBd0MsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDLG1DQUFtQyxDQUFDO1NBQ3JIO0tBQ0Y7Q0FDRixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQVhQX1dJREdFVFNfTEFZT1VUX0dST1VQLCBBWFBXaWRnZXRDb25maWcsIEFYUFdpZGdldHNDYXRhbG9nIH0gZnJvbSAnQGFjb3JleC9wbGF0Zm9ybS9sYXlvdXQvYnVpbGRlcic7XG5pbXBvcnQgeyBBWFBfQkVIQVZJT1JfUFJPUEVSVFlfR1JPVVAgfSBmcm9tICcuLi8uLi8uLi9wcm9wZXJ0aWVzJztcblxuZXhwb3J0IGNvbnN0IEFYUFRleHRCbG9ja1dpZGdldDogQVhQV2lkZ2V0Q29uZmlnID0ge1xuICBuYW1lOiAndGV4dC1ibG9jay1sYXlvdXQnLFxuICB0aXRsZTogJ1RleHQgQmxvY2snLFxuICBkZXNjcmlwdGlvbjogJ0Rpc3BsYXlzIHRleHQgYmxvY2tzJyxcbiAgaWNvbjogJ2ZhLXNvbGlkIGZhLXRleHQnLFxuICBncm91cDogQVhQX1dJREdFVFNfTEFZT1VUX0dST1VQLFxuICB0eXBlOiAndmlldycsXG4gIHByb3BlcnRpZXM6IFtcbiAgICB7XG4gICAgICBuYW1lOiAnY29udGVudCcsXG4gICAgICB0aXRsZTogJ0NvbnRlbnQnLFxuICAgICAgZ3JvdXA6IEFYUF9CRUhBVklPUl9QUk9QRVJUWV9HUk9VUCxcbiAgICAgIHNjaGVtYToge1xuICAgICAgICBkYXRhVHlwZTogJ3N0cmluZycsXG4gICAgICAgIGRlZmF1bHRWYWx1ZTogJ1RleHQgQmxvY2snLFxuICAgICAgICBpbnRlcmZhY2U6IHtcbiAgICAgICAgICBuYW1lOiAnY29udGVudCcsXG4gICAgICAgICAgcGF0aDogJ29wdGlvbnMuY29udGVudCcsXG4gICAgICAgICAgdHlwZTogQVhQV2lkZ2V0c0NhdGFsb2cucmljaFRleHQsXG4gICAgICAgIH0sXG4gICAgICB9LFxuICAgICAgdmlzaWJsZTogdHJ1ZSxcbiAgICB9LFxuICBdLFxuICBjb21wb25lbnRzOiB7XG4gICAgdmlldzoge1xuICAgICAgY29tcG9uZW50OiAoKSA9PiBpbXBvcnQoJy4vdGV4dC1ibG9jay13aWRnZXQtdmlldy5jb21wb25lbnQnKS50aGVuKChjKSA9PiBjLkFYUFRleHRCbG9ja1dpZGdldFZpZXdDb21wb25lbnQpLFxuICAgIH0sXG4gICAgZWRpdDoge1xuICAgICAgY29tcG9uZW50OiAoKSA9PiBpbXBvcnQoJy4vdGV4dC1ibG9jay13aWRnZXQtdmlldy5jb21wb25lbnQnKS50aGVuKChjKSA9PiBjLkFYUFRleHRCbG9ja1dpZGdldFZpZXdDb21wb25lbnQpLFxuICAgIH0sXG4gICAgcHJpbnQ6IHtcbiAgICAgIGNvbXBvbmVudDogKCkgPT4gaW1wb3J0KCcuL3RleHQtYmxvY2std2lkZ2V0LXZpZXcuY29tcG9uZW50JykudGhlbigoYykgPT4gYy5BWFBUZXh0QmxvY2tXaWRnZXRWaWV3Q29tcG9uZW50KSxcbiAgICB9LFxuICAgIGRlc2lnbmVyOiB7XG4gICAgICBjb21wb25lbnQ6ICgpID0+IGltcG9ydCgnLi90ZXh0LWJsb2NrLXdpZGdldC1kZXNpZ25lci5jb21wb25lbnQnKS50aGVuKChjKSA9PiBjLkFYUFRleHRCbG9ja1dpZGdldERlc2lnbmVyQ29tcG9uZW50KSxcbiAgICB9LFxuICB9LFxufTtcblxuZGVjbGFyZSBtb2R1bGUgJ0BhY29yZXgvcGxhdGZvcm0vbGF5b3V0L2J1aWxkZXInIHtcbiAgaW50ZXJmYWNlIEFYUFdpZGdldFR5cGVzTWFwIHtcbiAgICB0ZXh0QmxvY2tMYXlvdXQ6ICd0ZXh0LWJsb2NrLWxheW91dCc7XG4gIH1cbn1cbiJdfQ==
43
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGV4dC1ibG9jay13aWRnZXQuY29uZmlnLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9wbGF0Zm9ybS93aWRnZXRzL3NyYy9saWIvd2lkZ2V0cy9sYXlvdXQvdGV4dC1ibG9jay90ZXh0LWJsb2NrLXdpZGdldC5jb25maWcudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLHdCQUF3QixFQUFtQixpQkFBaUIsRUFBRSxNQUFNLGlDQUFpQyxDQUFDO0FBQy9HLE9BQU8sRUFBRSwyQkFBMkIsRUFBRSxpQkFBaUIsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBRXJGLE1BQU0sQ0FBQyxNQUFNLGtCQUFrQixHQUFvQjtJQUNqRCxJQUFJLEVBQUUsbUJBQW1CO0lBQ3pCLEtBQUssRUFBRSxZQUFZO0lBQ25CLFdBQVcsRUFBRSxzQkFBc0I7SUFDbkMsSUFBSSxFQUFFLGtCQUFrQjtJQUN4QixLQUFLLEVBQUUsd0JBQXdCO0lBQy9CLElBQUksRUFBRSxNQUFNO0lBQ1osVUFBVSxFQUFFO1FBQ1YsaUJBQWlCO1FBQ2pCO1lBQ0UsSUFBSSxFQUFFLFNBQVM7WUFDZixLQUFLLEVBQUUsU0FBUztZQUNoQixLQUFLLEVBQUUsMkJBQTJCO1lBQ2xDLE1BQU0sRUFBRTtnQkFDTixRQUFRLEVBQUUsUUFBUTtnQkFDbEIsWUFBWSxFQUFFLFlBQVk7Z0JBQzFCLFNBQVMsRUFBRTtvQkFDVCxJQUFJLEVBQUUsU0FBUztvQkFDZixJQUFJLEVBQUUsaUJBQWlCO29CQUN2QixJQUFJLEVBQUUsaUJBQWlCLENBQUMsUUFBUTtpQkFDakM7YUFDRjtZQUNELE9BQU8sRUFBRSxJQUFJO1NBQ2Q7S0FDRjtJQUNELFVBQVUsRUFBRTtRQUNWLElBQUksRUFBRTtZQUNKLFNBQVMsRUFBRSxHQUFHLEVBQUUsQ0FBQyxNQUFNLENBQUMsb0NBQW9DLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQywrQkFBK0IsQ0FBQztTQUM3RztRQUNELElBQUksRUFBRTtZQUNKLFNBQVMsRUFBRSxHQUFHLEVBQUUsQ0FBQyxNQUFNLENBQUMsb0NBQW9DLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQywrQkFBK0IsQ0FBQztTQUM3RztRQUNELEtBQUssRUFBRTtZQUNMLFNBQVMsRUFBRSxHQUFHLEVBQUUsQ0FBQyxNQUFNLENBQUMsb0NBQW9DLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQywrQkFBK0IsQ0FBQztTQUM3RztRQUNELFFBQVEsRUFBRTtZQUNSLFNBQVMsRUFBRSxHQUFHLEVBQUUsQ0FBQyxNQUFNLENBQUMsd0NBQXdDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQyxtQ0FBbUMsQ0FBQztTQUNySDtLQUNGO0NBQ0YsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEFYUF9XSURHRVRTX0xBWU9VVF9HUk9VUCwgQVhQV2lkZ2V0Q29uZmlnLCBBWFBXaWRnZXRzQ2F0YWxvZyB9IGZyb20gJ0BhY29yZXgvcGxhdGZvcm0vbGF5b3V0L2J1aWxkZXInO1xuaW1wb3J0IHsgQVhQX0JFSEFWSU9SX1BST1BFUlRZX0dST1VQLCBBWFBfTkFNRV9QUk9QRVJUWSB9IGZyb20gJy4uLy4uLy4uL3Byb3BlcnRpZXMnO1xuXG5leHBvcnQgY29uc3QgQVhQVGV4dEJsb2NrV2lkZ2V0OiBBWFBXaWRnZXRDb25maWcgPSB7XG4gIG5hbWU6ICd0ZXh0LWJsb2NrLWxheW91dCcsXG4gIHRpdGxlOiAnVGV4dCBCbG9jaycsXG4gIGRlc2NyaXB0aW9uOiAnRGlzcGxheXMgdGV4dCBibG9ja3MnLFxuICBpY29uOiAnZmEtc29saWQgZmEtdGV4dCcsXG4gIGdyb3VwOiBBWFBfV0lER0VUU19MQVlPVVRfR1JPVVAsXG4gIHR5cGU6ICd2aWV3JyxcbiAgcHJvcGVydGllczogW1xuICAgIEFYUF9OQU1FX1BST1BFUlRZLFxuICAgIHtcbiAgICAgIG5hbWU6ICdjb250ZW50JyxcbiAgICAgIHRpdGxlOiAnQ29udGVudCcsXG4gICAgICBncm91cDogQVhQX0JFSEFWSU9SX1BST1BFUlRZX0dST1VQLFxuICAgICAgc2NoZW1hOiB7XG4gICAgICAgIGRhdGFUeXBlOiAnc3RyaW5nJyxcbiAgICAgICAgZGVmYXVsdFZhbHVlOiAnVGV4dCBCbG9jaycsXG4gICAgICAgIGludGVyZmFjZToge1xuICAgICAgICAgIG5hbWU6ICdjb250ZW50JyxcbiAgICAgICAgICBwYXRoOiAnb3B0aW9ucy5jb250ZW50JyxcbiAgICAgICAgICB0eXBlOiBBWFBXaWRnZXRzQ2F0YWxvZy5yaWNoVGV4dCxcbiAgICAgICAgfSxcbiAgICAgIH0sXG4gICAgICB2aXNpYmxlOiB0cnVlLFxuICAgIH0sXG4gIF0sXG4gIGNvbXBvbmVudHM6IHtcbiAgICB2aWV3OiB7XG4gICAgICBjb21wb25lbnQ6ICgpID0+IGltcG9ydCgnLi90ZXh0LWJsb2NrLXdpZGdldC12aWV3LmNvbXBvbmVudCcpLnRoZW4oKGMpID0+IGMuQVhQVGV4dEJsb2NrV2lkZ2V0Vmlld0NvbXBvbmVudCksXG4gICAgfSxcbiAgICBlZGl0OiB7XG4gICAgICBjb21wb25lbnQ6ICgpID0+IGltcG9ydCgnLi90ZXh0LWJsb2NrLXdpZGdldC12aWV3LmNvbXBvbmVudCcpLnRoZW4oKGMpID0+IGMuQVhQVGV4dEJsb2NrV2lkZ2V0Vmlld0NvbXBvbmVudCksXG4gICAgfSxcbiAgICBwcmludDoge1xuICAgICAgY29tcG9uZW50OiAoKSA9PiBpbXBvcnQoJy4vdGV4dC1ibG9jay13aWRnZXQtdmlldy5jb21wb25lbnQnKS50aGVuKChjKSA9PiBjLkFYUFRleHRCbG9ja1dpZGdldFZpZXdDb21wb25lbnQpLFxuICAgIH0sXG4gICAgZGVzaWduZXI6IHtcbiAgICAgIGNvbXBvbmVudDogKCkgPT4gaW1wb3J0KCcuL3RleHQtYmxvY2std2lkZ2V0LWRlc2lnbmVyLmNvbXBvbmVudCcpLnRoZW4oKGMpID0+IGMuQVhQVGV4dEJsb2NrV2lkZ2V0RGVzaWduZXJDb21wb25lbnQpLFxuICAgIH0sXG4gIH0sXG59O1xuXG5kZWNsYXJlIG1vZHVsZSAnQGFjb3JleC9wbGF0Zm9ybS9sYXlvdXQvYnVpbGRlcicge1xuICBpbnRlcmZhY2UgQVhQV2lkZ2V0VHlwZXNNYXAge1xuICAgIHRleHRCbG9ja0xheW91dDogJ3RleHQtYmxvY2stbGF5b3V0JztcbiAgfVxufVxuIl19
@@ -15,6 +15,7 @@ import { AXPGridWidget } from './widgets/layout/grid';
15
15
  import { AXPGridItemWidget } from './widgets/layout/grid-item';
16
16
  import { AXPGridRowWidget } from './widgets/layout/grid-row';
17
17
  import { AXPTextBlockWidget } from './widgets/layout/text-block';
18
+ import { AXPTemplateWidget } from './widgets/layout/template';
18
19
  import * as i0 from "@angular/core";
19
20
  import * as i1 from "@acorex/platform/layout/builder";
20
21
  export class AXPWidgetsModule {
@@ -24,6 +25,7 @@ export class AXPWidgetsModule {
24
25
  widgets: [
25
26
  AXPDocumentWidget,
26
27
  //
28
+ AXPTemplateWidget,
27
29
  AXPBlockWidget,
28
30
  AXPPageWidget,
29
31
  AXPRepeaterWidget,
@@ -66,6 +68,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.0", ngImpor
66
68
  widgets: [
67
69
  AXPDocumentWidget,
68
70
  //
71
+ AXPTemplateWidget,
69
72
  AXPBlockWidget,
70
73
  AXPPageWidget,
71
74
  AXPRepeaterWidget,
@@ -104,4 +107,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.0", ngImpor
104
107
  declarations: [],
105
108
  }]
106
109
  }] });
107
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid2lkZ2V0cy5tb2R1bGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9saWJzL3BsYXRmb3JtL3dpZGdldHMvc3JjL2xpYi93aWRnZXRzLm1vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSxpQ0FBaUMsQ0FBQztBQUN6RSxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3pDLE9BQU8sRUFDTCxjQUFjLEVBQ2QsZUFBZSxFQUNmLGlCQUFpQixFQUNqQixnQkFBZ0IsRUFDaEIsb0JBQW9CO0FBQ3BCLG9CQUFvQjtBQUNwQixnQkFBZ0IsRUFDaEIsZ0JBQWdCLEVBQ2hCLGtCQUFrQjtBQUNsQixnQkFBZ0I7QUFDaEIsZUFBZSxFQUNmLGtCQUFrQixFQUNsQixhQUFhLEVBQ2Isb0JBQW9CO0FBQ3BCLG9CQUFvQjtBQUNwQixpQkFBaUIsRUFDakIsaUJBQWlCLEVBQ2pCLGtCQUFrQixFQUNsQixzQkFBc0IsRUFDdEIsa0JBQWtCLEVBQ2xCLGdCQUFnQixFQUNoQixlQUFlLEdBQ2hCLE1BQU0sV0FBVyxDQUFDO0FBQ25CLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUMzRCxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUM1RCxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxrREFBa0QsQ0FBQztBQUNyRixPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSw2QkFBNkIsQ0FBQztBQUNqRSxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFDdEQsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFDL0QsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFDN0QsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sNkJBQTZCLENBQUM7OztBQTZDakUsTUFBTSxPQUFPLGdCQUFnQjs4R0FBaEIsZ0JBQWdCOytHQUFoQixnQkFBZ0I7K0dBQWhCLGdCQUFnQixZQXpDekIsc0JBQXNCLENBQUMsUUFBUSxDQUFDO2dCQUM5QixPQUFPLEVBQUU7b0JBQ1AsaUJBQWlCO29CQUNqQixFQUFFO29CQUNGLGNBQWM7b0JBQ2QsYUFBYTtvQkFDYixpQkFBaUI7b0JBQ2pCLGtCQUFrQjtvQkFDbEIsa0JBQWtCO29CQUNsQixhQUFhO29CQUNiLGlCQUFpQjtvQkFDakIsZ0JBQWdCO29CQUNoQixFQUFFO29CQUNGLGdCQUFnQjtvQkFDaEIsaUJBQWlCO29CQUNqQixrQkFBa0I7b0JBQ2xCLGlCQUFpQjtvQkFDakIsa0JBQWtCO29CQUNsQixrQkFBa0I7b0JBQ2xCLG9CQUFvQjtvQkFDcEIsZ0JBQWdCO29CQUNoQixzQkFBc0I7b0JBQ3RCLGtCQUFrQjtvQkFDbEIsZUFBZTtvQkFDZixvQkFBb0I7b0JBQ3BCLG9CQUFvQjtvQkFDcEIsZ0JBQWdCO29CQUNoQixnQkFBZ0I7b0JBQ2hCLGVBQWU7b0JBQ2Ysb0JBQW9CO29CQUNwQixnQkFBZ0I7b0JBQ2hCLGVBQWU7b0JBQ2YsaUJBQWlCO29CQUNqQixFQUFFO29CQUNGLGVBQWU7aUJBQ2hCO2FBQ0YsQ0FBQzs7MkZBS08sZ0JBQWdCO2tCQTNDNUIsUUFBUTttQkFBQztvQkFDUixPQUFPLEVBQUU7d0JBQ1Asc0JBQXNCLENBQUMsUUFBUSxDQUFDOzRCQUM5QixPQUFPLEVBQUU7Z0NBQ1AsaUJBQWlCO2dDQUNqQixFQUFFO2dDQUNGLGNBQWM7Z0NBQ2QsYUFBYTtnQ0FDYixpQkFBaUI7Z0NBQ2pCLGtCQUFrQjtnQ0FDbEIsa0JBQWtCO2dDQUNsQixhQUFhO2dDQUNiLGlCQUFpQjtnQ0FDakIsZ0JBQWdCO2dDQUNoQixFQUFFO2dDQUNGLGdCQUFnQjtnQ0FDaEIsaUJBQWlCO2dDQUNqQixrQkFBa0I7Z0NBQ2xCLGlCQUFpQjtnQ0FDakIsa0JBQWtCO2dDQUNsQixrQkFBa0I7Z0NBQ2xCLG9CQUFvQjtnQ0FDcEIsZ0JBQWdCO2dDQUNoQixzQkFBc0I7Z0NBQ3RCLGtCQUFrQjtnQ0FDbEIsZUFBZTtnQ0FDZixvQkFBb0I7Z0NBQ3BCLG9CQUFvQjtnQ0FDcEIsZ0JBQWdCO2dDQUNoQixnQkFBZ0I7Z0NBQ2hCLGVBQWU7Z0NBQ2Ysb0JBQW9CO2dDQUNwQixnQkFBZ0I7Z0NBQ2hCLGVBQWU7Z0NBQ2YsaUJBQWlCO2dDQUNqQixFQUFFO2dDQUNGLGVBQWU7NkJBQ2hCO3lCQUNGLENBQUM7cUJBQ0g7b0JBQ0QsT0FBTyxFQUFFLEVBQUU7b0JBQ1gsWUFBWSxFQUFFLEVBQUU7aUJBQ2pCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQVhQTGF5b3V0QnVpbGRlck1vZHVsZSB9IGZyb20gJ0BhY29yZXgvcGxhdGZvcm0vbGF5b3V0L2J1aWxkZXInO1xuaW1wb3J0IHsgTmdNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7XG4gIEFYUEJsb2NrV2lkZ2V0LFxuICBBWFBCdXR0b25XaWRnZXQsXG4gIEFYUENoZWNrQm94V2lkZ2V0LFxuICBBWFBDb250YWN0V2lkZ2V0LFxuICBBWFBEYXRlVGltZUJveFdpZGdldCxcbiAgLy9BWFBFbWFpbEJveFdpZGdldCxcbiAgQVhQRmlsZUJveFdpZGdldCxcbiAgQVhQR2FsbGVyeVdpZGdldCxcbiAgQVhQTGFyZ2VUZXh0V2lkZ2V0LFxuICAvL0FYUExpbmtXaWRnZXQsXG4gIEFYUE1hcEJveFdpZGdldCxcbiAgQVhQTnVtYmVyQm94V2lkZ2V0LFxuICBBWFBQYWdlV2lkZ2V0LFxuICBBWFBQYXNzd29yZEJveFdpZGdldCxcbiAgLy9BWFBQaG9uZUJveFdpZGdldCxcbiAgQVhQUmVwZWF0ZXJXaWRnZXQsXG4gIEFYUFJpY2hUZXh0V2lkZ2V0LFxuICBBWFBTZWxlY3RCb3hXaWRnZXQsXG4gIEFYUFNlbGVjdGlvbkxpc3RXaWRnZXQsXG4gIEFYUFNpZ25hdHVyZVdpZGdldCxcbiAgQVhQVGV4dEJveFdpZGdldCxcbiAgQVhQVG9nZ2xlV2lkZ2V0LFxufSBmcm9tICcuL3dpZGdldHMnO1xuaW1wb3J0IHsgQVhQUXJjb2RlV2lkZ2V0IH0gZnJvbSAnLi93aWRnZXRzL2FkdmFuY2UvcXJjb2RlJztcbmltcG9ydCB7IEFYUENvbG9yQm94V2lkZ2V0IH0gZnJvbSAnLi93aWRnZXRzL2VkaXRvcnMvY29sb3InO1xuaW1wb3J0IHsgQVhQRG9jdW1lbnRXaWRnZXQgfSBmcm9tICcuL3dpZGdldHMvbGF5b3V0L2RvY3VtZW50L2RvY3VtZW50LXdpZGdldC5jb25maWcnO1xuaW1wb3J0IHsgQVhQRm9ybUZpZWxkV2lkZ2V0IH0gZnJvbSAnLi93aWRnZXRzL2xheW91dC9mb3JtLWZpZWxkJztcbmltcG9ydCB7IEFYUEdyaWRXaWRnZXQgfSBmcm9tICcuL3dpZGdldHMvbGF5b3V0L2dyaWQnO1xuaW1wb3J0IHsgQVhQR3JpZEl0ZW1XaWRnZXQgfSBmcm9tICcuL3dpZGdldHMvbGF5b3V0L2dyaWQtaXRlbSc7XG5pbXBvcnQgeyBBWFBHcmlkUm93V2lkZ2V0IH0gZnJvbSAnLi93aWRnZXRzL2xheW91dC9ncmlkLXJvdyc7XG5pbXBvcnQgeyBBWFBUZXh0QmxvY2tXaWRnZXQgfSBmcm9tICcuL3dpZGdldHMvbGF5b3V0L3RleHQtYmxvY2snO1xuXG5ATmdNb2R1bGUoe1xuICBpbXBvcnRzOiBbXG4gICAgQVhQTGF5b3V0QnVpbGRlck1vZHVsZS5mb3JDaGlsZCh7XG4gICAgICB3aWRnZXRzOiBbXG4gICAgICAgIEFYUERvY3VtZW50V2lkZ2V0LFxuICAgICAgICAvL1xuICAgICAgICBBWFBCbG9ja1dpZGdldCxcbiAgICAgICAgQVhQUGFnZVdpZGdldCxcbiAgICAgICAgQVhQUmVwZWF0ZXJXaWRnZXQsXG4gICAgICAgIEFYUFRleHRCbG9ja1dpZGdldCxcbiAgICAgICAgQVhQRm9ybUZpZWxkV2lkZ2V0LFxuICAgICAgICBBWFBHcmlkV2lkZ2V0LFxuICAgICAgICBBWFBHcmlkSXRlbVdpZGdldCxcbiAgICAgICAgQVhQR3JpZFJvd1dpZGdldCxcbiAgICAgICAgLy9cbiAgICAgICAgQVhQVGV4dEJveFdpZGdldCxcbiAgICAgICAgQVhQQ2hlY2tCb3hXaWRnZXQsXG4gICAgICAgIEFYUFNlbGVjdEJveFdpZGdldCxcbiAgICAgICAgQVhQUmljaFRleHRXaWRnZXQsXG4gICAgICAgIEFYUE51bWJlckJveFdpZGdldCxcbiAgICAgICAgQVhQU2lnbmF0dXJlV2lkZ2V0LFxuICAgICAgICBBWFBEYXRlVGltZUJveFdpZGdldCxcbiAgICAgICAgQVhQQ29udGFjdFdpZGdldCxcbiAgICAgICAgQVhQU2VsZWN0aW9uTGlzdFdpZGdldCxcbiAgICAgICAgQVhQTGFyZ2VUZXh0V2lkZ2V0LFxuICAgICAgICBBWFBNYXBCb3hXaWRnZXQsXG4gICAgICAgIC8vQVhQUGhvbmVCb3hXaWRnZXQsXG4gICAgICAgIC8vQVhQRW1haWxCb3hXaWRnZXQsXG4gICAgICAgIC8vQVhQTGlua1dpZGdldCxcbiAgICAgICAgQVhQRmlsZUJveFdpZGdldCxcbiAgICAgICAgQVhQUXJjb2RlV2lkZ2V0LFxuICAgICAgICBBWFBQYXNzd29yZEJveFdpZGdldCxcbiAgICAgICAgQVhQR2FsbGVyeVdpZGdldCxcbiAgICAgICAgQVhQVG9nZ2xlV2lkZ2V0LFxuICAgICAgICBBWFBDb2xvckJveFdpZGdldCxcbiAgICAgICAgLy9cbiAgICAgICAgQVhQQnV0dG9uV2lkZ2V0LFxuICAgICAgXSxcbiAgICB9KSxcbiAgXSxcbiAgZXhwb3J0czogW10sXG4gIGRlY2xhcmF0aW9uczogW10sXG59KVxuZXhwb3J0IGNsYXNzIEFYUFdpZGdldHNNb2R1bGUge31cbiJdfQ==
110
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid2lkZ2V0cy5tb2R1bGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9saWJzL3BsYXRmb3JtL3dpZGdldHMvc3JjL2xpYi93aWRnZXRzLm1vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSxpQ0FBaUMsQ0FBQztBQUN6RSxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3pDLE9BQU8sRUFDTCxjQUFjLEVBQ2QsZUFBZSxFQUNmLGlCQUFpQixFQUNqQixnQkFBZ0IsRUFDaEIsb0JBQW9CO0FBQ3BCLG9CQUFvQjtBQUNwQixnQkFBZ0IsRUFDaEIsZ0JBQWdCLEVBQ2hCLGtCQUFrQjtBQUNsQixnQkFBZ0I7QUFDaEIsZUFBZSxFQUNmLGtCQUFrQixFQUNsQixhQUFhLEVBQ2Isb0JBQW9CO0FBQ3BCLG9CQUFvQjtBQUNwQixpQkFBaUIsRUFDakIsaUJBQWlCLEVBQ2pCLGtCQUFrQixFQUNsQixzQkFBc0IsRUFDdEIsa0JBQWtCLEVBQ2xCLGdCQUFnQixFQUNoQixlQUFlLEdBQ2hCLE1BQU0sV0FBVyxDQUFDO0FBQ25CLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUMzRCxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUM1RCxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxrREFBa0QsQ0FBQztBQUNyRixPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSw2QkFBNkIsQ0FBQztBQUNqRSxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFDdEQsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFDL0QsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFDN0QsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sNkJBQTZCLENBQUM7QUFDakUsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sMkJBQTJCLENBQUM7OztBQThDOUQsTUFBTSxPQUFPLGdCQUFnQjs4R0FBaEIsZ0JBQWdCOytHQUFoQixnQkFBZ0I7K0dBQWhCLGdCQUFnQixZQTFDekIsc0JBQXNCLENBQUMsUUFBUSxDQUFDO2dCQUM5QixPQUFPLEVBQUU7b0JBQ1AsaUJBQWlCO29CQUNqQixFQUFFO29CQUNGLGlCQUFpQjtvQkFDakIsY0FBYztvQkFDZCxhQUFhO29CQUNiLGlCQUFpQjtvQkFDakIsa0JBQWtCO29CQUNsQixrQkFBa0I7b0JBQ2xCLGFBQWE7b0JBQ2IsaUJBQWlCO29CQUNqQixnQkFBZ0I7b0JBQ2hCLEVBQUU7b0JBQ0YsZ0JBQWdCO29CQUNoQixpQkFBaUI7b0JBQ2pCLGtCQUFrQjtvQkFDbEIsaUJBQWlCO29CQUNqQixrQkFBa0I7b0JBQ2xCLGtCQUFrQjtvQkFDbEIsb0JBQW9CO29CQUNwQixnQkFBZ0I7b0JBQ2hCLHNCQUFzQjtvQkFDdEIsa0JBQWtCO29CQUNsQixlQUFlO29CQUNmLG9CQUFvQjtvQkFDcEIsb0JBQW9CO29CQUNwQixnQkFBZ0I7b0JBQ2hCLGdCQUFnQjtvQkFDaEIsZUFBZTtvQkFDZixvQkFBb0I7b0JBQ3BCLGdCQUFnQjtvQkFDaEIsZUFBZTtvQkFDZixpQkFBaUI7b0JBQ2pCLEVBQUU7b0JBQ0YsZUFBZTtpQkFDaEI7YUFDRixDQUFDOzsyRkFLTyxnQkFBZ0I7a0JBNUM1QixRQUFRO21CQUFDO29CQUNSLE9BQU8sRUFBRTt3QkFDUCxzQkFBc0IsQ0FBQyxRQUFRLENBQUM7NEJBQzlCLE9BQU8sRUFBRTtnQ0FDUCxpQkFBaUI7Z0NBQ2pCLEVBQUU7Z0NBQ0YsaUJBQWlCO2dDQUNqQixjQUFjO2dDQUNkLGFBQWE7Z0NBQ2IsaUJBQWlCO2dDQUNqQixrQkFBa0I7Z0NBQ2xCLGtCQUFrQjtnQ0FDbEIsYUFBYTtnQ0FDYixpQkFBaUI7Z0NBQ2pCLGdCQUFnQjtnQ0FDaEIsRUFBRTtnQ0FDRixnQkFBZ0I7Z0NBQ2hCLGlCQUFpQjtnQ0FDakIsa0JBQWtCO2dDQUNsQixpQkFBaUI7Z0NBQ2pCLGtCQUFrQjtnQ0FDbEIsa0JBQWtCO2dDQUNsQixvQkFBb0I7Z0NBQ3BCLGdCQUFnQjtnQ0FDaEIsc0JBQXNCO2dDQUN0QixrQkFBa0I7Z0NBQ2xCLGVBQWU7Z0NBQ2Ysb0JBQW9CO2dDQUNwQixvQkFBb0I7Z0NBQ3BCLGdCQUFnQjtnQ0FDaEIsZ0JBQWdCO2dDQUNoQixlQUFlO2dDQUNmLG9CQUFvQjtnQ0FDcEIsZ0JBQWdCO2dDQUNoQixlQUFlO2dDQUNmLGlCQUFpQjtnQ0FDakIsRUFBRTtnQ0FDRixlQUFlOzZCQUNoQjt5QkFDRixDQUFDO3FCQUNIO29CQUNELE9BQU8sRUFBRSxFQUFFO29CQUNYLFlBQVksRUFBRSxFQUFFO2lCQUNqQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEFYUExheW91dEJ1aWxkZXJNb2R1bGUgfSBmcm9tICdAYWNvcmV4L3BsYXRmb3JtL2xheW91dC9idWlsZGVyJztcbmltcG9ydCB7IE5nTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge1xuICBBWFBCbG9ja1dpZGdldCxcbiAgQVhQQnV0dG9uV2lkZ2V0LFxuICBBWFBDaGVja0JveFdpZGdldCxcbiAgQVhQQ29udGFjdFdpZGdldCxcbiAgQVhQRGF0ZVRpbWVCb3hXaWRnZXQsXG4gIC8vQVhQRW1haWxCb3hXaWRnZXQsXG4gIEFYUEZpbGVCb3hXaWRnZXQsXG4gIEFYUEdhbGxlcnlXaWRnZXQsXG4gIEFYUExhcmdlVGV4dFdpZGdldCxcbiAgLy9BWFBMaW5rV2lkZ2V0LFxuICBBWFBNYXBCb3hXaWRnZXQsXG4gIEFYUE51bWJlckJveFdpZGdldCxcbiAgQVhQUGFnZVdpZGdldCxcbiAgQVhQUGFzc3dvcmRCb3hXaWRnZXQsXG4gIC8vQVhQUGhvbmVCb3hXaWRnZXQsXG4gIEFYUFJlcGVhdGVyV2lkZ2V0LFxuICBBWFBSaWNoVGV4dFdpZGdldCxcbiAgQVhQU2VsZWN0Qm94V2lkZ2V0LFxuICBBWFBTZWxlY3Rpb25MaXN0V2lkZ2V0LFxuICBBWFBTaWduYXR1cmVXaWRnZXQsXG4gIEFYUFRleHRCb3hXaWRnZXQsXG4gIEFYUFRvZ2dsZVdpZGdldCxcbn0gZnJvbSAnLi93aWRnZXRzJztcbmltcG9ydCB7IEFYUFFyY29kZVdpZGdldCB9IGZyb20gJy4vd2lkZ2V0cy9hZHZhbmNlL3FyY29kZSc7XG5pbXBvcnQgeyBBWFBDb2xvckJveFdpZGdldCB9IGZyb20gJy4vd2lkZ2V0cy9lZGl0b3JzL2NvbG9yJztcbmltcG9ydCB7IEFYUERvY3VtZW50V2lkZ2V0IH0gZnJvbSAnLi93aWRnZXRzL2xheW91dC9kb2N1bWVudC9kb2N1bWVudC13aWRnZXQuY29uZmlnJztcbmltcG9ydCB7IEFYUEZvcm1GaWVsZFdpZGdldCB9IGZyb20gJy4vd2lkZ2V0cy9sYXlvdXQvZm9ybS1maWVsZCc7XG5pbXBvcnQgeyBBWFBHcmlkV2lkZ2V0IH0gZnJvbSAnLi93aWRnZXRzL2xheW91dC9ncmlkJztcbmltcG9ydCB7IEFYUEdyaWRJdGVtV2lkZ2V0IH0gZnJvbSAnLi93aWRnZXRzL2xheW91dC9ncmlkLWl0ZW0nO1xuaW1wb3J0IHsgQVhQR3JpZFJvd1dpZGdldCB9IGZyb20gJy4vd2lkZ2V0cy9sYXlvdXQvZ3JpZC1yb3cnO1xuaW1wb3J0IHsgQVhQVGV4dEJsb2NrV2lkZ2V0IH0gZnJvbSAnLi93aWRnZXRzL2xheW91dC90ZXh0LWJsb2NrJztcbmltcG9ydCB7IEFYUFRlbXBsYXRlV2lkZ2V0IH0gZnJvbSAnLi93aWRnZXRzL2xheW91dC90ZW1wbGF0ZSc7XG5cbkBOZ01vZHVsZSh7XG4gIGltcG9ydHM6IFtcbiAgICBBWFBMYXlvdXRCdWlsZGVyTW9kdWxlLmZvckNoaWxkKHtcbiAgICAgIHdpZGdldHM6IFtcbiAgICAgICAgQVhQRG9jdW1lbnRXaWRnZXQsXG4gICAgICAgIC8vXG4gICAgICAgIEFYUFRlbXBsYXRlV2lkZ2V0LFxuICAgICAgICBBWFBCbG9ja1dpZGdldCxcbiAgICAgICAgQVhQUGFnZVdpZGdldCxcbiAgICAgICAgQVhQUmVwZWF0ZXJXaWRnZXQsXG4gICAgICAgIEFYUFRleHRCbG9ja1dpZGdldCxcbiAgICAgICAgQVhQRm9ybUZpZWxkV2lkZ2V0LFxuICAgICAgICBBWFBHcmlkV2lkZ2V0LFxuICAgICAgICBBWFBHcmlkSXRlbVdpZGdldCxcbiAgICAgICAgQVhQR3JpZFJvd1dpZGdldCxcbiAgICAgICAgLy9cbiAgICAgICAgQVhQVGV4dEJveFdpZGdldCxcbiAgICAgICAgQVhQQ2hlY2tCb3hXaWRnZXQsXG4gICAgICAgIEFYUFNlbGVjdEJveFdpZGdldCxcbiAgICAgICAgQVhQUmljaFRleHRXaWRnZXQsXG4gICAgICAgIEFYUE51bWJlckJveFdpZGdldCxcbiAgICAgICAgQVhQU2lnbmF0dXJlV2lkZ2V0LFxuICAgICAgICBBWFBEYXRlVGltZUJveFdpZGdldCxcbiAgICAgICAgQVhQQ29udGFjdFdpZGdldCxcbiAgICAgICAgQVhQU2VsZWN0aW9uTGlzdFdpZGdldCxcbiAgICAgICAgQVhQTGFyZ2VUZXh0V2lkZ2V0LFxuICAgICAgICBBWFBNYXBCb3hXaWRnZXQsXG4gICAgICAgIC8vQVhQUGhvbmVCb3hXaWRnZXQsXG4gICAgICAgIC8vQVhQRW1haWxCb3hXaWRnZXQsXG4gICAgICAgIC8vQVhQTGlua1dpZGdldCxcbiAgICAgICAgQVhQRmlsZUJveFdpZGdldCxcbiAgICAgICAgQVhQUXJjb2RlV2lkZ2V0LFxuICAgICAgICBBWFBQYXNzd29yZEJveFdpZGdldCxcbiAgICAgICAgQVhQR2FsbGVyeVdpZGdldCxcbiAgICAgICAgQVhQVG9nZ2xlV2lkZ2V0LFxuICAgICAgICBBWFBDb2xvckJveFdpZGdldCxcbiAgICAgICAgLy9cbiAgICAgICAgQVhQQnV0dG9uV2lkZ2V0LFxuICAgICAgXSxcbiAgICB9KSxcbiAgXSxcbiAgZXhwb3J0czogW10sXG4gIGRlY2xhcmF0aW9uczogW10sXG59KVxuZXhwb3J0IGNsYXNzIEFYUFdpZGdldHNNb2R1bGUgeyB9XG4iXX0=
@@ -1 +1 @@
1
- {"version":3,"file":"acorex-platform-auth.mjs","sources":["../../../../libs/platform/auth/src/lib/application/application.loader.ts","../../../../libs/platform/auth/src/lib/tenant/tenant.loader.ts","../../../../libs/platform/auth/src/lib/permission/permission.loader.ts","../../../../libs/platform/auth/src/lib/errors.types.ts","../../../../libs/platform/auth/src/lib/auth-registry.service.ts","../../../../libs/platform/auth/src/lib/feature/feature.loader.ts","../../../../libs/platform/auth/src/lib/feature/feature.directive.ts","../../../../libs/platform/auth/src/lib/feature/feature.guard.ts","../../../../libs/platform/auth/src/lib/session.types.ts","../../../../libs/platform/auth/src/lib/session.service.ts","../../../../libs/platform/auth/src/lib/permission/permission.guard.ts","../../../../libs/platform/auth/src/lib/permission/permission.directive.ts","../../../../libs/platform/auth/src/lib/auth.guard.ts","../../../../libs/platform/auth/src/lib/auth.module.ts","../../../../libs/platform/auth/src/acorex-platform-auth.ts"],"sourcesContent":["import { InjectionToken } from '@angular/core';\nimport { Observable, of } from 'rxjs';\nimport { AXPApplication } from './application.types';\nimport { AXPSessionContext } from '../session.types';\n\nexport interface AXPApplicationLoader {\n getList(context: AXPSessionContext): Observable<AXPApplication[]>;\n}\n\nexport const AXP_APPLICATION_LOADER = new InjectionToken<AXPApplicationLoader>('AXP_APPLICATION_LOADER', {\n providedIn: 'root',\n factory: () => {\n return new AXPApplicationDefaultLoader();\n },\n});\n\nclass AXPApplicationDefaultLoader implements AXPApplicationLoader {\n getList(context: AXPSessionContext): Observable<AXPApplication[]> {\n return of([\n {\n id: '1',\n name: 'default-app',\n title: 'Default Application',\n version: '1.0.0',\n editionName: 'Standard',\n features: [],\n },\n ]);\n }\n}\n","import { InjectionToken } from '@angular/core';\nimport { Observable, of } from 'rxjs';\nimport { AXPTenant } from './tenant.types';\nimport { AXPSessionContext } from '../session.types';\n\nexport interface AXPTenantLoader {\n getList(context: AXPSessionContext): Observable<AXPTenant[]>;\n}\n\nexport const AXP_TENANT_LOADER = new InjectionToken<AXPTenantLoader>('AXP_TENANT_LOADER', {\n providedIn: 'root',\n factory: () => {\n return new AXPTenantDefaultLoader();\n },\n});\n\nclass AXPTenantDefaultLoader implements AXPTenantLoader {\n\n getList(context: AXPSessionContext): Observable<AXPTenant[]> {\n return of([\n {\n id: '1',\n name: 'default-tenant',\n title: 'Default Tenant',\n },\n ]);\n }\n}\n","import { InjectionToken } from \"@angular/core\";\nimport { Observable, of } from \"rxjs\";\nimport { AXPPermission } from \"./permission.types\";\nimport { AXPSessionContext } from \"../session.types\";\n\nexport interface AXPPermissionLoader {\n getList(context: AXPSessionContext): Observable<AXPPermission[]>;\n}\n\nexport const AXP_PERMISSION_LOADER = new InjectionToken<AXPPermissionLoader>('AXP_PERMISSION_LOADER', {\n providedIn: 'root',\n factory: () => {\n return new AXPPermissionDefaultLoader();\n }\n});\n\n\nclass AXPPermissionDefaultLoader implements AXPPermissionLoader {\n getList(context: AXPSessionContext): Observable<AXPPermission[]> {\n return of([])\n }\n}","export class AXPUnauthorizedError extends Error {\n constructor(message?: string, public data?: { redirectUrl?: string }) {\n super(message);\n this.name = 'AXPUnauthorizedError';\n }\n}\n\n\nexport class AXPUnauthenticatedError extends Error {\n constructor(message?: string, public data?: { redirectUrl?: string }) {\n super(message);\n this.name = 'AXPUnauthenticatedError';\n }\n}","import { Injectable, Injector } from \"@angular/core\";\nimport { AXPAuthStrategy } from \"./auth.strategy\";\n\n@Injectable({\n providedIn: 'root'\n})\nexport class AXPAuthStrategyRegistryService {\n private strategies = new Map<string, AXPAuthStrategy>();\n\n private injector: Injector;\n\n constructor(injector: Injector) {\n this.injector = injector;\n }\n\n register(...plugins: (new () => AXPAuthStrategy)[]) {\n plugins.forEach(t => {\n const childInjector = Injector.create({ providers: [{ provide: t, useClass: t, deps: [] }], parent: this.injector });\n const strategy = childInjector.get(t);\n if (strategy) {\n this.strategies.set(strategy.name, strategy);\n }\n })\n }\n\n get(strategyKey: string): AXPAuthStrategy | undefined {\n return this.strategies.get(strategyKey);\n }\n}","import { InjectionToken } from '@angular/core';\nimport { Observable, of } from 'rxjs';\nimport { AXPFeature } from './feature.types';\nimport { AXPSessionContext } from '../session.types';\n\nexport interface AXPFeatureLoader {\n getList(context: AXPSessionContext): Observable<AXPFeature[]>;\n}\n\nexport const AXP_FEATURE_LOADER = new InjectionToken<AXPFeatureLoader>('AXP_FEATURE_LOADER', {\n providedIn: 'root',\n factory: () => {\n return new AXPFeatureDefaultLoader();\n },\n});\n\nclass AXPFeatureDefaultLoader implements AXPFeatureLoader {\n getList(context: AXPSessionContext): Observable<AXPFeature[]> {\n return of([]);\n }\n}\n","import { Directive, Input, TemplateRef, ViewContainerRef, inject, signal } from '@angular/core';\nimport { Subscription, first } from 'rxjs';\nimport { AXPSessionService } from '../session.service';\n\n@Directive({\n selector: '[feature]',\n})\nexport class AXPFeatureDirective {\n private hasView = signal(false);\n private subscription!: Subscription;\n private sessionService = inject(AXPSessionService);\n\n constructor(\n private templateRef: TemplateRef<any>,\n private viewContainer: ViewContainerRef\n ) { }\n\n @Input()\n public set feature(featureKeys: string | string[] | null) {\n const keys: string[] = !featureKeys ? [] : (Array.isArray(featureKeys) ? featureKeys : [featureKeys]);\n if (keys.length == 0) {\n // If featureKey is null or empty, decide the default behavior here\n this.viewContainer.createEmbeddedView(this.templateRef);\n this.hasView.set(true);\n return;\n }\n this.subscription = this.sessionService.features$\n //.pipe(first())\n .subscribe(() => {\n if (this.sessionService.isFeatureEnabled(...keys)) {\n if (!this.hasView()) {\n this.viewContainer.createEmbeddedView(this.templateRef);\n this.hasView.set(true);\n }\n } else {\n this.viewContainer.clear();\n this.hasView.set(false);\n }\n });\n }\n\n @Input()\n public set featureElse(elseTemplateRef: TemplateRef<any>) {\n if (!this.hasView()) {\n this.viewContainer.createEmbeddedView(elseTemplateRef);\n }\n }\n\n ngOnDestroy() {\n this.subscription?.unsubscribe();\n }\n}\n","import { ActivatedRouteSnapshot, CanActivateFn, RouterStateSnapshot, UrlTree } from \"@angular/router\";\nimport { inject } from \"@angular/core\";\nimport { AXPSessionService } from \"../session.service\";\nimport { Observable, first, map } from \"rxjs\";\nimport { AXPUnauthorizedError } from \"../errors.types\";\n\n\nexport const AXPFeatureGuard: CanActivateFn =\n (route: ActivatedRouteSnapshot, state: RouterStateSnapshot): Observable<boolean | UrlTree> => {\n const sessionService = inject(AXPSessionService);\n const requiredFeatures = route.data['requiredFeature'] as (string | string[] | null);\n\n return sessionService.features$.pipe(\n map(() => {\n const keys: string[] = !requiredFeatures ? [] : (Array.isArray(requiredFeatures) ? requiredFeatures : [requiredFeatures]);\n const hasFeature = keys.length == 0 || sessionService.isFeatureEnabled(...keys);\n if (!hasFeature) {\n throw new AXPUnauthorizedError(\n `Access Denied. You do not have access to this feature. Required feature(s): ${keys.join(', ')}. Please contact support if you need access.`,\n {\n redirectUrl: state.url\n }\n );\n }\n return true;\n })\n );\n };\n","import { AXPApplication } from \"./application/application.types\";\nimport { AXPTenant } from \"./tenant/tenant.types\";\nimport { AXPUser } from \"./user/user.types\";\n\nexport class AXPSessionContext {\n\n private _user: AXPUser | null = null;\n public get user(): AXPUser | null {\n return this._user;\n }\n\n private _tenant: AXPTenant | null = null;\n public get tenant(): AXPTenant | null {\n return this._tenant;\n }\n\n private _application: AXPApplication | null = null;\n public get application(): AXPApplication | null {\n return this._application;\n }\n\n constructor(context: {\n user: AXPUser | null,\n tenant: AXPTenant | null,\n application: AXPApplication | null,\n }) {\n this._user = context.user;\n this._tenant = context.tenant;\n this._application = context.application;\n }\n}\n\n\nexport enum AXPSessionStatus {\n Authenticated = \"authenticated\",\n Unauthenticated = \"unauthenticated\",\n Unauthorized = \"unauthorized\",\n Authorized = \"authorized\",\n Expired = \"expired\",\n SignedOut = \"signedOut\"\n}","import { AXPSignInAction, AXPSignOutAction } from '@acorex/platform/common';\nimport { Injectable, inject } from '@angular/core';\nimport { Store } from '@ngrx/store';\nimport { isEmpty, merge } from 'lodash-es';\nimport { BehaviorSubject, Observable, defaultIfEmpty, firstValueFrom, map, shareReplay } from 'rxjs';\nimport { AXP_APPLICATION_LOADER } from './application/application.loader';\nimport { AXPApplication } from './application/application.types';\nimport { AXPAuthStrategyRegistryService } from './auth-registry.service';\nimport { AXPBaseCredentials, AXPSessionData } from './auth.strategy';\nimport { AXPFeature, AXP_FEATURE_LOADER } from './feature';\nimport { AXP_PERMISSION_LOADER } from './permission/permission.loader';\nimport { AXPPermission } from './permission/permission.types';\nimport { AXPSessionContext, AXPSessionStatus } from './session.types';\nimport { AXP_TENANT_LOADER } from './tenant/tenant.loader';\nimport { AXPTenant } from './tenant/tenant.types';\nimport { AXPUser } from './user/user.types';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class AXPSessionService {\n private store = inject(Store);\n\n private authStrategyRegistry = inject(AXPAuthStrategyRegistryService);\n public static readonly SESSION_KEY = 'AXP_SESSION';\n\n private readonly permissionLoader = inject(AXP_PERMISSION_LOADER);\n private readonly featureLoader = inject(AXP_FEATURE_LOADER);\n private readonly tenantLoader = inject(AXP_TENANT_LOADER);\n private readonly applicationLoader = inject(AXP_APPLICATION_LOADER);\n\n private status = new BehaviorSubject<AXPSessionStatus>(AXPSessionStatus.Unauthenticated);\n public readonly status$ = this.status.asObservable().pipe(shareReplay(1));\n\n private currentUserSubject = new BehaviorSubject<AXPUser | null>(null);\n public readonly user$ = this.currentUserSubject.asObservable().pipe(shareReplay(1));\n public get user(): AXPUser | null {\n const session = this.getSessionData();\n if (session?.user && !this.currentUserSubject.value) {\n this.currentUserSubject.next(session.user);\n }\n return this.currentUserSubject.value;\n }\n\n private currentTenantSubject = new BehaviorSubject<AXPTenant | null>(null);\n public readonly tenant$ = this.currentTenantSubject.asObservable().pipe(shareReplay(1));\n public get tenant(): AXPTenant | null {\n const session = this.getSessionData();\n if (session?.tenant && !this.currentTenantSubject.value) {\n this.currentTenantSubject.next(session.tenant);\n }\n return this.currentTenantSubject.value;\n }\n\n public get tenants$(): Observable<AXPTenant[]> {\n return this.tenantLoader.getList(this.getContext());\n }\n\n private currentApplicationSubject = new BehaviorSubject<AXPApplication | null>(null);\n public readonly application$ = this.currentApplicationSubject.asObservable().pipe(shareReplay(1));\n public get application(): AXPApplication | null {\n const session = this.getSessionData();\n if (session?.application && !this.currentApplicationSubject.value) {\n this.currentApplicationSubject.next(session.application);\n }\n return this.currentApplicationSubject.value;\n }\n\n public get applications$(): Observable<AXPApplication[]> {\n return this.applicationLoader.getList(this.getContext());\n }\n\n private permissionsSubject = new BehaviorSubject<AXPPermission[]>([]);\n public readonly permissions$ = this.permissionsSubject.asObservable().pipe(shareReplay(1), defaultIfEmpty([]));\n public get permissions(): AXPPermission[] {\n return this.permissionsSubject.value ?? [];\n }\n\n private featuresSubject = new BehaviorSubject<AXPFeature[]>([]);\n public readonly features$ = this.featuresSubject.asObservable().pipe(shareReplay(1), defaultIfEmpty([]));\n public get features(): AXPFeature[] {\n return this.featuresSubject.value ?? [];\n }\n\n public readonly isAuthenticated$ = this.status$.pipe(\n map((status) => status === AXPSessionStatus.Authenticated || status === AXPSessionStatus.Authorized),\n shareReplay(1)\n );\n\n public readonly isAuthorized$ = this.status$.pipe(\n map((status) => status === AXPSessionStatus.Authorized),\n shareReplay(1)\n );\n\n public async restoreSession(): Promise<void> {\n const sessionData = this.getSessionData();\n if (sessionData) {\n if (sessionData.user) {\n this.currentUserSubject.next(sessionData.user);\n this.status.next(AXPSessionStatus.Authenticated);\n }\n // if (sessionData.tenant) {\n // this.setTenant(sessionData.tenant);\n // }\n // if (sessionData.application) {\n // this.setApplication(sessionData.application);\n // }\n await this.signInComplete();\n } else {\n this.status.next(AXPSessionStatus.Unauthorized);\n }\n }\n\n async signin(credentials: AXPBaseCredentials): Promise<void> {\n const strategy = this.authStrategyRegistry.get(credentials.strategy);\n if (!strategy) {\n throw new Error(`Authentication strategy '${credentials.strategy}' is not supported`);\n }\n const result = await strategy.signin(credentials);\n if (result.succeed) {\n this.currentUserSubject.next(result.data!.user);\n this.setSession({\n accessToken: result.data!.accessToken,\n refreshToken: result.data!.refreshToken,\n strategy: credentials.strategy,\n user: result.data!.user,\n application: result.data?.application,\n tenant: result.data?.tenant,\n expiresIn: result.data?.expiresIn,\n idToken: result.data?.idToken ?? null,\n });\n this.status.next(AXPSessionStatus.Authenticated);\n if (this.application && this.tenant) await this.signInComplete();\n } else {\n this.status.next(AXPSessionStatus.Unauthenticated);\n throw new Error(`Invalid Username or Password`);\n }\n }\n\n async signout(): Promise<void> {\n const sessionData = this.getSessionData();\n if (sessionData?.strategy) {\n const strategy = this.authStrategyRegistry.get(sessionData?.strategy);\n if (strategy) {\n await strategy.signout();\n }\n }\n //\n this.clearSession();\n this.status.next(AXPSessionStatus.SignedOut);\n this.store.dispatch(AXPSignOutAction());\n }\n\n async refreshToken(): Promise<any> {\n return new Promise(async (resolve, reject) => {\n const sessionData = this.getSessionData();\n if (!sessionData || !sessionData?.refreshToken) {\n return;\n }\n const strategy = this.authStrategyRegistry.get(sessionData.strategy);\n if (!strategy) {\n reject();\n throw new Error(`Authentication strategy '${sessionData.strategy}' is not found`);\n }\n const result = await strategy.refreshToken(this.getContext());\n if (result.succeed) {\n this.setSession(result.data as AXPSessionData);\n resolve(result.data?.accessToken);\n } else {\n this.clearSession();\n this.status.next(AXPSessionStatus.Expired);\n }\n });\n }\n\n async setTenant(tenant: AXPTenant | null): Promise<void> {\n defaultIfEmpty;\n this.currentTenantSubject.next(tenant);\n if (tenant) {\n this.updateSession({ tenant: tenant });\n await this.refreshToken();\n }\n }\n\n async setApplication(application: AXPApplication | null): Promise<void> {\n this.currentApplicationSubject.next(application);\n if (application) {\n this.updateSession({ application: application });\n await this.refreshToken();\n }\n }\n\n private async loadPermissions(): Promise<void> {\n try {\n const permissions = await firstValueFrom(this.permissionLoader.getList(this.getContext()));\n this.permissionsSubject.next(permissions ?? []);\n this.store.dispatch(AXPSignInAction());\n } catch (error) {\n console.error('Error loading permissions:', error);\n this.permissionsSubject.next([]);\n }\n }\n\n private async loadFeatures(): Promise<void> {\n try {\n const features = await firstValueFrom(this.featureLoader.getList(this.getContext()));\n this.featuresSubject.next(features ?? []);\n } catch (error) {\n console.error('Error loading features:', error);\n this.featuresSubject.next([]);\n }\n }\n\n async signInComplete() {\n await this.loadPermissions();\n await this.loadFeatures();\n this.status.next(AXPSessionStatus.Authorized);\n }\n\n private setSession(tokens: Partial<AXPSessionData>): void {\n const sessionData: Partial<AXPSessionData> = {\n accessToken: tokens.accessToken,\n refreshToken: tokens.refreshToken,\n strategy: tokens.strategy,\n user: this.user,\n application: tokens.application,\n tenant: tokens.tenant,\n expiresIn: tokens.expiresIn,\n idToken: tokens.idToken,\n };\n this.updateSession(sessionData);\n }\n\n private updateSession(update: Partial<AXPSessionData>) {\n const currentSession = this.getSessionData() ?? {};\n const updatedSession = merge({}, currentSession, update);\n localStorage.setItem(AXPSessionService.SESSION_KEY, JSON.stringify(updatedSession));\n }\n\n public getSessionData(): AXPSessionData | null {\n const sessionDataString = localStorage.getItem(AXPSessionService.SESSION_KEY);\n return sessionDataString ? JSON.parse(sessionDataString) : null;\n }\n\n private clearSession(): void {\n //\n this.currentUserSubject.next(null);\n //\n this.setTenant(null);\n //\n this.setApplication(null);\n //\n this.permissionsSubject.next([]);\n //\n this.featuresSubject.next([]);\n //\n localStorage.removeItem(AXPSessionService.SESSION_KEY);\n }\n\n public authorize(...keys: string[]): boolean {\n return keys.every((k) => isEmpty(k) || this.permissions.indexOf(k) > -1);\n }\n\n public isFeatureEnabled(...keys: string[]): boolean {\n return keys.every((k) => isEmpty(k) || this.features.some((c) => c.name == k && c.value == true));\n }\n\n public getToken(): string | undefined {\n const sessionData = this.getSessionData();\n\n return sessionData?.accessToken;\n }\n\n private checkTokenValidation(): boolean {\n let sessionData = this.getSessionData();\n\n if (sessionData && sessionData?.accessToken && sessionData.expiresIn) {\n const expiresInDate = new Date(sessionData.expiresIn);\n if (expiresInDate > new Date()) {\n // Token is still valid\n return true;\n }\n }\n return false;\n }\n\n private getContext(): AXPSessionContext {\n return new AXPSessionContext({\n user: this.user,\n tenant: this.tenant,\n application: this.application,\n });\n }\n}\n","import { inject } from '@angular/core';\nimport { ActivatedRouteSnapshot, CanActivateFn, RouterStateSnapshot, UrlTree } from '@angular/router';\nimport { first, map, tap } from 'rxjs';\nimport { AXPUnauthorizedError } from '../errors.types';\nimport { AXPSessionService } from '../session.service';\nimport { AXPSessionStatus } from '../session.types';\n\nexport const AXPPermissionGuard: CanActivateFn = (route: ActivatedRouteSnapshot, state: RouterStateSnapshot) => {\n\n const sessionService = inject(AXPSessionService);\n\n const permissionKeys = route.data['requiredPermission'] as string | string[] | null;\n\n return sessionService.isAuthorized$.pipe(\n first(),\n map((value) => {\n const keys: string[] = !permissionKeys ? [] : Array.isArray(permissionKeys) ? permissionKeys : [permissionKeys];\n const hasPermission = keys.length == 0 || sessionService.authorize(...keys);\n if (!hasPermission) {\n throw new AXPUnauthorizedError(\n `Access denied. Required permissions: ${keys.join(', ')}. Please contact your administrator if you believe this is an error.`,\n {\n redirectUrl: state.url\n }\n );\n }\n return true;\n })\n );\n};\n","import { Directive, Input, TemplateRef, ViewContainerRef, inject, signal } from '@angular/core';\nimport { Subscription, first } from 'rxjs';\nimport { AXPSessionService } from '../session.service';\n\n@Directive({\n selector: '[permission]',\n})\nexport class AXPPermissionDirective {\n private hasView = signal(false);\n private subscription!: Subscription;\n private sessionService = inject(AXPSessionService);\n\n constructor(\n private templateRef: TemplateRef<any>,\n private viewContainer: ViewContainerRef\n ) { }\n\n @Input()\n public set permission(permissionKeys: string | string[] | null) {\n const keys: string[] = !permissionKeys ? [] : (Array.isArray(permissionKeys) ? permissionKeys : [permissionKeys]);\n if (keys.length == 0) {\n // If permissionKey is null or empty, decide the default behavior here\n this.viewContainer.createEmbeddedView(this.templateRef);\n this.hasView.set(true);\n return;\n }\n this.subscription = this.sessionService.isAuthorized$\n .subscribe((isAuthorized) => {\n if (isAuthorized && this.sessionService.authorize(...keys)) {\n if (!this.hasView()) {\n this.viewContainer.createEmbeddedView(this.templateRef);\n this.hasView.set(true);\n }\n } else {\n this.viewContainer.clear();\n this.hasView.set(false);\n }\n });\n }\n\n @Input()\n public set permissionElse(elseTemplateRef: TemplateRef<any>) {\n if (!this.hasView()) {\n this.viewContainer.createEmbeddedView(elseTemplateRef);\n }\n }\n\n ngOnDestroy() {\n this.subscription?.unsubscribe();\n }\n}\n","import { inject } from '@angular/core';\nimport { ActivatedRouteSnapshot, CanActivateFn, RouterStateSnapshot } from '@angular/router';\nimport { first, map } from 'rxjs';\nimport { AXPUnauthenticatedError } from './errors.types';\nimport { AXPSessionService } from './session.service';\n\nexport const AXPAuthGuard: CanActivateFn = (route: ActivatedRouteSnapshot, state: RouterStateSnapshot) => {\n const sessionService = inject(AXPSessionService);\n return sessionService.isAuthenticated$.pipe(\n first(),\n map((value) => {\n if (value) {\n return true;\n }\n throw new AXPUnauthenticatedError(\n `Access denied. You are not currently logged in. Please log in to access this page. If you continue to see this message after logging in, please contact support.`,\n {\n redirectUrl: state.url,\n }\n );\n })\n );\n};\n","import { APP_INITIALIZER, Inject, ModuleWithProviders, NgModule, Optional } from '@angular/core';\nimport { AXPAuthStrategyRegistryService } from './auth-registry.service';\nimport { AXPAuthStrategy } from './auth.strategy';\nimport { AXPFeatureDirective } from './feature';\nimport { AXPPermissionDirective } from './permission/permission.directive';\nimport { AXPSessionService } from './session.service';\n\nexport interface AXPAuthModuleConfigs {\n strategies: (new () => AXPAuthStrategy)[];\n}\n\nexport function initializeAppState(service: AXPSessionService) {\n return async () => {\n try {\n await service.restoreSession();\n } catch (error) {\n console.error(error);\n }\n };\n}\n\n@NgModule({\n imports: [],\n exports: [AXPPermissionDirective, AXPFeatureDirective],\n declarations: [AXPPermissionDirective, AXPFeatureDirective],\n providers: [\n {\n provide: APP_INITIALIZER,\n useFactory: initializeAppState,\n deps: [AXPSessionService],\n multi: true,\n },\n ],\n})\nexport class AXPAuthModule {\n static forRoot(configs?: AXPAuthModuleConfigs): ModuleWithProviders<AXPAuthModule> {\n return {\n ngModule: AXPAuthModule,\n providers: [\n ...(configs?.strategies || []),\n {\n provide: 'AXPAuthModuleFactory',\n useFactory: (registry: AXPAuthStrategyRegistryService) => () => {\n registry.register(...(configs?.strategies || []));\n },\n deps: [AXPAuthStrategyRegistryService],\n multi: true,\n },\n ],\n };\n }\n\n static forChild(configs?: AXPAuthModuleConfigs): ModuleWithProviders<AXPAuthModule> {\n return {\n ngModule: AXPAuthModule,\n providers: [\n ...(configs?.strategies || []),\n {\n provide: 'AXPAuthModuleFactory',\n useFactory: (registry: AXPAuthStrategyRegistryService) => () => {\n registry.register(...(configs?.strategies || []));\n },\n deps: [AXPAuthStrategyRegistryService],\n multi: true,\n },\n ],\n };\n }\n\n /**\n * @ignore\n */\n constructor(@Optional() @Inject('AXPAuthModuleFactory') 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":[],"mappings":";;;;;;;MASa,sBAAsB,GAAG,IAAI,cAAc,CAAuB,wBAAwB,EAAE;AACvG,IAAA,UAAU,EAAE,MAAM;IAClB,OAAO,EAAE,MAAK;QACZ,OAAO,IAAI,2BAA2B,EAAE,CAAC;KAC1C;AACF,CAAA,EAAE;AAEH,MAAM,2BAA2B,CAAA;AAC/B,IAAA,OAAO,CAAC,OAA0B,EAAA;AAChC,QAAA,OAAO,EAAE,CAAC;AACR,YAAA;AACE,gBAAA,EAAE,EAAE,GAAG;AACP,gBAAA,IAAI,EAAE,aAAa;AACnB,gBAAA,KAAK,EAAE,qBAAqB;AAC5B,gBAAA,OAAO,EAAE,OAAO;AAChB,gBAAA,WAAW,EAAE,UAAU;AACvB,gBAAA,QAAQ,EAAE,EAAE;AACb,aAAA;AACF,SAAA,CAAC,CAAC;KACJ;AACF;;MCpBY,iBAAiB,GAAG,IAAI,cAAc,CAAkB,mBAAmB,EAAE;AACxF,IAAA,UAAU,EAAE,MAAM;IAClB,OAAO,EAAE,MAAK;QACZ,OAAO,IAAI,sBAAsB,EAAE,CAAC;KACrC;AACF,CAAA,EAAE;AAEH,MAAM,sBAAsB,CAAA;AAE1B,IAAA,OAAO,CAAC,OAA0B,EAAA;AAChC,QAAA,OAAO,EAAE,CAAC;AACR,YAAA;AACE,gBAAA,EAAE,EAAE,GAAG;AACP,gBAAA,IAAI,EAAE,gBAAgB;AACtB,gBAAA,KAAK,EAAE,gBAAgB;AACxB,aAAA;AACF,SAAA,CAAC,CAAC;KACJ;AACF;;MClBY,qBAAqB,GAAG,IAAI,cAAc,CAAsB,uBAAuB,EAAE;AAClG,IAAA,UAAU,EAAE,MAAM;IAClB,OAAO,EAAE,MAAK;QACV,OAAO,IAAI,0BAA0B,EAAE,CAAC;KAC3C;AACJ,CAAA,EAAE;AAGH,MAAM,0BAA0B,CAAA;AAC5B,IAAA,OAAO,CAAC,OAA0B,EAAA;AAC9B,QAAA,OAAO,EAAE,CAAC,EAAE,CAAC,CAAA;KAChB;AACJ;;ACrBK,MAAO,oBAAqB,SAAQ,KAAK,CAAA;IAC3C,WAAY,CAAA,OAAgB,EAAS,IAA+B,EAAA;QAChE,KAAK,CAAC,OAAO,CAAC,CAAC;QADkB,IAAI,CAAA,IAAA,GAAJ,IAAI,CAA2B;AAEhE,QAAA,IAAI,CAAC,IAAI,GAAG,sBAAsB,CAAC;KACtC;AACJ,CAAA;AAGK,MAAO,uBAAwB,SAAQ,KAAK,CAAA;IAC9C,WAAY,CAAA,OAAgB,EAAS,IAA+B,EAAA;QAChE,KAAK,CAAC,OAAO,CAAC,CAAC;QADkB,IAAI,CAAA,IAAA,GAAJ,IAAI,CAA2B;AAEhE,QAAA,IAAI,CAAC,IAAI,GAAG,yBAAyB,CAAC;KACzC;AACJ;;MCPY,8BAA8B,CAAA;AAKzC,IAAA,WAAA,CAAY,QAAkB,EAAA;AAJtB,QAAA,IAAA,CAAA,UAAU,GAAG,IAAI,GAAG,EAA2B,CAAC;AAKtD,QAAA,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC;KAC1B;IAED,QAAQ,CAAC,GAAG,OAAsC,EAAA;AAChD,QAAA,OAAO,CAAC,OAAO,CAAC,CAAC,IAAG;AAClB,YAAA,MAAM,aAAa,GAAG,QAAQ,CAAC,MAAM,CAAC,EAAE,SAAS,EAAE,CAAC,EAAE,OAAO,EAAE,CAAC,EAAE,QAAQ,EAAE,CAAC,EAAE,IAAI,EAAE,EAAE,EAAE,CAAC,EAAE,MAAM,EAAE,IAAI,CAAC,QAAQ,EAAE,CAAC,CAAC;YACrH,MAAM,QAAQ,GAAG,aAAa,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;YACtC,IAAI,QAAQ,EAAE;gBACZ,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,QAAQ,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;aAC9C;AACH,SAAC,CAAC,CAAA;KACH;AAED,IAAA,GAAG,CAAC,WAAmB,EAAA;QACrB,OAAO,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC;KACzC;8GArBU,8BAA8B,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAA,EAAA,CAAA,QAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,UAAA,EAAA,CAAA,CAAA,EAAA;AAA9B,IAAA,SAAA,IAAA,CAAA,KAAA,GAAA,EAAA,CAAA,qBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,8BAA8B,cAF7B,MAAM,EAAA,CAAA,CAAA,EAAA;;2FAEP,8BAA8B,EAAA,UAAA,EAAA,CAAA;kBAH1C,UAAU;AAAC,YAAA,IAAA,EAAA,CAAA;AACV,oBAAA,UAAU,EAAE,MAAM;AACnB,iBAAA,CAAA;;;MCIY,kBAAkB,GAAG,IAAI,cAAc,CAAmB,oBAAoB,EAAE;AAC3F,IAAA,UAAU,EAAE,MAAM;IAClB,OAAO,EAAE,MAAK;QACZ,OAAO,IAAI,uBAAuB,EAAE,CAAC;KACtC;AACF,CAAA,EAAE;AAEH,MAAM,uBAAuB,CAAA;AAC3B,IAAA,OAAO,CAAC,OAA0B,EAAA;AAChC,QAAA,OAAO,EAAE,CAAC,EAAE,CAAC,CAAC;KACf;AACF;;MCbY,mBAAmB,CAAA;IAK9B,WACU,CAAA,WAA6B,EAC7B,aAA+B,EAAA;QAD/B,IAAW,CAAA,WAAA,GAAX,WAAW,CAAkB;QAC7B,IAAa,CAAA,aAAA,GAAb,aAAa,CAAkB;AANjC,QAAA,IAAA,CAAA,OAAO,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC;AAExB,QAAA,IAAA,CAAA,cAAc,GAAG,MAAM,CAAC,iBAAiB,CAAC,CAAC;KAK9C;IAEL,IACW,OAAO,CAAC,WAAqC,EAAA;AACtD,QAAA,MAAM,IAAI,GAAa,CAAC,WAAW,GAAG,EAAE,IAAI,KAAK,CAAC,OAAO,CAAC,WAAW,CAAC,GAAG,WAAW,GAAG,CAAC,WAAW,CAAC,CAAC,CAAC;AACtG,QAAA,IAAI,IAAI,CAAC,MAAM,IAAI,CAAC,EAAE;;YAEpB,IAAI,CAAC,aAAa,CAAC,kBAAkB,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;AACxD,YAAA,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;YACvB,OAAO;SACR;AACD,QAAA,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,cAAc,CAAC,SAAS;;aAE9C,SAAS,CAAC,MAAK;YACd,IAAI,IAAI,CAAC,cAAc,CAAC,gBAAgB,CAAC,GAAG,IAAI,CAAC,EAAE;AACjD,gBAAA,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,EAAE;oBACnB,IAAI,CAAC,aAAa,CAAC,kBAAkB,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;AACxD,oBAAA,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;iBACxB;aACF;iBAAM;AACL,gBAAA,IAAI,CAAC,aAAa,CAAC,KAAK,EAAE,CAAC;AAC3B,gBAAA,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;aACzB;AACH,SAAC,CAAC,CAAC;KACN;IAED,IACW,WAAW,CAAC,eAAiC,EAAA;AACtD,QAAA,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,EAAE;AACnB,YAAA,IAAI,CAAC,aAAa,CAAC,kBAAkB,CAAC,eAAe,CAAC,CAAC;SACxD;KACF;IAED,WAAW,GAAA;AACT,QAAA,IAAI,CAAC,YAAY,EAAE,WAAW,EAAE,CAAC;KAClC;8GA3CU,mBAAmB,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAA,EAAA,CAAA,WAAA,EAAA,EAAA,EAAA,KAAA,EAAA,EAAA,CAAA,gBAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA,EAAA;kGAAnB,mBAAmB,EAAA,QAAA,EAAA,WAAA,EAAA,MAAA,EAAA,EAAA,OAAA,EAAA,SAAA,EAAA,WAAA,EAAA,aAAA,EAAA,EAAA,QAAA,EAAA,EAAA,EAAA,CAAA,CAAA,EAAA;;2FAAnB,mBAAmB,EAAA,UAAA,EAAA,CAAA;kBAH/B,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACT,oBAAA,QAAQ,EAAE,WAAW;AACtB,iBAAA,CAAA;+GAYY,OAAO,EAAA,CAAA;sBADjB,KAAK;gBAyBK,WAAW,EAAA,CAAA;sBADrB,KAAK;;;MClCK,eAAe,GAC1B,CAAC,KAA6B,EAAE,KAA0B,KAAmC;AAC3F,IAAA,MAAM,cAAc,GAAG,MAAM,CAAC,iBAAiB,CAAC,CAAC;IACjD,MAAM,gBAAgB,GAAG,KAAK,CAAC,IAAI,CAAC,iBAAiB,CAA+B,CAAC;IAErF,OAAO,cAAc,CAAC,SAAS,CAAC,IAAI,CAClC,GAAG,CAAC,MAAK;AACP,QAAA,MAAM,IAAI,GAAa,CAAC,gBAAgB,GAAG,EAAE,IAAI,KAAK,CAAC,OAAO,CAAC,gBAAgB,CAAC,GAAG,gBAAgB,GAAG,CAAC,gBAAgB,CAAC,CAAC,CAAC;AAC1H,QAAA,MAAM,UAAU,GAAG,IAAI,CAAC,MAAM,IAAI,CAAC,IAAI,cAAc,CAAC,gBAAgB,CAAC,GAAG,IAAI,CAAC,CAAC;QAChF,IAAI,CAAC,UAAU,EAAE;YACf,MAAM,IAAI,oBAAoB,CAC5B,CAA+E,4EAAA,EAAA,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA,4CAAA,CAA8C,EAC5I;gBACE,WAAW,EAAE,KAAK,CAAC,GAAG;AACvB,aAAA,CACF,CAAC;SACH;AACD,QAAA,OAAO,IAAI,CAAC;KACb,CAAC,CACH,CAAC;AACJ;;MCvBW,iBAAiB,CAAA;AAG1B,IAAA,IAAW,IAAI,GAAA;QACX,OAAO,IAAI,CAAC,KAAK,CAAC;KACrB;AAGD,IAAA,IAAW,MAAM,GAAA;QACb,OAAO,IAAI,CAAC,OAAO,CAAC;KACvB;AAGD,IAAA,IAAW,WAAW,GAAA;QAClB,OAAO,IAAI,CAAC,YAAY,CAAC;KAC5B;AAED,IAAA,WAAA,CAAY,OAIX,EAAA;QAnBO,IAAK,CAAA,KAAA,GAAmB,IAAI,CAAC;QAK7B,IAAO,CAAA,OAAA,GAAqB,IAAI,CAAC;QAKjC,IAAY,CAAA,YAAA,GAA0B,IAAI,CAAC;AAU/C,QAAA,IAAI,CAAC,KAAK,GAAG,OAAO,CAAC,IAAI,CAAC;AAC1B,QAAA,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC,MAAM,CAAC;AAC9B,QAAA,IAAI,CAAC,YAAY,GAAG,OAAO,CAAC,WAAW,CAAC;KAC3C;AACJ,CAAA;IAGW,iBAOX;AAPD,CAAA,UAAY,gBAAgB,EAAA;AACxB,IAAA,gBAAA,CAAA,eAAA,CAAA,GAAA,eAA+B,CAAA;AAC/B,IAAA,gBAAA,CAAA,iBAAA,CAAA,GAAA,iBAAmC,CAAA;AACnC,IAAA,gBAAA,CAAA,cAAA,CAAA,GAAA,cAA6B,CAAA;AAC7B,IAAA,gBAAA,CAAA,YAAA,CAAA,GAAA,YAAyB,CAAA;AACzB,IAAA,gBAAA,CAAA,SAAA,CAAA,GAAA,SAAmB,CAAA;AACnB,IAAA,gBAAA,CAAA,WAAA,CAAA,GAAA,WAAuB,CAAA;AAC3B,CAAC,EAPW,gBAAgB,KAAhB,gBAAgB,GAO3B,EAAA,CAAA,CAAA;;MCpBY,iBAAiB,CAAA;AAH9B,IAAA,WAAA,GAAA;AAIU,QAAA,IAAA,CAAA,KAAK,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC;AAEtB,QAAA,IAAA,CAAA,oBAAoB,GAAG,MAAM,CAAC,8BAA8B,CAAC,CAAC;AAGrD,QAAA,IAAA,CAAA,gBAAgB,GAAG,MAAM,CAAC,qBAAqB,CAAC,CAAC;AACjD,QAAA,IAAA,CAAA,aAAa,GAAG,MAAM,CAAC,kBAAkB,CAAC,CAAC;AAC3C,QAAA,IAAA,CAAA,YAAY,GAAG,MAAM,CAAC,iBAAiB,CAAC,CAAC;AACzC,QAAA,IAAA,CAAA,iBAAiB,GAAG,MAAM,CAAC,sBAAsB,CAAC,CAAC;QAE5D,IAAM,CAAA,MAAA,GAAG,IAAI,eAAe,CAAmB,gBAAgB,CAAC,eAAe,CAAC,CAAC;AACzE,QAAA,IAAA,CAAA,OAAO,GAAG,IAAI,CAAC,MAAM,CAAC,YAAY,EAAE,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC;AAElE,QAAA,IAAA,CAAA,kBAAkB,GAAG,IAAI,eAAe,CAAiB,IAAI,CAAC,CAAC;AACvD,QAAA,IAAA,CAAA,KAAK,GAAG,IAAI,CAAC,kBAAkB,CAAC,YAAY,EAAE,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC;AAS5E,QAAA,IAAA,CAAA,oBAAoB,GAAG,IAAI,eAAe,CAAmB,IAAI,CAAC,CAAC;AAC3D,QAAA,IAAA,CAAA,OAAO,GAAG,IAAI,CAAC,oBAAoB,CAAC,YAAY,EAAE,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC;AAahF,QAAA,IAAA,CAAA,yBAAyB,GAAG,IAAI,eAAe,CAAwB,IAAI,CAAC,CAAC;AACrE,QAAA,IAAA,CAAA,YAAY,GAAG,IAAI,CAAC,yBAAyB,CAAC,YAAY,EAAE,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC;AAa1F,QAAA,IAAA,CAAA,kBAAkB,GAAG,IAAI,eAAe,CAAkB,EAAE,CAAC,CAAC;QACtD,IAAY,CAAA,YAAA,GAAG,IAAI,CAAC,kBAAkB,CAAC,YAAY,EAAE,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,EAAE,cAAc,CAAC,EAAE,CAAC,CAAC,CAAC;AAKvG,QAAA,IAAA,CAAA,eAAe,GAAG,IAAI,eAAe,CAAe,EAAE,CAAC,CAAC;QAChD,IAAS,CAAA,SAAA,GAAG,IAAI,CAAC,eAAe,CAAC,YAAY,EAAE,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,EAAE,cAAc,CAAC,EAAE,CAAC,CAAC,CAAC;AAKzF,QAAA,IAAA,CAAA,gBAAgB,GAAG,IAAI,CAAC,OAAO,CAAC,IAAI,CAClD,GAAG,CAAC,CAAC,MAAM,KAAK,MAAM,KAAK,gBAAgB,CAAC,aAAa,IAAI,MAAM,KAAK,gBAAgB,CAAC,UAAU,CAAC,EACpG,WAAW,CAAC,CAAC,CAAC,CACf,CAAC;QAEc,IAAa,CAAA,aAAA,GAAG,IAAI,CAAC,OAAO,CAAC,IAAI,CAC/C,GAAG,CAAC,CAAC,MAAM,KAAK,MAAM,KAAK,gBAAgB,CAAC,UAAU,CAAC,EACvD,WAAW,CAAC,CAAC,CAAC,CACf,CAAC;AAyMH,KAAA;aA7QwB,IAAW,CAAA,WAAA,GAAG,aAAH,CAAiB,EAAA;AAYnD,IAAA,IAAW,IAAI,GAAA;AACb,QAAA,MAAM,OAAO,GAAG,IAAI,CAAC,cAAc,EAAE,CAAC;QACtC,IAAI,OAAO,EAAE,IAAI,IAAI,CAAC,IAAI,CAAC,kBAAkB,CAAC,KAAK,EAAE;YACnD,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;SAC5C;AACD,QAAA,OAAO,IAAI,CAAC,kBAAkB,CAAC,KAAK,CAAC;KACtC;AAID,IAAA,IAAW,MAAM,GAAA;AACf,QAAA,MAAM,OAAO,GAAG,IAAI,CAAC,cAAc,EAAE,CAAC;QACtC,IAAI,OAAO,EAAE,MAAM,IAAI,CAAC,IAAI,CAAC,oBAAoB,CAAC,KAAK,EAAE;YACvD,IAAI,CAAC,oBAAoB,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;SAChD;AACD,QAAA,OAAO,IAAI,CAAC,oBAAoB,CAAC,KAAK,CAAC;KACxC;AAED,IAAA,IAAW,QAAQ,GAAA;QACjB,OAAO,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC,IAAI,CAAC,UAAU,EAAE,CAAC,CAAC;KACrD;AAID,IAAA,IAAW,WAAW,GAAA;AACpB,QAAA,MAAM,OAAO,GAAG,IAAI,CAAC,cAAc,EAAE,CAAC;QACtC,IAAI,OAAO,EAAE,WAAW,IAAI,CAAC,IAAI,CAAC,yBAAyB,CAAC,KAAK,EAAE;YACjE,IAAI,CAAC,yBAAyB,CAAC,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC;SAC1D;AACD,QAAA,OAAO,IAAI,CAAC,yBAAyB,CAAC,KAAK,CAAC;KAC7C;AAED,IAAA,IAAW,aAAa,GAAA;QACtB,OAAO,IAAI,CAAC,iBAAiB,CAAC,OAAO,CAAC,IAAI,CAAC,UAAU,EAAE,CAAC,CAAC;KAC1D;AAID,IAAA,IAAW,WAAW,GAAA;AACpB,QAAA,OAAO,IAAI,CAAC,kBAAkB,CAAC,KAAK,IAAI,EAAE,CAAC;KAC5C;AAID,IAAA,IAAW,QAAQ,GAAA;AACjB,QAAA,OAAO,IAAI,CAAC,eAAe,CAAC,KAAK,IAAI,EAAE,CAAC;KACzC;AAYM,IAAA,MAAM,cAAc,GAAA;AACzB,QAAA,MAAM,WAAW,GAAG,IAAI,CAAC,cAAc,EAAE,CAAC;QAC1C,IAAI,WAAW,EAAE;AACf,YAAA,IAAI,WAAW,CAAC,IAAI,EAAE;gBACpB,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;gBAC/C,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,gBAAgB,CAAC,aAAa,CAAC,CAAC;aAClD;;;;;;;AAOD,YAAA,MAAM,IAAI,CAAC,cAAc,EAAE,CAAC;SAC7B;aAAM;YACL,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,gBAAgB,CAAC,YAAY,CAAC,CAAC;SACjD;KACF;IAED,MAAM,MAAM,CAAC,WAA+B,EAAA;AAC1C,QAAA,MAAM,QAAQ,GAAG,IAAI,CAAC,oBAAoB,CAAC,GAAG,CAAC,WAAW,CAAC,QAAQ,CAAC,CAAC;QACrE,IAAI,CAAC,QAAQ,EAAE;YACb,MAAM,IAAI,KAAK,CAAC,CAAA,yBAAA,EAA4B,WAAW,CAAC,QAAQ,CAAoB,kBAAA,CAAA,CAAC,CAAC;SACvF;QACD,MAAM,MAAM,GAAG,MAAM,QAAQ,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC;AAClD,QAAA,IAAI,MAAM,CAAC,OAAO,EAAE;YAClB,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,MAAM,CAAC,IAAK,CAAC,IAAI,CAAC,CAAC;YAChD,IAAI,CAAC,UAAU,CAAC;AACd,gBAAA,WAAW,EAAE,MAAM,CAAC,IAAK,CAAC,WAAW;AACrC,gBAAA,YAAY,EAAE,MAAM,CAAC,IAAK,CAAC,YAAY;gBACvC,QAAQ,EAAE,WAAW,CAAC,QAAQ;AAC9B,gBAAA,IAAI,EAAE,MAAM,CAAC,IAAK,CAAC,IAAI;AACvB,gBAAA,WAAW,EAAE,MAAM,CAAC,IAAI,EAAE,WAAW;AACrC,gBAAA,MAAM,EAAE,MAAM,CAAC,IAAI,EAAE,MAAM;AAC3B,gBAAA,SAAS,EAAE,MAAM,CAAC,IAAI,EAAE,SAAS;AACjC,gBAAA,OAAO,EAAE,MAAM,CAAC,IAAI,EAAE,OAAO,IAAI,IAAI;AACtC,aAAA,CAAC,CAAC;YACH,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,gBAAgB,CAAC,aAAa,CAAC,CAAC;AACjD,YAAA,IAAI,IAAI,CAAC,WAAW,IAAI,IAAI,CAAC,MAAM;AAAE,gBAAA,MAAM,IAAI,CAAC,cAAc,EAAE,CAAC;SAClE;aAAM;YACL,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,gBAAgB,CAAC,eAAe,CAAC,CAAC;AACnD,YAAA,MAAM,IAAI,KAAK,CAAC,CAAA,4BAAA,CAA8B,CAAC,CAAC;SACjD;KACF;AAED,IAAA,MAAM,OAAO,GAAA;AACX,QAAA,MAAM,WAAW,GAAG,IAAI,CAAC,cAAc,EAAE,CAAC;AAC1C,QAAA,IAAI,WAAW,EAAE,QAAQ,EAAE;AACzB,YAAA,MAAM,QAAQ,GAAG,IAAI,CAAC,oBAAoB,CAAC,GAAG,CAAC,WAAW,EAAE,QAAQ,CAAC,CAAC;YACtE,IAAI,QAAQ,EAAE;AACZ,gBAAA,MAAM,QAAQ,CAAC,OAAO,EAAE,CAAC;aAC1B;SACF;;QAED,IAAI,CAAC,YAAY,EAAE,CAAC;QACpB,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,gBAAgB,CAAC,SAAS,CAAC,CAAC;QAC7C,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,gBAAgB,EAAE,CAAC,CAAC;KACzC;AAED,IAAA,MAAM,YAAY,GAAA;QAChB,OAAO,IAAI,OAAO,CAAC,OAAO,OAAO,EAAE,MAAM,KAAI;AAC3C,YAAA,MAAM,WAAW,GAAG,IAAI,CAAC,cAAc,EAAE,CAAC;YAC1C,IAAI,CAAC,WAAW,IAAI,CAAC,WAAW,EAAE,YAAY,EAAE;gBAC9C,OAAO;aACR;AACD,YAAA,MAAM,QAAQ,GAAG,IAAI,CAAC,oBAAoB,CAAC,GAAG,CAAC,WAAW,CAAC,QAAQ,CAAC,CAAC;YACrE,IAAI,CAAC,QAAQ,EAAE;AACb,gBAAA,MAAM,EAAE,CAAC;gBACT,MAAM,IAAI,KAAK,CAAC,CAAA,yBAAA,EAA4B,WAAW,CAAC,QAAQ,CAAgB,cAAA,CAAA,CAAC,CAAC;aACnF;AACD,YAAA,MAAM,MAAM,GAAG,MAAM,QAAQ,CAAC,YAAY,CAAC,IAAI,CAAC,UAAU,EAAE,CAAC,CAAC;AAC9D,YAAA,IAAI,MAAM,CAAC,OAAO,EAAE;AAClB,gBAAA,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,IAAsB,CAAC,CAAC;AAC/C,gBAAA,OAAO,CAAC,MAAM,CAAC,IAAI,EAAE,WAAW,CAAC,CAAC;aACnC;iBAAM;gBACL,IAAI,CAAC,YAAY,EAAE,CAAC;gBACpB,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,gBAAgB,CAAC,OAAO,CAAC,CAAC;aAC5C;AACH,SAAC,CAAC,CAAC;KACJ;IAED,MAAM,SAAS,CAAC,MAAwB,EAAA;AACtC,QAAA,cAAc,CAAC;AACf,QAAA,IAAI,CAAC,oBAAoB,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QACvC,IAAI,MAAM,EAAE;YACV,IAAI,CAAC,aAAa,CAAC,EAAE,MAAM,EAAE,MAAM,EAAE,CAAC,CAAC;AACvC,YAAA,MAAM,IAAI,CAAC,YAAY,EAAE,CAAC;SAC3B;KACF;IAED,MAAM,cAAc,CAAC,WAAkC,EAAA;AACrD,QAAA,IAAI,CAAC,yBAAyB,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;QACjD,IAAI,WAAW,EAAE;YACf,IAAI,CAAC,aAAa,CAAC,EAAE,WAAW,EAAE,WAAW,EAAE,CAAC,CAAC;AACjD,YAAA,MAAM,IAAI,CAAC,YAAY,EAAE,CAAC;SAC3B;KACF;AAEO,IAAA,MAAM,eAAe,GAAA;AAC3B,QAAA,IAAI;AACF,YAAA,MAAM,WAAW,GAAG,MAAM,cAAc,CAAC,IAAI,CAAC,gBAAgB,CAAC,OAAO,CAAC,IAAI,CAAC,UAAU,EAAE,CAAC,CAAC,CAAC;YAC3F,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,WAAW,IAAI,EAAE,CAAC,CAAC;YAChD,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,eAAe,EAAE,CAAC,CAAC;SACxC;QAAC,OAAO,KAAK,EAAE;AACd,YAAA,OAAO,CAAC,KAAK,CAAC,4BAA4B,EAAE,KAAK,CAAC,CAAC;AACnD,YAAA,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;SAClC;KACF;AAEO,IAAA,MAAM,YAAY,GAAA;AACxB,QAAA,IAAI;AACF,YAAA,MAAM,QAAQ,GAAG,MAAM,cAAc,CAAC,IAAI,CAAC,aAAa,CAAC,OAAO,CAAC,IAAI,CAAC,UAAU,EAAE,CAAC,CAAC,CAAC;YACrF,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,QAAQ,IAAI,EAAE,CAAC,CAAC;SAC3C;QAAC,OAAO,KAAK,EAAE;AACd,YAAA,OAAO,CAAC,KAAK,CAAC,yBAAyB,EAAE,KAAK,CAAC,CAAC;AAChD,YAAA,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;SAC/B;KACF;AAED,IAAA,MAAM,cAAc,GAAA;AAClB,QAAA,MAAM,IAAI,CAAC,eAAe,EAAE,CAAC;AAC7B,QAAA,MAAM,IAAI,CAAC,YAAY,EAAE,CAAC;QAC1B,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,gBAAgB,CAAC,UAAU,CAAC,CAAC;KAC/C;AAEO,IAAA,UAAU,CAAC,MAA+B,EAAA;AAChD,QAAA,MAAM,WAAW,GAA4B;YAC3C,WAAW,EAAE,MAAM,CAAC,WAAW;YAC/B,YAAY,EAAE,MAAM,CAAC,YAAY;YACjC,QAAQ,EAAE,MAAM,CAAC,QAAQ;YACzB,IAAI,EAAE,IAAI,CAAC,IAAI;YACf,WAAW,EAAE,MAAM,CAAC,WAAW;YAC/B,MAAM,EAAE,MAAM,CAAC,MAAM;YACrB,SAAS,EAAE,MAAM,CAAC,SAAS;YAC3B,OAAO,EAAE,MAAM,CAAC,OAAO;SACxB,CAAC;AACF,QAAA,IAAI,CAAC,aAAa,CAAC,WAAW,CAAC,CAAC;KACjC;AAEO,IAAA,aAAa,CAAC,MAA+B,EAAA;QACnD,MAAM,cAAc,GAAG,IAAI,CAAC,cAAc,EAAE,IAAI,EAAE,CAAC;QACnD,MAAM,cAAc,GAAG,KAAK,CAAC,EAAE,EAAE,cAAc,EAAE,MAAM,CAAC,CAAC;AACzD,QAAA,YAAY,CAAC,OAAO,CAAC,iBAAiB,CAAC,WAAW,EAAE,IAAI,CAAC,SAAS,CAAC,cAAc,CAAC,CAAC,CAAC;KACrF;IAEM,cAAc,GAAA;QACnB,MAAM,iBAAiB,GAAG,YAAY,CAAC,OAAO,CAAC,iBAAiB,CAAC,WAAW,CAAC,CAAC;AAC9E,QAAA,OAAO,iBAAiB,GAAG,IAAI,CAAC,KAAK,CAAC,iBAAiB,CAAC,GAAG,IAAI,CAAC;KACjE;IAEO,YAAY,GAAA;;AAElB,QAAA,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;;AAEnC,QAAA,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;;AAErB,QAAA,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC;;AAE1B,QAAA,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;;AAEjC,QAAA,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;;AAE9B,QAAA,YAAY,CAAC,UAAU,CAAC,iBAAiB,CAAC,WAAW,CAAC,CAAC;KACxD;IAEM,SAAS,CAAC,GAAG,IAAc,EAAA;QAChC,OAAO,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK,OAAO,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;KAC1E;IAEM,gBAAgB,CAAC,GAAG,IAAc,EAAA;AACvC,QAAA,OAAO,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK,OAAO,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,IAAI,IAAI,CAAC,IAAI,CAAC,CAAC,KAAK,IAAI,IAAI,CAAC,CAAC,CAAC;KACnG;IAEM,QAAQ,GAAA;AACb,QAAA,MAAM,WAAW,GAAG,IAAI,CAAC,cAAc,EAAE,CAAC;QAE1C,OAAO,WAAW,EAAE,WAAW,CAAC;KACjC;IAEO,oBAAoB,GAAA;AAC1B,QAAA,IAAI,WAAW,GAAG,IAAI,CAAC,cAAc,EAAE,CAAC;QAExC,IAAI,WAAW,IAAI,WAAW,EAAE,WAAW,IAAI,WAAW,CAAC,SAAS,EAAE;YACpE,MAAM,aAAa,GAAG,IAAI,IAAI,CAAC,WAAW,CAAC,SAAS,CAAC,CAAC;AACtD,YAAA,IAAI,aAAa,GAAG,IAAI,IAAI,EAAE,EAAE;;AAE9B,gBAAA,OAAO,IAAI,CAAC;aACb;SACF;AACD,QAAA,OAAO,KAAK,CAAC;KACd;IAEO,UAAU,GAAA;QAChB,OAAO,IAAI,iBAAiB,CAAC;YAC3B,IAAI,EAAE,IAAI,CAAC,IAAI;YACf,MAAM,EAAE,IAAI,CAAC,MAAM;YACnB,WAAW,EAAE,IAAI,CAAC,WAAW;AAC9B,SAAA,CAAC,CAAC;KACJ;8GAhRU,iBAAiB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,UAAA,EAAA,CAAA,CAAA,EAAA;AAAjB,IAAA,SAAA,IAAA,CAAA,KAAA,GAAA,EAAA,CAAA,qBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,iBAAiB,cAFhB,MAAM,EAAA,CAAA,CAAA,EAAA;;2FAEP,iBAAiB,EAAA,UAAA,EAAA,CAAA;kBAH7B,UAAU;AAAC,YAAA,IAAA,EAAA,CAAA;AACV,oBAAA,UAAU,EAAE,MAAM;AACnB,iBAAA,CAAA;;;MCZY,kBAAkB,GAAkB,CAAC,KAA6B,EAAE,KAA0B,KAAI;AAE7G,IAAA,MAAM,cAAc,GAAG,MAAM,CAAC,iBAAiB,CAAC,CAAC;IAEjD,MAAM,cAAc,GAAG,KAAK,CAAC,IAAI,CAAC,oBAAoB,CAA6B,CAAC;AAEpF,IAAA,OAAO,cAAc,CAAC,aAAa,CAAC,IAAI,CACtC,KAAK,EAAE,EACP,GAAG,CAAC,CAAC,KAAK,KAAI;QACZ,MAAM,IAAI,GAAa,CAAC,cAAc,GAAG,EAAE,GAAG,KAAK,CAAC,OAAO,CAAC,cAAc,CAAC,GAAG,cAAc,GAAG,CAAC,cAAc,CAAC,CAAC;AAChH,QAAA,MAAM,aAAa,GAAG,IAAI,CAAC,MAAM,IAAI,CAAC,IAAI,cAAc,CAAC,SAAS,CAAC,GAAG,IAAI,CAAC,CAAC;QAC5E,IAAI,CAAC,aAAa,EAAE;YAClB,MAAM,IAAI,oBAAoB,CAC5B,CAAwC,qCAAA,EAAA,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA,oEAAA,CAAsE,EAC7H;gBACE,WAAW,EAAE,KAAK,CAAC,GAAG;AACvB,aAAA,CACF,CAAC;SACH;AACD,QAAA,OAAO,IAAI,CAAC;KACb,CAAC,CACH,CAAC;AACJ;;MCtBa,sBAAsB,CAAA;IAKjC,WACU,CAAA,WAA6B,EAC7B,aAA+B,EAAA;QAD/B,IAAW,CAAA,WAAA,GAAX,WAAW,CAAkB;QAC7B,IAAa,CAAA,aAAA,GAAb,aAAa,CAAkB;AANjC,QAAA,IAAA,CAAA,OAAO,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC;AAExB,QAAA,IAAA,CAAA,cAAc,GAAG,MAAM,CAAC,iBAAiB,CAAC,CAAC;KAK9C;IAEL,IACW,UAAU,CAAC,cAAwC,EAAA;AAC5D,QAAA,MAAM,IAAI,GAAa,CAAC,cAAc,GAAG,EAAE,IAAI,KAAK,CAAC,OAAO,CAAC,cAAc,CAAC,GAAG,cAAc,GAAG,CAAC,cAAc,CAAC,CAAC,CAAC;AAClH,QAAA,IAAI,IAAI,CAAC,MAAM,IAAI,CAAC,EAAE;;YAEpB,IAAI,CAAC,aAAa,CAAC,kBAAkB,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;AACxD,YAAA,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;YACvB,OAAO;SACR;AACD,QAAA,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,cAAc,CAAC,aAAa;AAClD,aAAA,SAAS,CAAC,CAAC,YAAY,KAAI;AAC1B,YAAA,IAAI,YAAY,IAAI,IAAI,CAAC,cAAc,CAAC,SAAS,CAAC,GAAG,IAAI,CAAC,EAAE;AAC1D,gBAAA,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,EAAE;oBACnB,IAAI,CAAC,aAAa,CAAC,kBAAkB,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;AACxD,oBAAA,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;iBACxB;aACF;iBAAM;AACL,gBAAA,IAAI,CAAC,aAAa,CAAC,KAAK,EAAE,CAAC;AAC3B,gBAAA,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;aACzB;AACH,SAAC,CAAC,CAAC;KACN;IAED,IACW,cAAc,CAAC,eAAiC,EAAA;AACzD,QAAA,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,EAAE;AACnB,YAAA,IAAI,CAAC,aAAa,CAAC,kBAAkB,CAAC,eAAe,CAAC,CAAC;SACxD;KACF;IAED,WAAW,GAAA;AACT,QAAA,IAAI,CAAC,YAAY,EAAE,WAAW,EAAE,CAAC;KAClC;8GA1CU,sBAAsB,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAA,EAAA,CAAA,WAAA,EAAA,EAAA,EAAA,KAAA,EAAA,EAAA,CAAA,gBAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA,EAAA;kGAAtB,sBAAsB,EAAA,QAAA,EAAA,cAAA,EAAA,MAAA,EAAA,EAAA,UAAA,EAAA,YAAA,EAAA,cAAA,EAAA,gBAAA,EAAA,EAAA,QAAA,EAAA,EAAA,EAAA,CAAA,CAAA,EAAA;;2FAAtB,sBAAsB,EAAA,UAAA,EAAA,CAAA;kBAHlC,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACT,oBAAA,QAAQ,EAAE,cAAc;AACzB,iBAAA,CAAA;+GAYY,UAAU,EAAA,CAAA;sBADpB,KAAK;gBAwBK,cAAc,EAAA,CAAA;sBADxB,KAAK;;;MClCK,YAAY,GAAkB,CAAC,KAA6B,EAAE,KAA0B,KAAI;AACvG,IAAA,MAAM,cAAc,GAAG,MAAM,CAAC,iBAAiB,CAAC,CAAC;AACjD,IAAA,OAAO,cAAc,CAAC,gBAAgB,CAAC,IAAI,CACzC,KAAK,EAAE,EACP,GAAG,CAAC,CAAC,KAAK,KAAI;QACZ,IAAI,KAAK,EAAE;AACT,YAAA,OAAO,IAAI,CAAC;SACb;AACD,QAAA,MAAM,IAAI,uBAAuB,CAC/B,CAAA,gKAAA,CAAkK,EAClK;YACE,WAAW,EAAE,KAAK,CAAC,GAAG;AACvB,SAAA,CACF,CAAC;KACH,CAAC,CACH,CAAC;AACJ;;ACXM,SAAU,kBAAkB,CAAC,OAA0B,EAAA;IAC3D,OAAO,YAAW;AAChB,QAAA,IAAI;AACF,YAAA,MAAM,OAAO,CAAC,cAAc,EAAE,CAAC;SAChC;QAAC,OAAO,KAAK,EAAE;AACd,YAAA,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;SACtB;AACH,KAAC,CAAC;AACJ,CAAC;MAeY,aAAa,CAAA;IACxB,OAAO,OAAO,CAAC,OAA8B,EAAA;QAC3C,OAAO;AACL,YAAA,QAAQ,EAAE,aAAa;AACvB,YAAA,SAAS,EAAE;AACT,gBAAA,IAAI,OAAO,EAAE,UAAU,IAAI,EAAE,CAAC;AAC9B,gBAAA;AACE,oBAAA,OAAO,EAAE,sBAAsB;AAC/B,oBAAA,UAAU,EAAE,CAAC,QAAwC,KAAK,MAAK;AAC7D,wBAAA,QAAQ,CAAC,QAAQ,CAAC,IAAI,OAAO,EAAE,UAAU,IAAI,EAAE,CAAC,CAAC,CAAC;qBACnD;oBACD,IAAI,EAAE,CAAC,8BAA8B,CAAC;AACtC,oBAAA,KAAK,EAAE,IAAI;AACZ,iBAAA;AACF,aAAA;SACF,CAAC;KACH;IAED,OAAO,QAAQ,CAAC,OAA8B,EAAA;QAC5C,OAAO;AACL,YAAA,QAAQ,EAAE,aAAa;AACvB,YAAA,SAAS,EAAE;AACT,gBAAA,IAAI,OAAO,EAAE,UAAU,IAAI,EAAE,CAAC;AAC9B,gBAAA;AACE,oBAAA,OAAO,EAAE,sBAAsB;AAC/B,oBAAA,UAAU,EAAE,CAAC,QAAwC,KAAK,MAAK;AAC7D,wBAAA,QAAQ,CAAC,QAAQ,CAAC,IAAI,OAAO,EAAE,UAAU,IAAI,EAAE,CAAC,CAAC,CAAC;qBACnD;oBACD,IAAI,EAAE,CAAC,8BAA8B,CAAC;AACtC,oBAAA,KAAK,EAAE,IAAI;AACZ,iBAAA;AACF,aAAA;SACF,CAAC;KACH;AAED;;AAEG;AACH,IAAA,WAAA,CAAwD,SAAgB,EAAA;AACtE,QAAA,SAAS,EAAE,OAAO,CAAC,CAAC,CAAC,KAAI;AACvB,YAAA,CAAC,EAAE,CAAC;AACN,SAAC,CAAC,CAAC;KACJ;AA1CU,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,kBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,aAAa,kBAsCQ,sBAAsB,EAAA,QAAA,EAAA,IAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,QAAA,EAAA,CAAA,CAAA,EAAA;AAtC3C,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,mBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,aAAa,iBAVT,sBAAsB,EAAE,mBAAmB,CADhD,EAAA,OAAA,EAAA,CAAA,sBAAsB,EAAE,mBAAmB,CAAA,EAAA,CAAA,CAAA,EAAA;AAW1C,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,mBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,aAAa,EATb,SAAA,EAAA;AACT,YAAA;AACE,gBAAA,OAAO,EAAE,eAAe;AACxB,gBAAA,UAAU,EAAE,kBAAkB;gBAC9B,IAAI,EAAE,CAAC,iBAAiB,CAAC;AACzB,gBAAA,KAAK,EAAE,IAAI;AACZ,aAAA;AACF,SAAA,EAAA,CAAA,CAAA,EAAA;;2FAEU,aAAa,EAAA,UAAA,EAAA,CAAA;kBAbzB,QAAQ;AAAC,YAAA,IAAA,EAAA,CAAA;AACR,oBAAA,OAAO,EAAE,EAAE;AACX,oBAAA,OAAO,EAAE,CAAC,sBAAsB,EAAE,mBAAmB,CAAC;AACtD,oBAAA,YAAY,EAAE,CAAC,sBAAsB,EAAE,mBAAmB,CAAC;AAC3D,oBAAA,SAAS,EAAE;AACT,wBAAA;AACE,4BAAA,OAAO,EAAE,eAAe;AACxB,4BAAA,UAAU,EAAE,kBAAkB;4BAC9B,IAAI,EAAE,CAAC,iBAAiB,CAAC;AACzB,4BAAA,KAAK,EAAE,IAAI;AACZ,yBAAA;AACF,qBAAA;AACF,iBAAA,CAAA;;0BAuCc,QAAQ;;0BAAI,MAAM;2BAAC,sBAAsB,CAAA;;;ACxExD;;AAEG;;;;"}
1
+ {"version":3,"file":"acorex-platform-auth.mjs","sources":["../../../../libs/platform/auth/src/lib/application/application.loader.ts","../../../../libs/platform/auth/src/lib/tenant/tenant.loader.ts","../../../../libs/platform/auth/src/lib/permission/permission.loader.ts","../../../../libs/platform/auth/src/lib/errors.types.ts","../../../../libs/platform/auth/src/lib/auth-registry.service.ts","../../../../libs/platform/auth/src/lib/feature/feature.loader.ts","../../../../libs/platform/auth/src/lib/feature/feature.directive.ts","../../../../libs/platform/auth/src/lib/feature/feature.guard.ts","../../../../libs/platform/auth/src/lib/session.types.ts","../../../../libs/platform/auth/src/lib/session.service.ts","../../../../libs/platform/auth/src/lib/permission/permission.guard.ts","../../../../libs/platform/auth/src/lib/permission/permission.directive.ts","../../../../libs/platform/auth/src/lib/auth.guard.ts","../../../../libs/platform/auth/src/lib/auth.module.ts","../../../../libs/platform/auth/src/acorex-platform-auth.ts"],"sourcesContent":["import { InjectionToken } from '@angular/core';\nimport { Observable, of } from 'rxjs';\nimport { AXPApplication } from './application.types';\nimport { AXPSessionContext } from '../session.types';\n\nexport interface AXPApplicationLoader {\n getList(context: AXPSessionContext): Observable<AXPApplication[]>;\n}\n\nexport const AXP_APPLICATION_LOADER = new InjectionToken<AXPApplicationLoader>('AXP_APPLICATION_LOADER', {\n providedIn: 'root',\n factory: () => {\n return new AXPApplicationDefaultLoader();\n },\n});\n\nclass AXPApplicationDefaultLoader implements AXPApplicationLoader {\n getList(context: AXPSessionContext): Observable<AXPApplication[]> {\n return of([\n {\n id: '1',\n name: 'default-app',\n title: 'Default Application',\n version: '1.0.0',\n editionName: 'Standard',\n features: [],\n },\n ]);\n }\n}\n","import { InjectionToken } from '@angular/core';\nimport { Observable, of } from 'rxjs';\nimport { AXPTenant } from './tenant.types';\nimport { AXPSessionContext } from '../session.types';\n\nexport interface AXPTenantLoader {\n getList(context: AXPSessionContext): Observable<AXPTenant[]>;\n}\n\nexport const AXP_TENANT_LOADER = new InjectionToken<AXPTenantLoader>('AXP_TENANT_LOADER', {\n providedIn: 'root',\n factory: () => {\n return new AXPTenantDefaultLoader();\n },\n});\n\nclass AXPTenantDefaultLoader implements AXPTenantLoader {\n\n getList(context: AXPSessionContext): Observable<AXPTenant[]> {\n return of([\n {\n id: '1',\n name: 'default-tenant',\n title: 'Default Tenant',\n },\n ]);\n }\n}\n","import { InjectionToken } from \"@angular/core\";\nimport { Observable, of } from \"rxjs\";\nimport { AXPPermission } from \"./permission.types\";\nimport { AXPSessionContext } from \"../session.types\";\n\nexport interface AXPPermissionLoader {\n getList(context: AXPSessionContext): Observable<AXPPermission[]>;\n}\n\nexport const AXP_PERMISSION_LOADER = new InjectionToken<AXPPermissionLoader>('AXP_PERMISSION_LOADER', {\n providedIn: 'root',\n factory: () => {\n return new AXPPermissionDefaultLoader();\n }\n});\n\n\nclass AXPPermissionDefaultLoader implements AXPPermissionLoader {\n getList(context: AXPSessionContext): Observable<AXPPermission[]> {\n return of([])\n }\n}","export class AXPUnauthorizedError extends Error {\n constructor(message?: string, public data?: { redirectUrl?: string }) {\n super(message);\n this.name = 'AXPUnauthorizedError';\n }\n}\n\n\nexport class AXPUnauthenticatedError extends Error {\n constructor(message?: string, public data?: { redirectUrl?: string }) {\n super(message);\n this.name = 'AXPUnauthenticatedError';\n }\n}","import { Injectable, Injector } from \"@angular/core\";\nimport { AXPAuthStrategy } from \"./auth.strategy\";\n\n@Injectable({\n providedIn: 'root'\n})\nexport class AXPAuthStrategyRegistryService {\n private strategies = new Map<string, AXPAuthStrategy>();\n\n private injector: Injector;\n\n constructor(injector: Injector) {\n this.injector = injector;\n }\n\n register(...plugins: (new () => AXPAuthStrategy)[]) {\n plugins.forEach(t => {\n const childInjector = Injector.create({ providers: [{ provide: t, useClass: t, deps: [] }], parent: this.injector });\n const strategy = childInjector.get(t);\n if (strategy) {\n this.strategies.set(strategy.name, strategy);\n }\n })\n }\n\n get(strategyKey: string): AXPAuthStrategy | undefined {\n return this.strategies.get(strategyKey);\n }\n}","import { InjectionToken } from '@angular/core';\nimport { Observable, of } from 'rxjs';\nimport { AXPFeature } from './feature.types';\nimport { AXPSessionContext } from '../session.types';\n\nexport interface AXPFeatureLoader {\n getList(context: AXPSessionContext): Observable<AXPFeature[]>;\n}\n\nexport const AXP_FEATURE_LOADER = new InjectionToken<AXPFeatureLoader>('AXP_FEATURE_LOADER', {\n providedIn: 'root',\n factory: () => {\n return new AXPFeatureDefaultLoader();\n },\n});\n\nclass AXPFeatureDefaultLoader implements AXPFeatureLoader {\n getList(context: AXPSessionContext): Observable<AXPFeature[]> {\n return of([]);\n }\n}\n","import { Directive, Input, TemplateRef, ViewContainerRef, inject, signal } from '@angular/core';\nimport { Subscription, first } from 'rxjs';\nimport { AXPSessionService } from '../session.service';\n\n@Directive({\n selector: '[feature]',\n})\nexport class AXPFeatureDirective {\n private hasView = signal(false);\n private subscription!: Subscription;\n private sessionService = inject(AXPSessionService);\n\n constructor(\n private templateRef: TemplateRef<any>,\n private viewContainer: ViewContainerRef\n ) { }\n\n @Input()\n public set feature(featureKeys: string | string[] | null) {\n const keys: string[] = !featureKeys ? [] : (Array.isArray(featureKeys) ? featureKeys : [featureKeys]);\n if (keys.length == 0) {\n // If featureKey is null or empty, decide the default behavior here\n this.viewContainer.createEmbeddedView(this.templateRef);\n this.hasView.set(true);\n return;\n }\n this.subscription = this.sessionService.features$\n //.pipe(first())\n .subscribe(() => {\n if (this.sessionService.isFeatureEnabled(...keys)) {\n if (!this.hasView()) {\n this.viewContainer.createEmbeddedView(this.templateRef);\n this.hasView.set(true);\n }\n } else {\n this.viewContainer.clear();\n this.hasView.set(false);\n }\n });\n }\n\n @Input()\n public set featureElse(elseTemplateRef: TemplateRef<any>) {\n if (!this.hasView()) {\n this.viewContainer.createEmbeddedView(elseTemplateRef);\n }\n }\n\n ngOnDestroy() {\n this.subscription?.unsubscribe();\n }\n}\n","import { ActivatedRouteSnapshot, CanActivateFn, RouterStateSnapshot, UrlTree } from \"@angular/router\";\nimport { inject } from \"@angular/core\";\nimport { AXPSessionService } from \"../session.service\";\nimport { Observable, first, map } from \"rxjs\";\nimport { AXPUnauthorizedError } from \"../errors.types\";\n\n\nexport const AXPFeatureGuard: CanActivateFn =\n (route: ActivatedRouteSnapshot, state: RouterStateSnapshot): Observable<boolean | UrlTree> => {\n const sessionService = inject(AXPSessionService);\n const requiredFeatures = route.data['requiredFeature'] as (string | string[] | null);\n\n return sessionService.features$.pipe(\n map(() => {\n const keys: string[] = !requiredFeatures ? [] : (Array.isArray(requiredFeatures) ? requiredFeatures : [requiredFeatures]);\n const hasFeature = keys.length == 0 || sessionService.isFeatureEnabled(...keys);\n if (!hasFeature) {\n throw new AXPUnauthorizedError(\n `Access Denied. You do not have access to this feature. Required feature(s): ${keys.join(', ')}. Please contact support if you need access.`,\n {\n redirectUrl: state.url\n }\n );\n }\n return true;\n })\n );\n };\n","import { AXPApplication } from \"./application/application.types\";\nimport { AXPTenant } from \"./tenant/tenant.types\";\nimport { AXPUser } from \"./user/user.types\";\n\nexport class AXPSessionContext {\n\n private _user: AXPUser | null = null;\n public get user(): AXPUser | null {\n return this._user;\n }\n\n private _tenant: AXPTenant | null = null;\n public get tenant(): AXPTenant | null {\n return this._tenant;\n }\n\n private _application: AXPApplication | null = null;\n public get application(): AXPApplication | null {\n return this._application;\n }\n\n constructor(context: {\n user: AXPUser | null,\n tenant: AXPTenant | null,\n application: AXPApplication | null,\n }) {\n this._user = context.user;\n this._tenant = context.tenant;\n this._application = context.application;\n }\n}\n\n\nexport enum AXPSessionStatus {\n Authenticated = \"authenticated\",\n Unauthenticated = \"unauthenticated\",\n Unauthorized = \"unauthorized\",\n Authorized = \"authorized\",\n Expired = \"expired\",\n SignedOut = \"signedOut\"\n}","import { AXPSignInAction, AXPSignOutAction } from '@acorex/platform/common';\nimport { Injectable, inject } from '@angular/core';\nimport { Store } from '@ngrx/store';\nimport { isEmpty, merge } from 'lodash-es';\nimport { BehaviorSubject, Observable, defaultIfEmpty, firstValueFrom, map, shareReplay } from 'rxjs';\nimport { AXP_APPLICATION_LOADER } from './application/application.loader';\nimport { AXPApplication } from './application/application.types';\nimport { AXPAuthStrategyRegistryService } from './auth-registry.service';\nimport { AXPBaseCredentials, AXPSessionData } from './auth.strategy';\nimport { AXPFeature, AXP_FEATURE_LOADER } from './feature';\nimport { AXP_PERMISSION_LOADER } from './permission/permission.loader';\nimport { AXPPermission } from './permission/permission.types';\nimport { AXPSessionContext, AXPSessionStatus } from './session.types';\nimport { AXP_TENANT_LOADER } from './tenant/tenant.loader';\nimport { AXPTenant } from './tenant/tenant.types';\nimport { AXPUser } from './user/user.types';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class AXPSessionService {\n private store = inject(Store);\n\n private authStrategyRegistry = inject(AXPAuthStrategyRegistryService);\n public static readonly SESSION_KEY = 'AXP_SESSION';\n\n private readonly permissionLoader = inject(AXP_PERMISSION_LOADER);\n private readonly featureLoader = inject(AXP_FEATURE_LOADER);\n private readonly tenantLoader = inject(AXP_TENANT_LOADER);\n private readonly applicationLoader = inject(AXP_APPLICATION_LOADER);\n\n private status = new BehaviorSubject<AXPSessionStatus>(AXPSessionStatus.Unauthenticated);\n public readonly status$ = this.status.asObservable().pipe(shareReplay(1));\n\n private currentUserSubject = new BehaviorSubject<AXPUser | null>(null);\n public readonly user$ = this.currentUserSubject.asObservable().pipe(shareReplay(1));\n public get user(): AXPUser | null {\n const session = this.getSessionData();\n if (session?.user && !this.currentUserSubject.value) {\n this.currentUserSubject.next(session.user);\n }\n return this.currentUserSubject.value;\n }\n\n private currentTenantSubject = new BehaviorSubject<AXPTenant | null>(null);\n public readonly tenant$ = this.currentTenantSubject.asObservable().pipe(shareReplay(1));\n public get tenant(): AXPTenant | null {\n const session = this.getSessionData();\n if (session?.tenant && !this.currentTenantSubject.value) {\n this.currentTenantSubject.next(session.tenant);\n }\n return this.currentTenantSubject.value;\n }\n\n public get tenants$(): Observable<AXPTenant[]> {\n return this.tenantLoader.getList(this.getContext());\n }\n\n private currentApplicationSubject = new BehaviorSubject<AXPApplication | null>(null);\n public readonly application$ = this.currentApplicationSubject.asObservable().pipe(shareReplay(1));\n public get application(): AXPApplication | null {\n const session = this.getSessionData();\n if (session?.application && !this.currentApplicationSubject.value) {\n this.currentApplicationSubject.next(session.application);\n }\n return this.currentApplicationSubject.value;\n }\n\n public get applications$(): Observable<AXPApplication[]> {\n return this.applicationLoader.getList(this.getContext());\n }\n\n private permissionsSubject = new BehaviorSubject<AXPPermission[]>([]);\n public readonly permissions$ = this.permissionsSubject.asObservable().pipe(shareReplay(1), defaultIfEmpty([]));\n public get permissions(): AXPPermission[] {\n return this.permissionsSubject.value ?? [];\n }\n\n private featuresSubject = new BehaviorSubject<AXPFeature[]>([]);\n public readonly features$ = this.featuresSubject.asObservable().pipe(shareReplay(1), defaultIfEmpty([]));\n public get features(): AXPFeature[] {\n return this.featuresSubject.value ?? [];\n }\n\n public readonly isAuthenticated$ = this.status$.pipe(\n map((status) => status === AXPSessionStatus.Authenticated || status === AXPSessionStatus.Authorized),\n shareReplay(1)\n );\n\n public readonly isAuthorized$ = this.status$.pipe(\n map((status) => status === AXPSessionStatus.Authorized),\n shareReplay(1)\n );\n\n public async restoreSession(): Promise<void> {\n const sessionData = this.getSessionData();\n if (sessionData) {\n if (sessionData.user) {\n this.currentUserSubject.next(sessionData.user);\n this.status.next(AXPSessionStatus.Authenticated);\n }\n // if (sessionData.tenant) {\n // this.setTenant(sessionData.tenant);\n // }\n // if (sessionData.application) {\n // this.setApplication(sessionData.application);\n // }\n await this.signInComplete();\n } else {\n this.status.next(AXPSessionStatus.Unauthorized);\n }\n }\n\n async signin(credentials: AXPBaseCredentials): Promise<void> {\n const strategy = this.authStrategyRegistry.get(credentials.strategy);\n if (!strategy) {\n throw new Error(`Authentication strategy '${credentials.strategy}' is not supported`);\n }\n const result = await strategy.signin(credentials);\n if (result.succeed) {\n this.currentUserSubject.next(result.data!.user);\n this.setSession({\n accessToken: result.data!.accessToken,\n refreshToken: result.data!.refreshToken,\n strategy: credentials.strategy,\n user: result.data!.user,\n application: result.data?.application,\n tenant: result.data?.tenant,\n expiresIn: result.data?.expiresIn,\n idToken: result.data?.idToken ?? null,\n });\n this.status.next(AXPSessionStatus.Authenticated);\n if (this.application && this.tenant) await this.signInComplete();\n } else {\n this.status.next(AXPSessionStatus.Unauthenticated);\n throw new Error(`Invalid Username or Password`);\n }\n }\n\n async signout(): Promise<void> {\n const sessionData = this.getSessionData();\n if (sessionData?.strategy) {\n const strategy = this.authStrategyRegistry.get(sessionData?.strategy);\n if (strategy) {\n await strategy.signout();\n }\n }\n //\n this.clearSession();\n this.status.next(AXPSessionStatus.SignedOut);\n this.store.dispatch(AXPSignOutAction());\n }\n\n async refreshToken(): Promise<any> {\n return new Promise(async (resolve, reject) => {\n const sessionData = this.getSessionData();\n if (!sessionData || !sessionData?.refreshToken) {\n return;\n }\n const strategy = this.authStrategyRegistry.get(sessionData.strategy);\n if (!strategy) {\n reject();\n throw new Error(`Authentication strategy '${sessionData.strategy}' is not found`);\n }\n const result = await strategy.refreshToken(this.getContext());\n if (result.succeed) {\n this.setSession(result.data as AXPSessionData);\n resolve(result.data?.accessToken);\n } else {\n this.clearSession();\n this.status.next(AXPSessionStatus.Expired);\n }\n });\n }\n\n async setTenant(tenant: AXPTenant | null): Promise<void> {\n defaultIfEmpty;\n this.currentTenantSubject.next(tenant);\n if (tenant) {\n this.updateSession({ tenant: tenant });\n await this.refreshToken();\n }\n }\n\n async setApplication(application: AXPApplication | null): Promise<void> {\n this.currentApplicationSubject.next(application);\n if (application) {\n this.updateSession({ application: application });\n await this.refreshToken();\n }\n }\n\n private async loadPermissions(): Promise<void> {\n try {\n const permissions = await firstValueFrom(this.permissionLoader.getList(this.getContext()));\n this.permissionsSubject.next(permissions ?? []);\n this.store.dispatch(AXPSignInAction());\n } catch (error) {\n console.error('Error loading permissions:', error);\n this.permissionsSubject.next([]);\n }\n }\n\n private async loadFeatures(): Promise<void> {\n try {\n const features = await firstValueFrom(this.featureLoader.getList(this.getContext()));\n this.featuresSubject.next(features ?? []);\n } catch (error) {\n console.error('Error loading features:', error);\n this.featuresSubject.next([]);\n }\n }\n\n async signInComplete() {\n await this.loadPermissions();\n await this.loadFeatures();\n this.status.next(AXPSessionStatus.Authorized);\n }\n\n private setSession(tokens: Partial<AXPSessionData>): void {\n const sessionData: Partial<AXPSessionData> = {\n accessToken: tokens.accessToken,\n refreshToken: tokens.refreshToken,\n strategy: tokens.strategy,\n user: this.user,\n application: tokens.application,\n tenant: tokens.tenant,\n expiresIn: tokens.expiresIn,\n idToken: tokens.idToken,\n };\n this.updateSession(sessionData);\n }\n\n private updateSession(update: Partial<AXPSessionData>) {\n const currentSession = this.getSessionData() ?? {};\n const updatedSession = merge({}, currentSession, update);\n localStorage.setItem(AXPSessionService.SESSION_KEY, JSON.stringify(updatedSession));\n }\n\n public getSessionData(): AXPSessionData | null {\n const sessionDataString = localStorage.getItem(AXPSessionService.SESSION_KEY);\n return sessionDataString ? JSON.parse(sessionDataString) : null;\n }\n\n private clearSession(): void {\n //\n this.currentUserSubject.next(null);\n //\n this.setTenant(null);\n //\n this.setApplication(null);\n //\n this.permissionsSubject.next([]);\n //\n this.featuresSubject.next([]);\n //\n localStorage.removeItem(AXPSessionService.SESSION_KEY);\n }\n\n public authorize(...keys: string[]): boolean {\n return keys.every((k) => isEmpty(k) || this.permissions.indexOf(k) > -1);\n }\n\n public isFeatureEnabled(...keys: string[]): boolean {\n return keys.every((k) => isEmpty(k) || this.features.some((c) => c.name == k && c.value == true));\n }\n\n public getToken(): string | undefined {\n const sessionData = this.getSessionData();\n\n return sessionData?.accessToken;\n }\n\n private checkTokenValidation(): boolean {\n let sessionData = this.getSessionData();\n\n if (sessionData && sessionData?.accessToken && sessionData.expiresIn) {\n const expiresInDate = new Date(sessionData.expiresIn);\n if (expiresInDate > new Date()) {\n // Token is still valid\n return true;\n }\n }\n return false;\n }\n\n private getContext(): AXPSessionContext {\n return new AXPSessionContext({\n user: this.user,\n tenant: this.tenant,\n application: this.application,\n });\n }\n}\n","import { inject } from '@angular/core';\nimport { ActivatedRouteSnapshot, CanActivateFn, RouterStateSnapshot, UrlTree } from '@angular/router';\nimport { first, map, tap } from 'rxjs';\nimport { AXPUnauthorizedError } from '../errors.types';\nimport { AXPSessionService } from '../session.service';\nimport { AXPSessionStatus } from '../session.types';\n\nexport const AXPPermissionGuard: CanActivateFn = (route: ActivatedRouteSnapshot, state: RouterStateSnapshot) => {\n\n const sessionService = inject(AXPSessionService);\n\n const permissionKeys = route.data['requiredPermission'] as string | string[] | null;\n\n return sessionService.isAuthorized$.pipe(\n first(),\n map((value) => {\n const keys: string[] = !permissionKeys ? [] : Array.isArray(permissionKeys) ? permissionKeys : [permissionKeys];\n const hasPermission = keys.length == 0 || sessionService.authorize(...keys);\n if (!hasPermission) {\n throw new AXPUnauthorizedError(\n `Access denied. Required permissions: ${keys.join(', ')}. Please contact your administrator if you believe this is an error.`,\n {\n redirectUrl: state.url\n }\n );\n }\n return true;\n })\n );\n};\n","import { Directive, Input, TemplateRef, ViewContainerRef, inject, signal } from '@angular/core';\nimport { Subscription, first } from 'rxjs';\nimport { AXPSessionService } from '../session.service';\n\n@Directive({\n selector: '[permission]',\n})\nexport class AXPPermissionDirective {\n private hasView = signal(false);\n private subscription!: Subscription;\n private sessionService = inject(AXPSessionService);\n\n constructor(\n private templateRef: TemplateRef<any>,\n private viewContainer: ViewContainerRef\n ) { }\n\n @Input()\n public set permission(permissionKeys: string | string[] | null) {\n const keys: string[] = !permissionKeys ? [] : (Array.isArray(permissionKeys) ? permissionKeys : [permissionKeys]);\n if (keys.length == 0) {\n // If permissionKey is null or empty, decide the default behavior here\n this.viewContainer.createEmbeddedView(this.templateRef);\n this.hasView.set(true);\n return;\n }\n this.subscription = this.sessionService.isAuthorized$\n .subscribe((isAuthorized) => {\n if (isAuthorized && this.sessionService.authorize(...keys)) {\n if (!this.hasView()) {\n this.viewContainer.createEmbeddedView(this.templateRef);\n this.hasView.set(true);\n }\n } else {\n this.viewContainer.clear();\n this.hasView.set(false);\n }\n });\n }\n\n @Input()\n public set permissionElse(elseTemplateRef: TemplateRef<any>) {\n if (!this.hasView()) {\n this.viewContainer.createEmbeddedView(elseTemplateRef);\n }\n }\n\n ngOnDestroy() {\n this.subscription?.unsubscribe();\n }\n}\n","import { inject } from '@angular/core';\nimport { ActivatedRouteSnapshot, CanActivateFn, RouterStateSnapshot } from '@angular/router';\nimport { first, map } from 'rxjs';\nimport { AXPUnauthenticatedError } from './errors.types';\nimport { AXPSessionService } from './session.service';\n\nexport const AXPAuthGuard: CanActivateFn = (route: ActivatedRouteSnapshot, state: RouterStateSnapshot) => {\n const sessionService = inject(AXPSessionService);\n return sessionService.isAuthenticated$.pipe(\n first(),\n map((value) => {\n if (value) {\n return true;\n }\n throw new AXPUnauthenticatedError(\n `Access denied. You are not currently logged in. Please log in to access this page. If you continue to see this message after logging in, please contact support.`,\n {\n redirectUrl: state.url,\n }\n );\n })\n );\n};\n","import { APP_INITIALIZER, Inject, ModuleWithProviders, NgModule, Optional } from '@angular/core';\nimport { AXPAuthStrategyRegistryService } from './auth-registry.service';\nimport { AXPAuthStrategy } from './auth.strategy';\nimport { AXPFeatureDirective } from './feature';\nimport { AXPPermissionDirective } from './permission/permission.directive';\nimport { AXPSessionService } from './session.service';\n\nexport interface AXPAuthModuleConfigs {\n strategies: (new () => AXPAuthStrategy)[];\n}\n\nexport function initializeAppState(service: AXPSessionService) {\n return async () => {\n try {\n await service.restoreSession();\n } catch (error) {\n console.error(error);\n }\n };\n}\n\n@NgModule({\n imports: [],\n exports: [AXPPermissionDirective, AXPFeatureDirective],\n declarations: [AXPPermissionDirective, AXPFeatureDirective],\n providers: [\n {\n provide: APP_INITIALIZER,\n useFactory: initializeAppState,\n deps: [AXPSessionService],\n multi: true,\n },\n ],\n})\nexport class AXPAuthModule {\n static forRoot(configs?: AXPAuthModuleConfigs): ModuleWithProviders<AXPAuthModule> {\n return {\n ngModule: AXPAuthModule,\n providers: [\n ...(configs?.strategies || []),\n {\n provide: 'AXPAuthModuleFactory',\n useFactory: (registry: AXPAuthStrategyRegistryService) => () => {\n registry.register(...(configs?.strategies || []));\n },\n deps: [AXPAuthStrategyRegistryService],\n multi: true,\n },\n ],\n };\n }\n\n static forChild(configs?: AXPAuthModuleConfigs): ModuleWithProviders<AXPAuthModule> {\n return {\n ngModule: AXPAuthModule,\n providers: [\n ...(configs?.strategies || []),\n {\n provide: 'AXPAuthModuleFactory',\n useFactory: (registry: AXPAuthStrategyRegistryService) => () => {\n registry.register(...(configs?.strategies || []));\n },\n deps: [AXPAuthStrategyRegistryService],\n multi: true,\n },\n ],\n };\n }\n\n /**\n * @ignore\n */\n constructor(@Optional() @Inject('AXPAuthModuleFactory') 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":[],"mappings":";;;;;;;MASa,sBAAsB,GAAG,IAAI,cAAc,CAAuB,wBAAwB,EAAE;AACvG,IAAA,UAAU,EAAE,MAAM;IAClB,OAAO,EAAE,MAAK;QACZ,OAAO,IAAI,2BAA2B,EAAE;KACzC;AACF,CAAA;AAED,MAAM,2BAA2B,CAAA;AAC/B,IAAA,OAAO,CAAC,OAA0B,EAAA;AAChC,QAAA,OAAO,EAAE,CAAC;AACR,YAAA;AACE,gBAAA,EAAE,EAAE,GAAG;AACP,gBAAA,IAAI,EAAE,aAAa;AACnB,gBAAA,KAAK,EAAE,qBAAqB;AAC5B,gBAAA,OAAO,EAAE,OAAO;AAChB,gBAAA,WAAW,EAAE,UAAU;AACvB,gBAAA,QAAQ,EAAE,EAAE;AACb,aAAA;AACF,SAAA,CAAC;;AAEL;;MCpBY,iBAAiB,GAAG,IAAI,cAAc,CAAkB,mBAAmB,EAAE;AACxF,IAAA,UAAU,EAAE,MAAM;IAClB,OAAO,EAAE,MAAK;QACZ,OAAO,IAAI,sBAAsB,EAAE;KACpC;AACF,CAAA;AAED,MAAM,sBAAsB,CAAA;AAE1B,IAAA,OAAO,CAAC,OAA0B,EAAA;AAChC,QAAA,OAAO,EAAE,CAAC;AACR,YAAA;AACE,gBAAA,EAAE,EAAE,GAAG;AACP,gBAAA,IAAI,EAAE,gBAAgB;AACtB,gBAAA,KAAK,EAAE,gBAAgB;AACxB,aAAA;AACF,SAAA,CAAC;;AAEL;;MClBY,qBAAqB,GAAG,IAAI,cAAc,CAAsB,uBAAuB,EAAE;AAClG,IAAA,UAAU,EAAE,MAAM;IAClB,OAAO,EAAE,MAAK;QACV,OAAO,IAAI,0BAA0B,EAAE;;AAE9C,CAAA;AAGD,MAAM,0BAA0B,CAAA;AAC5B,IAAA,OAAO,CAAC,OAA0B,EAAA;AAC9B,QAAA,OAAO,EAAE,CAAC,EAAE,CAAC;;AAEpB;;ACrBK,MAAO,oBAAqB,SAAQ,KAAK,CAAA;IAC3C,WAAY,CAAA,OAAgB,EAAS,IAA+B,EAAA;QAChE,KAAK,CAAC,OAAO,CAAC;QADmB,IAAI,CAAA,IAAA,GAAJ,IAAI;AAErC,QAAA,IAAI,CAAC,IAAI,GAAG,sBAAsB;;AAEzC;AAGK,MAAO,uBAAwB,SAAQ,KAAK,CAAA;IAC9C,WAAY,CAAA,OAAgB,EAAS,IAA+B,EAAA;QAChE,KAAK,CAAC,OAAO,CAAC;QADmB,IAAI,CAAA,IAAA,GAAJ,IAAI;AAErC,QAAA,IAAI,CAAC,IAAI,GAAG,yBAAyB;;AAE5C;;MCPY,8BAA8B,CAAA;AAKzC,IAAA,WAAA,CAAY,QAAkB,EAAA;AAJtB,QAAA,IAAA,CAAA,UAAU,GAAG,IAAI,GAAG,EAA2B;AAKrD,QAAA,IAAI,CAAC,QAAQ,GAAG,QAAQ;;IAG1B,QAAQ,CAAC,GAAG,OAAsC,EAAA;AAChD,QAAA,OAAO,CAAC,OAAO,CAAC,CAAC,IAAG;AAClB,YAAA,MAAM,aAAa,GAAG,QAAQ,CAAC,MAAM,CAAC,EAAE,SAAS,EAAE,CAAC,EAAE,OAAO,EAAE,CAAC,EAAE,QAAQ,EAAE,CAAC,EAAE,IAAI,EAAE,EAAE,EAAE,CAAC,EAAE,MAAM,EAAE,IAAI,CAAC,QAAQ,EAAE,CAAC;YACpH,MAAM,QAAQ,GAAG,aAAa,CAAC,GAAG,CAAC,CAAC,CAAC;YACrC,IAAI,QAAQ,EAAE;gBACZ,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,QAAQ,CAAC,IAAI,EAAE,QAAQ,CAAC;;AAEhD,SAAC,CAAC;;AAGJ,IAAA,GAAG,CAAC,WAAmB,EAAA;QACrB,OAAO,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,WAAW,CAAC;;8GApB9B,8BAA8B,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAA,EAAA,CAAA,QAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,UAAA,EAAA,CAAA,CAAA;AAA9B,IAAA,SAAA,IAAA,CAAA,KAAA,GAAA,EAAA,CAAA,qBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,8BAA8B,cAF7B,MAAM,EAAA,CAAA,CAAA;;2FAEP,8BAA8B,EAAA,UAAA,EAAA,CAAA;kBAH1C,UAAU;AAAC,YAAA,IAAA,EAAA,CAAA;AACV,oBAAA,UAAU,EAAE;AACb,iBAAA;;;MCIY,kBAAkB,GAAG,IAAI,cAAc,CAAmB,oBAAoB,EAAE;AAC3F,IAAA,UAAU,EAAE,MAAM;IAClB,OAAO,EAAE,MAAK;QACZ,OAAO,IAAI,uBAAuB,EAAE;KACrC;AACF,CAAA;AAED,MAAM,uBAAuB,CAAA;AAC3B,IAAA,OAAO,CAAC,OAA0B,EAAA;AAChC,QAAA,OAAO,EAAE,CAAC,EAAE,CAAC;;AAEhB;;MCbY,mBAAmB,CAAA;IAK9B,WACU,CAAA,WAA6B,EAC7B,aAA+B,EAAA;QAD/B,IAAW,CAAA,WAAA,GAAX,WAAW;QACX,IAAa,CAAA,aAAA,GAAb,aAAa;AANf,QAAA,IAAA,CAAA,OAAO,GAAG,MAAM,CAAC,KAAK,CAAC;AAEvB,QAAA,IAAA,CAAA,cAAc,GAAG,MAAM,CAAC,iBAAiB,CAAC;;IAOlD,IACW,OAAO,CAAC,WAAqC,EAAA;AACtD,QAAA,MAAM,IAAI,GAAa,CAAC,WAAW,GAAG,EAAE,IAAI,KAAK,CAAC,OAAO,CAAC,WAAW,CAAC,GAAG,WAAW,GAAG,CAAC,WAAW,CAAC,CAAC;AACrG,QAAA,IAAI,IAAI,CAAC,MAAM,IAAI,CAAC,EAAE;;YAEpB,IAAI,CAAC,aAAa,CAAC,kBAAkB,CAAC,IAAI,CAAC,WAAW,CAAC;AACvD,YAAA,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC;YACtB;;AAEF,QAAA,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,cAAc,CAAC;;aAErC,SAAS,CAAC,MAAK;YACd,IAAI,IAAI,CAAC,cAAc,CAAC,gBAAgB,CAAC,GAAG,IAAI,CAAC,EAAE;AACjD,gBAAA,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,EAAE;oBACnB,IAAI,CAAC,aAAa,CAAC,kBAAkB,CAAC,IAAI,CAAC,WAAW,CAAC;AACvD,oBAAA,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC;;;iBAEnB;AACL,gBAAA,IAAI,CAAC,aAAa,CAAC,KAAK,EAAE;AAC1B,gBAAA,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC;;AAE3B,SAAC,CAAC;;IAGN,IACW,WAAW,CAAC,eAAiC,EAAA;AACtD,QAAA,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,EAAE;AACnB,YAAA,IAAI,CAAC,aAAa,CAAC,kBAAkB,CAAC,eAAe,CAAC;;;IAI1D,WAAW,GAAA;AACT,QAAA,IAAI,CAAC,YAAY,EAAE,WAAW,EAAE;;8GA1CvB,mBAAmB,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAA,EAAA,CAAA,WAAA,EAAA,EAAA,EAAA,KAAA,EAAA,EAAA,CAAA,gBAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;kGAAnB,mBAAmB,EAAA,QAAA,EAAA,WAAA,EAAA,MAAA,EAAA,EAAA,OAAA,EAAA,SAAA,EAAA,WAAA,EAAA,aAAA,EAAA,EAAA,QAAA,EAAA,EAAA,EAAA,CAAA,CAAA;;2FAAnB,mBAAmB,EAAA,UAAA,EAAA,CAAA;kBAH/B,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACT,oBAAA,QAAQ,EAAE,WAAW;AACtB,iBAAA;+GAYY,OAAO,EAAA,CAAA;sBADjB;gBAyBU,WAAW,EAAA,CAAA;sBADrB;;;MClCU,eAAe,GAC1B,CAAC,KAA6B,EAAE,KAA0B,KAAmC;AAC3F,IAAA,MAAM,cAAc,GAAG,MAAM,CAAC,iBAAiB,CAAC;IAChD,MAAM,gBAAgB,GAAG,KAAK,CAAC,IAAI,CAAC,iBAAiB,CAA+B;IAEpF,OAAO,cAAc,CAAC,SAAS,CAAC,IAAI,CAClC,GAAG,CAAC,MAAK;AACP,QAAA,MAAM,IAAI,GAAa,CAAC,gBAAgB,GAAG,EAAE,IAAI,KAAK,CAAC,OAAO,CAAC,gBAAgB,CAAC,GAAG,gBAAgB,GAAG,CAAC,gBAAgB,CAAC,CAAC;AACzH,QAAA,MAAM,UAAU,GAAG,IAAI,CAAC,MAAM,IAAI,CAAC,IAAI,cAAc,CAAC,gBAAgB,CAAC,GAAG,IAAI,CAAC;QAC/E,IAAI,CAAC,UAAU,EAAE;YACf,MAAM,IAAI,oBAAoB,CAC5B,CAA+E,4EAAA,EAAA,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA,4CAAA,CAA8C,EAC5I;gBACE,WAAW,EAAE,KAAK,CAAC;AACpB,aAAA,CACF;;AAEH,QAAA,OAAO,IAAI;KACZ,CAAC,CACH;AACH;;MCvBW,iBAAiB,CAAA;AAG1B,IAAA,IAAW,IAAI,GAAA;QACX,OAAO,IAAI,CAAC,KAAK;;AAIrB,IAAA,IAAW,MAAM,GAAA;QACb,OAAO,IAAI,CAAC,OAAO;;AAIvB,IAAA,IAAW,WAAW,GAAA;QAClB,OAAO,IAAI,CAAC,YAAY;;AAG5B,IAAA,WAAA,CAAY,OAIX,EAAA;QAnBO,IAAK,CAAA,KAAA,GAAmB,IAAI;QAK5B,IAAO,CAAA,OAAA,GAAqB,IAAI;QAKhC,IAAY,CAAA,YAAA,GAA0B,IAAI;AAU9C,QAAA,IAAI,CAAC,KAAK,GAAG,OAAO,CAAC,IAAI;AACzB,QAAA,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC,MAAM;AAC7B,QAAA,IAAI,CAAC,YAAY,GAAG,OAAO,CAAC,WAAW;;AAE9C;IAGW;AAAZ,CAAA,UAAY,gBAAgB,EAAA;AACxB,IAAA,gBAAA,CAAA,eAAA,CAAA,GAAA,eAA+B;AAC/B,IAAA,gBAAA,CAAA,iBAAA,CAAA,GAAA,iBAAmC;AACnC,IAAA,gBAAA,CAAA,cAAA,CAAA,GAAA,cAA6B;AAC7B,IAAA,gBAAA,CAAA,YAAA,CAAA,GAAA,YAAyB;AACzB,IAAA,gBAAA,CAAA,SAAA,CAAA,GAAA,SAAmB;AACnB,IAAA,gBAAA,CAAA,WAAA,CAAA,GAAA,WAAuB;AAC3B,CAAC,EAPW,gBAAgB,KAAhB,gBAAgB,GAO3B,EAAA,CAAA,CAAA;;MCpBY,iBAAiB,CAAA;AAH9B,IAAA,WAAA,GAAA;AAIU,QAAA,IAAA,CAAA,KAAK,GAAG,MAAM,CAAC,KAAK,CAAC;AAErB,QAAA,IAAA,CAAA,oBAAoB,GAAG,MAAM,CAAC,8BAA8B,CAAC;AAGpD,QAAA,IAAA,CAAA,gBAAgB,GAAG,MAAM,CAAC,qBAAqB,CAAC;AAChD,QAAA,IAAA,CAAA,aAAa,GAAG,MAAM,CAAC,kBAAkB,CAAC;AAC1C,QAAA,IAAA,CAAA,YAAY,GAAG,MAAM,CAAC,iBAAiB,CAAC;AACxC,QAAA,IAAA,CAAA,iBAAiB,GAAG,MAAM,CAAC,sBAAsB,CAAC;QAE3D,IAAM,CAAA,MAAA,GAAG,IAAI,eAAe,CAAmB,gBAAgB,CAAC,eAAe,CAAC;AACxE,QAAA,IAAA,CAAA,OAAO,GAAG,IAAI,CAAC,MAAM,CAAC,YAAY,EAAE,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC;AAEjE,QAAA,IAAA,CAAA,kBAAkB,GAAG,IAAI,eAAe,CAAiB,IAAI,CAAC;AACtD,QAAA,IAAA,CAAA,KAAK,GAAG,IAAI,CAAC,kBAAkB,CAAC,YAAY,EAAE,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC;AAS3E,QAAA,IAAA,CAAA,oBAAoB,GAAG,IAAI,eAAe,CAAmB,IAAI,CAAC;AAC1D,QAAA,IAAA,CAAA,OAAO,GAAG,IAAI,CAAC,oBAAoB,CAAC,YAAY,EAAE,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC;AAa/E,QAAA,IAAA,CAAA,yBAAyB,GAAG,IAAI,eAAe,CAAwB,IAAI,CAAC;AACpE,QAAA,IAAA,CAAA,YAAY,GAAG,IAAI,CAAC,yBAAyB,CAAC,YAAY,EAAE,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC;AAazF,QAAA,IAAA,CAAA,kBAAkB,GAAG,IAAI,eAAe,CAAkB,EAAE,CAAC;QACrD,IAAY,CAAA,YAAA,GAAG,IAAI,CAAC,kBAAkB,CAAC,YAAY,EAAE,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,EAAE,cAAc,CAAC,EAAE,CAAC,CAAC;AAKtG,QAAA,IAAA,CAAA,eAAe,GAAG,IAAI,eAAe,CAAe,EAAE,CAAC;QAC/C,IAAS,CAAA,SAAA,GAAG,IAAI,CAAC,eAAe,CAAC,YAAY,EAAE,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,EAAE,cAAc,CAAC,EAAE,CAAC,CAAC;AAKxF,QAAA,IAAA,CAAA,gBAAgB,GAAG,IAAI,CAAC,OAAO,CAAC,IAAI,CAClD,GAAG,CAAC,CAAC,MAAM,KAAK,MAAM,KAAK,gBAAgB,CAAC,aAAa,IAAI,MAAM,KAAK,gBAAgB,CAAC,UAAU,CAAC,EACpG,WAAW,CAAC,CAAC,CAAC,CACf;QAEe,IAAa,CAAA,aAAA,GAAG,IAAI,CAAC,OAAO,CAAC,IAAI,CAC/C,GAAG,CAAC,CAAC,MAAM,KAAK,MAAM,KAAK,gBAAgB,CAAC,UAAU,CAAC,EACvD,WAAW,CAAC,CAAC,CAAC,CACf;AAyMF;aA7QwB,IAAW,CAAA,WAAA,GAAG,aAAH,CAAiB;AAYnD,IAAA,IAAW,IAAI,GAAA;AACb,QAAA,MAAM,OAAO,GAAG,IAAI,CAAC,cAAc,EAAE;QACrC,IAAI,OAAO,EAAE,IAAI,IAAI,CAAC,IAAI,CAAC,kBAAkB,CAAC,KAAK,EAAE;YACnD,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC;;AAE5C,QAAA,OAAO,IAAI,CAAC,kBAAkB,CAAC,KAAK;;AAKtC,IAAA,IAAW,MAAM,GAAA;AACf,QAAA,MAAM,OAAO,GAAG,IAAI,CAAC,cAAc,EAAE;QACrC,IAAI,OAAO,EAAE,MAAM,IAAI,CAAC,IAAI,CAAC,oBAAoB,CAAC,KAAK,EAAE;YACvD,IAAI,CAAC,oBAAoB,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC;;AAEhD,QAAA,OAAO,IAAI,CAAC,oBAAoB,CAAC,KAAK;;AAGxC,IAAA,IAAW,QAAQ,GAAA;QACjB,OAAO,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC,IAAI,CAAC,UAAU,EAAE,CAAC;;AAKrD,IAAA,IAAW,WAAW,GAAA;AACpB,QAAA,MAAM,OAAO,GAAG,IAAI,CAAC,cAAc,EAAE;QACrC,IAAI,OAAO,EAAE,WAAW,IAAI,CAAC,IAAI,CAAC,yBAAyB,CAAC,KAAK,EAAE;YACjE,IAAI,CAAC,yBAAyB,CAAC,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC;;AAE1D,QAAA,OAAO,IAAI,CAAC,yBAAyB,CAAC,KAAK;;AAG7C,IAAA,IAAW,aAAa,GAAA;QACtB,OAAO,IAAI,CAAC,iBAAiB,CAAC,OAAO,CAAC,IAAI,CAAC,UAAU,EAAE,CAAC;;AAK1D,IAAA,IAAW,WAAW,GAAA;AACpB,QAAA,OAAO,IAAI,CAAC,kBAAkB,CAAC,KAAK,IAAI,EAAE;;AAK5C,IAAA,IAAW,QAAQ,GAAA;AACjB,QAAA,OAAO,IAAI,CAAC,eAAe,CAAC,KAAK,IAAI,EAAE;;AAalC,IAAA,MAAM,cAAc,GAAA;AACzB,QAAA,MAAM,WAAW,GAAG,IAAI,CAAC,cAAc,EAAE;QACzC,IAAI,WAAW,EAAE;AACf,YAAA,IAAI,WAAW,CAAC,IAAI,EAAE;gBACpB,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC;gBAC9C,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,gBAAgB,CAAC,aAAa,CAAC;;;;;;;;AAQlD,YAAA,MAAM,IAAI,CAAC,cAAc,EAAE;;aACtB;YACL,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,gBAAgB,CAAC,YAAY,CAAC;;;IAInD,MAAM,MAAM,CAAC,WAA+B,EAAA;AAC1C,QAAA,MAAM,QAAQ,GAAG,IAAI,CAAC,oBAAoB,CAAC,GAAG,CAAC,WAAW,CAAC,QAAQ,CAAC;QACpE,IAAI,CAAC,QAAQ,EAAE;YACb,MAAM,IAAI,KAAK,CAAC,CAAA,yBAAA,EAA4B,WAAW,CAAC,QAAQ,CAAoB,kBAAA,CAAA,CAAC;;QAEvF,MAAM,MAAM,GAAG,MAAM,QAAQ,CAAC,MAAM,CAAC,WAAW,CAAC;AACjD,QAAA,IAAI,MAAM,CAAC,OAAO,EAAE;YAClB,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,MAAM,CAAC,IAAK,CAAC,IAAI,CAAC;YAC/C,IAAI,CAAC,UAAU,CAAC;AACd,gBAAA,WAAW,EAAE,MAAM,CAAC,IAAK,CAAC,WAAW;AACrC,gBAAA,YAAY,EAAE,MAAM,CAAC,IAAK,CAAC,YAAY;gBACvC,QAAQ,EAAE,WAAW,CAAC,QAAQ;AAC9B,gBAAA,IAAI,EAAE,MAAM,CAAC,IAAK,CAAC,IAAI;AACvB,gBAAA,WAAW,EAAE,MAAM,CAAC,IAAI,EAAE,WAAW;AACrC,gBAAA,MAAM,EAAE,MAAM,CAAC,IAAI,EAAE,MAAM;AAC3B,gBAAA,SAAS,EAAE,MAAM,CAAC,IAAI,EAAE,SAAS;AACjC,gBAAA,OAAO,EAAE,MAAM,CAAC,IAAI,EAAE,OAAO,IAAI,IAAI;AACtC,aAAA,CAAC;YACF,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,gBAAgB,CAAC,aAAa,CAAC;AAChD,YAAA,IAAI,IAAI,CAAC,WAAW,IAAI,IAAI,CAAC,MAAM;AAAE,gBAAA,MAAM,IAAI,CAAC,cAAc,EAAE;;aAC3D;YACL,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,gBAAgB,CAAC,eAAe,CAAC;AAClD,YAAA,MAAM,IAAI,KAAK,CAAC,CAAA,4BAAA,CAA8B,CAAC;;;AAInD,IAAA,MAAM,OAAO,GAAA;AACX,QAAA,MAAM,WAAW,GAAG,IAAI,CAAC,cAAc,EAAE;AACzC,QAAA,IAAI,WAAW,EAAE,QAAQ,EAAE;AACzB,YAAA,MAAM,QAAQ,GAAG,IAAI,CAAC,oBAAoB,CAAC,GAAG,CAAC,WAAW,EAAE,QAAQ,CAAC;YACrE,IAAI,QAAQ,EAAE;AACZ,gBAAA,MAAM,QAAQ,CAAC,OAAO,EAAE;;;;QAI5B,IAAI,CAAC,YAAY,EAAE;QACnB,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,gBAAgB,CAAC,SAAS,CAAC;QAC5C,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,gBAAgB,EAAE,CAAC;;AAGzC,IAAA,MAAM,YAAY,GAAA;QAChB,OAAO,IAAI,OAAO,CAAC,OAAO,OAAO,EAAE,MAAM,KAAI;AAC3C,YAAA,MAAM,WAAW,GAAG,IAAI,CAAC,cAAc,EAAE;YACzC,IAAI,CAAC,WAAW,IAAI,CAAC,WAAW,EAAE,YAAY,EAAE;gBAC9C;;AAEF,YAAA,MAAM,QAAQ,GAAG,IAAI,CAAC,oBAAoB,CAAC,GAAG,CAAC,WAAW,CAAC,QAAQ,CAAC;YACpE,IAAI,CAAC,QAAQ,EAAE;AACb,gBAAA,MAAM,EAAE;gBACR,MAAM,IAAI,KAAK,CAAC,CAAA,yBAAA,EAA4B,WAAW,CAAC,QAAQ,CAAgB,cAAA,CAAA,CAAC;;AAEnF,YAAA,MAAM,MAAM,GAAG,MAAM,QAAQ,CAAC,YAAY,CAAC,IAAI,CAAC,UAAU,EAAE,CAAC;AAC7D,YAAA,IAAI,MAAM,CAAC,OAAO,EAAE;AAClB,gBAAA,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,IAAsB,CAAC;AAC9C,gBAAA,OAAO,CAAC,MAAM,CAAC,IAAI,EAAE,WAAW,CAAC;;iBAC5B;gBACL,IAAI,CAAC,YAAY,EAAE;gBACnB,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,gBAAgB,CAAC,OAAO,CAAC;;AAE9C,SAAC,CAAC;;IAGJ,MAAM,SAAS,CAAC,MAAwB,EAAA;AACtC,QAAA,cAAc;AACd,QAAA,IAAI,CAAC,oBAAoB,CAAC,IAAI,CAAC,MAAM,CAAC;QACtC,IAAI,MAAM,EAAE;YACV,IAAI,CAAC,aAAa,CAAC,EAAE,MAAM,EAAE,MAAM,EAAE,CAAC;AACtC,YAAA,MAAM,IAAI,CAAC,YAAY,EAAE;;;IAI7B,MAAM,cAAc,CAAC,WAAkC,EAAA;AACrD,QAAA,IAAI,CAAC,yBAAyB,CAAC,IAAI,CAAC,WAAW,CAAC;QAChD,IAAI,WAAW,EAAE;YACf,IAAI,CAAC,aAAa,CAAC,EAAE,WAAW,EAAE,WAAW,EAAE,CAAC;AAChD,YAAA,MAAM,IAAI,CAAC,YAAY,EAAE;;;AAIrB,IAAA,MAAM,eAAe,GAAA;AAC3B,QAAA,IAAI;AACF,YAAA,MAAM,WAAW,GAAG,MAAM,cAAc,CAAC,IAAI,CAAC,gBAAgB,CAAC,OAAO,CAAC,IAAI,CAAC,UAAU,EAAE,CAAC,CAAC;YAC1F,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,WAAW,IAAI,EAAE,CAAC;YAC/C,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,eAAe,EAAE,CAAC;;QACtC,OAAO,KAAK,EAAE;AACd,YAAA,OAAO,CAAC,KAAK,CAAC,4BAA4B,EAAE,KAAK,CAAC;AAClD,YAAA,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,EAAE,CAAC;;;AAI5B,IAAA,MAAM,YAAY,GAAA;AACxB,QAAA,IAAI;AACF,YAAA,MAAM,QAAQ,GAAG,MAAM,cAAc,CAAC,IAAI,CAAC,aAAa,CAAC,OAAO,CAAC,IAAI,CAAC,UAAU,EAAE,CAAC,CAAC;YACpF,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,QAAQ,IAAI,EAAE,CAAC;;QACzC,OAAO,KAAK,EAAE;AACd,YAAA,OAAO,CAAC,KAAK,CAAC,yBAAyB,EAAE,KAAK,CAAC;AAC/C,YAAA,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,EAAE,CAAC;;;AAIjC,IAAA,MAAM,cAAc,GAAA;AAClB,QAAA,MAAM,IAAI,CAAC,eAAe,EAAE;AAC5B,QAAA,MAAM,IAAI,CAAC,YAAY,EAAE;QACzB,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,gBAAgB,CAAC,UAAU,CAAC;;AAGvC,IAAA,UAAU,CAAC,MAA+B,EAAA;AAChD,QAAA,MAAM,WAAW,GAA4B;YAC3C,WAAW,EAAE,MAAM,CAAC,WAAW;YAC/B,YAAY,EAAE,MAAM,CAAC,YAAY;YACjC,QAAQ,EAAE,MAAM,CAAC,QAAQ;YACzB,IAAI,EAAE,IAAI,CAAC,IAAI;YACf,WAAW,EAAE,MAAM,CAAC,WAAW;YAC/B,MAAM,EAAE,MAAM,CAAC,MAAM;YACrB,SAAS,EAAE,MAAM,CAAC,SAAS;YAC3B,OAAO,EAAE,MAAM,CAAC,OAAO;SACxB;AACD,QAAA,IAAI,CAAC,aAAa,CAAC,WAAW,CAAC;;AAGzB,IAAA,aAAa,CAAC,MAA+B,EAAA;QACnD,MAAM,cAAc,GAAG,IAAI,CAAC,cAAc,EAAE,IAAI,EAAE;QAClD,MAAM,cAAc,GAAG,KAAK,CAAC,EAAE,EAAE,cAAc,EAAE,MAAM,CAAC;AACxD,QAAA,YAAY,CAAC,OAAO,CAAC,iBAAiB,CAAC,WAAW,EAAE,IAAI,CAAC,SAAS,CAAC,cAAc,CAAC,CAAC;;IAG9E,cAAc,GAAA;QACnB,MAAM,iBAAiB,GAAG,YAAY,CAAC,OAAO,CAAC,iBAAiB,CAAC,WAAW,CAAC;AAC7E,QAAA,OAAO,iBAAiB,GAAG,IAAI,CAAC,KAAK,CAAC,iBAAiB,CAAC,GAAG,IAAI;;IAGzD,YAAY,GAAA;;AAElB,QAAA,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,IAAI,CAAC;;AAElC,QAAA,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC;;AAEpB,QAAA,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC;;AAEzB,QAAA,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,EAAE,CAAC;;AAEhC,QAAA,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,EAAE,CAAC;;AAE7B,QAAA,YAAY,CAAC,UAAU,CAAC,iBAAiB,CAAC,WAAW,CAAC;;IAGjD,SAAS,CAAC,GAAG,IAAc,EAAA;QAChC,OAAO,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK,OAAO,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;;IAGnE,gBAAgB,CAAC,GAAG,IAAc,EAAA;AACvC,QAAA,OAAO,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK,OAAO,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,IAAI,IAAI,CAAC,IAAI,CAAC,CAAC,KAAK,IAAI,IAAI,CAAC,CAAC;;IAG5F,QAAQ,GAAA;AACb,QAAA,MAAM,WAAW,GAAG,IAAI,CAAC,cAAc,EAAE;QAEzC,OAAO,WAAW,EAAE,WAAW;;IAGzB,oBAAoB,GAAA;AAC1B,QAAA,IAAI,WAAW,GAAG,IAAI,CAAC,cAAc,EAAE;QAEvC,IAAI,WAAW,IAAI,WAAW,EAAE,WAAW,IAAI,WAAW,CAAC,SAAS,EAAE;YACpE,MAAM,aAAa,GAAG,IAAI,IAAI,CAAC,WAAW,CAAC,SAAS,CAAC;AACrD,YAAA,IAAI,aAAa,GAAG,IAAI,IAAI,EAAE,EAAE;;AAE9B,gBAAA,OAAO,IAAI;;;AAGf,QAAA,OAAO,KAAK;;IAGN,UAAU,GAAA;QAChB,OAAO,IAAI,iBAAiB,CAAC;YAC3B,IAAI,EAAE,IAAI,CAAC,IAAI;YACf,MAAM,EAAE,IAAI,CAAC,MAAM;YACnB,WAAW,EAAE,IAAI,CAAC,WAAW;AAC9B,SAAA,CAAC;;8GA/QO,iBAAiB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,UAAA,EAAA,CAAA,CAAA;AAAjB,IAAA,SAAA,IAAA,CAAA,KAAA,GAAA,EAAA,CAAA,qBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,iBAAiB,cAFhB,MAAM,EAAA,CAAA,CAAA;;2FAEP,iBAAiB,EAAA,UAAA,EAAA,CAAA;kBAH7B,UAAU;AAAC,YAAA,IAAA,EAAA,CAAA;AACV,oBAAA,UAAU,EAAE,MAAM;AACnB,iBAAA;;;MCZY,kBAAkB,GAAkB,CAAC,KAA6B,EAAE,KAA0B,KAAI;AAE7G,IAAA,MAAM,cAAc,GAAG,MAAM,CAAC,iBAAiB,CAAC;IAEhD,MAAM,cAAc,GAAG,KAAK,CAAC,IAAI,CAAC,oBAAoB,CAA6B;AAEnF,IAAA,OAAO,cAAc,CAAC,aAAa,CAAC,IAAI,CACtC,KAAK,EAAE,EACP,GAAG,CAAC,CAAC,KAAK,KAAI;QACZ,MAAM,IAAI,GAAa,CAAC,cAAc,GAAG,EAAE,GAAG,KAAK,CAAC,OAAO,CAAC,cAAc,CAAC,GAAG,cAAc,GAAG,CAAC,cAAc,CAAC;AAC/G,QAAA,MAAM,aAAa,GAAG,IAAI,CAAC,MAAM,IAAI,CAAC,IAAI,cAAc,CAAC,SAAS,CAAC,GAAG,IAAI,CAAC;QAC3E,IAAI,CAAC,aAAa,EAAE;YAClB,MAAM,IAAI,oBAAoB,CAC5B,CAAwC,qCAAA,EAAA,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA,oEAAA,CAAsE,EAC7H;gBACE,WAAW,EAAE,KAAK,CAAC;AACpB,aAAA,CACF;;AAEH,QAAA,OAAO,IAAI;KACZ,CAAC,CACH;AACH;;MCtBa,sBAAsB,CAAA;IAKjC,WACU,CAAA,WAA6B,EAC7B,aAA+B,EAAA;QAD/B,IAAW,CAAA,WAAA,GAAX,WAAW;QACX,IAAa,CAAA,aAAA,GAAb,aAAa;AANf,QAAA,IAAA,CAAA,OAAO,GAAG,MAAM,CAAC,KAAK,CAAC;AAEvB,QAAA,IAAA,CAAA,cAAc,GAAG,MAAM,CAAC,iBAAiB,CAAC;;IAOlD,IACW,UAAU,CAAC,cAAwC,EAAA;AAC5D,QAAA,MAAM,IAAI,GAAa,CAAC,cAAc,GAAG,EAAE,IAAI,KAAK,CAAC,OAAO,CAAC,cAAc,CAAC,GAAG,cAAc,GAAG,CAAC,cAAc,CAAC,CAAC;AACjH,QAAA,IAAI,IAAI,CAAC,MAAM,IAAI,CAAC,EAAE;;YAEpB,IAAI,CAAC,aAAa,CAAC,kBAAkB,CAAC,IAAI,CAAC,WAAW,CAAC;AACvD,YAAA,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC;YACtB;;AAEF,QAAA,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,cAAc,CAAC;AACrC,aAAA,SAAS,CAAC,CAAC,YAAY,KAAI;AAC1B,YAAA,IAAI,YAAY,IAAI,IAAI,CAAC,cAAc,CAAC,SAAS,CAAC,GAAG,IAAI,CAAC,EAAE;AAC1D,gBAAA,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,EAAE;oBACnB,IAAI,CAAC,aAAa,CAAC,kBAAkB,CAAC,IAAI,CAAC,WAAW,CAAC;AACvD,oBAAA,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC;;;iBAEnB;AACL,gBAAA,IAAI,CAAC,aAAa,CAAC,KAAK,EAAE;AAC1B,gBAAA,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC;;AAE3B,SAAC,CAAC;;IAGN,IACW,cAAc,CAAC,eAAiC,EAAA;AACzD,QAAA,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,EAAE;AACnB,YAAA,IAAI,CAAC,aAAa,CAAC,kBAAkB,CAAC,eAAe,CAAC;;;IAI1D,WAAW,GAAA;AACT,QAAA,IAAI,CAAC,YAAY,EAAE,WAAW,EAAE;;8GAzCvB,sBAAsB,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAA,EAAA,CAAA,WAAA,EAAA,EAAA,EAAA,KAAA,EAAA,EAAA,CAAA,gBAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;kGAAtB,sBAAsB,EAAA,QAAA,EAAA,cAAA,EAAA,MAAA,EAAA,EAAA,UAAA,EAAA,YAAA,EAAA,cAAA,EAAA,gBAAA,EAAA,EAAA,QAAA,EAAA,EAAA,EAAA,CAAA,CAAA;;2FAAtB,sBAAsB,EAAA,UAAA,EAAA,CAAA;kBAHlC,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACT,oBAAA,QAAQ,EAAE,cAAc;AACzB,iBAAA;+GAYY,UAAU,EAAA,CAAA;sBADpB;gBAwBU,cAAc,EAAA,CAAA;sBADxB;;;MClCU,YAAY,GAAkB,CAAC,KAA6B,EAAE,KAA0B,KAAI;AACvG,IAAA,MAAM,cAAc,GAAG,MAAM,CAAC,iBAAiB,CAAC;AAChD,IAAA,OAAO,cAAc,CAAC,gBAAgB,CAAC,IAAI,CACzC,KAAK,EAAE,EACP,GAAG,CAAC,CAAC,KAAK,KAAI;QACZ,IAAI,KAAK,EAAE;AACT,YAAA,OAAO,IAAI;;AAEb,QAAA,MAAM,IAAI,uBAAuB,CAC/B,CAAA,gKAAA,CAAkK,EAClK;YACE,WAAW,EAAE,KAAK,CAAC,GAAG;AACvB,SAAA,CACF;KACF,CAAC,CACH;AACH;;ACXM,SAAU,kBAAkB,CAAC,OAA0B,EAAA;IAC3D,OAAO,YAAW;AAChB,QAAA,IAAI;AACF,YAAA,MAAM,OAAO,CAAC,cAAc,EAAE;;QAC9B,OAAO,KAAK,EAAE;AACd,YAAA,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC;;AAExB,KAAC;AACH;MAea,aAAa,CAAA;IACxB,OAAO,OAAO,CAAC,OAA8B,EAAA;QAC3C,OAAO;AACL,YAAA,QAAQ,EAAE,aAAa;AACvB,YAAA,SAAS,EAAE;AACT,gBAAA,IAAI,OAAO,EAAE,UAAU,IAAI,EAAE,CAAC;AAC9B,gBAAA;AACE,oBAAA,OAAO,EAAE,sBAAsB;AAC/B,oBAAA,UAAU,EAAE,CAAC,QAAwC,KAAK,MAAK;AAC7D,wBAAA,QAAQ,CAAC,QAAQ,CAAC,IAAI,OAAO,EAAE,UAAU,IAAI,EAAE,CAAC,CAAC;qBAClD;oBACD,IAAI,EAAE,CAAC,8BAA8B,CAAC;AACtC,oBAAA,KAAK,EAAE,IAAI;AACZ,iBAAA;AACF,aAAA;SACF;;IAGH,OAAO,QAAQ,CAAC,OAA8B,EAAA;QAC5C,OAAO;AACL,YAAA,QAAQ,EAAE,aAAa;AACvB,YAAA,SAAS,EAAE;AACT,gBAAA,IAAI,OAAO,EAAE,UAAU,IAAI,EAAE,CAAC;AAC9B,gBAAA;AACE,oBAAA,OAAO,EAAE,sBAAsB;AAC/B,oBAAA,UAAU,EAAE,CAAC,QAAwC,KAAK,MAAK;AAC7D,wBAAA,QAAQ,CAAC,QAAQ,CAAC,IAAI,OAAO,EAAE,UAAU,IAAI,EAAE,CAAC,CAAC;qBAClD;oBACD,IAAI,EAAE,CAAC,8BAA8B,CAAC;AACtC,oBAAA,KAAK,EAAE,IAAI;AACZ,iBAAA;AACF,aAAA;SACF;;AAGH;;AAEG;AACH,IAAA,WAAA,CAAwD,SAAgB,EAAA;AACtE,QAAA,SAAS,EAAE,OAAO,CAAC,CAAC,CAAC,KAAI;AACvB,YAAA,CAAC,EAAE;AACL,SAAC,CAAC;;AAzCO,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,kBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,aAAa,kBAsCQ,sBAAsB,EAAA,QAAA,EAAA,IAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,QAAA,EAAA,CAAA,CAAA;AAtC3C,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,mBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,aAAa,iBAVT,sBAAsB,EAAE,mBAAmB,CADhD,EAAA,OAAA,EAAA,CAAA,sBAAsB,EAAE,mBAAmB,CAAA,EAAA,CAAA,CAAA;AAW1C,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,mBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,aAAa,EATb,SAAA,EAAA;AACT,YAAA;AACE,gBAAA,OAAO,EAAE,eAAe;AACxB,gBAAA,UAAU,EAAE,kBAAkB;gBAC9B,IAAI,EAAE,CAAC,iBAAiB,CAAC;AACzB,gBAAA,KAAK,EAAE,IAAI;AACZ,aAAA;AACF,SAAA,EAAA,CAAA,CAAA;;2FAEU,aAAa,EAAA,UAAA,EAAA,CAAA;kBAbzB,QAAQ;AAAC,YAAA,IAAA,EAAA,CAAA;AACR,oBAAA,OAAO,EAAE,EAAE;AACX,oBAAA,OAAO,EAAE,CAAC,sBAAsB,EAAE,mBAAmB,CAAC;AACtD,oBAAA,YAAY,EAAE,CAAC,sBAAsB,EAAE,mBAAmB,CAAC;AAC3D,oBAAA,SAAS,EAAE;AACT,wBAAA;AACE,4BAAA,OAAO,EAAE,eAAe;AACxB,4BAAA,UAAU,EAAE,kBAAkB;4BAC9B,IAAI,EAAE,CAAC,iBAAiB,CAAC;AACzB,4BAAA,KAAK,EAAE,IAAI;AACZ,yBAAA;AACF,qBAAA;AACF,iBAAA;;0BAuCc;;0BAAY,MAAM;2BAAC,sBAAsB;;;ACxExD;;AAEG;;;;"}
@@ -1,7 +1,7 @@
1
1
  import * as i1 from '@acorex/components/avatar';
2
2
  import { AXAvatarModule } from '@acorex/components/avatar';
3
3
  import { AXButtonModule } from '@acorex/components/button';
4
- import * as i3$1 from '@acorex/components/decorators';
4
+ import * as i5 from '@acorex/components/decorators';
5
5
  import { AXDecoratorModule } from '@acorex/components/decorators';
6
6
  import { AXDialogService } from '@acorex/components/dialog';
7
7
  import * as i2 from '@acorex/components/image';
@@ -12,17 +12,20 @@ import * as i0 from '@angular/core';
12
12
  import { inject, Component, ChangeDetectionStrategy } from '@angular/core';
13
13
  import { AXPWidgetEditBase, AXPDataProvider } from './acorex-platform-common.mjs';
14
14
  import '@acorex/components/popup';
15
+ import '@acorex/components/toast';
15
16
  import '@acorex/core/date-time';
17
+ import '@acorex/platform/workflow';
16
18
  import '@angular/router';
17
19
  import '@ngrx/effects';
18
20
  import '@ngrx/store';
21
+ import '@acorex/platform/core';
22
+ import 'dexie';
19
23
  import 'rxjs';
20
24
  import '@angular/common';
21
- import '@acorex/core/platform';
22
- import '@acorex/components/toast';
23
- import '@acorex/platform/workflow';
25
+ import '@ngrx/signals';
24
26
  import 'lodash-es';
25
- import 'dexie';
27
+ import '@acorex/core/platform';
28
+ import '@acorex/core/translation';
26
29
  import '@acorex/components/skeleton';
27
30
  import '@angular/cdk/portal';
28
31
  import '@acorex/components/data-table';
@@ -73,7 +76,13 @@ class AXPAvatarWidgetEditComponent extends AXPWidgetEditBase {
73
76
  }
74
77
  // If file size and resolution are within limits, proceed with upload
75
78
  try {
76
- const resolved = await this.dataService.uploadFile(file, file.name);
79
+ let resolved;
80
+ if (this.rawValue) {
81
+ resolved = await this.dataService.updateFile(this.rawValue, file, file.name);
82
+ }
83
+ else {
84
+ resolved = await this.dataService.uploadFile(file, file.name);
85
+ }
77
86
  console.log('resolved', resolved);
78
87
  this.src = URL.createObjectURL(file); // Show the image temporarily
79
88
  this.value = resolved; // Store the file ID
@@ -129,7 +138,7 @@ class AXPAvatarWidgetEditComponent extends AXPWidgetEditBase {
129
138
  </div>
130
139
  </div>
131
140
  </div>
132
- `, isInline: true, dependencies: [{ kind: "ngmodule", type: AXAvatarModule }, { kind: "component", type: i1.AXAvatarComponent, selector: "ax-avatar", inputs: ["color", "size", "look"], outputs: ["sizeChange"] }, { kind: "ngmodule", type: AXImageModule }, { kind: "component", type: i2.AXImageComponent, selector: "ax-image", inputs: ["overlayMode", "src", "alt", "priority", "lazy"], outputs: ["onLoad", "onError"] }, { kind: "ngmodule", type: AXLoadingModule }, { kind: "component", type: i3.AXLoadingComponent, selector: "ax-loading", inputs: ["visible", "type", "context"], outputs: ["visibleChange"] }, { kind: "ngmodule", type: AXButtonModule }, { kind: "ngmodule", type: AXDecoratorModule }, { kind: "component", type: i3$1.AXDecoratorIconComponent, selector: "ax-icon", inputs: ["icon"] }, { kind: "component", type: i3$1.AXDecoratorGenericComponent, selector: "ax-footer, ax-header, ax-content, ax-divider, ax-form-hint, ax-prefix, ax-suffix, ax-text, ax-title, ax-sub-title, ax-placeholder, ax-overlay" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
141
+ `, isInline: true, dependencies: [{ kind: "ngmodule", type: AXAvatarModule }, { kind: "component", type: i1.AXAvatarComponent, selector: "ax-avatar", inputs: ["color", "size", "look"], outputs: ["sizeChange"] }, { kind: "ngmodule", type: AXImageModule }, { kind: "component", type: i2.AXImageComponent, selector: "ax-image", inputs: ["overlayMode", "src", "alt", "priority", "lazy"], outputs: ["onLoad", "onError"] }, { kind: "ngmodule", type: AXLoadingModule }, { kind: "component", type: i3.AXLoadingComponent, selector: "ax-loading", inputs: ["visible", "type", "context"], outputs: ["visibleChange"] }, { kind: "ngmodule", type: AXButtonModule }, { kind: "ngmodule", type: AXDecoratorModule }, { kind: "component", type: i5.AXDecoratorIconComponent, selector: "ax-icon", inputs: ["icon"] }, { kind: "component", type: i5.AXDecoratorGenericComponent, selector: "ax-footer, ax-header, ax-content, ax-divider, ax-form-hint, ax-prefix, ax-suffix, ax-text, ax-title, ax-sub-title, ax-placeholder, ax-overlay" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
133
142
  }
134
143
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.0", ngImport: i0, type: AXPAvatarWidgetEditComponent, decorators: [{
135
144
  type: Component,
@@ -176,4 +185,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.0", ngImpor
176
185
  }] });
177
186
 
178
187
  export { AXPAvatarWidgetEditComponent };
179
- //# sourceMappingURL=acorex-platform-common-avatar-widget-edit.component-CfqY7kKi.mjs.map
188
+ //# sourceMappingURL=acorex-platform-common-avatar-widget-edit.component-WAlG5E_9.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"acorex-platform-common-avatar-widget-edit.component-WAlG5E_9.mjs","sources":["../../../../libs/platform/common/src/lib/schema/widgets/avatar/avatar-widget-edit.component.ts"],"sourcesContent":["import { AXAvatarModule } from '@acorex/components/avatar';\nimport { AXButtonModule } from '@acorex/components/button';\nimport { AXDecoratorModule } from '@acorex/components/decorators';\nimport { AXDialogService } from '@acorex/components/dialog';\nimport { AXImageModule } from '@acorex/components/image';\nimport { AXLoadingModule } from '@acorex/components/loading';\n// import { FakePersonService } from '@acorex/platform/mocks';\nimport { ChangeDetectionStrategy, Component, OnInit, inject } from '@angular/core';\nimport { AXPDataProvider } from '../../../data';\nimport { AXPWidgetEditBase } from '../../widget';\n\n@Component({\n selector: 'axp-number-widget-edit',\n template: `\n <div class=\"ax-w-fit ax-flex flex-row ax-border ax-rounded-lg ax-shadow-md ax-overflow-hidden\">\n @if(src){\n <ax-avatar color=\"secondary\" [size]=\"120\" look=\"sharp\">\n <ax-image [src]=\"src\">\n <ax-loading></ax-loading>\n </ax-image>\n </ax-avatar>\n } @else {\n <ax-avatar color=\"secondary\" [size]=\"120\" look=\"sharp\">\n <ax-loading></ax-loading>\n </ax-avatar>\n }\n <div class=\"ax-flex ax-w-14 ax-flex-col ax-items-center ax-justify-around ax-cursor-pointer ax-border-l-2\">\n <div\n (click)=\"handleAddItem()\"\n class=\"ax-h-[50%] ax-flex ax-items-center ax-justify-center ax-w-full ax-border-b-2 hover:ax-bg-gray-100 hover:ax-text-blue-700 ax-cursor-pointer\"\n >\n <ax-icon>\n <i class=\"fa-solid fa-camera\"></i>\n </ax-icon>\n </div>\n\n <div\n (click)=\"handleRemoveItem(src)\"\n class=\"ax-h-[50%] ax-flex ax-items-center ax-justify-center ax-w-full ax-cursor-pointer hover:ax-bg-gray-100\"\n >\n <ax-prefix>\n <i class=\"fa-solid fa-trash ax-text-danger\"></i>\n </ax-prefix>\n </div>\n </div>\n </div>\n `,\n standalone: true,\n changeDetection: ChangeDetectionStrategy.OnPush,\n imports: [AXAvatarModule, AXImageModule, AXLoadingModule, AXButtonModule, AXDecoratorModule],\n})\nexport class AXPAvatarWidgetEditComponent extends AXPWidgetEditBase implements OnInit {\n dataService = inject(AXPDataProvider);\n private dialogService = inject(AXDialogService);\n protected src!: string | null;\n\n ngOnInit() {\n this.render();\n }\n override render() {\n const rawValue = this.rawValue;\n if (rawValue == null) return;\n this.loadImageById(rawValue);\n }\n\n protected handleRemoveItem(item: any) {\n this.src = null;\n this.value = null;\n }\n\n protected async handleAddItem() {\n const input = document.createElement('input');\n input.type = 'file';\n input.accept = 'image/*';\n input.click();\n input.addEventListener(\n 'change',\n async () => {\n const file = input.files?.[0];\n if (file) {\n const maxSize = 1 * 1024 * 1024; // Example size limit: 1MB\n const maxResolution = { width: 1920, height: 1080 }; // Example resolution limit\n\n if (file.size > maxSize) {\n this.dialogService.alert(\n 'File too large!',\n `The selected file exceeds the maximum size of ${maxSize / (1024 * 1024)}MB.`,\n 'warning'\n );\n return;\n }\n\n const image = new Image();\n image.src = URL.createObjectURL(file);\n image.onload = async () => {\n const { width, height } = image;\n\n if (width > maxResolution.width || height > maxResolution.height) {\n this.dialogService.alert(\n 'Resolution too high!',\n `The selected file exceeds the maximum resolution of ${maxResolution.width}x${maxResolution.height}.`,\n 'warning'\n );\n return;\n }\n\n // If file size and resolution are within limits, proceed with upload\n try {\n let resolved;\n if (this.rawValue) {\n resolved = await this.dataService.updateFile(this.rawValue, file, file.name);\n } else {\n resolved = await this.dataService.uploadFile(file, file.name);\n }\n console.log('resolved', resolved);\n this.src = URL.createObjectURL(file); // Show the image temporarily\n this.value = resolved; // Store the file ID\n } catch (error) {\n this.dialogService.alert('Something went wrong!', `${error}`, 'warning');\n }\n };\n }\n },\n { once: true }\n );\n }\n\n private async loadImageById(fileId: string) {\n try {\n const blob = await this.dataService.viewFile(fileId, '');\n this.src = URL.createObjectURL(blob);\n this.cdr.markForCheck(); // Explicitly mark for check since OnPush is used\n } catch (error) {\n console.error('Failed to load image by ID:', error);\n }\n }\n}\n"],"names":["i4"],"mappings":"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"}
@@ -8,20 +8,22 @@ import * as i0 from '@angular/core';
8
8
  import { inject, Component, ChangeDetectionStrategy } from '@angular/core';
9
9
  import { AXPWidgetBase, AXPDataProvider } from './acorex-platform-common.mjs';
10
10
  import '@acorex/components/popup';
11
+ import '@acorex/components/toast';
11
12
  import '@acorex/core/date-time';
13
+ import '@acorex/platform/workflow';
12
14
  import '@angular/router';
13
15
  import '@ngrx/effects';
14
16
  import '@ngrx/store';
17
+ import '@acorex/platform/core';
18
+ import 'dexie';
15
19
  import 'rxjs';
16
20
  import '@acorex/components/decorators';
17
21
  import '@angular/common';
18
- import '@acorex/components/button';
22
+ import '@ngrx/signals';
23
+ import 'lodash-es';
19
24
  import '@acorex/core/platform';
20
- import '@acorex/components/toast';
21
- import '@acorex/platform/workflow';
22
25
  import '@acorex/components/dialog';
23
- import 'lodash-es';
24
- import 'dexie';
26
+ import '@acorex/core/translation';
25
27
  import '@acorex/components/skeleton';
26
28
  import '@angular/cdk/portal';
27
29
  import '@acorex/components/data-table';
@@ -83,4 +85,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.0", ngImpor
83
85
  }] });
84
86
 
85
87
  export { AXPAvatarWidgetViewComponent };
86
- //# sourceMappingURL=acorex-platform-common-avatar-widget-view.component-DXC7INdQ.mjs.map
88
+ //# sourceMappingURL=acorex-platform-common-avatar-widget-view.component-DRyB3UWf.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"acorex-platform-common-avatar-widget-view.component-DRyB3UWf.mjs","sources":["../../../../libs/platform/common/src/lib/schema/widgets/avatar/avatar-widget-view.component.ts"],"sourcesContent":["import { AXAvatarModule } from '@acorex/components/avatar';\nimport { AXImageModule } from '@acorex/components/image';\nimport { AXLoadingModule } from '@acorex/components/loading';\nimport { ChangeDetectionStrategy, Component, OnInit, inject } from '@angular/core';\nimport { AXPDataProvider } from '../../../data';\nimport { AXPWidgetBase } from '../../widget/widget-base';\n@Component({\n selector: 'ax-Avatar-widget-view',\n template: ` @if(src){<ax-avatar class=\"ax-shadow-\" color=\"secondary\" [size]=\"120\" look=\"soft\">\n <ax-image [src]=\"src\"> <ax-loading></ax-loading></ax-image>\n </ax-avatar>\n } @else {\n <ax-avatar color=\"secondary\" [size]=\"120\" look=\"sharp\">\n <ax-loading></ax-loading>\n </ax-avatar>\n }`,\n standalone: true,\n changeDetection: ChangeDetectionStrategy.OnPush,\n imports: [AXAvatarModule, AXImageModule, AXLoadingModule],\n inputs: ['context', 'value'],\n})\nexport class AXPAvatarWidgetViewComponent extends AXPWidgetBase implements OnInit {\n protected src!: string;\n dataService = inject(AXPDataProvider);\n\n ngOnInit() {\n this.render();\n }\n override render() {\n const rawValue = this.rawValue;\n if (rawValue == null) return;\n this.loadImageById(rawValue);\n }\n\n private async loadImageById(fileId: string) {\n try {\n const blob = await this.dataService.viewFile(fileId, '');\n this.src = URL.createObjectURL(blob);\n this.cdr.markForCheck(); // Explicitly mark for check since OnPush is used\n } catch (error) {\n console.error('Failed to load image by ID:', error);\n }\n }\n}\n"],"names":[],"mappings":"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"}