@acorex/platform 1.0.0 → 1.0.2

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 (686) hide show
  1. package/auth/index.d.ts +3 -6
  2. package/auth/lib/application/application.loader.d.ts +2 -3
  3. package/auth/lib/auth.module.d.ts +5 -4
  4. package/auth/lib/auth.strategy.d.ts +17 -6
  5. package/auth/lib/errors.types.d.ts +12 -2
  6. package/auth/lib/feature/feature.directive.d.ts +15 -0
  7. package/auth/lib/feature/feature.guard.d.ts +2 -0
  8. package/auth/lib/feature/feature.loader.d.ts +2 -1
  9. package/auth/lib/feature/index.d.ts +4 -0
  10. package/auth/lib/permission/index.d.ts +4 -0
  11. package/auth/lib/permission/permission.directive.d.ts +5 -6
  12. package/auth/lib/permission/permission.guard.d.ts +1 -1
  13. package/auth/lib/permission/permission.loader.d.ts +2 -1
  14. package/auth/lib/session.service.d.ts +21 -13
  15. package/auth/lib/session.types.d.ts +24 -0
  16. package/auth/lib/tenant/tenant.loader.d.ts +2 -3
  17. package/common/index.d.ts +0 -1
  18. package/common/lib/common.module.d.ts +1 -1
  19. package/common/lib/configs/app.config.d.ts +0 -1
  20. package/common/lib/data/data-provider.types.d.ts +4 -0
  21. package/common/lib/shared/state-persistence/state-persistence.actions.d.ts +1 -1
  22. package/common/lib/store/common.actions.d.ts +3 -3
  23. package/core/README.md +4 -0
  24. package/core/index.d.ts +4 -0
  25. package/core/lib/app/application.types.d.ts +144 -0
  26. package/core/lib/app/operators.d.ts +22 -0
  27. package/core/lib/configs/config.types.d.ts +5 -0
  28. package/core/lib/core.module.d.ts +6 -0
  29. package/esm2022/auth/index.mjs +4 -7
  30. package/esm2022/auth/lib/application/application.loader.mjs +2 -5
  31. package/esm2022/auth/lib/auth-registry.service.mjs +3 -3
  32. package/esm2022/auth/lib/auth.guard.mjs +7 -9
  33. package/esm2022/auth/lib/auth.module.mjs +26 -20
  34. package/esm2022/auth/lib/auth.strategy.mjs +1 -1
  35. package/esm2022/auth/lib/errors.types.mjs +7 -5
  36. package/esm2022/auth/lib/feature/feature.directive.mjs +55 -0
  37. package/esm2022/auth/lib/feature/feature.guard.mjs +19 -0
  38. package/esm2022/auth/lib/feature/feature.loader.mjs +2 -2
  39. package/esm2022/auth/lib/feature/index.mjs +5 -0
  40. package/esm2022/auth/lib/permission/index.mjs +5 -0
  41. package/esm2022/auth/lib/permission/permission.directive.mjs +24 -21
  42. package/esm2022/auth/lib/permission/permission.guard.mjs +12 -9
  43. package/esm2022/auth/lib/permission/permission.loader.mjs +2 -2
  44. package/esm2022/auth/lib/session.service.mjs +116 -121
  45. package/esm2022/auth/lib/session.types.mjs +29 -0
  46. package/esm2022/auth/lib/tenant/tenant.loader.mjs +2 -5
  47. package/esm2022/common/index.mjs +1 -2
  48. package/esm2022/common/lib/common.module.mjs +19 -26
  49. package/esm2022/common/lib/configs/app.config.mjs +2 -3
  50. package/esm2022/common/lib/data/data-provider.types.mjs +1 -1
  51. package/esm2022/common/lib/errors/error-handler-registry.service.mjs +3 -3
  52. package/esm2022/common/lib/errors/global-error-handler.mjs +3 -3
  53. package/esm2022/common/lib/settings/settings.service.mjs +3 -3
  54. package/esm2022/common/lib/shared/state-persistence/state-persistence.module.mjs +4 -4
  55. package/esm2022/common/lib/store/common.effects.mjs +3 -3
  56. package/esm2022/common/lib/utils/clipboard-service.mjs +3 -3
  57. package/esm2022/common/lib/utils/router-util.service.mjs +3 -3
  58. package/esm2022/common/lib/utils/sticky.directive.mjs +3 -3
  59. package/esm2022/core/acorex-platform-core.mjs +5 -0
  60. package/esm2022/core/index.mjs +5 -0
  61. package/esm2022/core/lib/app/application.types.mjs +19 -0
  62. package/esm2022/core/lib/app/operators.mjs +50 -0
  63. package/esm2022/core/lib/configs/config.types.mjs +3 -0
  64. package/esm2022/core/lib/core.module.mjs +16 -0
  65. package/esm2022/layout/acorex-platform-layout.mjs +5 -0
  66. package/esm2022/layout/index.mjs +3 -0
  67. package/esm2022/layout/lib/builder/builder.module.mjs +66 -0
  68. package/esm2022/layout/lib/builder/context.service.mjs +64 -0
  69. package/esm2022/layout/lib/builder/index.mjs +8 -0
  70. package/esm2022/layout/lib/builder/widget-column-renderer.mjs +75 -0
  71. package/esm2022/layout/lib/builder/widget-container.mjs +45 -0
  72. package/esm2022/layout/lib/builder/widget-registery.service.mjs +33 -0
  73. package/esm2022/layout/lib/builder/widget-renderer.mjs +279 -0
  74. package/esm2022/layout/lib/builder/widget.types.mjs +49 -0
  75. package/esm2022/layout/lib/component-slot/component-slot-loader.service.mjs +56 -0
  76. package/esm2022/layout/lib/component-slot/component-slot-registery.service.mjs +28 -0
  77. package/esm2022/layout/lib/component-slot/component-slot.directive.mjs +24 -0
  78. package/esm2022/layout/lib/component-slot/component-slot.module.mjs +72 -0
  79. package/esm2022/layout/lib/component-slot/component-slot.types.mjs +2 -0
  80. package/esm2022/layout/lib/component-slot/index.mjs +6 -0
  81. package/esm2022/layouts/lib/admin/admin-child-layout/admin-child-features-list.component.mjs +3 -3
  82. package/esm2022/layouts/lib/admin/admin-child-layout/admin-child-layout.component.mjs +3 -3
  83. package/esm2022/layouts/lib/admin/admin-child-layout/admin-child-layout.module.mjs +4 -4
  84. package/esm2022/layouts/lib/admin/admin-root-layout/admin-root-layout.component.mjs +6 -6
  85. package/esm2022/layouts/lib/admin/admin-root-layout/admin-root-layout.module.mjs +6 -6
  86. package/esm2022/layouts/lib/admin/admin-root-layout/components/admin-footer/admin-footer.component.mjs +4 -4
  87. package/esm2022/layouts/lib/admin/admin-root-layout/components/admin-header/admin-header.component.mjs +5 -5
  88. package/esm2022/layouts/lib/admin/admin.module.mjs +18 -10
  89. package/esm2022/layouts/lib/admin/admin.routes.mjs +14 -2
  90. package/esm2022/layouts/lib/admin/entity-layout/entity-create-view/entity-create-view.component.mjs +4 -4
  91. package/esm2022/layouts/lib/admin/entity-layout/entity-create-view/entity-create-view.config.mjs +3 -3
  92. package/esm2022/layouts/lib/admin/entity-layout/entity-details-view/detail-view.config.mjs +3 -3
  93. package/esm2022/layouts/lib/admin/entity-layout/entity-details-view/entity-details-view.component.mjs +15 -15
  94. package/esm2022/layouts/lib/admin/entity-layout/entity-list-view/components/entity-custom-view/entity-custom-view.component.mjs +4 -4
  95. package/esm2022/layouts/lib/admin/entity-layout/entity-list-view/components/list-view-option-columns/list-view-option-columns.component.mjs +3 -3
  96. package/esm2022/layouts/lib/admin/entity-layout/entity-list-view/components/list-view-option-conditions/list-view-option-conditions.component.mjs +3 -3
  97. package/esm2022/layouts/lib/admin/entity-layout/entity-list-view/components/list-view-option-conditions/list-view-option-filter-operator.component.mjs +6 -6
  98. package/esm2022/layouts/lib/admin/entity-layout/entity-list-view/components/list-view-option-sorting/list-view-option-sorting.component.mjs +3 -3
  99. package/esm2022/layouts/lib/admin/entity-layout/entity-list-view/entity-list-view.component.mjs +31 -27
  100. package/esm2022/layouts/lib/admin/entity-layout/entity-list-view/list-view.config.mjs +8 -6
  101. package/esm2022/layouts/lib/admin/entity-layout/entity-list-view/list-view.module.mjs +11 -7
  102. package/esm2022/layouts/lib/admin/entity-layout/entity-modify-view/entity-modify-view.component.mjs +4 -4
  103. package/esm2022/layouts/lib/admin/entity-layout/entity-modify-view/entity-modify-view.config.mjs +3 -3
  104. package/esm2022/layouts/lib/admin/entity-layout/entity-quick-view/entity-quick-view.component.mjs +16 -18
  105. package/esm2022/layouts/lib/admin/entity-layout/index.mjs +2 -1
  106. package/esm2022/layouts/lib/admin/entity-layout/workflows/create-entity.workflow.mjs +3 -3
  107. package/esm2022/layouts/lib/admin/entity-layout/workflows/delete-entity.workflow.mjs +7 -22
  108. package/esm2022/layouts/lib/admin/entity-layout/workflows/index.mjs +4 -0
  109. package/esm2022/layouts/lib/admin/entity-layout/workflows/modify-entity.workflow.mjs +3 -3
  110. package/esm2022/layouts/lib/admin/entity-layout/workflows/show-details.workflow.mjs +10 -0
  111. package/esm2022/layouts/lib/admin/entity-layout/workflows/show-list.workflow.mjs +10 -0
  112. package/esm2022/layouts/lib/admin/entity-layout/workflows/show-quick-view.workflow.mjs +10 -0
  113. package/esm2022/layouts/lib/admin/entity.resolver.mjs +1 -5
  114. package/esm2022/layouts/lib/admin/store/admin-layout.effects.mjs +3 -3
  115. package/esm2022/layouts/lib/layout.module.mjs +9 -24
  116. package/esm2022/layouts/lib/shared/components/content-view/content-view.page.mjs +4 -4
  117. package/esm2022/layouts/lib/shared/components/error-401/error-401.component.mjs +5 -6
  118. package/esm2022/layouts/lib/shared/components/error-404/error-404.component.mjs +3 -3
  119. package/esm2022/layouts/lib/shared/components/error-offline/error-offline.component.mjs +3 -3
  120. package/esm2022/layouts/lib/shared/components/index.mjs +2 -1
  121. package/esm2022/layouts/lib/shared/components/logo/logo.component.mjs +5 -5
  122. package/esm2022/layouts/lib/shared/components/slots/footer-text-slot.component.mjs +3 -3
  123. package/esm2022/layouts/lib/shared/components/slots/navbar-slot.component.mjs +3 -3
  124. package/esm2022/layouts/lib/shared/components/slots/theme-slot.component.mjs +4 -4
  125. package/esm2022/layouts/lib/shared/entity/entity-registery.service.mjs +3 -3
  126. package/esm2022/layouts/lib/shared/entity/entity.class.mjs +1 -1
  127. package/esm2022/layouts/lib/shared/services/layout.service.mjs +3 -3
  128. package/esm2022/layouts/lib/shared/workflows/common.workflow.mjs +54 -17
  129. package/esm2022/layouts/lib/shared/workflows/error-handler.mjs +3 -3
  130. package/esm2022/layouts/lib/themes/default/entity-layouts/entity-details-view/entity-details-view.component.mjs +73 -0
  131. package/esm2022/layouts/lib/themes/default/entity-layouts/entity-details.viewmodel.mjs +99 -0
  132. package/esm2022/layouts/lib/themes/default/index.mjs +3 -0
  133. package/esm2022/layouts/lib/widgets/avatar/avatar-widget-edit.component.mjs +70 -12
  134. package/esm2022/layouts/lib/widgets/avatar/avatar-widget-view.component.mjs +41 -13
  135. package/esm2022/layouts/lib/widgets/checkbox/checkbox-widget-column.component.mjs +6 -6
  136. package/esm2022/layouts/lib/widgets/checkbox/checkbox-widget-edit.component.mjs +3 -3
  137. package/esm2022/layouts/lib/widgets/checkbox/checkbox-widget-view.component.mjs +5 -5
  138. package/esm2022/layouts/lib/widgets/common-widget-filter/boolean-widget-filter.component.mjs +4 -4
  139. package/esm2022/layouts/lib/widgets/common-widget-filter/number-widget-filter.component.mjs +3 -3
  140. package/esm2022/layouts/lib/widgets/common-widget-filter/string-widget-filter.component.mjs +3 -3
  141. package/esm2022/layouts/lib/widgets/common-widgets.module.mjs +32 -7
  142. package/esm2022/layouts/lib/widgets/dateTime/dateTime-widget-column.component.mjs +7 -7
  143. package/esm2022/layouts/lib/widgets/dateTime/dateTime-widget-edit.component.mjs +12 -9
  144. package/esm2022/layouts/lib/widgets/dateTime/dateTime-widget-filter.component.mjs +10 -26
  145. package/esm2022/layouts/lib/widgets/dateTime/dateTime-widget-view.component.mjs +6 -6
  146. package/esm2022/layouts/lib/widgets/email/email-widget-column.component.mjs +7 -7
  147. package/esm2022/layouts/lib/widgets/email/email-widget-edit.component.mjs +5 -5
  148. package/esm2022/layouts/lib/widgets/email/email-widget-view.component.mjs +5 -5
  149. package/esm2022/layouts/lib/widgets/file/file-widget-column.component.mjs +6 -6
  150. package/esm2022/layouts/lib/widgets/file/file-widget-edit.component.mjs +5 -5
  151. package/esm2022/layouts/lib/widgets/file/file-widget-filter.component.mjs +5 -5
  152. package/esm2022/layouts/lib/widgets/file/file-widget-view.component.mjs +5 -5
  153. package/esm2022/layouts/lib/widgets/gallery/gallery-widget-edit.component.mjs +5 -5
  154. package/esm2022/layouts/lib/widgets/gallery/gallery-widget-filter.component.mjs +5 -5
  155. package/esm2022/layouts/lib/widgets/gallery/gallery-widget-view.component.mjs +6 -6
  156. package/esm2022/layouts/lib/widgets/lookup/lookup-widget-column.component.mjs +6 -6
  157. package/esm2022/layouts/lib/widgets/lookup/lookup-widget-edit.component.mjs +5 -5
  158. package/esm2022/layouts/lib/widgets/lookup/lookup-widget-filter.component.mjs +10 -34
  159. package/esm2022/layouts/lib/widgets/lookup/lookup-widget-view.component.mjs +5 -5
  160. package/esm2022/layouts/lib/widgets/map/map-widget-edit.component.mjs +3 -3
  161. package/esm2022/layouts/lib/widgets/map/map-widget-view.component.mjs +5 -5
  162. package/esm2022/layouts/lib/widgets/messenger/messenger-widget-column.component.mjs +7 -7
  163. package/esm2022/layouts/lib/widgets/messenger/messenger-widget-edit.component.mjs +5 -5
  164. package/esm2022/layouts/lib/widgets/messenger/messenger-widget-view.component.mjs +5 -5
  165. package/esm2022/layouts/lib/widgets/number/number-widget-edit.component.mjs +3 -3
  166. package/esm2022/layouts/lib/widgets/number/number-widget-view.component.mjs +6 -6
  167. package/esm2022/layouts/lib/widgets/password/change-password.component.mjs +5 -5
  168. package/esm2022/layouts/lib/widgets/password/password-widget-column.component.mjs +10 -20
  169. package/esm2022/layouts/lib/widgets/password/password-widget-edit.component.mjs +17 -10
  170. package/esm2022/layouts/lib/widgets/password/password-widget-view.component.mjs +5 -5
  171. package/esm2022/layouts/lib/widgets/phone/phone-widget-column.component.mjs +7 -7
  172. package/esm2022/layouts/lib/widgets/phone/phone-widget-edit.component.mjs +8 -92
  173. package/esm2022/layouts/lib/widgets/phone/phone-widget-view.component.mjs +5 -5
  174. package/esm2022/layouts/lib/widgets/rich-text/rich-text-widget-column.component.mjs +9 -17
  175. package/esm2022/layouts/lib/widgets/rich-text/rich-text-widget-edit.component.mjs +3 -3
  176. package/esm2022/layouts/lib/widgets/rich-text/rich-text-widget-view.component.mjs +5 -5
  177. package/esm2022/layouts/lib/widgets/selection-list/selection-list-widget-column.component.mjs +6 -6
  178. package/esm2022/layouts/lib/widgets/selection-list/selection-list-widget-edit.component.mjs +28 -28
  179. package/esm2022/layouts/lib/widgets/selection-list/selection-list-widget-filter.component.mjs +6 -6
  180. package/esm2022/layouts/lib/widgets/selection-list/selection-list-widget-view.component.mjs +6 -6
  181. package/esm2022/layouts/lib/widgets/signature-pad/signature-pad-widget-edit.component.mjs +5 -5
  182. package/esm2022/layouts/lib/widgets/signature-pad/signature-pad-widget-view.component.mjs +5 -5
  183. package/esm2022/layouts/lib/widgets/text/largetext-widget-edit.component.mjs +3 -3
  184. package/esm2022/layouts/lib/widgets/text/text-widget-column.component.mjs +10 -11
  185. package/esm2022/layouts/lib/widgets/text/text-widget-edit.component.mjs +5 -5
  186. package/esm2022/layouts/lib/widgets/text/text-widget-view.component.mjs +5 -5
  187. package/esm2022/layouts/lib/widgets/toggle/toggle-widget-column.component.mjs +6 -6
  188. package/esm2022/layouts/lib/widgets/toggle/toggle-widget-edit.component.mjs +3 -3
  189. package/esm2022/layouts/lib/widgets/toggle/toggle-widget-view.component.mjs +5 -5
  190. package/esm2022/mocks/lib/mocks.module.mjs +4 -4
  191. package/esm2022/mocks/lib/services/mocker.service.mjs +8 -18
  192. package/esm2022/mocks/lib/storage/storage.mock.service.mjs +6 -9
  193. package/esm2022/native/lib/native.module.mjs +4 -4
  194. package/esm2022/native/lib/native.service.mjs +3 -3
  195. package/esm2022/schema/index.mjs +2 -2
  196. package/esm2022/schema/lib/schema-registery.service.mjs +4 -4
  197. package/esm2022/schema/lib/schema.module.mjs +4 -4
  198. package/esm2022/schema/lib/schema.types.mjs +2 -0
  199. package/esm2022/schema/lib/widget/widget-base.mjs +14 -11
  200. package/esm2022/schema/lib/widget/widget-column-renderer.mjs +36 -17
  201. package/esm2022/schema/lib/widget/widget-filter-renderer.mjs +3 -3
  202. package/esm2022/schema/lib/widget/widget-renderer.mjs +7 -7
  203. package/esm2022/schema/lib/widget/widget-token.mjs +1 -1
  204. package/esm2022/widgets/acorex-platform-widgets.mjs +5 -0
  205. package/esm2022/widgets/index.mjs +2 -0
  206. package/esm2022/widgets/lib/editors/checkbox/checkbox-widget-edit.component.mjs +45 -0
  207. package/esm2022/widgets/lib/editors/checkbox/checkbox-widget.config.mjs +9 -0
  208. package/esm2022/widgets/lib/editors/checkbox/index.mjs +3 -0
  209. package/esm2022/widgets/lib/editors/date-time-box-widget/date-time-box-widget-column.component.mjs +19 -0
  210. package/esm2022/widgets/lib/editors/date-time-box-widget/date-time-box-widget-designer.component.mjs +19 -0
  211. package/esm2022/widgets/lib/editors/date-time-box-widget/date-time-box-widget-edit.component.mjs +113 -0
  212. package/esm2022/widgets/lib/editors/date-time-box-widget/date-time-box-widget-filter.component.mjs +20 -0
  213. package/esm2022/widgets/lib/editors/date-time-box-widget/date-time-box-widget-print.component.mjs +19 -0
  214. package/esm2022/widgets/lib/editors/date-time-box-widget/date-time-box-widget-view.component.mjs +45 -0
  215. package/esm2022/widgets/lib/editors/date-time-box-widget/date-time-box-widget.config.mjs +24 -0
  216. package/esm2022/widgets/lib/editors/date-time-box-widget/index.mjs +8 -0
  217. package/esm2022/widgets/lib/editors/email-box-widget/email-box-widget-column.component.mjs +19 -0
  218. package/esm2022/widgets/lib/editors/email-box-widget/email-box-widget-designer.component.mjs +19 -0
  219. package/esm2022/widgets/lib/editors/email-box-widget/email-box-widget-edit.component.mjs +196 -0
  220. package/esm2022/widgets/lib/editors/email-box-widget/email-box-widget-filter.component.mjs +20 -0
  221. package/esm2022/widgets/lib/editors/email-box-widget/email-box-widget-print.component.mjs +19 -0
  222. package/esm2022/widgets/lib/editors/email-box-widget/email-box-widget-view.component.mjs +111 -0
  223. package/esm2022/widgets/lib/editors/email-box-widget/email-box-widget.config.mjs +24 -0
  224. package/esm2022/widgets/lib/editors/email-box-widget/index.mjs +8 -0
  225. package/esm2022/widgets/lib/editors/file-box-widget/file-box-widget-column.component.mjs +19 -0
  226. package/esm2022/widgets/lib/editors/file-box-widget/file-box-widget-designer.component.mjs +19 -0
  227. package/esm2022/widgets/lib/editors/file-box-widget/file-box-widget-edit.component.mjs +189 -0
  228. package/esm2022/widgets/lib/editors/file-box-widget/file-box-widget-filter.component.mjs +20 -0
  229. package/esm2022/widgets/lib/editors/file-box-widget/file-box-widget-print.component.mjs +19 -0
  230. package/esm2022/widgets/lib/editors/file-box-widget/file-box-widget-view.component.mjs +147 -0
  231. package/esm2022/widgets/lib/editors/file-box-widget/file-box-widget.config.mjs +24 -0
  232. package/esm2022/widgets/lib/editors/file-box-widget/index.mjs +8 -0
  233. package/esm2022/widgets/lib/editors/gallery-widget/gallery-widget-column.component.mjs +19 -0
  234. package/esm2022/widgets/lib/editors/gallery-widget/gallery-widget-designer.component.mjs +19 -0
  235. package/esm2022/widgets/lib/editors/gallery-widget/gallery-widget-edit.component.mjs +172 -0
  236. package/esm2022/widgets/lib/editors/gallery-widget/gallery-widget-filter.component.mjs +20 -0
  237. package/esm2022/widgets/lib/editors/gallery-widget/gallery-widget-print.component.mjs +19 -0
  238. package/esm2022/widgets/lib/editors/gallery-widget/gallery-widget-types.mjs +2 -0
  239. package/esm2022/widgets/lib/editors/gallery-widget/gallery-widget-view.component.mjs +159 -0
  240. package/esm2022/widgets/lib/editors/gallery-widget/gallery-widget.config.mjs +24 -0
  241. package/esm2022/widgets/lib/editors/gallery-widget/index.mjs +8 -0
  242. package/esm2022/widgets/lib/editors/map-box-widget/index.mjs +8 -0
  243. package/esm2022/widgets/lib/editors/map-box-widget/map-box-widget-column.component.mjs +19 -0
  244. package/esm2022/widgets/lib/editors/map-box-widget/map-box-widget-designer.component.mjs +19 -0
  245. package/esm2022/widgets/lib/editors/map-box-widget/map-box-widget-edit.component.mjs +92 -0
  246. package/esm2022/widgets/lib/editors/map-box-widget/map-box-widget-filter.component.mjs +20 -0
  247. package/esm2022/widgets/lib/editors/map-box-widget/map-box-widget-print.component.mjs +19 -0
  248. package/esm2022/widgets/lib/editors/map-box-widget/map-box-widget-view.component.mjs +65 -0
  249. package/esm2022/widgets/lib/editors/map-box-widget/map-box-widget.config.mjs +24 -0
  250. package/esm2022/widgets/lib/editors/number-box-widget/index.mjs +8 -0
  251. package/esm2022/widgets/lib/editors/number-box-widget/number-box-widget-column.component.mjs +19 -0
  252. package/esm2022/widgets/lib/editors/number-box-widget/number-box-widget-designer.component.mjs +19 -0
  253. package/esm2022/widgets/lib/editors/number-box-widget/number-box-widget-edit.component.mjs +135 -0
  254. package/esm2022/widgets/lib/editors/number-box-widget/number-box-widget-filter.component.mjs +20 -0
  255. package/esm2022/widgets/lib/editors/number-box-widget/number-box-widget-print.component.mjs +19 -0
  256. package/esm2022/widgets/lib/editors/number-box-widget/number-box-widget-view.component.mjs +39 -0
  257. package/esm2022/widgets/lib/editors/number-box-widget/number-box-widget.config.mjs +24 -0
  258. package/esm2022/widgets/lib/editors/password-box-widget/index.mjs +8 -0
  259. package/esm2022/widgets/lib/editors/password-box-widget/password-box-widget-column.component.mjs +19 -0
  260. package/esm2022/widgets/lib/editors/password-box-widget/password-box-widget-designer.component.mjs +19 -0
  261. package/esm2022/widgets/lib/editors/password-box-widget/password-box-widget-edit.component.mjs +39 -0
  262. package/esm2022/widgets/lib/editors/password-box-widget/password-box-widget-filter.component.mjs +20 -0
  263. package/esm2022/widgets/lib/editors/password-box-widget/password-box-widget-print.component.mjs +19 -0
  264. package/esm2022/widgets/lib/editors/password-box-widget/password-box-widget-view.component.mjs +73 -0
  265. package/esm2022/widgets/lib/editors/password-box-widget/password-box-widget.config.mjs +24 -0
  266. package/esm2022/widgets/lib/editors/phone-box-widget/index.mjs +8 -0
  267. package/esm2022/widgets/lib/editors/phone-box-widget/phone-box-widget-column.component.mjs +19 -0
  268. package/esm2022/widgets/lib/editors/phone-box-widget/phone-box-widget-designer.component.mjs +19 -0
  269. package/esm2022/widgets/lib/editors/phone-box-widget/phone-box-widget-edit.component.mjs +190 -0
  270. package/esm2022/widgets/lib/editors/phone-box-widget/phone-box-widget-filter.component.mjs +20 -0
  271. package/esm2022/widgets/lib/editors/phone-box-widget/phone-box-widget-print.component.mjs +19 -0
  272. package/esm2022/widgets/lib/editors/phone-box-widget/phone-box-widget-view.component.mjs +113 -0
  273. package/esm2022/widgets/lib/editors/phone-box-widget/phone-box-widget.config.mjs +24 -0
  274. package/esm2022/widgets/lib/editors/rich-text-widget/index.mjs +8 -0
  275. package/esm2022/widgets/lib/editors/rich-text-widget/rich-text-widget-column.component.mjs +19 -0
  276. package/esm2022/widgets/lib/editors/rich-text-widget/rich-text-widget-designer.component.mjs +19 -0
  277. package/esm2022/widgets/lib/editors/rich-text-widget/rich-text-widget-edit.component.mjs +63 -0
  278. package/esm2022/widgets/lib/editors/rich-text-widget/rich-text-widget-filter.component.mjs +20 -0
  279. package/esm2022/widgets/lib/editors/rich-text-widget/rich-text-widget-print.component.mjs +19 -0
  280. package/esm2022/widgets/lib/editors/rich-text-widget/rich-text-widget-view.component.mjs +33 -0
  281. package/esm2022/widgets/lib/editors/rich-text-widget/rich-text-widget.config.mjs +24 -0
  282. package/esm2022/widgets/lib/editors/select-box-widget/index.mjs +8 -0
  283. package/esm2022/widgets/lib/editors/select-box-widget/select-box-widget-column.component.mjs +19 -0
  284. package/esm2022/widgets/lib/editors/select-box-widget/select-box-widget-designer.component.mjs +19 -0
  285. package/esm2022/widgets/lib/editors/select-box-widget/select-box-widget-edit.component.mjs +80 -0
  286. package/esm2022/widgets/lib/editors/select-box-widget/select-box-widget-filter.component.mjs +19 -0
  287. package/esm2022/widgets/lib/editors/select-box-widget/select-box-widget-print.component.mjs +19 -0
  288. package/esm2022/widgets/lib/editors/select-box-widget/select-box-widget-view.component.mjs +54 -0
  289. package/esm2022/widgets/lib/editors/select-box-widget/select-box-widget.config.mjs +24 -0
  290. package/esm2022/widgets/lib/editors/selection-list-widget/index.mjs +8 -0
  291. package/esm2022/widgets/lib/editors/selection-list-widget/selection-list-widget-column.component.mjs +19 -0
  292. package/esm2022/widgets/lib/editors/selection-list-widget/selection-list-widget-designer.component.mjs +19 -0
  293. package/esm2022/widgets/lib/editors/selection-list-widget/selection-list-widget-edit.component.mjs +58 -0
  294. package/esm2022/widgets/lib/editors/selection-list-widget/selection-list-widget-filter.component.mjs +20 -0
  295. package/esm2022/widgets/lib/editors/selection-list-widget/selection-list-widget-print.component.mjs +19 -0
  296. package/esm2022/widgets/lib/editors/selection-list-widget/selection-list-widget-view.component.mjs +19 -0
  297. package/esm2022/widgets/lib/editors/selection-list-widget/selection-list-widget.config.mjs +24 -0
  298. package/esm2022/widgets/lib/editors/signature-pad-widget/index.mjs +8 -0
  299. package/esm2022/widgets/lib/editors/signature-pad-widget/signature-pad-widget-column.component.mjs +19 -0
  300. package/esm2022/widgets/lib/editors/signature-pad-widget/signature-pad-widget-designer.component.mjs +19 -0
  301. package/esm2022/widgets/lib/editors/signature-pad-widget/signature-pad-widget-edit.component.mjs +129 -0
  302. package/esm2022/widgets/lib/editors/signature-pad-widget/signature-pad-widget-filter.component.mjs +20 -0
  303. package/esm2022/widgets/lib/editors/signature-pad-widget/signature-pad-widget-print.component.mjs +19 -0
  304. package/esm2022/widgets/lib/editors/signature-pad-widget/signature-pad-widget-view.component.mjs +41 -0
  305. package/esm2022/widgets/lib/editors/signature-pad-widget/signature-pad-widget.config.mjs +24 -0
  306. package/esm2022/widgets/lib/editors/text-box-widget/index.mjs +8 -0
  307. package/esm2022/widgets/lib/editors/text-box-widget/text-box-widget-column.component.mjs +19 -0
  308. package/esm2022/widgets/lib/editors/text-box-widget/text-box-widget-designer.component.mjs +19 -0
  309. package/esm2022/widgets/lib/editors/text-box-widget/text-box-widget-edit.component.mjs +120 -0
  310. package/esm2022/widgets/lib/editors/text-box-widget/text-box-widget-filter.component.mjs +20 -0
  311. package/esm2022/widgets/lib/editors/text-box-widget/text-box-widget-print.component.mjs +19 -0
  312. package/esm2022/widgets/lib/editors/text-box-widget/text-box-widget-view.component.mjs +39 -0
  313. package/esm2022/widgets/lib/editors/text-box-widget/text-box-widget.config.mjs +24 -0
  314. package/esm2022/widgets/lib/layout/block-widget/block-widget.component.mjs +39 -0
  315. package/esm2022/widgets/lib/layout/block-widget/block-widget.config.mjs +9 -0
  316. package/esm2022/widgets/lib/layout/block-widget/index.mjs +3 -0
  317. package/esm2022/widgets/lib/widgets.module.mjs +71 -0
  318. package/esm2022/workflow/lib/workflow-event-dispatcher.service.mjs +3 -3
  319. package/esm2022/workflow/lib/workflow-registery.service.mjs +3 -3
  320. package/esm2022/workflow/lib/workflow.module.mjs +4 -4
  321. package/esm2022/workflow/lib/workflow.service.mjs +3 -3
  322. package/esm2022/workflow/lib/workflow.types.mjs +7 -7
  323. package/fesm2022/acorex-platform-auth.mjs +311 -214
  324. package/fesm2022/acorex-platform-auth.mjs.map +1 -1
  325. package/fesm2022/acorex-platform-common.mjs +70 -244
  326. package/fesm2022/acorex-platform-common.mjs.map +1 -1
  327. package/fesm2022/acorex-platform-core.mjs +94 -0
  328. package/fesm2022/acorex-platform-core.mjs.map +1 -0
  329. package/fesm2022/acorex-platform-layout.mjs +756 -0
  330. package/fesm2022/acorex-platform-layout.mjs.map +1 -0
  331. package/fesm2022/{acorex-platform-layouts-avatar-widget-edit.component-PZr1lXj-.mjs → acorex-platform-layouts-avatar-widget-edit.component-a_eCmVu5.mjs} +72 -14
  332. package/fesm2022/acorex-platform-layouts-avatar-widget-edit.component-a_eCmVu5.mjs.map +1 -0
  333. package/fesm2022/acorex-platform-layouts-avatar-widget-view.component-wwI7L0Kc.mjs +64 -0
  334. package/fesm2022/acorex-platform-layouts-avatar-widget-view.component-wwI7L0Kc.mjs.map +1 -0
  335. package/fesm2022/{acorex-platform-layouts-boolean-widget-filter.component-H056Q5Gz.mjs → acorex-platform-layouts-boolean-widget-filter.component-CHW4rgxA.mjs} +6 -6
  336. package/fesm2022/{acorex-platform-layouts-boolean-widget-filter.component-H056Q5Gz.mjs.map → acorex-platform-layouts-boolean-widget-filter.component-CHW4rgxA.mjs.map} +1 -1
  337. package/fesm2022/{acorex-platform-layouts-change-password.component-QMAm6dxN.mjs → acorex-platform-layouts-change-password.component-vUZy2W_B.mjs} +7 -7
  338. package/fesm2022/{acorex-platform-layouts-change-password.component-QMAm6dxN.mjs.map → acorex-platform-layouts-change-password.component-vUZy2W_B.mjs.map} +1 -1
  339. package/fesm2022/{acorex-platform-layouts-checkbox-widget-column.component-vRJI5S-w.mjs → acorex-platform-layouts-checkbox-widget-column.component-BNEtAS7g.mjs} +6 -6
  340. package/fesm2022/acorex-platform-layouts-checkbox-widget-column.component-BNEtAS7g.mjs.map +1 -0
  341. package/fesm2022/{acorex-platform-layouts-checkbox-widget-edit.component-P4cD_Nwg.mjs → acorex-platform-layouts-checkbox-widget-edit.component-Cqn_QBcv.mjs} +4 -4
  342. package/fesm2022/{acorex-platform-layouts-checkbox-widget-edit.component-P4cD_Nwg.mjs.map → acorex-platform-layouts-checkbox-widget-edit.component-Cqn_QBcv.mjs.map} +1 -1
  343. package/fesm2022/{acorex-platform-layouts-checkbox-widget-view.component-m6bF8XFR.mjs → acorex-platform-layouts-checkbox-widget-view.component-DQLggJ9x.mjs} +5 -5
  344. package/fesm2022/acorex-platform-layouts-checkbox-widget-view.component-DQLggJ9x.mjs.map +1 -0
  345. package/fesm2022/{acorex-platform-layouts-dateTime-widget-column.component-qeQRJePy.mjs → acorex-platform-layouts-dateTime-widget-column.component-D0eNN66F.mjs} +7 -7
  346. package/fesm2022/acorex-platform-layouts-dateTime-widget-column.component-D0eNN66F.mjs.map +1 -0
  347. package/fesm2022/{acorex-platform-layouts-dateTime-widget-edit.component-zeJXGXY8.mjs → acorex-platform-layouts-dateTime-widget-edit.component-BLqAWdRX.mjs} +13 -10
  348. package/fesm2022/acorex-platform-layouts-dateTime-widget-edit.component-BLqAWdRX.mjs.map +1 -0
  349. package/fesm2022/{acorex-platform-layouts-dateTime-widget-filter.component-DJ6esclU.mjs → acorex-platform-layouts-dateTime-widget-filter.component-tvc-cTos.mjs} +10 -26
  350. package/fesm2022/acorex-platform-layouts-dateTime-widget-filter.component-tvc-cTos.mjs.map +1 -0
  351. package/fesm2022/{acorex-platform-layouts-dateTime-widget-view.component-BrwycTWz.mjs → acorex-platform-layouts-dateTime-widget-view.component-CjChqiJw.mjs} +6 -6
  352. package/fesm2022/acorex-platform-layouts-dateTime-widget-view.component-CjChqiJw.mjs.map +1 -0
  353. package/fesm2022/{acorex-platform-layouts-email-widget-column.component-ac8gqsFT.mjs → acorex-platform-layouts-email-widget-column.component-CUnxKERe.mjs} +7 -7
  354. package/fesm2022/acorex-platform-layouts-email-widget-column.component-CUnxKERe.mjs.map +1 -0
  355. package/fesm2022/{acorex-platform-layouts-email-widget-edit.component-m2dI7y9X.mjs → acorex-platform-layouts-email-widget-edit.component-DqnNien2.mjs} +8 -8
  356. package/fesm2022/{acorex-platform-layouts-email-widget-edit.component-m2dI7y9X.mjs.map → acorex-platform-layouts-email-widget-edit.component-DqnNien2.mjs.map} +1 -1
  357. package/fesm2022/{acorex-platform-layouts-email-widget-view.component-XrV8va7z.mjs → acorex-platform-layouts-email-widget-view.component-BZsLYW2w.mjs} +5 -5
  358. package/fesm2022/{acorex-platform-layouts-email-widget-view.component-XrV8va7z.mjs.map → acorex-platform-layouts-email-widget-view.component-BZsLYW2w.mjs.map} +1 -1
  359. package/fesm2022/{acorex-platform-layouts-entity-create-view.component-8rtifIvM.mjs → acorex-platform-layouts-entity-create-view.component-C3TUCnB2.mjs} +6 -6
  360. package/fesm2022/{acorex-platform-layouts-entity-create-view.component-8rtifIvM.mjs.map → acorex-platform-layouts-entity-create-view.component-C3TUCnB2.mjs.map} +1 -1
  361. package/fesm2022/{acorex-platform-layouts-entity-modify-view.component-VeTkP3-n.mjs → acorex-platform-layouts-entity-modify-view.component-BnSfJlc5.mjs} +6 -6
  362. package/fesm2022/{acorex-platform-layouts-entity-modify-view.component-VeTkP3-n.mjs.map → acorex-platform-layouts-entity-modify-view.component-BnSfJlc5.mjs.map} +1 -1
  363. package/fesm2022/{acorex-platform-layouts-file-widget-column.component-v7kAdIQ9.mjs → acorex-platform-layouts-file-widget-column.component-f54Z9E5C.mjs} +6 -6
  364. package/fesm2022/acorex-platform-layouts-file-widget-column.component-f54Z9E5C.mjs.map +1 -0
  365. package/fesm2022/{acorex-platform-layouts-file-widget-edit.component-Wrq7ZL9R.mjs → acorex-platform-layouts-file-widget-edit.component-CW9ESi46.mjs} +6 -6
  366. package/fesm2022/{acorex-platform-layouts-file-widget-edit.component-Wrq7ZL9R.mjs.map → acorex-platform-layouts-file-widget-edit.component-CW9ESi46.mjs.map} +1 -1
  367. package/fesm2022/{acorex-platform-layouts-file-widget-filter.component-1-NJh38j.mjs → acorex-platform-layouts-file-widget-filter.component-K3mC1xLX.mjs} +5 -5
  368. package/fesm2022/{acorex-platform-layouts-file-widget-filter.component-1-NJh38j.mjs.map → acorex-platform-layouts-file-widget-filter.component-K3mC1xLX.mjs.map} +1 -1
  369. package/fesm2022/{acorex-platform-layouts-file-widget-view.component-mXBrKX0K.mjs → acorex-platform-layouts-file-widget-view.component-DVlbi33v.mjs} +7 -7
  370. package/fesm2022/acorex-platform-layouts-file-widget-view.component-DVlbi33v.mjs.map +1 -0
  371. package/fesm2022/{acorex-platform-layouts-gallery-widget-edit.component-cWNvVwum.mjs → acorex-platform-layouts-gallery-widget-edit.component-BUlkUU5u.mjs} +6 -6
  372. package/fesm2022/{acorex-platform-layouts-gallery-widget-edit.component-cWNvVwum.mjs.map → acorex-platform-layouts-gallery-widget-edit.component-BUlkUU5u.mjs.map} +1 -1
  373. package/fesm2022/{acorex-platform-layouts-gallery-widget-filter.component-OCz0hj5i.mjs → acorex-platform-layouts-gallery-widget-filter.component-BYFQSXOV.mjs} +5 -5
  374. package/fesm2022/{acorex-platform-layouts-gallery-widget-filter.component-OCz0hj5i.mjs.map → acorex-platform-layouts-gallery-widget-filter.component-BYFQSXOV.mjs.map} +1 -1
  375. package/fesm2022/{acorex-platform-layouts-gallery-widget-view.component-xU52uaP0.mjs → acorex-platform-layouts-gallery-widget-view.component-BqVO3rDH.mjs} +7 -7
  376. package/fesm2022/acorex-platform-layouts-gallery-widget-view.component-BqVO3rDH.mjs.map +1 -0
  377. package/fesm2022/{acorex-platform-layouts-largetext-widget-edit.component-Um_eBRFi.mjs → acorex-platform-layouts-largetext-widget-edit.component-CmH9daul.mjs} +4 -4
  378. package/fesm2022/{acorex-platform-layouts-largetext-widget-edit.component-Um_eBRFi.mjs.map → acorex-platform-layouts-largetext-widget-edit.component-CmH9daul.mjs.map} +1 -1
  379. package/fesm2022/{acorex-platform-layouts-lookup-widget-column.component-Ts0MJe8O.mjs → acorex-platform-layouts-lookup-widget-column.component-C4Bb5AYW.mjs} +6 -6
  380. package/fesm2022/acorex-platform-layouts-lookup-widget-column.component-C4Bb5AYW.mjs.map +1 -0
  381. package/fesm2022/{acorex-platform-layouts-lookup-widget-edit.component-l5nSr9Cm.mjs → acorex-platform-layouts-lookup-widget-edit.component-B2Qyoi4Q.mjs} +8 -7
  382. package/fesm2022/acorex-platform-layouts-lookup-widget-edit.component-B2Qyoi4Q.mjs.map +1 -0
  383. package/fesm2022/{acorex-platform-layouts-lookup-widget-filter.component-gp5skvmz.mjs → acorex-platform-layouts-lookup-widget-filter.component-JJzSun3D.mjs} +14 -37
  384. package/fesm2022/acorex-platform-layouts-lookup-widget-filter.component-JJzSun3D.mjs.map +1 -0
  385. package/fesm2022/{acorex-platform-layouts-lookup-widget-view.component-ftFXFj6k.mjs → acorex-platform-layouts-lookup-widget-view.component-Bmp_zVcQ.mjs} +5 -5
  386. package/fesm2022/acorex-platform-layouts-lookup-widget-view.component-Bmp_zVcQ.mjs.map +1 -0
  387. package/fesm2022/{acorex-platform-layouts-map-widget-edit.component-SOQvPhmX.mjs → acorex-platform-layouts-map-widget-edit.component-EWlgQnx5.mjs} +4 -4
  388. package/fesm2022/{acorex-platform-layouts-map-widget-edit.component-SOQvPhmX.mjs.map → acorex-platform-layouts-map-widget-edit.component-EWlgQnx5.mjs.map} +1 -1
  389. package/fesm2022/{acorex-platform-layouts-map-widget-view.component-1Lj9efbd.mjs → acorex-platform-layouts-map-widget-view.component-cB5Mq7G7.mjs} +5 -5
  390. package/fesm2022/acorex-platform-layouts-map-widget-view.component-cB5Mq7G7.mjs.map +1 -0
  391. package/fesm2022/{acorex-platform-layouts-messenger-widget-column.component-W7ZY-W84.mjs → acorex-platform-layouts-messenger-widget-column.component-DWgWrdmz.mjs} +7 -7
  392. package/fesm2022/acorex-platform-layouts-messenger-widget-column.component-DWgWrdmz.mjs.map +1 -0
  393. package/fesm2022/{acorex-platform-layouts-messenger-widget-edit.component-dAX8nirB.mjs → acorex-platform-layouts-messenger-widget-edit.component-C7VOe49a.mjs} +8 -8
  394. package/fesm2022/acorex-platform-layouts-messenger-widget-edit.component-C7VOe49a.mjs.map +1 -0
  395. package/fesm2022/{acorex-platform-layouts-messenger-widget-view.component-9TJiFdq-.mjs → acorex-platform-layouts-messenger-widget-view.component-uciMJWYn.mjs} +5 -5
  396. package/fesm2022/acorex-platform-layouts-messenger-widget-view.component-uciMJWYn.mjs.map +1 -0
  397. package/fesm2022/{acorex-platform-layouts-number-widget-edit.component-DDi-o_Zn.mjs → acorex-platform-layouts-number-widget-edit.component-CXTwKvM4.mjs} +4 -4
  398. package/fesm2022/{acorex-platform-layouts-number-widget-edit.component-DDi-o_Zn.mjs.map → acorex-platform-layouts-number-widget-edit.component-CXTwKvM4.mjs.map} +1 -1
  399. package/fesm2022/{acorex-platform-layouts-number-widget-filter.component-DPGSzdNm.mjs → acorex-platform-layouts-number-widget-filter.component-ARH7BdkE.mjs} +6 -6
  400. package/fesm2022/{acorex-platform-layouts-number-widget-filter.component-DPGSzdNm.mjs.map → acorex-platform-layouts-number-widget-filter.component-ARH7BdkE.mjs.map} +1 -1
  401. package/fesm2022/{acorex-platform-layouts-number-widget-view.component-hqkAR0LG.mjs → acorex-platform-layouts-number-widget-view.component-B0duuEhX.mjs} +6 -6
  402. package/fesm2022/acorex-platform-layouts-number-widget-view.component-B0duuEhX.mjs.map +1 -0
  403. package/fesm2022/{acorex-platform-layouts-password-widget-column.component-ic1jykZL.mjs → acorex-platform-layouts-password-widget-column.component-Cav_zCe4.mjs} +10 -20
  404. package/fesm2022/acorex-platform-layouts-password-widget-column.component-Cav_zCe4.mjs.map +1 -0
  405. package/fesm2022/acorex-platform-layouts-password-widget-edit.component-Dm2E5zA_.mjs +44 -0
  406. package/fesm2022/acorex-platform-layouts-password-widget-edit.component-Dm2E5zA_.mjs.map +1 -0
  407. package/fesm2022/{acorex-platform-layouts-password-widget-view.component-E2vtPKRO.mjs → acorex-platform-layouts-password-widget-view.component-BaipF6fT.mjs} +8 -8
  408. package/fesm2022/{acorex-platform-layouts-password-widget-view.component-E2vtPKRO.mjs.map → acorex-platform-layouts-password-widget-view.component-BaipF6fT.mjs.map} +1 -1
  409. package/fesm2022/{acorex-platform-layouts-phone-widget-column.component-s04WZfzv.mjs → acorex-platform-layouts-phone-widget-column.component-BtZ5Qke0.mjs} +7 -7
  410. package/fesm2022/acorex-platform-layouts-phone-widget-column.component-BtZ5Qke0.mjs.map +1 -0
  411. package/fesm2022/{acorex-platform-layouts-phone-widget-edit.component-MKzlZ0_B.mjs → acorex-platform-layouts-phone-widget-edit.component-BugCYS-l.mjs} +11 -95
  412. package/fesm2022/acorex-platform-layouts-phone-widget-edit.component-BugCYS-l.mjs.map +1 -0
  413. package/fesm2022/{acorex-platform-layouts-phone-widget-view.component-NEO22XO7.mjs → acorex-platform-layouts-phone-widget-view.component-C7EN8qDk.mjs} +5 -5
  414. package/fesm2022/{acorex-platform-layouts-phone-widget-view.component-NEO22XO7.mjs.map → acorex-platform-layouts-phone-widget-view.component-C7EN8qDk.mjs.map} +1 -1
  415. package/fesm2022/{acorex-platform-layouts-rich-text-widget-column.component-P0YzXTIB.mjs → acorex-platform-layouts-rich-text-widget-column.component-B99s2Zhi.mjs} +11 -19
  416. package/fesm2022/acorex-platform-layouts-rich-text-widget-column.component-B99s2Zhi.mjs.map +1 -0
  417. package/fesm2022/{acorex-platform-layouts-rich-text-widget-edit.component-ro2yg7PR.mjs → acorex-platform-layouts-rich-text-widget-edit.component-Di1P6EQV.mjs} +4 -4
  418. package/fesm2022/{acorex-platform-layouts-rich-text-widget-edit.component-ro2yg7PR.mjs.map → acorex-platform-layouts-rich-text-widget-edit.component-Di1P6EQV.mjs.map} +1 -1
  419. package/fesm2022/{acorex-platform-layouts-rich-text-widget-view.component--Rzxm2a6.mjs → acorex-platform-layouts-rich-text-widget-view.component-B_QG0YJc.mjs} +5 -5
  420. package/fesm2022/acorex-platform-layouts-rich-text-widget-view.component-B_QG0YJc.mjs.map +1 -0
  421. package/fesm2022/{acorex-platform-layouts-selection-list-widget-column.component-9FTkDGmq.mjs → acorex-platform-layouts-selection-list-widget-column.component-Cx9QqR9f.mjs} +6 -6
  422. package/fesm2022/acorex-platform-layouts-selection-list-widget-column.component-Cx9QqR9f.mjs.map +1 -0
  423. package/fesm2022/{acorex-platform-layouts-selection-list-widget-edit.component-FpOQ12Ie.mjs → acorex-platform-layouts-selection-list-widget-edit.component-DU-U-Af-.mjs} +28 -28
  424. package/fesm2022/acorex-platform-layouts-selection-list-widget-edit.component-DU-U-Af-.mjs.map +1 -0
  425. package/fesm2022/{acorex-platform-layouts-selection-list-widget-filter.component-hGk-ZZ78.mjs → acorex-platform-layouts-selection-list-widget-filter.component-B8y8heXR.mjs} +6 -6
  426. package/fesm2022/acorex-platform-layouts-selection-list-widget-filter.component-B8y8heXR.mjs.map +1 -0
  427. package/fesm2022/{acorex-platform-layouts-selection-list-widget-view.component-s9xq___Y.mjs → acorex-platform-layouts-selection-list-widget-view.component-BDupWZy-.mjs} +6 -6
  428. package/fesm2022/acorex-platform-layouts-selection-list-widget-view.component-BDupWZy-.mjs.map +1 -0
  429. package/fesm2022/{acorex-platform-layouts-signature-pad-widget-edit.component-W28Uk9zO.mjs → acorex-platform-layouts-signature-pad-widget-edit.component-bEDsl8mg.mjs} +7 -7
  430. package/fesm2022/{acorex-platform-layouts-signature-pad-widget-edit.component-W28Uk9zO.mjs.map → acorex-platform-layouts-signature-pad-widget-edit.component-bEDsl8mg.mjs.map} +1 -1
  431. package/fesm2022/{acorex-platform-layouts-signature-pad-widget-view.component-R40Ml757.mjs → acorex-platform-layouts-signature-pad-widget-view.component-DB903O2F.mjs} +5 -5
  432. package/fesm2022/acorex-platform-layouts-signature-pad-widget-view.component-DB903O2F.mjs.map +1 -0
  433. package/fesm2022/{acorex-platform-layouts-string-widget-filter.component-4oZ6BVis.mjs → acorex-platform-layouts-string-widget-filter.component-D3ZxVk6S.mjs} +7 -7
  434. package/fesm2022/{acorex-platform-layouts-string-widget-filter.component-4oZ6BVis.mjs.map → acorex-platform-layouts-string-widget-filter.component-D3ZxVk6S.mjs.map} +1 -1
  435. package/fesm2022/{acorex-platform-layouts-text-widget-column.component-qhh6MT79.mjs → acorex-platform-layouts-text-widget-column.component-D8WDAbQB.mjs} +10 -11
  436. package/fesm2022/acorex-platform-layouts-text-widget-column.component-D8WDAbQB.mjs.map +1 -0
  437. package/fesm2022/{acorex-platform-layouts-text-widget-edit.component-TC127Dq8.mjs → acorex-platform-layouts-text-widget-edit.component-BrDbNXgJ.mjs} +6 -6
  438. package/fesm2022/{acorex-platform-layouts-text-widget-edit.component-TC127Dq8.mjs.map → acorex-platform-layouts-text-widget-edit.component-BrDbNXgJ.mjs.map} +1 -1
  439. package/fesm2022/{acorex-platform-layouts-text-widget-view.component-65eOj0qR.mjs → acorex-platform-layouts-text-widget-view.component-XHN41M3T.mjs} +5 -5
  440. package/fesm2022/acorex-platform-layouts-text-widget-view.component-XHN41M3T.mjs.map +1 -0
  441. package/fesm2022/{acorex-platform-layouts-toggle-widget-column.component-uxOXR-bL.mjs → acorex-platform-layouts-toggle-widget-column.component-BjIyTuZj.mjs} +6 -6
  442. package/fesm2022/acorex-platform-layouts-toggle-widget-column.component-BjIyTuZj.mjs.map +1 -0
  443. package/fesm2022/{acorex-platform-layouts-toggle-widget-edit.component-R44L1pgJ.mjs → acorex-platform-layouts-toggle-widget-edit.component-BKbBile6.mjs} +4 -4
  444. package/fesm2022/{acorex-platform-layouts-toggle-widget-edit.component-R44L1pgJ.mjs.map → acorex-platform-layouts-toggle-widget-edit.component-BKbBile6.mjs.map} +1 -1
  445. package/fesm2022/{acorex-platform-layouts-toggle-widget-view.component-DTOeAUiy.mjs → acorex-platform-layouts-toggle-widget-view.component-CyjhQSiV.mjs} +5 -5
  446. package/fesm2022/{acorex-platform-layouts-toggle-widget-view.component-DTOeAUiy.mjs.map → acorex-platform-layouts-toggle-widget-view.component-CyjhQSiV.mjs.map} +1 -1
  447. package/fesm2022/acorex-platform-layouts.mjs +565 -422
  448. package/fesm2022/acorex-platform-layouts.mjs.map +1 -1
  449. package/fesm2022/acorex-platform-mocks.mjs +16 -29
  450. package/fesm2022/acorex-platform-mocks.mjs.map +1 -1
  451. package/fesm2022/acorex-platform-native.mjs +7 -7
  452. package/fesm2022/acorex-platform-schema.mjs +63 -41
  453. package/fesm2022/acorex-platform-schema.mjs.map +1 -1
  454. package/fesm2022/acorex-platform-widgets.mjs +3966 -0
  455. package/fesm2022/acorex-platform-widgets.mjs.map +1 -0
  456. package/fesm2022/acorex-platform-workflow.mjs +19 -19
  457. package/fesm2022/acorex-platform-workflow.mjs.map +1 -1
  458. package/layout/README.md +4 -0
  459. package/layout/index.d.ts +2 -0
  460. package/layout/lib/builder/builder.module.d.ts +23 -0
  461. package/layout/lib/builder/context.service.d.ts +17 -0
  462. package/layout/lib/builder/index.d.ts +7 -0
  463. package/layout/lib/builder/widget-column-renderer.d.ts +30 -0
  464. package/layout/lib/builder/widget-container.d.ts +13 -0
  465. package/layout/lib/builder/widget-registery.service.d.ts +10 -0
  466. package/layout/lib/builder/widget-renderer.d.ts +41 -0
  467. package/layout/lib/builder/widget.types.d.ts +55 -0
  468. package/layouts/lib/admin/admin-root-layout/admin-root-layout.module.d.ts +1 -1
  469. package/layouts/lib/admin/entity-layout/entity-details-view/entity-details-view.component.d.ts +3 -5
  470. package/layouts/lib/admin/entity-layout/entity-list-view/entity-list-view.component.d.ts +7 -2
  471. package/layouts/lib/admin/entity-layout/entity-list-view/list-view.config.d.ts +2 -0
  472. package/layouts/lib/admin/entity-layout/entity-list-view/list-view.module.d.ts +2 -1
  473. package/layouts/lib/admin/entity-layout/entity-quick-view/entity-quick-view.component.d.ts +3 -0
  474. package/layouts/lib/admin/entity-layout/index.d.ts +1 -0
  475. package/layouts/lib/admin/entity-layout/workflows/index.d.ts +3 -0
  476. package/layouts/lib/admin/entity-layout/workflows/show-details.workflow.d.ts +2 -0
  477. package/layouts/lib/admin/entity-layout/workflows/show-list.workflow.d.ts +2 -0
  478. package/layouts/lib/admin/entity-layout/workflows/show-quick-view.workflow.d.ts +2 -0
  479. package/layouts/lib/admin/store/admin-layout.actions.d.ts +8 -8
  480. package/layouts/lib/admin/store/admin-layout.effects.d.ts +1 -1
  481. package/layouts/lib/admin/store/admin-layout.reducers.d.ts +2 -2
  482. package/layouts/lib/layout.module.d.ts +1 -1
  483. package/layouts/lib/shared/components/error-401/error-401.component.d.ts +1 -4
  484. package/layouts/lib/shared/components/index.d.ts +1 -0
  485. package/layouts/lib/shared/components/slots/theme-slot.component.d.ts +1 -1
  486. package/layouts/lib/shared/entity/entity.class.d.ts +10 -2
  487. package/layouts/lib/shared/workflows/common.workflow.d.ts +9 -0
  488. package/layouts/lib/themes/default/entity-layouts/entity-details-view/entity-details-view.component.d.ts +11 -0
  489. package/layouts/lib/themes/default/entity-layouts/entity-details.viewmodel.d.ts +34 -0
  490. package/layouts/lib/themes/default/index.d.ts +2 -0
  491. package/layouts/lib/widgets/avatar/avatar-widget-edit.component.d.ts +8 -2
  492. package/layouts/lib/widgets/avatar/avatar-widget-view.component.d.ts +6 -1
  493. package/layouts/lib/widgets/checkbox/checkbox-widget-column.component.d.ts +1 -1
  494. package/layouts/lib/widgets/dateTime/dateTime-widget-column.component.d.ts +1 -1
  495. package/layouts/lib/widgets/dateTime/dateTime-widget-edit.component.d.ts +4 -2
  496. package/layouts/lib/widgets/email/email-widget-column.component.d.ts +1 -1
  497. package/layouts/lib/widgets/file/file-widget-column.component.d.ts +1 -1
  498. package/layouts/lib/widgets/lookup/lookup-widget-column.component.d.ts +1 -1
  499. package/layouts/lib/widgets/messenger/messenger-widget-column.component.d.ts +1 -1
  500. package/layouts/lib/widgets/number/number-widget-view.component.d.ts +1 -1
  501. package/layouts/lib/widgets/password/password-widget-column.component.d.ts +2 -2
  502. package/layouts/lib/widgets/phone/phone-widget-column.component.d.ts +1 -1
  503. package/layouts/lib/widgets/rich-text/rich-text-widget-column.component.d.ts +1 -1
  504. package/layouts/lib/widgets/selection-list/selection-list-widget-column.component.d.ts +1 -1
  505. package/layouts/lib/widgets/selection-list/selection-list-widget-edit.component.d.ts +2 -0
  506. package/layouts/lib/widgets/selection-list/selection-list-widget-filter.component.d.ts +1 -1
  507. package/layouts/lib/widgets/selection-list/selection-list-widget-view.component.d.ts +1 -1
  508. package/layouts/lib/widgets/text/text-widget-column.component.d.ts +2 -1
  509. package/layouts/lib/widgets/toggle/toggle-widget-column.component.d.ts +1 -1
  510. package/mocks/lib/storage/storage.mock.service.d.ts +1 -1
  511. package/package.json +21 -3
  512. package/schema/index.d.ts +1 -1
  513. package/schema/lib/schema-registery.service.d.ts +1 -1
  514. package/schema/lib/{schema.d.ts → schema.types.d.ts} +1 -6
  515. package/schema/lib/widget/widget-base.d.ts +3 -1
  516. package/schema/lib/widget/widget-column-renderer.d.ts +10 -3
  517. package/schema/lib/widget/widget-token.d.ts +2 -1
  518. package/widgets/README.md +4 -0
  519. package/widgets/index.d.ts +1 -0
  520. package/widgets/lib/editors/checkbox/checkbox-widget-edit.component.d.ts +13 -0
  521. package/widgets/lib/editors/checkbox/checkbox-widget.config.d.ts +2 -0
  522. package/widgets/lib/editors/checkbox/index.d.ts +2 -0
  523. package/widgets/lib/editors/date-time-box-widget/date-time-box-widget-column.component.d.ts +6 -0
  524. package/widgets/lib/editors/date-time-box-widget/date-time-box-widget-designer.component.d.ts +6 -0
  525. package/widgets/lib/editors/date-time-box-widget/date-time-box-widget-edit.component.d.ts +20 -0
  526. package/widgets/lib/editors/date-time-box-widget/date-time-box-widget-filter.component.d.ts +6 -0
  527. package/widgets/lib/editors/date-time-box-widget/date-time-box-widget-print.component.d.ts +6 -0
  528. package/widgets/lib/editors/date-time-box-widget/date-time-box-widget-view.component.d.ts +11 -0
  529. package/widgets/lib/editors/date-time-box-widget/date-time-box-widget.config.d.ts +2 -0
  530. package/widgets/lib/editors/date-time-box-widget/index.d.ts +7 -0
  531. package/widgets/lib/editors/email-box-widget/email-box-widget-column.component.d.ts +6 -0
  532. package/widgets/lib/editors/email-box-widget/email-box-widget-designer.component.d.ts +6 -0
  533. package/widgets/lib/editors/email-box-widget/email-box-widget-edit.component.d.ts +25 -0
  534. package/widgets/lib/editors/email-box-widget/email-box-widget-filter.component.d.ts +6 -0
  535. package/widgets/lib/editors/email-box-widget/email-box-widget-print.component.d.ts +6 -0
  536. package/widgets/lib/editors/email-box-widget/email-box-widget-view.component.d.ts +12 -0
  537. package/widgets/lib/editors/email-box-widget/email-box-widget.config.d.ts +2 -0
  538. package/widgets/lib/editors/email-box-widget/index.d.ts +7 -0
  539. package/widgets/lib/editors/file-box-widget/file-box-widget-column.component.d.ts +6 -0
  540. package/widgets/lib/editors/file-box-widget/file-box-widget-designer.component.d.ts +6 -0
  541. package/widgets/lib/editors/file-box-widget/file-box-widget-edit.component.d.ts +18 -0
  542. package/widgets/lib/editors/file-box-widget/file-box-widget-filter.component.d.ts +6 -0
  543. package/widgets/lib/editors/file-box-widget/file-box-widget-print.component.d.ts +6 -0
  544. package/widgets/lib/editors/file-box-widget/file-box-widget-view.component.d.ts +17 -0
  545. package/widgets/lib/editors/file-box-widget/file-box-widget.config.d.ts +2 -0
  546. package/widgets/lib/editors/file-box-widget/index.d.ts +7 -0
  547. package/widgets/lib/editors/gallery-widget/gallery-widget-column.component.d.ts +6 -0
  548. package/widgets/lib/editors/gallery-widget/gallery-widget-designer.component.d.ts +6 -0
  549. package/widgets/lib/editors/gallery-widget/gallery-widget-edit.component.d.ts +15 -0
  550. package/widgets/lib/editors/gallery-widget/gallery-widget-filter.component.d.ts +6 -0
  551. package/widgets/lib/editors/gallery-widget/gallery-widget-print.component.d.ts +6 -0
  552. package/widgets/lib/editors/gallery-widget/gallery-widget-types.d.ts +10 -0
  553. package/widgets/lib/editors/gallery-widget/gallery-widget-view.component.d.ts +15 -0
  554. package/widgets/lib/editors/gallery-widget/gallery-widget.config.d.ts +2 -0
  555. package/widgets/lib/editors/gallery-widget/index.d.ts +7 -0
  556. package/widgets/lib/editors/map-box-widget/index.d.ts +7 -0
  557. package/widgets/lib/editors/map-box-widget/map-box-widget-column.component.d.ts +6 -0
  558. package/widgets/lib/editors/map-box-widget/map-box-widget-designer.component.d.ts +6 -0
  559. package/widgets/lib/editors/map-box-widget/map-box-widget-edit.component.d.ts +15 -0
  560. package/widgets/lib/editors/map-box-widget/map-box-widget-filter.component.d.ts +6 -0
  561. package/widgets/lib/editors/map-box-widget/map-box-widget-print.component.d.ts +6 -0
  562. package/widgets/lib/editors/map-box-widget/map-box-widget-view.component.d.ts +16 -0
  563. package/widgets/lib/editors/map-box-widget/map-box-widget.config.d.ts +2 -0
  564. package/widgets/lib/editors/number-box-widget/index.d.ts +7 -0
  565. package/widgets/lib/editors/number-box-widget/number-box-widget-column.component.d.ts +6 -0
  566. package/widgets/lib/editors/number-box-widget/number-box-widget-designer.component.d.ts +6 -0
  567. package/widgets/lib/editors/number-box-widget/number-box-widget-edit.component.d.ts +25 -0
  568. package/widgets/lib/editors/number-box-widget/number-box-widget-filter.component.d.ts +6 -0
  569. package/widgets/lib/editors/number-box-widget/number-box-widget-print.component.d.ts +6 -0
  570. package/widgets/lib/editors/number-box-widget/number-box-widget-view.component.d.ts +8 -0
  571. package/widgets/lib/editors/number-box-widget/number-box-widget.config.d.ts +2 -0
  572. package/widgets/lib/editors/password-box-widget/index.d.ts +7 -0
  573. package/widgets/lib/editors/password-box-widget/password-box-widget-column.component.d.ts +6 -0
  574. package/widgets/lib/editors/password-box-widget/password-box-widget-designer.component.d.ts +6 -0
  575. package/widgets/lib/editors/password-box-widget/password-box-widget-edit.component.d.ts +8 -0
  576. package/widgets/lib/editors/password-box-widget/password-box-widget-filter.component.d.ts +6 -0
  577. package/widgets/lib/editors/password-box-widget/password-box-widget-print.component.d.ts +6 -0
  578. package/widgets/lib/editors/password-box-widget/password-box-widget-view.component.d.ts +13 -0
  579. package/widgets/lib/editors/password-box-widget/password-box-widget.config.d.ts +2 -0
  580. package/widgets/lib/editors/phone-box-widget/index.d.ts +7 -0
  581. package/widgets/lib/editors/phone-box-widget/phone-box-widget-column.component.d.ts +6 -0
  582. package/widgets/lib/editors/phone-box-widget/phone-box-widget-designer.component.d.ts +6 -0
  583. package/widgets/lib/editors/phone-box-widget/phone-box-widget-edit.component.d.ts +25 -0
  584. package/widgets/lib/editors/phone-box-widget/phone-box-widget-filter.component.d.ts +6 -0
  585. package/widgets/lib/editors/phone-box-widget/phone-box-widget-print.component.d.ts +6 -0
  586. package/widgets/lib/editors/phone-box-widget/phone-box-widget-view.component.d.ts +12 -0
  587. package/widgets/lib/editors/phone-box-widget/phone-box-widget.config.d.ts +2 -0
  588. package/widgets/lib/editors/rich-text-widget/index.d.ts +7 -0
  589. package/widgets/lib/editors/rich-text-widget/rich-text-widget-column.component.d.ts +6 -0
  590. package/widgets/lib/editors/rich-text-widget/rich-text-widget-designer.component.d.ts +6 -0
  591. package/widgets/lib/editors/rich-text-widget/rich-text-widget-edit.component.d.ts +33 -0
  592. package/widgets/lib/editors/rich-text-widget/rich-text-widget-filter.component.d.ts +6 -0
  593. package/widgets/lib/editors/rich-text-widget/rich-text-widget-print.component.d.ts +6 -0
  594. package/widgets/lib/editors/rich-text-widget/rich-text-widget-view.component.d.ts +9 -0
  595. package/widgets/lib/editors/rich-text-widget/rich-text-widget.config.d.ts +2 -0
  596. package/widgets/lib/editors/select-box-widget/index.d.ts +7 -0
  597. package/widgets/lib/editors/select-box-widget/select-box-widget-column.component.d.ts +6 -0
  598. package/widgets/lib/editors/select-box-widget/select-box-widget-designer.component.d.ts +6 -0
  599. package/widgets/lib/editors/select-box-widget/select-box-widget-edit.component.d.ts +15 -0
  600. package/widgets/lib/editors/select-box-widget/select-box-widget-filter.component.d.ts +6 -0
  601. package/widgets/lib/editors/select-box-widget/select-box-widget-print.component.d.ts +6 -0
  602. package/widgets/lib/editors/select-box-widget/select-box-widget-view.component.d.ts +12 -0
  603. package/widgets/lib/editors/select-box-widget/select-box-widget.config.d.ts +2 -0
  604. package/widgets/lib/editors/selection-list-widget/index.d.ts +7 -0
  605. package/widgets/lib/editors/selection-list-widget/selection-list-widget-column.component.d.ts +6 -0
  606. package/widgets/lib/editors/selection-list-widget/selection-list-widget-designer.component.d.ts +6 -0
  607. package/widgets/lib/editors/selection-list-widget/selection-list-widget-edit.component.d.ts +13 -0
  608. package/widgets/lib/editors/selection-list-widget/selection-list-widget-filter.component.d.ts +6 -0
  609. package/widgets/lib/editors/selection-list-widget/selection-list-widget-print.component.d.ts +6 -0
  610. package/widgets/lib/editors/selection-list-widget/selection-list-widget-view.component.d.ts +6 -0
  611. package/widgets/lib/editors/selection-list-widget/selection-list-widget.config.d.ts +2 -0
  612. package/widgets/lib/editors/signature-pad-widget/index.d.ts +7 -0
  613. package/widgets/lib/editors/signature-pad-widget/signature-pad-widget-column.component.d.ts +6 -0
  614. package/widgets/lib/editors/signature-pad-widget/signature-pad-widget-designer.component.d.ts +6 -0
  615. package/widgets/lib/editors/signature-pad-widget/signature-pad-widget-edit.component.d.ts +19 -0
  616. package/widgets/lib/editors/signature-pad-widget/signature-pad-widget-filter.component.d.ts +6 -0
  617. package/widgets/lib/editors/signature-pad-widget/signature-pad-widget-print.component.d.ts +6 -0
  618. package/widgets/lib/editors/signature-pad-widget/signature-pad-widget-view.component.d.ts +7 -0
  619. package/widgets/lib/editors/signature-pad-widget/signature-pad-widget.config.d.ts +2 -0
  620. package/widgets/lib/editors/text-box-widget/index.d.ts +7 -0
  621. package/widgets/lib/editors/text-box-widget/text-box-widget-column.component.d.ts +6 -0
  622. package/widgets/lib/editors/text-box-widget/text-box-widget-designer.component.d.ts +6 -0
  623. package/widgets/lib/editors/text-box-widget/text-box-widget-edit.component.d.ts +19 -0
  624. package/widgets/lib/editors/text-box-widget/text-box-widget-filter.component.d.ts +6 -0
  625. package/widgets/lib/editors/text-box-widget/text-box-widget-print.component.d.ts +6 -0
  626. package/widgets/lib/editors/text-box-widget/text-box-widget-view.component.d.ts +8 -0
  627. package/widgets/lib/editors/text-box-widget/text-box-widget.config.d.ts +2 -0
  628. package/widgets/lib/layout/block-widget/block-widget.component.d.ts +8 -0
  629. package/widgets/lib/layout/block-widget/block-widget.config.d.ts +2 -0
  630. package/widgets/lib/layout/block-widget/index.d.ts +2 -0
  631. package/widgets/lib/widgets.module.d.ts +7 -0
  632. package/workflow/lib/workflow.types.d.ts +2 -2
  633. package/esm2022/common/lib/layout/component-slot/component-slot-loader.service.mjs +0 -56
  634. package/esm2022/common/lib/layout/component-slot/component-slot-registery.service.mjs +0 -28
  635. package/esm2022/common/lib/layout/component-slot/component-slot.directive.mjs +0 -24
  636. package/esm2022/common/lib/layout/component-slot/component-slot.module.mjs +0 -72
  637. package/esm2022/common/lib/layout/component-slot/component-slot.types.mjs +0 -2
  638. package/esm2022/common/lib/layout/component-slot/index.mjs +0 -6
  639. package/esm2022/layouts/lib/admin/entity-layout/store/entity.actions.mjs +0 -18
  640. package/esm2022/layouts/lib/admin/entity-layout/store/entity.effects.mjs +0 -76
  641. package/esm2022/schema/lib/schema.mjs +0 -2
  642. package/fesm2022/acorex-platform-layouts-avatar-widget-edit.component-PZr1lXj-.mjs.map +0 -1
  643. package/fesm2022/acorex-platform-layouts-avatar-widget-view.component-pJJYkvdH.mjs +0 -36
  644. package/fesm2022/acorex-platform-layouts-avatar-widget-view.component-pJJYkvdH.mjs.map +0 -1
  645. package/fesm2022/acorex-platform-layouts-checkbox-widget-column.component-vRJI5S-w.mjs.map +0 -1
  646. package/fesm2022/acorex-platform-layouts-checkbox-widget-view.component-m6bF8XFR.mjs.map +0 -1
  647. package/fesm2022/acorex-platform-layouts-dateTime-widget-column.component-qeQRJePy.mjs.map +0 -1
  648. package/fesm2022/acorex-platform-layouts-dateTime-widget-edit.component-zeJXGXY8.mjs.map +0 -1
  649. package/fesm2022/acorex-platform-layouts-dateTime-widget-filter.component-DJ6esclU.mjs.map +0 -1
  650. package/fesm2022/acorex-platform-layouts-dateTime-widget-view.component-BrwycTWz.mjs.map +0 -1
  651. package/fesm2022/acorex-platform-layouts-email-widget-column.component-ac8gqsFT.mjs.map +0 -1
  652. package/fesm2022/acorex-platform-layouts-file-widget-column.component-v7kAdIQ9.mjs.map +0 -1
  653. package/fesm2022/acorex-platform-layouts-file-widget-view.component-mXBrKX0K.mjs.map +0 -1
  654. package/fesm2022/acorex-platform-layouts-gallery-widget-view.component-xU52uaP0.mjs.map +0 -1
  655. package/fesm2022/acorex-platform-layouts-lookup-widget-column.component-Ts0MJe8O.mjs.map +0 -1
  656. package/fesm2022/acorex-platform-layouts-lookup-widget-edit.component-l5nSr9Cm.mjs.map +0 -1
  657. package/fesm2022/acorex-platform-layouts-lookup-widget-filter.component-gp5skvmz.mjs.map +0 -1
  658. package/fesm2022/acorex-platform-layouts-lookup-widget-view.component-ftFXFj6k.mjs.map +0 -1
  659. package/fesm2022/acorex-platform-layouts-map-widget-view.component-1Lj9efbd.mjs.map +0 -1
  660. package/fesm2022/acorex-platform-layouts-messenger-widget-column.component-W7ZY-W84.mjs.map +0 -1
  661. package/fesm2022/acorex-platform-layouts-messenger-widget-edit.component-dAX8nirB.mjs.map +0 -1
  662. package/fesm2022/acorex-platform-layouts-messenger-widget-view.component-9TJiFdq-.mjs.map +0 -1
  663. package/fesm2022/acorex-platform-layouts-number-widget-view.component-hqkAR0LG.mjs.map +0 -1
  664. package/fesm2022/acorex-platform-layouts-password-widget-column.component-ic1jykZL.mjs.map +0 -1
  665. package/fesm2022/acorex-platform-layouts-password-widget-edit.component-D8xI17yk.mjs +0 -37
  666. package/fesm2022/acorex-platform-layouts-password-widget-edit.component-D8xI17yk.mjs.map +0 -1
  667. package/fesm2022/acorex-platform-layouts-phone-widget-column.component-s04WZfzv.mjs.map +0 -1
  668. package/fesm2022/acorex-platform-layouts-phone-widget-edit.component-MKzlZ0_B.mjs.map +0 -1
  669. package/fesm2022/acorex-platform-layouts-rich-text-widget-column.component-P0YzXTIB.mjs.map +0 -1
  670. package/fesm2022/acorex-platform-layouts-rich-text-widget-view.component--Rzxm2a6.mjs.map +0 -1
  671. package/fesm2022/acorex-platform-layouts-selection-list-widget-column.component-9FTkDGmq.mjs.map +0 -1
  672. package/fesm2022/acorex-platform-layouts-selection-list-widget-edit.component-FpOQ12Ie.mjs.map +0 -1
  673. package/fesm2022/acorex-platform-layouts-selection-list-widget-filter.component-hGk-ZZ78.mjs.map +0 -1
  674. package/fesm2022/acorex-platform-layouts-selection-list-widget-view.component-s9xq___Y.mjs.map +0 -1
  675. package/fesm2022/acorex-platform-layouts-signature-pad-widget-view.component-R40Ml757.mjs.map +0 -1
  676. package/fesm2022/acorex-platform-layouts-text-widget-column.component-qhh6MT79.mjs.map +0 -1
  677. package/fesm2022/acorex-platform-layouts-text-widget-view.component-65eOj0qR.mjs.map +0 -1
  678. package/fesm2022/acorex-platform-layouts-toggle-widget-column.component-uxOXR-bL.mjs.map +0 -1
  679. package/layouts/lib/admin/entity-layout/store/entity.actions.d.ts +0 -48
  680. package/layouts/lib/admin/entity-layout/store/entity.effects.d.ts +0 -22
  681. /package/{common/lib/layout → layout/lib}/component-slot/component-slot-loader.service.d.ts +0 -0
  682. /package/{common/lib/layout → layout/lib}/component-slot/component-slot-registery.service.d.ts +0 -0
  683. /package/{common/lib/layout → layout/lib}/component-slot/component-slot.directive.d.ts +0 -0
  684. /package/{common/lib/layout → layout/lib}/component-slot/component-slot.module.d.ts +0 -0
  685. /package/{common/lib/layout → layout/lib}/component-slot/component-slot.types.d.ts +0 -0
  686. /package/{common/lib/layout → layout/lib}/component-slot/index.d.ts +0 -0
