@acorex/platform 18.0.5 → 18.0.7

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 (635) hide show
  1. package/README.md +7 -7
  2. package/auth/README.md +3 -3
  3. package/auth/lib/auth.strategy.d.ts +1 -1
  4. package/auth/lib/session.service.d.ts +0 -1
  5. package/common/README.md +3 -3
  6. package/common/lib/app/application.types.d.ts +10 -6
  7. package/common/lib/data/data-provider.types.d.ts +1 -1
  8. package/common/lib/schema/entity/entity.class.d.ts +1 -0
  9. package/common/lib/schema/widgets/lookup/lookup-widget-column.component.d.ts +1 -1
  10. package/common/lib/schema/widgets/lookup/lookup-widget-edit.component.d.ts +3 -1
  11. package/common/lib/schema/widgets/phone/phone-widget-edit.component.d.ts +3 -1
  12. package/esm2022/auth/index.mjs +1 -1
  13. package/esm2022/auth/lib/application/application.loader.mjs +1 -1
  14. package/esm2022/auth/lib/application/application.types.mjs +1 -1
  15. package/esm2022/auth/lib/auth-registry.service.mjs +1 -1
  16. package/esm2022/auth/lib/auth.guard.mjs +4 -4
  17. package/esm2022/auth/lib/auth.module.mjs +1 -1
  18. package/esm2022/auth/lib/auth.strategy.mjs +1 -1
  19. package/esm2022/auth/lib/errors.types.mjs +1 -1
  20. package/esm2022/auth/lib/feature/feature.directive.mjs +1 -1
  21. package/esm2022/auth/lib/feature/feature.guard.mjs +1 -1
  22. package/esm2022/auth/lib/feature/feature.loader.mjs +1 -1
  23. package/esm2022/auth/lib/feature/feature.types.mjs +1 -1
  24. package/esm2022/auth/lib/feature/index.mjs +1 -1
  25. package/esm2022/auth/lib/permission/index.mjs +1 -1
  26. package/esm2022/auth/lib/permission/permission.directive.mjs +1 -1
  27. package/esm2022/auth/lib/permission/permission.guard.mjs +1 -1
  28. package/esm2022/auth/lib/permission/permission.loader.mjs +1 -1
  29. package/esm2022/auth/lib/permission/permission.types.mjs +1 -1
  30. package/esm2022/auth/lib/session.service.mjs +14 -15
  31. package/esm2022/auth/lib/session.types.mjs +1 -1
  32. package/esm2022/auth/lib/tenant/tenant.loader.mjs +1 -1
  33. package/esm2022/auth/lib/tenant/tenant.types.mjs +1 -1
  34. package/esm2022/auth/lib/user/user.types.mjs +1 -1
  35. package/esm2022/common/index.mjs +1 -1
  36. package/esm2022/common/lib/app/application.types.mjs +5 -1
  37. package/esm2022/common/lib/app/index.mjs +1 -1
  38. package/esm2022/common/lib/app/operators.mjs +1 -1
  39. package/esm2022/common/lib/common.module.mjs +1 -1
  40. package/esm2022/common/lib/configs/app.config.mjs +1 -1
  41. package/esm2022/common/lib/configs/config.types.mjs +1 -1
  42. package/esm2022/common/lib/data/data-provider.types.mjs +1 -1
  43. package/esm2022/common/lib/data/dexie-storage.service.mjs +1 -1
  44. package/esm2022/common/lib/data/entity-data-provider.mjs +1 -1
  45. package/esm2022/common/lib/data/index.mjs +1 -1
  46. package/esm2022/common/lib/data/storage-service.mjs +1 -1
  47. package/esm2022/common/lib/errors/error-handler-registry.service.mjs +1 -1
  48. package/esm2022/common/lib/errors/error-handler.types.mjs +1 -1
  49. package/esm2022/common/lib/errors/global-error-handler.mjs +1 -1
  50. package/esm2022/common/lib/errors/index.mjs +1 -1
  51. package/esm2022/common/lib/layout/beardcrumb.type.mjs +1 -1
  52. package/esm2022/common/lib/layout/component-slot/component-slot-loader.service.mjs +1 -1
  53. package/esm2022/common/lib/layout/component-slot/component-slot-registery.service.mjs +1 -1
  54. package/esm2022/common/lib/layout/component-slot/component-slot.directive.mjs +1 -1
  55. package/esm2022/common/lib/layout/component-slot/component-slot.module.mjs +1 -1
  56. package/esm2022/common/lib/layout/component-slot/component-slot.types.mjs +1 -1
  57. package/esm2022/common/lib/layout/component-slot/index.mjs +1 -1
  58. package/esm2022/common/lib/layout/grid-layout/grid-layout.directive.mjs +1 -1
  59. package/esm2022/common/lib/layout/grid-layout/grid-layout.types.mjs +1 -1
  60. package/esm2022/common/lib/layout/grid-layout/index.mjs +1 -1
  61. package/esm2022/common/lib/layout/index.mjs +1 -1
  62. package/esm2022/common/lib/layout/layout.service.mjs +1 -1
  63. package/esm2022/common/lib/layout/logo/index.mjs +1 -1
  64. package/esm2022/common/lib/layout/logo/logo.component.mjs +3 -3
  65. package/esm2022/common/lib/layout/logo/logo.types.mjs +1 -1
  66. package/esm2022/common/lib/layout/menu/index.mjs +1 -1
  67. package/esm2022/common/lib/layout/menu/menu.loader.mjs +1 -1
  68. package/esm2022/common/lib/layout/menu/menu.types.mjs +1 -1
  69. package/esm2022/common/lib/layout/sticky.directive.mjs +1 -1
  70. package/esm2022/common/lib/layout/theme/components/slots/footer-text-slot.component.mjs +5 -5
  71. package/esm2022/common/lib/layout/theme/components/slots/index.mjs +1 -1
  72. package/esm2022/common/lib/layout/theme/components/slots/navbar-slot.component.mjs +9 -9
  73. package/esm2022/common/lib/layout/theme/components/slots/theme-slot.component.mjs +16 -16
  74. package/esm2022/common/lib/layout/theme/store/admin-layout.actions.mjs +1 -1
  75. package/esm2022/common/lib/layout/theme/store/admin-layout.effects.mjs +1 -1
  76. package/esm2022/common/lib/layout/theme/store/admin-layout.reducers.mjs +1 -1
  77. package/esm2022/common/lib/layout/theme/store/admin-layout.selectors.mjs +1 -1
  78. package/esm2022/common/lib/layout/theme/store/admin-layout.state.mjs +1 -1
  79. package/esm2022/common/lib/layout/theme/store/index.mjs +1 -1
  80. package/esm2022/common/lib/schema/component-loader.mjs +1 -1
  81. package/esm2022/common/lib/schema/entity/entity-registery.service.mjs +1 -1
  82. package/esm2022/common/lib/schema/entity/entity.class.mjs +1 -1
  83. package/esm2022/common/lib/schema/entity/entity.loader.mjs +1 -1
  84. package/esm2022/common/lib/schema/entity/index.mjs +1 -1
  85. package/esm2022/common/lib/schema/formats.mjs +1 -1
  86. package/esm2022/common/lib/schema/index.mjs +1 -1
  87. package/esm2022/common/lib/schema/schema-registery.service.mjs +1 -1
  88. package/esm2022/common/lib/schema/schema.module.mjs +1 -1
  89. package/esm2022/common/lib/schema/schema.types.mjs +1 -1
  90. package/esm2022/common/lib/schema/widget/index.mjs +1 -1
  91. package/esm2022/common/lib/schema/widget/widget-base.mjs +1 -1
  92. package/esm2022/common/lib/schema/widget/widget-column-renderer.mjs +17 -17
  93. package/esm2022/common/lib/schema/widget/widget-filter-renderer.mjs +13 -13
  94. package/esm2022/common/lib/schema/widget/widget-renderer.mjs +13 -13
  95. package/esm2022/common/lib/schema/widget/widget-token.mjs +1 -1
  96. package/esm2022/common/lib/schema/widgets/avatar/avatar-widget-edit.component.mjs +68 -68
  97. package/esm2022/common/lib/schema/widgets/avatar/avatar-widget-view.component.mjs +16 -16
  98. package/esm2022/common/lib/schema/widgets/checkbox/checkbox-widget-column.component.mjs +31 -31
  99. package/esm2022/common/lib/schema/widgets/checkbox/checkbox-widget-edit.component.mjs +1 -1
  100. package/esm2022/common/lib/schema/widgets/checkbox/checkbox-widget-view.component.mjs +25 -25
  101. package/esm2022/common/lib/schema/widgets/common-widget-filter/boolean-widget-filter.component.mjs +76 -76
  102. package/esm2022/common/lib/schema/widgets/common-widget-filter/number-widget-filter.component.mjs +86 -86
  103. package/esm2022/common/lib/schema/widgets/common-widget-filter/string-widget-filter.component.mjs +68 -68
  104. package/esm2022/common/lib/schema/widgets/common-widgets.module.mjs +1 -1
  105. package/esm2022/common/lib/schema/widgets/dateTime/dateTime-widget-column.component.mjs +1 -1
  106. package/esm2022/common/lib/schema/widgets/dateTime/dateTime-widget-edit.component.mjs +100 -100
  107. package/esm2022/common/lib/schema/widgets/dateTime/dateTime-widget-filter.component.mjs +60 -60
  108. package/esm2022/common/lib/schema/widgets/dateTime/dateTime-widget-view.component.mjs +21 -21
  109. package/esm2022/common/lib/schema/widgets/email/email-widget-column.component.mjs +23 -23
  110. package/esm2022/common/lib/schema/widgets/email/email-widget-edit.component.mjs +134 -134
  111. package/esm2022/common/lib/schema/widgets/email/email-widget-view.component.mjs +65 -65
  112. package/esm2022/common/lib/schema/widgets/file/file-widget-column.component.mjs +1 -1
  113. package/esm2022/common/lib/schema/widgets/file/file-widget-edit.component.mjs +116 -116
  114. package/esm2022/common/lib/schema/widgets/file/file-widget-filter.component.mjs +6 -6
  115. package/esm2022/common/lib/schema/widgets/file/file-widget-view.component.mjs +70 -70
  116. package/esm2022/common/lib/schema/widgets/gallery/gallery-widget-edit.component.mjs +125 -125
  117. package/esm2022/common/lib/schema/widgets/gallery/gallery-widget-filter.component.mjs +6 -6
  118. package/esm2022/common/lib/schema/widgets/gallery/gallery-widget-types.mjs +1 -1
  119. package/esm2022/common/lib/schema/widgets/gallery/gallery-widget-view.component.mjs +109 -109
  120. package/esm2022/common/lib/schema/widgets/index.mjs +1 -1
  121. package/esm2022/common/lib/schema/widgets/lookup/lookup-widget-column.component.mjs +3 -3
  122. package/esm2022/common/lib/schema/widgets/lookup/lookup-widget-edit.component.mjs +48 -44
  123. package/esm2022/common/lib/schema/widgets/lookup/lookup-widget-filter.component.mjs +66 -66
  124. package/esm2022/common/lib/schema/widgets/lookup/lookup-widget-view.component.mjs +1 -1
  125. package/esm2022/common/lib/schema/widgets/map/map-widget-edit.component.mjs +5 -5
  126. package/esm2022/common/lib/schema/widgets/map/map-widget-view.component.mjs +5 -5
  127. package/esm2022/common/lib/schema/widgets/messenger/messenger-widget-column.component.mjs +23 -23
  128. package/esm2022/common/lib/schema/widgets/messenger/messenger-widget-edit.component.mjs +88 -88
  129. package/esm2022/common/lib/schema/widgets/messenger/messenger-widget-view.component.mjs +67 -67
  130. package/esm2022/common/lib/schema/widgets/number/number-widget-edit.component.mjs +15 -15
  131. package/esm2022/common/lib/schema/widgets/number/number-widget-view.component.mjs +1 -1
  132. package/esm2022/common/lib/schema/widgets/password/change-password.component.mjs +100 -100
  133. package/esm2022/common/lib/schema/widgets/password/password-widget-column.component.mjs +37 -37
  134. package/esm2022/common/lib/schema/widgets/password/password-widget-edit.component.mjs +15 -15
  135. package/esm2022/common/lib/schema/widgets/password/password-widget-view.component.mjs +58 -58
  136. package/esm2022/common/lib/schema/widgets/phone/phone-widget-column.component.mjs +41 -41
  137. package/esm2022/common/lib/schema/widgets/phone/phone-widget-edit.component.mjs +146 -142
  138. package/esm2022/common/lib/schema/widgets/phone/phone-widget-view.component.mjs +69 -69
  139. package/esm2022/common/lib/schema/widgets/rich-text/rich-text-widget-column.component.mjs +23 -23
  140. package/esm2022/common/lib/schema/widgets/rich-text/rich-text-widget-edit.component.mjs +9 -9
  141. package/esm2022/common/lib/schema/widgets/rich-text/rich-text-widget-view.component.mjs +9 -9
  142. package/esm2022/common/lib/schema/widgets/selection-list/selection-list-widget-column.component.mjs +17 -17
  143. package/esm2022/common/lib/schema/widgets/selection-list/selection-list-widget-edit.component.mjs +29 -29
  144. package/esm2022/common/lib/schema/widgets/selection-list/selection-list-widget-filter.component.mjs +20 -20
  145. package/esm2022/common/lib/schema/widgets/selection-list/selection-list-widget-view.component.mjs +9 -9
  146. package/esm2022/common/lib/schema/widgets/signature-pad/signature-pad-widget-edit.component.mjs +56 -56
  147. package/esm2022/common/lib/schema/widgets/signature-pad/signature-pad-widget-view.component.mjs +17 -17
  148. package/esm2022/common/lib/schema/widgets/text/largetext-widget-edit.component.mjs +13 -13
  149. package/esm2022/common/lib/schema/widgets/text/text-widget-column.component.mjs +1 -1
  150. package/esm2022/common/lib/schema/widgets/text/text-widget-edit.component.mjs +88 -88
  151. package/esm2022/common/lib/schema/widgets/text/text-widget-view.component.mjs +21 -21
  152. package/esm2022/common/lib/schema/widgets/toggle/toggle-widget-column.component.mjs +33 -33
  153. package/esm2022/common/lib/schema/widgets/toggle/toggle-widget-edit.component.mjs +1 -1
  154. package/esm2022/common/lib/schema/widgets/toggle/toggle-widget-view.component.mjs +25 -25
  155. package/esm2022/common/lib/settings/index.mjs +1 -1
  156. package/esm2022/common/lib/settings/settings.loader.mjs +1 -1
  157. package/esm2022/common/lib/settings/settings.service.mjs +1 -1
  158. package/esm2022/common/lib/settings/settings.types.mjs +1 -1
  159. package/esm2022/common/lib/store/common.actions.mjs +1 -1
  160. package/esm2022/common/lib/store/common.effects.mjs +1 -1
  161. package/esm2022/common/lib/store/index.mjs +1 -1
  162. package/esm2022/common/lib/utils/clipboard-service.mjs +1 -1
  163. package/esm2022/common/lib/utils/data-generator.mjs +1 -1
  164. package/esm2022/common/lib/utils/index.mjs +1 -1
  165. package/esm2022/common/lib/utils/pdf.service.mjs +1 -1
  166. package/esm2022/common/lib/utils/router-util.service.mjs +1 -1
  167. package/esm2022/common/lib/workflows/common.workflow.mjs +1 -1
  168. package/esm2022/common/lib/workflows/error-handler.mjs +1 -1
  169. package/esm2022/common/lib/workflows/index.mjs +1 -1
  170. package/esm2022/index.mjs +1 -1
  171. package/esm2022/layout/builder/index.mjs +1 -1
  172. package/esm2022/layout/builder/lib/builder/builder.module.mjs +1 -1
  173. package/esm2022/layout/builder/lib/builder/builder.service.mjs +1 -1
  174. package/esm2022/layout/builder/lib/builder/index.mjs +1 -1
  175. package/esm2022/layout/builder/lib/builder/layout.types.mjs +1 -1
  176. package/esm2022/layout/builder/lib/builder/widget-column-renderer.mjs +17 -17
  177. package/esm2022/layout/builder/lib/builder/widget-container.component.mjs +1 -1
  178. package/esm2022/layout/builder/lib/builder/widget-registery.service.mjs +1 -1
  179. package/esm2022/layout/builder/lib/builder/widget-renderer.component.mjs +19 -19
  180. package/esm2022/layout/builder/lib/builder/widget.types.mjs +1 -1
  181. package/esm2022/layout/entity/lib/entity-detail-list.viewmodel.mjs +28 -13
  182. package/esm2022/layout/entity/lib/entity-master-create.viewmodel.mjs +1 -1
  183. package/esm2022/layout/entity/lib/entity-master-list.viewmodel.mjs +64 -57
  184. package/esm2022/layout/entity/lib/entity-master-single.viewmodel.mjs +4 -8
  185. package/esm2022/layout/entity/lib/entity-master-update.viewmodel.mjs +1 -1
  186. package/esm2022/layout/entity/lib/entity-registery.service.mjs +1 -1
  187. package/esm2022/layout/entity/lib/entity.config.mjs +1 -1
  188. package/esm2022/layout/entity/lib/entity.module.mjs +16 -19
  189. package/esm2022/layout/entity/lib/entity.viewmodel.mjs +1 -1
  190. package/esm2022/layout/entity/lib/index.mjs +1 -1
  191. package/esm2022/layout/entity/lib/widgets/lookup-widget/lookup-widget-edit.component.mjs +81 -72
  192. package/esm2022/layout/entity/lib/widgets/lookup-widget/lookup-widget-selector.component.mjs +105 -83
  193. package/esm2022/layout/entity/lib/widgets/lookup-widget/lookup-widget-selector.viewmodel.mjs +1 -1
  194. package/esm2022/layout/entity/lib/workflows/create-entity.workflow.mjs +11 -8
  195. package/esm2022/layout/entity/lib/workflows/delete-entity.workflow.mjs +3 -3
  196. package/esm2022/layout/entity/lib/workflows/modify-section.workflow.mjs +1 -1
  197. package/esm2022/layout/entity/lib/workflows/show-details.workflow.mjs +1 -2
  198. package/esm2022/layout/entity/lib/workflows/show-list.workflow.mjs +1 -1
  199. package/esm2022/layouts/index.mjs +1 -1
  200. package/esm2022/layouts/lib/admin/admin.module.mjs +9 -2
  201. package/esm2022/layouts/lib/admin/admin.routes.mjs +1 -1
  202. package/esm2022/layouts/lib/admin/custom-reuse.strategy.mjs +1 -1
  203. package/esm2022/layouts/lib/admin/entity-layout/entity-create-view/entity-create-view.component.mjs +6 -3
  204. package/esm2022/layouts/lib/admin/entity-layout/entity-create-view/entity-create-view.config.mjs +1 -1
  205. package/esm2022/layouts/lib/admin/entity-layout/entity-details-view/detail-view.config.mjs +1 -1
  206. package/esm2022/layouts/lib/admin/entity-layout/entity-details-view/entity-details-view.component.mjs +7 -5
  207. package/esm2022/layouts/lib/admin/entity-layout/entity-details-view/index.mjs +1 -1
  208. package/esm2022/layouts/lib/admin/entity-layout/entity-import-view/entity-import-view.component.mjs +91 -0
  209. package/esm2022/layouts/lib/admin/entity-layout/entity-list-view/components/entity-custom-view/entity-custom-view.component.mjs +4 -3
  210. package/esm2022/layouts/lib/admin/entity-layout/entity-list-view/components/index.mjs +1 -1
  211. package/esm2022/layouts/lib/admin/entity-layout/entity-list-view/components/list-view-option-columns/list-view-option-columns.component.mjs +4 -3
  212. package/esm2022/layouts/lib/admin/entity-layout/entity-list-view/components/list-view-option-conditions/list-view-option-conditions.component.mjs +4 -3
  213. package/esm2022/layouts/lib/admin/entity-layout/entity-list-view/components/list-view-option-conditions/list-view-option-filter-operator.component.mjs +20 -20
  214. package/esm2022/layouts/lib/admin/entity-layout/entity-list-view/components/list-view-option-sorting/list-view-option-sorting.component.mjs +4 -3
  215. package/esm2022/layouts/lib/admin/entity-layout/entity-list-view/entity-list-view.component.mjs +18 -6
  216. package/esm2022/layouts/lib/admin/entity-layout/entity-list-view/index.mjs +1 -1
  217. package/esm2022/layouts/lib/admin/entity-layout/entity-list-view/list-view.config.mjs +1 -1
  218. package/esm2022/layouts/lib/admin/entity-layout/entity-list-view/list-view.module.mjs +9 -5
  219. package/esm2022/layouts/lib/admin/entity-layout/entity-modify-view/entity-modify-view.component.mjs +6 -3
  220. package/esm2022/layouts/lib/admin/entity-layout/entity-modify-view/entity-modify-view.config.mjs +1 -1
  221. package/esm2022/layouts/lib/admin/entity-layout/entity-quick-view/entity-quick-view.component.mjs +3 -3
  222. package/esm2022/layouts/lib/admin/entity-layout/index.mjs +1 -1
  223. package/esm2022/layouts/lib/admin/entity-layout/workflows/create-entity.workflow.mjs +5 -3
  224. package/esm2022/layouts/lib/admin/entity-layout/workflows/delete-entity.workflow.mjs +1 -1
  225. package/esm2022/layouts/lib/admin/entity-layout/workflows/import-entity.workflow.mjs +77 -0
  226. package/esm2022/layouts/lib/admin/entity-layout/workflows/index.mjs +1 -1
  227. package/esm2022/layouts/lib/admin/entity-layout/workflows/modify-entity.workflow.mjs +1 -1
  228. package/esm2022/layouts/lib/admin/entity-layout/workflows/modify-section.workflow.mjs +1 -1
  229. package/esm2022/layouts/lib/admin/entity-layout/workflows/show-details.workflow.mjs +1 -1
  230. package/esm2022/layouts/lib/admin/entity-layout/workflows/show-list.workflow.mjs +1 -1
  231. package/esm2022/layouts/lib/admin/entity-layout/workflows/show-quick-view.workflow.mjs +1 -1
  232. package/esm2022/layouts/lib/admin/entity.resolver.mjs +1 -1
  233. package/esm2022/layouts/lib/admin/index.mjs +1 -1
  234. package/esm2022/layouts/lib/layout.module.mjs +1 -1
  235. package/esm2022/mocks/index.mjs +1 -1
  236. package/esm2022/mocks/lib/mocks.module.mjs +1 -1
  237. package/esm2022/mocks/lib/services/mocker.service.mjs +1 -1
  238. package/esm2022/mocks/lib/storage/storage.mock.service.mjs +1 -1
  239. package/esm2022/native/index.mjs +1 -1
  240. package/esm2022/native/lib/native.service.mjs +1 -1
  241. package/esm2022/themes/default/index.mjs +1 -1
  242. package/esm2022/themes/default/lib/default.module.mjs +1 -1
  243. package/esm2022/themes/default/lib/entity-reuse.strategy.mjs +1 -1
  244. package/esm2022/themes/default/lib/layout.routes.mjs +1 -1
  245. package/esm2022/themes/default/lib/layouts/entity-layouts/entity-detail-list-view/entity-detail-list-view.component.mjs +14 -21
  246. package/esm2022/themes/default/lib/layouts/entity-layouts/entity-master-create-view/entity-master-create-view.component.mjs +8 -5
  247. package/esm2022/themes/default/lib/layouts/entity-layouts/entity-master-list-view/entity-master-list-view.component.mjs +38 -29
  248. package/esm2022/themes/default/lib/layouts/entity-layouts/entity-master-list-view/list-view-option-columns/list-view-option-columns.component.mjs +17 -13
  249. package/esm2022/themes/default/lib/layouts/entity-layouts/entity-master-list-view/list-view-option-sorting/list-view-option-sorting.component.mjs +13 -9
  250. package/esm2022/themes/default/lib/layouts/entity-layouts/entity-master-modify-view/entity-master-modify-view.component.mjs +8 -5
  251. package/esm2022/themes/default/lib/layouts/entity-layouts/entity-master-single-view/entity-master-single-view.component.mjs +10 -7
  252. package/esm2022/themes/default/lib/layouts/root-layout/components/footer/footer.component.mjs +3 -3
  253. package/esm2022/themes/default/lib/layouts/root-layout/components/header/header.component.mjs +3 -3
  254. package/esm2022/themes/default/lib/layouts/root-layout/index.mjs +1 -1
  255. package/esm2022/themes/default/lib/layouts/root-layout/root-layout.component.mjs +3 -3
  256. package/esm2022/themes/default/lib/layouts/root-layout/root-layout.module.mjs +1 -1
  257. package/esm2022/themes/default/lib/pages/errors/error-401/error-401.component.mjs +3 -3
  258. package/esm2022/themes/default/lib/pages/errors/error-404/error-404.component.mjs +3 -3
  259. package/esm2022/themes/default/lib/pages/errors/error-offline/error-offline.component.mjs +3 -3
  260. package/esm2022/widgets/index.mjs +1 -1
  261. package/esm2022/widgets/lib/editors/checkbox/checkbox-widget-column.component.mjs +25 -25
  262. package/esm2022/widgets/lib/editors/checkbox/checkbox-widget-edit.component.mjs +9 -9
  263. package/esm2022/widgets/lib/editors/checkbox/checkbox-widget-view.component.mjs +29 -29
  264. package/esm2022/widgets/lib/editors/checkbox/checkbox-widget.config.mjs +1 -1
  265. package/esm2022/widgets/lib/editors/checkbox/index.mjs +1 -1
  266. package/esm2022/widgets/lib/editors/date-time-box-widget/date-time-box-widget-column.component.mjs +1 -1
  267. package/esm2022/widgets/lib/editors/date-time-box-widget/date-time-box-widget-designer.component.mjs +1 -1
  268. package/esm2022/widgets/lib/editors/date-time-box-widget/date-time-box-widget-edit.component.mjs +54 -54
  269. package/esm2022/widgets/lib/editors/date-time-box-widget/date-time-box-widget-filter.component.mjs +1 -1
  270. package/esm2022/widgets/lib/editors/date-time-box-widget/date-time-box-widget-print.component.mjs +1 -1
  271. package/esm2022/widgets/lib/editors/date-time-box-widget/date-time-box-widget-view.component.mjs +17 -17
  272. package/esm2022/widgets/lib/editors/date-time-box-widget/date-time-box-widget.config.mjs +1 -1
  273. package/esm2022/widgets/lib/editors/date-time-box-widget/index.mjs +1 -1
  274. package/esm2022/widgets/lib/editors/email-box-widget/email-box-widget-column.component.mjs +21 -21
  275. package/esm2022/widgets/lib/editors/email-box-widget/email-box-widget-designer.component.mjs +1 -1
  276. package/esm2022/widgets/lib/editors/email-box-widget/email-box-widget-edit.component.mjs +142 -142
  277. package/esm2022/widgets/lib/editors/email-box-widget/email-box-widget-filter.component.mjs +1 -1
  278. package/esm2022/widgets/lib/editors/email-box-widget/email-box-widget-print.component.mjs +1 -1
  279. package/esm2022/widgets/lib/editors/email-box-widget/email-box-widget-view.component.mjs +69 -69
  280. package/esm2022/widgets/lib/editors/email-box-widget/email-box-widget.config.mjs +1 -1
  281. package/esm2022/widgets/lib/editors/email-box-widget/index.mjs +1 -1
  282. package/esm2022/widgets/lib/editors/file-box-widget/file-box-widget-column.component.mjs +1 -1
  283. package/esm2022/widgets/lib/editors/file-box-widget/file-box-widget-designer.component.mjs +1 -1
  284. package/esm2022/widgets/lib/editors/file-box-widget/file-box-widget-edit.component.mjs +112 -112
  285. package/esm2022/widgets/lib/editors/file-box-widget/file-box-widget-filter.component.mjs +1 -1
  286. package/esm2022/widgets/lib/editors/file-box-widget/file-box-widget-print.component.mjs +1 -1
  287. package/esm2022/widgets/lib/editors/file-box-widget/file-box-widget-view.component.mjs +64 -64
  288. package/esm2022/widgets/lib/editors/file-box-widget/file-box-widget.config.mjs +1 -1
  289. package/esm2022/widgets/lib/editors/file-box-widget/index.mjs +1 -1
  290. package/esm2022/widgets/lib/editors/gallery-widget/gallery-widget-column.component.mjs +1 -1
  291. package/esm2022/widgets/lib/editors/gallery-widget/gallery-widget-designer.component.mjs +1 -1
  292. package/esm2022/widgets/lib/editors/gallery-widget/gallery-widget-edit.component.mjs +107 -107
  293. package/esm2022/widgets/lib/editors/gallery-widget/gallery-widget-filter.component.mjs +1 -1
  294. package/esm2022/widgets/lib/editors/gallery-widget/gallery-widget-print.component.mjs +1 -1
  295. package/esm2022/widgets/lib/editors/gallery-widget/gallery-widget-types.mjs +1 -1
  296. package/esm2022/widgets/lib/editors/gallery-widget/gallery-widget-view.component.mjs +97 -97
  297. package/esm2022/widgets/lib/editors/gallery-widget/gallery-widget.config.mjs +1 -1
  298. package/esm2022/widgets/lib/editors/gallery-widget/index.mjs +1 -1
  299. package/esm2022/widgets/lib/editors/link-widget/index.mjs +8 -0
  300. package/esm2022/widgets/lib/editors/link-widget/link-widget-column.component.mjs +19 -0
  301. package/esm2022/widgets/lib/editors/link-widget/link-widget-designer.component.mjs +19 -0
  302. package/esm2022/widgets/lib/editors/link-widget/link-widget-edit.component.mjs +391 -0
  303. package/esm2022/widgets/lib/editors/link-widget/link-widget-filter.component.mjs +20 -0
  304. package/esm2022/widgets/lib/editors/link-widget/link-widget-print.component.mjs +19 -0
  305. package/esm2022/widgets/lib/editors/link-widget/link-widget-view.component.mjs +120 -0
  306. package/esm2022/widgets/lib/editors/link-widget/link-widget.config.mjs +24 -0
  307. package/esm2022/widgets/lib/editors/map-box-widget/index.mjs +1 -1
  308. package/esm2022/widgets/lib/editors/map-box-widget/map-box-widget-column.component.mjs +1 -1
  309. package/esm2022/widgets/lib/editors/map-box-widget/map-box-widget-designer.component.mjs +1 -1
  310. package/esm2022/widgets/lib/editors/map-box-widget/map-box-widget-edit.component.mjs +5 -5
  311. package/esm2022/widgets/lib/editors/map-box-widget/map-box-widget-filter.component.mjs +1 -1
  312. package/esm2022/widgets/lib/editors/map-box-widget/map-box-widget-print.component.mjs +1 -1
  313. package/esm2022/widgets/lib/editors/map-box-widget/map-box-widget-view.component.mjs +5 -5
  314. package/esm2022/widgets/lib/editors/map-box-widget/map-box-widget.config.mjs +1 -1
  315. package/esm2022/widgets/lib/editors/number-box-widget/index.mjs +1 -1
  316. package/esm2022/widgets/lib/editors/number-box-widget/number-box-widget-column.component.mjs +1 -1
  317. package/esm2022/widgets/lib/editors/number-box-widget/number-box-widget-designer.component.mjs +1 -1
  318. package/esm2022/widgets/lib/editors/number-box-widget/number-box-widget-edit.component.mjs +74 -71
  319. package/esm2022/widgets/lib/editors/number-box-widget/number-box-widget-filter.component.mjs +1 -1
  320. package/esm2022/widgets/lib/editors/number-box-widget/number-box-widget-print.component.mjs +1 -1
  321. package/esm2022/widgets/lib/editors/number-box-widget/number-box-widget-view.component.mjs +17 -17
  322. package/esm2022/widgets/lib/editors/number-box-widget/number-box-widget.config.mjs +1 -1
  323. package/esm2022/widgets/lib/editors/password-box-widget/index.mjs +1 -1
  324. package/esm2022/widgets/lib/editors/password-box-widget/password-box-widget-column.component.mjs +1 -1
  325. package/esm2022/widgets/lib/editors/password-box-widget/password-box-widget-designer.component.mjs +1 -1
  326. package/esm2022/widgets/lib/editors/password-box-widget/password-box-widget-edit.component.mjs +9 -9
  327. package/esm2022/widgets/lib/editors/password-box-widget/password-box-widget-filter.component.mjs +1 -1
  328. package/esm2022/widgets/lib/editors/password-box-widget/password-box-widget-print.component.mjs +1 -1
  329. package/esm2022/widgets/lib/editors/password-box-widget/password-box-widget-view.component.mjs +45 -45
  330. package/esm2022/widgets/lib/editors/password-box-widget/password-box-widget.config.mjs +1 -1
  331. package/esm2022/widgets/lib/editors/phone-box-widget/index.mjs +1 -1
  332. package/esm2022/widgets/lib/editors/phone-box-widget/phone-box-widget-column.component.mjs +21 -21
  333. package/esm2022/widgets/lib/editors/phone-box-widget/phone-box-widget-designer.component.mjs +1 -1
  334. package/esm2022/widgets/lib/editors/phone-box-widget/phone-box-widget-edit.component.mjs +141 -139
  335. package/esm2022/widgets/lib/editors/phone-box-widget/phone-box-widget-filter.component.mjs +1 -1
  336. package/esm2022/widgets/lib/editors/phone-box-widget/phone-box-widget-print.component.mjs +1 -1
  337. package/esm2022/widgets/lib/editors/phone-box-widget/phone-box-widget-view.component.mjs +69 -69
  338. package/esm2022/widgets/lib/editors/phone-box-widget/phone-box-widget.config.mjs +1 -1
  339. package/esm2022/widgets/lib/editors/rich-text-widget/index.mjs +1 -1
  340. package/esm2022/widgets/lib/editors/rich-text-widget/rich-text-widget-column.component.mjs +1 -1
  341. package/esm2022/widgets/lib/editors/rich-text-widget/rich-text-widget-designer.component.mjs +1 -1
  342. package/esm2022/widgets/lib/editors/rich-text-widget/rich-text-widget-edit.component.mjs +9 -9
  343. package/esm2022/widgets/lib/editors/rich-text-widget/rich-text-widget-filter.component.mjs +1 -1
  344. package/esm2022/widgets/lib/editors/rich-text-widget/rich-text-widget-print.component.mjs +1 -1
  345. package/esm2022/widgets/lib/editors/rich-text-widget/rich-text-widget-view.component.mjs +9 -9
  346. package/esm2022/widgets/lib/editors/rich-text-widget/rich-text-widget.config.mjs +1 -1
  347. package/esm2022/widgets/lib/editors/select-box-widget/index.mjs +1 -1
  348. package/esm2022/widgets/lib/editors/select-box-widget/select-box-widget-column.component.mjs +1 -1
  349. package/esm2022/widgets/lib/editors/select-box-widget/select-box-widget-designer.component.mjs +1 -1
  350. package/esm2022/widgets/lib/editors/select-box-widget/select-box-widget-edit.component.mjs +26 -26
  351. package/esm2022/widgets/lib/editors/select-box-widget/select-box-widget-filter.component.mjs +1 -1
  352. package/esm2022/widgets/lib/editors/select-box-widget/select-box-widget-print.component.mjs +1 -1
  353. package/esm2022/widgets/lib/editors/select-box-widget/select-box-widget-view.component.mjs +23 -23
  354. package/esm2022/widgets/lib/editors/select-box-widget/select-box-widget.config.mjs +1 -1
  355. package/esm2022/widgets/lib/editors/selection-list-widget/index.mjs +1 -1
  356. package/esm2022/widgets/lib/editors/selection-list-widget/selection-list-widget-column.component.mjs +13 -13
  357. package/esm2022/widgets/lib/editors/selection-list-widget/selection-list-widget-designer.component.mjs +1 -1
  358. package/esm2022/widgets/lib/editors/selection-list-widget/selection-list-widget-edit.component.mjs +31 -31
  359. package/esm2022/widgets/lib/editors/selection-list-widget/selection-list-widget-filter.component.mjs +1 -1
  360. package/esm2022/widgets/lib/editors/selection-list-widget/selection-list-widget-print.component.mjs +1 -1
  361. package/esm2022/widgets/lib/editors/selection-list-widget/selection-list-widget-view.component.mjs +9 -9
  362. package/esm2022/widgets/lib/editors/selection-list-widget/selection-list-widget.config.mjs +1 -1
  363. package/esm2022/widgets/lib/editors/signature-pad-widget/index.mjs +1 -1
  364. package/esm2022/widgets/lib/editors/signature-pad-widget/signature-pad-widget-column.component.mjs +1 -1
  365. package/esm2022/widgets/lib/editors/signature-pad-widget/signature-pad-widget-designer.component.mjs +1 -1
  366. package/esm2022/widgets/lib/editors/signature-pad-widget/signature-pad-widget-edit.component.mjs +68 -58
  367. package/esm2022/widgets/lib/editors/signature-pad-widget/signature-pad-widget-filter.component.mjs +1 -1
  368. package/esm2022/widgets/lib/editors/signature-pad-widget/signature-pad-widget-print.component.mjs +1 -1
  369. package/esm2022/widgets/lib/editors/signature-pad-widget/signature-pad-widget-view.component.mjs +17 -17
  370. package/esm2022/widgets/lib/editors/signature-pad-widget/signature-pad-widget.config.mjs +1 -1
  371. package/esm2022/widgets/lib/editors/text-box-widget/index.mjs +1 -1
  372. package/esm2022/widgets/lib/editors/text-box-widget/text-box-widget-column.component.mjs +1 -1
  373. package/esm2022/widgets/lib/editors/text-box-widget/text-box-widget-designer.component.mjs +1 -1
  374. package/esm2022/widgets/lib/editors/text-box-widget/text-box-widget-edit.component.mjs +62 -62
  375. package/esm2022/widgets/lib/editors/text-box-widget/text-box-widget-filter.component.mjs +1 -1
  376. package/esm2022/widgets/lib/editors/text-box-widget/text-box-widget-print.component.mjs +1 -1
  377. package/esm2022/widgets/lib/editors/text-box-widget/text-box-widget-view.component.mjs +17 -17
  378. package/esm2022/widgets/lib/editors/text-box-widget/text-box-widget.config.mjs +1 -1
  379. package/esm2022/widgets/lib/editors/toggle-widget/index.mjs +1 -1
  380. package/esm2022/widgets/lib/editors/toggle-widget/toggle-widget-column.component.mjs +25 -25
  381. package/esm2022/widgets/lib/editors/toggle-widget/toggle-widget-designer.component.mjs +1 -1
  382. package/esm2022/widgets/lib/editors/toggle-widget/toggle-widget-edit.component.mjs +1 -1
  383. package/esm2022/widgets/lib/editors/toggle-widget/toggle-widget-filter.component.mjs +1 -1
  384. package/esm2022/widgets/lib/editors/toggle-widget/toggle-widget-print.component.mjs +1 -1
  385. package/esm2022/widgets/lib/editors/toggle-widget/toggle-widget-view.component.mjs +25 -25
  386. package/esm2022/widgets/lib/editors/toggle-widget/toggle-widget.config.mjs +1 -1
  387. package/esm2022/widgets/lib/layout/block-widget/block-widget.component.mjs +11 -11
  388. package/esm2022/widgets/lib/layout/block-widget/block-widget.config.mjs +1 -1
  389. package/esm2022/widgets/lib/layout/block-widget/index.mjs +1 -1
  390. package/esm2022/widgets/lib/widgets.module.mjs +4 -1
  391. package/esm2022/workflow/index.mjs +1 -1
  392. package/esm2022/workflow/lib/actions/start-workflow.action.mjs +1 -1
  393. package/esm2022/workflow/lib/errors.types.mjs +1 -1
  394. package/esm2022/workflow/lib/workflow-event-dispatcher.service.mjs +1 -1
  395. package/esm2022/workflow/lib/workflow-registery.service.mjs +1 -1
  396. package/esm2022/workflow/lib/workflow.module.mjs +1 -1
  397. package/esm2022/workflow/lib/workflow.service.mjs +1 -1
  398. package/esm2022/workflow/lib/workflow.types.mjs +1 -1
  399. package/fesm2022/acorex-platform-auth.mjs +14 -15
  400. package/fesm2022/acorex-platform-auth.mjs.map +1 -1
  401. package/fesm2022/{acorex-platform-common-avatar-widget-edit.component-B-of5ssU.mjs → acorex-platform-common-avatar-widget-edit.component-BtnVjoMi.mjs} +68 -68
  402. package/fesm2022/acorex-platform-common-avatar-widget-edit.component-BtnVjoMi.mjs.map +1 -0
  403. package/fesm2022/{acorex-platform-common-avatar-widget-view.component-CJvrSkTv.mjs → acorex-platform-common-avatar-widget-view.component-0-hGLYLK.mjs} +16 -16
  404. package/fesm2022/acorex-platform-common-avatar-widget-view.component-0-hGLYLK.mjs.map +1 -0
  405. package/fesm2022/{acorex-platform-common-boolean-widget-filter.component-BTcOjuUm.mjs → acorex-platform-common-boolean-widget-filter.component-CMkjO_x1.mjs} +76 -76
  406. package/fesm2022/acorex-platform-common-boolean-widget-filter.component-CMkjO_x1.mjs.map +1 -0
  407. package/fesm2022/{acorex-platform-common-change-password.component-NvrMMq9e.mjs → acorex-platform-common-change-password.component-CULJjn0l.mjs} +100 -100
  408. package/fesm2022/acorex-platform-common-change-password.component-CULJjn0l.mjs.map +1 -0
  409. package/fesm2022/{acorex-platform-common-checkbox-widget-column.component-X9d1iY_F.mjs → acorex-platform-common-checkbox-widget-column.component-C91gG8nm.mjs} +31 -31
  410. package/fesm2022/acorex-platform-common-checkbox-widget-column.component-C91gG8nm.mjs.map +1 -0
  411. package/fesm2022/acorex-platform-common-checkbox-widget-edit.component-_jtT03Vn.mjs.map +1 -1
  412. package/fesm2022/{acorex-platform-common-checkbox-widget-view.component-nYmtb8bK.mjs → acorex-platform-common-checkbox-widget-view.component-BDAtJB1B.mjs} +25 -25
  413. package/fesm2022/{acorex-platform-common-checkbox-widget-view.component-nYmtb8bK.mjs.map → acorex-platform-common-checkbox-widget-view.component-BDAtJB1B.mjs.map} +1 -1
  414. package/fesm2022/acorex-platform-common-dateTime-widget-column.component-5ljYmtHI.mjs.map +1 -1
  415. package/fesm2022/{acorex-platform-common-dateTime-widget-edit.component-D8FSiqAo.mjs → acorex-platform-common-dateTime-widget-edit.component-DdqtbOY1.mjs} +100 -100
  416. package/fesm2022/acorex-platform-common-dateTime-widget-edit.component-DdqtbOY1.mjs.map +1 -0
  417. package/fesm2022/{acorex-platform-common-dateTime-widget-filter.component-Df0DuDtw.mjs → acorex-platform-common-dateTime-widget-filter.component-BjtIJkeC.mjs} +60 -60
  418. package/fesm2022/acorex-platform-common-dateTime-widget-filter.component-BjtIJkeC.mjs.map +1 -0
  419. package/fesm2022/{acorex-platform-common-dateTime-widget-view.component-CjVjQkPh.mjs → acorex-platform-common-dateTime-widget-view.component-Dxmnor_-.mjs} +21 -21
  420. package/fesm2022/acorex-platform-common-dateTime-widget-view.component-Dxmnor_-.mjs.map +1 -0
  421. package/fesm2022/{acorex-platform-common-email-widget-column.component-BgNdL62k.mjs → acorex-platform-common-email-widget-column.component-DlPoexcx.mjs} +23 -23
  422. package/fesm2022/acorex-platform-common-email-widget-column.component-DlPoexcx.mjs.map +1 -0
  423. package/fesm2022/{acorex-platform-common-email-widget-edit.component-CgHPGccx.mjs → acorex-platform-common-email-widget-edit.component-CLl0gmdM.mjs} +134 -134
  424. package/fesm2022/acorex-platform-common-email-widget-edit.component-CLl0gmdM.mjs.map +1 -0
  425. package/fesm2022/{acorex-platform-common-email-widget-view.component-C2aQ14k-.mjs → acorex-platform-common-email-widget-view.component-C4M7KGUS.mjs} +65 -65
  426. package/fesm2022/acorex-platform-common-email-widget-view.component-C4M7KGUS.mjs.map +1 -0
  427. package/fesm2022/acorex-platform-common-file-widget-column.component-CwFzLLHt.mjs.map +1 -1
  428. package/fesm2022/{acorex-platform-common-file-widget-edit.component-DxoQR4CU.mjs → acorex-platform-common-file-widget-edit.component-ZXhaXwWN.mjs} +116 -116
  429. package/fesm2022/acorex-platform-common-file-widget-edit.component-ZXhaXwWN.mjs.map +1 -0
  430. package/fesm2022/{acorex-platform-common-file-widget-filter.component-BvG0iaKU.mjs → acorex-platform-common-file-widget-filter.component-DqYmxdx_.mjs} +6 -6
  431. package/fesm2022/acorex-platform-common-file-widget-filter.component-DqYmxdx_.mjs.map +1 -0
  432. package/fesm2022/{acorex-platform-common-file-widget-view.component-BC9l3YrO.mjs → acorex-platform-common-file-widget-view.component-B0C9oJLT.mjs} +70 -70
  433. package/fesm2022/acorex-platform-common-file-widget-view.component-B0C9oJLT.mjs.map +1 -0
  434. package/fesm2022/{acorex-platform-common-gallery-widget-edit.component-BihOIJ9T.mjs → acorex-platform-common-gallery-widget-edit.component-DB0-6pik.mjs} +125 -125
  435. package/fesm2022/acorex-platform-common-gallery-widget-edit.component-DB0-6pik.mjs.map +1 -0
  436. package/fesm2022/{acorex-platform-common-gallery-widget-filter.component-DS1PCIJp.mjs → acorex-platform-common-gallery-widget-filter.component-Btrq4HP9.mjs} +6 -6
  437. package/fesm2022/acorex-platform-common-gallery-widget-filter.component-Btrq4HP9.mjs.map +1 -0
  438. package/fesm2022/{acorex-platform-common-gallery-widget-view.component-CnQONVdg.mjs → acorex-platform-common-gallery-widget-view.component-Bp5cEEiY.mjs} +109 -109
  439. package/fesm2022/acorex-platform-common-gallery-widget-view.component-Bp5cEEiY.mjs.map +1 -0
  440. package/fesm2022/{acorex-platform-common-largetext-widget-edit.component-BCtGkz1a.mjs → acorex-platform-common-largetext-widget-edit.component-DJhPlQ0G.mjs} +13 -13
  441. package/fesm2022/acorex-platform-common-largetext-widget-edit.component-DJhPlQ0G.mjs.map +1 -0
  442. package/fesm2022/{acorex-platform-common-lookup-widget-column.component-Cl-vO5XW.mjs → acorex-platform-common-lookup-widget-column.component-CtvP7V_w.mjs} +3 -3
  443. package/fesm2022/acorex-platform-common-lookup-widget-column.component-CtvP7V_w.mjs.map +1 -0
  444. package/fesm2022/{acorex-platform-common-lookup-widget-edit.component-Do_yV2hi.mjs → acorex-platform-common-lookup-widget-edit.component-JjtWsg2g.mjs} +48 -44
  445. package/fesm2022/acorex-platform-common-lookup-widget-edit.component-JjtWsg2g.mjs.map +1 -0
  446. package/fesm2022/{acorex-platform-common-lookup-widget-filter.component-AKqbYe-l.mjs → acorex-platform-common-lookup-widget-filter.component-B4C5JB_p.mjs} +66 -66
  447. package/fesm2022/acorex-platform-common-lookup-widget-filter.component-B4C5JB_p.mjs.map +1 -0
  448. package/fesm2022/acorex-platform-common-lookup-widget-view.component-BHqYDEuU.mjs.map +1 -1
  449. package/fesm2022/{acorex-platform-common-map-widget-edit.component-SSrR3xxv.mjs → acorex-platform-common-map-widget-edit.component-BjrRrklq.mjs} +5 -5
  450. package/fesm2022/acorex-platform-common-map-widget-edit.component-BjrRrklq.mjs.map +1 -0
  451. package/fesm2022/{acorex-platform-common-map-widget-view.component-DrGG3gzg.mjs → acorex-platform-common-map-widget-view.component-C5gL9-oB.mjs} +5 -5
  452. package/fesm2022/acorex-platform-common-map-widget-view.component-C5gL9-oB.mjs.map +1 -0
  453. package/fesm2022/{acorex-platform-common-messenger-widget-column.component-BJ_XzNKc.mjs → acorex-platform-common-messenger-widget-column.component-BQSYcyso.mjs} +23 -23
  454. package/fesm2022/acorex-platform-common-messenger-widget-column.component-BQSYcyso.mjs.map +1 -0
  455. package/fesm2022/{acorex-platform-common-messenger-widget-edit.component-B_FG_n0O.mjs → acorex-platform-common-messenger-widget-edit.component-BjqtP0ls.mjs} +88 -88
  456. package/fesm2022/acorex-platform-common-messenger-widget-edit.component-BjqtP0ls.mjs.map +1 -0
  457. package/fesm2022/{acorex-platform-common-messenger-widget-view.component-EBiPO9ds.mjs → acorex-platform-common-messenger-widget-view.component-B4Yt68Vn.mjs} +67 -67
  458. package/fesm2022/acorex-platform-common-messenger-widget-view.component-B4Yt68Vn.mjs.map +1 -0
  459. package/fesm2022/{acorex-platform-common-number-widget-edit.component-B1XXga-9.mjs → acorex-platform-common-number-widget-edit.component-D9dC514F.mjs} +15 -15
  460. package/fesm2022/acorex-platform-common-number-widget-edit.component-D9dC514F.mjs.map +1 -0
  461. package/fesm2022/{acorex-platform-common-number-widget-filter.component-B2JCpDjU.mjs → acorex-platform-common-number-widget-filter.component-BkKeBL6p.mjs} +86 -86
  462. package/fesm2022/acorex-platform-common-number-widget-filter.component-BkKeBL6p.mjs.map +1 -0
  463. package/fesm2022/acorex-platform-common-number-widget-view.component-DD0tkoc4.mjs.map +1 -1
  464. package/fesm2022/{acorex-platform-common-password-widget-column.component-eyqgQlAt.mjs → acorex-platform-common-password-widget-column.component-C0-x1_Np.mjs} +37 -37
  465. package/fesm2022/acorex-platform-common-password-widget-column.component-C0-x1_Np.mjs.map +1 -0
  466. package/fesm2022/{acorex-platform-common-password-widget-edit.component-C2yNb9Pl.mjs → acorex-platform-common-password-widget-edit.component-BbYqIGEP.mjs} +15 -15
  467. package/fesm2022/acorex-platform-common-password-widget-edit.component-BbYqIGEP.mjs.map +1 -0
  468. package/fesm2022/{acorex-platform-common-password-widget-view.component-o9S7pwJW.mjs → acorex-platform-common-password-widget-view.component-B6vGWi9I.mjs} +59 -59
  469. package/fesm2022/acorex-platform-common-password-widget-view.component-B6vGWi9I.mjs.map +1 -0
  470. package/fesm2022/{acorex-platform-common-phone-widget-column.component-BL9Xl2XH.mjs → acorex-platform-common-phone-widget-column.component-uAeAPCog.mjs} +41 -41
  471. package/fesm2022/acorex-platform-common-phone-widget-column.component-uAeAPCog.mjs.map +1 -0
  472. package/fesm2022/{acorex-platform-common-phone-widget-edit.component-DSh9zoZj.mjs → acorex-platform-common-phone-widget-edit.component-Dj_tdhZw.mjs} +146 -142
  473. package/fesm2022/acorex-platform-common-phone-widget-edit.component-Dj_tdhZw.mjs.map +1 -0
  474. package/fesm2022/{acorex-platform-common-phone-widget-view.component-Br3xbaDd.mjs → acorex-platform-common-phone-widget-view.component-D_A5NXzA.mjs} +69 -69
  475. package/fesm2022/acorex-platform-common-phone-widget-view.component-D_A5NXzA.mjs.map +1 -0
  476. package/fesm2022/{acorex-platform-common-rich-text-widget-column.component-DDT58tca.mjs → acorex-platform-common-rich-text-widget-column.component-DDJn1WqG.mjs} +23 -23
  477. package/fesm2022/acorex-platform-common-rich-text-widget-column.component-DDJn1WqG.mjs.map +1 -0
  478. package/fesm2022/{acorex-platform-common-rich-text-widget-edit.component-Dz1toc21.mjs → acorex-platform-common-rich-text-widget-edit.component-f30-VPMJ.mjs} +9 -9
  479. package/fesm2022/acorex-platform-common-rich-text-widget-edit.component-f30-VPMJ.mjs.map +1 -0
  480. package/fesm2022/{acorex-platform-common-rich-text-widget-view.component-CxTPcEIQ.mjs → acorex-platform-common-rich-text-widget-view.component-Y214kMe4.mjs} +9 -9
  481. package/fesm2022/acorex-platform-common-rich-text-widget-view.component-Y214kMe4.mjs.map +1 -0
  482. package/fesm2022/{acorex-platform-common-selection-list-widget-column.component-BCCmg8MI.mjs → acorex-platform-common-selection-list-widget-column.component-4uQzk7WQ.mjs} +17 -17
  483. package/fesm2022/acorex-platform-common-selection-list-widget-column.component-4uQzk7WQ.mjs.map +1 -0
  484. package/fesm2022/{acorex-platform-common-selection-list-widget-edit.component-B5eUdN2R.mjs → acorex-platform-common-selection-list-widget-edit.component-BY7A969M.mjs} +29 -29
  485. package/fesm2022/acorex-platform-common-selection-list-widget-edit.component-BY7A969M.mjs.map +1 -0
  486. package/fesm2022/{acorex-platform-common-selection-list-widget-filter.component-DPpZq1TB.mjs → acorex-platform-common-selection-list-widget-filter.component-hbxBcirf.mjs} +20 -20
  487. package/fesm2022/acorex-platform-common-selection-list-widget-filter.component-hbxBcirf.mjs.map +1 -0
  488. package/fesm2022/{acorex-platform-common-selection-list-widget-view.component-Bxvd_AKZ.mjs → acorex-platform-common-selection-list-widget-view.component-HzxEiWgp.mjs} +9 -9
  489. package/fesm2022/acorex-platform-common-selection-list-widget-view.component-HzxEiWgp.mjs.map +1 -0
  490. package/fesm2022/{acorex-platform-common-signature-pad-widget-edit.component-CNjYCEi6.mjs → acorex-platform-common-signature-pad-widget-edit.component-C6VI3F_S.mjs} +56 -56
  491. package/fesm2022/acorex-platform-common-signature-pad-widget-edit.component-C6VI3F_S.mjs.map +1 -0
  492. package/fesm2022/{acorex-platform-common-signature-pad-widget-view.component-CsiBv_7i.mjs → acorex-platform-common-signature-pad-widget-view.component-CEiBtv9t.mjs} +17 -17
  493. package/fesm2022/acorex-platform-common-signature-pad-widget-view.component-CEiBtv9t.mjs.map +1 -0
  494. package/fesm2022/{acorex-platform-common-string-widget-filter.component-CrGt6Bov.mjs → acorex-platform-common-string-widget-filter.component-BZiyRHfg.mjs} +68 -68
  495. package/fesm2022/acorex-platform-common-string-widget-filter.component-BZiyRHfg.mjs.map +1 -0
  496. package/fesm2022/acorex-platform-common-text-widget-column.component-qXusAevm.mjs.map +1 -1
  497. package/fesm2022/{acorex-platform-common-text-widget-edit.component-ed0MUYnD.mjs → acorex-platform-common-text-widget-edit.component-DSwPteMX.mjs} +88 -88
  498. package/fesm2022/acorex-platform-common-text-widget-edit.component-DSwPteMX.mjs.map +1 -0
  499. package/fesm2022/{acorex-platform-common-text-widget-view.component-BpxTaeQW.mjs → acorex-platform-common-text-widget-view.component-CKg9nvbY.mjs} +21 -21
  500. package/fesm2022/acorex-platform-common-text-widget-view.component-CKg9nvbY.mjs.map +1 -0
  501. package/fesm2022/{acorex-platform-common-toggle-widget-column.component-BqiUQrmV.mjs → acorex-platform-common-toggle-widget-column.component-_IrciAj-.mjs} +33 -33
  502. package/fesm2022/acorex-platform-common-toggle-widget-column.component-_IrciAj-.mjs.map +1 -0
  503. package/fesm2022/acorex-platform-common-toggle-widget-edit.component-CDG62BJN.mjs.map +1 -1
  504. package/fesm2022/{acorex-platform-common-toggle-widget-view.component-DWYcIPTd.mjs → acorex-platform-common-toggle-widget-view.component-B5JwQ8X-.mjs} +25 -25
  505. package/fesm2022/acorex-platform-common-toggle-widget-view.component-B5JwQ8X-.mjs.map +1 -0
  506. package/fesm2022/acorex-platform-common.mjs +125 -121
  507. package/fesm2022/acorex-platform-common.mjs.map +1 -1
  508. package/fesm2022/acorex-platform-layout-builder.mjs +34 -34
  509. package/fesm2022/acorex-platform-layout-builder.mjs.map +1 -1
  510. package/fesm2022/acorex-platform-layout-entity.mjs +384 -342
  511. package/fesm2022/acorex-platform-layout-entity.mjs.map +1 -1
  512. package/fesm2022/acorex-platform-layouts-entity-create-view.component-DgPPnU8S.mjs +110 -0
  513. package/fesm2022/acorex-platform-layouts-entity-create-view.component-DgPPnU8S.mjs.map +1 -0
  514. package/fesm2022/acorex-platform-layouts-entity-import-view.component-V50y5Jjs.mjs +93 -0
  515. package/fesm2022/acorex-platform-layouts-entity-import-view.component-V50y5Jjs.mjs.map +1 -0
  516. package/fesm2022/acorex-platform-layouts-entity-modify-view.component-Bwz4yVpK.mjs +91 -0
  517. package/fesm2022/acorex-platform-layouts-entity-modify-view.component-Bwz4yVpK.mjs.map +1 -0
  518. package/fesm2022/acorex-platform-layouts.mjs +150 -55
  519. package/fesm2022/acorex-platform-layouts.mjs.map +1 -1
  520. package/fesm2022/acorex-platform-mocks.mjs.map +1 -1
  521. package/fesm2022/acorex-platform-native.mjs.map +1 -1
  522. package/fesm2022/acorex-platform-themes-default-entity-master-create-view.component-qOxuoK6c.mjs +99 -0
  523. package/fesm2022/acorex-platform-themes-default-entity-master-create-view.component-qOxuoK6c.mjs.map +1 -0
  524. package/fesm2022/acorex-platform-themes-default-entity-master-modify-view.component-BJcpG94Q.mjs +88 -0
  525. package/fesm2022/acorex-platform-themes-default-entity-master-modify-view.component-BJcpG94Q.mjs.map +1 -0
  526. package/fesm2022/acorex-platform-themes-default-error-401.component-BeQ4_BgW.mjs +31 -0
  527. package/fesm2022/acorex-platform-themes-default-error-401.component-BeQ4_BgW.mjs.map +1 -0
  528. package/fesm2022/acorex-platform-themes-default-error-404.component-BYDiT6Ns.mjs +25 -0
  529. package/fesm2022/acorex-platform-themes-default-error-404.component-BYDiT6Ns.mjs.map +1 -0
  530. package/fesm2022/acorex-platform-themes-default-error-offline.component-DUtW3w_g.mjs +19 -0
  531. package/fesm2022/acorex-platform-themes-default-error-offline.component-DUtW3w_g.mjs.map +1 -0
  532. package/fesm2022/acorex-platform-themes-default.mjs +83 -78
  533. package/fesm2022/acorex-platform-themes-default.mjs.map +1 -1
  534. package/fesm2022/{acorex-platform-widgets-checkbox-widget-column.component-Cx6WLV3_.mjs → acorex-platform-widgets-checkbox-widget-column.component-CFCwedxX.mjs} +25 -25
  535. package/fesm2022/acorex-platform-widgets-checkbox-widget-column.component-CFCwedxX.mjs.map +1 -0
  536. package/fesm2022/{acorex-platform-widgets-checkbox-widget-view.component-C_68pr-9.mjs → acorex-platform-widgets-checkbox-widget-view.component-CCTIjDb0.mjs} +29 -29
  537. package/fesm2022/acorex-platform-widgets-checkbox-widget-view.component-CCTIjDb0.mjs.map +1 -0
  538. package/fesm2022/acorex-platform-widgets.mjs +1990 -1376
  539. package/fesm2022/acorex-platform-widgets.mjs.map +1 -1
  540. package/fesm2022/acorex-platform-workflow.mjs.map +1 -1
  541. package/fesm2022/acorex-platform.mjs.map +1 -1
  542. package/layout/builder/README.md +3 -3
  543. package/layout/entity/lib/entity-detail-list.viewmodel.d.ts +2 -1
  544. package/layout/entity/lib/entity-master-list.viewmodel.d.ts +9 -7
  545. package/layout/entity/lib/entity-master-single.viewmodel.d.ts +1 -0
  546. package/layout/entity/lib/widgets/lookup-widget/lookup-widget-edit.component.d.ts +5 -4
  547. package/layout/entity/lib/workflows/create-entity.workflow.d.ts +1 -0
  548. package/layouts/README.md +3 -3
  549. package/layouts/lib/admin/entity-layout/entity-import-view/entity-import-view.component.d.ts +27 -0
  550. package/layouts/lib/admin/entity-layout/entity-list-view/entity-list-view.component.d.ts +2 -0
  551. package/layouts/lib/admin/entity-layout/entity-list-view/list-view.module.d.ts +2 -1
  552. package/layouts/lib/admin/entity-layout/workflows/create-entity.workflow.d.ts +1 -0
  553. package/layouts/lib/admin/entity-layout/workflows/import-entity.workflow.d.ts +27 -0
  554. package/mocks/README.md +3 -3
  555. package/package.json +4 -1
  556. package/themes/default/README.md +3 -3
  557. package/themes/default/lib/layouts/entity-layouts/entity-master-list-view/entity-master-list-view.component.d.ts +3 -0
  558. package/themes/default/lib/layouts/entity-layouts/entity-master-list-view/list-view-option-columns/list-view-option-columns.component.d.ts +1 -1
  559. package/themes/default/lib/layouts/entity-layouts/entity-master-single-view/entity-master-single-view.component.d.ts +1 -1
  560. package/widgets/README.md +3 -3
  561. package/widgets/lib/editors/link-widget/index.d.ts +7 -0
  562. package/widgets/lib/editors/link-widget/link-widget-column.component.d.ts +6 -0
  563. package/widgets/lib/editors/link-widget/link-widget-designer.component.d.ts +6 -0
  564. package/widgets/lib/editors/link-widget/link-widget-edit.component.d.ts +45 -0
  565. package/widgets/lib/editors/link-widget/link-widget-filter.component.d.ts +6 -0
  566. package/widgets/lib/editors/link-widget/link-widget-print.component.d.ts +6 -0
  567. package/widgets/lib/editors/link-widget/link-widget-view.component.d.ts +13 -0
  568. package/widgets/lib/editors/link-widget/link-widget.config.d.ts +2 -0
  569. package/widgets/lib/editors/number-box-widget/number-box-widget-edit.component.d.ts +4 -1
  570. package/widgets/lib/editors/signature-pad-widget/signature-pad-widget-edit.component.d.ts +2 -0
  571. package/workflow/README.md +3 -3
  572. package/fesm2022/acorex-platform-common-avatar-widget-edit.component-B-of5ssU.mjs.map +0 -1
  573. package/fesm2022/acorex-platform-common-avatar-widget-view.component-CJvrSkTv.mjs.map +0 -1
  574. package/fesm2022/acorex-platform-common-boolean-widget-filter.component-BTcOjuUm.mjs.map +0 -1
  575. package/fesm2022/acorex-platform-common-change-password.component-NvrMMq9e.mjs.map +0 -1
  576. package/fesm2022/acorex-platform-common-checkbox-widget-column.component-X9d1iY_F.mjs.map +0 -1
  577. package/fesm2022/acorex-platform-common-dateTime-widget-edit.component-D8FSiqAo.mjs.map +0 -1
  578. package/fesm2022/acorex-platform-common-dateTime-widget-filter.component-Df0DuDtw.mjs.map +0 -1
  579. package/fesm2022/acorex-platform-common-dateTime-widget-view.component-CjVjQkPh.mjs.map +0 -1
  580. package/fesm2022/acorex-platform-common-email-widget-column.component-BgNdL62k.mjs.map +0 -1
  581. package/fesm2022/acorex-platform-common-email-widget-edit.component-CgHPGccx.mjs.map +0 -1
  582. package/fesm2022/acorex-platform-common-email-widget-view.component-C2aQ14k-.mjs.map +0 -1
  583. package/fesm2022/acorex-platform-common-file-widget-edit.component-DxoQR4CU.mjs.map +0 -1
  584. package/fesm2022/acorex-platform-common-file-widget-filter.component-BvG0iaKU.mjs.map +0 -1
  585. package/fesm2022/acorex-platform-common-file-widget-view.component-BC9l3YrO.mjs.map +0 -1
  586. package/fesm2022/acorex-platform-common-gallery-widget-edit.component-BihOIJ9T.mjs.map +0 -1
  587. package/fesm2022/acorex-platform-common-gallery-widget-filter.component-DS1PCIJp.mjs.map +0 -1
  588. package/fesm2022/acorex-platform-common-gallery-widget-view.component-CnQONVdg.mjs.map +0 -1
  589. package/fesm2022/acorex-platform-common-largetext-widget-edit.component-BCtGkz1a.mjs.map +0 -1
  590. package/fesm2022/acorex-platform-common-lookup-widget-column.component-Cl-vO5XW.mjs.map +0 -1
  591. package/fesm2022/acorex-platform-common-lookup-widget-edit.component-Do_yV2hi.mjs.map +0 -1
  592. package/fesm2022/acorex-platform-common-lookup-widget-filter.component-AKqbYe-l.mjs.map +0 -1
  593. package/fesm2022/acorex-platform-common-map-widget-edit.component-SSrR3xxv.mjs.map +0 -1
  594. package/fesm2022/acorex-platform-common-map-widget-view.component-DrGG3gzg.mjs.map +0 -1
  595. package/fesm2022/acorex-platform-common-messenger-widget-column.component-BJ_XzNKc.mjs.map +0 -1
  596. package/fesm2022/acorex-platform-common-messenger-widget-edit.component-B_FG_n0O.mjs.map +0 -1
  597. package/fesm2022/acorex-platform-common-messenger-widget-view.component-EBiPO9ds.mjs.map +0 -1
  598. package/fesm2022/acorex-platform-common-number-widget-edit.component-B1XXga-9.mjs.map +0 -1
  599. package/fesm2022/acorex-platform-common-number-widget-filter.component-B2JCpDjU.mjs.map +0 -1
  600. package/fesm2022/acorex-platform-common-password-widget-column.component-eyqgQlAt.mjs.map +0 -1
  601. package/fesm2022/acorex-platform-common-password-widget-edit.component-C2yNb9Pl.mjs.map +0 -1
  602. package/fesm2022/acorex-platform-common-password-widget-view.component-o9S7pwJW.mjs.map +0 -1
  603. package/fesm2022/acorex-platform-common-phone-widget-column.component-BL9Xl2XH.mjs.map +0 -1
  604. package/fesm2022/acorex-platform-common-phone-widget-edit.component-DSh9zoZj.mjs.map +0 -1
  605. package/fesm2022/acorex-platform-common-phone-widget-view.component-Br3xbaDd.mjs.map +0 -1
  606. package/fesm2022/acorex-platform-common-rich-text-widget-column.component-DDT58tca.mjs.map +0 -1
  607. package/fesm2022/acorex-platform-common-rich-text-widget-edit.component-Dz1toc21.mjs.map +0 -1
  608. package/fesm2022/acorex-platform-common-rich-text-widget-view.component-CxTPcEIQ.mjs.map +0 -1
  609. package/fesm2022/acorex-platform-common-selection-list-widget-column.component-BCCmg8MI.mjs.map +0 -1
  610. package/fesm2022/acorex-platform-common-selection-list-widget-edit.component-B5eUdN2R.mjs.map +0 -1
  611. package/fesm2022/acorex-platform-common-selection-list-widget-filter.component-DPpZq1TB.mjs.map +0 -1
  612. package/fesm2022/acorex-platform-common-selection-list-widget-view.component-Bxvd_AKZ.mjs.map +0 -1
  613. package/fesm2022/acorex-platform-common-signature-pad-widget-edit.component-CNjYCEi6.mjs.map +0 -1
  614. package/fesm2022/acorex-platform-common-signature-pad-widget-view.component-CsiBv_7i.mjs.map +0 -1
  615. package/fesm2022/acorex-platform-common-string-widget-filter.component-CrGt6Bov.mjs.map +0 -1
  616. package/fesm2022/acorex-platform-common-text-widget-edit.component-ed0MUYnD.mjs.map +0 -1
  617. package/fesm2022/acorex-platform-common-text-widget-view.component-BpxTaeQW.mjs.map +0 -1
  618. package/fesm2022/acorex-platform-common-toggle-widget-column.component-BqiUQrmV.mjs.map +0 -1
  619. package/fesm2022/acorex-platform-common-toggle-widget-view.component-DWYcIPTd.mjs.map +0 -1
  620. package/fesm2022/acorex-platform-layouts-entity-create-view.component-fkKPKxlb.mjs +0 -107
  621. package/fesm2022/acorex-platform-layouts-entity-create-view.component-fkKPKxlb.mjs.map +0 -1
  622. package/fesm2022/acorex-platform-layouts-entity-modify-view.component-D1h1xORH.mjs +0 -88
  623. package/fesm2022/acorex-platform-layouts-entity-modify-view.component-D1h1xORH.mjs.map +0 -1
  624. package/fesm2022/acorex-platform-themes-default-entity-master-create-view.component-BxYT9KhH.mjs +0 -96
  625. package/fesm2022/acorex-platform-themes-default-entity-master-create-view.component-BxYT9KhH.mjs.map +0 -1
  626. package/fesm2022/acorex-platform-themes-default-entity-master-modify-view.component-F7dr-osu.mjs +0 -85
  627. package/fesm2022/acorex-platform-themes-default-entity-master-modify-view.component-F7dr-osu.mjs.map +0 -1
  628. package/fesm2022/acorex-platform-themes-default-error-401.component-Djuin07Z.mjs +0 -31
  629. package/fesm2022/acorex-platform-themes-default-error-401.component-Djuin07Z.mjs.map +0 -1
  630. package/fesm2022/acorex-platform-themes-default-error-404.component-C-RyiLkk.mjs +0 -25
  631. package/fesm2022/acorex-platform-themes-default-error-404.component-C-RyiLkk.mjs.map +0 -1
  632. package/fesm2022/acorex-platform-themes-default-error-offline.component-WCfy9-cr.mjs +0 -19
  633. package/fesm2022/acorex-platform-themes-default-error-offline.component-WCfy9-cr.mjs.map +0 -1
  634. package/fesm2022/acorex-platform-widgets-checkbox-widget-column.component-Cx6WLV3_.mjs.map +0 -1
  635. package/fesm2022/acorex-platform-widgets-checkbox-widget-view.component-C_68pr-9.mjs.map +0 -1
@@ -15,10 +15,10 @@ import { AXSwitchModule } from '@acorex/components/switch';
15
15
  import { AXTabsModule } from '@acorex/components/tabs';
16
16
  import { AXTooltipModule } from '@acorex/components/tooltip';
17
17
  import { AXPlatform } from '@acorex/core/platform';
18
+ import { AXTranslationModule } from '@acorex/core/translation';
18
19
  import { AXUnsubscriber } from '@acorex/core/utils';
19
20
  import { AXPSessionService } from '@acorex/platform/auth';
20
- import { AXPLayoutChildDrawerClose, AXPLayoutChildDrawerToggle, AXPStickyDirective, getChildDrawer, isSmallScreen } from '@acorex/platform/common';
21
- import { AXPCommonWidgetModule, AXPSchemaModule } from '@acorex/platform/common';
21
+ import { AXPCommonWidgetModule, AXPLayoutChildDrawerClose, AXPLayoutChildDrawerToggle, AXPSchemaModule, AXPStickyDirective, getChildDrawer, isSmallScreen, } from '@acorex/platform/common';
22
22
  import { AXPWorkflowService } from '@acorex/platform/workflow';
23
23
  import { CommonModule, Location } from '@angular/common';
24
24
  import { ChangeDetectionStrategy, ChangeDetectorRef, Component, ViewChild, inject, signal } from '@angular/core';