@@ -2,79 +2,90 @@ import { AXPSignInAction, AXPSignOutAction } from '@acorex/platform/common';
2
2
  import { Injectable, inject } from '@angular/core';
3
3
  import { Store } from '@ngrx/store';
4
4
  import { isEmpty, merge } from 'lodash-es';
5
- import { BehaviorSubject, combineLatest, defaultIfEmpty, filter, firstValueFrom, map, of, shareReplay, take, } from 'rxjs';
6
- import { AXP_APPLICATION_LOADER } from './application/application.loader';
5
+ import { BehaviorSubject, defaultIfEmpty, firstValueFrom, map, of, shareReplay } from 'rxjs';
7
6
  import { AXPAuthStrategyRegistryService } from './auth-registry.service';
7
+ import { AXP_FEATURE_LOADER } from './feature';
8
8
  import { AXP_PERMISSION_LOADER } from './permission/permission.loader';
9
+ import { AXPSessionContext, AXPSessionStatus } from './session.types';
9
10
  import { AXP_TENANT_LOADER } from './tenant/tenant.loader';
11
+ import { AXP_APPLICATION_LOADER } from './application/application.loader';
10
12
  import * as i0 from "@angular/core";
11
13
  export class AXPSessionService {
12
14
  constructor() {
13
15
  this.store = inject(Store);
14
16
  this.currentAuthStrategyKey = null;
15
17
  this.authStrategyRegistry = inject(AXPAuthStrategyRegistryService);
16
- this.tenantService = inject(AXP_TENANT_LOADER);
17
- this.applicationLoader = inject(AXP_APPLICATION_LOADER);
18
+ this.SESSION_KEY = 'AXP_SESSION';
18
19
  this.permissionLoader = inject(AXP_PERMISSION_LOADER);
20
+ this.featureLoader = inject(AXP_FEATURE_LOADER);
21
+ this.tenantLoader = inject(AXP_TENANT_LOADER);
22
+ this.applicationLoader = inject(AXP_APPLICATION_LOADER);
23
+ this.status = new BehaviorSubject(AXPSessionStatus.Unauthenticated);
24
+ this.status$ = this.status.asObservable().pipe(shareReplay(1));
19
25
  this.currentUserSubject = new BehaviorSubject(null);
20
- this.SESSION_KEY = 'AXP_SESSION';
21
26
  this.user$ = this.currentUserSubject.asObservable().pipe(shareReplay(1));
22
27
  this.currentTenantSubject = new BehaviorSubject(null);
23
- this.tenantsSubject = new BehaviorSubject([]);
24
- this.tenants$ = this.tenantsSubject.asObservable().pipe(shareReplay(1));
25
28
  this.tenant$ = this.currentTenantSubject.asObservable().pipe(shareReplay(1));
26
29
  this.currentApplicationSubject = new BehaviorSubject(null);
27
- this.applicationsSubject = new BehaviorSubject([]);
28
- this.applications$ = this.applicationsSubject.asObservable().pipe(shareReplay(1));
29
30
  this.application$ = this.currentApplicationSubject.asObservable().pipe(shareReplay(1));
30
- this.permissionsSubject = new BehaviorSubject(null);
31
+ this.permissionsSubject = new BehaviorSubject([]);
31
32
  this.permissions$ = this.permissionsSubject.asObservable().pipe(shareReplay(1), defaultIfEmpty([]));
32
- this.isAuthenticated$ = this.currentUserSubject.asObservable().pipe(map((user) => !!user), shareReplay(1));
33
- this.isAuthorized$ = combineLatest([
34
- this.currentUserSubject,
35
- this.currentTenantSubject,
36
- this.currentApplicationSubject,
37
- this.permissionsSubject,
38
- ]).pipe(filter(([user, tenant, application, permissions]) => {
39
- return permissions != null;
40
- }), map(([user, tenant, application, permissions]) => {
41
- return !!user && !!tenant && !!application && !!permissions;
42
- }), shareReplay(1));
33
+ this.featuresSubject = new BehaviorSubject([]);
34
+ this.features$ = this.featuresSubject.asObservable().pipe(shareReplay(1), defaultIfEmpty([]));
35
+ this.isAuthenticated$ = this.status$.pipe(map((status) => status === AXPSessionStatus.Authenticated || status === AXPSessionStatus.Authorized), shareReplay(1));
36
+ this.isAuthorized$ = this.status$.pipe(map((status) => status === AXPSessionStatus.Authorized), shareReplay(1));
43
37
  }
44
38
  get user() {
39
+ const session = this.getSessionData();
40
+ if (session?.user && !this.currentUserSubject.value) {
41
+ this.currentUserSubject.next(session.user);
42
+ }
45
43
  return this.currentUserSubject.value;
46
44
  }
47
45
  get tenant() {
46
+ const session = this.getSessionData();
47
+ if (session?.tenant && !this.currentTenantSubject.value) {
48
+ this.currentTenantSubject.next(session.tenant);
49
+ }
48
50
  return this.currentTenantSubject.value;
49
51
  }
52
+ get tenants$() {
53
+ return this.tenantLoader.getList(this.getContext());
54
+ }
50
55
  get application() {
56
+ const session = this.getSessionData();
57
+ if (session?.application && !this.currentApplicationSubject.value) {
58
+ this.currentApplicationSubject.next(session.application);
59
+ }
51
60
  return this.currentApplicationSubject.value;
52
61
  }
62
+ get applications$() {
63
+ return this.applicationLoader.getList(this.getContext());
64
+ }
53
65
  get permissions() {
54
66
  return this.permissionsSubject.value ?? [];
55
67
  }
56
- async signInWithStoredSession() {
68
+ get features() {
69
+ return this.featuresSubject.value ?? [];
70
+ }
71
+ async restoreSession() {
57
72
  const sessionData = this.getSessionData();
58
73
  if (sessionData) {
59
74
  this.currentAuthStrategyKey = sessionData.strategy;
60
75
  if (sessionData.user) {
61
76
  this.currentUserSubject.next(sessionData.user);
62
- await this.loadTenants();
77
+ this.status.next(AXPSessionStatus.Authenticated);
63
78
  }
64
79
  if (sessionData.tenant) {
65
- this.currentTenantSubject.next(sessionData.tenant);
66
- await this.loadApplications();
80
+ this.setTenant(sessionData.tenant);
67
81
  }
68
82
  if (sessionData.application) {
69
- this.currentApplicationSubject.next(sessionData.application);
70
- await this.loadPermissions();
83
+ this.setApplication(sessionData.application);
71
84
  }
85
+ await this.signInComplete();
72
86
  }
73
87
  else {
74
- this.currentUserSubject.next(null);
75
- this.currentTenantSubject.next(null);
76
- this.currentApplicationSubject.next(null);
77
- this.permissionsSubject.next([]);
88
+ this.status.next(AXPSessionStatus.Unauthorized);
78
89
  }
79
90
  }
80
91
  async signin(credentials) {
@@ -83,50 +94,29 @@ export class AXPSessionService {
83
94
  throw new Error(`Authentication strategy '${credentials.strategy}' is not supported`);
84
95
  }
85
96
  this.currentAuthStrategyKey = credentials.strategy; // Store the used strategy key
86
- const tokens = await strategy.signin(credentials);
87
- if (tokens.user) {
88
- this.currentUserSubject.next(tokens.user);
97
+ const result = await strategy.signin(credentials);
98
+ if (result.succeed) {
99
+ this.currentUserSubject.next(result.data.user);
100
+ this.setSession({
101
+ accessToken: result.data.accessToken,
102
+ refreshToken: result.data.refreshToken,
103
+ user: result.data.user,
104
+ });
105
+ this.status.next(AXPSessionStatus.Authenticated);
106
+ }
107
+ else {
108
+ this.status.next(AXPSessionStatus.Unauthenticated);
109
+ throw new Error(`Invalid Username or Password`);
89
110
  }
90
- this.setSession(tokens);
91
- await this.loadTenants();
92
111
  }
93
112
  async signout() {
94
- if (!this.currentAuthStrategyKey) {
95
- this.currentAuthStrategyKey = null;
96
- //
97
- this.currentUserSubject.next(null);
98
- //
99
- this.currentTenantSubject.next(null);
100
- this.tenantsSubject.next([]);
101
- //
102
- this.currentApplicationSubject.next(null);
103
- this.applicationsSubject.next([]);
104
- //
105
- this.permissionsSubject.next(null);
106
- //
107
- this.clearSession();
108
- this.store.dispatch(AXPSignOutAction());
109
- throw new Error('No authentication strategy used for current session');
113
+ const strategy = this.currentAuthStrategyKey ? this.authStrategyRegistry.get(this.currentAuthStrategyKey) : null;
114
+ if (strategy) {
115
+ await strategy.signout();
110
116
  }
111
- const strategy = this.authStrategyRegistry.get(this.currentAuthStrategyKey);
112
- if (!strategy) {
113
- throw new Error(`Authentication strategy '${this.currentAuthStrategyKey}' is not found for logout`);
114
- }
115
- await strategy.signout();
116
- //
117
- this.currentAuthStrategyKey = null;
118
- //
119
- this.currentUserSubject.next(null);
120
- //
121
- this.currentTenantSubject.next(null);
122
- this.tenantsSubject.next([]);
123
- //
124
- this.currentApplicationSubject.next(null);
125
- this.applicationsSubject.next([]);
126
- //
127
- this.permissionsSubject.next(null);
128
117
  //
129
118
  this.clearSession();
119
+ this.status.next(AXPSessionStatus.SignedOut);
130
120
  this.store.dispatch(AXPSignOutAction());
131
121
  }
132
122
  async refreshToken() {
@@ -138,75 +128,57 @@ export class AXPSessionService {
138
128
  if (!strategy) {
139
129
  throw new Error(`Authentication strategy '${this.currentAuthStrategyKey}' is not found`);
140
130
  }
141
- const tokens = await strategy.refreshToken(sessionData.refreshToken);
142
- this.setSession(tokens);
143
- }
144
- async selectTenant(tenantId) {
145
- const tenant = await firstValueFrom(this.tenants$.pipe(take(1), map((tenants) => tenants.find((t) => t.name === tenantId))));
146
- if (!tenant) {
147
- throw new Error('Tenant not found');
131
+ const result = await strategy.refreshToken(sessionData.refreshToken);
132
+ if (result.succeed) {
133
+ this.setSession(result.data);
134
+ this.status.next(AXPSessionStatus.Authorized);
135
+ }
136
+ else {
137
+ this.status.next(AXPSessionStatus.Expired);
148
138
  }
149
- const newToken = await firstValueFrom(this.tenantService.set(tenant));
139
+ }
140
+ async setTenant(tenant) {
150
141
  this.currentTenantSubject.next(tenant);
151
- this.updateSession({ tenant, accessToken: newToken.accessToken, refreshToken: newToken.refreshToken });
152
- // Fetch applications for the selected tenant
153
- await this.loadApplications();
142
+ if (tenant)
143
+ this.updateSession({ tenant: tenant });
154
144
  }
155
- async selectApplication(applicationId) {
156
- const application = await firstValueFrom(this.applications$.pipe(take(1), map((applications) => applications.find((a) => a.name === applicationId))));
157
- if (!application) {
158
- throw new Error('Application not found');
159
- }
160
- const newToken = await firstValueFrom(this.applicationLoader.set(application));
145
+ async setApplication(application) {
161
146
  this.currentApplicationSubject.next(application);
162
- this.updateSession({ application, accessToken: newToken.accessToken, refreshToken: newToken.refreshToken });
163
- // Fetch permissions for the selected application
164
- await this.loadPermissions();
147
+ if (application)
148
+ this.updateSession({ application: application });
165
149
  }
166
- async loadTenants() {
150
+ async loadPermissions() {
167
151
  try {
168
- const tenants = await firstValueFrom(this.tenantService.getList());
169
- this.tenantsSubject.next(tenants);
152
+ const permissions = await firstValueFrom(this.permissionLoader.getList(this.getContext()));
153
+ this.permissionsSubject.next(permissions ?? []);
154
+ this.store.dispatch(AXPSignInAction());
170
155
  }
171
156
  catch (error) {
172
- console.error('Error loading tenants:', error);
173
- // Handle error, for example, by setting an empty permissions list
174
- //this.applicationsSubject.next([]);
175
- this.signout();
157
+ console.error('Error loading permissions:', error);
158
+ this.permissionsSubject.next([]);
176
159
  }
177
160
  }
178
- async loadApplications() {
161
+ async loadFeatures() {
179
162
  try {
180
- const applications = await firstValueFrom(this.applicationLoader.getList());
181
- this.applicationsSubject.next(applications ?? []);
163
+ const features = await firstValueFrom(this.featureLoader.getList(this.getContext()));
164
+ this.featuresSubject.next(features ?? []);
182
165
  }
183
166
  catch (error) {
184
- console.error('Error loading applications:', error);
185
- // Handle error, for example, by setting an empty permissions list
186
- //this.applicationsSubject.next([]);
187
- this.signout();
167
+ console.error('Error loading features:', error);
168
+ this.featuresSubject.next([]);
188
169
  }
189
170
  }
190
- async loadPermissions() {
191
- try {
192
- const permissions = await firstValueFrom(this.permissionLoader.getList());
193
- this.permissionsSubject.next(permissions ?? []);
194
- this.store.dispatch(AXPSignInAction());
195
- }
196
- catch (error) {
197
- console.error('Error loading permissions:', error);
198
- // Handle error, for example, by setting an empty permissions list
199
- this.permissionsSubject.next([]);
200
- }
171
+ async signInComplete() {
172
+ await this.loadPermissions();
173
+ await this.loadFeatures();
174
+ this.status.next(AXPSessionStatus.Authorized);
201
175
  }
202
176
  setSession(tokens) {
203
177
  const sessionData = {
204
178
  accessToken: tokens.accessToken,
205
179
  refreshToken: tokens.refreshToken,
206
- strategy: this.currentAuthStrategyKey ?? 'false',
180
+ strategy: this.currentAuthStrategyKey ?? undefined,
207
181
  user: this.user,
208
- tenant: this.tenant,
209
- application: this.application,
210
182
  };
211
183
  this.updateSession(sessionData);
212
184
  }
@@ -220,21 +192,44 @@ export class AXPSessionService {
220
192
  return sessionDataString ? JSON.parse(sessionDataString) : null;
221
193
  }
222
194
  clearSession() {
195
+ //
196
+ this.currentAuthStrategyKey = null;
197
+ //
198
+ this.currentUserSubject.next(null);
199
+ //
200
+ this.setTenant(null);
201
+ //
202
+ this.setApplication(null);
203
+ //
204
+ this.permissionsSubject.next([]);
205
+ //
206
+ this.featuresSubject.next([]);
207
+ //
223
208
  localStorage.removeItem(this.SESSION_KEY);
224
209
  }
225
210
  authorize(...keys) {
226
211
  return keys.every((k) => isEmpty(k) || this.permissions.indexOf(k) > -1);
227
212
  }
213
+ isFeatureEnabled(...keys) {
214
+ return keys.every((k) => isEmpty(k) || this.features.some((c) => c.name == k && c.value == true));
215
+ }
228
216
  getToken() {
229
217
  return of(this.getSessionData()?.accessToken);
230
218
  }
231
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.1.2", ngImport: i0, type: AXPSessionService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
232
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.1.2", ngImport: i0, type: AXPSessionService, providedIn: 'root' }); }
219
+ getContext() {
220
+ return new AXPSessionContext({
221
+ user: this.user,
222
+ tenant: this.tenant,
223
+ application: this.application,
224
+ });
225
+ }
226
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.2", ngImport: i0, type: AXPSessionService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
227
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.0.2", ngImport: i0, type: AXPSessionService, providedIn: 'root' }); }
233
228
  }
234
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.2", ngImport: i0, type: AXPSessionService, decorators: [{
229
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.2", ngImport: i0, type: AXPSessionService, decorators: [{
235
230
  type: Injectable,
236
231
  args: [{
237
232
  providedIn: 'root',
238
233
  }]
239
234
  }] });
240
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2Vzc2lvbi5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9wbGF0Zm9ybS9hdXRoL3NyYy9saWIvc2Vzc2lvbi5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxlQUFlLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUM1RSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNuRCxPQUFPLEVBQUUsS0FBSyxFQUFFLE1BQU0sYUFBYSxDQUFDO0FBQ3BDLE9BQU8sRUFBRSxPQUFPLEVBQUUsS0FBSyxFQUFFLE1BQU0sV0FBVyxDQUFDO0FBQzNDLE9BQU8sRUFDTCxlQUFlLEVBRWYsYUFBYSxFQUNiLGNBQWMsRUFDZCxNQUFNLEVBQ04sY0FBYyxFQUNkLEdBQUcsRUFDSCxFQUFFLEVBQ0YsV0FBVyxFQUNYLElBQUksR0FDTCxNQUFNLE1BQU0sQ0FBQztBQUNkLE9BQU8sRUFBRSxzQkFBc0IsRUFBRSxNQUFNLGtDQUFrQyxDQUFDO0FBRTFFLE9BQU8sRUFBRSw4QkFBOEIsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBRXpFLE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLGdDQUFnQyxDQUFDO0FBRXZFLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLHdCQUF3QixDQUFDOztBQU8zRCxNQUFNLE9BQU8saUJBQWlCO0lBSDlCO1FBSVUsVUFBSyxHQUFHLE1BQU0sQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUV0QiwyQkFBc0IsR0FBa0IsSUFBSSxDQUFDO1FBQzdDLHlCQUFvQixHQUFHLE1BQU0sQ0FBQyw4QkFBOEIsQ0FBQyxDQUFDO1FBRXJELGtCQUFhLEdBQUcsTUFBTSxDQUFDLGlCQUFpQixDQUFDLENBQUM7UUFDMUMsc0JBQWlCLEdBQUcsTUFBTSxDQUFDLHNCQUFzQixDQUFDLENBQUM7UUFDbkQscUJBQWdC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LGlCQUFpQixDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLGlCQUFpQixDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQztJQUNsRSxDQUFDO0lBRU8sWUFBWTtRQUNsQixZQUFZLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsQ0FBQztJQUM1QyxDQUFDO0lBRU0sU0FBUyxDQUFDLEdBQUcsSUFBYztRQUNoQyxPQUFPLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsSUFBSSxJQUFJLENBQUMsV0FBVyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDO0lBQzNFLENBQUM7SUFFTSxRQUFRO1FBQ2IsT0FBTyxFQUFFLENBQUMsSUFBSSxDQUFDLGNBQWMsRUFBRSxFQUFFLFdBQVcsQ0FBQyxDQUFDO0lBQ2hELENBQUM7OEdBcFFVLGlCQUFpQjtrSEFBakIsaUJBQWlCLGNBRmhCLE1BQU07OzJGQUVQLGlCQUFpQjtrQkFIN0IsVUFBVTttQkFBQztvQkFDVixVQUFVLEVBQUUsTUFBTTtpQkFDbkIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBBWFBTaWduSW5BY3Rpb24sIEFYUFNpZ25PdXRBY3Rpb24gfSBmcm9tICdAYWNvcmV4L3BsYXRmb3JtL2NvbW1vbic7XG5pbXBvcnQgeyBJbmplY3RhYmxlLCBpbmplY3QgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFN0b3JlIH0gZnJvbSAnQG5ncngvc3RvcmUnO1xuaW1wb3J0IHsgaXNFbXB0eSwgbWVyZ2UgfSBmcm9tICdsb2Rhc2gtZXMnO1xuaW1wb3J0IHtcbiAgQmVoYXZpb3JTdWJqZWN0LFxuICBPYnNlcnZhYmxlLFxuICBjb21iaW5lTGF0ZXN0LFxuICBkZWZhdWx0SWZFbXB0eSxcbiAgZmlsdGVyLFxuICBmaXJzdFZhbHVlRnJvbSxcbiAgbWFwLFxuICBvZixcbiAgc2hhcmVSZXBsYXksXG4gIHRha2UsXG59IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgQVhQX0FQUExJQ0FUSU9OX0xPQURFUiB9IGZyb20gJy4vYXBwbGljYXRpb24vYXBwbGljYXRpb24ubG9hZGVyJztcbmltcG9ydCB7IEFYUEFwcGxpY2F0aW9uIH0gZnJvbSAnLi9hcHBsaWNhdGlvbi9hcHBsaWNhdGlvbi50eXBlcyc7XG5pbXBvcnQgeyBBWFBBdXRoU3RyYXRlZ3lSZWdpc3RyeVNlcnZpY2UgfSBmcm9tICcuL2F1dGgtcmVnaXN0cnkuc2VydmljZSc7XG5pbXBvcnQgeyBBWFBCYXNlQ3JlZGVudGlhbHMsIEFYUFNlc3Npb25EYXRhLCBBWFBUb2tlbnMgfSBmcm9tICcuL2F1dGguc3RyYXRlZ3knO1xuaW1wb3J0IHsgQVhQX1BFUk1JU1NJT05fTE9BREVSIH0gZnJvbSAnLi9wZXJtaXNzaW9uL3Blcm1pc3Npb24ubG9hZGVyJztcbmltcG9ydCB7IEFYUFBlcm1pc3Npb24gfSBmcm9tICcuL3Blcm1pc3Npb24vcGVybWlzc2lvbi50eXBlcyc7XG5pbXBvcnQgeyBBWFBfVEVOQU5UX0xPQURFUiB9IGZyb20gJy4vdGVuYW50L3RlbmFudC5sb2FkZXInO1xuaW1wb3J0IHsgQVhQVGVuYW50IH0gZnJvbSAnLi90ZW5hbnQvdGVuYW50LnR5cGVzJztcbmltcG9ydCB7IEFYUFVzZXIgfSBmcm9tICcuL3VzZXIvdXNlci50eXBlcyc7XG5cbkBJbmplY3RhYmxlKHtcbiAgcHJvdmlkZWRJbjogJ3Jvb3QnLFxufSlcbmV4cG9ydCBjbGFzcyBBWFBTZXNzaW9uU2VydmljZSB7XG4gIHByaXZhdGUgc3RvcmUgPSBpbmplY3QoU3RvcmUpO1xuXG4gIHByaXZhdGUgY3VycmVudEF1dGhTdHJhdGVneUtleTogc3RyaW5nIHwgbnVsbCA9IG51bGw7XG4gIHByaXZhdGUgYXV0aFN0cmF0ZWd5UmVnaXN0cnkgPSBpbmplY3QoQVhQQXV0aFN0cmF0ZWd5UmVnaXN0cnlTZXJ2aWNlKTtcblxuICBwcml2YXRlIHJlYWRvbmx5IHRlbmFudFNlcnZpY2UgPSBpbmplY3QoQVhQX1RFTkFOVF9MT0FERVIpO1xuICBwcml2YXRlIHJlYWRvbmx5IGFwcGxpY2F0aW9uTG9hZGVyID0gaW5qZWN0KEFYUF9BUFBMSUNBVElPTl9MT0FERVIpO1xuICBwcml2YXRlIHJlYWRvbmx5IHBlcm1pc3Npb25Mb2FkZXIgPSBpbmplY3QoQVhQX1BFUk1JU1NJT05fTE9BREVSKTtcblxuICBwcml2YXRlIGN1cnJlbnRVc2VyU3ViamVjdCA9IG5ldyBCZWhhdmlvclN1YmplY3Q8QVhQVXNlciB8IG51bGw+KG51bGwpO1xuICBwcml2YXRlIHJlYWRvbmx5IFNFU1NJT05fS0VZID0gJ0FYUF9TRVNTSU9OJztcbiAgcHVibGljIHJlYWRvbmx5IHVzZXIkID0gdGhpcy5jdXJyZW50VXNlclN1YmplY3QuYXNPYnNlcnZhYmxlKCkucGlwZShzaGFyZVJlcGxheSgxKSk7XG4gIHB1YmxpYyBnZXQgdXNlcigpOiBBWFBVc2VyIHwgbnVsbCB7XG4gICAgcmV0dXJuIHRoaXMuY3VycmVudFVzZXJTdWJqZWN0LnZhbHVlO1xuICB9XG5cbiAgcHJpdmF0ZSBjdXJyZW50VGVuYW50U3ViamVjdCA9IG5ldyBCZWhhdmlvclN1YmplY3Q8QVhQVGVuYW50IHwgbnVsbD4obnVsbCk7XG4gIHByaXZhdGUgdGVuYW50c1N1YmplY3QgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PEFYUFRlbmFudFtdPihbXSk7XG4gIHB1YmxpYyByZWFkb25seSB0ZW5hbnRzJCA9IHRoaXMudGVuYW50c1N1YmplY3QuYXNPYnNlcnZhYmxlKCkucGlwZShzaGFyZVJlcGxheSgxKSk7XG4gIHB1YmxpYyByZWFkb25seSB0ZW5hbnQkID0gdGhpcy5jdXJyZW50VGVuYW50U3ViamVjdC5hc09ic2VydmFibGUoKS5waXBlKHNoYXJlUmVwbGF5KDEpKTtcbiAgcHVibGljIGdldCB0ZW5hbnQoKTogQVhQVGVuYW50IHwgbnVsbCB7XG4gICAgcmV0dXJuIHRoaXMuY3VycmVudFRlbmFudFN1YmplY3QudmFsdWU7XG4gIH1cblxuICBwcml2YXRlIGN1cnJlbnRBcHBsaWNhdGlvblN1YmplY3QgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PEFYUEFwcGxpY2F0aW9uIHwgbnVsbD4obnVsbCk7XG4gIHByaXZhdGUgYXBwbGljYXRpb25zU3ViamVjdCA9IG5ldyBCZWhhdmlvclN1YmplY3Q8QVhQQXBwbGljYXRpb25bXT4oW10pO1xuICBwdWJsaWMgcmVhZG9ubHkgYXBwbGljYXRpb25zJCA9IHRoaXMuYXBwbGljYXRpb25zU3ViamVjdC5hc09ic2VydmFibGUoKS5waXBlKHNoYXJlUmVwbGF5KDEpKTtcbiAgcHVibGljIHJlYWRvbmx5IGFwcGxpY2F0aW9uJCA9IHRoaXMuY3VycmVudEFwcGxpY2F0aW9uU3ViamVjdC5hc09ic2VydmFibGUoKS5waXBlKHNoYXJlUmVwbGF5KDEpKTtcbiAgcHVibGljIGdldCBhcHBsaWNhdGlvbigpOiBBWFBBcHBsaWNhdGlvbiB8IG51bGwge1xuICAgIHJldHVybiB0aGlzLmN1cnJlbnRBcHBsaWNhdGlvblN1YmplY3QudmFsdWU7XG4gIH1cblxuICBwcml2YXRlIHBlcm1pc3Npb25zU3ViamVjdCA9IG5ldyBCZWhhdmlvclN1YmplY3Q8QVhQUGVybWlzc2lvbltdIHwgbnVsbD4obnVsbCk7XG4gIHB1YmxpYyByZWFkb25seSBwZXJtaXNzaW9ucyQgPSB0aGlzLnBlcm1pc3Npb25zU3ViamVjdC5hc09ic2VydmFibGUoKS5waXBlKHNoYXJlUmVwbGF5KDEpLCBkZWZhdWx0SWZFbXB0eShbXSkpO1xuICBwdWJsaWMgZ2V0IHBlcm1pc3Npb25zKCk6IEFYUFBlcm1pc3Npb25bXSB7XG4gICAgcmV0dXJuIHRoaXMucGVybWlzc2lvbnNTdWJqZWN0LnZhbHVlID8/IFtdO1xuICB9XG5cbiAgcHVibGljIHJlYWRvbmx5IGlzQXV0aGVudGljYXRlZCQgPSB0aGlzLmN1cnJlbnRVc2VyU3ViamVjdC5hc09ic2VydmFibGUoKS5waXBlKFxuICAgIG1hcCgodXNlcikgPT4gISF1c2VyKSxcbiAgICBzaGFyZVJlcGxheSgxKVxuICApO1xuXG4gIHB1YmxpYyByZWFkb25seSBpc0F1dGhvcml6ZWQkID0gY29tYmluZUxhdGVzdChbXG4gICAgdGhpcy5jdXJyZW50VXNlclN1YmplY3QsXG4gICAgdGhpcy5jdXJyZW50VGVuYW50U3ViamVjdCxcbiAgICB0aGlzLmN1cnJlbnRBcHBsaWNhdGlvblN1YmplY3QsXG4gICAgdGhpcy5wZXJtaXNzaW9uc1N1YmplY3QsXG4gIF0pLnBpcGUoXG4gICAgZmlsdGVyKChbdXNlciwgdGVuYW50LCBhcHBsaWNhdGlvbiwgcGVybWlzc2lvbnNdKSA9PiB7XG4gICAgICByZXR1cm4gcGVybWlzc2lvbnMgIT0gbnVsbDtcbiAgICB9KSxcbiAgICBtYXAoKFt1c2VyLCB0ZW5hbnQsIGFwcGxpY2F0aW9uLCBwZXJtaXNzaW9uc10pID0+IHtcbiAgICAgIHJldHVybiAhIXVzZXIgJiYgISF0ZW5hbnQgJiYgISFhcHBsaWNhdGlvbiAmJiAhIXBlcm1pc3Npb25zO1xuICAgIH0pLFxuICAgIHNoYXJlUmVwbGF5KDEpXG4gICk7XG5cbiAgcHVibGljIGFzeW5jIHNpZ25JbldpdGhTdG9yZWRTZXNzaW9uKCk6IFByb21pc2U8dm9pZD4ge1xuICAgIGNvbnN0IHNlc3Npb25EYXRhID0gdGhpcy5nZXRTZXNzaW9uRGF0YSgpO1xuICAgIGlmIChzZXNzaW9uRGF0YSkge1xuICAgICAgdGhpcy5jdXJyZW50QXV0aFN0cmF0ZWd5S2V5ID0gc2Vzc2lvbkRhdGEuc3RyYXRlZ3k7XG4gICAgICBpZiAoc2Vzc2lvbkRhdGEudXNlcikge1xuICAgICAgICB0aGlzLmN1cnJlbnRVc2VyU3ViamVjdC5uZXh0KHNlc3Npb25EYXRhLnVzZXIpO1xuICAgICAgICBhd2FpdCB0aGlzLmxvYWRUZW5hbnRzKCk7XG4gICAgICB9XG4gICAgICBpZiAoc2Vzc2lvbkRhdGEudGVuYW50KSB7XG4gICAgICAgIHRoaXMuY3VycmVudFRlbmFudFN1YmplY3QubmV4dChzZXNzaW9uRGF0YS50ZW5hbnQpO1xuICAgICAgICBhd2FpdCB0aGlzLmxvYWRBcHBsaWNhdGlvbnMoKTtcbiAgICAgIH1cbiAgICAgIGlmIChzZXNzaW9uRGF0YS5hcHBsaWNhdGlvbikge1xuICAgICAgICB0aGlzLmN1cnJlbnRBcHBsaWNhdGlvblN1YmplY3QubmV4dChzZXNzaW9uRGF0YS5hcHBsaWNhdGlvbik7XG4gICAgICAgIGF3YWl0IHRoaXMubG9hZFBlcm1pc3Npb25zKCk7XG4gICAgICB9XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMuY3VycmVudFVzZXJTdWJqZWN0Lm5leHQobnVsbCk7XG4gICAgICB0aGlzLmN1cnJlbnRUZW5hbnRTdWJqZWN0Lm5leHQobnVsbCk7XG4gICAgICB0aGlzLmN1cnJlbnRBcHBsaWNhdGlvblN1YmplY3QubmV4dChudWxsKTtcbiAgICAgIHRoaXMucGVybWlzc2lvbnNTdWJqZWN0Lm5leHQoW10pO1xuICAgIH1cbiAgfVxuXG4gIGFzeW5jIHNpZ25pbihjcmVkZW50aWFsczogQVhQQmFzZUNyZWRlbnRpYWxzKTogUHJvbWlzZTx2b2lkPiB7XG4gICAgY29uc3Qgc3RyYXRlZ3kgPSB0aGlzLmF1dGhTdHJhdGVneVJlZ2lzdHJ5LmdldChjcmVkZW50aWFscy5zdHJhdGVneSk7XG4gICAgaWYgKCFzdHJhdGVneSkge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKGBBdXRoZW50aWNhdGlvbiBzdHJhdGVneSAnJHtjcmVkZW50aWFscy5zdHJhdGVneX0nIGlzIG5vdCBzdXBwb3J0ZWRgKTtcbiAgICB9XG4gICAgdGhpcy5jdXJyZW50QXV0aFN0cmF0ZWd5S2V5ID0gY3JlZGVudGlhbHMuc3RyYXRlZ3k7IC8vIFN0b3JlIHRoZSB1c2VkIHN0cmF0ZWd5IGtleVxuICAgIGNvbnN0IHRva2VucyA9IGF3YWl0IHN0cmF0ZWd5LnNpZ25pbihjcmVkZW50aWFscyk7XG4gICAgaWYgKHRva2Vucy51c2VyKSB7XG4gICAgICB0aGlzLmN1cnJlbnRVc2VyU3ViamVjdC5uZXh0KHRva2Vucy51c2VyKTtcbiAgICB9XG4gICAgdGhpcy5zZXRTZXNzaW9uKHRva2Vucyk7XG4gICAgYXdhaXQgdGhpcy5sb2FkVGVuYW50cygpO1xuICB9XG5cbiAgYXN5bmMgc2lnbm91dCgpOiBQcm9taXNlPHZvaWQ+IHtcbiAgICBpZiAoIXRoaXMuY3VycmVudEF1dGhTdHJhdGVneUtleSkge1xuICAgICAgdGhpcy5jdXJyZW50QXV0aFN0cmF0ZWd5S2V5ID0gbnVsbDtcbiAgICAgIC8vXG4gICAgICB0aGlzLmN1cnJlbnRVc2VyU3ViamVjdC5uZXh0KG51bGwpO1xuICAgICAgLy9cbiAgICAgIHRoaXMuY3VycmVudFRlbmFudFN1YmplY3QubmV4dChudWxsKTtcbiAgICAgIHRoaXMudGVuYW50c1N1YmplY3QubmV4dChbXSk7XG4gICAgICAvL1xuICAgICAgdGhpcy5jdXJyZW50QXBwbGljYXRpb25TdWJqZWN0Lm5leHQobnVsbCk7XG4gICAgICB0aGlzLmFwcGxpY2F0aW9uc1N1YmplY3QubmV4dChbXSk7XG4gICAgICAvL1xuICAgICAgdGhpcy5wZXJtaXNzaW9uc1N1YmplY3QubmV4dChudWxsKTtcbiAgICAgIC8vXG4gICAgICB0aGlzLmNsZWFyU2Vzc2lvbigpO1xuICAgICAgdGhpcy5zdG9yZS5kaXNwYXRjaChBWFBTaWduT3V0QWN0aW9uKCkpO1xuICAgICAgdGhyb3cgbmV3IEVycm9yKCdObyBhdXRoZW50aWNhdGlvbiBzdHJhdGVneSB1c2VkIGZvciBjdXJyZW50IHNlc3Npb24nKTtcbiAgICB9XG4gICAgY29uc3Qgc3RyYXRlZ3kgPSB0aGlzLmF1dGhTdHJhdGVneVJlZ2lzdHJ5LmdldCh0aGlzLmN1cnJlbnRBdXRoU3RyYXRlZ3lLZXkpO1xuICAgIGlmICghc3RyYXRlZ3kpIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcihgQXV0aGVudGljYXRpb24gc3RyYXRlZ3kgJyR7dGhpcy5jdXJyZW50QXV0aFN0cmF0ZWd5S2V5fScgaXMgbm90IGZvdW5kIGZvciBsb2dvdXRgKTtcbiAgICB9XG4gICAgYXdhaXQgc3RyYXRlZ3kuc2lnbm91dCgpO1xuICAgIC8vXG4gICAgdGhpcy5jdXJyZW50QXV0aFN0cmF0ZWd5S2V5ID0gbnVsbDtcbiAgICAvL1xuICAgIHRoaXMuY3VycmVudFVzZXJTdWJqZWN0Lm5leHQobnVsbCk7XG4gICAgLy9cbiAgICB0aGlzLmN1cnJlbnRUZW5hbnRTdWJqZWN0Lm5leHQobnVsbCk7XG4gICAgdGhpcy50ZW5hbnRzU3ViamVjdC5uZXh0KFtdKTtcbiAgICAvL1xuICAgIHRoaXMuY3VycmVudEFwcGxpY2F0aW9uU3ViamVjdC5uZXh0KG51bGwpO1xuICAgIHRoaXMuYXBwbGljYXRpb25zU3ViamVjdC5uZXh0KFtdKTtcbiAgICAvL1xuICAgIHRoaXMucGVybWlzc2lvbnNTdWJqZWN0Lm5leHQobnVsbCk7XG4gICAgLy9cbiAgICB0aGlzLmNsZWFyU2Vzc2lvbigpO1xuICAgIHRoaXMuc3RvcmUuZGlzcGF0Y2goQVhQU2lnbk91dEFjdGlvbigpKTtcbiAgfVxuXG4gIGFzeW5jIHJlZnJlc2hUb2tlbigpOiBQcm9taXNlPHZvaWQ+IHtcbiAgICBjb25zdCBzZXNzaW9uRGF0YSA9IHRoaXMuZ2V0U2Vzc2lvbkRhdGEoKTtcbiAgICBpZiAoIXRoaXMuY3VycmVudEF1dGhTdHJhdGVneUtleSB8fCAhc2Vzc2lvbkRhdGEgfHwgIXNlc3Npb25EYXRhLnJlZnJlc2hUb2tlbikge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKCdObyBhdXRoZW50aWNhdGlvbiBzdHJhdGVneSBvciByZWZyZXNoIHRva2VuIGF2YWlsYWJsZScpO1xuICAgIH1cblxuICAgIGNvbnN0IHN0cmF0ZWd5ID0gdGhpcy5hdXRoU3RyYXRlZ3lSZWdpc3RyeS5nZXQodGhpcy5jdXJyZW50QXV0aFN0cmF0ZWd5S2V5KTtcbiAgICBpZiAoIXN0cmF0ZWd5KSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoYEF1dGhlbnRpY2F0aW9uIHN0cmF0ZWd5ICcke3RoaXMuY3VycmVudEF1dGhTdHJhdGVneUtleX0nIGlzIG5vdCBmb3VuZGApO1xuICAgIH1cbiAgICBjb25zdCB0b2tlbnMgPSBhd2FpdCBzdHJhdGVneS5yZWZyZXNoVG9rZW4oc2Vzc2lvbkRhdGEucmVmcmVzaFRva2VuKTtcbiAgICB0aGlzLnNldFNlc3Npb24odG9rZW5zKTtcbiAgfVxuXG4gIGFzeW5jIHNlbGVjdFRlbmFudCh0ZW5hbnRJZDogc3RyaW5nKTogUHJvbWlzZTx2b2lkPiB7XG4gICAgY29uc3QgdGVuYW50ID0gYXdhaXQgZmlyc3RWYWx1ZUZyb20oXG4gICAgICB0aGlzLnRlbmFudHMkLnBpcGUoXG4gICAgICAgIHRha2UoMSksXG4gICAgICAgIG1hcCgodGVuYW50cykgPT4gdGVuYW50cy5maW5kKCh0KSA9PiB0Lm5hbWUgPT09IHRlbmFudElkKSlcbiAgICAgIClcbiAgICApO1xuXG4gICAgaWYgKCF0ZW5hbnQpIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcignVGVuYW50IG5vdCBmb3VuZCcpO1xuICAgIH1cblxuICAgIGNvbnN0IG5ld1Rva2VuID0gYXdhaXQgZmlyc3RWYWx1ZUZyb20odGhpcy50ZW5hbnRTZXJ2aWNlLnNldCh0ZW5hbnQpKTtcblxuICAgIHRoaXMuY3VycmVudFRlbmFudFN1YmplY3QubmV4dCh0ZW5hbnQpO1xuICAgIHRoaXMudXBkYXRlU2Vzc2lvbih7IHRlbmFudCwgYWNjZXNzVG9rZW46IG5ld1Rva2VuLmFjY2Vzc1Rva2VuLCByZWZyZXNoVG9rZW46IG5ld1Rva2VuLnJlZnJlc2hUb2tlbiB9KTtcbiAgICAvLyBGZXRjaCBhcHBsaWNhdGlvbnMgZm9yIHRoZSBzZWxlY3RlZCB0ZW5hbnRcbiAgICBhd2FpdCB0aGlzLmxvYWRBcHBsaWNhdGlvbnMoKTtcbiAgfVxuXG4gIGFzeW5jIHNlbGVjdEFwcGxpY2F0aW9uKGFwcGxpY2F0aW9uSWQ6IHN0cmluZyk6IFByb21pc2U8dm9pZD4ge1xuICAgIGNvbnN0IGFwcGxpY2F0aW9uID0gYXdhaXQgZmlyc3RWYWx1ZUZyb20oXG4gICAgICB0aGlzLmFwcGxpY2F0aW9ucyQucGlwZShcbiAgICAgICAgdGFrZSgxKSxcbiAgICAgICAgbWFwKChhcHBsaWNhdGlvbnMpID0+IGFwcGxpY2F0aW9ucy5maW5kKChhKSA9PiBhLm5hbWUgPT09IGFwcGxpY2F0aW9uSWQpKVxuICAgICAgKVxuICAgICk7XG5cbiAgICBpZiAoIWFwcGxpY2F0aW9uKSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoJ0FwcGxpY2F0aW9uIG5vdCBmb3VuZCcpO1xuICAgIH1cblxuICAgIGNvbnN0IG5ld1Rva2VuID0gYXdhaXQgZmlyc3RWYWx1ZUZyb20odGhpcy5hcHBsaWNhdGlvbkxvYWRlci5zZXQoYXBwbGljYXRpb24pKTtcblxuICAgIHRoaXMuY3VycmVudEFwcGxpY2F0aW9uU3ViamVjdC5uZXh0KGFwcGxpY2F0aW9uKTtcbiAgICB0aGlzLnVwZGF0ZVNlc3Npb24oeyBhcHBsaWNhdGlvbiwgYWNjZXNzVG9rZW46IG5ld1Rva2VuLmFjY2Vzc1Rva2VuLCByZWZyZXNoVG9rZW46IG5ld1Rva2VuLnJlZnJlc2hUb2tlbiB9KTtcbiAgICAvLyBGZXRjaCBwZXJtaXNzaW9ucyBmb3IgdGhlIHNlbGVjdGVkIGFwcGxpY2F0aW9uXG4gICAgYXdhaXQgdGhpcy5sb2FkUGVybWlzc2lvbnMoKTtcbiAgfVxuXG4gIHByaXZhdGUgYXN5bmMgbG9hZFRlbmFudHMoKTogUHJvbWlzZTx2b2lkPiB7XG4gICAgdHJ5IHtcbiAgICAgIGNvbnN0IHRlbmFudHMgPSBhd2FpdCBmaXJzdFZhbHVlRnJvbSh0aGlzLnRlbmFudFNlcnZpY2UuZ2V0TGlzdCgpKTtcbiAgICAgIHRoaXMudGVuYW50c1N1YmplY3QubmV4dCh0ZW5hbnRzKTtcbiAgICB9IGNhdGNoIChlcnJvcikge1xuICAgICAgY29uc29sZS5lcnJvcignRXJyb3IgbG9hZGluZyB0ZW5hbnRzOicsIGVycm9yKTtcbiAgICAgIC8vIEhhbmRsZSBlcnJvciwgZm9yIGV4YW1wbGUsIGJ5IHNldHRpbmcgYW4gZW1wdHkgcGVybWlzc2lvbnMgbGlzdFxuICAgICAgLy90aGlzLmFwcGxpY2F0aW9uc1N1YmplY3QubmV4dChbXSk7XG4gICAgICB0aGlzLnNpZ25vdXQoKTtcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIGFzeW5jIGxvYWRBcHBsaWNhdGlvbnMoKTogUHJvbWlzZTx2b2lkPiB7XG4gICAgdHJ5IHtcbiAgICAgIGNvbnN0IGFwcGxpY2F0aW9ucyA9IGF3YWl0IGZpcnN0VmFsdWVGcm9tKHRoaXMuYXBwbGljYXRpb25Mb2FkZXIuZ2V0TGlzdCgpKTtcbiAgICAgIHRoaXMuYXBwbGljYXRpb25zU3ViamVjdC5uZXh0KGFwcGxpY2F0aW9ucyA/PyBbXSk7XG4gICAgfSBjYXRjaCAoZXJyb3IpIHtcbiAgICAgIGNvbnNvbGUuZXJyb3IoJ0Vycm9yIGxvYWRpbmcgYXBwbGljYXRpb25zOicsIGVycm9yKTtcbiAgICAgIC8vIEhhbmRsZSBlcnJvciwgZm9yIGV4YW1wbGUsIGJ5IHNldHRpbmcgYW4gZW1wdHkgcGVybWlzc2lvbnMgbGlzdFxuICAgICAgLy90aGlzLmFwcGxpY2F0aW9uc1N1YmplY3QubmV4dChbXSk7XG4gICAgICB0aGlzLnNpZ25vdXQoKTtcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIGFzeW5jIGxvYWRQZXJtaXNzaW9ucygpOiBQcm9taXNlPHZvaWQ+IHtcbiAgICB0cnkge1xuICAgICAgY29uc3QgcGVybWlzc2lvbnMgPSBhd2FpdCBmaXJzdFZhbHVlRnJvbSh0aGlzLnBlcm1pc3Npb25Mb2FkZXIuZ2V0TGlzdCgpKTtcbiAgICAgIHRoaXMucGVybWlzc2lvbnNTdWJqZWN0Lm5leHQocGVybWlzc2lvbnMgPz8gW10pO1xuICAgICAgdGhpcy5zdG9yZS5kaXNwYXRjaChBWFBTaWduSW5BY3Rpb24oKSk7XG4gICAgfSBjYXRjaCAoZXJyb3IpIHtcbiAgICAgIGNvbnNvbGUuZXJyb3IoJ0Vycm9yIGxvYWRpbmcgcGVybWlzc2lvbnM6JywgZXJyb3IpO1xuICAgICAgLy8gSGFuZGxlIGVycm9yLCBmb3IgZXhhbXBsZSwgYnkgc2V0dGluZyBhbiBlbXB0eSBwZXJtaXNzaW9ucyBsaXN0XG4gICAgICB0aGlzLnBlcm1pc3Npb25zU3ViamVjdC5uZXh0KFtdKTtcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIHNldFNlc3Npb24odG9rZW5zOiBBWFBUb2tlbnMpOiB2b2lkIHtcbiAgICBjb25zdCBzZXNzaW9uRGF0YTogQVhQU2Vzc2lvbkRhdGEgPSB7XG4gICAgICBhY2Nlc3NUb2tlbjogdG9rZW5zLmFjY2Vzc1Rva2VuLFxuICAgICAgcmVmcmVzaFRva2VuOiB0b2tlbnMucmVmcmVzaFRva2VuLFxuICAgICAgc3RyYXRlZ3k6IHRoaXMuY3VycmVudEF1dGhTdHJhdGVneUtleSA/PyAnZmFsc2UnLFxuICAgICAgdXNlcjogdGhpcy51c2VyLFxuICAgICAgdGVuYW50OiB0aGlzLnRlbmFudCxcbiAgICAgIGFwcGxpY2F0aW9uOiB0aGlzLmFwcGxpY2F0aW9uLFxuICAgIH07XG4gICAgdGhpcy51cGRhdGVTZXNzaW9uKHNlc3Npb25EYXRhKTtcbiAgfVxuXG4gIHByaXZhdGUgdXBkYXRlU2Vzc2lvbih1cGRhdGU6IFBhcnRpYWw8QVhQU2Vzc2lvbkRhdGE+KSB7XG4gICAgY29uc3QgY3VycmVudFNlc3Npb24gPSB0aGlzLmdldFNlc3Npb25EYXRhKCkgPz8ge307XG4gICAgY29uc3QgdXBkYXRlZFNlc3Npb24gPSBtZXJnZSh7fSwgY3VycmVudFNlc3Npb24sIHVwZGF0ZSk7XG4gICAgbG9jYWxTdG9yYWdlLnNldEl0ZW0odGhpcy5TRVNTSU9OX0tFWSwgSlNPTi5zdHJpbmdpZnkodXBkYXRlZFNlc3Npb24pKTtcbiAgfVxuXG4gIHByaXZhdGUgZ2V0U2Vzc2lvbkRhdGEoKTogQVhQU2Vzc2lvbkRhdGEgfCBudWxsIHtcbiAgICBjb25zdCBzZXNzaW9uRGF0YVN0cmluZyA9IGxvY2FsU3RvcmFnZS5nZXRJdGVtKHRoaXMuU0VTU0lPTl9LRVkpO1xuICAgIHJldHVybiBzZXNzaW9uRGF0YVN0cmluZyA/IEpTT04ucGFyc2Uoc2Vzc2lvbkRhdGFTdHJpbmcpIDogbnVsbDtcbiAgfVxuXG4gIHByaXZhdGUgY2xlYXJTZXNzaW9uKCk6IHZvaWQge1xuICAgIGxvY2FsU3RvcmFnZS5yZW1vdmVJdGVtKHRoaXMuU0VTU0lPTl9LRVkpO1xuICB9XG5cbiAgcHVibGljIGF1dGhvcml6ZSguLi5rZXlzOiBzdHJpbmdbXSk6IGJvb2xlYW4ge1xuICAgIHJldHVybiBrZXlzLmV2ZXJ5KChrKSA9PiBpc0VtcHR5KGspIHx8IHRoaXMucGVybWlzc2lvbnMuaW5kZXhPZihrKSA+IC0xKTtcbiAgfVxuXG4gIHB1YmxpYyBnZXRUb2tlbigpOiBPYnNlcnZhYmxlPHN0cmluZyB8IHVuZGVmaW5lZD4ge1xuICAgIHJldHVybiBvZih0aGlzLmdldFNlc3Npb25EYXRhKCk/LmFjY2Vzc1Rva2VuKTtcbiAgfVxufVxuIl19
235
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2Vzc2lvbi5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9wbGF0Zm9ybS9hdXRoL3NyYy9saWIvc2Vzc2lvbi5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxlQUFlLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUM1RSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNuRCxPQUFPLEVBQUUsS0FBSyxFQUFFLE1BQU0sYUFBYSxDQUFDO0FBQ3BDLE9BQU8sRUFBRSxPQUFPLEVBQUUsS0FBSyxFQUFFLE1BQU0sV0FBVyxDQUFDO0FBQzNDLE9BQU8sRUFBRSxlQUFlLEVBQWMsY0FBYyxFQUFFLGNBQWMsRUFBRSxHQUFHLEVBQUUsRUFBRSxFQUFFLFdBQVcsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUV6RyxPQUFPLEVBQUUsOEJBQThCLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUV6RSxPQUFPLEVBQWMsa0JBQWtCLEVBQUUsTUFBTSxXQUFXLENBQUM7QUFDM0QsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0sZ0NBQWdDLENBQUM7QUFFdkUsT0FBTyxFQUFFLGlCQUFpQixFQUFFLGdCQUFnQixFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFHdEUsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDM0QsT0FBTyxFQUFFLHNCQUFzQixFQUFFLE1BQU0sa0NBQWtDLENBQUM7O0FBSzFFLE1BQU0sT0FBTyxpQkFBaUI7SUFIOUI7UUFJVSxVQUFLLEdBQUcsTUFBTSxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBRXRCLDJCQUFzQixHQUFrQixJQUFJLENBQUM7UUFDN0MseUJBQW9CLEdBQUcsTUFBTSxDQUFDLDhCQUE4QixDQUFDLENBQUM7UUFDckQsZ0JBQVcsR0FBRyxhQUFhLENBQUM7UUFF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LE1BQU07WUFDbkIsV0FBVyxFQUFFLElBQUksQ0FBQyxXQUFXO1NBQzlCLENBQUMsQ0FBQztJQUNMLENBQUM7OEdBaFBVLGlCQUFpQjtrSEFBakIsaUJBQWlCLGNBRmhCLE1BQU07OzJGQUVQLGlCQUFpQjtrQkFIN0IsVUFBVTttQkFBQztvQkFDVixVQUFVLEVBQUUsTUFBTTtpQkFDbkIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBBWFBTaWduSW5BY3Rpb24sIEFYUFNpZ25PdXRBY3Rpb24gfSBmcm9tICdAYWNvcmV4L3BsYXRmb3JtL2NvbW1vbic7XG5pbXBvcnQgeyBJbmplY3RhYmxlLCBpbmplY3QgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFN0b3JlIH0gZnJvbSAnQG5ncngvc3RvcmUnO1xuaW1wb3J0IHsgaXNFbXB0eSwgbWVyZ2UgfSBmcm9tICdsb2Rhc2gtZXMnO1xuaW1wb3J0IHsgQmVoYXZpb3JTdWJqZWN0LCBPYnNlcnZhYmxlLCBkZWZhdWx0SWZFbXB0eSwgZmlyc3RWYWx1ZUZyb20sIG1hcCwgb2YsIHNoYXJlUmVwbGF5IH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBBWFBBcHBsaWNhdGlvbiB9IGZyb20gJy4vYXBwbGljYXRpb24vYXBwbGljYXRpb24udHlwZXMnO1xuaW1wb3J0IHsgQVhQQXV0aFN0cmF0ZWd5UmVnaXN0cnlTZXJ2aWNlIH0gZnJvbSAnLi9hdXRoLXJlZ2lzdHJ5LnNlcnZpY2UnO1xuaW1wb3J0IHsgQVhQQmFzZUNyZWRlbnRpYWxzLCBBWFBTZXNzaW9uRGF0YSB9IGZyb20gJy4vYXV0aC5zdHJhdGVneSc7XG5pbXBvcnQgeyBBWFBGZWF0dXJlLCBBWFBfRkVBVFVSRV9MT0FERVIgfSBmcm9tICcuL2ZlYXR1cmUnO1xuaW1wb3J0IHsgQVhQX1BFUk1JU1NJT05fTE9BREVSIH0gZnJvbSAnLi9wZXJtaXNzaW9uL3Blcm1pc3Npb24ubG9hZGVyJztcbmltcG9ydCB7IEFYUFBlcm1pc3Npb24gfSBmcm9tICcuL3Blcm1pc3Npb24vcGVybWlzc2lvbi50eXBlcyc7XG5pbXBvcnQgeyBBWFBTZXNzaW9uQ29udGV4dCwgQVhQU2Vzc2lvblN0YXR1cyB9IGZyb20gJy4vc2Vzc2lvbi50eXBlcyc7XG5pbXBvcnQgeyBBWFBUZW5hbnQgfSBmcm9tICcuL3RlbmFudC90ZW5hbnQudHlwZXMnO1xuaW1wb3J0IHsgQVhQVXNlciB9IGZyb20gJy4vdXNlci91c2VyLnR5cGVzJztcbmltcG9ydCB7IEFYUF9URU5BTlRfTE9BREVSIH0gZnJvbSAnLi90ZW5hbnQvdGVuYW50LmxvYWRlcic7XG5pbXBvcnQgeyBBWFBfQVBQTElDQVRJT05fTE9BREVSIH0gZnJvbSAnLi9hcHBsaWNhdGlvbi9hcHBsaWNhdGlvbi5sb2FkZXInO1xuXG5ASW5qZWN0YWJsZSh7XG4gIHByb3ZpZGVkSW46ICdyb290Jyxcbn0pXG5leHBvcnQgY2xhc3MgQVhQU2Vzc2lvblNlcnZpY2Uge1xuICBwcml2YXRlIHN0b3JlID0gaW5qZWN0KFN0b3JlKTtcblxuICBwcml2YXRlIGN1cnJlbnRBdXRoU3RyYXRlZ3lLZXk6IHN0cmluZyB8IG51bGwgPSBudWxsO1xuICBwcml2YXRlIGF1dGhTdHJhdGVneVJlZ2lzdHJ5ID0gaW5qZWN0KEFYUEF1dGhTdHJhdGVneVJlZ2lzdHJ5U2VydmljZSk7XG4gIHByaXZhdGUgcmVhZG9ubHkgU0VTU0lPTl9LRVkgPSAnQVhQX1NFU1NJT04nO1xuXG4gIHByaXZhdGUgcmVhZG9ubHkgcGVybWlzc2lvbkxvYWRlciA9IGluamVjdChBWFBfUEVSTUlTU0lPTl9MT0FERVIpO1xuICBwcml2YXRlIHJlYWRvbmx5IGZlYXR1cmVMb2FkZXIgPSBpbmplY3QoQVhQX0ZFQVRVUkVfTE9BREVSKTtcbiAgcHJpdmF0ZSByZWFkb25seSB0ZW5hbnRMb2FkZXIgPSBpbmplY3QoQVhQX1RFTkFOVF9MT0FERVIpO1xuICBwcml2YXRlIHJlYWRvbmx5IGFwcGxpY2F0aW9uTG9hZGVyID0gaW5qZWN0KEFYUF9BUFBMSUNBVElPTl9MT0FERVIpO1xuXG4gIHByaXZhdGUgc3RhdHVzID0gbmV3IEJlaGF2aW9yU3ViamVjdDxBWFBTZXNzaW9uU3RhdHVzPihBWFBTZXNzaW9uU3RhdHVzLlVuYXV0aGVudGljYXRlZCk7XG4gIHB1YmxpYyByZWFkb25seSBzdGF0dXMkID0gdGhpcy5zdGF0dXMuYXNPYnNlcnZhYmxlKCkucGlwZShzaGFyZVJlcGxheSgxKSk7XG5cbiAgcHJpdmF0ZSBjdXJyZW50VXNlclN1YmplY3QgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PEFYUFVzZXIgfCBudWxsPihudWxsKTtcbiAgcHVibGljIHJlYWRvbmx5IHVzZXIkID0gdGhpcy5jdXJyZW50VXNlclN1YmplY3QuYXNPYnNlcnZhYmxlKCkucGlwZShzaGFyZVJlcGxheSgxKSk7XG4gIHB1YmxpYyBnZXQgdXNlcigpOiBBWFBVc2VyIHwgbnVsbCB7XG4gICAgY29uc3Qgc2Vzc2lvbiA9IHRoaXMuZ2V0U2Vzc2lvbkRhdGEoKTtcbiAgICBpZiAoc2Vzc2lvbj8udXNlciAmJiAhdGhpcy5jdXJyZW50VXNlclN1YmplY3QudmFsdWUpIHtcbiAgICAgIHRoaXMuY3VycmVudFVzZXJTdWJqZWN0Lm5leHQoc2Vzc2lvbi51c2VyKTtcbiAgICB9XG4gICAgcmV0dXJuIHRoaXMuY3VycmVudFVzZXJTdWJqZWN0LnZhbHVlO1xuICB9XG5cbiAgcHJpdmF0ZSBjdXJyZW50VGVuYW50U3ViamVjdCA9IG5ldyBCZWhhdmlvclN1YmplY3Q8QVhQVGVuYW50IHwgbnVsbD4obnVsbCk7XG4gIHB1YmxpYyByZWFkb25seSB0ZW5hbnQkID0gdGhpcy5jdXJyZW50VGVuYW50U3ViamVjdC5hc09ic2VydmFibGUoKS5waXBlKHNoYXJlUmVwbGF5KDEpKTtcbiAgcHVibGljIGdldCB0ZW5hbnQoKTogQVhQVGVuYW50IHwgbnVsbCB7XG4gICAgY29uc3Qgc2Vzc2lvbiA9IHRoaXMuZ2V0U2Vzc2lvbkRhdGEoKTtcbiAgICBpZiAoc2Vzc2lvbj8udGVuYW50ICYmICF0aGlzLmN1cnJlbnRUZW5hbnRTdWJqZWN0LnZhbHVlKSB7XG4gICAgICB0aGlzLmN1cnJlbnRUZW5hbnRTdWJqZWN0Lm5leHQoc2Vzc2lvbi50ZW5hbnQpO1xuICAgIH1cbiAgICByZXR1cm4gdGhpcy5jdXJyZW50VGVuYW50U3ViamVjdC52YWx1ZTtcbiAgfVxuXG5cblxuICBwdWJsaWMgZ2V0IHRlbmFudHMkKCk6IE9ic2VydmFibGU8QVhQVGVuYW50W10+IHtcbiAgICByZXR1cm4gdGhpcy50ZW5hbnRMb2FkZXIuZ2V0TGlzdCh0aGlzLmdldENvbnRleHQoKSk7XG4gIH1cblxuICBwcml2YXRlIGN1cnJlbnRBcHBsaWNhdGlvblN1YmplY3QgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PEFYUEFwcGxpY2F0aW9uIHwgbnVsbD4obnVsbCk7XG4gIHB1YmxpYyByZWFkb25seSBhcHBsaWNhdGlvbiQgPSB0aGlzLmN1cnJlbnRBcHBsaWNhdGlvblN1YmplY3QuYXNPYnNlcnZhYmxlKCkucGlwZShzaGFyZVJlcGxheSgxKSk7XG4gIHB1YmxpYyBnZXQgYXBwbGljYXRpb24oKTogQVhQQXBwbGljYXRpb24gfCBudWxsIHtcbiAgICBjb25zdCBzZXNzaW9uID0gdGhpcy5nZXRTZXNzaW9uRGF0YSgpO1xuICAgIGlmIChzZXNzaW9uPy5hcHBsaWNhdGlvbiAmJiAhdGhpcy5jdXJyZW50QXBwbGljYXRpb25TdWJqZWN0LnZhbHVlKSB7XG4gICAgICB0aGlzLmN1cnJlbnRBcHBsaWNhdGlvblN1YmplY3QubmV4dChzZXNzaW9uLmFwcGxpY2F0aW9uKTtcbiAgICB9XG4gICAgcmV0dXJuIHRoaXMuY3VycmVudEFwcGxpY2F0aW9uU3ViamVjdC52YWx1ZTtcbiAgfVxuXG4gIHB1YmxpYyBnZXQgYXBwbGljYXRpb25zJCgpOiBPYnNlcnZhYmxlPEFYUEFwcGxpY2F0aW9uW10+IHtcbiAgICByZXR1cm4gdGhpcy5hcHBsaWNhdGlvbkxvYWRlci5nZXRMaXN0KHRoaXMuZ2V0Q29udGV4dCgpKTtcbiAgfVxuXG4gIHByaXZhdGUgcGVybWlzc2lvbnNTdWJqZWN0ID0gbmV3IEJlaGF2aW9yU3ViamVjdDxBWFBQZXJtaXNzaW9uW10+KFtdKTtcbiAgcHVibGljIHJlYWRvbmx5IHBlcm1pc3Npb25zJCA9IHRoaXMucGVybWlzc2lvbnNTdWJqZWN0LmFzT2JzZXJ2YWJsZSgpLnBpcGUoc2hhcmVSZXBsYXkoMSksIGRlZmF1bHRJZkVtcHR5KFtdKSk7XG4gIHB1YmxpYyBnZXQgcGVybWlzc2lvbnMoKTogQVhQUGVybWlzc2lvbltdIHtcbiAgICByZXR1cm4gdGhpcy5wZXJtaXNzaW9uc1N1YmplY3QudmFsdWUgPz8gW107XG4gIH1cblxuICBwcml2YXRlIGZlYXR1cmVzU3ViamVjdCA9IG5ldyBCZWhhdmlvclN1YmplY3Q8QVhQRmVhdHVyZVtdPihbXSk7XG4gIHB1YmxpYyByZWFkb25seSBmZWF0dXJlcyQgPSB0aGlzLmZlYXR1cmVzU3ViamVjdC5hc09ic2VydmFibGUoKS5waXBlKHNoYXJlUmVwbGF5KDEpLCBkZWZhdWx0SWZFbXB0eShbXSkpO1xuICBwdWJsaWMgZ2V0IGZlYXR1cmVzKCk6IEFYUEZlYXR1cmVbXSB7XG4gICAgcmV0dXJuIHRoaXMuZmVhdHVyZXNTdWJqZWN0LnZhbHVlID8/IFtdO1xuICB9XG5cbiAgcHVibGljIHJlYWRvbmx5IGlzQXV0aGVudGljYXRlZCQgPSB0aGlzLnN0YXR1cyQucGlwZShcbiAgICBtYXAoKHN0YXR1cykgPT4gc3RhdHVzID09PSBBWFBTZXNzaW9uU3RhdHVzLkF1dGhlbnRpY2F0ZWQgfHwgc3RhdHVzID09PSBBWFBTZXNzaW9uU3RhdHVzLkF1dGhvcml6ZWQpLFxuICAgIHNoYXJlUmVwbGF5KDEpXG4gICk7XG5cbiAgcHVibGljIHJlYWRvbmx5IGlzQXV0aG9yaXplZCQgPSB0aGlzLnN0YXR1cyQucGlwZShcbiAgICBtYXAoKHN0YXR1cykgPT4gc3RhdHVzID09PSBBWFBTZXNzaW9uU3RhdHVzLkF1dGhvcml6ZWQpLFxuICAgIHNoYXJlUmVwbGF5KDEpXG4gICk7XG5cbiAgcHVibGljIGFzeW5jIHJlc3RvcmVTZXNzaW9uKCk6IFByb21pc2U8dm9pZD4ge1xuICAgIGNvbnN0IHNlc3Npb25EYXRhID0gdGhpcy5nZXRTZXNzaW9uRGF0YSgpO1xuICAgIGlmIChzZXNzaW9uRGF0YSkge1xuICAgICAgdGhpcy5jdXJyZW50QXV0aFN0cmF0ZWd5S2V5ID0gc2Vzc2lvbkRhdGEuc3RyYXRlZ3k7XG4gICAgICBpZiAoc2Vzc2lvbkRhdGEudXNlcikge1xuICAgICAgICB0aGlzLmN1cnJlbnRVc2VyU3ViamVjdC5uZXh0KHNlc3Npb25EYXRhLnVzZXIpO1xuICAgICAgICB0aGlzLnN0YXR1cy5uZXh0KEFYUFNlc3Npb25TdGF0dXMuQXV0aGVudGljYXRlZCk7XG4gICAgICB9XG4gICAgICBpZiAoc2Vzc2lvbkRhdGEudGVuYW50KSB7XG4gICAgICAgIHRoaXMuc2V0VGVuYW50KHNlc3Npb25EYXRhLnRlbmFudCk7XG4gICAgICB9XG4gICAgICBpZiAoc2Vzc2lvbkRhdGEuYXBwbGljYXRpb24pIHtcbiAgICAgICAgdGhpcy5zZXRBcHBsaWNhdGlvbihzZXNzaW9uRGF0YS5hcHBsaWNhdGlvbik7XG4gICAgICB9XG4gICAgICBhd2FpdCB0aGlzLnNpZ25JbkNvbXBsZXRlKCk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMuc3RhdHVzLm5leHQoQVhQU2Vzc2lvblN0YXR1cy5VbmF1dGhvcml6ZWQpO1xuICAgIH1cbiAgfVxuXG4gIGFzeW5jIHNpZ25pbihjcmVkZW50aWFsczogQVhQQmFzZUNyZWRlbnRpYWxzKTogUHJvbWlzZTx2b2lkPiB7XG4gICAgY29uc3Qgc3RyYXRlZ3kgPSB0aGlzLmF1dGhTdHJhdGVneVJlZ2lzdHJ5LmdldChjcmVkZW50aWFscy5zdHJhdGVneSk7XG4gICAgaWYgKCFzdHJhdGVneSkge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKGBBdXRoZW50aWNhdGlvbiBzdHJhdGVneSAnJHtjcmVkZW50aWFscy5zdHJhdGVneX0nIGlzIG5vdCBzdXBwb3J0ZWRgKTtcbiAgICB9XG4gICAgdGhpcy5jdXJyZW50QXV0aFN0cmF0ZWd5S2V5ID0gY3JlZGVudGlhbHMuc3RyYXRlZ3k7IC8vIFN0b3JlIHRoZSB1c2VkIHN0cmF0ZWd5IGtleVxuICAgIGNvbnN0IHJlc3VsdCA9IGF3YWl0IHN0cmF0ZWd5LnNpZ25pbihjcmVkZW50aWFscyk7XG4gICAgaWYgKHJlc3VsdC5zdWNjZWVkKSB7XG4gICAgICB0aGlzLmN1cnJlbnRVc2VyU3ViamVjdC5uZXh0KHJlc3VsdC5kYXRhIS51c2VyKTtcbiAgICAgIHRoaXMuc2V0U2Vzc2lvbih7XG4gICAgICAgIGFjY2Vzc1Rva2VuOiByZXN1bHQuZGF0YSEuYWNjZXNzVG9rZW4sXG4gICAgICAgIHJlZnJlc2hUb2tlbjogcmVzdWx0LmRhdGEhLnJlZnJlc2hUb2tlbixcbiAgICAgICAgdXNlcjogcmVzdWx0LmRhdGEhLnVzZXIsXG4gICAgICB9KTtcbiAgICAgIHRoaXMuc3RhdHVzLm5leHQoQVhQU2Vzc2lvblN0YXR1cy5BdXRoZW50aWNhdGVkKTtcbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy5zdGF0dXMubmV4dChBWFBTZXNzaW9uU3RhdHVzLlVuYXV0aGVudGljYXRlZCk7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoYEludmFsaWQgVXNlcm5hbWUgb3IgUGFzc3dvcmRgKTtcbiAgICB9XG4gIH1cblxuICBhc3luYyBzaWdub3V0KCk6IFByb21pc2U8dm9pZD4ge1xuICAgIGNvbnN0IHN0cmF0ZWd5ID0gdGhpcy5jdXJyZW50QXV0aFN0cmF0ZWd5S2V5ID8gdGhpcy5hdXRoU3RyYXRlZ3lSZWdpc3RyeS5nZXQodGhpcy5jdXJyZW50QXV0aFN0cmF0ZWd5S2V5KSA6IG51bGw7XG4gICAgaWYgKHN0cmF0ZWd5KSB7XG4gICAgICBhd2FpdCBzdHJhdGVneS5zaWdub3V0KCk7XG4gICAgfVxuICAgIC8vXG4gICAgdGhpcy5jbGVhclNlc3Npb24oKTtcbiAgICB0aGlzLnN0YXR1cy5uZXh0KEFYUFNlc3Npb25TdGF0dXMuU2lnbmVkT3V0KTtcbiAgICB0aGlzLnN0b3JlLmRpc3BhdGNoKEFYUFNpZ25PdXRBY3Rpb24oKSk7XG4gIH1cblxuICBhc3luYyByZWZyZXNoVG9rZW4oKTogUHJvbWlzZTx2b2lkPiB7XG4gICAgY29uc3Qgc2Vzc2lvbkRhdGEgPSB0aGlzLmdldFNlc3Npb25EYXRhKCk7XG4gICAgaWYgKCF0aGlzLmN1cnJlbnRBdXRoU3RyYXRlZ3lLZXkgfHwgIXNlc3Npb25EYXRhIHx8ICFzZXNzaW9uRGF0YS5yZWZyZXNoVG9rZW4pIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcignTm8gYXV0aGVudGljYXRpb24gc3RyYXRlZ3kgb3IgcmVmcmVzaCB0b2tlbiBhdmFpbGFibGUnKTtcbiAgICB9XG4gICAgY29uc3Qgc3RyYXRlZ3kgPSB0aGlzLmF1dGhTdHJhdGVneVJlZ2lzdHJ5LmdldCh0aGlzLmN1cnJlbnRBdXRoU3RyYXRlZ3lLZXkpO1xuICAgIGlmICghc3RyYXRlZ3kpIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcihgQXV0aGVudGljYXRpb24gc3RyYXRlZ3kgJyR7dGhpcy5jdXJyZW50QXV0aFN0cmF0ZWd5S2V5fScgaXMgbm90IGZvdW5kYCk7XG4gICAgfVxuICAgIGNvbnN0IHJlc3VsdCA9IGF3YWl0IHN0cmF0ZWd5LnJlZnJlc2hUb2tlbihzZXNzaW9uRGF0YS5yZWZyZXNoVG9rZW4pO1xuICAgIGlmIChyZXN1bHQuc3VjY2VlZCkge1xuICAgICAgdGhpcy5zZXRTZXNzaW9uKHJlc3VsdC5kYXRhIGFzIEFYUFNlc3Npb25EYXRhKTtcbiAgICAgIHRoaXMuc3RhdHVzLm5leHQoQVhQU2Vzc2lvblN0YXR1cy5BdXRob3JpemVkKTtcbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy5zdGF0dXMubmV4dChBWFBTZXNzaW9uU3RhdHVzLkV4cGlyZWQpO1xuICAgIH1cbiAgfVxuXG4gIGFzeW5jIHNldFRlbmFudCh0ZW5hbnQ6IEFYUFRlbmFudCB8IG51bGwpOiBQcm9taXNlPHZvaWQ+IHtcbiAgICB0aGlzLmN1cnJlbnRUZW5hbnRTdWJqZWN0Lm5leHQodGVuYW50KTtcbiAgICBpZiAodGVuYW50KSB0aGlzLnVwZGF0ZVNlc3Npb24oeyB0ZW5hbnQ6IHRlbmFudCB9KTtcbiAgfVxuXG4gIGFzeW5jIHNldEFwcGxpY2F0aW9uKGFwcGxpY2F0aW9uOiBBWFBBcHBsaWNhdGlvbiB8IG51bGwpOiBQcm9taXNlPHZvaWQ+IHtcbiAgICB0aGlzLmN1cnJlbnRBcHBsaWNhdGlvblN1YmplY3QubmV4dChhcHBsaWNhdGlvbik7XG4gICAgaWYgKGFwcGxpY2F0aW9uKSB0aGlzLnVwZGF0ZVNlc3Npb24oeyBhcHBsaWNhdGlvbjogYXBwbGljYXRpb24gfSk7XG4gIH1cblxuICBwcml2YXRlIGFzeW5jIGxvYWRQZXJtaXNzaW9ucygpOiBQcm9taXNlPHZvaWQ+IHtcbiAgICB0cnkge1xuICAgICAgY29uc3QgcGVybWlzc2lvbnMgPSBhd2FpdCBmaXJzdFZhbHVlRnJvbSh0aGlzLnBlcm1pc3Npb25Mb2FkZXIuZ2V0TGlzdCh0aGlzLmdldENvbnRleHQoKSkpO1xuICAgICAgdGhpcy5wZXJtaXNzaW9uc1N1YmplY3QubmV4dChwZXJtaXNzaW9ucyA/PyBbXSk7XG4gICAgICB0aGlzLnN0b3JlLmRpc3BhdGNoKEFYUFNpZ25JbkFjdGlvbigpKTtcbiAgICB9IGNhdGNoIChlcnJvcikge1xuICAgICAgY29uc29sZS5lcnJvcignRXJyb3IgbG9hZGluZyBwZXJtaXNzaW9uczonLCBlcnJvcik7XG4gICAgICB0aGlzLnBlcm1pc3Npb25zU3ViamVjdC5uZXh0KFtdKTtcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIGFzeW5jIGxvYWRGZWF0dXJlcygpOiBQcm9taXNlPHZvaWQ+IHtcbiAgICB0cnkge1xuICAgICAgY29uc3QgZmVhdHVyZXMgPSBhd2FpdCBmaXJzdFZhbHVlRnJvbSh0aGlzLmZlYXR1cmVMb2FkZXIuZ2V0TGlzdCh0aGlzLmdldENvbnRleHQoKSkpO1xuICAgICAgdGhpcy5mZWF0dXJlc1N1YmplY3QubmV4dChmZWF0dXJlcyA/PyBbXSk7XG4gICAgfSBjYXRjaCAoZXJyb3IpIHtcbiAgICAgIGNvbnNvbGUuZXJyb3IoJ0Vycm9yIGxvYWRpbmcgZmVhdHVyZXM6JywgZXJyb3IpO1xuICAgICAgdGhpcy5mZWF0dXJlc1N1YmplY3QubmV4dChbXSk7XG4gICAgfVxuICB9XG5cbiAgYXN5bmMgc2lnbkluQ29tcGxldGUoKSB7XG4gICAgYXdhaXQgdGhpcy5sb2FkUGVybWlzc2lvbnMoKTtcbiAgICBhd2FpdCB0aGlzLmxvYWRGZWF0dXJlcygpO1xuICAgIHRoaXMuc3RhdHVzLm5leHQoQVhQU2Vzc2lvblN0YXR1cy5BdXRob3JpemVkKTtcbiAgfVxuXG4gIHByaXZhdGUgc2V0U2Vzc2lvbih0b2tlbnM6IFBhcnRpYWw8QVhQU2Vzc2lvbkRhdGE+KTogdm9pZCB7XG4gICAgY29uc3Qgc2Vzc2lvbkRhdGE6IFBhcnRpYWw8QVhQU2Vzc2lvbkRhdGE+ID0ge1xuICAgICAgYWNjZXNzVG9rZW46IHRva2Vucy5hY2Nlc3NUb2tlbixcbiAgICAgIHJlZnJlc2hUb2tlbjogdG9rZW5zLnJlZnJlc2hUb2tlbixcbiAgICAgIHN0cmF0ZWd5OiB0aGlzLmN1cnJlbnRBdXRoU3RyYXRlZ3lLZXkgPz8gdW5kZWZpbmVkLFxuICAgICAgdXNlcjogdGhpcy51c2VyLFxuICAgIH07XG4gICAgdGhpcy51cGRhdGVTZXNzaW9uKHNlc3Npb25EYXRhKTtcbiAgfVxuXG4gIHByaXZhdGUgdXBkYXRlU2Vzc2lvbih1cGRhdGU6IFBhcnRpYWw8QVhQU2Vzc2lvbkRhdGE+KSB7XG4gICAgY29uc3QgY3VycmVudFNlc3Npb24gPSB0aGlzLmdldFNlc3Npb25EYXRhKCkgPz8ge307XG4gICAgY29uc3QgdXBkYXRlZFNlc3Npb24gPSBtZXJnZSh7fSwgY3VycmVudFNlc3Npb24sIHVwZGF0ZSk7XG4gICAgbG9jYWxTdG9yYWdlLnNldEl0ZW0odGhpcy5TRVNTSU9OX0tFWSwgSlNPTi5zdHJpbmdpZnkodXBkYXRlZFNlc3Npb24pKTtcbiAgfVxuXG4gIHByaXZhdGUgZ2V0U2Vzc2lvbkRhdGEoKTogQVhQU2Vzc2lvbkRhdGEgfCBudWxsIHtcbiAgICBjb25zdCBzZXNzaW9uRGF0YVN0cmluZyA9IGxvY2FsU3RvcmFnZS5nZXRJdGVtKHRoaXMuU0VTU0lPTl9LRVkpO1xuICAgIHJldHVybiBzZXNzaW9uRGF0YVN0cmluZyA/IEpTT04ucGFyc2Uoc2Vzc2lvbkRhdGFTdHJpbmcpIDogbnVsbDtcbiAgfVxuXG4gIHByaXZhdGUgY2xlYXJTZXNzaW9uKCk6IHZvaWQge1xuICAgIC8vXG4gICAgdGhpcy5jdXJyZW50QXV0aFN0cmF0ZWd5S2V5ID0gbnVsbDtcbiAgICAvL1xuICAgIHRoaXMuY3VycmVudFVzZXJTdWJqZWN0Lm5leHQobnVsbCk7XG4gICAgLy9cbiAgICB0aGlzLnNldFRlbmFudChudWxsKTtcbiAgICAvL1xuICAgIHRoaXMuc2V0QXBwbGljYXRpb24obnVsbCk7XG4gICAgLy9cbiAgICB0aGlzLnBlcm1pc3Npb25zU3ViamVjdC5uZXh0KFtdKTtcbiAgICAvL1xuICAgIHRoaXMuZmVhdHVyZXNTdWJqZWN0Lm5leHQoW10pO1xuICAgIC8vXG4gICAgbG9jYWxTdG9yYWdlLnJlbW92ZUl0ZW0odGhpcy5TRVNTSU9OX0tFWSk7XG4gIH1cblxuICBwdWJsaWMgYXV0aG9yaXplKC4uLmtleXM6IHN0cmluZ1tdKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIGtleXMuZXZlcnkoKGspID0+IGlzRW1wdHkoaykgfHwgdGhpcy5wZXJtaXNzaW9ucy5pbmRleE9mKGspID4gLTEpO1xuICB9XG5cbiAgcHVibGljIGlzRmVhdHVyZUVuYWJsZWQoLi4ua2V5czogc3RyaW5nW10pOiBib29sZWFuIHtcbiAgICByZXR1cm4ga2V5cy5ldmVyeSgoaykgPT4gaXNFbXB0eShrKSB8fCB0aGlzLmZlYXR1cmVzLnNvbWUoKGMpID0+IGMubmFtZSA9PSBrICYmIGMudmFsdWUgPT0gdHJ1ZSkpO1xuICB9XG5cbiAgcHVibGljIGdldFRva2VuKCk6IE9ic2VydmFibGU8c3RyaW5nIHwgdW5kZWZpbmVkPiB7XG4gICAgcmV0dXJuIG9mKHRoaXMuZ2V0U2Vzc2lvbkRhdGEoKT8uYWNjZXNzVG9rZW4pO1xuICB9XG5cbiAgcHJpdmF0ZSBnZXRDb250ZXh0KCk6IEFYUFNlc3Npb25Db250ZXh0IHtcbiAgICByZXR1cm4gbmV3IEFYUFNlc3Npb25Db250ZXh0KHtcbiAgICAgIHVzZXI6IHRoaXMudXNlcixcbiAgICAgIHRlbmFudDogdGhpcy50ZW5hbnQsXG4gICAgICBhcHBsaWNhdGlvbjogdGhpcy5hcHBsaWNhdGlvbixcbiAgICB9KTtcbiAgfVxuXG5cbn1cbiJdfQ==
@@ -0,0 +1,29 @@
1
+ export class AXPSessionContext {
2
+ get user() {
3
+ return this._user;
4
+ }
5
+ get tenant() {
6
+ return this._tenant;
7
+ }
8
+ get application() {
9
+ return this._application;
10
+ }
11
+ constructor(context) {
12
+ this._user = null;
13
+ this._tenant = null;
14
+ this._application = null;
15
+ this._user = context.user;
16
+ this._tenant = context.tenant;
17
+ this._application = context.application;
18
+ }
19
+ }
20
+ export var AXPSessionStatus;
21
+ (function (AXPSessionStatus) {
22
+ AXPSessionStatus["Authenticated"] = "authenticated";
23
+ AXPSessionStatus["Unauthenticated"] = "unauthenticated";
24
+ AXPSessionStatus["Unauthorized"] = "unauthorized";
25
+ AXPSessionStatus["Authorized"] = "authorized";
26
+ AXPSessionStatus["Expired"] = "expired";
27
+ AXPSessionStatus["SignedOut"] = "signedOut";
28
+ })(AXPSessionStatus || (AXPSessionStatus = {}));
29
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2Vzc2lvbi50eXBlcy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvcGxhdGZvcm0vYXV0aC9zcmMvbGliL3Nlc3Npb24udHlwZXMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBSUEsTUFBTSxPQUFPLGlCQUFpQjtJQUcxQixJQUFXLElBQUk7UUFDWCxPQUFPLElBQUksQ0FBQyxLQUFLLENBQUM7SUFDdEIsQ0FBQztJQUdELElBQVcsTUFBTTtRQUNiLE9BQU8sSUFBSSxDQUFDLE9BQU8sQ0FBQztJQUN4QixDQUFDO0lBR0QsSUFBVyxXQUFXO1FBQ2xCLE9BQU8sSUFBSSxDQUFDLFlBQVksQ0FBQztJQUM3QixDQUFDO0lBRUQsWUFBWSxPQUlYO1FBbkJPLFVBQUssR0FBbUIsSUFBSSxDQUFDO1FBSzdCLFlBQU8sR0FBcUIsSUFBSSxDQUFDO1FBS2pDLGlCQUFZLEdBQTBCLElBQUksQ0FBQztRQVUvQyxJQUFJLENBQUMsS0FBSyxHQUFHLE9BQU8sQ0FBQyxJQUFJLENBQUM7UUFDMUIsSUFBSSxDQUFDLE9BQU8sR0FBRyxPQUFPLENBQUMsTUFBTSxDQUFDO1FBQzlCLElBQUksQ0FBQyxZQUFZLEdBQUcsT0FBTyxDQUFDLFdBQVcsQ0FBQztJQUM1QyxDQUFDO0NBQ0o7QUFHRCxNQUFNLENBQU4sSUFBWSxnQkFPWDtBQVBELFdBQVksZ0JBQWdCO0lBQ3hCLG1EQUErQixDQUFBO0lBQy9CLHVEQUFtQyxDQUFBO0lBQ25DLGlEQUE2QixDQUFBO0lBQzdCLDZDQUF5QixDQUFBO0lBQ3pCLHVDQUFtQixDQUFBO0lBQ25CLDJDQUF1QixDQUFBO0FBQzNCLENBQUMsRUFQVyxnQkFBZ0IsS0FBaEIsZ0JBQWdCLFFBTzNCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQVhQQXBwbGljYXRpb24gfSBmcm9tIFwiLi9hcHBsaWNhdGlvbi9hcHBsaWNhdGlvbi50eXBlc1wiO1xuaW1wb3J0IHsgQVhQVGVuYW50IH0gZnJvbSBcIi4vdGVuYW50L3RlbmFudC50eXBlc1wiO1xuaW1wb3J0IHsgQVhQVXNlciB9IGZyb20gXCIuL3VzZXIvdXNlci50eXBlc1wiO1xuXG5leHBvcnQgY2xhc3MgQVhQU2Vzc2lvbkNvbnRleHQge1xuXG4gICAgcHJpdmF0ZSBfdXNlcjogQVhQVXNlciB8IG51bGwgPSBudWxsO1xuICAgIHB1YmxpYyBnZXQgdXNlcigpOiBBWFBVc2VyIHwgbnVsbCB7XG4gICAgICAgIHJldHVybiB0aGlzLl91c2VyO1xuICAgIH1cblxuICAgIHByaXZhdGUgX3RlbmFudDogQVhQVGVuYW50IHwgbnVsbCA9IG51bGw7XG4gICAgcHVibGljIGdldCB0ZW5hbnQoKTogQVhQVGVuYW50IHwgbnVsbCB7XG4gICAgICAgIHJldHVybiB0aGlzLl90ZW5hbnQ7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBfYXBwbGljYXRpb246IEFYUEFwcGxpY2F0aW9uIHwgbnVsbCA9IG51bGw7XG4gICAgcHVibGljIGdldCBhcHBsaWNhdGlvbigpOiBBWFBBcHBsaWNhdGlvbiB8IG51bGwge1xuICAgICAgICByZXR1cm4gdGhpcy5fYXBwbGljYXRpb247XG4gICAgfVxuXG4gICAgY29uc3RydWN0b3IoY29udGV4dDoge1xuICAgICAgICB1c2VyOiBBWFBVc2VyIHwgbnVsbCxcbiAgICAgICAgdGVuYW50OiBBWFBUZW5hbnQgfCBudWxsLFxuICAgICAgICBhcHBsaWNhdGlvbjogQVhQQXBwbGljYXRpb24gfCBudWxsLFxuICAgIH0pIHtcbiAgICAgICAgdGhpcy5fdXNlciA9IGNvbnRleHQudXNlcjtcbiAgICAgICAgdGhpcy5fdGVuYW50ID0gY29udGV4dC50ZW5hbnQ7XG4gICAgICAgIHRoaXMuX2FwcGxpY2F0aW9uID0gY29udGV4dC5hcHBsaWNhdGlvbjtcbiAgICB9XG59XG5cblxuZXhwb3J0IGVudW0gQVhQU2Vzc2lvblN0YXR1cyB7XG4gICAgQXV0aGVudGljYXRlZCA9IFwiYXV0aGVudGljYXRlZFwiLFxuICAgIFVuYXV0aGVudGljYXRlZCA9IFwidW5hdXRoZW50aWNhdGVkXCIsXG4gICAgVW5hdXRob3JpemVkID0gXCJ1bmF1dGhvcml6ZWRcIixcbiAgICBBdXRob3JpemVkID0gXCJhdXRob3JpemVkXCIsXG4gICAgRXhwaXJlZCA9IFwiZXhwaXJlZFwiLFxuICAgIFNpZ25lZE91dCA9IFwic2lnbmVkT3V0XCJcbn0iXX0=
@@ -7,7 +7,7 @@ export const AXP_TENANT_LOADER = new InjectionToken('AXP_TENANT_LOADER', {
7
7
  },
8
8
  });
9
9
  class AXPTenantDefaultLoader {
10
- getList() {
10
+ getList(context) {
11
11
  return of([
12
12
  {
13
13
  id: '1',
@@ -16,8 +16,5 @@ class AXPTenantDefaultLoader {
16
16
  },
17
17
  ]);
18
18
  }
19
- set(tenant) {
20
- throw new Error('Method not implemented.');
21
- }
22
19
  }
23
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGVuYW50LmxvYWRlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvcGxhdGZvcm0vYXV0aC9zcmMvbGliL3RlbmFudC90ZW5hbnQubG9hZGVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDL0MsT0FBTyxFQUFjLEVBQUUsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQVN0QyxNQUFNLENBQUMsTUFBTSxpQkFBaUIsR0FBRyxJQUFJLGNBQWMsQ0FBa0IsbUJBQW1CLEVBQUU7SUFDeEYsVUFBVSxFQUFFLE1BQU07SUFDbEIsT0FBTyxFQUFFLEdBQUcsRUFBRTtRQUNaLE9BQU8sSUFBSSxzQkFBc0IsRUFBRSxDQUFDO0lBQ3RDLENBQUM7Q0FDRixDQUFDLENBQUM7QUFFSCxNQUFNLHNCQUFzQjtJQUMxQixPQUFPO1FBQ0wsT0FBTyxFQUFFLENBQUM7WUFDUjtnQkFDRSxFQUFFLEVBQUUsR0FBRztnQkFDUCxJQUFJLEVBQUUsZ0JBQWdCO2dCQUN0QixLQUFLLEVBQUUsZ0JBQWdCO2FBQ3hCO1NBQ0YsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztJQUVELEdBQUcsQ0FBQyxNQUFpQjtRQUNuQixNQUFNLElBQUksS0FBSyxDQUFDLHlCQUF5QixDQUFDLENBQUM7SUFDN0MsQ0FBQztDQUNGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0aW9uVG9rZW4gfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IE9ic2VydmFibGUsIG9mIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBBWFBUb2tlbnMgfSBmcm9tICcuLi9hdXRoLnN0cmF0ZWd5JztcbmltcG9ydCB7IEFYUFRlbmFudCB9IGZyb20gJy4vdGVuYW50LnR5cGVzJztcblxuZXhwb3J0IGludGVyZmFjZSBBWFBUZW5hbnRMb2FkZXIge1xuICBnZXRMaXN0KCk6IE9ic2VydmFibGU8QVhQVGVuYW50W10+O1xuICBzZXQodGVuYW50OiBBWFBUZW5hbnQpOiBPYnNlcnZhYmxlPEFYUFRva2Vucz47XG59XG5cbmV4cG9ydCBjb25zdCBBWFBfVEVOQU5UX0xPQURFUiA9IG5ldyBJbmplY3Rpb25Ub2tlbjxBWFBUZW5hbnRMb2FkZXI+KCdBWFBfVEVOQU5UX0xPQURFUicsIHtcbiAgcHJvdmlkZWRJbjogJ3Jvb3QnLFxuICBmYWN0b3J5OiAoKSA9PiB7XG4gICAgcmV0dXJuIG5ldyBBWFBUZW5hbnREZWZhdWx0TG9hZGVyKCk7XG4gIH0sXG59KTtcblxuY2xhc3MgQVhQVGVuYW50RGVmYXVsdExvYWRlciBpbXBsZW1lbnRzIEFYUFRlbmFudExvYWRlciB7XG4gIGdldExpc3QoKTogT2JzZXJ2YWJsZTxBWFBUZW5hbnRbXT4ge1xuICAgIHJldHVybiBvZihbXG4gICAgICB7XG4gICAgICAgIGlkOiAnMScsXG4gICAgICAgIG5hbWU6ICdkZWZhdWx0LXRlbmFudCcsXG4gICAgICAgIHRpdGxlOiAnRGVmYXVsdCBUZW5hbnQnLFxuICAgICAgfSxcbiAgICBdKTtcbiAgfVxuXG4gIHNldCh0ZW5hbnQ6IEFYUFRlbmFudCk6IE9ic2VydmFibGU8QVhQVG9rZW5zPiB7XG4gICAgdGhyb3cgbmV3IEVycm9yKCdNZXRob2Qgbm90IGltcGxlbWVudGVkLicpO1xuICB9XG59XG4iXX0=
20
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGVuYW50LmxvYWRlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvcGxhdGZvcm0vYXV0aC9zcmMvbGliL3RlbmFudC90ZW5hbnQubG9hZGVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDL0MsT0FBTyxFQUFjLEVBQUUsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQVF0QyxNQUFNLENBQUMsTUFBTSxpQkFBaUIsR0FBRyxJQUFJLGNBQWMsQ0FBa0IsbUJBQW1CLEVBQUU7SUFDeEYsVUFBVSxFQUFFLE1BQU07SUFDbEIsT0FBTyxFQUFFLEdBQUcsRUFBRTtRQUNaLE9BQU8sSUFBSSxzQkFBc0IsRUFBRSxDQUFDO0lBQ3RDLENBQUM7Q0FDRixDQUFDLENBQUM7QUFFSCxNQUFNLHNCQUFzQjtJQUMxQixPQUFPLENBQUMsT0FBMEI7UUFDaEMsT0FBTyxFQUFFLENBQUM7WUFDUjtnQkFDRSxFQUFFLEVBQUUsR0FBRztnQkFDUCxJQUFJLEVBQUUsZ0JBQWdCO2dCQUN0QixLQUFLLEVBQUUsZ0JBQWdCO2FBQ3hCO1NBQ0YsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztDQUNGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0aW9uVG9rZW4gfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IE9ic2VydmFibGUsIG9mIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBBWFBUZW5hbnQgfSBmcm9tICcuL3RlbmFudC50eXBlcyc7XG5pbXBvcnQgeyBBWFBTZXNzaW9uQ29udGV4dCB9IGZyb20gJy4uL3Nlc3Npb24udHlwZXMnO1xuXG5leHBvcnQgaW50ZXJmYWNlIEFYUFRlbmFudExvYWRlciB7XG4gIGdldExpc3QoY29udGV4dDogQVhQU2Vzc2lvbkNvbnRleHQpOiBPYnNlcnZhYmxlPEFYUFRlbmFudFtdPjtcbn1cblxuZXhwb3J0IGNvbnN0IEFYUF9URU5BTlRfTE9BREVSID0gbmV3IEluamVjdGlvblRva2VuPEFYUFRlbmFudExvYWRlcj4oJ0FYUF9URU5BTlRfTE9BREVSJywge1xuICBwcm92aWRlZEluOiAncm9vdCcsXG4gIGZhY3Rvcnk6ICgpID0+IHtcbiAgICByZXR1cm4gbmV3IEFYUFRlbmFudERlZmF1bHRMb2FkZXIoKTtcbiAgfSxcbn0pO1xuXG5jbGFzcyBBWFBUZW5hbnREZWZhdWx0TG9hZGVyIGltcGxlbWVudHMgQVhQVGVuYW50TG9hZGVyIHtcbiAgZ2V0TGlzdChjb250ZXh0OiBBWFBTZXNzaW9uQ29udGV4dCk6IE9ic2VydmFibGU8QVhQVGVuYW50W10+IHtcbiAgICByZXR1cm4gb2YoW1xuICAgICAge1xuICAgICAgICBpZDogJzEnLFxuICAgICAgICBuYW1lOiAnZGVmYXVsdC10ZW5hbnQnLFxuICAgICAgICB0aXRsZTogJ0RlZmF1bHQgVGVuYW50JyxcbiAgICAgIH0sXG4gICAgXSk7XG4gIH1cbn1cbiJdfQ==
@@ -8,5 +8,4 @@ export * from './lib/shared/logo.types';
8
8
  export * from './lib/shared/state-persistence';
9
9
  export * from './lib/store';
10
10
  export * from './lib/utils';
11
- export * from './lib/layout/component-slot';
12
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9saWJzL3BsYXRmb3JtL2NvbW1vbi9zcmMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsY0FBYyxxQkFBcUIsQ0FBQztBQUNwQyxjQUFjLDBCQUEwQixDQUFDO0FBQ3pDLGNBQWMsWUFBWSxDQUFDO0FBQzNCLGNBQWMsY0FBYyxDQUFDO0FBQzdCLGNBQWMsWUFBWSxDQUFDO0FBQzNCLGNBQWMsZ0JBQWdCLENBQUM7QUFDL0IsY0FBYyx5QkFBeUIsQ0FBQztBQUN4QyxjQUFjLGdDQUFnQyxDQUFDO0FBQy9DLGNBQWMsYUFBYSxDQUFDO0FBQzVCLGNBQWMsYUFBYSxDQUFDO0FBQzVCLGNBQWMsNkJBQTZCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tICcuL2xpYi9jb21tb24ubW9kdWxlJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2NvbmZpZ3MvYXBwLmNvbmZpZyc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9kYXRhJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2Vycm9ycyc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9tZW51JztcbmV4cG9ydCAqIGZyb20gJy4vbGliL3NldHRpbmdzJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL3NoYXJlZC9sb2dvLnR5cGVzJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL3NoYXJlZC9zdGF0ZS1wZXJzaXN0ZW5jZSc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9zdG9yZSc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi91dGlscyc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9sYXlvdXQvY29tcG9uZW50LXNsb3QnO1xuIl19
11
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9saWJzL3BsYXRmb3JtL2NvbW1vbi9zcmMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsY0FBYyxxQkFBcUIsQ0FBQztBQUNwQyxjQUFjLDBCQUEwQixDQUFDO0FBQ3pDLGNBQWMsWUFBWSxDQUFDO0FBQzNCLGNBQWMsY0FBYyxDQUFDO0FBQzdCLGNBQWMsWUFBWSxDQUFDO0FBQzNCLGNBQWMsZ0JBQWdCLENBQUM7QUFDL0IsY0FBYyx5QkFBeUIsQ0FBQztBQUN4QyxjQUFjLGdDQUFnQyxDQUFDO0FBQy9DLGNBQWMsYUFBYSxDQUFDO0FBQzVCLGNBQWMsYUFBYSxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSAnLi9saWIvY29tbW9uLm1vZHVsZSc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9jb25maWdzL2FwcC5jb25maWcnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvZGF0YSc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9lcnJvcnMnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvbWVudSc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9zZXR0aW5ncyc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9zaGFyZWQvbG9nby50eXBlcyc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9zaGFyZWQvc3RhdGUtcGVyc2lzdGVuY2UnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvc3RvcmUnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvdXRpbHMnO1xuIl19