@@ -39,6 +39,7 @@ import * as i7 from "@acorex/components/form";
39
39
  import * as i8 from "@acorex/components/drawer";
40
40
  import * as i9 from "@acorex/components/tabs";
41
41
  import * as i10 from "@acorex/platform/common";
42
+ import * as i11 from "@acorex/core/translation";
42
43
  export class AXPEntityDetailsViewComponent {
43
44
  constructor(actions$, unsubscriber) {
44
45
  this.actions$ = actions$;
@@ -138,7 +139,7 @@ export class AXPEntityDetailsViewComponent {
138
139
  }
139
140
  }
140
141
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.2", ngImport: i0, type: AXPEntityDetailsViewComponent, deps: [{ token: i1.Actions }, { token: i2.AXUnsubscriber }], target: i0.ɵɵFactoryTarget.Component }); }
141
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.0.2", type: AXPEntityDetailsViewComponent, isStandalone: true, selector: "ng-component", providers: [AXUnsubscriber], viewQueries: [{ propertyName: "drawer", first: true, predicate: ["drawer"], descendants: true }], ngImport: i0, template: "<ax-drawer-container>\r\n <!-- <ax-drawer #drawer location=\"start\" [collapsed]=\"!(isOpen | async)\" [mode]=\" (isSM | async) ? 'overlay' : 'push'\"\r\n *ngIf=\"loader.hasSections$ | async\" (collapsedChange)=\"handleCollapsedChange($event)\">\r\n <ax-content class=\"ax-border-e ax-p-6 ax-w-64\">\r\n <p class=\"ax-text-xl ax-font-bold ax-mb-6\">{{loader.sectionTitle}}</p>\r\n <ax-tabs look=\"with-line\" location=\"start\">\r\n @for(tab of (loader.sections$ | async); track tab.name)\r\n {\r\n <ax-tab-item [text]=\"tab.title\" [active]=\"isActive(tab)\" (onClick)=\"handleMenuClick($event,tab)\"\r\n [disabled]=\"editForm.context\">\r\n </ax-tab-item>\r\n }\r\n </ax-tabs>\r\n </ax-content>\r\n </ax-drawer> -->\r\n <ax-content #content class=\"ax-overflow-x-hidden\">\r\n <div\r\n class=\"ax-flex ax-flex-col ax-gap-4 ax-min-h-full ax-px-4 ax-pb-4 md:ax-px-6 ax-bg-surface ax-border-b md:ax-border-0 md:ax-bg-default\">\r\n <div class=\"ax-flex ax-flex-col ax-pt-4 ax-sticky ax-top-0 ax-z-10 ax-transition-all\" #sticky=\"axpSticky\"\r\n [axpSticky]=\"'ax-bg-surface ax-px-6 ax-py-3 -ax-mx-6 ax-shadow-xl'\" [stickyParent]=\"content.getHostElement()\">\r\n <!-------- Begin Toolbar -------->\r\n <div class=\"ax-flex ax-justify-between ax-items-center\">\r\n <!-------- Begin Title -------->\r\n <div class=\"ax-flex ax-gap-1 ax-items-center\">\r\n <!-- <ax-button class=\"lg:ax-hidden\">\r\n <ax-icon class=\"fa-solid fa-chevron-left\"></ax-icon>\r\n </ax-button> -->\r\n <div class=\"ax-flex ax-flex-col ax-gap-2\">\r\n <div class=\"ax-text-xl md:ax-text-3xl ax-font-bold\">{{ loader.title }}</div>\r\n <!-- <ax-breadcrumbs class=\"child:ax-font-normal child:ax-text-neutral-400\">\r\n <ng-template #divider>\r\n <i class=\"fa-solid fa-chevron-right ax-text-xs ax-mx-2\"></i>\r\n </ng-template>\r\n <ax-breadcrumbs-item>\r\n <a>Home</a>\r\n </ax-breadcrumbs-item>\r\n <ax-breadcrumbs-item>\r\n <a>{{ loader.entity.title }}</a>\r\n </ax-breadcrumbs-item>\r\n <ax-breadcrumbs-item [active]=\"true\" class=\"!ax-font-semibold !ax-text-neutral-600\">\r\n {{ loader.title }}\r\n </ax-breadcrumbs-item>\r\n </ax-breadcrumbs> -->\r\n </div>\r\n </div>\r\n <!-------- Finish Title -------->\r\n <!--------------------------------------------------------------->\r\n <!-- Begin Action Menu -->\r\n <div class=\"ax-flex ax-items-center ax-gap-3\">\r\n @if(canCreate || canUpdate) {\r\n <ax-button [text]=\"(isSM | async) ? null : 'Actions'\" color=\"ghost\">\r\n <ax-prefix>\r\n <i class=\"fa-solid fa-ellipsis-vertical\"></i>\r\n </ax-prefix>\r\n <ax-dropdown-panel>\r\n <ax-button-item-list>\r\n <!-- <ax-button-item text=\"Share\" class=\"ax-font-semibold\">\r\n <ax-prefix>\r\n <ax-icon icon=\"fa-solid fa-share\"> </ax-icon>\r\n </ax-prefix>\r\n </ax-button-item> \r\n <ax-divider></ax-divider>-->\r\n @if(canCreate) {\r\n <ax-button-item text=\"Create New One\" class=\"ax-font-semibold ax-text-primary\"\r\n (onClick)=\"handleCommandClick('create')\">\r\n <ax-prefix>\r\n <ax-icon icon=\"fa-solid fa-add\"> </ax-icon>\r\n </ax-prefix>\r\n </ax-button-item>\r\n } @if(canDelete) {\r\n <ax-button-item text=\"Delete\" class=\"ax-font-semibold ax-text-danger\"\r\n (onClick)=\"handleCommandClick('delete')\">\r\n <ax-prefix>\r\n <ax-icon icon=\"fa-solid fa-trash\"> </ax-icon>\r\n </ax-prefix>\r\n </ax-button-item>\r\n }\r\n </ax-button-item-list>\r\n </ax-dropdown-panel>\r\n </ax-button>\r\n }\r\n </div>\r\n <!-- Finish Action Menu -->\r\n </div>\r\n <!----- Finish Toolbar ----->\r\n <!--------------------------------------------------------------->\r\n <!-- Begin Section Tab Items -->\r\n @if((loader.hasSections$| async)) {\r\n <ax-tabs look=\"with-line\" location=\"bottom\" class=\"ax-mt-2\">\r\n @for(tab of (loader.sections$ | async); track tab.name) {\r\n <ax-tab-item [text]=\"tab.title\" [active]=\"isActive(tab)\" (onClick)=\"handleMenuClick($event, tab)\"\r\n class=\"first:!ax-ms-0\"> </ax-tab-item>\r\n }\r\n </ax-tabs>\r\n }\r\n <!-- Finish Section Tab Items -->\r\n </div>\r\n @for(section of (loader.section$ | async)?.sections; track section.name) {\r\n <ax-form #form>\r\n <div class=\"ax-card ax-shadow-md\">\r\n <div class=\"ax-card-header\">\r\n <p>{{ section.title }}</p>\r\n @if(canUpdate) {\r\n <ax-button text=\"Modify\" class=\"ax-sm\" color=\"primary\" (onClick)=\"handleSectionEdit(section)\">\r\n <ax-icon class=\"fa-solid fa-pen\"> </ax-icon>\r\n </ax-button>\r\n }\r\n </div>\r\n <div class=\"ax-card-body ax-divide-y ax-divide-gray-100 dark:ax-divide-gray-700 !ax-gap-0\">\r\n <ng-container *ngFor=\"let name of section.properties\">\r\n <ng-container *ngIf=\"loader.getProp(name) as prop\">\r\n <div class=\"ax-grid md:ax-grid-cols-12 ax-gap-2 ax-py-4 first:ax-pt-0 last:ax-pb-0\">\r\n @if(section.options?.showPropTitle!=false){\r\n <div\r\n class=\"ax-col-span-12 md:ax-col-span-3 lg:ax-col-span-2 ax-flex ax-items-center md:ax-items-start ax-justify-between\">\r\n <div class=\"ax-flex ax-flex-col ax-items-start\">\r\n <span class=\"ax-font-semibold\">{{ prop.title }}</span>\r\n <!-- @if(prop.description) {\r\n <i\r\n class=\"fa-solid fa-circle-info fa-sm ax-text-neutral-500 dark:ax-text-neutral-400 ax-cursor-pointer\"\r\n [axTooltip]=\"prop.description\"\r\n [axTooltipPlacement]=\"'end'\"\r\n ></i>\r\n } -->\r\n @if(prop.description) {\r\n <span class=\"ax-text-neutral-500 ax-text-xs\">{{ prop.description }}</span>\r\n }\r\n </div>\r\n </div>\r\n }\r\n <div\r\n [class]=\"section.options?.showPropTitle == false ? 'ax-col-span-12' : 'ax-col-span-12 md:ax-col-span-9 lg:ax-col-span-10'\">\r\n <axp-widget-renderer [schema]=\"prop.schema\" [context]=\"context()\" [prop]=\"prop\"\r\n [mode]=\"'view'\"></axp-widget-renderer>\r\n </div>\r\n </div>\r\n </ng-container>\r\n </ng-container>\r\n </div>\r\n </div>\r\n </ax-form>\r\n }\r\n </div>\r\n </ax-content>\r\n</ax-drawer-container>", dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i3.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "pipe", type: i3.AsyncPipe, name: "async" }, { kind: "ngmodule", type: RouterModule }, { kind: "ngmodule", type: AXButtonModule }, { kind: "component", type: i4.AXButtonComponent, selector: "ax-button", inputs: ["disabled", "size", "tabIndex", "color", "look", "text", "toggleable", "selected", "type"], outputs: ["onBlur", "onFocus", "onClick", "selectedChange", "toggleableChange", "lookChange", "colorChange", "disabledChange"] }, { kind: "component", type: i4.AXButtonItemComponent, selector: "ax-button-item", inputs: ["color", "disabled", "text", "selected", "divided", "data", "name"], outputs: ["onClick", "onFocus", "onBlur", "disabledChange"] }, { kind: "component", type: i4.AXButtonItemListComponent, selector: "ax-button-item-list", inputs: ["items"], outputs: ["onItemClick"] }, { kind: "ngmodule", type: AXDecoratorModule }, { kind: "component", type: i5.AXDecoratorIconComponent, selector: "ax-icon", inputs: ["icon"] }, { kind: "component", type: i5.AXDecoratorGenericComponent, selector: "ax-footer, ax-header, ax-content, ax-divider, ax-form-hint, ax-prefix, ax-suffix, ax-text, ax-title, ax-sub-title, ax-placeholder, ax-overlay" }, { kind: "ngmodule", type: AXBadgeModule }, { kind: "ngmodule", type: AXDropdownModule }, { kind: "component", type: i6.AXDropdownPanelComponent, selector: "ax-dropdown-panel", inputs: ["isOpen", "fitParent", "dropdownWidth", "position", "_target", "adaptivityEnabled"], outputs: ["onOpened", "onClosed"] }, { kind: "ngmodule", type: AXPopoverModule }, { kind: "ngmodule", type: AXFormModule }, { kind: "component", type: i7.AXFormComponent, selector: "ax-form", inputs: ["labelMode", "messageStyle", "updateOn"], outputs: ["onValidate", "updateOnChange"] }, { kind: "ngmodule", type: AXImageModule }, { kind: "ngmodule", type: AXActionSheetModule }, { kind: "ngmodule", type: AXSwitchModule }, { kind: "ngmodule", type: AXDrawerModule }, { kind: "component", type: i8.AXDrawerContainerComponent, selector: "ax-drawer-container" }, { kind: "ngmodule", type: AXDialogModule }, { kind: "ngmodule", type: AXLoadingModule }, { kind: "ngmodule", type: AXTabsModule }, { kind: "component", type: i9.AXTabsComponent, selector: "ax-tabs", inputs: ["look", "location", "fitParent", "minWidth", "content"], outputs: ["onActiveTabChanged"] }, { kind: "component", type: i9.AXTabItemComponent, selector: "ax-tab-item", inputs: ["disabled", "text", "key", "headerTemplate", "active"], outputs: ["disabledChange", "onClick", "onBlur", "onFocus", "activeChange"] }, { kind: "ngmodule", type: AXPSchemaModule }, { kind: "component", type: i10.AXPWidgetRendererComponent, selector: "axp-widget-renderer", inputs: ["context", "prop", "mode", "schema"] }, { kind: "ngmodule", type: AXTooltipModule }, { kind: "ngmodule", type: AXBreadcrumbsModule }, { kind: "ngmodule", type:
142
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.0.2", type: AXPEntityDetailsViewComponent, isStandalone: true, selector: "ng-component", providers: [AXUnsubscriber], viewQueries: [{ propertyName: "drawer", first: true, predicate: ["drawer"], descendants: true }], ngImport: i0, template: "<ax-drawer-container>\n <!-- <ax-drawer #drawer location=\"start\" [collapsed]=\"!(isOpen | async)\" [mode]=\" (isSM | async) ? 'overlay' : 'push'\"\n *ngIf=\"loader.hasSections$ | async\" (collapsedChange)=\"handleCollapsedChange($event)\">\n <ax-content class=\"ax-border-e ax-p-6 ax-w-64\">\n <p class=\"ax-text-xl ax-font-bold ax-mb-6\">{{loader.sectionTitle}}</p>\n <ax-tabs look=\"with-line\" location=\"start\">\n @for(tab of (loader.sections$ | async); track tab.name)\n {\n <ax-tab-item [text]=\"tab.title\" [active]=\"isActive(tab)\" (onClick)=\"handleMenuClick($event,tab)\"\n [disabled]=\"editForm.context\">\n </ax-tab-item>\n }\n </ax-tabs>\n </ax-content>\n </ax-drawer> -->\n <ax-content #content class=\"ax-overflow-x-hidden\">\n <div class=\"ax-flex ax-flex-col ax-gap-4 ax-min-h-full ax-px-4 ax-pb-4 md:ax-px-6 ax-bg-surface ax-border-b md:ax-border-0 md:ax-bg-default\">\n <div\n class=\"ax-flex ax-flex-col ax-pt-4 ax-sticky ax-top-0 ax-z-10 ax-transition-all\"\n #sticky=\"axpSticky\"\n [axpSticky]=\"'ax-bg-surface ax-px-6 ax-py-3 -ax-mx-6 ax-shadow-xl'\"\n [stickyParent]=\"content.getHostElement()\"\n >\n <!-------- Begin Toolbar -------->\n <div class=\"ax-flex ax-justify-between ax-items-center\">\n <!-------- Begin Title -------->\n <div class=\"ax-flex ax-gap-1 ax-items-center\">\n <!-- <ax-button class=\"lg:ax-hidden\">\n <ax-icon class=\"fa-solid fa-chevron-left\"></ax-icon>\n </ax-button> -->\n <div class=\"ax-flex ax-flex-col ax-gap-2\">\n <div class=\"ax-text-xl md:ax-text-3xl ax-font-bold\">{{ loader.title }}</div>\n <!-- <ax-breadcrumbs class=\"child:ax-font-normal child:ax-text-neutral-400\">\n <ng-template #divider>\n <i class=\"fa-solid fa-chevron-right ax-text-xs ax-mx-2\"></i>\n </ng-template>\n <ax-breadcrumbs-item>\n <a>Home</a>\n </ax-breadcrumbs-item>\n <ax-breadcrumbs-item>\n <a>{{ loader.entity.title }}</a>\n </ax-breadcrumbs-item>\n <ax-breadcrumbs-item [active]=\"true\" class=\"!ax-font-semibold !ax-text-neutral-600\">\n {{ loader.title }}\n </ax-breadcrumbs-item>\n </ax-breadcrumbs> -->\n </div>\n </div>\n <!-------- Finish Title -------->\n <!--------------------------------------------------------------->\n <!-- Begin Action Menu -->\n <div class=\"ax-flex ax-items-center ax-gap-3\">\n @if(canCreate || canUpdate) {\n <ax-button [text]=\"(isSM | async) ? null : 'Actions'\" color=\"ghost\">\n <ax-prefix>\n <i class=\"fa-solid fa-ellipsis-vertical\"></i>\n </ax-prefix>\n <ax-dropdown-panel>\n <ax-button-item-list>\n <!-- <ax-button-item text=\"Share\" class=\"ax-font-semibold\">\n <ax-prefix>\n <ax-icon icon=\"fa-solid fa-share\"> </ax-icon>\n </ax-prefix>\n </ax-button-item> \n <ax-divider></ax-divider>-->\n @if(canCreate) {\n <ax-button-item\n [text]=\"('create-new' | translate | async) ?? ' '\"\n class=\"ax-font-semibold ax-text-primary\"\n (onClick)=\"handleCommandClick('create')\"\n >\n <ax-prefix>\n <ax-icon icon=\"fa-solid fa-add\"> </ax-icon>\n </ax-prefix>\n </ax-button-item>\n } @if(canDelete) {\n <ax-button-item text=\"Delete\" class=\"ax-font-semibold ax-text-danger\" (onClick)=\"handleCommandClick('delete')\">\n <ax-prefix>\n <ax-icon icon=\"fa-solid fa-trash\"> </ax-icon>\n </ax-prefix>\n </ax-button-item>\n }\n </ax-button-item-list>\n </ax-dropdown-panel>\n </ax-button>\n }\n </div>\n <!-- Finish Action Menu -->\n </div>\n <!----- Finish Toolbar ----->\n <!--------------------------------------------------------------->\n <!-- Begin Section Tab Items -->\n @if((loader.hasSections$| async)) {\n <ax-tabs look=\"with-line\" location=\"bottom\" class=\"ax-mt-2\">\n @for(tab of (loader.sections$ | async); track tab.name) {\n <ax-tab-item [text]=\"tab.title\" [active]=\"isActive(tab)\" (onClick)=\"handleMenuClick($event, tab)\" class=\"first:!ax-ms-0\"> </ax-tab-item>\n }\n </ax-tabs>\n }\n <!-- Finish Section Tab Items -->\n </div>\n @for(section of (loader.section$ | async)?.sections; track section.name) {\n <ax-form #form>\n <div class=\"ax-card ax-shadow-md\">\n <div class=\"ax-card-header\">\n <p>{{ section.title }}</p>\n @if(canUpdate) {\n <ax-button text=\"Modify\" class=\"ax-sm\" color=\"primary\" (onClick)=\"handleSectionEdit(section)\">\n <ax-icon class=\"fa-solid fa-pen\"> </ax-icon>\n </ax-button>\n }\n </div>\n <div class=\"ax-card-body ax-divide-y ax-divide-gray-100 dark:ax-divide-gray-700 !ax-gap-0\">\n <ng-container *ngFor=\"let name of section.properties\">\n <ng-container *ngIf=\"loader.getProp(name) as prop\">\n <div class=\"ax-grid md:ax-grid-cols-12 ax-gap-2 ax-py-4 first:ax-pt-0 last:ax-pb-0\">\n @if(section.options?.showPropTitle!=false){\n <div class=\"ax-col-span-12 md:ax-col-span-3 lg:ax-col-span-2 ax-flex ax-items-center md:ax-items-start ax-justify-between\">\n <div class=\"ax-flex ax-flex-col ax-items-start\">\n <span class=\"ax-font-semibold\">{{ prop.title }}</span>\n <!-- @if(prop.description) {\n <i\n class=\"fa-solid fa-circle-info fa-sm ax-text-neutral-500 dark:ax-text-neutral-400 ax-cursor-pointer\"\n [axTooltip]=\"prop.description\"\n [axTooltipPlacement]=\"'end'\"\n ></i>\n } -->\n @if(prop.description) {\n <span class=\"ax-text-neutral-500 ax-text-xs\">{{ prop.description }}</span>\n }\n </div>\n </div>\n }\n <div [class]=\"section.options?.showPropTitle == false ? 'ax-col-span-12' : 'ax-col-span-12 md:ax-col-span-9 lg:ax-col-span-10'\">\n <axp-widget-renderer [schema]=\"prop.schema\" [context]=\"context()\" [prop]=\"prop\" [mode]=\"'view'\"></axp-widget-renderer>\n </div>\n </div>\n </ng-container>\n </ng-container>\n </div>\n </div>\n </ax-form>\n }\n </div>\n </ax-content>\n</ax-drawer-container>\n", dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i3.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "pipe", type: i3.AsyncPipe, name: "async" }, { kind: "ngmodule", type: RouterModule }, { kind: "ngmodule", type: AXButtonModule }, { kind: "component", type: i4.AXButtonComponent, selector: "ax-button", inputs: ["disabled", "size", "tabIndex", "color", "look", "text", "toggleable", "selected", "type", "loadingText"], outputs: ["onBlur", "onFocus", "onClick", "selectedChange", "toggleableChange", "lookChange", "colorChange", "disabledChange", "loadingTextChange"] }, { kind: "component", type: i4.AXButtonItemComponent, selector: "ax-button-item", inputs: ["color", "disabled", "text", "selected", "divided", "data", "name"], outputs: ["onClick", "onFocus", "onBlur", "disabledChange"] }, { kind: "component", type: i4.AXButtonItemListComponent, selector: "ax-button-item-list", inputs: ["items"], outputs: ["onItemClick"] }, { kind: "ngmodule", type: AXDecoratorModule }, { kind: "component", type: i5.AXDecoratorIconComponent, selector: "ax-icon", inputs: ["icon"] }, { kind: "component", type: i5.AXDecoratorGenericComponent, selector: "ax-footer, ax-header, ax-content, ax-divider, ax-form-hint, ax-prefix, ax-suffix, ax-text, ax-title, ax-sub-title, ax-placeholder, ax-overlay" }, { kind: "ngmodule", type: AXBadgeModule }, { kind: "ngmodule", type: AXDropdownModule }, { kind: "component", type: i6.AXDropdownPanelComponent, selector: "ax-dropdown-panel", inputs: ["isOpen", "fitParent", "dropdownWidth", "position", "_target", "adaptivityEnabled"], outputs: ["onOpened", "onClosed"] }, { kind: "ngmodule", type: AXPopoverModule }, { kind: "ngmodule", type: AXFormModule }, { kind: "component", type: i7.AXFormComponent, selector: "ax-form", inputs: ["labelMode", "messageStyle", "updateOn"], outputs: ["onValidate", "updateOnChange"] }, { kind: "ngmodule", type: AXImageModule }, { kind: "ngmodule", type: AXActionSheetModule }, { kind: "ngmodule", type: AXSwitchModule }, { kind: "ngmodule", type: AXDrawerModule }, { kind: "component", type: i8.AXDrawerContainerComponent, selector: "ax-drawer-container" }, { kind: "ngmodule", type: AXDialogModule }, { kind: "ngmodule", type: AXLoadingModule }, { kind: "ngmodule", type: AXTabsModule }, { kind: "component", type: i9.AXTabsComponent, selector: "ax-tabs", inputs: ["look", "location", "fitParent", "minWidth", "content"], outputs: ["onActiveTabChanged"] }, { kind: "component", type: i9.AXTabItemComponent, selector: "ax-tab-item", inputs: ["disabled", "text", "key", "headerTemplate", "active"], outputs: ["disabledChange", "onClick", "onBlur", "onFocus", "activeChange"] }, { kind: "ngmodule", type: AXPSchemaModule }, { kind: "component", type: i10.AXPWidgetRendererComponent, selector: "axp-widget-renderer", inputs: ["context", "prop", "mode", "schema"] }, { kind: "ngmodule", type: AXTooltipModule }, { kind: "ngmodule", type: AXBreadcrumbsModule }, { kind: "ngmodule", type: AXTranslationModule }, { kind: "pipe", type: i11.AXTranslatorPipe, name: "translate" }, { kind: "ngmodule", type:
142
143
  //
143
144
  AXPCommonWidgetModule }, { kind: "directive", type: AXPStickyDirective, selector: "[axpSticky]", inputs: ["axpSticky", "stickyOffset", "stickyParent", "stickyTarget"], outputs: ["isStickyChange"], exportAs: ["axpSticky"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
144
145
  }
@@ -166,12 +167,13 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.2", ngImpor
166
167
  AXPSchemaModule,
167
168
  AXTooltipModule,
168
169
  AXBreadcrumbsModule,
170
+ AXTranslationModule,
169
171
  //
170
172
  AXPCommonWidgetModule,
171
173
  AXPStickyDirective,
172
- ], standalone: true, changeDetection: ChangeDetectionStrategy.OnPush, providers: [AXUnsubscriber], template: "<ax-drawer-container>\r\n <!-- <ax-drawer #drawer location=\"start\" [collapsed]=\"!(isOpen | async)\" [mode]=\" (isSM | async) ? 'overlay' : 'push'\"\r\n *ngIf=\"loader.hasSections$ | async\" (collapsedChange)=\"handleCollapsedChange($event)\">\r\n <ax-content class=\"ax-border-e ax-p-6 ax-w-64\">\r\n <p class=\"ax-text-xl ax-font-bold ax-mb-6\">{{loader.sectionTitle}}</p>\r\n <ax-tabs look=\"with-line\" location=\"start\">\r\n @for(tab of (loader.sections$ | async); track tab.name)\r\n {\r\n <ax-tab-item [text]=\"tab.title\" [active]=\"isActive(tab)\" (onClick)=\"handleMenuClick($event,tab)\"\r\n [disabled]=\"editForm.context\">\r\n </ax-tab-item>\r\n }\r\n </ax-tabs>\r\n </ax-content>\r\n </ax-drawer> -->\r\n <ax-content #content class=\"ax-overflow-x-hidden\">\r\n <div\r\n class=\"ax-flex ax-flex-col ax-gap-4 ax-min-h-full ax-px-4 ax-pb-4 md:ax-px-6 ax-bg-surface ax-border-b md:ax-border-0 md:ax-bg-default\">\r\n <div class=\"ax-flex ax-flex-col ax-pt-4 ax-sticky ax-top-0 ax-z-10 ax-transition-all\" #sticky=\"axpSticky\"\r\n [axpSticky]=\"'ax-bg-surface ax-px-6 ax-py-3 -ax-mx-6 ax-shadow-xl'\" [stickyParent]=\"content.getHostElement()\">\r\n <!-------- Begin Toolbar -------->\r\n <div class=\"ax-flex ax-justify-between ax-items-center\">\r\n <!-------- Begin Title -------->\r\n <div class=\"ax-flex ax-gap-1 ax-items-center\">\r\n <!-- <ax-button class=\"lg:ax-hidden\">\r\n <ax-icon class=\"fa-solid fa-chevron-left\"></ax-icon>\r\n </ax-button> -->\r\n <div class=\"ax-flex ax-flex-col ax-gap-2\">\r\n <div class=\"ax-text-xl md:ax-text-3xl ax-font-bold\">{{ loader.title }}</div>\r\n <!-- <ax-breadcrumbs class=\"child:ax-font-normal child:ax-text-neutral-400\">\r\n <ng-template #divider>\r\n <i class=\"fa-solid fa-chevron-right ax-text-xs ax-mx-2\"></i>\r\n </ng-template>\r\n <ax-breadcrumbs-item>\r\n <a>Home</a>\r\n </ax-breadcrumbs-item>\r\n <ax-breadcrumbs-item>\r\n <a>{{ loader.entity.title }}</a>\r\n </ax-breadcrumbs-item>\r\n <ax-breadcrumbs-item [active]=\"true\" class=\"!ax-font-semibold !ax-text-neutral-600\">\r\n {{ loader.title }}\r\n </ax-breadcrumbs-item>\r\n </ax-breadcrumbs> -->\r\n </div>\r\n </div>\r\n <!-------- Finish Title -------->\r\n <!--------------------------------------------------------------->\r\n <!-- Begin Action Menu -->\r\n <div class=\"ax-flex ax-items-center ax-gap-3\">\r\n @if(canCreate || canUpdate) {\r\n <ax-button [text]=\"(isSM | async) ? null : 'Actions'\" color=\"ghost\">\r\n <ax-prefix>\r\n <i class=\"fa-solid fa-ellipsis-vertical\"></i>\r\n </ax-prefix>\r\n <ax-dropdown-panel>\r\n <ax-button-item-list>\r\n <!-- <ax-button-item text=\"Share\" class=\"ax-font-semibold\">\r\n <ax-prefix>\r\n <ax-icon icon=\"fa-solid fa-share\"> </ax-icon>\r\n </ax-prefix>\r\n </ax-button-item> \r\n <ax-divider></ax-divider>-->\r\n @if(canCreate) {\r\n <ax-button-item text=\"Create New One\" class=\"ax-font-semibold ax-text-primary\"\r\n (onClick)=\"handleCommandClick('create')\">\r\n <ax-prefix>\r\n <ax-icon icon=\"fa-solid fa-add\"> </ax-icon>\r\n </ax-prefix>\r\n </ax-button-item>\r\n } @if(canDelete) {\r\n <ax-button-item text=\"Delete\" class=\"ax-font-semibold ax-text-danger\"\r\n (onClick)=\"handleCommandClick('delete')\">\r\n <ax-prefix>\r\n <ax-icon icon=\"fa-solid fa-trash\"> </ax-icon>\r\n </ax-prefix>\r\n </ax-button-item>\r\n }\r\n </ax-button-item-list>\r\n </ax-dropdown-panel>\r\n </ax-button>\r\n }\r\n </div>\r\n <!-- Finish Action Menu -->\r\n </div>\r\n <!----- Finish Toolbar ----->\r\n <!--------------------------------------------------------------->\r\n <!-- Begin Section Tab Items -->\r\n @if((loader.hasSections$| async)) {\r\n <ax-tabs look=\"with-line\" location=\"bottom\" class=\"ax-mt-2\">\r\n @for(tab of (loader.sections$ | async); track tab.name) {\r\n <ax-tab-item [text]=\"tab.title\" [active]=\"isActive(tab)\" (onClick)=\"handleMenuClick($event, tab)\"\r\n class=\"first:!ax-ms-0\"> </ax-tab-item>\r\n }\r\n </ax-tabs>\r\n }\r\n <!-- Finish Section Tab Items -->\r\n </div>\r\n @for(section of (loader.section$ | async)?.sections; track section.name) {\r\n <ax-form #form>\r\n <div class=\"ax-card ax-shadow-md\">\r\n <div class=\"ax-card-header\">\r\n <p>{{ section.title }}</p>\r\n @if(canUpdate) {\r\n <ax-button text=\"Modify\" class=\"ax-sm\" color=\"primary\" (onClick)=\"handleSectionEdit(section)\">\r\n <ax-icon class=\"fa-solid fa-pen\"> </ax-icon>\r\n </ax-button>\r\n }\r\n </div>\r\n <div class=\"ax-card-body ax-divide-y ax-divide-gray-100 dark:ax-divide-gray-700 !ax-gap-0\">\r\n <ng-container *ngFor=\"let name of section.properties\">\r\n <ng-container *ngIf=\"loader.getProp(name) as prop\">\r\n <div class=\"ax-grid md:ax-grid-cols-12 ax-gap-2 ax-py-4 first:ax-pt-0 last:ax-pb-0\">\r\n @if(section.options?.showPropTitle!=false){\r\n <div\r\n class=\"ax-col-span-12 md:ax-col-span-3 lg:ax-col-span-2 ax-flex ax-items-center md:ax-items-start ax-justify-between\">\r\n <div class=\"ax-flex ax-flex-col ax-items-start\">\r\n <span class=\"ax-font-semibold\">{{ prop.title }}</span>\r\n <!-- @if(prop.description) {\r\n <i\r\n class=\"fa-solid fa-circle-info fa-sm ax-text-neutral-500 dark:ax-text-neutral-400 ax-cursor-pointer\"\r\n [axTooltip]=\"prop.description\"\r\n [axTooltipPlacement]=\"'end'\"\r\n ></i>\r\n } -->\r\n @if(prop.description) {\r\n <span class=\"ax-text-neutral-500 ax-text-xs\">{{ prop.description }}</span>\r\n }\r\n </div>\r\n </div>\r\n }\r\n <div\r\n [class]=\"section.options?.showPropTitle == false ? 'ax-col-span-12' : 'ax-col-span-12 md:ax-col-span-9 lg:ax-col-span-10'\">\r\n <axp-widget-renderer [schema]=\"prop.schema\" [context]=\"context()\" [prop]=\"prop\"\r\n [mode]=\"'view'\"></axp-widget-renderer>\r\n </div>\r\n </div>\r\n </ng-container>\r\n </ng-container>\r\n </div>\r\n </div>\r\n </ax-form>\r\n }\r\n </div>\r\n </ax-content>\r\n</ax-drawer-container>" }]
174
+ ], standalone: true, changeDetection: ChangeDetectionStrategy.OnPush, providers: [AXUnsubscriber], template: "<ax-drawer-container>\n <!-- <ax-drawer #drawer location=\"start\" [collapsed]=\"!(isOpen | async)\" [mode]=\" (isSM | async) ? 'overlay' : 'push'\"\n *ngIf=\"loader.hasSections$ | async\" (collapsedChange)=\"handleCollapsedChange($event)\">\n <ax-content class=\"ax-border-e ax-p-6 ax-w-64\">\n <p class=\"ax-text-xl ax-font-bold ax-mb-6\">{{loader.sectionTitle}}</p>\n <ax-tabs look=\"with-line\" location=\"start\">\n @for(tab of (loader.sections$ | async); track tab.name)\n {\n <ax-tab-item [text]=\"tab.title\" [active]=\"isActive(tab)\" (onClick)=\"handleMenuClick($event,tab)\"\n [disabled]=\"editForm.context\">\n </ax-tab-item>\n }\n </ax-tabs>\n </ax-content>\n </ax-drawer> -->\n <ax-content #content class=\"ax-overflow-x-hidden\">\n <div class=\"ax-flex ax-flex-col ax-gap-4 ax-min-h-full ax-px-4 ax-pb-4 md:ax-px-6 ax-bg-surface ax-border-b md:ax-border-0 md:ax-bg-default\">\n <div\n class=\"ax-flex ax-flex-col ax-pt-4 ax-sticky ax-top-0 ax-z-10 ax-transition-all\"\n #sticky=\"axpSticky\"\n [axpSticky]=\"'ax-bg-surface ax-px-6 ax-py-3 -ax-mx-6 ax-shadow-xl'\"\n [stickyParent]=\"content.getHostElement()\"\n >\n <!-------- Begin Toolbar -------->\n <div class=\"ax-flex ax-justify-between ax-items-center\">\n <!-------- Begin Title -------->\n <div class=\"ax-flex ax-gap-1 ax-items-center\">\n <!-- <ax-button class=\"lg:ax-hidden\">\n <ax-icon class=\"fa-solid fa-chevron-left\"></ax-icon>\n </ax-button> -->\n <div class=\"ax-flex ax-flex-col ax-gap-2\">\n <div class=\"ax-text-xl md:ax-text-3xl ax-font-bold\">{{ loader.title }}</div>\n <!-- <ax-breadcrumbs class=\"child:ax-font-normal child:ax-text-neutral-400\">\n <ng-template #divider>\n <i class=\"fa-solid fa-chevron-right ax-text-xs ax-mx-2\"></i>\n </ng-template>\n <ax-breadcrumbs-item>\n <a>Home</a>\n </ax-breadcrumbs-item>\n <ax-breadcrumbs-item>\n <a>{{ loader.entity.title }}</a>\n </ax-breadcrumbs-item>\n <ax-breadcrumbs-item [active]=\"true\" class=\"!ax-font-semibold !ax-text-neutral-600\">\n {{ loader.title }}\n </ax-breadcrumbs-item>\n </ax-breadcrumbs> -->\n </div>\n </div>\n <!-------- Finish Title -------->\n <!--------------------------------------------------------------->\n <!-- Begin Action Menu -->\n <div class=\"ax-flex ax-items-center ax-gap-3\">\n @if(canCreate || canUpdate) {\n <ax-button [text]=\"(isSM | async) ? null : 'Actions'\" color=\"ghost\">\n <ax-prefix>\n <i class=\"fa-solid fa-ellipsis-vertical\"></i>\n </ax-prefix>\n <ax-dropdown-panel>\n <ax-button-item-list>\n <!-- <ax-button-item text=\"Share\" class=\"ax-font-semibold\">\n <ax-prefix>\n <ax-icon icon=\"fa-solid fa-share\"> </ax-icon>\n </ax-prefix>\n </ax-button-item> \n <ax-divider></ax-divider>-->\n @if(canCreate) {\n <ax-button-item\n [text]=\"('create-new' | translate | async) ?? ' '\"\n class=\"ax-font-semibold ax-text-primary\"\n (onClick)=\"handleCommandClick('create')\"\n >\n <ax-prefix>\n <ax-icon icon=\"fa-solid fa-add\"> </ax-icon>\n </ax-prefix>\n </ax-button-item>\n } @if(canDelete) {\n <ax-button-item text=\"Delete\" class=\"ax-font-semibold ax-text-danger\" (onClick)=\"handleCommandClick('delete')\">\n <ax-prefix>\n <ax-icon icon=\"fa-solid fa-trash\"> </ax-icon>\n </ax-prefix>\n </ax-button-item>\n }\n </ax-button-item-list>\n </ax-dropdown-panel>\n </ax-button>\n }\n </div>\n <!-- Finish Action Menu -->\n </div>\n <!----- Finish Toolbar ----->\n <!--------------------------------------------------------------->\n <!-- Begin Section Tab Items -->\n @if((loader.hasSections$| async)) {\n <ax-tabs look=\"with-line\" location=\"bottom\" class=\"ax-mt-2\">\n @for(tab of (loader.sections$ | async); track tab.name) {\n <ax-tab-item [text]=\"tab.title\" [active]=\"isActive(tab)\" (onClick)=\"handleMenuClick($event, tab)\" class=\"first:!ax-ms-0\"> </ax-tab-item>\n }\n </ax-tabs>\n }\n <!-- Finish Section Tab Items -->\n </div>\n @for(section of (loader.section$ | async)?.sections; track section.name) {\n <ax-form #form>\n <div class=\"ax-card ax-shadow-md\">\n <div class=\"ax-card-header\">\n <p>{{ section.title }}</p>\n @if(canUpdate) {\n <ax-button text=\"Modify\" class=\"ax-sm\" color=\"primary\" (onClick)=\"handleSectionEdit(section)\">\n <ax-icon class=\"fa-solid fa-pen\"> </ax-icon>\n </ax-button>\n }\n </div>\n <div class=\"ax-card-body ax-divide-y ax-divide-gray-100 dark:ax-divide-gray-700 !ax-gap-0\">\n <ng-container *ngFor=\"let name of section.properties\">\n <ng-container *ngIf=\"loader.getProp(name) as prop\">\n <div class=\"ax-grid md:ax-grid-cols-12 ax-gap-2 ax-py-4 first:ax-pt-0 last:ax-pb-0\">\n @if(section.options?.showPropTitle!=false){\n <div class=\"ax-col-span-12 md:ax-col-span-3 lg:ax-col-span-2 ax-flex ax-items-center md:ax-items-start ax-justify-between\">\n <div class=\"ax-flex ax-flex-col ax-items-start\">\n <span class=\"ax-font-semibold\">{{ prop.title }}</span>\n <!-- @if(prop.description) {\n <i\n class=\"fa-solid fa-circle-info fa-sm ax-text-neutral-500 dark:ax-text-neutral-400 ax-cursor-pointer\"\n [axTooltip]=\"prop.description\"\n [axTooltipPlacement]=\"'end'\"\n ></i>\n } -->\n @if(prop.description) {\n <span class=\"ax-text-neutral-500 ax-text-xs\">{{ prop.description }}</span>\n }\n </div>\n </div>\n }\n <div [class]=\"section.options?.showPropTitle == false ? 'ax-col-span-12' : 'ax-col-span-12 md:ax-col-span-9 lg:ax-col-span-10'\">\n <axp-widget-renderer [schema]=\"prop.schema\" [context]=\"context()\" [prop]=\"prop\" [mode]=\"'view'\"></axp-widget-renderer>\n </div>\n </div>\n </ng-container>\n </ng-container>\n </div>\n </div>\n </ax-form>\n }\n </div>\n </ax-content>\n</ax-drawer-container>\n" }]
173
175
  }], ctorParameters: () => [{ type: i1.Actions }, { type: i2.AXUnsubscriber }], propDecorators: { drawer: [{
174
176
  type: ViewChild,
175
177
  args: ['drawer']
176
178
  }] } });
177
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZW50aXR5LWRldGFpbHMtdmlldy5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL3BsYXRmb3JtL2xheW91dHMvc3JjL2xpYi9hZG1pbi9lbnRpdHktbGF5b3V0L2VudGl0eS1kZXRhaWxzLXZpZXcvZW50aXR5LWRldGFpbHMtdmlldy5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL3BsYXRmb3JtL2xheW91dHMvc3JjL2xpYi9hZG1pbi9lbnRpdHktbGF5b3V0L2VudGl0eS1kZXRhaWxzLXZpZXcvZW50aXR5LWRldGFpbHMtdmlldy5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxpQ0FBaUMsQ0FBQztBQUN0RSxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFDekQsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sZ0NBQWdDLENBQUM7QUFDckUsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBRTNELE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLCtCQUErQixDQUFDO0FBQ2xFLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUMzRCxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsY0FBYyxFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFDOUUsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sNkJBQTZCLENBQUM7QUFDL0QsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBQ3ZELE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUN6RCxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFDN0QsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLDRCQUE0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Yzt3QkFDZCxpQkFBaUI7d0JBQ2pCLGFBQWE7d0JBQ2IsZ0JBQWdCO3dCQUNoQixlQUFlO3dCQUNmLFlBQVk7d0JBQ1osYUFBYTt3QkFDYixtQkFBbUI7d0JBQ25CLGNBQWM7d0JBQ2QsY0FBYzt3QkFDZCxjQUFjO3dCQUNkLGVBQWU7d0JBQ2YsWUFBWTt3QkFDWixhQUFhO3dCQUNiLGNBQWM7d0JBQ2QsY0FBYzt3QkFDZCxlQUFlO3dCQUNmLGVBQWU7d0JBQ2YsbUJBQW1CO3dCQUNuQixFQUFFO3dCQUNGLHFCQUFxQjt3QkFDckIsa0JBQWtCO3FCQUNuQixjQUNXLElBQUksbUJBQ0MsdUJBQXVCLENBQUMsTUFBTSxhQUNwQyxDQUFDLGNBQWMsQ0FBQzt5R0FjTixNQUFNO3NCQUExQixTQUFTO3VCQUFDLFFBQVEiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBBWEFjdGlvblNoZWV0TW9kdWxlIH0gZnJvbSAnQGFjb3JleC9jb21wb25lbnRzL2FjdGlvbi1zaGVldCc7XHJcbmltcG9ydCB7IEFYQmFkZ2VNb2R1bGUgfSBmcm9tICdAYWNvcmV4L2NvbXBvbmVudHMvYmFkZ2UnO1xyXG5pbXBvcnQgeyBBWEJyZWFkY3J1bWJzTW9kdWxlIH0gZnJvbSAnQGFjb3JleC9jb21wb25lbnRzL2JyZWFkY3J1bWJzJztcclxuaW1wb3J0IHsgQVhCdXR0b25Nb2R1bGUgfSBmcm9tICdAYWNvcmV4L2NvbXBvbmVudHMvYnV0dG9uJztcclxuaW1wb3J0IHsgQVhIdG1sRXZlbnQgfSBmcm9tICdAYWNvcmV4L2NvbXBvbmVudHMvY29tbW9uJztcclxuaW1wb3J0IHsgQVhEZWNvcmF0b3JNb2R1bGUgfSBmcm9tICdAYWNvcmV4L2NvbXBvbmVudHMvZGVjb3JhdG9ycyc7XHJcbmltcG9ydCB7IEFYRGlhbG9nTW9kdWxlIH0gZnJvbSAnQGFjb3JleC9jb21wb25lbnRzL2RpYWxvZyc7XHJcbmltcG9ydCB7IEFYRHJhd2VyQ29tcG9uZW50LCBBWERyYXdlck1vZHVsZSB9IGZyb20gJ0BhY29yZXgvY29tcG9uZW50cy9kcmF3ZXInO1xyXG5pbXBvcnQgeyBBWERyb3Bkb3duTW9kdWxlIH0gZnJvbSAnQGFjb3JleC9jb21wb25lbnRzL2Ryb3Bkb3duJztcclxuaW1wb3J0IHsgQVhGb3JtTW9kdWxlIH0gZnJvbSAnQGFjb3JleC9jb21wb25lbnRzL2Zvcm0nO1xyXG5pbXBvcnQgeyBBWEltYWdlTW9kdWxlIH0gZnJvbSAnQGFjb3JleC9jb21wb25lbnRzL2ltYWdlJztcclxuaW1wb3J0IHsgQVhMb2FkaW5nTW9kdWxlIH0gZnJvbSAnQGFjb3JleC9jb21wb25lbnRzL2xvYWRpbmcnO1xyXG5pbXBvcnQgeyBBWFBvcG92ZXJNb2R1bGUgfSBmcm9tICdAYWNvcmV4L2NvbXBvbmVudHMvcG9wb3Zlcic7XHJcbmltcG9ydCB7IEFYUG9wdXBTZXJ2aWNlIH0gZnJvbSAnQGFjb3JleC9jb21wb25lbnRzL3BvcHVwJztcclxuaW1wb3J0IHsgQVhTd2l0Y2hNb2R1bGUgfSBmcm9tICdAYWNvcmV4L2NvbXBvbmVudHMvc3dpdGNoJztcclxuaW1wb3J0IHsgQVhUYWJzTW9kdWxlIH0gZnJvbSAnQGFjb3JleC9jb21wb25lbnRzL3RhYnMnO1xyXG5pbXBvcnQgeyBBWFRvb2x0aXBNb2R1bGUgfSBmcm9tICdAYWNvcmV4L2NvbXBvbmVudHMvdG9vbHRpcCc7XHJcbmltcG9ydCB7IEFYUGxhdGZvcm0gfSBmcm9tICdAYWNvcmV4L2NvcmUvcGxhdGZvcm0nO1xyXG5pbXBvcnQgeyBBWFVuc3Vic2NyaWJlciB9IGZyb20gJ0BhY29yZXgvY29yZS91dGlscyc7XHJcbmltcG9ydCB7IEFYUFNlc3Npb25TZXJ2aWNlIH0gZnJvbSAnQGFjb3JleC9wbGF0Zm9ybS9hdXRoJztcclxuaW1wb3J0IHsgQVhQQWRtaW5MYXlvdXRTdGF0ZSwgQVhQTGF5b3V0Q2hpbGREcmF3ZXJDbG9zZSwgQVhQTGF5b3V0Q2hpbGREcmF3ZXJUb2dnbGUsIEFYUFN0aWNreURpcmVjdGl2ZSwgZ2V0Q2hpbGREcmF3ZXIsIGlzU21hbGxTY3JlZW4gfSBmcm9tICdAYWNvcmV4L3BsYXRmb3JtL2NvbW1vbic7XHJcbmltcG9ydCB7IEFYUENvbW1vbldpZGdldE1vZHVsZSwgQVhQRW50aXR5Vmlld0NoaWxkU2VjdGlvbkNvbmZpZywgQVhQU2NoZW1hTW9kdWxlIH0gZnJvbSAnQGFjb3JleC9wbGF0Zm9ybS9jb21tb24nO1xyXG5pbXBvcnQgeyBBWFBXb3JrZmxvd1NlcnZpY2UgfSBmcm9tICdAYWNvcmV4L3BsYXRmb3JtL3dvcmtmbG93JztcclxuaW1wb3J0IHsgQ29tbW9uTW9kdWxlLCBMb2NhdGlvbiB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XHJcbmltcG9ydCB7IENoYW5nZURldGVjdGlvblN0cmF0ZWd5LCBDaGFuZ2VEZXRlY3RvclJlZiwgQ29tcG9uZW50LCBWaWV3Q2hpbGQsIFdyaXRhYmxlU2lnbmFsLCBpbmplY3QsIHNpZ25hbCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBBY3RpdmF0ZWRSb3V0ZSwgUm91dGVyLCBSb3V0ZXJNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9yb3V0ZXInO1xyXG5pbXBvcnQgeyBBY3Rpb25zLCBvZlR5cGUgfSBmcm9tICdAbmdyeC9lZmZlY3RzJztcclxuaW1wb3J0IHsgU3RvcmUgfSBmcm9tICdAbmdyeC9zdG9yZSc7XHJcbmltcG9ydCB7IGNsb25lRGVlcCB9IGZyb20gJ2xvZGFzaC1lcyc7XHJcbmltcG9ydCB7IGZpcnN0IH0gZnJvbSAncnhqcyc7XHJcbmltcG9ydCB7IEFYUEVudGl0eURldGFpbFZpZXdMb2FkZXIgfSBmcm9tICcuL2RldGFpbC12aWV3LmNvbmZpZyc7XHJcbmltcG9ydCB7IEFYUEVudGl0eURlbGV0ZWRFdmVudCwgQVhQRW50aXR5TW9kaWZ5RXZlbnQgfSBmcm9tICcuLi93b3JrZmxvd3MnO1xyXG5AQ29tcG9uZW50KHtcclxuICB0ZW1wbGF0ZVVybDogJy4vZW50aXR5LWRldGFpbHMtdmlldy5jb21wb25lbnQuaHRtbCcsXHJcbiAgaW1wb3J0czogW1xyXG4gICAgQ29tbW9uTW9kdWxlLFxyXG4gICAgUm91dGVyTW9kdWxlLFxyXG4gICAgQVhCdXR0b25Nb2R1bGUsXHJcbiAgICBBWERlY29yYXRvck1vZHVsZSxcclxuICAgIEFYQmFkZ2VNb2R1bGUsXHJcbiAgICBBWERyb3Bkb3duTW9kdWxlLFxyXG4gICAgQVhQb3BvdmVyTW9kdWxlLFxyXG4gICAgQVhGb3JtTW9kdWxlLFxyXG4gICAgQVhJbWFnZU1vZHVsZSxcclxuICAgIEFYQWN0aW9uU2hlZXRNb2R1bGUsXHJcbiAgICBBWFN3aXRjaE1vZHVsZSxcclxuICAgIEFYRHJhd2VyTW9kdWxlLFxyXG4gICAgQVhEaWFsb2dNb2R1bGUsXHJcbiAgICBBWExvYWRpbmdNb2R1bGUsXHJcbiAgICBBWFRhYnNNb2R1bGUsXHJcbiAgICBBWEJhZGdlTW9kdWxlLFxyXG4gICAgQVhCdXR0b25Nb2R1bGUsXHJcbiAgICBBWFN3aXRjaE1vZHVsZSxcclxuICAgIEFYUFNjaGVtYU1vZHVsZSxcclxuICAgIEFYVG9vbHRpcE1vZHVsZSxcclxuICAgIEFYQnJlYWRjcnVtYnNNb2R1bGUsXHJcbiAgICAvL1xyXG4gICAgQVhQQ29tbW9uV2lkZ2V0TW9kdWxlLFxyXG4gICAgQVhQU3RpY2t5RGlyZWN0aXZlLFxyXG4gIF0sXHJcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcclxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcclxuICBwcm92aWRlcnM6IFtBWFVuc3Vic2NyaWJlcl0sXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBBWFBFbnRpdHlEZXRhaWxzVmlld0NvbXBvbmVudCB7XHJcbiAgcHJpdmF0ZSBwb3B1cFNlcnZpY2UgPSBpbmplY3QoQVhQb3B1cFNlcnZpY2UpO1xyXG4gIHByaXZhdGUgc2Vzc2lvblNlcnZpY2UgPSBpbmplY3QoQVhQU2Vzc2lvblNlcnZpY2UpO1xyXG4gIHByaXZhdGUgYWN0aXZlUm91dGUgPSBpbmplY3QoQWN0aXZhdGVkUm91dGUpO1xyXG4gIHByaXZhdGUgcm91dGVyID0gaW5qZWN0KFJvdXRlcik7XHJcbiAgcHJpdmF0ZSBsb2NhdGlvbiA9IGluamVjdChMb2NhdGlvbik7XHJcbiAgcHJpdmF0ZSBjZHIgPSBpbmplY3QoQ2hhbmdlRGV0ZWN0b3JSZWYpO1xyXG4gIHByaXZhdGUgcGxhdGZvcm0gPSBpbmplY3QoQVhQbGF0Zm9ybSk7XHJcbiAgcHJpdmF0ZSB3b3JrZmxvdyA9IGluamVjdChBWFBXb3JrZmxvd1NlcnZpY2UpO1xyXG5cclxuICBwcm90ZWN0ZWQgbG9hZGVyID0gdGhpcy5hY3RpdmVSb3V0ZS5zbmFwc2hvdC5kYXRhWydsb2FkZXInXSBhcyBBWFBFbnRpdHlEZXRhaWxWaWV3TG9hZGVyO1xyXG5cclxuICBAVmlld0NoaWxkKCdkcmF3ZXInKSBkcmF3ZXIhOiBBWERyYXdlckNvbXBvbmVudDtcclxuXHJcbiAgcHJpdmF0ZSBzdG9yZSA9IGluamVjdChTdG9yZTxBWFBBZG1pbkxheW91dFN0YXRlPik7XHJcbiAgcHJvdGVjdGVkIGlzU00gPSB0aGlzLnN0b3JlLnNlbGVjdChpc1NtYWxsU2NyZWVuKCkpO1xyXG4gIHByb3RlY3RlZCBpc09wZW4gPSB0aGlzLnN0b3JlLnNlbGVjdChnZXRDaGlsZERyYXdlcigpKTtcclxuICAvL1xyXG4gIHByb3RlY3RlZCBjYW5EZWxldGUgPSB0aGlzLmxvYWRlci5lbnRpdHkuZWRpdE9wdGlvbnM/LmRlbGV0ZSA/PyB0cnVlO1xyXG4gIHByb3RlY3RlZCBjYW5DcmVhdGUgPSB0aGlzLmxvYWRlci5lbnRpdHkuZWRpdE9wdGlvbnM/LmNyZWF0ZSA/PyB0cnVlO1xyXG4gIHByb3RlY3RlZCBjYW5VcGRhdGUgPSB0aGlzLmxvYWRlci5lbnRpdHkuZWRpdE9wdGlvbnM/LnVwZGF0ZSA/PyB0cnVlO1xyXG4gIC8vXHJcblxyXG5cclxuICBwcm90ZWN0ZWQgY29udGV4dDogV3JpdGFibGVTaWduYWw8YW55PiA9IHNpZ25hbChjbG9uZURlZXAodGhpcy5sb2FkZXIuZGF0YSkpO1xyXG5cclxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIGFjdGlvbnMkOiBBY3Rpb25zLCBwcml2YXRlIHVuc3Vic2NyaWJlcjogQVhVbnN1YnNjcmliZXIpIHtcclxuICAgIHRoaXMuYWN0aXZlUm91dGUucGFyYW1NYXAucGlwZShmaXJzdCgpKS5zdWJzY3JpYmUoKGMpID0+IHtcclxuICAgICAgdGhpcy5zZXRTZWN0aW9uKGMuZ2V0KCdzZWN0aW9uJykgYXMgc3RyaW5nKTtcclxuICAgIH0pO1xyXG4gICAgLy9cclxuICAgIHRoaXMud29ya2Zsb3cuZXZlbnRzJC5waXBlKG9mVHlwZShBWFBFbnRpdHlEZWxldGVkRXZlbnQpLCB0aGlzLnVuc3Vic2NyaWJlci50YWtlVW50aWxEZXN0cm95KS5zdWJzY3JpYmUoKGV2ZW50KSA9PiB7XHJcbiAgICAgIGlmIChcclxuICAgICAgICBldmVudC5wYXlsb2FkLmVudGl0eSA9PSB0aGlzLmxvYWRlci5lbnRpdHkubmFtZSAmJlxyXG4gICAgICAgIGV2ZW50LnBheWxvYWQubW9kdWxlID09IHRoaXMubG9hZGVyLmVudGl0eS5tb2R1bGUgJiZcclxuICAgICAgICBldmVudC5wYXlsb2FkLmlkLmluY2x1ZGVzKHRoaXMubG9hZGVyLmRhdGEuaWQpXHJcbiAgICAgICkge1xyXG4gICAgICAgIHRoaXMud29ya2Zsb3cuZXhlY3V0ZSgnc2hvdy1saXN0LXZpZXcnLCB7XHJcbiAgICAgICAgICBwYXlsb2FkOiB7XHJcbiAgICAgICAgICAgIG1vZHVsZTogdGhpcy5sb2FkZXIuZW50aXR5Lm1vZHVsZSxcclxuICAgICAgICAgICAgZW50aXR5OiB0aGlzLmxvYWRlci5lbnRpdHkubmFtZSxcclxuICAgICAgICAgIH0sXHJcbiAgICAgICAgfSk7XHJcbiAgICAgIH1cclxuICAgIH0pO1xyXG4gICAgdGhpcy53b3JrZmxvdy5ldmVudHMkLnBpcGUob2ZUeXBlKEFYUEVudGl0eU1vZGlmeUV2ZW50KSwgdGhpcy51bnN1YnNjcmliZXIudGFrZVVudGlsRGVzdHJveSkuc3Vic2NyaWJlKGFzeW5jIChldmVudCkgPT4ge1xyXG4gICAgICBpZiAoXHJcbiAgICAgICAgZXZlbnQucGF5bG9hZC5lbnRpdHkgPT0gdGhpcy5sb2FkZXIuZW50aXR5Lm5hbWUgJiZcclxuICAgICAgICBldmVudC5wYXlsb2FkLm1vZHVsZSA9PSB0aGlzLmxvYWRlci5lbnRpdHkubW9kdWxlICYmXHJcbiAgICAgICAgZXZlbnQucGF5bG9hZC51cGRhdGVWYWx1ZXMuaWQgPT09IHRoaXMubG9hZGVyLmRhdGEuaWRcclxuICAgICAgKSB7XHJcbiAgICAgICAgYXdhaXQgdGhpcy5sb2FkZXIudXBkYXRlKGV2ZW50LnBheWxvYWQudXBkYXRlVmFsdWVzKTtcclxuICAgICAgICB0aGlzLmNvbnRleHQuc2V0KGNsb25lRGVlcCh0aGlzLmxvYWRlci5kYXRhKSk7XHJcbiAgICAgIH1cclxuICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgcHJvdGVjdGVkIGhhbmRsZU1lbnVDbGljayhlOiBBWEh0bWxFdmVudCwgaXRlbTogQVhQRW50aXR5Vmlld0NoaWxkU2VjdGlvbkNvbmZpZykge1xyXG4gICAgY29uc3QgZW50aXR5ID0gdGhpcy5sb2FkZXIuZW50aXR5O1xyXG4gICAgY29uc3QgcGF0aCA9IGAvJHt0aGlzLnNlc3Npb25TZXJ2aWNlLmFwcGxpY2F0aW9uPy5uYW1lfS8ke2VudGl0eS5tb2R1bGV9L2UvJHtlbnRpdHkubmFtZX0vJHt0aGlzLmxvYWRlci5kYXRhPy5pZH0vdmlldy8ke2l0ZW0ubmFtZX1gO1xyXG4gICAgdGhpcy5sb2NhdGlvbi5nbyhwYXRoKTtcclxuICAgIHRoaXMuc2V0U2VjdGlvbihpdGVtLm5hbWUpO1xyXG4gIH1cclxuXHJcbiAgcHJvdGVjdGVkIGhhbmRsZUNvbGxhcHNlZENoYW5nZSh2YWx1ZTogYm9vbGVhbikge1xyXG4gICAgaWYgKHZhbHVlKSB0aGlzLnN0b3JlLmRpc3BhdGNoKEFYUExheW91dENoaWxkRHJhd2VyQ2xvc2UoKSk7XHJcbiAgfVxyXG5cclxuICBwcm90ZWN0ZWQgaGFuZGxlRHJhd2VyQ2xpY2soKSB7XHJcbiAgICB0aGlzLnN0b3JlLmRpc3BhdGNoKEFYUExheW91dENoaWxkRHJhd2VyVG9nZ2xlKCkpO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBzZXRTZWN0aW9uKG5hbWU6IHN0cmluZykge1xyXG4gICAgdGhpcy5sb2FkZXIuc2V0U2VjdGlvbihuYW1lKTtcclxuICB9XHJcblxyXG4gIHByb3RlY3RlZCBhc3luYyBoYW5kbGVTZWN0aW9uRWRpdChzZWN0aW9uOiBBWFBFbnRpdHlWaWV3Q2hpbGRTZWN0aW9uQ29uZmlnKSB7XHJcbiAgICB0aGlzLndvcmtmbG93LmV4ZWN1dGUoJ21vZGlmeS1lbnRpdHknLCB7XHJcbiAgICAgIHBheWxvYWQ6IHtcclxuICAgICAgICBtb2R1bGU6IHRoaXMubG9hZGVyLmVudGl0eS5tb2R1bGUsXHJcbiAgICAgICAgZW50aXR5OiB0aGlzLmxvYWRlci5lbnRpdHkubmFtZSxcclxuICAgICAgICBpZDogdGhpcy5sb2FkZXIuZGF0YS5pZCxcclxuICAgICAgICBzZWN0aW9uOiBzZWN0aW9uLFxyXG4gICAgICB9LFxyXG4gICAgfSk7XHJcbiAgfVxyXG5cclxuICBwcm90ZWN0ZWQgaXNBY3RpdmUoaXRlbTogQVhQRW50aXR5Vmlld0NoaWxkU2VjdGlvbkNvbmZpZykge1xyXG4gICAgcmV0dXJuIGl0ZW0ubmFtZSA9PSB3aW5kb3cubG9jYXRpb24ucGF0aG5hbWUuc3BsaXQoJy8nKS5wb3AoKTtcclxuICB9XHJcblxyXG4gIHByb3RlY3RlZCBoYW5kbGVDb21tYW5kQ2xpY2soY29tbWFuZDogc3RyaW5nKSB7XHJcbiAgICBzd2l0Y2ggKGNvbW1hbmQpIHtcclxuICAgICAgY2FzZSAnZGVsZXRlJzpcclxuICAgICAgICB0aGlzLndvcmtmbG93LmV4ZWN1dGUoJ2RlbGV0ZS1lbnRpdHknLCB7XHJcbiAgICAgICAgICBtb2R1bGU6IHRoaXMubG9hZGVyLmVudGl0eS5tb2R1bGUsXHJcbiAgICAgICAgICBlbnRpdHk6IHRoaXMubG9hZGVyLmVudGl0eS5uYW1lLFxyXG4gICAgICAgICAgaWRzOiBbdGhpcy5sb2FkZXIuZGF0YS5pZF0sXHJcbiAgICAgICAgfSk7XHJcbiAgICAgICAgYnJlYWs7XHJcbiAgICAgIGNhc2UgJ2NyZWF0ZSc6IHtcclxuICAgICAgICB0aGlzLndvcmtmbG93LmV4ZWN1dGUoJ2NyZWF0ZS1lbnRpdHknLCB7XHJcbiAgICAgICAgICBwYXlsb2FkOiB7XHJcbiAgICAgICAgICAgIG1vZHVsZTogdGhpcy5sb2FkZXIuZW50aXR5Lm1vZHVsZSxcclxuICAgICAgICAgICAgZW50aXR5OiB0aGlzLmxvYWRlci5lbnRpdHkubmFtZSxcclxuICAgICAgICAgIH0sXHJcbiAgICAgICAgfSk7XHJcbiAgICAgICAgYnJlYWs7XHJcbiAgICAgIH1cclxuICAgICAgZGVmYXVsdDpcclxuICAgICAgICBicmVhaztcclxuICAgIH1cclxuICB9XHJcbn1cclxuIiwiPGF4LWRyYXdlci1jb250YWluZXI+XHJcbiAgPCEtLSA8YXgtZHJhd2VyICNkcmF3ZXIgbG9jYXRpb249XCJzdGFydFwiIFtjb2xsYXBzZWRdPVwiIShpc09wZW4gfCBhc3luYylcIiBbbW9kZV09XCIgKGlzU00gfCBhc3luYykgPyAnb3ZlcmxheScgOiAncHVzaCdcIlxyXG4gICAgKm5nSWY9XCJsb2FkZXIuaGFzU2VjdGlvbnMkIHwgYXN5bmNcIiAoY29sbGFwc2VkQ2hhbmdlKT1cImhhbmRsZUNvbGxhcHNlZENoYW5nZSgkZXZlbnQpXCI+XHJcbiAgICA8YXgtY29udGVudCBjbGFzcz1cImF4LWJvcmRlci1lIGF4LXAtNiBheC13LTY0XCI+XHJcbiAgICAgIDxwIGNsYXNzPVwiYXgtdGV4dC14bCBheC1mb250LWJvbGQgYXgtbWItNlwiPnt7bG9hZGVyLnNlY3Rpb25UaXRsZX19PC9wPlxyXG4gICAgICA8YXgtdGFicyBsb29rPVwid2l0aC1saW5lXCIgbG9jYXRpb249XCJzdGFydFwiPlxyXG4gICAgICAgIEBmb3IodGFiIG9mIChsb2FkZXIuc2VjdGlvbnMkIHwgYXN5bmMpOyB0cmFjayB0YWIubmFtZSlcclxuICAgICAgICB7XHJcbiAgICAgICAgPGF4LXRhYi1pdGVtIFt0ZXh0XT1cInRhYi50aXRsZVwiIFthY3RpdmVdPVwiaXNBY3RpdmUodGFiKVwiIChvbkNsaWNrKT1cImhhbmRsZU1lbnVDbGljaygkZXZlbnQsdGFiKVwiXHJcbiAgICAgICAgICBbZGlzYWJsZWRdPVwiZWRpdEZvcm0uY29udGV4dFwiPlxyXG4gICAgICAgIDwvYXgtdGFiLWl0ZW0+XHJcbiAgICAgICAgfVxyXG4gICAgICA8L2F4LXRhYnM+XHJcbiAgICA8L2F4LWNvbnRlbnQ+XHJcbiAgPC9heC1kcmF3ZXI+IC0tPlxyXG4gIDxheC1jb250ZW50ICNjb250ZW50IGNsYXNzPVwiYXgtb3ZlcmZsb3cteC1oaWRkZW5cIj5cclxuICAgIDxkaXZcclxuICAgICAgY2xhc3M9XCJheC1mbGV4IGF4LWZsZXgtY29sIGF4LWdhcC00IGF4LW1pbi1oLWZ1bGwgYXgtcHgtNCBheC1wYi00IG1kOmF4LXB4LTYgYXgtYmctc3VyZmFjZSAgIGF4LWJvcmRlci1iIG1kOmF4LWJvcmRlci0wIG1kOmF4LWJnLWRlZmF1bHRcIj5cclxuICAgICAgPGRpdiBjbGFzcz1cImF4LWZsZXggYXgtZmxleC1jb2wgYXgtcHQtNCBheC1zdGlja3kgYXgtdG9wLTAgYXgtei0xMCBheC10cmFuc2l0aW9uLWFsbFwiICNzdGlja3k9XCJheHBTdGlja3lcIlxyXG4gICAgICAgIFtheHBTdGlja3ldPVwiJ2F4LWJnLXN1cmZhY2UgYXgtcHgtNiBheC1weS0zIC1heC1teC02IGF4LXNoYWRvdy14bCdcIiBbc3RpY2t5UGFyZW50XT1cImNvbnRlbnQuZ2V0SG9zdEVsZW1lbnQoKVwiPlxyXG4gICAgICAgIDwhLS0tLS0tLS0gQmVnaW4gVG9vbGJhciAgLS0tLS0tLS0+XHJcbiAgICAgICAgPGRpdiBjbGFzcz1cImF4LWZsZXggYXgtanVzdGlmeS1iZXR3ZWVuIGF4LWl0ZW1zLWNlbnRlclwiPlxyXG4gICAgICAgICAgPCEtLS0tLS0tLSBCZWdpbiBUaXRsZSAgLS0tLS0tLS0+XHJcbiAgICAgICAgICA8ZGl2IGNsYXNzPVwiYXgtZmxleCBheC1nYXAtMSBheC1pdGVtcy1jZW50ZXJcIj5cclxuICAgICAgICAgICAgPCEtLSA8YXgtYnV0dG9uIGNsYXNzPVwibGc6YXgtaGlkZGVuXCI+XHJcbiAgICAgICAgICAgICAgPGF4LWljb24gY2xhc3M9XCJmYS1zb2xpZCBmYS1jaGV2cm9uLWxlZnRcIj48L2F4LWljb24+XHJcbiAgICAgICAgICAgIDwvYXgtYnV0dG9uPiAtLT5cclxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cImF4LWZsZXggYXgtZmxleC1jb2wgYXgtZ2FwLTJcIj5cclxuICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiYXgtdGV4dC14bCBtZDpheC10ZXh0LTN4bCBheC1mb250LWJvbGRcIj57eyBsb2FkZXIudGl0bGUgfX08L2Rpdj5cclxuICAgICAgICAgICAgICA8IS0tIDxheC1icmVhZGNydW1icyBjbGFzcz1cImNoaWxkOmF4LWZvbnQtbm9ybWFsIGNoaWxkOmF4LXRleHQtbmV1dHJhbC00MDBcIj5cclxuICAgICAgICAgICAgICAgIDxuZy10ZW1wbGF0ZSAjZGl2aWRlcj5cclxuICAgICAgICAgICAgICAgICAgPGkgY2xhc3M9XCJmYS1zb2xpZCBmYS1jaGV2cm9uLXJpZ2h0IGF4LXRleHQteHMgYXgtbXgtMlwiPjwvaT5cclxuICAgICAgICAgICAgICAgIDwvbmctdGVtcGxhdGU+XHJcbiAgICAgICAgICAgICAgICA8YXgtYnJlYWRjcnVtYnMtaXRlbT5cclxuICAgICAgICAgICAgICAgICAgPGE+SG9tZTwvYT5cclxuICAgICAgICAgICAgICAgIDwvYXgtYnJlYWRjcnVtYnMtaXRlbT5cclxuICAgICAgICAgICAgICAgIDxheC1icmVhZGNydW1icy1pdGVtPlxyXG4gICAgICAgICAgICAgICAgICA8YT57eyBsb2FkZXIuZW50aXR5LnRpdGxlIH19PC9hPlxyXG4gICAgICAgICAgICAgICAgPC9heC1icmVhZGNydW1icy1pdGVtPlxyXG4gICAgICAgICAgICAgICAgPGF4LWJyZWFkY3J1bWJzLWl0ZW0gW2FjdGl2ZV09XCJ0cnVlXCIgY2xhc3M9XCIhYXgtZm9udC1zZW1pYm9sZCAhYXgtdGV4dC1uZXV0cmFsLTYwMFwiPlxyXG4gICAgICAgICAgICAgICAgICB7eyBsb2FkZXIudGl0bGUgfX1cclxuICAgICAgICAgICAgICAgIDwvYXgtYnJlYWRjcnVtYnMtaXRlbT5cclxuICAgICAgICAgICAgICA8L2F4LWJyZWFkY3J1bWJzPiAtLT5cclxuICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgIDwhLS0tLS0tLS0gRmluaXNoIFRpdGxlICAtLS0tLS0tLT5cclxuICAgICAgICAgIDwhLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tPlxyXG4gICAgICAgICAgPCEtLSBCZWdpbiBBY3Rpb24gTWVudSAgLS0+XHJcbiAgICAgICAgICA8ZGl2IGNsYXNzPVwiYXgtZmxleCBheC1pdGVtcy1jZW50ZXIgYXgtZ2FwLTNcIj5cclxuICAgICAgICAgICAgQGlmKGNhbkNyZWF0ZSB8fCBjYW5VcGRhdGUpIHtcclxuICAgICAgICAgICAgPGF4LWJ1dHRvbiBbdGV4dF09XCIoaXNTTSB8IGFzeW5jKSA/IG51bGwgOiAnQWN0aW9ucydcIiBjb2xvcj1cImdob3N0XCI+XHJcbiAgICAgICAgICAgICAgPGF4LXByZWZpeD5cclxuICAgICAgICAgICAgICAgIDxpIGNsYXNzPVwiZmEtc29saWQgZmEtZWxsaXBzaXMtdmVydGljYWxcIj48L2k+XHJcbiAgICAgICAgICAgICAgPC9heC1wcmVmaXg+XHJcbiAgICAgICAgICAgICAgPGF4LWRyb3Bkb3duLXBhbmVsPlxyXG4gICAgICAgICAgICAgICAgPGF4LWJ1dHRvbi1pdGVtLWxpc3Q+XHJcbiAgICAgICAgICAgICAgICAgIDwhLS0gPGF4LWJ1dHRvbi1pdGVtIHRleHQ9XCJTaGFyZVwiIGNsYXNzPVwiYXgtZm9udC1zZW1pYm9sZFwiPlxyXG4gICAgICAgICAgICAgICAgICAgIDxheC1wcmVmaXg+XHJcbiAgICAgICAgICAgICAgICAgICAgICA8YXgtaWNvbiBpY29uPVwiZmEtc29saWQgZmEtc2hhcmVcIj4gPC9heC1pY29uPlxyXG4gICAgICAgICAgICAgICAgICAgIDwvYXgtcHJlZml4PlxyXG4gICAgICAgICAgICAgICAgICA8L2F4LWJ1dHRvbi1pdGVtPiBcclxuICAgICAgICAgICAgICAgICAgPGF4LWRpdmlkZXI+PC9heC1kaXZpZGVyPi0tPlxyXG4gICAgICAgICAgICAgICAgICBAaWYoY2FuQ3JlYXRlKSB7XHJcbiAgICAgICAgICAgICAgICAgIDxheC1idXR0b24taXRlbSB0ZXh0PVwiQ3JlYXRlIE5ldyBPbmVcIiBjbGFzcz1cImF4LWZvbnQtc2VtaWJvbGQgYXgtdGV4dC1wcmltYXJ5XCJcclxuICAgICAgICAgICAgICAgICAgICAob25DbGljayk9XCJoYW5kbGVDb21tYW5kQ2xpY2soJ2NyZWF0ZScpXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgPGF4LXByZWZpeD5cclxuICAgICAgICAgICAgICAgICAgICAgIDxheC1pY29uIGljb249XCJmYS1zb2xpZCBmYS1hZGRcIj4gPC9heC1pY29uPlxyXG4gICAgICAgICAgICAgICAgICAgIDwvYXgtcHJlZml4PlxyXG4gICAgICAgICAgICAgICAgICA8L2F4LWJ1dHRvbi1pdGVtPlxyXG4gICAgICAgICAgICAgICAgICB9IEBpZihjYW5EZWxldGUpIHtcclxuICAgICAgICAgICAgICAgICAgPGF4LWJ1dHRvbi1pdGVtIHRleHQ9XCJEZWxldGVcIiBjbGFzcz1cImF4LWZvbnQtc2VtaWJvbGQgYXgtdGV4dC1kYW5nZXJcIlxyXG4gICAgICAgICAgICAgICAgICAgIChvbkNsaWNrKT1cImhhbmRsZUNvbW1hbmRDbGljaygnZGVsZXRlJylcIj5cclxuICAgICAgICAgICAgICAgICAgICA8YXgtcHJlZml4PlxyXG4gICAgICAgICAgICAgICAgICAgICAgPGF4LWljb24gaWNvbj1cImZhLXNvbGlkIGZhLXRyYXNoXCI+IDwvYXgtaWNvbj5cclxuICAgICAgICAgICAgICAgICAgICA8L2F4LXByZWZpeD5cclxuICAgICAgICAgICAgICAgICAgPC9heC1idXR0b24taXRlbT5cclxuICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgPC9heC1idXR0b24taXRlbS1saXN0PlxyXG4gICAgICAgICAgICAgIDwvYXgtZHJvcGRvd24tcGFuZWw+XHJcbiAgICAgICAgICAgIDwvYXgtYnV0dG9uPlxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgIDwhLS0gRmluaXNoIEFjdGlvbiBNZW51ICAtLT5cclxuICAgICAgICA8L2Rpdj5cclxuICAgICAgICA8IS0tLS0tIEZpbmlzaCBUb29sYmFyICAtLS0tLT5cclxuICAgICAgICA8IS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLT5cclxuICAgICAgICA8IS0tIEJlZ2luIFNlY3Rpb24gVGFiIEl0ZW1zICAtLT5cclxuICAgICAgICBAaWYoKGxvYWRlci5oYXNTZWN0aW9ucyR8IGFzeW5jKSkge1xyXG4gICAgICAgIDxheC10YWJzIGxvb2s9XCJ3aXRoLWxpbmVcIiBsb2NhdGlvbj1cImJvdHRvbVwiIGNsYXNzPVwiYXgtbXQtMlwiPlxyXG4gICAgICAgICAgQGZvcih0YWIgb2YgKGxvYWRlci5zZWN0aW9ucyQgfCBhc3luYyk7IHRyYWNrIHRhYi5uYW1lKSB7XHJcbiAgICAgICAgICA8YXgtdGFiLWl0ZW0gW3RleHRdPVwidGFiLnRpdGxlXCIgW2FjdGl2ZV09XCJpc0FjdGl2ZSh0YWIpXCIgKG9uQ2xpY2spPVwiaGFuZGxlTWVudUNsaWNrKCRldmVudCwgdGFiKVwiXHJcbiAgICAgICAgICAgIGNsYXNzPVwiZmlyc3Q6IWF4LW1zLTBcIj4gPC9heC10YWItaXRlbT5cclxuICAgICAgICAgIH1cclxuICAgICAgICA8L2F4LXRhYnM+XHJcbiAgICAgICAgfVxyXG4gICAgICAgIDwhLS0gRmluaXNoIFNlY3Rpb24gVGFiIEl0ZW1zICAtLT5cclxuICAgICAgPC9kaXY+XHJcbiAgICAgIEBmb3Ioc2VjdGlvbiBvZiAobG9hZGVyLnNlY3Rpb24kIHwgYXN5bmMpPy5zZWN0aW9uczsgdHJhY2sgc2VjdGlvbi5uYW1lKSB7XHJcbiAgICAgIDxheC1mb3JtICNmb3JtPlxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJheC1jYXJkIGF4LXNoYWRvdy1tZFwiPlxyXG4gICAgICAgICAgPGRpdiBjbGFzcz1cImF4LWNhcmQtaGVhZGVyXCI+XHJcbiAgICAgICAgICAgIDxwPnt7IHNlY3Rpb24udGl0bGUgfX08L3A+XHJcbiAgICAgICAgICAgIEBpZihjYW5VcGRhdGUpIHtcclxuICAgICAgICAgICAgPGF4LWJ1dHRvbiB0ZXh0PVwiTW9kaWZ5XCIgY2xhc3M9XCJheC1zbVwiIGNvbG9yPVwicHJpbWFyeVwiIChvbkNsaWNrKT1cImhhbmRsZVNlY3Rpb25FZGl0KHNlY3Rpb24pXCI+XHJcbiAgICAgICAgICAgICAgPGF4LWljb24gY2xhc3M9XCJmYS1zb2xpZCBmYS1wZW5cIj4gPC9heC1pY29uPlxyXG4gICAgICAgICAgICA8L2F4LWJ1dHRvbj5cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICA8ZGl2IGNsYXNzPVwiYXgtY2FyZC1ib2R5IGF4LWRpdmlkZS15IGF4LWRpdmlkZS1ncmF5LTEwMCBkYXJrOmF4LWRpdmlkZS1ncmF5LTcwMCAhYXgtZ2FwLTBcIj5cclxuICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdGb3I9XCJsZXQgbmFtZSBvZiBzZWN0aW9uLnByb3BlcnRpZXNcIj5cclxuICAgICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwibG9hZGVyLmdldFByb3AobmFtZSkgYXMgcHJvcFwiPlxyXG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImF4LWdyaWQgbWQ6YXgtZ3JpZC1jb2xzLTEyIGF4LWdhcC0yIGF4LXB5LTQgZmlyc3Q6YXgtcHQtMCBsYXN0OmF4LXBiLTBcIj5cclxuICAgICAgICAgICAgICAgICAgQGlmKHNlY3Rpb24ub3B0aW9ucz8uc2hvd1Byb3BUaXRsZSE9ZmFsc2Upe1xyXG4gICAgICAgICAgICAgICAgICA8ZGl2XHJcbiAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJheC1jb2wtc3Bhbi0xMiBtZDpheC1jb2wtc3Bhbi0zIGxnOmF4LWNvbC1zcGFuLTIgYXgtZmxleCBheC1pdGVtcy1jZW50ZXIgbWQ6YXgtaXRlbXMtc3RhcnQgYXgtanVzdGlmeS1iZXR3ZWVuXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImF4LWZsZXggYXgtZmxleC1jb2wgYXgtaXRlbXMtc3RhcnRcIj5cclxuICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwiYXgtZm9udC1zZW1pYm9sZFwiPnt7IHByb3AudGl0bGUgfX08L3NwYW4+XHJcbiAgICAgICAgICAgICAgICAgICAgICA8IS0tIEBpZihwcm9wLmRlc2NyaXB0aW9uKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICA8aVxyXG4gICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz1cImZhLXNvbGlkIGZhLWNpcmNsZS1pbmZvIGZhLXNtIGF4LXRleHQtbmV1dHJhbC01MDAgZGFyazpheC10ZXh0LW5ldXRyYWwtNDAwIGF4LWN1cnNvci1wb2ludGVyXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgW2F4VG9vbHRpcF09XCJwcm9wLmRlc2NyaXB0aW9uXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgW2F4VG9vbHRpcFBsYWNlbWVudF09XCInZW5kJ1wiXHJcbiAgICAgICAgICAgICAgICAgICAgICA+PC9pPlxyXG4gICAgICAgICAgICAgICAgICAgICAgfSAtLT5cclxuICAgICAgICAgICAgICAgICAgICAgIEBpZihwcm9wLmRlc2NyaXB0aW9uKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cImF4LXRleHQtbmV1dHJhbC01MDAgYXgtdGV4dC14c1wiPnt7IHByb3AuZGVzY3JpcHRpb24gfX08L3NwYW4+XHJcbiAgICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgIDxkaXZcclxuICAgICAgICAgICAgICAgICAgICBbY2xhc3NdPVwic2VjdGlvbi5vcHRpb25zPy5zaG93UHJvcFRpdGxlID09IGZhbHNlID8gJ2F4LWNvbC1zcGFuLTEyJyA6ICdheC1jb2wtc3Bhbi0xMiBtZDpheC1jb2wtc3Bhbi05IGxnOmF4LWNvbC1zcGFuLTEwJ1wiPlxyXG4gICAgICAgICAgICAgICAgICAgIDxheHAtd2lkZ2V0LXJlbmRlcmVyIFtzY2hlbWFdPVwicHJvcC5zY2hlbWFcIiBbY29udGV4dF09XCJjb250ZXh0KClcIiBbcHJvcF09XCJwcm9wXCJcclxuICAgICAgICAgICAgICAgICAgICAgIFttb2RlXT1cIid2aWV3J1wiPjwvYXhwLXdpZGdldC1yZW5kZXJlcj5cclxuICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cclxuICAgICAgICAgICAgPC9uZy1jb250YWluZXI+XHJcbiAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICA8L2Rpdj5cclxuICAgICAgPC9heC1mb3JtPlxyXG4gICAgICB9XHJcbiAgICA8L2Rpdj5cclxuICA8L2F4LWNvbnRlbnQ+XHJcbjwvYXgtZHJhd2VyLWNvbnRhaW5lcj4iXX0=
179
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZW50aXR5LWRldGFpbHMtdmlldy5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL3BsYXRmb3JtL2xheW91dHMvc3JjL2xpYi9hZG1pbi9lbnRpdHktbGF5b3V0L2VudGl0eS1kZXRhaWxzLXZpZXcvZW50aXR5LWRldGFpbHMtdmlldy5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL3BsYXRmb3JtL2xheW91dHMvc3JjL2xpYi9hZG1pbi9lbnRpdHktbGF5b3V0L2VudGl0eS1kZXRhaWxzLXZpZXcvZW50aXR5LWRldGFpbHMtdmlldy5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxpQ0FBaUMsQ0FBQztBQUN0RSxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFDekQsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sZ0NBQWdDLENBQUM7QUFDckUsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBRTNELE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLCtCQUErQixDQUFDO0FBQ2xFLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUMzRCxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsY0FBYyxFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFDOUUsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sNkJBQTZCLENBQUM7QUFDL0QsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBQ3ZELE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUN6RCxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFDN0QsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLDRCQUE0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UCxZQUFZO3dCQUNaLFlBQVk7d0JBQ1osY0FBYzt3QkFDZCxpQkFBaUI7d0JBQ2pCLGFBQWE7d0JBQ2IsZ0JBQWdCO3dCQUNoQixlQUFlO3dCQUNmLFlBQVk7d0JBQ1osYUFBYTt3QkFDYixtQkFBbUI7d0JBQ25CLGNBQWM7d0JBQ2QsY0FBYzt3QkFDZCxjQUFjO3dCQUNkLGVBQWU7d0JBQ2YsWUFBWTt3QkFDWixhQUFhO3dCQUNiLGNBQWM7d0JBQ2QsY0FBYzt3QkFDZCxlQUFlO3dCQUNmLGVBQWU7d0JBQ2YsbUJBQW1CO3dCQUNuQixtQkFBbUI7d0JBQ25CLEVBQUU7d0JBQ0YscUJBQXFCO3dCQUNyQixrQkFBa0I7cUJBQ25CLGNBQ1csSUFBSSxtQkFDQyx1QkFBdUIsQ0FBQyxNQUFNLGFBQ3BDLENBQUMsY0FBYyxDQUFDO3lHQWNOLE1BQU07c0JBQTFCLFNBQVM7dUJBQUMsUUFBUSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEFYQWN0aW9uU2hlZXRNb2R1bGUgfSBmcm9tICdAYWNvcmV4L2NvbXBvbmVudHMvYWN0aW9uLXNoZWV0JztcbmltcG9ydCB7IEFYQmFkZ2VNb2R1bGUgfSBmcm9tICdAYWNvcmV4L2NvbXBvbmVudHMvYmFkZ2UnO1xuaW1wb3J0IHsgQVhCcmVhZGNydW1ic01vZHVsZSB9IGZyb20gJ0BhY29yZXgvY29tcG9uZW50cy9icmVhZGNydW1icyc7XG5pbXBvcnQgeyBBWEJ1dHRvbk1vZHVsZSB9IGZyb20gJ0BhY29yZXgvY29tcG9uZW50cy9idXR0b24nO1xuaW1wb3J0IHsgQVhIdG1sRXZlbnQgfSBmcm9tICdAYWNvcmV4L2NvbXBvbmVudHMvY29tbW9uJztcbmltcG9ydCB7IEFYRGVjb3JhdG9yTW9kdWxlIH0gZnJvbSAnQGFjb3JleC9jb21wb25lbnRzL2RlY29yYXRvcnMnO1xuaW1wb3J0IHsgQVhEaWFsb2dNb2R1bGUgfSBmcm9tICdAYWNvcmV4L2NvbXBvbmVudHMvZGlhbG9nJztcbmltcG9ydCB7IEFYRHJhd2VyQ29tcG9uZW50LCBBWERyYXdlck1vZHVsZSB9IGZyb20gJ0BhY29yZXgvY29tcG9uZW50cy9kcmF3ZXInO1xuaW1wb3J0IHsgQVhEcm9wZG93bk1vZHVsZSB9IGZyb20gJ0BhY29yZXgvY29tcG9uZW50cy9kcm9wZG93bic7XG5pbXBvcnQgeyBBWEZvcm1Nb2R1bGUgfSBmcm9tICdAYWNvcmV4L2NvbXBvbmVudHMvZm9ybSc7XG5pbXBvcnQgeyBBWEltYWdlTW9kdWxlIH0gZnJvbSAnQGFjb3JleC9jb21wb25lbnRzL2ltYWdlJztcbmltcG9ydCB7IEFYTG9hZGluZ01vZHVsZSB9IGZyb20gJ0BhY29yZXgvY29tcG9uZW50cy9sb2FkaW5nJztcbmltcG9ydCB7IEFYUG9wb3Zlck1vZHVsZSB9IGZyb20gJ0BhY29yZXgvY29tcG9uZW50cy9wb3BvdmVyJztcbmltcG9ydCB7IEFYUG9wdXBTZXJ2aWNlIH0gZnJvbSAnQGFjb3JleC9jb21wb25lbnRzL3BvcHVwJztcbmltcG9ydCB7IEFYU3dpdGNoTW9kdWxlIH0gZnJvbSAnQGFjb3JleC9jb21wb25lbnRzL3N3aXRjaCc7XG5pbXBvcnQgeyBBWFRhYnNNb2R1bGUgfSBmcm9tICdAYWNvcmV4L2NvbXBvbmVudHMvdGFicyc7XG5pbXBvcnQgeyBBWFRvb2x0aXBNb2R1bGUgfSBmcm9tICdAYWNvcmV4L2NvbXBvbmVudHMvdG9vbHRpcCc7XG5pbXBvcnQgeyBBWFBsYXRmb3JtIH0gZnJvbSAnQGFjb3JleC9jb3JlL3BsYXRmb3JtJztcbmltcG9ydCB7IEFYVHJhbnNsYXRpb25Nb2R1bGUgfSBmcm9tICdAYWNvcmV4L2NvcmUvdHJhbnNsYXRpb24nO1xuaW1wb3J0IHsgQVhVbnN1YnNjcmliZXIgfSBmcm9tICdAYWNvcmV4L2NvcmUvdXRpbHMnO1xuaW1wb3J0IHsgQVhQU2Vzc2lvblNlcnZpY2UgfSBmcm9tICdAYWNvcmV4L3BsYXRmb3JtL2F1dGgnO1xuaW1wb3J0IHtcbiAgQVhQQWRtaW5MYXlvdXRTdGF0ZSxcbiAgQVhQQ29tbW9uV2lkZ2V0TW9kdWxlLFxuICBBWFBFbnRpdHlWaWV3Q2hpbGRTZWN0aW9uQ29uZmlnLFxuICBBWFBMYXlvdXRDaGlsZERyYXdlckNsb3NlLFxuICBBWFBMYXlvdXRDaGlsZERyYXdlclRvZ2dsZSxcbiAgQVhQU2NoZW1hTW9kdWxlLFxuICBBWFBTdGlja3lEaXJlY3RpdmUsXG4gIGdldENoaWxkRHJhd2VyLFxuICBpc1NtYWxsU2NyZWVuLFxufSBmcm9tICdAYWNvcmV4L3BsYXRmb3JtL2NvbW1vbic7XG5pbXBvcnQgeyBBWFBXb3JrZmxvd1NlcnZpY2UgfSBmcm9tICdAYWNvcmV4L3BsYXRmb3JtL3dvcmtmbG93JztcbmltcG9ydCB7IENvbW1vbk1vZHVsZSwgTG9jYXRpb24gfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHsgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksIENoYW5nZURldGVjdG9yUmVmLCBDb21wb25lbnQsIFZpZXdDaGlsZCwgV3JpdGFibGVTaWduYWwsIGluamVjdCwgc2lnbmFsIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBBY3RpdmF0ZWRSb3V0ZSwgUm91dGVyLCBSb3V0ZXJNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9yb3V0ZXInO1xuaW1wb3J0IHsgQWN0aW9ucywgb2ZUeXBlIH0gZnJvbSAnQG5ncngvZWZmZWN0cyc7XG5pbXBvcnQgeyBTdG9yZSB9IGZyb20gJ0BuZ3J4L3N0b3JlJztcbmltcG9ydCB7IGNsb25lRGVlcCB9IGZyb20gJ2xvZGFzaC1lcyc7XG5pbXBvcnQgeyBmaXJzdCB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgQVhQRW50aXR5RGVsZXRlZEV2ZW50LCBBWFBFbnRpdHlNb2RpZnlFdmVudCB9IGZyb20gJy4uL3dvcmtmbG93cyc7XG5pbXBvcnQgeyBBWFBFbnRpdHlEZXRhaWxWaWV3TG9hZGVyIH0gZnJvbSAnLi9kZXRhaWwtdmlldy5jb25maWcnO1xuQENvbXBvbmVudCh7XG4gIHRlbXBsYXRlVXJsOiAnLi9lbnRpdHktZGV0YWlscy12aWV3LmNvbXBvbmVudC5odG1sJyxcbiAgaW1wb3J0czogW1xuICAgIENvbW1vbk1vZHVsZSxcbiAgICBSb3V0ZXJNb2R1bGUsXG4gICAgQVhCdXR0b25Nb2R1bGUsXG4gICAgQVhEZWNvcmF0b3JNb2R1bGUsXG4gICAgQVhCYWRnZU1vZHVsZSxcbiAgICBBWERyb3Bkb3duTW9kdWxlLFxuICAgIEFYUG9wb3Zlck1vZHVsZSxcbiAgICBBWEZvcm1Nb2R1bGUsXG4gICAgQVhJbWFnZU1vZHVsZSxcbiAgICBBWEFjdGlvblNoZWV0TW9kdWxlLFxuICAgIEFYU3dpdGNoTW9kdWxlLFxuICAgIEFYRHJhd2VyTW9kdWxlLFxuICAgIEFYRGlhbG9nTW9kdWxlLFxuICAgIEFYTG9hZGluZ01vZHVsZSxcbiAgICBBWFRhYnNNb2R1bGUsXG4gICAgQVhCYWRnZU1vZHVsZSxcbiAgICBBWEJ1dHRvbk1vZHVsZSxcbiAgICBBWFN3aXRjaE1vZHVsZSxcbiAgICBBWFBTY2hlbWFNb2R1bGUsXG4gICAgQVhUb29sdGlwTW9kdWxlLFxuICAgIEFYQnJlYWRjcnVtYnNNb2R1bGUsXG4gICAgQVhUcmFuc2xhdGlvbk1vZHVsZSxcbiAgICAvL1xuICAgIEFYUENvbW1vbldpZGdldE1vZHVsZSxcbiAgICBBWFBTdGlja3lEaXJlY3RpdmUsXG4gIF0sXG4gIHN0YW5kYWxvbmU6IHRydWUsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICBwcm92aWRlcnM6IFtBWFVuc3Vic2NyaWJlcl0sXG59KVxuZXhwb3J0IGNsYXNzIEFYUEVudGl0eURldGFpbHNWaWV3Q29tcG9uZW50IHtcbiAgcHJpdmF0ZSBwb3B1cFNlcnZpY2UgPSBpbmplY3QoQVhQb3B1cFNlcnZpY2UpO1xuICBwcml2YXRlIHNlc3Npb25TZXJ2aWNlID0gaW5qZWN0KEFYUFNlc3Npb25TZXJ2aWNlKTtcbiAgcHJpdmF0ZSBhY3RpdmVSb3V0ZSA9IGluamVjdChBY3RpdmF0ZWRSb3V0ZSk7XG4gIHByaXZhdGUgcm91dGVyID0gaW5qZWN0KFJvdXRlcik7XG4gIHByaXZhdGUgbG9jYXRpb24gPSBpbmplY3QoTG9jYXRpb24pO1xuICBwcml2YXRlIGNkciA9IGluamVjdChDaGFuZ2VEZXRlY3RvclJlZik7XG4gIHByaXZhdGUgcGxhdGZvcm0gPSBpbmplY3QoQVhQbGF0Zm9ybSk7XG4gIHByaXZhdGUgd29ya2Zsb3cgPSBpbmplY3QoQVhQV29ya2Zsb3dTZXJ2aWNlKTtcblxuICBwcm90ZWN0ZWQgbG9hZGVyID0gdGhpcy5hY3RpdmVSb3V0ZS5zbmFwc2hvdC5kYXRhWydsb2FkZXInXSBhcyBBWFBFbnRpdHlEZXRhaWxWaWV3TG9hZGVyO1xuXG4gIEBWaWV3Q2hpbGQoJ2RyYXdlcicpIGRyYXdlciE6IEFYRHJhd2VyQ29tcG9uZW50O1xuXG4gIHByaXZhdGUgc3RvcmUgPSBpbmplY3QoU3RvcmU8QVhQQWRtaW5MYXlvdXRTdGF0ZT4pO1xuICBwcm90ZWN0ZWQgaXNTTSA9IHRoaXMuc3RvcmUuc2VsZWN0KGlzU21hbGxTY3JlZW4oKSk7XG4gIHByb3RlY3RlZCBpc09wZW4gPSB0aGlzLnN0b3JlLnNlbGVjdChnZXRDaGlsZERyYXdlcigpKTtcbiAgLy9cbiAgcHJvdGVjdGVkIGNhbkRlbGV0ZSA9IHRoaXMubG9hZGVyLmVudGl0eS5lZGl0T3B0aW9ucz8uZGVsZXRlID8/IHRydWU7XG4gIHByb3RlY3RlZCBjYW5DcmVhdGUgPSB0aGlzLmxvYWRlci5lbnRpdHkuZWRpdE9wdGlvbnM/LmNyZWF0ZSA/PyB0cnVlO1xuICBwcm90ZWN0ZWQgY2FuVXBkYXRlID0gdGhpcy5sb2FkZXIuZW50aXR5LmVkaXRPcHRpb25zPy51cGRhdGUgPz8gdHJ1ZTtcbiAgLy9cblxuICBwcm90ZWN0ZWQgY29udGV4dDogV3JpdGFibGVTaWduYWw8YW55PiA9IHNpZ25hbChjbG9uZURlZXAodGhpcy5sb2FkZXIuZGF0YSkpO1xuXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgYWN0aW9ucyQ6IEFjdGlvbnMsIHByaXZhdGUgdW5zdWJzY3JpYmVyOiBBWFVuc3Vic2NyaWJlcikge1xuICAgIHRoaXMuYWN0aXZlUm91dGUucGFyYW1NYXAucGlwZShmaXJzdCgpKS5zdWJzY3JpYmUoKGMpID0+IHtcbiAgICAgIHRoaXMuc2V0U2VjdGlvbihjLmdldCgnc2VjdGlvbicpIGFzIHN0cmluZyk7XG4gICAgfSk7XG4gICAgLy9cbiAgICB0aGlzLndvcmtmbG93LmV2ZW50cyQucGlwZShvZlR5cGUoQVhQRW50aXR5RGVsZXRlZEV2ZW50KSwgdGhpcy51bnN1YnNjcmliZXIudGFrZVVudGlsRGVzdHJveSkuc3Vic2NyaWJlKChldmVudCkgPT4ge1xuICAgICAgaWYgKFxuICAgICAgICBldmVudC5wYXlsb2FkLmVudGl0eSA9PSB0aGlzLmxvYWRlci5lbnRpdHkubmFtZSAmJlxuICAgICAgICBldmVudC5wYXlsb2FkLm1vZHVsZSA9PSB0aGlzLmxvYWRlci5lbnRpdHkubW9kdWxlICYmXG4gICAgICAgIGV2ZW50LnBheWxvYWQuaWQuaW5jbHVkZXModGhpcy5sb2FkZXIuZGF0YS5pZClcbiAgICAgICkge1xuICAgICAgICB0aGlzLndvcmtmbG93LmV4ZWN1dGUoJ3Nob3ctbGlzdC12aWV3Jywge1xuICAgICAgICAgIHBheWxvYWQ6IHtcbiAgICAgICAgICAgIG1vZHVsZTogdGhpcy5sb2FkZXIuZW50aXR5Lm1vZHVsZSxcbiAgICAgICAgICAgIGVudGl0eTogdGhpcy5sb2FkZXIuZW50aXR5Lm5hbWUsXG4gICAgICAgICAgfSxcbiAgICAgICAgfSk7XG4gICAgICB9XG4gICAgfSk7XG4gICAgdGhpcy53b3JrZmxvdy5ldmVudHMkLnBpcGUob2ZUeXBlKEFYUEVudGl0eU1vZGlmeUV2ZW50KSwgdGhpcy51bnN1YnNjcmliZXIudGFrZVVudGlsRGVzdHJveSkuc3Vic2NyaWJlKGFzeW5jIChldmVudCkgPT4ge1xuICAgICAgaWYgKFxuICAgICAgICBldmVudC5wYXlsb2FkLmVudGl0eSA9PSB0aGlzLmxvYWRlci5lbnRpdHkubmFtZSAmJlxuICAgICAgICBldmVudC5wYXlsb2FkLm1vZHVsZSA9PSB0aGlzLmxvYWRlci5lbnRpdHkubW9kdWxlICYmXG4gICAgICAgIGV2ZW50LnBheWxvYWQudXBkYXRlVmFsdWVzLmlkID09PSB0aGlzLmxvYWRlci5kYXRhLmlkXG4gICAgICApIHtcbiAgICAgICAgYXdhaXQgdGhpcy5sb2FkZXIudXBkYXRlKGV2ZW50LnBheWxvYWQudXBkYXRlVmFsdWVzKTtcbiAgICAgICAgdGhpcy5jb250ZXh0LnNldChjbG9uZURlZXAodGhpcy5sb2FkZXIuZGF0YSkpO1xuICAgICAgfVxuICAgIH0pO1xuICB9XG5cbiAgcHJvdGVjdGVkIGhhbmRsZU1lbnVDbGljayhlOiBBWEh0bWxFdmVudCwgaXRlbTogQVhQRW50aXR5Vmlld0NoaWxkU2VjdGlvbkNvbmZpZykge1xuICAgIGNvbnN0IGVudGl0eSA9IHRoaXMubG9hZGVyLmVudGl0eTtcbiAgICBjb25zdCBwYXRoID0gYC8ke3RoaXMuc2Vzc2lvblNlcnZpY2UuYXBwbGljYXRpb24/Lm5hbWV9LyR7ZW50aXR5Lm1vZHVsZX0vZS8ke2VudGl0eS5uYW1lfS8ke3RoaXMubG9hZGVyLmRhdGE/LmlkfS92aWV3LyR7aXRlbS5uYW1lfWA7XG4gICAgdGhpcy5sb2NhdGlvbi5nbyhwYXRoKTtcbiAgICB0aGlzLnNldFNlY3Rpb24oaXRlbS5uYW1lKTtcbiAgfVxuXG4gIHByb3RlY3RlZCBoYW5kbGVDb2xsYXBzZWRDaGFuZ2UodmFsdWU6IGJvb2xlYW4pIHtcbiAgICBpZiAodmFsdWUpIHRoaXMuc3RvcmUuZGlzcGF0Y2goQVhQTGF5b3V0Q2hpbGREcmF3ZXJDbG9zZSgpKTtcbiAgfVxuXG4gIHByb3RlY3RlZCBoYW5kbGVEcmF3ZXJDbGljaygpIHtcbiAgICB0aGlzLnN0b3JlLmRpc3BhdGNoKEFYUExheW91dENoaWxkRHJhd2VyVG9nZ2xlKCkpO1xuICB9XG5cbiAgcHJpdmF0ZSBzZXRTZWN0aW9uKG5hbWU6IHN0cmluZykge1xuICAgIHRoaXMubG9hZGVyLnNldFNlY3Rpb24obmFtZSk7XG4gIH1cblxuICBwcm90ZWN0ZWQgYXN5bmMgaGFuZGxlU2VjdGlvbkVkaXQoc2VjdGlvbjogQVhQRW50aXR5Vmlld0NoaWxkU2VjdGlvbkNvbmZpZykge1xuICAgIHRoaXMud29ya2Zsb3cuZXhlY3V0ZSgnbW9kaWZ5LWVudGl0eScsIHtcbiAgICAgIHBheWxvYWQ6IHtcbiAgICAgICAgbW9kdWxlOiB0aGlzLmxvYWRlci5lbnRpdHkubW9kdWxlLFxuICAgICAgICBlbnRpdHk6IHRoaXMubG9hZGVyLmVudGl0eS5uYW1lLFxuICAgICAgICBpZDogdGhpcy5sb2FkZXIuZGF0YS5pZCxcbiAgICAgICAgc2VjdGlvbjogc2VjdGlvbixcbiAgICAgIH0sXG4gICAgfSk7XG4gIH1cblxuICBwcm90ZWN0ZWQgaXNBY3RpdmUoaXRlbTogQVhQRW50aXR5Vmlld0NoaWxkU2VjdGlvbkNvbmZpZykge1xuICAgIHJldHVybiBpdGVtLm5hbWUgPT0gd2luZG93LmxvY2F0aW9uLnBhdGhuYW1lLnNwbGl0KCcvJykucG9wKCk7XG4gIH1cblxuICBwcm90ZWN0ZWQgaGFuZGxlQ29tbWFuZENsaWNrKGNvbW1hbmQ6IHN0cmluZykge1xuICAgIHN3aXRjaCAoY29tbWFuZCkge1xuICAgICAgY2FzZSAnZGVsZXRlJzpcbiAgICAgICAgdGhpcy53b3JrZmxvdy5leGVjdXRlKCdkZWxldGUtZW50aXR5Jywge1xuICAgICAgICAgIG1vZHVsZTogdGhpcy5sb2FkZXIuZW50aXR5Lm1vZHVsZSxcbiAgICAgICAgICBlbnRpdHk6IHRoaXMubG9hZGVyLmVudGl0eS5uYW1lLFxuICAgICAgICAgIGlkczogW3RoaXMubG9hZGVyLmRhdGEuaWRdLFxuICAgICAgICB9KTtcbiAgICAgICAgYnJlYWs7XG4gICAgICBjYXNlICdjcmVhdGUnOiB7XG4gICAgICAgIHRoaXMud29ya2Zsb3cuZXhlY3V0ZSgnY3JlYXRlLWVudGl0eScsIHtcbiAgICAgICAgICBwYXlsb2FkOiB7XG4gICAgICAgICAgICBtb2R1bGU6IHRoaXMubG9hZGVyLmVudGl0eS5tb2R1bGUsXG4gICAgICAgICAgICBlbnRpdHk6IHRoaXMubG9hZGVyLmVudGl0eS5uYW1lLFxuICAgICAgICAgIH0sXG4gICAgICAgIH0pO1xuICAgICAgICBicmVhaztcbiAgICAgIH1cbiAgICAgIGRlZmF1bHQ6XG4gICAgICAgIGJyZWFrO1xuICAgIH1cbiAgfVxufVxuIiwiPGF4LWRyYXdlci1jb250YWluZXI+XG4gIDwhLS0gPGF4LWRyYXdlciAjZHJhd2VyIGxvY2F0aW9uPVwic3RhcnRcIiBbY29sbGFwc2VkXT1cIiEoaXNPcGVuIHwgYXN5bmMpXCIgW21vZGVdPVwiIChpc1NNIHwgYXN5bmMpID8gJ292ZXJsYXknIDogJ3B1c2gnXCJcbiAgICAqbmdJZj1cImxvYWRlci5oYXNTZWN0aW9ucyQgfCBhc3luY1wiIChjb2xsYXBzZWRDaGFuZ2UpPVwiaGFuZGxlQ29sbGFwc2VkQ2hhbmdlKCRldmVudClcIj5cbiAgICA8YXgtY29udGVudCBjbGFzcz1cImF4LWJvcmRlci1lIGF4LXAtNiBheC13LTY0XCI+XG4gICAgICA8cCBjbGFzcz1cImF4LXRleHQteGwgYXgtZm9udC1ib2xkIGF4LW1iLTZcIj57e2xvYWRlci5zZWN0aW9uVGl0bGV9fTwvcD5cbiAgICAgIDxheC10YWJzIGxvb2s9XCJ3aXRoLWxpbmVcIiBsb2NhdGlvbj1cInN0YXJ0XCI+XG4gICAgICAgIEBmb3IodGFiIG9mIChsb2FkZXIuc2VjdGlvbnMkIHwgYXN5bmMpOyB0cmFjayB0YWIubmFtZSlcbiAgICAgICAge1xuICAgICAgICA8YXgtdGFiLWl0ZW0gW3RleHRdPVwidGFiLnRpdGxlXCIgW2FjdGl2ZV09XCJpc0FjdGl2ZSh0YWIpXCIgKG9uQ2xpY2spPVwiaGFuZGxlTWVudUNsaWNrKCRldmVudCx0YWIpXCJcbiAgICAgICAgICBbZGlzYWJsZWRdPVwiZWRpdEZvcm0uY29udGV4dFwiPlxuICAgICAgICA8L2F4LXRhYi1pdGVtPlxuICAgICAgICB9XG4gICAgICA8L2F4LXRhYnM+XG4gICAgPC9heC1jb250ZW50PlxuICA8L2F4LWRyYXdlcj4gLS0+XG4gIDxheC1jb250ZW50ICNjb250ZW50IGNsYXNzPVwiYXgtb3ZlcmZsb3cteC1oaWRkZW5cIj5cbiAgICA8ZGl2IGNsYXNzPVwiYXgtZmxleCBheC1mbGV4LWNvbCBheC1nYXAtNCBheC1taW4taC1mdWxsIGF4LXB4LTQgYXgtcGItNCBtZDpheC1weC02IGF4LWJnLXN1cmZhY2UgYXgtYm9yZGVyLWIgbWQ6YXgtYm9yZGVyLTAgbWQ6YXgtYmctZGVmYXVsdFwiPlxuICAgICAgPGRpdlxuICAgICAgICBjbGFzcz1cImF4LWZsZXggYXgtZmxleC1jb2wgYXgtcHQtNCBheC1zdGlja3kgYXgtdG9wLTAgYXgtei0xMCBheC10cmFuc2l0aW9uLWFsbFwiXG4gICAgICAgICNzdGlja3k9XCJheHBTdGlja3lcIlxuICAgICAgICBbYXhwU3RpY2t5XT1cIidheC1iZy1zdXJmYWNlIGF4LXB4LTYgYXgtcHktMyAtYXgtbXgtNiBheC1zaGFkb3cteGwnXCJcbiAgICAgICAgW3N0aWNreVBhcmVudF09XCJjb250ZW50LmdldEhvc3RFbGVtZW50KClcIlxuICAgICAgPlxuICAgICAgICA8IS0tLS0tLS0tIEJlZ2luIFRvb2xiYXIgIC0tLS0tLS0tPlxuICAgICAgICA8ZGl2IGNsYXNzPVwiYXgtZmxleCBheC1qdXN0aWZ5LWJldHdlZW4gYXgtaXRlbXMtY2VudGVyXCI+XG4gICAgICAgICAgPCEtLS0tLS0tLSBCZWdpbiBUaXRsZSAgLS0tLS0tLS0+XG4gICAgICAgICAgPGRpdiBjbGFzcz1cImF4LWZsZXggYXgtZ2FwLTEgYXgtaXRlbXMtY2VudGVyXCI+XG4gICAgICAgICAgICA8IS0tIDxheC1idXR0b24gY2xhc3M9XCJsZzpheC1oaWRkZW5cIj5cbiAgICAgICAgICAgICAgPGF4LWljb24gY2xhc3M9XCJmYS1zb2xpZCBmYS1jaGV2cm9uLWxlZnRcIj48L2F4LWljb24+XG4gICAgICAgICAgICA8L2F4LWJ1dHRvbj4gLS0+XG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwiYXgtZmxleCBheC1mbGV4LWNvbCBheC1nYXAtMlwiPlxuICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiYXgtdGV4dC14bCBtZDpheC10ZXh0LTN4bCBheC1mb250LWJvbGRcIj57eyBsb2FkZXIudGl0bGUgfX08L2Rpdj5cbiAgICAgICAgICAgICAgPCEtLSA8YXgtYnJlYWRjcnVtYnMgY2xhc3M9XCJjaGlsZDpheC1mb250LW5vcm1hbCBjaGlsZDpheC10ZXh0LW5ldXRyYWwtNDAwXCI+XG4gICAgICAgICAgICAgICAgPG5nLXRlbXBsYXRlICNkaXZpZGVyPlxuICAgICAgICAgICAgICAgICAgPGkgY2xhc3M9XCJmYS1zb2xpZCBmYS1jaGV2cm9uLXJpZ2h0IGF4LXRleHQteHMgYXgtbXgtMlwiPjwvaT5cbiAgICAgICAgICAgICAgICA8L25nLXRlbXBsYXRlPlxuICAgICAgICAgICAgICAgIDxheC1icmVhZGNydW1icy1pdGVtPlxuICAgICAgICAgICAgICAgICAgPGE+SG9tZTwvYT5cbiAgICAgICAgICAgICAgICA8L2F4LWJyZWFkY3J1bWJzLWl0ZW0+XG4gICAgICAgICAgICAgICAgPGF4LWJyZWFkY3J1bWJzLWl0ZW0+XG4gICAgICAgICAgICAgICAgICA8YT57eyBsb2FkZXIuZW50aXR5LnRpdGxlIH19PC9hPlxuICAgICAgICAgICAgICAgIDwvYXgtYnJlYWRjcnVtYnMtaXRlbT5cbiAgICAgICAgICAgICAgICA8YXgtYnJlYWRjcnVtYnMtaXRlbSBbYWN0aXZlXT1cInRydWVcIiBjbGFzcz1cIiFheC1mb250LXNlbWlib2xkICFheC10ZXh0LW5ldXRyYWwtNjAwXCI+XG4gICAgICAgICAgICAgICAgICB7eyBsb2FkZXIudGl0bGUgfX1cbiAgICAgICAgICAgICAgICA8L2F4LWJyZWFkY3J1bWJzLWl0ZW0+XG4gICAgICAgICAgICAgIDwvYXgtYnJlYWRjcnVtYnM+IC0tPlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgPCEtLS0tLS0tLSBGaW5pc2ggVGl0bGUgIC0tLS0tLS0tPlxuICAgICAgICAgIDwhLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tPlxuICAgICAgICAgIDwhLS0gQmVnaW4gQWN0aW9uIE1lbnUgIC0tPlxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJheC1mbGV4IGF4LWl0ZW1zLWNlbnRlciBheC1nYXAtM1wiPlxuICAgICAgICAgICAgQGlmKGNhbkNyZWF0ZSB8fCBjYW5VcGRhdGUpIHtcbiAgICAgICAgICAgIDxheC1idXR0b24gW3RleHRdPVwiKGlzU00gfCBhc3luYykgPyBudWxsIDogJ0FjdGlvbnMnXCIgY29sb3I9XCJnaG9zdFwiPlxuICAgICAgICAgICAgICA8YXgtcHJlZml4PlxuICAgICAgICAgICAgICAgIDxpIGNsYXNzPVwiZmEtc29saWQgZmEtZWxsaXBzaXMtdmVydGljYWxcIj48L2k+XG4gICAgICAgICAgICAgIDwvYXgtcHJlZml4PlxuICAgICAgICAgICAgICA8YXgtZHJvcGRvd24tcGFuZWw+XG4gICAgICAgICAgICAgICAgPGF4LWJ1dHRvbi1pdGVtLWxpc3Q+XG4gICAgICAgICAgICAgICAgICA8IS0tIDxheC1idXR0b24taXRlbSB0ZXh0PVwiU2hhcmVcIiBjbGFzcz1cImF4LWZvbnQtc2VtaWJvbGRcIj5cbiAgICAgICAgICAgICAgICAgICAgPGF4LXByZWZpeD5cbiAgICAgICAgICAgICAgICAgICAgICA8YXgtaWNvbiBpY29uPVwiZmEtc29saWQgZmEtc2hhcmVcIj4gPC9heC1pY29uPlxuICAgICAgICAgICAgICAgICAgICA8L2F4LXByZWZpeD5cbiAgICAgICAgICAgICAgICAgIDwvYXgtYnV0dG9uLWl0ZW0+IFxuICAgICAgICAgICAgICAgICAgPGF4LWRpdmlkZXI+PC9heC1kaXZpZGVyPi0tPlxuICAgICAgICAgICAgICAgICAgQGlmKGNhbkNyZWF0ZSkge1xuICAgICAgICAgICAgICAgICAgPGF4LWJ1dHRvbi1pdGVtXG4gICAgICAgICAgICAgICAgICAgIFt0ZXh0XT1cIignY3JlYXRlLW5ldycgfCB0cmFuc2xhdGUgfCBhc3luYykgPz8gJyAnXCJcbiAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJheC1mb250LXNlbWlib2xkIGF4LXRleHQtcHJpbWFyeVwiXG4gICAgICAgICAgICAgICAgICAgIChvbkNsaWNrKT1cImhhbmRsZUNvbW1hbmRDbGljaygnY3JlYXRlJylcIlxuICAgICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgICA8YXgtcHJlZml4PlxuICAgICAgICAgICAgICAgICAgICAgIDxheC1pY29uIGljb249XCJmYS1zb2xpZCBmYS1hZGRcIj4gPC9heC1pY29uPlxuICAgICAgICAgICAgICAgICAgICA8L2F4LXByZWZpeD5cbiAgICAgICAgICAgICAgICAgIDwvYXgtYnV0dG9uLWl0ZW0+XG4gICAgICAgICAgICAgICAgICB9IEBpZihjYW5EZWxldGUpIHtcbiAgICAgICAgICAgICAgICAgIDxheC1idXR0b24taXRlbSB0ZXh0PVwiRGVsZXRlXCIgY2xhc3M9XCJheC1mb250LXNlbWlib2xkIGF4LXRleHQtZGFuZ2VyXCIgKG9uQ2xpY2spPVwiaGFuZGxlQ29tbWFuZENsaWNrKCdkZWxldGUnKVwiPlxuICAgICAgICAgICAgICAgICAgICA8YXgtcHJlZml4PlxuICAgICAgICAgICAgICAgICAgICAgIDxheC1pY29uIGljb249XCJmYS1zb2xpZCBmYS10cmFzaFwiPiA8L2F4LWljb24+XG4gICAgICAgICAgICAgICAgICAgIDwvYXgtcHJlZml4PlxuICAgICAgICAgICAgICAgICAgPC9heC1idXR0b24taXRlbT5cbiAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICA8L2F4LWJ1dHRvbi1pdGVtLWxpc3Q+XG4gICAgICAgICAgICAgIDwvYXgtZHJvcGRvd24tcGFuZWw+XG4gICAgICAgICAgICA8L2F4LWJ1dHRvbj5cbiAgICAgICAgICAgIH1cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICA8IS0tIEZpbmlzaCBBY3Rpb24gTWVudSAgLS0+XG4gICAgICAgIDwvZGl2PlxuICAgICAgICA8IS0tLS0tIEZpbmlzaCBUb29sYmFyICAtLS0tLT5cbiAgICAgICAgPCEtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0+XG4gICAgICAgIDwhLS0gQmVnaW4gU2VjdGlvbiBUYWIgSXRlbXMgIC0tPlxuICAgICAgICBAaWYoKGxvYWRlci5oYXNTZWN0aW9ucyR8IGFzeW5jKSkge1xuICAgICAgICA8YXgtdGFicyBsb29rPVwid2l0aC1saW5lXCIgbG9jYXRpb249XCJib3R0b21cIiBjbGFzcz1cImF4LW10LTJcIj5cbiAgICAgICAgICBAZm9yKHRhYiBvZiAobG9hZGVyLnNlY3Rpb25zJCB8IGFzeW5jKTsgdHJhY2sgdGFiLm5hbWUpIHtcbiAgICAgICAgICA8YXgtdGFiLWl0ZW0gW3RleHRdPVwidGFiLnRpdGxlXCIgW2FjdGl2ZV09XCJpc0FjdGl2ZSh0YWIpXCIgKG9uQ2xpY2spPVwiaGFuZGxlTWVudUNsaWNrKCRldmVudCwgdGFiKVwiIGNsYXNzPVwiZmlyc3Q6IWF4LW1zLTBcIj4gPC9heC10YWItaXRlbT5cbiAgICAgICAgICB9XG4gICAgICAgIDwvYXgtdGFicz5cbiAgICAgICAgfVxuICAgICAgICA8IS0tIEZpbmlzaCBTZWN0aW9uIFRhYiBJdGVtcyAgLS0+XG4gICAgICA8L2Rpdj5cbiAgICAgIEBmb3Ioc2VjdGlvbiBvZiAobG9hZGVyLnNlY3Rpb24kIHwgYXN5bmMpPy5zZWN0aW9uczsgdHJhY2sgc2VjdGlvbi5uYW1lKSB7XG4gICAgICA8YXgtZm9ybSAjZm9ybT5cbiAgICAgICAgPGRpdiBjbGFzcz1cImF4LWNhcmQgYXgtc2hhZG93LW1kXCI+XG4gICAgICAgICAgPGRpdiBjbGFzcz1cImF4LWNhcmQtaGVhZGVyXCI+XG4gICAgICAgICAgICA8cD57eyBzZWN0aW9uLnRpdGxlIH19PC9wPlxuICAgICAgICAgICAgQGlmKGNhblVwZGF0ZSkge1xuICAgICAgICAgICAgPGF4LWJ1dHRvbiB0ZXh0PVwiTW9kaWZ5XCIgY2xhc3M9XCJheC1zbVwiIGNvbG9yPVwicHJpbWFyeVwiIChvbkNsaWNrKT1cImhhbmRsZVNlY3Rpb25FZGl0KHNlY3Rpb24pXCI+XG4gICAgICAgICAgICAgIDxheC1pY29uIGNsYXNzPVwiZmEtc29saWQgZmEtcGVuXCI+IDwvYXgtaWNvbj5cbiAgICAgICAgICAgIDwvYXgtYnV0dG9uPlxuICAgICAgICAgICAgfVxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJheC1jYXJkLWJvZHkgYXgtZGl2aWRlLXkgYXgtZGl2aWRlLWdyYXktMTAwIGRhcms6YXgtZGl2aWRlLWdyYXktNzAwICFheC1nYXAtMFwiPlxuICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdGb3I9XCJsZXQgbmFtZSBvZiBzZWN0aW9uLnByb3BlcnRpZXNcIj5cbiAgICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cImxvYWRlci5nZXRQcm9wKG5hbWUpIGFzIHByb3BcIj5cbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiYXgtZ3JpZCBtZDpheC1ncmlkLWNvbHMtMTIgYXgtZ2FwLTIgYXgtcHktNCBmaXJzdDpheC1wdC0wIGxhc3Q6YXgtcGItMFwiPlxuICAgICAgICAgICAgICAgICAgQGlmKHNlY3Rpb24ub3B0aW9ucz8uc2hvd1Byb3BUaXRsZSE9ZmFsc2Upe1xuICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImF4LWNvbC1zcGFuLTEyIG1kOmF4LWNvbC1zcGFuLTMgbGc6YXgtY29sLXNwYW4tMiBheC1mbGV4IGF4LWl0ZW1zLWNlbnRlciBtZDpheC1pdGVtcy1zdGFydCBheC1qdXN0aWZ5LWJldHdlZW5cIj5cbiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImF4LWZsZXggYXgtZmxleC1jb2wgYXgtaXRlbXMtc3RhcnRcIj5cbiAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cImF4LWZvbnQtc2VtaWJvbGRcIj57eyBwcm9wLnRpdGxlIH19PC9zcGFuPlxuICAgICAgICAgICAgICAgICAgICAgIDwhLS0gQGlmKHByb3AuZGVzY3JpcHRpb24pIHtcbiAgICAgICAgICAgICAgICAgICAgICA8aVxuICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJmYS1zb2xpZCBmYS1jaXJjbGUtaW5mbyBmYS1zbSBheC10ZXh0LW5ldXRyYWwtNTAwIGRhcms6YXgtdGV4dC1uZXV0cmFsLTQwMCBheC1jdXJzb3ItcG9pbnRlclwiXG4gICAgICAgICAgICAgICAgICAgICAgICBbYXhUb29sdGlwXT1cInByb3AuZGVzY3JpcHRpb25cIlxuICAgICAgICAgICAgICAgICAgICAgICAgW2F4VG9vbHRpcFBsYWNlbWVudF09XCInZW5kJ1wiXG4gICAgICAgICAgICAgICAgICAgICAgPjwvaT5cbiAgICAgICAgICAgICAgICAgICAgICB9IC0tPlxuICAgICAgICAgICAgICAgICAgICAgIEBpZihwcm9wLmRlc2NyaXB0aW9uKSB7XG4gICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJheC10ZXh0LW5ldXRyYWwtNTAwIGF4LXRleHQteHNcIj57eyBwcm9wLmRlc2NyaXB0aW9uIH19PC9zcGFuPlxuICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgIDxkaXYgW2NsYXNzXT1cInNlY3Rpb24ub3B0aW9ucz8uc2hvd1Byb3BUaXRsZSA9PSBmYWxzZSA/ICdheC1jb2wtc3Bhbi0xMicgOiAnYXgtY29sLXNwYW4tMTIgbWQ6YXgtY29sLXNwYW4tOSBsZzpheC1jb2wtc3Bhbi0xMCdcIj5cbiAgICAgICAgICAgICAgICAgICAgPGF4cC13aWRnZXQtcmVuZGVyZXIgW3NjaGVtYV09XCJwcm9wLnNjaGVtYVwiIFtjb250ZXh0XT1cImNvbnRleHQoKVwiIFtwcm9wXT1cInByb3BcIiBbbW9kZV09XCIndmlldydcIj48L2F4cC13aWRnZXQtcmVuZGVyZXI+XG4gICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgPC9kaXY+XG4gICAgICA8L2F4LWZvcm0+XG4gICAgICB9XG4gICAgPC9kaXY+XG4gIDwvYXgtY29udGVudD5cbjwvYXgtZHJhd2VyLWNvbnRhaW5lcj5cbiJdfQ==
@@ -1,3 +1,3 @@
1
1
  export * from './entity-details-view.component';
2
2
  export * from './detail-view.config';
3
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL3BsYXRmb3JtL2xheW91dHMvc3JjL2xpYi9hZG1pbi9lbnRpdHktbGF5b3V0L2VudGl0eS1kZXRhaWxzLXZpZXcvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsY0FBYyxpQ0FBaUMsQ0FBQTtBQUMvQyxjQUFjLHNCQUFzQixDQUFBIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSAnLi9lbnRpdHktZGV0YWlscy12aWV3LmNvbXBvbmVudCdcclxuZXhwb3J0ICogZnJvbSAnLi9kZXRhaWwtdmlldy5jb25maWcnIl19
3
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL3BsYXRmb3JtL2xheW91dHMvc3JjL2xpYi9hZG1pbi9lbnRpdHktbGF5b3V0L2VudGl0eS1kZXRhaWxzLXZpZXcvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsY0FBYyxpQ0FBaUMsQ0FBQTtBQUMvQyxjQUFjLHNCQUFzQixDQUFBIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSAnLi9lbnRpdHktZGV0YWlscy12aWV3LmNvbXBvbmVudCdcbmV4cG9ydCAqIGZyb20gJy4vZGV0YWlsLXZpZXcuY29uZmlnJyJdfQ==
@@ -0,0 +1,91 @@
1
+ import { AXButtonModule } from '@acorex/components/button';
2
+ import { AXDecoratorModule } from '@acorex/components/decorators';
3
+ import { AXDialogModule } from '@acorex/components/dialog';
4
+ import { AXDropdownButtonModule } from '@acorex/components/dropdown-button';
5
+ import { AXFormModule } from '@acorex/components/form';
6
+ import { AXLabelModule } from '@acorex/components/label';
7
+ import { AXLoadingModule } from '@acorex/components/loading';
8
+ import { AXBasePageComponent } from '@acorex/components/page';
9
+ import { AXTabsModule } from '@acorex/components/tabs';
10
+ import { AXTooltipModule } from '@acorex/components/tooltip';
11
+ import { AXPDataProvider, AXPSchemaModule } from '@acorex/platform/common';
12
+ import { CommonModule } from '@angular/common';
13
+ import { ChangeDetectionStrategy, Component, inject, signal, viewChild } from '@angular/core';
14
+ import { FormControl, FormGroup, FormsModule, ReactiveFormsModule } from '@angular/forms';
15
+ import { AXValidationModule } from '@acorex/core/validation';
16
+ import { AXDropdownModule } from '@acorex/components/dropdown';
17
+ import { AXPStickyDirective } from '@acorex/platform/common';
18
+ import { AXPWorkflowService } from '@acorex/platform/workflow';
19
+ import * as i0 from "@angular/core";
20
+ import * as i1 from "@angular/forms";
21
+ import * as i2 from "@acorex/components/decorators";
22
+ import * as i3 from "@acorex/components/button";
23
+ import * as i4 from "@acorex/components/loading";
24
+ export class AXPEntityImportViewComponent extends AXBasePageComponent {
25
+ constructor() {
26
+ super(...arguments);
27
+ this.fileInput = viewChild('input');
28
+ this.workflow = inject(AXPWorkflowService);
29
+ this.dataService = inject(AXPDataProvider);
30
+ this.submitLoading = signal(false);
31
+ this.selectedFileInfo = signal(null);
32
+ this.form = new FormGroup({
33
+ title: new FormControl(''),
34
+ file: new FormControl(null),
35
+ });
36
+ }
37
+ onFilePicked(event) {
38
+ const file = event.target?.files?.[0];
39
+ this.form.patchValue({ file: file });
40
+ this.selectedFileInfo.set(this.form.controls?.file.value);
41
+ }
42
+ handleCloseClick() {
43
+ this.close();
44
+ }
45
+ async handleUploadClick() {
46
+ if (this.form.status === 'VALID') {
47
+ const file = this.form.controls.file.value;
48
+ if (file) {
49
+ this.submitLoading.set(true);
50
+ const url = `${this.entity.module}/${this.entity.name}/ImportExcel`;
51
+ const resolved = await this.dataService.uploadFile(file, file.name, url);
52
+ this.submitLoading.set(false);
53
+ if (resolved.totalCount) {
54
+ this.close({ save: true, redirect: false });
55
+ }
56
+ }
57
+ }
58
+ else {
59
+ console.log('Form is invalid');
60
+ }
61
+ }
62
+ handleUploaderClick() {
63
+ this.fileInput()?.nativeElement.click();
64
+ }
65
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.2", ngImport: i0, type: AXPEntityImportViewComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
66
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.0.2", type: AXPEntityImportViewComponent, isStandalone: true, selector: "ng-component", viewQueries: [{ propertyName: "fileInput", first: true, predicate: ["input"], descendants: true, isSignal: true }], usesInheritance: true, ngImport: i0, template: "<div class=\"ax-min-h-[25vh]\">\n <form class=\"ax-flex ax-flex-col ax-gap-2 ax-p-4\">\n <div\n class=\"ax-flex ax-cursor-pointer ax-items-center ax-justify-center ax-border ax-border- ax-rounded-lg ax-h-40 ax-flex-col ax-gap-2\"\n (click)=\"handleUploaderClick()\"\n >\n @if(selectedFileInfo()?.name){\n <label>{{ selectedFileInfo()?.name }}</label>\n }@else{\n <label class=\"ax-cursor-pointer\">Choose an Excel file to upload</label>\n }\n <input\n (change)=\"onFilePicked($event)\"\n type=\"file\"\n id=\"fileUpload\"\n name=\"fileUpload\"\n accept=\".xlsx, .xls\"\n ngModel\n required\n #input\n class=\"ax-invisible ax-size-0 ax-absolute\"\n />\n </div>\n @if(selectedFileInfo()){\n <div class=\"ax-flex ax-items-center ax-justify-between\">\n <div class=\"ax-flex ax-flex-col ax-text-sm ax-font-semibold\">\n <span>{{ selectedFileInfo()?.name }}</span>\n <!-- <span>{{ selectedFileInfo()?.size | format : 'filesize' | async }}</span> -->\n </div>\n <ax-icon class=\"fa-solid fa-circle-check ax-text-success\"> </ax-icon>\n </div>\n }\n </form>\n <ax-footer>\n <ax-prefix> </ax-prefix>\n <ax-suffix>\n <ax-button look=\"solid\" color=\"ghost\" text=\"Cancel\" (onClick)=\"handleCloseClick()\"> </ax-button>\n <ax-button look=\"solid\" color=\"primary\" text=\"Upload\" (onClick)=\"handleUploadClick()\" [disabled]=\"submitLoading()\">\n @if(submitLoading()){\n <ax-loading></ax-loading>\n }\n </ax-button>\n </ax-suffix>\n </ax-footer>\n</div>\n", dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i1.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i1.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i1.RequiredValidator, selector: ":not([type=checkbox])[required][formControlName],:not([type=checkbox])[required][formControl],:not([type=checkbox])[required][ngModel]", inputs: ["required"] }, { kind: "directive", type: i1.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "directive", type: i1.NgForm, selector: "form:not([ngNoForm]):not([formGroup]),ng-form,[ngForm]", inputs: ["ngFormOptions"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "ngmodule", type: AXFormModule }, { kind: "ngmodule", type: AXDecoratorModule }, { kind: "component", type: i2.AXDecoratorIconComponent, selector: "ax-icon", inputs: ["icon"] }, { kind: "component", type: i2.AXDecoratorGenericComponent, selector: "ax-footer, ax-header, ax-content, ax-divider, ax-form-hint, ax-prefix, ax-suffix, ax-text, ax-title, ax-sub-title, ax-placeholder, ax-overlay" }, { kind: "ngmodule", type: AXButtonModule }, { kind: "component", type: i3.AXButtonComponent, selector: "ax-button", inputs: ["disabled", "size", "tabIndex", "color", "look", "text", "toggleable", "selected", "type", "loadingText"], outputs: ["onBlur", "onFocus", "onClick", "selectedChange", "toggleableChange", "lookChange", "colorChange", "disabledChange", "loadingTextChange"] }, { kind: "ngmodule", type: AXDialogModule }, { kind: "ngmodule", type: AXLoadingModule }, { kind: "component", type: i4.AXLoadingComponent, selector: "ax-loading", inputs: ["visible", "type", "context"], outputs: ["visibleChange"] }, { kind: "ngmodule", type: AXTabsModule }, { kind: "ngmodule", type: AXPSchemaModule }, { kind: "ngmodule", type: AXTooltipModule }, { kind: "ngmodule", type: AXValidationModule }, { kind: "ngmodule", type: AXLabelModule }, { kind: "ngmodule", type: AXDropdownModule }, { kind: "ngmodule", type: AXDropdownButtonModule }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
67
+ }
68
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.2", ngImport: i0, type: AXPEntityImportViewComponent, decorators: [{
69
+ type: Component,
70
+ args: [{ imports: [
71
+ CommonModule,
72
+ FormsModule,
73
+ ReactiveFormsModule,
74
+ AXFormModule,
75
+ AXDecoratorModule,
76
+ CommonModule,
77
+ AXButtonModule,
78
+ AXDialogModule,
79
+ AXLoadingModule,
80
+ AXTabsModule,
81
+ AXPSchemaModule,
82
+ AXTooltipModule,
83
+ AXValidationModule,
84
+ AXLabelModule,
85
+ AXDropdownModule,
86
+ AXDropdownButtonModule,
87
+ //
88
+ AXPStickyDirective,
89
+ ], standalone: true, changeDetection: ChangeDetectionStrategy.OnPush, template: "<div class=\"ax-min-h-[25vh]\">\n <form class=\"ax-flex ax-flex-col ax-gap-2 ax-p-4\">\n <div\n class=\"ax-flex ax-cursor-pointer ax-items-center ax-justify-center ax-border ax-border- ax-rounded-lg ax-h-40 ax-flex-col ax-gap-2\"\n (click)=\"handleUploaderClick()\"\n >\n @if(selectedFileInfo()?.name){\n <label>{{ selectedFileInfo()?.name }}</label>\n }@else{\n <label class=\"ax-cursor-pointer\">Choose an Excel file to upload</label>\n }\n <input\n (change)=\"onFilePicked($event)\"\n type=\"file\"\n id=\"fileUpload\"\n name=\"fileUpload\"\n accept=\".xlsx, .xls\"\n ngModel\n required\n #input\n class=\"ax-invisible ax-size-0 ax-absolute\"\n />\n </div>\n @if(selectedFileInfo()){\n <div class=\"ax-flex ax-items-center ax-justify-between\">\n <div class=\"ax-flex ax-flex-col ax-text-sm ax-font-semibold\">\n <span>{{ selectedFileInfo()?.name }}</span>\n <!-- <span>{{ selectedFileInfo()?.size | format : 'filesize' | async }}</span> -->\n </div>\n <ax-icon class=\"fa-solid fa-circle-check ax-text-success\"> </ax-icon>\n </div>\n }\n </form>\n <ax-footer>\n <ax-prefix> </ax-prefix>\n <ax-suffix>\n <ax-button look=\"solid\" color=\"ghost\" text=\"Cancel\" (onClick)=\"handleCloseClick()\"> </ax-button>\n <ax-button look=\"solid\" color=\"primary\" text=\"Upload\" (onClick)=\"handleUploadClick()\" [disabled]=\"submitLoading()\">\n @if(submitLoading()){\n <ax-loading></ax-loading>\n }\n </ax-button>\n </ax-suffix>\n </ax-footer>\n</div>\n" }]
90
+ }] });
91
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZW50aXR5LWltcG9ydC12aWV3LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvcGxhdGZvcm0vbGF5b3V0cy9zcmMvbGliL2FkbWluL2VudGl0eS1sYXlvdXQvZW50aXR5LWltcG9ydC12aWV3L2VudGl0eS1pbXBvcnQtdmlldy5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL3BsYXRmb3JtL2xheW91dHMvc3JjL2xpYi9hZG1pbi9lbnRpdHktbGF5b3V0L2VudGl0eS1pbXBvcnQtdmlldy9lbnRpdHktaW1wb3J0LXZpZXcuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBQzNELE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLCtCQUErQixDQUFDO0FBQ2xFLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUMzRCxPQUFPLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSxvQ0FBb0MsQ0FBQztBQUM1RSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFDdkQsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBQ3pELE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQztBQUM3RCxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUM5RCxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFDdkQsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBQzdELE9BQU8sRUFBRSxlQUFlLEVBQW1CLGVBQWUsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBQzVGLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztB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LENBQUMsS0FBSyxFQUFFLENBQUM7SUFDMUMsQ0FBQzs4R0E1Q1UsNEJBQTRCO2tHQUE1Qiw0QkFBNEIsbU5DOUN6Qyw0bkRBNkNBLDJDRHJCSSxZQUFZLDhCQUNaLFdBQVcsb3dDQUNYLG1CQUFtQiw4QkFDbkIsWUFBWSw4QkFDWixpQkFBaUIsdVZBRWpCLGNBQWMsaVhBQ2QsY0FBYyw4QkFDZCxlQUFlLDhLQUNmLFlBQVksOEJBQ1osZUFBZSw4QkFDZixlQUFlLDhCQUNmLGtCQUFrQiw4QkFDbEIsYUFBYSw4QkFDYixnQkFBZ0IsOEJBQ2hCLHNCQUFzQjs7MkZBT2IsNEJBQTRCO2tCQXpCeEMsU0FBUzs4QkFFQzt3QkFDUCxZQUFZO3dCQUNaLFdBQVc7d0JBQ1gsbUJBQW1CO3dCQUNuQixZQUFZO3dCQUNaLGlCQUFpQjt3QkFDakIsWUFBWTt3QkFDWixjQUFjO3dCQUNkLGNBQWM7d0JBQ2QsZUFBZTt3QkFDZixZQUFZO3dCQUNaLGVBQWU7d0JBQ2YsZUFBZTt3QkFDZixrQkFBa0I7d0JBQ2xCLGFBQWE7d0JBQ2IsZ0JBQWdCO3dCQUNoQixzQkFBc0I7d0JBQ3RCLEVBQUU7d0JBQ0Ysa0JBQWtCO3FCQUNuQixjQUNXLElBQUksbUJBQ0MsdUJBQXVCLENBQUMsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEFYQnV0dG9uTW9kdWxlIH0gZnJvbSAnQGFjb3JleC9jb21wb25lbnRzL2J1dHRvbic7XG5pbXBvcnQgeyBBWERlY29yYXRvck1vZHVsZSB9IGZyb20gJ0BhY29yZXgvY29tcG9uZW50cy9kZWNvcmF0b3JzJztcbmltcG9ydCB7IEFYRGlhbG9nTW9kdWxlIH0gZnJvbSAnQGFjb3JleC9jb21wb25lbnRzL2RpYWxvZyc7XG5pbXBvcnQgeyBBWERyb3Bkb3duQnV0dG9uTW9kdWxlIH0gZnJvbSAnQGFjb3JleC9jb21wb25lbnRzL2Ryb3Bkb3duLWJ1dHRvbic7XG5pbXBvcnQgeyBBWEZvcm1Nb2R1bGUgfSBmcm9tICdAYWNvcmV4L2NvbXBvbmVudHMvZm9ybSc7XG5pbXBvcnQgeyBBWExhYmVsTW9kdWxlIH0gZnJvbSAnQGFjb3JleC9jb21wb25lbnRzL2xhYmVsJztcbmltcG9ydCB7IEFYTG9hZGluZ01vZHVsZSB9IGZyb20gJ0BhY29yZXgvY29tcG9uZW50cy9sb2FkaW5nJztcbmltcG9ydCB7IEFYQmFzZVBhZ2VDb21wb25lbnQgfSBmcm9tICdAYWNvcmV4L2NvbXBvbmVudHMvcGFnZSc7XG5pbXBvcnQgeyBBWFRhYnNNb2R1bGUgfSBmcm9tICdAYWNvcmV4L2NvbXBvbmVudHMvdGFicyc7XG5pbXBvcnQgeyBBWFRvb2x0aXBNb2R1bGUgfSBmcm9tICdAYWNvcmV4L2NvbXBvbmVudHMvdG9vbHRpcCc7XG5pbXBvcnQgeyBBWFBEYXRhUHJvdmlkZXIsIEFYUEVudGl0eUNvbmZpZywgQVhQU2NoZW1hTW9kdWxlIH0gZnJvbSAnQGFjb3JleC9wbGF0Zm9ybS9jb21tb24nO1xuaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IENoYW5nZURldGVjdGlvblN0cmF0ZWd5LCBDb21wb25lbnQsIEVsZW1lbnRSZWYsIFdyaXRhYmxlU2lnbmFsLCBpbmplY3QsIHNpZ25hbCwgdmlld0NoaWxkIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBGb3JtQ29udHJvbCwgRm9ybUdyb3VwLCBGb3Jtc01vZHVsZSwgUmVhY3RpdmVGb3Jtc01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcblxuaW1wb3J0IHsgQVhWYWxpZGF0aW9uTW9kdWxlIH0gZnJvbSAnQGFjb3JleC9jb3JlL3ZhbGlkYXRpb24nO1xuXG5pbXBvcnQgeyBBWERyb3Bkb3duTW9kdWxlIH0gZnJvbSAnQGFjb3JleC9jb21wb25lbnRzL2Ryb3Bkb3duJztcbmltcG9ydCB7IEFYUFN0aWNreURpcmVjdGl2ZSB9IGZyb20gJ0BhY29yZXgvcGxhdGZvcm0vY29tbW9uJztcbmltcG9ydCB7IEFYUFdvcmtmbG93U2VydmljZSB9IGZyb20gJ0BhY29yZXgvcGxhdGZvcm0vd29ya2Zsb3cnO1xuXG5AQ29tcG9uZW50KHtcbiAgdGVtcGxhdGVVcmw6ICcuL2VudGl0eS1pbXBvcnQtdmlldy5jb21wb25lbnQuaHRtbCcsXG4gIGltcG9ydHM6IFtcbiAgICBDb21tb25Nb2R1bGUsXG4gICAgRm9ybXNNb2R1bGUsXG4gICAgUmVhY3RpdmVGb3Jtc01vZHVsZSxcbiAgICBBWEZvcm1Nb2R1bGUsXG4gICAgQVhEZWNvcmF0b3JNb2R1bGUsXG4gICAgQ29tbW9uTW9kdWxlLFxuICAgIEFYQnV0dG9uTW9kdWxlLFxuICAgIEFYRGlhbG9nTW9kdWxlLFxuICAgIEFYTG9hZGluZ01vZHVsZSxcbiAgICBBWFRhYnNNb2R1bGUsXG4gICAgQVhQU2NoZW1hTW9kdWxlLFxuICAgIEFYVG9vbHRpcE1vZHVsZSxcbiAgICBBWFZhbGlkYXRpb25Nb2R1bGUsXG4gICAgQVhMYWJlbE1vZHVsZSxcbiAgICBBWERyb3Bkb3duTW9kdWxlLFxuICAgIEFYRHJvcGRvd25CdXR0b25Nb2R1bGUsXG4gICAgLy9cbiAgICBBWFBTdGlja3lEaXJlY3RpdmUsXG4gIF0sXG4gIHN0YW5kYWxvbmU6IHRydWUsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxufSlcbmV4cG9ydCBjbGFzcyBBWFBFbnRpdHlJbXBvcnRWaWV3Q29tcG9uZW50IGV4dGVuZHMgQVhCYXNlUGFnZUNvbXBvbmVudCB7XG4gIGZpbGVJbnB1dCA9IHZpZXdDaGlsZDxFbGVtZW50UmVmPEhUTUxEaXZFbGVtZW50Pj4oJ2lucHV0Jyk7XG5cbiAgcHJvdGVjdGVkIHdvcmtmbG93ID0gaW5qZWN0KEFYUFdvcmtmbG93U2VydmljZSk7XG4gIHByb3RlY3RlZCBkYXRhU2VydmljZSA9IGluamVjdChBWFBEYXRhUHJvdmlkZXIpO1xuICBwcm90ZWN0ZWQgZW50aXR5ITogQVhQRW50aXR5Q29uZmlnO1xuICBwcm90ZWN0ZWQgc3VibWl0TG9hZGluZzogV3JpdGFibGVTaWduYWw8Ym9vbGVhbj4gPSBzaWduYWwoZmFsc2UpO1xuICBwcm90ZWN0ZWQgc2VsZWN0ZWRGaWxlSW5mbzogV3JpdGFibGVTaWduYWw8eyBuYW1lOiBzdHJpbmc7IHNpemU6IHN0cmluZyB9IHwgbnVsbD4gPSBzaWduYWwobnVsbCk7XG5cbiAgZm9ybSA9IG5ldyBGb3JtR3JvdXAoe1xuICAgIHRpdGxlOiBuZXcgRm9ybUNvbnRyb2woJycpLFxuICAgIGZpbGU6IG5ldyBGb3JtQ29udHJvbChudWxsKSxcbiAgfSk7XG5cbiAgb25GaWxlUGlja2VkKGV2ZW50OiBFdmVudCkge1xuICAgIGNvbnN0IGZpbGUgPSAoZXZlbnQudGFyZ2V0IGFzIEhUTUxJbnB1dEVsZW1lbnQpPy5maWxlcz8uWzBdO1xuICAgIHRoaXMuZm9ybS5wYXRjaFZhbHVlKHsgZmlsZTogZmlsZSBhcyBhbnkgfSk7XG4gICAgdGhpcy5zZWxlY3RlZEZpbGVJbmZvLnNldCh0aGlzLmZvcm0uY29udHJvbHM/LmZpbGUudmFsdWUpO1xuICB9XG5cbiAgcHJvdGVjdGVkIGhhbmRsZUNsb3NlQ2xpY2soKSB7XG4gICAgdGhpcy5jbG9zZSgpO1xuICB9XG5cbiAgcHJvdGVjdGVkIGFzeW5jIGhhbmRsZVVwbG9hZENsaWNrKCkge1xuICAgIGlmICh0aGlzLmZvcm0uc3RhdHVzID09PSAnVkFMSUQnKSB7XG4gICAgICBjb25zdCBmaWxlOiBhbnkgPSB0aGlzLmZvcm0uY29udHJvbHMuZmlsZS52YWx1ZTtcblxuICAgICAgaWYgKGZpbGUpIHtcbiAgICAgICAgdGhpcy5zdWJtaXRMb2FkaW5nLnNldCh0cnVlKTtcbiAgICAgICAgY29uc3QgdXJsID0gYCR7dGhpcy5lbnRpdHkubW9kdWxlfS8ke3RoaXMuZW50aXR5Lm5hbWV9L0ltcG9ydEV4Y2VsYDtcbiAgICAgICAgY29uc3QgcmVzb2x2ZWQ6IGFueSA9IGF3YWl0IHRoaXMuZGF0YVNlcnZpY2UudXBsb2FkRmlsZShmaWxlLCBmaWxlLm5hbWUsIHVybCk7XG4gICAgICAgIHRoaXMuc3VibWl0TG9hZGluZy5zZXQoZmFsc2UpO1xuICAgICAgICBpZiAocmVzb2x2ZWQudG90YWxDb3VudCkge1xuICAgICAgICAgIHRoaXMuY2xvc2UoeyBzYXZlOiB0cnVlLCByZWRpcmVjdDogZmFsc2UgfSk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9IGVsc2Uge1xuICAgICAgY29uc29sZS5sb2coJ0Zvcm0gaXMgaW52YWxpZCcpO1xuICAgIH1cbiAgfVxuXG4gIGhhbmRsZVVwbG9hZGVyQ2xpY2soKSB7XG4gICAgdGhpcy5maWxlSW5wdXQoKT8ubmF0aXZlRWxlbWVudC5jbGljaygpO1xuICB9XG59XG4iLCI8ZGl2IGNsYXNzPVwiYXgtbWluLWgtWzI1dmhdXCI+XG4gIDxmb3JtIGNsYXNzPVwiYXgtZmxleCBheC1mbGV4LWNvbCBheC1nYXAtMiBheC1wLTRcIj5cbiAgICA8ZGl2XG4gICAgICBjbGFzcz1cImF4LWZsZXggYXgtY3Vyc29yLXBvaW50ZXIgYXgtaXRlbXMtY2VudGVyIGF4LWp1c3RpZnktY2VudGVyIGF4LWJvcmRlciBheC1ib3JkZXItIGF4LXJvdW5kZWQtbGcgYXgtaC00MCBheC1mbGV4LWNvbCBheC1nYXAtMlwiXG4gICAgICAoY2xpY2spPVwiaGFuZGxlVXBsb2FkZXJDbGljaygpXCJcbiAgICA+XG4gICAgICBAaWYoc2VsZWN0ZWRGaWxlSW5mbygpPy5uYW1lKXtcbiAgICAgIDxsYWJlbD57eyBzZWxlY3RlZEZpbGVJbmZvKCk/Lm5hbWUgfX08L2xhYmVsPlxuICAgICAgfUBlbHNle1xuICAgICAgPGxhYmVsIGNsYXNzPVwiYXgtY3Vyc29yLXBvaW50ZXJcIj5DaG9vc2UgYW4gRXhjZWwgZmlsZSB0byB1cGxvYWQ8L2xhYmVsPlxuICAgICAgfVxuICAgICAgPGlucHV0XG4gICAgICAgIChjaGFuZ2UpPVwib25GaWxlUGlja2VkKCRldmVudClcIlxuICAgICAgICB0eXBlPVwiZmlsZVwiXG4gICAgICAgIGlkPVwiZmlsZVVwbG9hZFwiXG4gICAgICAgIG5hbWU9XCJmaWxlVXBsb2FkXCJcbiAgICAgICAgYWNjZXB0PVwiLnhsc3gsIC54bHNcIlxuICAgICAgICBuZ01vZGVsXG4gICAgICAgIHJlcXVpcmVkXG4gICAgICAgICNpbnB1dFxuICAgICAgICBjbGFzcz1cImF4LWludmlzaWJsZSBheC1zaXplLTAgYXgtYWJzb2x1dGVcIlxuICAgICAgLz5cbiAgICA8L2Rpdj5cbiAgICBAaWYoc2VsZWN0ZWRGaWxlSW5mbygpKXtcbiAgICA8ZGl2IGNsYXNzPVwiYXgtZmxleCBheC1pdGVtcy1jZW50ZXIgYXgtanVzdGlmeS1iZXR3ZWVuXCI+XG4gICAgICA8ZGl2IGNsYXNzPVwiYXgtZmxleCBheC1mbGV4LWNvbCBheC10ZXh0LXNtIGF4LWZvbnQtc2VtaWJvbGRcIj5cbiAgICAgICAgPHNwYW4+e3sgc2VsZWN0ZWRGaWxlSW5mbygpPy5uYW1lIH19PC9zcGFuPlxuICAgICAgICA8IS0tIDxzcGFuPnt7IHNlbGVjdGVkRmlsZUluZm8oKT8uc2l6ZSB8IGZvcm1hdCA6ICdmaWxlc2l6ZScgfCBhc3luYyB9fTwvc3Bhbj4gLS0+XG4gICAgICA8L2Rpdj5cbiAgICAgIDxheC1pY29uIGNsYXNzPVwiZmEtc29saWQgZmEtY2lyY2xlLWNoZWNrIGF4LXRleHQtc3VjY2Vzc1wiPiA8L2F4LWljb24+XG4gICAgPC9kaXY+XG4gICAgfVxuICA8L2Zvcm0+XG4gIDxheC1mb290ZXI+XG4gICAgPGF4LXByZWZpeD4gPC9heC1wcmVmaXg+XG4gICAgPGF4LXN1ZmZpeD5cbiAgICAgIDxheC1idXR0b24gbG9vaz1cInNvbGlkXCIgY29sb3I9XCJnaG9zdFwiIHRleHQ9XCJDYW5jZWxcIiAob25DbGljayk9XCJoYW5kbGVDbG9zZUNsaWNrKClcIj4gPC9heC1idXR0b24+XG4gICAgICA8YXgtYnV0dG9uIGxvb2s9XCJzb2xpZFwiIGNvbG9yPVwicHJpbWFyeVwiIHRleHQ9XCJVcGxvYWRcIiAob25DbGljayk9XCJoYW5kbGVVcGxvYWRDbGljaygpXCIgW2Rpc2FibGVkXT1cInN1Ym1pdExvYWRpbmcoKVwiPlxuICAgICAgICBAaWYoc3VibWl0TG9hZGluZygpKXtcbiAgICAgICAgPGF4LWxvYWRpbmc+PC9heC1sb2FkaW5nPlxuICAgICAgICB9XG4gICAgICA8L2F4LWJ1dHRvbj5cbiAgICA8L2F4LXN1ZmZpeD5cbiAgPC9heC1mb290ZXI+XG48L2Rpdj5cbiJdfQ==