@mediusinc/mng-commons 3.6.0 → 3.7.0-rc.0

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 (341) hide show
  1. package/README.md +6 -5
  2. package/esm2022/index.mjs +6 -3
  3. package/esm2022/lib/api/models/filter-param.model.mjs +1 -1
  4. package/esm2022/lib/api/models/index.mjs +1 -3
  5. package/esm2022/lib/api/models/query-param.model.mjs +1 -1
  6. package/esm2022/lib/api/models/query-result.model.mjs +12 -1
  7. package/esm2022/lib/api/services/api.abstract.service.mjs +2 -2
  8. package/esm2022/lib/api/services/get-all-api.abstract.service.mjs +1 -1
  9. package/esm2022/lib/api/utils/index.mjs +2 -2
  10. package/esm2022/lib/api/utils/object-serializer.util.mjs +53 -137
  11. package/esm2022/lib/components/action/action.component.mjs +17 -16
  12. package/esm2022/lib/components/action/editor/action-editor.component.mjs +12 -12
  13. package/esm2022/lib/components/action/localization/data-language-dropdown.component.mjs +7 -7
  14. package/esm2022/lib/components/action/models/action-component.model.mjs +1 -1
  15. package/esm2022/lib/components/action/models/action-confirmation-service.model.mjs +1 -1
  16. package/esm2022/lib/components/action/models/action-execution.model.mjs +5 -5
  17. package/esm2022/lib/components/action/route/action-route.component.mjs +6 -6
  18. package/esm2022/lib/components/form/autocomplete/autocomplete.component.mjs +74 -65
  19. package/esm2022/lib/components/form/date-range/date-range.component.mjs +6 -7
  20. package/esm2022/lib/components/form/dropdown/dropdown.component.mjs +39 -39
  21. package/esm2022/lib/components/form/editor/form-editor.component.mjs +14 -16
  22. package/esm2022/lib/components/form/formly/fields/formly-field-action/formly-field-action.component.mjs +6 -6
  23. package/esm2022/lib/components/form/formly/fields/formly-field-autocomplete/formly-field-autocomplete.component.mjs +5 -5
  24. package/esm2022/lib/components/form/formly/fields/formly-field-custom/formly-custom-field-base.model.mjs +3 -3
  25. package/esm2022/lib/components/form/formly/fields/formly-field-custom/formly-field-custom.component.mjs +3 -3
  26. package/esm2022/lib/components/form/formly/fields/formly-field-dropdown/formly-field-dropdown.component.mjs +5 -5
  27. package/esm2022/lib/components/form/formly/fields/formly-field-fieldset/formly-field-fieldset.component.mjs +5 -6
  28. package/esm2022/lib/components/form/formly/fields/formly-field-input/formly-field-input.component.mjs +10 -13
  29. package/esm2022/lib/components/form/formly/fields/formly-field-label/formly-field-label.component.mjs +3 -3
  30. package/esm2022/lib/components/form/formly/fields/formly-field-lookup-dialog/formly-field-lookup-dialog.component.mjs +13 -13
  31. package/esm2022/lib/components/form/formly/fields/formly-field-table-dialog-form/formly-field-table-dialog-form.component.mjs +26 -15
  32. package/esm2022/lib/components/form/formly/fields/formly-field-table-dialog-multiselect/formly-field-table-dialog-multiselect.component.mjs +14 -14
  33. package/esm2022/lib/components/form/formly/fields/formly-field-tabs/formly-field-tabs.component.mjs +5 -6
  34. package/esm2022/lib/components/form/formly/wrappers/formly-field-no-label-wrapper/formly-field-no-label-wrapper.component.mjs +5 -6
  35. package/esm2022/lib/components/form/formly/wrappers/formly-field-wrapper/formly-field-wrapper.component.mjs +39 -18
  36. package/esm2022/lib/components/layout/breadcrumb.component.mjs +4 -4
  37. package/esm2022/lib/components/layout/footer.component.mjs +4 -4
  38. package/esm2022/lib/components/layout/main-layout.component.mjs +8 -8
  39. package/esm2022/lib/components/layout/menu-item.component.mjs +8 -8
  40. package/esm2022/lib/components/layout/menu.component.mjs +7 -7
  41. package/esm2022/lib/components/layout/services/main-layout.component.service.mjs +4 -4
  42. package/esm2022/lib/components/layout/topbar-user.component.mjs +9 -9
  43. package/esm2022/lib/components/layout/topbar.component.mjs +8 -8
  44. package/esm2022/lib/components/layout/version.component.mjs +11 -11
  45. package/esm2022/lib/components/layoutV2/breadcrumb.component.mjs +6 -6
  46. package/esm2022/lib/components/layoutV2/footer.component.mjs +3 -3
  47. package/esm2022/lib/components/layoutV2/main-layout.component.mjs +14 -11
  48. package/esm2022/lib/components/layoutV2/menu-item.component.mjs +12 -9
  49. package/esm2022/lib/components/layoutV2/menu.component.mjs +5 -6
  50. package/esm2022/lib/components/layoutV2/model/layout-state.model.mjs +1 -1
  51. package/esm2022/lib/components/layoutV2/services/main-layout.component.service.mjs +30 -21
  52. package/esm2022/lib/components/layoutV2/services/menu.service.mjs +3 -3
  53. package/esm2022/lib/components/layoutV2/sidebar.component.mjs +18 -9
  54. package/esm2022/lib/components/layoutV2/topbar-user.component.mjs +6 -6
  55. package/esm2022/lib/components/layoutV2/topbar.component.mjs +6 -7
  56. package/esm2022/lib/components/layoutV2/version.component.mjs +11 -11
  57. package/esm2022/lib/components/pages/error/error.page.component.mjs +4 -4
  58. package/esm2022/lib/components/pages/not-found/not-found.page.component.mjs +4 -4
  59. package/esm2022/lib/components/tableview/index.mjs +1 -2
  60. package/esm2022/lib/components/tableview/models/table.event.mjs +1 -1
  61. package/esm2022/lib/components/tableview/route/tableview-route.abstract.component.mjs +18 -18
  62. package/esm2022/lib/components/tableview/route/tableview-route.component.mjs +5 -5
  63. package/esm2022/lib/components/tableview/table/column-filter-full/column-filter-full.component.mjs +8 -12
  64. package/esm2022/lib/components/tableview/table/column-value/column-value.component.mjs +9 -32
  65. package/esm2022/lib/components/tableview/table/table.component.mjs +20 -25
  66. package/esm2022/lib/components/tableview/tableview.component.mjs +8 -10
  67. package/esm2022/lib/data-providers/base.data-provider.mjs +43 -12
  68. package/esm2022/lib/data-providers/editor.data-provider.mjs +82 -14
  69. package/esm2022/lib/data-providers/lookup.data-provider.mjs +38 -9
  70. package/esm2022/lib/data-providers/table.data-provider.mjs +41 -14
  71. package/esm2022/lib/data-providers/tableview-crud.data-provider.mjs +14 -6
  72. package/esm2022/lib/data-providers/tableview.data-provider.mjs +89 -29
  73. package/esm2022/lib/descriptors/action/action-confirmation.descriptor.mjs +2 -2
  74. package/esm2022/lib/descriptors/action/action-editor.descriptor.mjs +262 -0
  75. package/esm2022/lib/descriptors/action/action-link.descriptor.mjs +90 -0
  76. package/esm2022/lib/descriptors/action/action.descriptor.mjs +91 -352
  77. package/esm2022/lib/descriptors/action/index.mjs +3 -1
  78. package/esm2022/lib/descriptors/editor/editor.descriptor.mjs +215 -102
  79. package/esm2022/lib/descriptors/editor/field-action.descriptor.mjs +50 -0
  80. package/esm2022/lib/descriptors/editor/field-base.descriptor.mjs +293 -0
  81. package/esm2022/lib/descriptors/editor/field-group.descriptor.mjs +97 -0
  82. package/esm2022/lib/descriptors/editor/field-lookup.descriptor.mjs +211 -0
  83. package/esm2022/lib/descriptors/editor/field-many.descriptor.mjs +153 -0
  84. package/esm2022/lib/descriptors/editor/field.descriptor.mjs +81 -852
  85. package/esm2022/lib/descriptors/editor/index.mjs +6 -1
  86. package/esm2022/lib/descriptors/editor/internal/editor-fields.model.mjs +2 -0
  87. package/esm2022/lib/descriptors/editor/internal/editor.model.mjs +2 -0
  88. package/esm2022/lib/descriptors/filter/filter-lookup.descriptor.mjs +210 -0
  89. package/esm2022/lib/descriptors/filter/filter.descriptor.mjs +2 -208
  90. package/esm2022/lib/descriptors/filter/index.mjs +2 -1
  91. package/esm2022/lib/descriptors/interfaces/lookup-descriptor.interface.mjs +1 -1
  92. package/esm2022/lib/descriptors/model/index.mjs +2 -0
  93. package/esm2022/lib/descriptors/model/model.descriptor.mjs +70 -0
  94. package/esm2022/lib/descriptors/table/column.descriptor.mjs +38 -49
  95. package/esm2022/lib/descriptors/table/internal/table-columns.model.mjs +2 -0
  96. package/esm2022/lib/descriptors/table/internal/table.model.mjs +2 -0
  97. package/esm2022/lib/descriptors/table/table.descriptor.mjs +143 -124
  98. package/esm2022/lib/descriptors/tableview/internal/tableview.model.mjs +2 -0
  99. package/esm2022/lib/descriptors/tableview/tableview.descriptor.mjs +240 -131
  100. package/esm2022/lib/directives/component.directive.mjs +11 -11
  101. package/esm2022/lib/directives/dialog-keydown-handler.directive.mjs +3 -3
  102. package/esm2022/lib/directives/template.directive.mjs +9 -9
  103. package/esm2022/lib/helpers/coercion.mjs +45 -0
  104. package/esm2022/lib/models/class.model.mjs +2 -0
  105. package/esm2022/lib/models/enum.model.mjs +1 -1
  106. package/esm2022/lib/models/index.mjs +4 -1
  107. package/esm2022/lib/models/radio.model.mjs +2 -0
  108. package/esm2022/lib/models/tableview-attr.model.mjs +1 -1
  109. package/esm2022/lib/models/type-registry.model.mjs +2 -0
  110. package/esm2022/lib/models/view-container.model.mjs +1 -1
  111. package/esm2022/lib/pipes/boolean.pipe.mjs +3 -3
  112. package/esm2022/lib/pipes/class-map.pipe.mjs +3 -3
  113. package/esm2022/lib/pipes/enum.pipe.mjs +6 -6
  114. package/esm2022/lib/pipes/enumerate-async.pipe.mjs +5 -5
  115. package/esm2022/lib/pipes/enumerate.pipe.mjs +5 -5
  116. package/esm2022/lib/pipes/getter.pipe.mjs +5 -5
  117. package/esm2022/lib/pipes/i18n-property.pipe.mjs +4 -4
  118. package/esm2022/lib/pipes/json-path.pipe.mjs +3 -3
  119. package/esm2022/lib/pipes/locale-default-row-class.pipe.mjs +5 -5
  120. package/esm2022/lib/pipes/parametrize.pipe.mjs +3 -3
  121. package/esm2022/lib/pipes/template.pipe.mjs +4 -4
  122. package/esm2022/lib/provide-commons.mjs +4 -4
  123. package/esm2022/lib/registry/type.registry.mjs +114 -0
  124. package/esm2022/lib/router/models/router.model.mjs +1 -1
  125. package/esm2022/lib/router/tableview-route-builder.mjs +5 -5
  126. package/esm2022/lib/security/authorization.service.mjs +9 -11
  127. package/esm2022/lib/services/action-executor.service.mjs +14 -12
  128. package/esm2022/lib/services/commons-init.service.mjs +3 -3
  129. package/esm2022/lib/services/commons.service.mjs +6 -5
  130. package/esm2022/lib/services/mng-localstorage-config.service.mjs +4 -4
  131. package/esm2022/lib/services/navigation.service.mjs +5 -5
  132. package/esm2022/lib/services/router.service.mjs +4 -4
  133. package/esm2022/lib/services/version.service.mjs +5 -5
  134. package/esm2022/lib/services/view-container.component.service.mjs +5 -5
  135. package/esm2022/lib/styles/styles.util.mjs +1 -1
  136. package/esm2022/lib/types/action-descriptor.types.mjs +2 -0
  137. package/esm2022/lib/types/data-provider.types.mjs +2 -0
  138. package/esm2022/lib/types/getter.type.mjs +2 -0
  139. package/esm2022/lib/types/index.mjs +5 -2
  140. package/esm2022/lib/types/localstorage-config-value.type.mjs +2 -0
  141. package/esm2022/lib/types/type.decorator.mjs +4 -14
  142. package/esm2022/lib/types/type.model.mjs +1 -1
  143. package/esm2022/lib/utils/action-data-provider.util.mjs +14 -8
  144. package/esm2022/lib/utils/decorator-metadata.util.mjs +61 -0
  145. package/esm2022/lib/utils/editor-formly.util.mjs +6 -5
  146. package/esm2022/lib/utils/enum.util.mjs +1 -1
  147. package/esm2022/lib/utils/export.util.mjs +5 -4
  148. package/esm2022/lib/utils/i18n.util.mjs +22 -22
  149. package/esm2022/lib/utils/index.mjs +2 -3
  150. package/esm2022/lib/utils/model.util.mjs +40 -36
  151. package/esm2022/lib/utils/notification.util.mjs +1 -1
  152. package/esm2022/lib/utils/tableview.util.mjs +17 -17
  153. package/fesm2022/mediusinc-mng-commons.mjs +11491 -11384
  154. package/fesm2022/mediusinc-mng-commons.mjs.map +1 -1
  155. package/index.d.ts +3 -2
  156. package/lib/api/models/filter-param.model.d.ts +3 -3
  157. package/lib/api/models/index.d.ts +0 -2
  158. package/lib/api/models/query-param.model.d.ts +3 -3
  159. package/lib/api/models/query-result.model.d.ts +3 -3
  160. package/lib/api/services/api.abstract.service.d.ts +1 -1
  161. package/lib/api/utils/index.d.ts +1 -1
  162. package/lib/api/utils/object-serializer.util.d.ts +3 -19
  163. package/lib/components/action/action.component.d.ts +5 -5
  164. package/lib/components/action/editor/action-editor.component.d.ts +7 -7
  165. package/lib/components/action/localization/data-language-dropdown.component.d.ts +6 -6
  166. package/lib/components/action/models/action-component.model.d.ts +4 -4
  167. package/lib/components/action/models/action-confirmation-service.model.d.ts +2 -2
  168. package/lib/components/action/models/action-execution.model.d.ts +14 -14
  169. package/lib/components/action/route/action-route.component.d.ts +2 -2
  170. package/lib/components/form/autocomplete/autocomplete.component.d.ts +15 -18
  171. package/lib/components/form/dropdown/dropdown.component.d.ts +9 -9
  172. package/lib/components/form/editor/form-editor.component.d.ts +8 -11
  173. package/lib/components/form/formly/fields/formly-field-input/formly-field-input.component.d.ts +4 -0
  174. package/lib/components/form/formly/fields/formly-field-table-dialog-form/formly-field-table-dialog-form.component.d.ts +4 -4
  175. package/lib/components/form/formly/wrappers/formly-field-wrapper/formly-field-wrapper.component.d.ts +3 -2
  176. package/lib/components/layout/topbar-user.component.d.ts +2 -2
  177. package/lib/components/layout/version.component.d.ts +2 -2
  178. package/lib/components/layoutV2/model/layout-state.model.d.ts +8 -9
  179. package/lib/components/layoutV2/services/main-layout.component.service.d.ts +1 -1
  180. package/lib/components/layoutV2/version.component.d.ts +2 -2
  181. package/lib/components/tableview/index.d.ts +0 -1
  182. package/lib/components/tableview/route/tableview-route.abstract.component.d.ts +20 -20
  183. package/lib/components/tableview/route/tableview-route.component.d.ts +7 -7
  184. package/lib/components/tableview/table/table.component.d.ts +9 -9
  185. package/lib/components/tableview/tableview.component.d.ts +8 -8
  186. package/lib/data-providers/base.data-provider.d.ts +30 -12
  187. package/lib/data-providers/editor.data-provider.d.ts +86 -23
  188. package/lib/data-providers/lookup.data-provider.d.ts +24 -11
  189. package/lib/data-providers/table.data-provider.d.ts +30 -17
  190. package/lib/data-providers/tableview-crud.data-provider.d.ts +8 -4
  191. package/lib/data-providers/tableview.data-provider.d.ts +41 -29
  192. package/lib/descriptors/action/action-confirmation.descriptor.d.ts +3 -3
  193. package/lib/descriptors/action/action-editor.descriptor.d.ts +115 -0
  194. package/lib/descriptors/action/action-link.descriptor.d.ts +34 -0
  195. package/lib/descriptors/action/action.descriptor.d.ts +74 -160
  196. package/lib/descriptors/action/index.d.ts +2 -0
  197. package/lib/descriptors/editor/editor.descriptor.d.ts +131 -79
  198. package/lib/descriptors/editor/field-action.descriptor.d.ts +23 -0
  199. package/lib/descriptors/editor/field-base.descriptor.d.ts +126 -0
  200. package/lib/descriptors/editor/field-group.descriptor.d.ts +42 -0
  201. package/lib/descriptors/editor/field-lookup.descriptor.d.ts +80 -0
  202. package/lib/descriptors/editor/field-many.descriptor.d.ts +63 -0
  203. package/lib/descriptors/editor/field.descriptor.d.ts +100 -326
  204. package/lib/descriptors/editor/index.d.ts +5 -0
  205. package/lib/descriptors/editor/internal/editor-fields.model.d.ts +32 -0
  206. package/lib/descriptors/editor/internal/editor.model.d.ts +15 -0
  207. package/lib/descriptors/filter/filter-lookup.descriptor.d.ts +69 -0
  208. package/lib/descriptors/filter/filter.descriptor.d.ts +9 -67
  209. package/lib/descriptors/filter/index.d.ts +1 -0
  210. package/lib/descriptors/interfaces/lookup-descriptor.interface.d.ts +11 -16
  211. package/lib/descriptors/model/model.descriptor.d.ts +22 -0
  212. package/lib/descriptors/table/column.descriptor.d.ts +45 -33
  213. package/lib/descriptors/table/internal/table-columns.model.d.ts +11 -0
  214. package/lib/descriptors/table/internal/table.model.d.ts +9 -0
  215. package/lib/descriptors/table/table.descriptor.d.ts +82 -71
  216. package/lib/descriptors/tableview/internal/tableview.model.d.ts +11 -0
  217. package/lib/descriptors/tableview/tableview.descriptor.d.ts +106 -74
  218. package/lib/directives/component.directive.d.ts +5 -6
  219. package/lib/directives/template.directive.d.ts +2 -3
  220. package/lib/helpers/coercion.d.ts +9 -0
  221. package/lib/models/class.model.d.ts +6 -0
  222. package/lib/models/enum.model.d.ts +3 -2
  223. package/lib/models/index.d.ts +3 -0
  224. package/lib/models/radio.model.d.ts +6 -0
  225. package/lib/models/tableview-attr.model.d.ts +2 -2
  226. package/lib/models/type-registry.model.d.ts +7 -0
  227. package/lib/models/view-container.model.d.ts +6 -6
  228. package/lib/pipes/getter.pipe.d.ts +2 -1
  229. package/lib/pipes/i18n-property.pipe.d.ts +1 -1
  230. package/lib/pipes/locale-default-row-class.pipe.d.ts +2 -2
  231. package/lib/registry/type.registry.d.ts +25 -0
  232. package/lib/router/models/router.model.d.ts +5 -5
  233. package/lib/router/tableview-route-builder.d.ts +6 -6
  234. package/lib/security/authorization.service.d.ts +4 -7
  235. package/lib/services/action-executor.service.d.ts +7 -7
  236. package/lib/services/mng-localstorage-config.service.d.ts +3 -3
  237. package/lib/services/view-container.component.service.d.ts +3 -3
  238. package/lib/styles/styles.util.d.ts +5 -5
  239. package/lib/types/action-descriptor.types.d.ts +4 -0
  240. package/lib/types/data-provider.types.d.ts +3 -0
  241. package/lib/types/getter.type.d.ts +2 -0
  242. package/lib/types/index.d.ts +4 -1
  243. package/lib/types/localstorage-config-value.type.d.ts +1 -0
  244. package/lib/types/type.decorator.d.ts +0 -2
  245. package/lib/types/type.model.d.ts +12 -2
  246. package/lib/utils/action-data-provider.util.d.ts +6 -5
  247. package/lib/utils/{type.util.d.ts → decorator-metadata.util.d.ts} +2 -26
  248. package/lib/utils/editor-formly.util.d.ts +2 -2
  249. package/lib/utils/enum.util.d.ts +2 -2
  250. package/lib/utils/export.util.d.ts +2 -2
  251. package/lib/utils/i18n.util.d.ts +10 -11
  252. package/lib/utils/index.d.ts +1 -2
  253. package/lib/utils/model.util.d.ts +5 -3
  254. package/lib/utils/notification.util.d.ts +4 -4
  255. package/lib/utils/tableview.util.d.ts +6 -6
  256. package/openapi/templates/model.mustache +15 -2
  257. package/openapi/templates/models.mustache +0 -44
  258. package/package.json +10 -10
  259. package/scss/mng-commons-dark-v2.scss +2 -2
  260. package/scss/mng-commons-light-v2.scss +1 -1
  261. package/scss/v2/theme/{theme-base/components/data → extensions}/_fullcalendar.scss +14 -15
  262. package/scss/v2/theme/theme-base/_colors.scss +11 -12
  263. package/scss/v2/theme/theme-base/_common.scss +8 -5
  264. package/scss/v2/theme/theme-base/_components.scss +93 -89
  265. package/scss/v2/theme/theme-base/_mixins.scss +205 -71
  266. package/scss/v2/theme/theme-base/components/button/_button.scss +80 -68
  267. package/scss/v2/theme/theme-base/components/button/_speeddial.scss +11 -1
  268. package/scss/v2/theme/theme-base/components/button/_splitbutton.scss +128 -161
  269. package/scss/v2/theme/theme-base/components/data/_carousel.scss +1 -1
  270. package/scss/v2/theme/theme-base/components/data/_datatable.scss +3 -3
  271. package/scss/v2/theme/theme-base/components/data/_dataview.scss +0 -9
  272. package/scss/v2/theme/theme-base/components/data/_filter.scss +5 -6
  273. package/scss/v2/theme/theme-base/components/data/_orderlist.scss +15 -4
  274. package/scss/v2/theme/theme-base/components/data/_organizationchart.scss +1 -1
  275. package/scss/v2/theme/theme-base/components/data/_picklist.scss +14 -3
  276. package/scss/v2/theme/theme-base/components/data/_timeline.scss +3 -6
  277. package/scss/v2/theme/theme-base/components/data/_tree.scss +7 -6
  278. package/scss/v2/theme/theme-base/components/data/_treetable.scss +3 -4
  279. package/scss/v2/theme/theme-base/components/file/_fileupload.scss +6 -0
  280. package/scss/v2/theme/theme-base/components/input/_autocomplete.scss +43 -24
  281. package/scss/v2/theme/theme-base/components/input/_calendar.scss +9 -5
  282. package/scss/v2/theme/theme-base/components/input/_cascadeselect.scss +25 -20
  283. package/scss/v2/theme/theme-base/components/input/_checkbox.scss +9 -5
  284. package/scss/v2/theme/theme-base/components/input/_chips.scss +24 -13
  285. package/scss/v2/theme/theme-base/components/input/_dropdown.scss +29 -13
  286. package/scss/v2/theme/theme-base/components/input/_editor.scss +7 -7
  287. package/scss/v2/theme/theme-base/components/input/_inputgroup.scss +1 -2
  288. package/scss/v2/theme/theme-base/components/input/_inputmask.scss +2 -2
  289. package/scss/v2/theme/theme-base/components/input/_inputnumber.scss +7 -7
  290. package/scss/v2/theme/theme-base/components/input/_inputswitch.scss +3 -3
  291. package/scss/v2/theme/theme-base/components/input/_inputtext.scss +4 -3
  292. package/scss/v2/theme/theme-base/components/input/_listbox.scss +23 -8
  293. package/scss/v2/theme/theme-base/components/input/_multiselect.scss +31 -27
  294. package/scss/v2/theme/theme-base/components/input/_radiobutton.scss +2 -2
  295. package/scss/v2/theme/theme-base/components/input/_rating.scss +33 -28
  296. package/scss/v2/theme/theme-base/components/input/_treeselect.scss +6 -6
  297. package/scss/v2/theme/theme-base/components/menu/_breadcrumb.scss +3 -3
  298. package/scss/v2/theme/theme-base/components/menu/_contextmenu.scss +8 -30
  299. package/scss/v2/theme/theme-base/components/menu/_dock.scss +11 -2
  300. package/scss/v2/theme/theme-base/components/menu/_megamenu.scss +14 -65
  301. package/scss/v2/theme/theme-base/components/menu/_menu.scss +5 -13
  302. package/scss/v2/theme/theme-base/components/menu/_menubar.scss +32 -80
  303. package/scss/v2/theme/theme-base/components/menu/_panelmenu.scss +52 -39
  304. package/scss/v2/theme/theme-base/components/menu/_slidemenu.scss +15 -20
  305. package/scss/v2/theme/theme-base/components/menu/_steps.scss +2 -2
  306. package/scss/v2/theme/theme-base/components/menu/_tabmenu.scss +1 -2
  307. package/scss/v2/theme/theme-base/components/menu/_tieredmenu.scss +10 -32
  308. package/scss/v2/theme/theme-base/components/messages/_message.scss +2 -2
  309. package/scss/v2/theme/theme-base/components/messages/_toast.scss +2 -3
  310. package/scss/v2/theme/theme-base/components/misc/_chip.scss +7 -3
  311. package/scss/v2/theme/theme-base/components/misc/_inplace.scss +0 -1
  312. package/scss/v2/theme/theme-base/components/misc/_terminal.scss +9 -8
  313. package/scss/v2/theme/theme-base/components/multimedia/_galleria.scss +6 -0
  314. package/scss/v2/theme/theme-base/components/overlay/_confirmpopup.scss +3 -5
  315. package/scss/v2/theme/theme-base/components/panel/_accordion.scss +4 -4
  316. package/scss/v2/theme/theme-base/components/panel/_fieldset.scss +1 -1
  317. package/scss/v2/theme/theme-base/components/panel/_panel.scss +10 -5
  318. package/scss/v2/theme/theme-base/components/panel/_tabview.scss +6 -2
  319. package/scss/v2/theme/theme-dark/_variables.scss +756 -765
  320. package/scss/v2/theme/theme-dark/blue/theme.scss +1 -0
  321. package/scss/v2/theme/theme-light/_variables.scss +81 -94
  322. package/scss/v2/theme/theme-light/blue/theme.scss +1 -0
  323. package/esm2022/lib/api/models/mappers.mjs +0 -13
  324. package/esm2022/lib/api/models/serialization.model.mjs +0 -2
  325. package/esm2022/lib/components/tableview/table/column-filter/column-filter.component.mjs +0 -121
  326. package/esm2022/lib/descriptors/index.mjs +0 -2
  327. package/esm2022/lib/descriptors/model.descriptor.mjs +0 -45
  328. package/esm2022/lib/mng-commons.module.mjs +0 -472
  329. package/esm2022/lib/types/mng-localstorage-config-value.type.mjs +0 -2
  330. package/esm2022/lib/utils/coercion.util.mjs +0 -6
  331. package/esm2022/lib/utils/type.util.mjs +0 -94
  332. package/lib/api/models/mappers.d.ts +0 -6
  333. package/lib/api/models/serialization.model.d.ts +0 -9
  334. package/lib/components/tableview/table/column-filter/column-filter.component.d.ts +0 -37
  335. package/lib/descriptors/model.descriptor.d.ts +0 -18
  336. package/lib/mng-commons.module.d.ts +0 -105
  337. package/lib/types/mng-localstorage-config-value.type.d.ts +0 -1
  338. package/lib/utils/coercion.util.d.ts +0 -2
  339. package/openapi/templates/serializer-registration/model.mustache +0 -97
  340. package/openapi/templates/serializer-registration/models.mustache +0 -6
  341. /package/lib/descriptors/{index.d.ts → model/index.d.ts} +0 -0
@@ -1,10 +1,12 @@
1
- import { NgIf } from '@angular/common';
2
1
  import { ChangeDetectionStrategy, Component } from '@angular/core';
3
2
  import { FieldWrapper, FormlyModule } from '@ngx-formly/core';
4
3
  import { TranslateModule } from '@ngx-translate/core';
5
4
  import { of } from 'rxjs';
6
5
  import { ActionButtonDescriptor, ActionEditorDescriptor, ActionEditorSubmitDescriptor } from '../../../../../descriptors/action';
6
+ import { TableviewDescriptor } from '../../../../../descriptors/tableview';
7
7
  import { ActionEditorSubmitTypeEnum } from '../../../../../descriptors/types';
8
+ import { MngInternalError } from '../../../../../models';
9
+ import { MngCommonsService } from '../../../../../services';
8
10
  import { ButtonStyleBuilder } from '../../../../../styles';
9
11
  import { StyleSizeEnum } from '../../../../../styles/models';
10
12
  import { MngActionComponent } from '../../../../action';
@@ -13,11 +15,13 @@ import * as i1 from "@ngx-translate/core";
13
15
  import * as i2 from "@ngx-formly/core";
14
16
  export class MngFormlyFieldWrapperComponent extends FieldWrapper {
15
17
  ngOnInit() {
16
- if (this.props?.['descriptor']?.isLocalized) {
18
+ const descriptor = this.props?.['descriptor'];
19
+ if (descriptor?.isLocalized) {
20
+ const localizationTableview = descriptor.localizationTableview ?? this.createLocalizationTableview(descriptor);
17
21
  if (this.formState.disabled) {
18
22
  this.addMissingTranslationHelperText();
19
- const viewLocalizationsAction = new ActionEditorDescriptor(this.props?.['descriptor']?.localizationTableview.detailsEditor, 'localization-details')
20
- .withEditorTitle('localization-details.title', { fieldName: this.props?.['descriptor']?.property })
23
+ const viewLocalizationsAction = ActionEditorDescriptor.create(localizationTableview.detailsEditor, 'localization-details')
24
+ .withEditorTitle('localization-details.title', { fieldName: descriptor.property })
21
25
  .withDialogClassName('mng-field-dialog mng-action-editor-dialog')
22
26
  .withDialogSize(StyleSizeEnum.Small)
23
27
  .withButtonDescriptor(new ActionButtonDescriptor()
@@ -25,13 +29,13 @@ export class MngFormlyFieldWrapperComponent extends FieldWrapper {
25
29
  .withLabel('mngEditor.localizations.showTranslations')
26
30
  .withStyleClass(new ButtonStyleBuilder().withTextButton().withCustomClass('py-0 mb-1 w-auto')))
27
31
  .withFetchFunction(() => of(this.model));
28
- viewLocalizationsAction.withEditorActions([new ActionEditorSubmitDescriptor(viewLocalizationsAction, ActionEditorSubmitTypeEnum.Cancel)]);
32
+ viewLocalizationsAction.withEditorActions([ActionEditorSubmitDescriptor.forSecondary(viewLocalizationsAction, ActionEditorSubmitTypeEnum.Cancel)]);
29
33
  this.localizationAction = viewLocalizationsAction;
30
34
  }
31
35
  else if (this.formState.edit) {
32
- this.props?.['descriptor']?.withHelpText('');
33
- this.localizationAction = new ActionEditorDescriptor(this.props?.['descriptor']?.localizationTableview.editEditor, 'localization-edit')
34
- .withEditorTitle('localization-edit.title', { fieldName: this.props?.['descriptor']?.property })
36
+ descriptor.withHelpText('');
37
+ this.localizationAction = ActionEditorDescriptor.create(localizationTableview.editEditor, 'localization-edit')
38
+ .withEditorTitle('localization-edit.title', { fieldName: descriptor.property })
35
39
  .withDialogClassName('mng-field-dialog mng-action-editor-dialog')
36
40
  .withDialogSize(StyleSizeEnum.Small)
37
41
  .withButtonDescriptor(new ActionButtonDescriptor()
@@ -41,15 +45,15 @@ export class MngFormlyFieldWrapperComponent extends FieldWrapper {
41
45
  .withFetchFunction(() => of(this.model))
42
46
  .withSubmitFunction(ctx => {
43
47
  this.form
44
- .get(this.props?.['descriptor'].editor.localizationLocalizationProperty)
48
+ .get(descriptor.editor.localizationLocalizationProperty)
45
49
  .patchValue(ctx.parameters.item[this.props?.['descriptor'].editor.localizationLocalizationProperty]);
46
50
  return of(ctx.parameters.item);
47
51
  });
48
52
  }
49
53
  else if (this.formState.add) {
50
- this.props?.['descriptor']?.withHelpText('');
51
- this.localizationAction = new ActionEditorDescriptor(this.props?.['descriptor']?.localizationTableview.addEditor, 'localization-add')
52
- .withEditorTitle('localization-add.title', { fieldName: this.props?.['descriptor']?.property })
54
+ descriptor.withHelpText('');
55
+ this.localizationAction = ActionEditorDescriptor.create(localizationTableview.addEditor, 'localization-add')
56
+ .withEditorTitle('localization-add.title', { fieldName: descriptor.property })
53
57
  .withDialogClassName('mng-field-dialog mng-action-editor-dialog')
54
58
  .withDialogSize(StyleSizeEnum.Small)
55
59
  .withButtonDescriptor(new ActionButtonDescriptor()
@@ -58,7 +62,7 @@ export class MngFormlyFieldWrapperComponent extends FieldWrapper {
58
62
  .withStyleClass(new ButtonStyleBuilder().withTextButton().withCustomClass('py-0 mb-1 w-auto')))
59
63
  .withSubmitFunction(ctx => {
60
64
  this.form
61
- .get(this.props?.['descriptor'].editor.localizationLocalizationProperty)
65
+ .get(descriptor.editor.localizationLocalizationProperty)
62
66
  .patchValue(ctx.parameters.item[this.props?.['descriptor'].editor.localizationLocalizationProperty]);
63
67
  return of(ctx.parameters.item);
64
68
  });
@@ -74,11 +78,28 @@ export class MngFormlyFieldWrapperComponent extends FieldWrapper {
74
78
  this.props?.['descriptor']?.withHelpText('');
75
79
  }
76
80
  }
77
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.6", ngImport: i0, type: MngFormlyFieldWrapperComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
78
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.6", type: MngFormlyFieldWrapperComponent, isStandalone: true, selector: "mng-formly-field-wrapper", usesInheritance: true, ngImport: i0, template: "<div [class]=\"props['descriptor']?.['fieldClassName'] ?? 'field'\">\n <div class=\"grid mt-0\">\n <label *ngIf=\"props.label\" [for]=\"key\" class=\"col\" [class]=\"props['descriptor']?.['labelClassName'] ?? ''\"\n >{{ props!.label! | translate }} <span *ngIf=\"props.required && props['hideRequiredMarker'] !== true\">*</span></label\n >\n <mng-action *ngIf=\"props['descriptor']?.['_isLocalized'] && !this.formState.disabled\" class=\"col text-right\" [action]=\"localizationAction\"></mng-action>\n </div>\n <ng-container #fieldComponent></ng-container>\n <small *ngIf=\"props['descriptor']?.['helpText']\" class=\"block\">{{ props['descriptor']?.['helpText'] | translate }}</small>\n <small *ngIf=\"showError\" class=\"p-error block\">\n <formly-validation-message [field]=\"field\"></formly-validation-message>\n </small>\n</div>\n", dependencies: [{ kind: "ngmodule", type: TranslateModule }, { kind: "pipe", type: i1.TranslatePipe, name: "translate" }, { kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "ngmodule", type: FormlyModule }, { kind: "component", type: i2.ɵFormlyValidationMessage, selector: "formly-validation-message", inputs: ["field"] }, { kind: "component", type: MngActionComponent, selector: "mng-action", inputs: ["action", "item", "itemId", "actionData", "queryParam", "dataProvider", "hostComponent", "route", "disabled", "loading", "viewContainer", "selectedItems"], outputs: ["finish"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
81
+ createLocalizationTableview(descriptor) {
82
+ if (!descriptor.editor.localizationModel || !descriptor.editor.localizationLocaleProperty || !descriptor.editor.localizationLocalizationProperty) {
83
+ throw new MngInternalError(''); // TODO: describe
84
+ }
85
+ const tableview = TableviewDescriptor.fromModel(descriptor.editor.localizationModel);
86
+ tableview.addColumn(descriptor.editor.localizationLocaleProperty);
87
+ tableview.addColumn(descriptor.property);
88
+ tableview
89
+ .addFieldLookupWithProvider(descriptor.editor.localizationLocaleProperty, MngCommonsService)
90
+ .withLookup((qp, service) => service.appDataLanguages);
91
+ tableview.addField(descriptor.property);
92
+ // this is used in table.component to mark row with default data language
93
+ tableview.table.withLocalizationLocaleProperty(descriptor.editor.localizationLocaleProperty);
94
+ const localizationTableview = TableviewDescriptor.fromModel(descriptor.editor.model);
95
+ localizationTableview.addFieldManyEditor(descriptor.editor.localizationLocalizationProperty, tableview);
96
+ return localizationTableview;
97
+ }
98
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.8", ngImport: i0, type: MngFormlyFieldWrapperComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
99
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.0.8", type: MngFormlyFieldWrapperComponent, isStandalone: true, selector: "mng-formly-field-wrapper", usesInheritance: true, ngImport: i0, template: "<div [class]=\"props['descriptor']?.['fieldClassName'] ?? 'field'\">\n <div class=\"grid mt-0\">\n @if (props.label) {\n <label [for]=\"key\" class=\"col\" [class]=\"props['descriptor']?.['labelClassName'] ?? ''\"\n >{{ props!.label! | translate }}\n @if (props.required && props['hideRequiredMarker'] !== true) {\n <span>*</span>\n }\n </label>\n }\n @if (props['descriptor']?.['_isLocalized'] && !this.formState.disabled) {\n <mng-action class=\"col text-right\" [action]=\"localizationAction\"></mng-action>\n }\n </div>\n <ng-container #fieldComponent></ng-container>\n @if (props['descriptor']?.['helpText']) {\n <small class=\"block\">{{ props['descriptor']?.['helpText'] | translate }}</small>\n }\n @if (showError) {\n <small class=\"p-error block\">\n <formly-validation-message [field]=\"field\"></formly-validation-message>\n </small>\n }\n</div>\n", dependencies: [{ kind: "ngmodule", type: TranslateModule }, { kind: "pipe", type: i1.TranslatePipe, name: "translate" }, { kind: "ngmodule", type: FormlyModule }, { kind: "component", type: i2.ɵFormlyValidationMessage, selector: "formly-validation-message", inputs: ["field"] }, { kind: "component", type: MngActionComponent, selector: "mng-action", inputs: ["action", "item", "itemId", "actionData", "queryParam", "dataProvider", "hostComponent", "route", "disabled", "loading", "viewContainer", "selectedItems"], outputs: ["finish"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
79
100
  }
80
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.6", ngImport: i0, type: MngFormlyFieldWrapperComponent, decorators: [{
101
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.8", ngImport: i0, type: MngFormlyFieldWrapperComponent, decorators: [{
81
102
  type: Component,
82
- args: [{ standalone: true, selector: 'mng-formly-field-wrapper', imports: [TranslateModule, NgIf, FormlyModule, MngActionComponent], changeDetection: ChangeDetectionStrategy.OnPush, template: "<div [class]=\"props['descriptor']?.['fieldClassName'] ?? 'field'\">\n <div class=\"grid mt-0\">\n <label *ngIf=\"props.label\" [for]=\"key\" class=\"col\" [class]=\"props['descriptor']?.['labelClassName'] ?? ''\"\n >{{ props!.label! | translate }} <span *ngIf=\"props.required && props['hideRequiredMarker'] !== true\">*</span></label\n >\n <mng-action *ngIf=\"props['descriptor']?.['_isLocalized'] && !this.formState.disabled\" class=\"col text-right\" [action]=\"localizationAction\"></mng-action>\n </div>\n <ng-container #fieldComponent></ng-container>\n <small *ngIf=\"props['descriptor']?.['helpText']\" class=\"block\">{{ props['descriptor']?.['helpText'] | translate }}</small>\n <small *ngIf=\"showError\" class=\"p-error block\">\n <formly-validation-message [field]=\"field\"></formly-validation-message>\n </small>\n</div>\n" }]
103
+ args: [{ standalone: true, selector: 'mng-formly-field-wrapper', imports: [TranslateModule, FormlyModule, MngActionComponent], changeDetection: ChangeDetectionStrategy.OnPush, template: "<div [class]=\"props['descriptor']?.['fieldClassName'] ?? 'field'\">\n <div class=\"grid mt-0\">\n @if (props.label) {\n <label [for]=\"key\" class=\"col\" [class]=\"props['descriptor']?.['labelClassName'] ?? ''\"\n >{{ props!.label! | translate }}\n @if (props.required && props['hideRequiredMarker'] !== true) {\n <span>*</span>\n }\n </label>\n }\n @if (props['descriptor']?.['_isLocalized'] && !this.formState.disabled) {\n <mng-action class=\"col text-right\" [action]=\"localizationAction\"></mng-action>\n }\n </div>\n <ng-container #fieldComponent></ng-container>\n @if (props['descriptor']?.['helpText']) {\n <small class=\"block\">{{ props['descriptor']?.['helpText'] | translate }}</small>\n }\n @if (showError) {\n <small class=\"p-error block\">\n <formly-validation-message [field]=\"field\"></formly-validation-message>\n </small>\n }\n</div>\n" }]
83
104
  }] });
84
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9ybWx5LWZpZWxkLXdyYXBwZXIuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vc3JjL2xpYi9jb21wb25lbnRzL2Zvcm0vZm9ybWx5L3dyYXBwZXJzL2Zvcm1seS1maWVsZC13cmFwcGVyL2Zvcm1seS1maWVsZC13cmFwcGVyLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3NyYy9saWIvY29tcG9uZW50cy9mb3JtL2Zvcm1seS93cmFwcGVycy9mb3JtbHktZmllbGQtd3JhcHBlci9mb3JtbHktZmllbGQtd3JhcHBlci5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUMsSUFBSSxFQUFDLE1BQU0saUJBQWlCLENBQUM7QUFDckMsT0FBTyxFQUFDLHVCQUF1QixFQUFFLFNBQVMsRUFBUyxNQUFNLGVBQWUsQ0FBQztBQUV6RSxPQUFPLEVBQUMsWUFBWSxFQUFFLFlBQVksRUFBQyxNQUFNLGtCQUFrQixDQUFDO0FBQzVELE9BQU8sRUFBQyxlQUFlLEVBQUMsTUFBTSxxQkFBcUIsQ0FBQztBQUNwRCxPQUFPLEVBQUMsRUFBRSxFQUFDLE1BQU0sTUFBTSxDQUFDO0FBRXhCLE9BQU8sRUFBQyxzQkFBc0IsRUFBb0Isc0JBQXNCLEVBQUUsNEJBQTRCLEVBQUMsTUFBTSxtQ0FBbUMsQ0FBQztBQUNqSixPQUFPLEVBQUMsMEJBQTBCLEVBQUMsTUFBTSxrQ0FBa0MsQ0FBQztBQUM1RSxPQUFPLEVBQUMsa0JBQWtCLEVBQUMsTUFBTSx1QkFBdUIsQ0FBQztBQUN6RCxPQUFPLEVBQUMsYUFBYSxFQUFDLE1BQU0sOEJBQThCLENBQUM7QUFDM0QsT0FBTyxFQUFDLGtCQUFrQixFQUFDLE1BQU0sb0JBQW9CLENBQUM7Ozs7QUFTdEQsTUFBTSxPQUFPLDhCQUErQixTQUFRLFlBQVk7SUFHckQsUUFBUTtRQUNYLElBQUksSUFBSSxDQUFDLEtB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QUNWO1NBQ0o7SUFDTCxDQUFDO0lBRU8sK0JBQStCO1FBQ25DLElBQUksQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUUsQ0FBQyxZQUFZLENBQUMsQ0FBQyxRQUFRLEdBQUcsWUFBWSxDQUFDLEVBQUU7WUFDakUsSUFBSSxDQUFDLEtBQUssRUFBRSxDQUFDLFlBQVksQ0FBQyxFQUFFLFlBQVksQ0FBQyw0Q0FBNEMsQ0FBQyxDQUFDO1lBQ3ZGLElBQUksQ0FBQyxLQUFLLENBQUMsU0FBUyxJQUFJLGdDQUFnQyxDQUFDO1NBQzVEO2FBQU07WUFDSCxJQUFJLENBQUMsS0FBSyxFQUFFLENBQUMsWUFBWSxDQUFDLEVBQUUsWUFBWSxDQUFDLEVBQUUsQ0FBQyxDQUFDO1NBQ2hEO0lBQ0wsQ0FBQzs4R0FwRVEsOEJBQThCO2tHQUE5Qiw4QkFBOEIsMkdDcEIzQyxnNEJBYUEsMkNESWMsZUFBZSw0RkFBRSxJQUFJLDRGQUFFLFlBQVksbUpBQUUsa0JBQWtCOzsyRkFHeEQsOEJBQThCO2tCQVAxQyxTQUFTO2lDQUNNLElBQUksWUFDTiwwQkFBMEIsV0FFM0IsQ0FBQyxlQUFlLEVBQUUsSUFBSSxFQUFFLFlBQVksRUFBRSxrQkFBa0IsQ0FBQyxtQkFDakQsdUJBQXVCLENBQUMsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7TmdJZn0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7Q2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksIENvbXBvbmVudCwgT25Jbml0fSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuaW1wb3J0IHtGaWVsZFdyYXBwZXIsIEZvcm1seU1vZHVsZX0gZnJvbSAnQG5neC1mb3JtbHkvY29yZSc7XG5pbXBvcnQge1RyYW5zbGF0ZU1vZHVsZX0gZnJvbSAnQG5neC10cmFuc2xhdGUvY29yZSc7XG5pbXBvcnQge29mfSBmcm9tICdyeGpzJztcblxuaW1wb3J0IHtBY3Rpb25CdXR0b25EZXNjcmlwdG9yLCBBY3Rpb25EZXNjcmlwdG9yLCBBY3Rpb25FZGl0b3JEZXNjcmlwdG9yLCBBY3Rpb25FZGl0b3JTdWJtaXREZXNjcmlwdG9yfSBmcm9tICcuLi8uLi8uLi8uLi8uLi9kZXNjcmlwdG9ycy9hY3Rpb24nO1xuaW1wb3J0IHtBY3Rpb25FZGl0b3JTdWJtaXRUeXBlRW51bX0gZnJvbSAnLi4vLi4vLi4vLi4vLi4vZGVzY3JpcHRvcnMvdHlwZXMnO1xuaW1wb3J0IHtCdXR0b25TdHlsZUJ1aWxkZXJ9IGZyb20gJy4uLy4uLy4uLy4uLy4uL3N0eWxlcyc7XG5pbXBvcnQge1N0eWxlU2l6ZUVudW19IGZyb20gJy4uLy4uLy4uLy4uLy4uL3N0eWxlcy9tb2RlbHMnO1xuaW1wb3J0IHtNbmdBY3Rpb25Db21wb25lbnR9IGZyb20gJy4uLy4uLy4uLy4uL2FjdGlvbic7XG5cbkBDb21wb25lbnQoe1xuICAgIHN0YW5kYWxvbmU6IHRydWUsXG4gICAgc2VsZWN0b3I6ICdtbmctZm9ybWx5LWZpZWxkLXdyYXBwZXInLFxuICAgIHRlbXBsYXRlVXJsOiAnLi9mb3JtbHktZmllbGQtd3JhcHBlci5jb21wb25lbnQuaHRtbCcsXG4gICAgaW1wb3J0czogW1RyYW5zbGF0ZU1vZHVsZSwgTmdJZiwgRm9ybWx5TW9kdWxlLCBNbmdBY3Rpb25Db21wb25lbnRdLFxuICAgIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoXG59KVxuZXhwb3J0IGNsYXNzIE1uZ0Zvcm1seUZpZWxkV3JhcHBlckNvbXBvbmVudCBleHRlbmRzIEZpZWxkV3JhcHBlciBpbXBsZW1lbnRzIE9uSW5pdCB7XG4gICAgcHVibGljIGxvY2FsaXphdGlvbkFjdGlvbiE6IEFjdGlvbkRlc2NyaXB0b3I8dW5rbm93bj47XG5cbiAgICBwdWJsaWMgbmdPbkluaXQoKSB7XG4gICAgICAgIGlmICh0aGlzLnByb3BzPy5bJ2Rlc2NyaXB0b3InXT8uaXNMb2NhbGl6ZWQpIHtcbiAgICAgICAgICAgIGlmICh0aGlzLmZvcm1TdGF0ZS5kaXNhYmxlZCkge1xuICAgICAgICAgICAgICAgIHRoaXMuYWRkTWlzc2luZ1RyYW5zbGF0aW9uSGVscGVyVGV4dCgpO1xuICAgICAgICAgICAgICAgIGNvbnN0IHZpZXdMb2NhbGl6YXRpb25zQWN0aW9uID0gbmV3IEFjdGlvbkVkaXRvckRlc2NyaXB0b3IodGhpcy5wcm9wcz8uWydkZXNjcmlwdG9yJ10/LmxvY2FsaXphdGlvblRhYmxldmlldy5kZXRhaWxzRWRpdG9yLCAnbG9jYWxpemF0aW9uLWRldGFpbHMnKVxuICAgICAgICAgICAgICAgICAgICAud2l0aEVkaXRvclRpdGxlKCdsb2NhbGl6YXRpb24tZGV0YWlscy50aXRsZScsIHtmaWVsZE5hbWU6IHRoaXMucHJvcHM/LlsnZGVzY3JpcHRvciddPy5wcm9wZXJ0eX0pXG4gICAgICAgICAgICAgICAgICAgIC53aXRoRGlhbG9nQ2xhc3NOYW1lKCdtbmctZmllbGQtZGlhbG9nIG1uZy1hY3Rpb24tZWRpdG9yLWRpYWxvZycpXG4gICAgICAgICAgICAgICAgICAgIC53aXRoRGlhbG9nU2l6ZShTdHlsZVNpemVFbnVtLlNtYWxsKVxuICAgICAgICAgICAgICAgICAgICAud2l0aEJ1dHRvbkRlc2NyaXB0b3IoXG4gICAgICAgICAgICAgICAgICAgICAgICBuZXcgQWN0aW9uQnV0dG9uRGVzY3JpcHRvcigpXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgLndpdGhJY29uKCdwaSBwaS1sYW5ndWFnZScpXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgLndpdGhMYWJlbCgnbW5nRWRpdG9yLmxvY2FsaXphdGlvbnMuc2hvd1RyYW5zbGF0aW9ucycpXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgLndpdGhTdHlsZUNsYXNzKG5ldyBCdXR0b25TdHlsZUJ1aWxkZXIoKS53aXRoVGV4dEJ1dHRvbigpLndpdGhDdXN0b21DbGFzcygncHktMCBtYi0xIHctYXV0bycpKVxuICAgICAgICAgICAgICAgICAgICApXG4gICAgICAgICAgICAgICAgICAgIC53aXRoRmV0Y2hGdW5jdGlvbigoKSA9PiBvZih0aGlzLm1vZGVsKSk7XG4gICAgICAgICAgICAgICAgdmlld0xvY2FsaXphdGlvbnNBY3Rpb24ud2l0aEVkaXRvckFjdGlvbnMoW25ldyBBY3Rpb25FZGl0b3JTdWJtaXREZXNjcmlwdG9yKHZpZXdMb2NhbGl6YXRpb25zQWN0aW9uLCBBY3Rpb25FZGl0b3JTdWJtaXRUeXBlRW51bS5DYW5jZWwpXSk7XG4gICAgICAgICAgICAgICAgdGhpcy5sb2NhbGl6YXRpb25BY3Rpb24gPSB2aWV3TG9jYWxpemF0aW9uc0FjdGlvbjtcbiAgICAgICAgICAgIH0gZWxzZSBpZiAodGhpcy5mb3JtU3RhdGUuZWRpdCkge1xuICAgICAgICAgICAgICAgIHRoaXMucHJvcHM/LlsnZGVzY3JpcHRvciddPy53aXRoSGVscFRleHQoJycpO1xuICAgICAgICAgICAgICAgIHRoaXMubG9jYWxpemF0aW9uQWN0aW9uID0gbmV3IEFjdGlvbkVkaXRvckRlc2NyaXB0b3IodGhpcy5wcm9wcz8uWydkZXNjcmlwdG9yJ10/LmxvY2FsaXphdGlvblRhYmxldmlldy5lZGl0RWRpdG9yLCAnbG9jYWxpemF0aW9uLWVkaXQnKVxuICAgICAgICAgICAgICAgICAgICAud2l0aEVkaXRvclRpdGxlKCdsb2NhbGl6YXRpb24tZWRpdC50aXRsZScsIHtmaWVsZE5hbWU6IHRoaXMucHJvcHM/LlsnZGVzY3JpcHRvciddPy5wcm9wZXJ0eX0pXG4gICAgICAgICAgICAgICAgICAgIC53aXRoRGlhbG9nQ2xhc3NOYW1lKCdtbmctZmllbGQtZGlhbG9nIG1uZy1hY3Rpb24tZWRpdG9yLWRpYWxvZycpXG4gICAgICAgICAgICAgICAgICAgIC53aXRoRGlhbG9nU2l6ZShTdHlsZVNpemVFbnVtLlNtYWxsKVxuICAgICAgICAgICAgICAgICAgICAud2l0aEJ1dHRvbkRlc2NyaXB0b3IoXG4gICAgICAgICAgICAgICAgICAgICAgICBuZXcgQWN0aW9uQnV0dG9uRGVzY3JpcHRvcigpXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgLndpdGhJY29uKCdwaSBwaS1sYW5ndWFnZScpXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgLndpdGhMYWJlbCgnbW5nRWRpdG9yLmxvY2FsaXphdGlvbnMuc2hvd1RyYW5zbGF0aW9ucycpXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgLndpdGhTdHlsZUNsYXNzKG5ldyBCdXR0b25TdHlsZUJ1aWxkZXIoKS53aXRoVGV4dEJ1dHRvbigpLndpdGhDdXN0b21DbGFzcygncHktMCBtYi0xIHctYXV0bycpKVxuICAgICAgICAgICAgICAgICAgICApXG4gICAgICAgICAgICAgICAgICAgIC53aXRoRmV0Y2hGdW5jdGlvbigoKSA9PiBvZih0aGlzLm1vZGVsKSlcbiAgICAgICAgICAgICAgICAgICAgLndpdGhTdWJtaXRGdW5jdGlvbihjdHggPT4ge1xuICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5mb3JtXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgLmdldCh0aGlzLnByb3BzPy5bJ2Rlc2NyaXB0b3InXS5lZGl0b3IubG9jYWxpemF0aW9uTG9jYWxpemF0aW9uUHJvcGVydHkpIVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIC5wYXRjaFZhbHVlKChjdHgucGFyYW1ldGVycy5pdGVtIGFzIGFueSlbdGhpcy5wcm9wcz8uWydkZXNjcmlwdG9yJ10uZWRpdG9yLmxvY2FsaXphdGlvbkxvY2FsaXphdGlvblByb3BlcnR5XSk7XG4gICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gb2YoY3R4LnBhcmFtZXRlcnMuaXRlbSk7XG4gICAgICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgfSBlbHNlIGlmICh0aGlzLmZvcm1TdGF0ZS5hZGQpIHtcbiAgICAgICAgICAgICAgICB0aGlzLnByb3BzPy5bJ2Rlc2NyaXB0b3InXT8ud2l0aEhlbHBUZXh0KCcnKTtcbiAgICAgICAgICAgICAgICB0aGlzLmxvY2FsaXphdGlvbkFjdGlvbiA9IG5ldyBBY3Rpb25FZGl0b3JEZXNjcmlwdG9yKHRoaXMucHJvcHM/LlsnZGVzY3JpcHRvciddPy5sb2NhbGl6YXRpb25UYWJsZXZpZXcuYWRkRWRpdG9yLCAnbG9jYWxpemF0aW9uLWFkZCcpXG4gICAgICAgICAgICAgICAgICAgIC53aXRoRWRpdG9yVGl0bGUoJ2xvY2FsaXphdGlvbi1hZGQudGl0bGUnLCB7ZmllbGROYW1lOiB0aGlzLnByb3BzPy5bJ2Rlc2NyaXB0b3InXT8ucHJvcGVydHl9KVxuICAgICAgICAgICAgICAgICAgICAud2l0aERpYWxvZ0NsYXNzTmFtZSgnbW5nLWZpZWxkLWRpYWxvZyBtbmctYWN0aW9uLWVkaXRvci1kaWFsb2cnKVxuICAgICAgICAgICAgICAgICAgICAud2l0aERpYWxvZ1NpemUoU3R5bGVTaXplRW51bS5TbWFsbClcbiAgICAgICAgICAgICAgICAgICAgLndpdGhCdXR0b25EZXNjcmlwdG9yKFxuICAgICAgICAgICAgICAgICAgICAgICAgbmV3IEFjdGlvbkJ1dHRvbkRlc2NyaXB0b3IoKVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIC53aXRoSWNvbigncGkgcGktbGFuZ3VhZ2UnKVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIC53aXRoTGFiZWwoJ21uZ0VkaXRvci5sb2NhbGl6YXRpb25zLnNob3dUcmFuc2xhdGlvbnMnKVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIC53aXRoU3R5bGVDbGFzcyhuZXcgQnV0dG9uU3R5bGVCdWlsZGVyKCkud2l0aFRleHRCdXR0b24oKS53aXRoQ3VzdG9tQ2xhc3MoJ3B5LTAgbWItMSB3LWF1dG8nKSlcbiAgICAgICAgICAgICAgICAgICAgKVxuICAgICAgICAgICAgICAgICAgICAud2l0aFN1Ym1pdEZ1bmN0aW9uKGN0eCA9PiB7XG4gICAgICAgICAgICAgICAgICAgICAgICB0aGlzLmZvcm1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAuZ2V0KHRoaXMucHJvcHM/LlsnZGVzY3JpcHRvciddLmVkaXRvci5sb2NhbGl6YXRpb25Mb2NhbGl6YXRpb25Qcm9wZXJ0eSkhXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgLnBhdGNoVmFsdWUoKGN0eC5wYXJhbWV0ZXJzLml0ZW0gYXMgYW55KVt0aGlzLnByb3BzPy5bJ2Rlc2NyaXB0b3InXS5lZGl0b3IubG9jYWxpemF0aW9uTG9jYWxpemF0aW9uUHJvcGVydHldKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiBvZihjdHgucGFyYW1ldGVycy5pdGVtKTtcbiAgICAgICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBwcml2YXRlIGFkZE1pc3NpbmdUcmFuc2xhdGlvbkhlbHBlclRleHQoKTogdm9pZCB7XG4gICAgICAgIGlmICghdGhpcy5tb2RlbFt0aGlzLnByb3BzPy5bJ2Rlc2NyaXB0b3InXS5wcm9wZXJ0eSArICdUcmFuc2xhdGVkJ10pIHtcbiAgICAgICAgICAgIHRoaXMucHJvcHM/LlsnZGVzY3JpcHRvciddPy53aXRoSGVscFRleHQoJ21uZ0VkaXRvci5sb2NhbGl6YXRpb25zLm1pc3NpbmdUcmFuc2xhdGlvbicpO1xuICAgICAgICAgICAgdGhpcy5maWVsZC5jbGFzc05hbWUgKz0gJyBsb2NhbGl6ZWQtaW5wdXQtYm9yZGVyLW9yYW5nZSc7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICB0aGlzLnByb3BzPy5bJ2Rlc2NyaXB0b3InXT8ud2l0aEhlbHBUZXh0KCcnKTtcbiAgICAgICAgfVxuICAgIH1cbn1cbiIsIjxkaXYgW2NsYXNzXT1cInByb3BzWydkZXNjcmlwdG9yJ10/LlsnZmllbGRDbGFzc05hbWUnXSA/PyAnZmllbGQnXCI+XG4gICAgPGRpdiBjbGFzcz1cImdyaWQgbXQtMFwiPlxuICAgICAgICA8bGFiZWwgKm5nSWY9XCJwcm9wcy5sYWJlbFwiIFtmb3JdPVwia2V5XCIgY2xhc3M9XCJjb2xcIiBbY2xhc3NdPVwicHJvcHNbJ2Rlc2NyaXB0b3InXT8uWydsYWJlbENsYXNzTmFtZSddID8/ICcnXCJcbiAgICAgICAgICAgID57eyBwcm9wcyEubGFiZWwhIHwgdHJhbnNsYXRlIH19IDxzcGFuICpuZ0lmPVwicHJvcHMucmVxdWlyZWQgJiYgcHJvcHNbJ2hpZGVSZXF1aXJlZE1hcmtlciddICE9PSB0cnVlXCI+Kjwvc3Bhbj48L2xhYmVsXG4gICAgICAgID5cbiAgICAgICAgPG1uZy1hY3Rpb24gKm5nSWY9XCJwcm9wc1snZGVzY3JpcHRvciddPy5bJ19pc0xvY2FsaXplZCddICYmICF0aGlzLmZvcm1TdGF0ZS5kaXNhYmxlZFwiIGNsYXNzPVwiY29sIHRleHQtcmlnaHRcIiBbYWN0aW9uXT1cImxvY2FsaXphdGlvbkFjdGlvblwiPjwvbW5nLWFjdGlvbj5cbiAgICA8L2Rpdj5cbiAgICA8bmctY29udGFpbmVyICNmaWVsZENvbXBvbmVudD48L25nLWNvbnRhaW5lcj5cbiAgICA8c21hbGwgKm5nSWY9XCJwcm9wc1snZGVzY3JpcHRvciddPy5bJ2hlbHBUZXh0J11cIiBjbGFzcz1cImJsb2NrXCI+e3sgcHJvcHNbJ2Rlc2NyaXB0b3InXT8uWydoZWxwVGV4dCddIHwgdHJhbnNsYXRlIH19PC9zbWFsbD5cbiAgICA8c21hbGwgKm5nSWY9XCJzaG93RXJyb3JcIiBjbGFzcz1cInAtZXJyb3IgYmxvY2tcIj5cbiAgICAgICAgPGZvcm1seS12YWxpZGF0aW9uLW1lc3NhZ2UgW2ZpZWxkXT1cImZpZWxkXCI+PC9mb3JtbHktdmFsaWRhdGlvbi1tZXNzYWdlPlxuICAgIDwvc21hbGw+XG48L2Rpdj5cbiJdfQ==
105
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9ybWx5LWZpZWxkLXdyYXBwZXIuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vc3JjL2xpYi9jb21wb25lbnRzL2Zvcm0vZm9ybWx5L3dyYXBwZXJzL2Zvcm1seS1maWVsZC13cmFwcGVyL2Zvcm1seS1maWVsZC13cmFwcGVyLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3NyYy9saWIvY29tcG9uZW50cy9mb3JtL2Zvcm1seS93cmFwcGVycy9mb3JtbHktZmllbGQtd3JhcHBlci9mb3JtbHktZmllbGQtd3JhcHBlci5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUMsdUJBQXVCLEVBQUUsU0FBUyxFQUFTLE1BQU0sZUFBZSxDQUFDO0FBRXpFLE9BQU8sRUFBQyxZQUFZLEVBQUUsWUFBWSxFQUFDLE1BQU0sa0JBQWtCLENBQUM7QUFDNUQsT0FBTyxFQUFDLGVBQWUsRUFBQyxNQUFNLHFCQUFxQixDQUFDO0FBQ3BELE9BQU8sRUFBQyxFQUFFLEVBQUMsTUFBTSxNQUFNLENBQUM7QUFFeEIsT0FBTyxFQUFDLHNCQUFzQixFQUF3QixzQkFBc0IsRUFBRSw0QkFBNEIsRUFBQyxNQUFNLG1DQUFtQyxDQUFDO0FBRXJKLE9BQU8sRUFBQyxtQkFBbUIsRUFBQyxNQUFNLHNDQUFzQyxDQUFDO0FBQ3pFLE9BQU8sRUFBQywwQkFBMEIsRUFBQyxNQUFNLGtDQUFrQyxDQUFDO0FBQzVFLE9BQU8sRUFBQyxnQkFBZ0IsRUFBQyxNQUFNLHVCQUF1QixDQUFDO0FBQ3ZELE9BQU8sRUFBQyxpQkFBaUIsRUFBQyxNQUFNLHlCQUF5QixDQUFDO0FBQzFELE9BQU8sRUFBQyxrQkFBa0IsRUFBQyxNQUFNLHVCQUF1QixDQUFDO0FBQ3pELE9BQU8sRUFBQyxhQUFhLEVBQUMsTUFBTSw4QkFBOEIsQ0FBQztBQUMzRCxPQUFPLEVBQUMsa0JBQWtC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QVUsQ0FBQyxNQUFNLENBQUMsMEJBQTBCLENBQUMsQ0FBQztRQUU3RixNQUFNLHFCQUFxQixHQUFHLG1CQUFtQixDQUFDLFNBQVMsQ0FBQyxVQUFVLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQ3JGLHFCQUFxQixDQUFDLGtCQUFrQixDQUFDLFVBQVUsQ0FBQyxNQUFNLENBQUMsZ0NBQWdDLEVBQUUsU0FBUyxDQUFDLENBQUM7UUFFeEcsT0FBTyxxQkFBcUIsQ0FBQztJQUNqQyxDQUFDOzhHQS9GUSw4QkFBOEI7a0dBQTlCLDhCQUE4QiwyR0N2QjNDLCtnQ0F3QkEsMkNESmMsZUFBZSwyRkFBRSxZQUFZLG1KQUFFLGtCQUFrQjs7MkZBR2xELDhCQUE4QjtrQkFQMUMsU0FBUztpQ0FDTSxJQUFJLFlBQ04sMEJBQTBCLFdBRTNCLENBQUMsZUFBZSxFQUFFLFlBQVksRUFBRSxrQkFBa0IsQ0FBQyxtQkFDM0MsdUJBQXVCLENBQUMsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7Q2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksIENvbXBvbmVudCwgT25Jbml0fSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuaW1wb3J0IHtGaWVsZFdyYXBwZXIsIEZvcm1seU1vZHVsZX0gZnJvbSAnQG5neC1mb3JtbHkvY29yZSc7XG5pbXBvcnQge1RyYW5zbGF0ZU1vZHVsZX0gZnJvbSAnQG5neC10cmFuc2xhdGUvY29yZSc7XG5pbXBvcnQge29mfSBmcm9tICdyeGpzJztcblxuaW1wb3J0IHtBY3Rpb25CdXR0b25EZXNjcmlwdG9yLCBBY3Rpb25EZXNjcmlwdG9ySW5zdCwgQWN0aW9uRWRpdG9yRGVzY3JpcHRvciwgQWN0aW9uRWRpdG9yU3VibWl0RGVzY3JpcHRvcn0gZnJvbSAnLi4vLi4vLi4vLi4vLi4vZGVzY3JpcHRvcnMvYWN0aW9uJztcbmltcG9ydCB7QUZpZWxkRGVzY3JpcHRvcn0gZnJvbSAnLi4vLi4vLi4vLi4vLi4vZGVzY3JpcHRvcnMvZWRpdG9yJztcbmltcG9ydCB7VGFibGV2aWV3RGVzY3JpcHRvcn0gZnJvbSAnLi4vLi4vLi4vLi4vLi4vZGVzY3JpcHRvcnMvdGFibGV2aWV3JztcbmltcG9ydCB7QWN0aW9uRWRpdG9yU3VibWl0VHlwZUVudW19IGZyb20gJy4uLy4uLy4uLy4uLy4uL2Rlc2NyaXB0b3JzL3R5cGVzJztcbmltcG9ydCB7TW5nSW50ZXJuYWxFcnJvcn0gZnJvbSAnLi4vLi4vLi4vLi4vLi4vbW9kZWxzJztcbmltcG9ydCB7TW5nQ29tbW9uc1NlcnZpY2V9IGZyb20gJy4uLy4uLy4uLy4uLy4uL3NlcnZpY2VzJztcbmltcG9ydCB7QnV0dG9uU3R5bGVCdWlsZGVyfSBmcm9tICcuLi8uLi8uLi8uLi8uLi9zdHlsZXMnO1xuaW1wb3J0IHtTdHlsZVNpemVFbnVtfSBmcm9tICcuLi8uLi8uLi8uLi8uLi9zdHlsZXMvbW9kZWxzJztcbmltcG9ydCB7TW5nQWN0aW9uQ29tcG9uZW50fSBmcm9tICcuLi8uLi8uLi8uLi9hY3Rpb24nO1xuXG5AQ29tcG9uZW50KHtcbiAgICBzdGFuZGFsb25lOiB0cnVlLFxuICAgIHNlbGVjdG9yOiAnbW5nLWZvcm1seS1maWVsZC13cmFwcGVyJyxcbiAgICB0ZW1wbGF0ZVVybDogJy4vZm9ybWx5LWZpZWxkLXdyYXBwZXIuY29tcG9uZW50Lmh0bWwnLFxuICAgIGltcG9ydHM6IFtUcmFuc2xhdGVNb2R1bGUsIEZvcm1seU1vZHVsZSwgTW5nQWN0aW9uQ29tcG9uZW50XSxcbiAgICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaFxufSlcbmV4cG9ydCBjbGFzcyBNbmdGb3JtbHlGaWVsZFdyYXBwZXJDb21wb25lbnQgZXh0ZW5kcyBGaWVsZFdyYXBwZXIgaW1wbGVtZW50cyBPbkluaXQge1xuICAgIHB1YmxpYyBsb2NhbGl6YXRpb25BY3Rpb24hOiBBY3Rpb25EZXNjcmlwdG9ySW5zdDxhbnk+O1xuXG4gICAgcHVibGljIG5nT25Jbml0KCkge1xuICAgICAgICBjb25zdCBkZXNjcmlwdG9yID0gdGhpcy5wcm9wcz8uWydkZXNjcmlwdG9yJ10gYXMgQUZpZWxkRGVzY3JpcHRvcjxhbnksIGFueT47XG4gICAgICAgIGlmIChkZXNjcmlwdG9yPy5pc0xvY2FsaXplZCkge1xuICAgICAgICAgICAgY29uc3QgbG9jYWxpemF0aW9uVGFibGV2aWV3ID0gZGVzY3JpcHRvci5sb2NhbGl6YXRpb25UYWJsZXZpZXcgPz8gdGhpcy5jcmVhdGVMb2NhbGl6YXRpb25UYWJsZXZpZXcoZGVzY3JpcHRvcik7XG5cbiAgICAgICAgICAgIGlmICh0aGlzLmZvcm1TdGF0ZS5kaXNhYmxlZCkge1xuICAgICAgICAgICAgICAgIHRoaXMuYWRkTWlzc2luZ1RyYW5zbGF0aW9uSGVscGVyVGV4dCgpO1xuICAgICAgICAgICAgICAgIGNvbnN0IHZpZXdMb2NhbGl6YXRpb25zQWN0aW9uID0gQWN0aW9uRWRpdG9yRGVzY3JpcHRvci5jcmVhdGUobG9jYWxpemF0aW9uVGFibGV2aWV3LmRldGFpbHNFZGl0b3IsICdsb2NhbGl6YXRpb24tZGV0YWlscycpXG4gICAgICAgICAgICAgICAgICAgIC53aXRoRWRpdG9yVGl0bGUoJ2xvY2FsaXphdGlvbi1kZXRhaWxzLnRpdGxlJywge2ZpZWxkTmFtZTogZGVzY3JpcHRvci5wcm9wZXJ0eX0pXG4gICAgICAgICAgICAgICAgICAgIC53aXRoRGlhbG9nQ2xhc3NOYW1lKCdtbmctZmllbGQtZGlhbG9nIG1uZy1hY3Rpb24tZWRpdG9yLWRpYWxvZycpXG4gICAgICAgICAgICAgICAgICAgIC53aXRoRGlhbG9nU2l6ZShTdHlsZVNpemVFbnVtLlNtYWxsKVxuICAgICAgICAgICAgICAgICAgICAud2l0aEJ1dHRvbkRlc2NyaXB0b3IoXG4gICAgICAgICAgICAgICAgICAgICAgICBuZXcgQWN0aW9uQnV0dG9uRGVzY3JpcHRvcigpXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgLndpdGhJY29uKCdwaSBwaS1sYW5ndWFnZScpXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgLndpdGhMYWJlbCgnbW5nRWRpdG9yLmxvY2FsaXphdGlvbnMuc2hvd1RyYW5zbGF0aW9ucycpXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgLndpdGhTdHlsZUNsYXNzKG5ldyBCdXR0b25TdHlsZUJ1aWxkZXIoKS53aXRoVGV4dEJ1dHRvbigpLndpdGhDdXN0b21DbGFzcygncHktMCBtYi0xIHctYXV0bycpKVxuICAgICAgICAgICAgICAgICAgICApXG4gICAgICAgICAgICAgICAgICAgIC53aXRoRmV0Y2hGdW5jdGlvbigoKSA9PiBvZih0aGlzLm1vZGVsKSk7XG4gICAgICAgICAgICAgICAgdmlld0xvY2FsaXphdGlvbnNBY3Rpb24ud2l0aEVkaXRvckFjdGlvbnMoW0FjdGlvbkVkaXRvclN1Ym1pdERlc2NyaXB0b3IuZm9yU2Vjb25kYXJ5KHZpZXdMb2NhbGl6YXRpb25zQWN0aW9uLCBBY3Rpb25FZGl0b3JTdWJtaXRUeXBlRW51bS5DYW5jZWwpXSk7XG4gICAgICAgICAgICAgICAgdGhpcy5sb2NhbGl6YXRpb25BY3Rpb24gPSB2aWV3TG9jYWxpemF0aW9uc0FjdGlvbjtcbiAgICAgICAgICAgIH0gZWxzZSBpZiAodGhpcy5mb3JtU3RhdGUuZWRpdCkge1xuICAgICAgICAgICAgICAgIGRlc2NyaXB0b3Iud2l0aEhlbHBUZXh0KCcnKTtcbiAgICAgICAgICAgICAgICB0aGlzLmxvY2FsaXphdGlvbkFjdGlvbiA9IEFjdGlvbkVkaXRvckRlc2NyaXB0b3IuY3JlYXRlKGxvY2FsaXphdGlvblRhYmxldmlldy5lZGl0RWRpdG9yLCAnbG9jYWxpemF0aW9uLWVkaXQnKVxuICAgICAgICAgICAgICAgICAgICAud2l0aEVkaXRvclRpdGxlKCdsb2NhbGl6YXRpb24tZWRpdC50aXRsZScsIHtmaWVsZE5hbWU6IGRlc2NyaXB0b3IucHJvcGVydHl9KVxuICAgICAgICAgICAgICAgICAgICAud2l0aERpYWxvZ0NsYXNzTmFtZSgnbW5nLWZpZWxkLWRpYWxvZyBtbmctYWN0aW9uLWVkaXRvci1kaWFsb2cnKVxuICAgICAgICAgICAgICAgICAgICAud2l0aERpYWxvZ1NpemUoU3R5bGVTaXplRW51bS5TbWFsbClcbiAgICAgICAgICAgICAgICAgICAgLndpdGhCdXR0b25EZXNjcmlwdG9yKFxuICAgICAgICAgICAgICAgICAgICAgICAgbmV3IEFjdGlvbkJ1dHRvbkRlc2NyaXB0b3IoKVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIC53aXRoSWNvbigncGkgcGktbGFuZ3VhZ2UnKVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIC53aXRoTGFiZWwoJ21uZ0VkaXRvci5sb2NhbGl6YXRpb25zLnNob3dUcmFuc2xhdGlvbnMnKVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIC53aXRoU3R5bGVDbGFzcyhuZXcgQnV0dG9uU3R5bGVCdWlsZGVyKCkud2l0aFRleHRCdXR0b24oKS53aXRoQ3VzdG9tQ2xhc3MoJ3B5LTAgbWItMSB3LWF1dG8nKSlcbiAgICAgICAgICAgICAgICAgICAgKVxuICAgICAgICAgICAgICAgICAgICAud2l0aEZldGNoRnVuY3Rpb24oKCkgPT4gb2YodGhpcy5tb2RlbCkpXG4gICAgICAgICAgICAgICAgICAgIC53aXRoU3VibWl0RnVuY3Rpb24oY3R4ID0+IHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMuZm9ybVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIC5nZXQoZGVzY3JpcHRvci5lZGl0b3IubG9jYWxpemF0aW9uTG9jYWxpemF0aW9uUHJvcGVydHkhKSFcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAucGF0Y2hWYWx1ZSgoY3R4LnBhcmFtZXRlcnMuaXRlbSBhcyBhbnkpW3RoaXMucHJvcHM/LlsnZGVzY3JpcHRvciddLmVkaXRvci5sb2NhbGl6YXRpb25Mb2NhbGl6YXRpb25Qcm9wZXJ0eV0pO1xuICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIG9mKGN0eC5wYXJhbWV0ZXJzLml0ZW0pO1xuICAgICAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgIH0gZWxzZSBpZiAodGhpcy5mb3JtU3RhdGUuYWRkKSB7XG4gICAgICAgICAgICAgICAgZGVzY3JpcHRvci53aXRoSGVscFRleHQoJycpO1xuICAgICAgICAgICAgICAgIHRoaXMubG9jYWxpemF0aW9uQWN0aW9uID0gQWN0aW9uRWRpdG9yRGVzY3JpcHRvci5jcmVhdGUobG9jYWxpemF0aW9uVGFibGV2aWV3LmFkZEVkaXRvciwgJ2xvY2FsaXphdGlvbi1hZGQnKVxuICAgICAgICAgICAgICAgICAgICAud2l0aEVkaXRvclRpdGxlKCdsb2NhbGl6YXRpb24tYWRkLnRpdGxlJywge2ZpZWxkTmFtZTogZGVzY3JpcHRvci5wcm9wZXJ0eX0pXG4gICAgICAgICAgICAgICAgICAgIC53aXRoRGlhbG9nQ2xhc3NOYW1lKCdtbmctZmllbGQtZGlhbG9nIG1uZy1hY3Rpb24tZWRpdG9yLWRpYWxvZycpXG4gICAgICAgICAgICAgICAgICAgIC53aXRoRGlhbG9nU2l6ZShTdHlsZVNpemVFbnVtLlNtYWxsKVxuICAgICAgICAgICAgICAgICAgICAud2l0aEJ1dHRvbkRlc2NyaXB0b3IoXG4gICAgICAgICAgICAgICAgICAgICAgICBuZXcgQWN0aW9uQnV0dG9uRGVzY3JpcHRvcigpXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgLndpdGhJY29uKCdwaSBwaS1sYW5ndWFnZScpXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgLndpdGhMYWJlbCgnbW5nRWRpdG9yLmxvY2FsaXphdGlvbnMuc2hvd1RyYW5zbGF0aW9ucycpXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgLndpdGhTdHlsZUNsYXNzKG5ldyBCdXR0b25TdHlsZUJ1aWxkZXIoKS53aXRoVGV4dEJ1dHRvbigpLndpdGhDdXN0b21DbGFzcygncHktMCBtYi0xIHctYXV0bycpKVxuICAgICAgICAgICAgICAgICAgICApXG4gICAgICAgICAgICAgICAgICAgIC53aXRoU3VibWl0RnVuY3Rpb24oY3R4ID0+IHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMuZm9ybVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIC5nZXQoZGVzY3JpcHRvci5lZGl0b3IubG9jYWxpemF0aW9uTG9jYWxpemF0aW9uUHJvcGVydHkhKSFcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAucGF0Y2hWYWx1ZSgoY3R4LnBhcmFtZXRlcnMuaXRlbSBhcyBhbnkpW3RoaXMucHJvcHM/LlsnZGVzY3JpcHRvciddLmVkaXRvci5sb2NhbGl6YXRpb25Mb2NhbGl6YXRpb25Qcm9wZXJ0eV0pO1xuICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIG9mKGN0eC5wYXJhbWV0ZXJzLml0ZW0pO1xuICAgICAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgIHByaXZhdGUgYWRkTWlzc2luZ1RyYW5zbGF0aW9uSGVscGVyVGV4dCgpOiB2b2lkIHtcbiAgICAgICAgaWYgKCF0aGlzLm1vZGVsW3RoaXMucHJvcHM/LlsnZGVzY3JpcHRvciddLnByb3BlcnR5ICsgJ1RyYW5zbGF0ZWQnXSkge1xuICAgICAgICAgICAgdGhpcy5wcm9wcz8uWydkZXNjcmlwdG9yJ10/LndpdGhIZWxwVGV4dCgnbW5nRWRpdG9yLmxvY2FsaXphdGlvbnMubWlzc2luZ1RyYW5zbGF0aW9uJyk7XG4gICAgICAgICAgICB0aGlzLmZpZWxkLmNsYXNzTmFtZSArPSAnIGxvY2FsaXplZC1pbnB1dC1ib3JkZXItb3JhbmdlJztcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHRoaXMucHJvcHM/LlsnZGVzY3JpcHRvciddPy53aXRoSGVscFRleHQoJycpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBjcmVhdGVMb2NhbGl6YXRpb25UYWJsZXZpZXcoZGVzY3JpcHRvcjogQUZpZWxkRGVzY3JpcHRvcjxhbnksIGFueT4pIHtcbiAgICAgICAgaWYgKCFkZXNjcmlwdG9yLmVkaXRvci5sb2NhbGl6YXRpb25Nb2RlbCB8fCAhZGVzY3JpcHRvci5lZGl0b3IubG9jYWxpemF0aW9uTG9jYWxlUHJvcGVydHkgfHwgIWRlc2NyaXB0b3IuZWRpdG9yLmxvY2FsaXphdGlvbkxvY2FsaXphdGlvblByb3BlcnR5KSB7XG4gICAgICAgICAgICB0aHJvdyBuZXcgTW5nSW50ZXJuYWxFcnJvcignJyk7IC8vIFRPRE86IGRlc2NyaWJlXG4gICAgICAgIH1cblxuICAgICAgICBjb25zdCB0YWJsZXZpZXcgPSBUYWJsZXZpZXdEZXNjcmlwdG9yLmZyb21Nb2RlbChkZXNjcmlwdG9yLmVkaXRvci5sb2NhbGl6YXRpb25Nb2RlbCk7XG4gICAgICAgIHRhYmxldmlldy5hZGRDb2x1bW4oZGVzY3JpcHRvci5lZGl0b3IubG9jYWxpemF0aW9uTG9jYWxlUHJvcGVydHkpO1xuICAgICAgICB0YWJsZXZpZXcuYWRkQ29sdW1uKGRlc2NyaXB0b3IucHJvcGVydHkpO1xuXG4gICAgICAgIHRhYmxldmlld1xuICAgICAgICAgICAgLmFkZEZpZWxkTG9va3VwV2l0aFByb3ZpZGVyPE1uZ0NvbW1vbnNTZXJ2aWNlLCBzdHJpbmc+KGRlc2NyaXB0b3IuZWRpdG9yLmxvY2FsaXphdGlvbkxvY2FsZVByb3BlcnR5LCBNbmdDb21tb25zU2VydmljZSlcbiAgICAgICAgICAgIC53aXRoTG9va3VwKChxcCwgc2VydmljZSkgPT4gc2VydmljZS5hcHBEYXRhTGFuZ3VhZ2VzKTtcblxuICAgICAgICB0YWJsZXZpZXcuYWRkRmllbGQoZGVzY3JpcHRvci5wcm9wZXJ0eSk7XG5cbiAgICAgICAgLy8gdGhpcyBpcyB1c2VkIGluIHRhYmxlLmNvbXBvbmVudCB0byBtYXJrIHJvdyB3aXRoIGRlZmF1bHQgZGF0YSBsYW5ndWFnZVxuICAgICAgICB0YWJsZXZpZXcudGFibGUud2l0aExvY2FsaXphdGlvbkxvY2FsZVByb3BlcnR5KGRlc2NyaXB0b3IuZWRpdG9yLmxvY2FsaXphdGlvbkxvY2FsZVByb3BlcnR5KTtcblxuICAgICAgICBjb25zdCBsb2NhbGl6YXRpb25UYWJsZXZpZXcgPSBUYWJsZXZpZXdEZXNjcmlwdG9yLmZyb21Nb2RlbChkZXNjcmlwdG9yLmVkaXRvci5tb2RlbCk7XG4gICAgICAgIGxvY2FsaXphdGlvblRhYmxldmlldy5hZGRGaWVsZE1hbnlFZGl0b3IoZGVzY3JpcHRvci5lZGl0b3IubG9jYWxpemF0aW9uTG9jYWxpemF0aW9uUHJvcGVydHksIHRhYmxldmlldyk7XG5cbiAgICAgICAgcmV0dXJuIGxvY2FsaXphdGlvblRhYmxldmlldztcbiAgICB9XG59XG4iLCI8ZGl2IFtjbGFzc109XCJwcm9wc1snZGVzY3JpcHRvciddPy5bJ2ZpZWxkQ2xhc3NOYW1lJ10gPz8gJ2ZpZWxkJ1wiPlxuICAgIDxkaXYgY2xhc3M9XCJncmlkIG10LTBcIj5cbiAgICAgICAgQGlmIChwcm9wcy5sYWJlbCkge1xuICAgICAgICAgICAgPGxhYmVsIFtmb3JdPVwia2V5XCIgY2xhc3M9XCJjb2xcIiBbY2xhc3NdPVwicHJvcHNbJ2Rlc2NyaXB0b3InXT8uWydsYWJlbENsYXNzTmFtZSddID8/ICcnXCJcbiAgICAgICAgICAgICAgICA+e3sgcHJvcHMhLmxhYmVsISB8IHRyYW5zbGF0ZSB9fVxuICAgICAgICAgICAgICAgIEBpZiAocHJvcHMucmVxdWlyZWQgJiYgcHJvcHNbJ2hpZGVSZXF1aXJlZE1hcmtlciddICE9PSB0cnVlKSB7XG4gICAgICAgICAgICAgICAgICAgIDxzcGFuPio8L3NwYW4+XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgPC9sYWJlbD5cbiAgICAgICAgfVxuICAgICAgICBAaWYgKHByb3BzWydkZXNjcmlwdG9yJ10/LlsnX2lzTG9jYWxpemVkJ10gJiYgIXRoaXMuZm9ybVN0YXRlLmRpc2FibGVkKSB7XG4gICAgICAgICAgICA8bW5nLWFjdGlvbiBjbGFzcz1cImNvbCB0ZXh0LXJpZ2h0XCIgW2FjdGlvbl09XCJsb2NhbGl6YXRpb25BY3Rpb25cIj48L21uZy1hY3Rpb24+XG4gICAgICAgIH1cbiAgICA8L2Rpdj5cbiAgICA8bmctY29udGFpbmVyICNmaWVsZENvbXBvbmVudD48L25nLWNvbnRhaW5lcj5cbiAgICBAaWYgKHByb3BzWydkZXNjcmlwdG9yJ10/LlsnaGVscFRleHQnXSkge1xuICAgICAgICA8c21hbGwgY2xhc3M9XCJibG9ja1wiPnt7IHByb3BzWydkZXNjcmlwdG9yJ10/LlsnaGVscFRleHQnXSB8IHRyYW5zbGF0ZSB9fTwvc21hbGw+XG4gICAgfVxuICAgIEBpZiAoc2hvd0Vycm9yKSB7XG4gICAgICAgIDxzbWFsbCBjbGFzcz1cInAtZXJyb3IgYmxvY2tcIj5cbiAgICAgICAgICAgIDxmb3JtbHktdmFsaWRhdGlvbi1tZXNzYWdlIFtmaWVsZF09XCJmaWVsZFwiPjwvZm9ybWx5LXZhbGlkYXRpb24tbWVzc2FnZT5cbiAgICAgICAgPC9zbWFsbD5cbiAgICB9XG48L2Rpdj5cbiJdfQ==
@@ -24,11 +24,11 @@ export class MngBreadcrumbComponent {
24
24
  styleClass: item.className
25
25
  };
26
26
  }
27
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.6", ngImport: i0, type: MngBreadcrumbComponent, deps: [{ token: i1.MngCommonsService }], target: i0.ɵɵFactoryTarget.Component }); }
28
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.6", type: MngBreadcrumbComponent, isStandalone: true, selector: "mng-breadcrumb", ngImport: i0, template: "<div class=\"layout-breadcrumb-container\">\n <div class=\"layout-breadcrumb\">\n <p-breadcrumb [home]=\"(mappedBreadcrumbHome$ | async) ?? undefined\" [model]=\"(mappedBreadcrumbs$ | async) ?? undefined\" styleClass=\"layout-breadcrumb py-2\"></p-breadcrumb>\n </div>\n</div>\n", dependencies: [{ kind: "ngmodule", type: BreadcrumbModule }, { kind: "component", type: i2.Breadcrumb, selector: "p-breadcrumb", inputs: ["model", "style", "styleClass", "home", "homeAriaLabel"], outputs: ["onItemClick"] }, { kind: "pipe", type: AsyncPipe, name: "async" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
27
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.8", ngImport: i0, type: MngBreadcrumbComponent, deps: [{ token: i1.MngCommonsService }], target: i0.ɵɵFactoryTarget.Component }); }
28
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.0.8", type: MngBreadcrumbComponent, isStandalone: true, selector: "mng-breadcrumb", ngImport: i0, template: "<div class=\"layout-breadcrumb-container\">\n <div class=\"layout-breadcrumb\">\n <p-breadcrumb [home]=\"(mappedBreadcrumbHome$ | async) ?? undefined\" [model]=\"(mappedBreadcrumbs$ | async) ?? undefined\" styleClass=\"layout-breadcrumb py-2\"></p-breadcrumb>\n </div>\n</div>\n", dependencies: [{ kind: "ngmodule", type: BreadcrumbModule }, { kind: "component", type: i2.Breadcrumb, selector: "p-breadcrumb", inputs: ["model", "style", "styleClass", "home", "homeAriaLabel"], outputs: ["onItemClick"] }, { kind: "pipe", type: AsyncPipe, name: "async" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
29
29
  }
30
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.6", ngImport: i0, type: MngBreadcrumbComponent, decorators: [{
30
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.8", ngImport: i0, type: MngBreadcrumbComponent, decorators: [{
31
31
  type: Component,
32
32
  args: [{ standalone: true, selector: 'mng-breadcrumb', imports: [BreadcrumbModule, AsyncPipe], changeDetection: ChangeDetectionStrategy.OnPush, template: "<div class=\"layout-breadcrumb-container\">\n <div class=\"layout-breadcrumb\">\n <p-breadcrumb [home]=\"(mappedBreadcrumbHome$ | async) ?? undefined\" [model]=\"(mappedBreadcrumbs$ | async) ?? undefined\" styleClass=\"layout-breadcrumb py-2\"></p-breadcrumb>\n </div>\n</div>\n" }]
33
- }], ctorParameters: function () { return [{ type: i1.MngCommonsService }]; } });
33
+ }], ctorParameters: () => [{ type: i1.MngCommonsService }] });
34
34
  //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYnJlYWRjcnVtYi5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9zcmMvbGliL2NvbXBvbmVudHMvbGF5b3V0L2JyZWFkY3J1bWIuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vc3JjL2xpYi9jb21wb25lbnRzL2xheW91dC9icmVhZGNydW1iLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBQyxTQUFTLEVBQUMsTUFBTSxpQkFBaUIsQ0FBQztBQUMxQyxPQUFPLEVBQUMsdUJBQXVCLEVBQUUsU0FBUyxFQUFDLE1BQU0sZUFBZSxDQUFDO0FBR2pFLE9BQU8sRUFBQyxnQkFBZ0IsRUFBQyxNQUFNLG9CQUFvQixDQUFDO0FBRXBELE9BQU8sRUFBQyxHQUFHLEVBQUMsTUFBTSxnQkFBZ0IsQ0FBQztBQUduQyxPQUFPLEVBQUMsaUJBQWlCLEVBQUMsTUFBTSxnQkFBZ0IsQ0FBQzs7OztBQVNqRCxNQUFNLE9BQU8sc0JBQXNCO0lBUS9CLFlBQW1CLFVBQTZCO1FBQTdCLGVBQVUsR0FBVixVQUFVLENBQW1CO1FBUHpDLDBCQUFxQixHQUFnQyxJQUFJLENBQUMsVUFBVSxDQUFDLGVBQWUsQ0FBQyxJQUFJLENBQzVGLEdBQUcsQ0FBQyxDQUFDLEVBQXNCLEVBQUUsRUFBRTtZQUMzQixJQUFJLENBQUMsRUFBRTtnQkFBRSxPQUFPLElBQUksQ0FBQztZQUNyQixPQUFPLElBQUksQ0FBQyxjQUFjLENBQUMsRUFBRSxDQUFDLENBQUM7UUFDbkMsQ0FBQyxDQUFDLENBQ0wsQ0FBQztRQUNLLHVCQUFrQixHQUEyQixJQUFJLENBQUMsVUFBVSxDQUFDLFlBQVksQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUMsS0FBb0IsRUFBRSxFQUFFLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLElBQUksQ0FBQyxjQUFjLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7SUFDNUcsQ0FBQztJQUU1QyxjQUFjLENBQUMsSUFBaUI7UUFDcEMsT0FBTztZQUNILEdBQUcsSUFBSTtZQUNQLEdBQUcsRUFBRSxJQUFJLENBQUMsSUFBSTtZQUNkLGVBQWUsRUFBRSxJQUFJLENBQUMsY0FBYztZQUNwQyxVQUFVLEVBQUUsSUFBSSxDQUFDLFNBQVM7U0FDakIsQ0FBQztJQUNsQixDQUFDOzhHQWpCUSxzQkFBc0I7a0dBQXRCLHNCQUFzQiwwRUNsQm5DLHFTQUtBLDJDRFVjLGdCQUFnQiw2TEFBRSxTQUFTOzsyRkFHNUIsc0JBQXNCO2tCQVBsQyxTQUFTO2lDQUNNLElBQUksWUFDTixnQkFBZ0IsV0FFakIsQ0FBQyxnQkFBZ0IsRUFBRSxTQUFTLENBQUMsbUJBQ3JCLHVCQUF1QixDQUFDLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0FzeW5jUGlwZX0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7Q2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksIENvbXBvbmVudH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbmltcG9ydCB7TWVudUl0ZW19IGZyb20gJ3ByaW1lbmcvYXBpJztcbmltcG9ydCB7QnJlYWRjcnVtYk1vZHVsZX0gZnJvbSAncHJpbWVuZy9icmVhZGNydW1iJztcbmltcG9ydCB7T2JzZXJ2YWJsZX0gZnJvbSAncnhqcyc7XG5pbXBvcnQge21hcH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuXG5pbXBvcnQge01uZ01lbnVJdGVtfSBmcm9tICcuLi8uLi9tb2RlbHMnO1xuaW1wb3J0IHtNbmdDb21tb25zU2VydmljZX0gZnJvbSAnLi4vLi4vc2VydmljZXMnO1xuXG5AQ29tcG9uZW50KHtcbiAgICBzdGFuZGFsb25lOiB0cnVlLFxuICAgIHNlbGVjdG9yOiAnbW5nLWJyZWFkY3J1bWInLFxuICAgIHRlbXBsYXRlVXJsOiAnLi9icmVhZGNydW1iLmNvbXBvbmVudC5odG1sJyxcbiAgICBpbXBvcnRzOiBbQnJlYWRjcnVtYk1vZHVsZSwgQXN5bmNQaXBlXSxcbiAgICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaFxufSlcbmV4cG9ydCBjbGFzcyBNbmdCcmVhZGNydW1iQ29tcG9uZW50IHtcbiAgICBwdWJsaWMgbWFwcGVkQnJlYWRjcnVtYkhvbWUkOiBPYnNlcnZhYmxlPE1lbnVJdGVtIHwgbnVsbD4gPSB0aGlzLm1uZ0NvbW1vbnMuYnJlYWRjcnVtYkhvbWUkLnBpcGUoXG4gICAgICAgIG1hcCgoZWw6IE1uZ01lbnVJdGVtIHwgbnVsbCkgPT4ge1xuICAgICAgICAgICAgaWYgKCFlbCkgcmV0dXJuIG51bGw7XG4gICAgICAgICAgICByZXR1cm4gdGhpcy5tYXBNbmdNZW51SXRlbShlbCk7XG4gICAgICAgIH0pXG4gICAgKTtcbiAgICBwdWJsaWMgbWFwcGVkQnJlYWRjcnVtYnMkOiBPYnNlcnZhYmxlPE1lbnVJdGVtW10+ID0gdGhpcy5tbmdDb21tb25zLmJyZWFkY3J1bWJzJC5waXBlKG1hcCgoaXRlbXM6IE1uZ01lbnVJdGVtW10pID0+IGl0ZW1zLm1hcChlbCA9PiB0aGlzLm1hcE1uZ01lbnVJdGVtKGVsKSkpKTtcbiAgICBjb25zdHJ1Y3RvcihwdWJsaWMgbW5nQ29tbW9uczogTW5nQ29tbW9uc1NlcnZpY2UpIHt9XG5cbiAgICBwcml2YXRlIG1hcE1uZ01lbnVJdGVtKGl0ZW06IE1uZ01lbnVJdGVtKTogTWVudUl0ZW0ge1xuICAgICAgICByZXR1cm4ge1xuICAgICAgICAgICAgLi4uaXRlbSxcbiAgICAgICAgICAgIHVybDogaXRlbS5ocmVmLFxuICAgICAgICAgICAgYmFkZ2VTdHlsZUNsYXNzOiBpdGVtLmJhZGdlQ2xhc3NOYW1lLFxuICAgICAgICAgICAgc3R5bGVDbGFzczogaXRlbS5jbGFzc05hbWVcbiAgICAgICAgfSBhcyBNZW51SXRlbTtcbiAgICB9XG59XG4iLCI8ZGl2IGNsYXNzPVwibGF5b3V0LWJyZWFkY3J1bWItY29udGFpbmVyXCI+XG4gICAgPGRpdiBjbGFzcz1cImxheW91dC1icmVhZGNydW1iXCI+XG4gICAgICAgIDxwLWJyZWFkY3J1bWIgW2hvbWVdPVwiKG1hcHBlZEJyZWFkY3J1bWJIb21lJCB8IGFzeW5jKSA/PyB1bmRlZmluZWRcIiBbbW9kZWxdPVwiKG1hcHBlZEJyZWFkY3J1bWJzJCB8IGFzeW5jKSA/PyB1bmRlZmluZWRcIiBzdHlsZUNsYXNzPVwibGF5b3V0LWJyZWFkY3J1bWIgcHktMlwiPjwvcC1icmVhZGNydW1iPlxuICAgIDwvZGl2PlxuPC9kaXY+XG4iXX0=
@@ -9,11 +9,11 @@ export class MngFooterComponent {
9
9
  this.mngCommons = mngCommons;
10
10
  this.currentYear = new Date().getFullYear();
11
11
  }
12
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.6", ngImport: i0, type: MngFooterComponent, deps: [{ token: i1.MngCommonsService }], target: i0.ɵɵFactoryTarget.Component }); }
13
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.6", type: MngFooterComponent, isStandalone: true, selector: "mng-footer", ngImport: i0, template: "<div class=\"layout-footer\">\n <div class=\"footer-logo-container\">\n <img id=\"footer-logo\" [src]=\"mngCommons.colorSchemeIsLight ? mngCommons.appLogoDark : mngCommons.appLogoLight\" alt=\"atlantis-layout\" />\n <span class=\"app-name\">{{ mngCommons.appName | translate }}</span>\n </div>\n <span class=\"copyright\">&#169; {{ mngCommons.appOwner | translate }} - {{ currentYear }}</span>\n</div>\n", dependencies: [{ kind: "ngmodule", type: TranslateModule }, { kind: "pipe", type: i2.TranslatePipe, name: "translate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
12
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.8", ngImport: i0, type: MngFooterComponent, deps: [{ token: i1.MngCommonsService }], target: i0.ɵɵFactoryTarget.Component }); }
13
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.0.8", type: MngFooterComponent, isStandalone: true, selector: "mng-footer", ngImport: i0, template: "<div class=\"layout-footer\">\n <div class=\"footer-logo-container\">\n <img id=\"footer-logo\" [src]=\"mngCommons.colorSchemeIsLight ? mngCommons.appLogoDark : mngCommons.appLogoLight\" alt=\"atlantis-layout\" />\n <span class=\"app-name\">{{ mngCommons.appName | translate }}</span>\n </div>\n <span class=\"copyright\">&#169; {{ mngCommons.appOwner | translate }} - {{ currentYear }}</span>\n</div>\n", dependencies: [{ kind: "ngmodule", type: TranslateModule }, { kind: "pipe", type: i2.TranslatePipe, name: "translate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
14
14
  }
15
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.6", ngImport: i0, type: MngFooterComponent, decorators: [{
15
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.8", ngImport: i0, type: MngFooterComponent, decorators: [{
16
16
  type: Component,
17
17
  args: [{ standalone: true, selector: 'mng-footer', imports: [TranslateModule], changeDetection: ChangeDetectionStrategy.OnPush, template: "<div class=\"layout-footer\">\n <div class=\"footer-logo-container\">\n <img id=\"footer-logo\" [src]=\"mngCommons.colorSchemeIsLight ? mngCommons.appLogoDark : mngCommons.appLogoLight\" alt=\"atlantis-layout\" />\n <span class=\"app-name\">{{ mngCommons.appName | translate }}</span>\n </div>\n <span class=\"copyright\">&#169; {{ mngCommons.appOwner | translate }} - {{ currentYear }}</span>\n</div>\n" }]
18
- }], ctorParameters: function () { return [{ type: i1.MngCommonsService }]; } });
18
+ }], ctorParameters: () => [{ type: i1.MngCommonsService }] });
19
19
  //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9vdGVyLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3NyYy9saWIvY29tcG9uZW50cy9sYXlvdXQvZm9vdGVyLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uL3NyYy9saWIvY29tcG9uZW50cy9sYXlvdXQvZm9vdGVyLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBQyx1QkFBdUIsRUFBRSxTQUFTLEVBQUMsTUFBTSxlQUFlLENBQUM7QUFFakUsT0FBTyxFQUFDLGVBQWUsRUFBQyxNQUFNLHFCQUFxQixDQUFDO0FBRXBELE9BQU8sRUFBQyxpQkFBaUIsRUFBQyxNQUFNLGdCQUFnQixDQUFDOzs7O0FBU2pELE1BQU0sT0FBTyxrQkFBa0I7SUFHM0IsWUFBbUIsVUFBNkI7UUFBN0IsZUFBVSxHQUFWLFVBQVUsQ0FBbUI7UUFGekMsZ0JBQVcsR0FBRyxJQUFJLElBQUksRUFBRSxDQUFDLFdBQVcsRUFBRSxDQUFDO0lBRUssQ0FBQzs4R0FIM0Msa0JBQWtCO2tHQUFsQixrQkFBa0Isc0VDYi9CLDRhQU9BLDJDREdjLGVBQWU7OzJGQUdoQixrQkFBa0I7a0JBUDlCLFNBQVM7aUNBQ00sSUFBSSxZQUNOLFlBQVksV0FFYixDQUFDLGVBQWUsQ0FBQyxtQkFDVCx1QkFBdUIsQ0FBQyxNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSwgQ29tcG9uZW50fSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuaW1wb3J0IHtUcmFuc2xhdGVNb2R1bGV9IGZyb20gJ0BuZ3gtdHJhbnNsYXRlL2NvcmUnO1xuXG5pbXBvcnQge01uZ0NvbW1vbnNTZXJ2aWNlfSBmcm9tICcuLi8uLi9zZXJ2aWNlcyc7XG5cbkBDb21wb25lbnQoe1xuICAgIHN0YW5kYWxvbmU6IHRydWUsXG4gICAgc2VsZWN0b3I6ICdtbmctZm9vdGVyJyxcbiAgICB0ZW1wbGF0ZVVybDogJy4vZm9vdGVyLmNvbXBvbmVudC5odG1sJyxcbiAgICBpbXBvcnRzOiBbVHJhbnNsYXRlTW9kdWxlXSxcbiAgICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaFxufSlcbmV4cG9ydCBjbGFzcyBNbmdGb290ZXJDb21wb25lbnQge1xuICAgIHB1YmxpYyBjdXJyZW50WWVhciA9IG5ldyBEYXRlKCkuZ2V0RnVsbFllYXIoKTtcblxuICAgIGNvbnN0cnVjdG9yKHB1YmxpYyBtbmdDb21tb25zOiBNbmdDb21tb25zU2VydmljZSkge31cbn1cbiIsIjxkaXYgY2xhc3M9XCJsYXlvdXQtZm9vdGVyXCI+XG4gICAgPGRpdiBjbGFzcz1cImZvb3Rlci1sb2dvLWNvbnRhaW5lclwiPlxuICAgICAgICA8aW1nIGlkPVwiZm9vdGVyLWxvZ29cIiBbc3JjXT1cIm1uZ0NvbW1vbnMuY29sb3JTY2hlbWVJc0xpZ2h0ID8gbW5nQ29tbW9ucy5hcHBMb2dvRGFyayA6IG1uZ0NvbW1vbnMuYXBwTG9nb0xpZ2h0XCIgYWx0PVwiYXRsYW50aXMtbGF5b3V0XCIgLz5cbiAgICAgICAgPHNwYW4gY2xhc3M9XCJhcHAtbmFtZVwiPnt7IG1uZ0NvbW1vbnMuYXBwTmFtZSB8IHRyYW5zbGF0ZSB9fTwvc3Bhbj5cbiAgICA8L2Rpdj5cbiAgICA8c3BhbiBjbGFzcz1cImNvcHlyaWdodFwiPiYjMTY5OyB7eyBtbmdDb21tb25zLmFwcE93bmVyIHwgdHJhbnNsYXRlIH19IC0ge3sgY3VycmVudFllYXIgfX08L3NwYW4+XG48L2Rpdj5cbiJdfQ==
@@ -1,4 +1,4 @@
1
- import { AsyncPipe, NgClass, NgIf } from '@angular/common';
1
+ import { AsyncPipe, NgClass } from '@angular/common';
2
2
  import { ChangeDetectionStrategy, Component, HostListener, Inject, QueryList, ViewChildren } from '@angular/core';
3
3
  import { ActivatedRoute, RouterOutlet } from '@angular/router';
4
4
  import { MngComponentDirective, MngTemplateDirective } from '../../directives';
@@ -38,20 +38,20 @@ export class MngMainLayoutComponent {
38
38
  const target = event.target;
39
39
  this.mainLayoutService.innerWidth = target?.innerWidth ?? window.innerWidth;
40
40
  }
41
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.6", ngImport: i0, type: MngMainLayoutComponent, deps: [{ token: i1.ActivatedRoute }, { token: i2.MngCommonsService }, { token: i3.MngMainLayoutComponentService }, { token: MNG_MODULE_CONFIG_IT }], target: i0.ɵɵFactoryTarget.Component }); }
42
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.6", type: MngMainLayoutComponent, isStandalone: true, selector: "mng-main-layout", host: { listeners: { "window:resize": "onWindowResize($event)" } }, providers: [MngMainLayoutComponentService], viewQueries: [{ propertyName: "templates", predicate: MngTemplateDirective, descendants: true }], ngImport: i0, template: "<div\n class=\"layout-wrapper\"\n (click)=\"mainLayoutService.onLayoutClick()\"\n [ngClass]=\"{\n 'layout-static': mngCommons.menuModeIsStatic$ | async,\n 'layout-overlay': mngCommons.menuModeIsOverlay$ | async,\n 'layout-slim': mngCommons.menuModeIsSlim$ | async,\n 'layout-sidebar': mngCommons.menuModeIsSidebar$ | async,\n 'layout-sidebar-static': (mngCommons.menuModeIsSidebar$ | async) && (mainLayoutService.sidebarStatic$ | async),\n 'layout-overlay-active': mainLayoutService.overlayMenuActive$ | async,\n 'layout-mobile-active': mainLayoutService.staticMenuMobileActive$ | async,\n 'layout-static-inactive': (mainLayoutService.staticMenuDesktopInactive$ | async) && (mngCommons.menuModeIsStatic$ | async)\n }\">\n <div class=\"layout-main\">\n <ng-container [mngComponent]=\"topbarComponent\"></ng-container>\n\n <ng-container\n *ngIf=\"\n (mainLayoutService.isMobile$ | async) === false &&\n ((mngCommons.menuModeIsStatic$ | async) || (mngCommons.menuModeIsSlim$ | async) || (mngCommons.menuModeIsSidebar$ | async))\n \"\n [mngComponent]=\"menuComponent\">\n </ng-container>\n\n <div class=\"layout-main-content\">\n <router-outlet></router-outlet>\n </div>\n\n <ng-container [mngComponent]=\"footerComponent\"></ng-container>\n </div>\n</div>\n", dependencies: [{ kind: "directive", type: NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "pipe", type: AsyncPipe, name: "async" }, { kind: "directive", type: MngComponentDirective, selector: "[mngComponent]", inputs: ["mngComponent", "inputs", "attachToHost"], outputs: ["instanceCreated"] }, { kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: RouterOutlet, selector: "router-outlet", inputs: ["name"], outputs: ["activate", "deactivate", "attach", "detach"], exportAs: ["outlet"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
41
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.8", ngImport: i0, type: MngMainLayoutComponent, deps: [{ token: i1.ActivatedRoute }, { token: i2.MngCommonsService }, { token: i3.MngMainLayoutComponentService }, { token: MNG_MODULE_CONFIG_IT }], target: i0.ɵɵFactoryTarget.Component }); }
42
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.0.8", type: MngMainLayoutComponent, isStandalone: true, selector: "mng-main-layout", host: { listeners: { "window:resize": "onWindowResize($event)" } }, providers: [MngMainLayoutComponentService], viewQueries: [{ propertyName: "templates", predicate: MngTemplateDirective, descendants: true }], ngImport: i0, template: "<div\n class=\"layout-wrapper\"\n (click)=\"mainLayoutService.onLayoutClick()\"\n [ngClass]=\"{\n 'layout-static': mngCommons.menuModeIsStatic$ | async,\n 'layout-overlay': mngCommons.menuModeIsOverlay$ | async,\n 'layout-slim': mngCommons.menuModeIsSlim$ | async,\n 'layout-sidebar': mngCommons.menuModeIsSidebar$ | async,\n 'layout-sidebar-static': (mngCommons.menuModeIsSidebar$ | async) && (mainLayoutService.sidebarStatic$ | async),\n 'layout-overlay-active': mainLayoutService.overlayMenuActive$ | async,\n 'layout-mobile-active': mainLayoutService.staticMenuMobileActive$ | async,\n 'layout-static-inactive': (mainLayoutService.staticMenuDesktopInactive$ | async) && (mngCommons.menuModeIsStatic$ | async)\n }\">\n <div class=\"layout-main\">\n <ng-container [mngComponent]=\"topbarComponent\"></ng-container>\n\n @if (\n (mainLayoutService.isMobile$ | async) === false &&\n ((mngCommons.menuModeIsStatic$ | async) || (mngCommons.menuModeIsSlim$ | async) || (mngCommons.menuModeIsSidebar$ | async))\n ) {\n <ng-container [mngComponent]=\"menuComponent\"> </ng-container>\n }\n\n <div class=\"layout-main-content\">\n <router-outlet></router-outlet>\n </div>\n\n <ng-container [mngComponent]=\"footerComponent\"></ng-container>\n </div>\n</div>\n", dependencies: [{ kind: "directive", type: NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "pipe", type: AsyncPipe, name: "async" }, { kind: "directive", type: MngComponentDirective, selector: "[mngComponent]", inputs: ["mngComponent", "inputs", "attachToHost"], outputs: ["instanceCreated"] }, { kind: "directive", type: RouterOutlet, selector: "router-outlet", inputs: ["name"], outputs: ["activate", "deactivate", "attach", "detach"], exportAs: ["outlet"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
43
43
  }
44
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.6", ngImport: i0, type: MngMainLayoutComponent, decorators: [{
44
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.8", ngImport: i0, type: MngMainLayoutComponent, decorators: [{
45
45
  type: Component,
46
- args: [{ standalone: true, selector: 'mng-main-layout', providers: [MngMainLayoutComponentService], imports: [NgClass, AsyncPipe, MngComponentDirective, NgIf, RouterOutlet], changeDetection: ChangeDetectionStrategy.OnPush, template: "<div\n class=\"layout-wrapper\"\n (click)=\"mainLayoutService.onLayoutClick()\"\n [ngClass]=\"{\n 'layout-static': mngCommons.menuModeIsStatic$ | async,\n 'layout-overlay': mngCommons.menuModeIsOverlay$ | async,\n 'layout-slim': mngCommons.menuModeIsSlim$ | async,\n 'layout-sidebar': mngCommons.menuModeIsSidebar$ | async,\n 'layout-sidebar-static': (mngCommons.menuModeIsSidebar$ | async) && (mainLayoutService.sidebarStatic$ | async),\n 'layout-overlay-active': mainLayoutService.overlayMenuActive$ | async,\n 'layout-mobile-active': mainLayoutService.staticMenuMobileActive$ | async,\n 'layout-static-inactive': (mainLayoutService.staticMenuDesktopInactive$ | async) && (mngCommons.menuModeIsStatic$ | async)\n }\">\n <div class=\"layout-main\">\n <ng-container [mngComponent]=\"topbarComponent\"></ng-container>\n\n <ng-container\n *ngIf=\"\n (mainLayoutService.isMobile$ | async) === false &&\n ((mngCommons.menuModeIsStatic$ | async) || (mngCommons.menuModeIsSlim$ | async) || (mngCommons.menuModeIsSidebar$ | async))\n \"\n [mngComponent]=\"menuComponent\">\n </ng-container>\n\n <div class=\"layout-main-content\">\n <router-outlet></router-outlet>\n </div>\n\n <ng-container [mngComponent]=\"footerComponent\"></ng-container>\n </div>\n</div>\n" }]
47
- }], ctorParameters: function () { return [{ type: i1.ActivatedRoute }, { type: i2.MngCommonsService }, { type: i3.MngMainLayoutComponentService }, { type: undefined, decorators: [{
46
+ args: [{ standalone: true, selector: 'mng-main-layout', providers: [MngMainLayoutComponentService], imports: [NgClass, AsyncPipe, MngComponentDirective, RouterOutlet], changeDetection: ChangeDetectionStrategy.OnPush, template: "<div\n class=\"layout-wrapper\"\n (click)=\"mainLayoutService.onLayoutClick()\"\n [ngClass]=\"{\n 'layout-static': mngCommons.menuModeIsStatic$ | async,\n 'layout-overlay': mngCommons.menuModeIsOverlay$ | async,\n 'layout-slim': mngCommons.menuModeIsSlim$ | async,\n 'layout-sidebar': mngCommons.menuModeIsSidebar$ | async,\n 'layout-sidebar-static': (mngCommons.menuModeIsSidebar$ | async) && (mainLayoutService.sidebarStatic$ | async),\n 'layout-overlay-active': mainLayoutService.overlayMenuActive$ | async,\n 'layout-mobile-active': mainLayoutService.staticMenuMobileActive$ | async,\n 'layout-static-inactive': (mainLayoutService.staticMenuDesktopInactive$ | async) && (mngCommons.menuModeIsStatic$ | async)\n }\">\n <div class=\"layout-main\">\n <ng-container [mngComponent]=\"topbarComponent\"></ng-container>\n\n @if (\n (mainLayoutService.isMobile$ | async) === false &&\n ((mngCommons.menuModeIsStatic$ | async) || (mngCommons.menuModeIsSlim$ | async) || (mngCommons.menuModeIsSidebar$ | async))\n ) {\n <ng-container [mngComponent]=\"menuComponent\"> </ng-container>\n }\n\n <div class=\"layout-main-content\">\n <router-outlet></router-outlet>\n </div>\n\n <ng-container [mngComponent]=\"footerComponent\"></ng-container>\n </div>\n</div>\n" }]
47
+ }], ctorParameters: () => [{ type: i1.ActivatedRoute }, { type: i2.MngCommonsService }, { type: i3.MngMainLayoutComponentService }, { type: undefined, decorators: [{
48
48
  type: Inject,
49
49
  args: [MNG_MODULE_CONFIG_IT]
50
- }] }]; }, propDecorators: { templates: [{
50
+ }] }], propDecorators: { templates: [{
51
51
  type: ViewChildren,
52
52
  args: [MngTemplateDirective]
53
53
  }], onWindowResize: [{
54
54
  type: HostListener,
55
55
  args: ['window:resize', ['$event']]
56
56
  }] } });
57
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWFpbi1sYXlvdXQuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vc3JjL2xpYi9jb21wb25lbnRzL2xheW91dC9tYWluLWxheW91dC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi9zcmMvbGliL2NvbXBvbmVudHMvbGF5b3V0L21haW4tbGF5b3V0LmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBQyxTQUFTLEVBQUUsT0FBTyxFQUFFLElBQUksRUFBQyxNQUFNLGlCQUFpQixDQUFDO0FBQ3pELE9BQU8sRUFBQyx1QkFBdUIsRUFBRSxTQUFTLEVBQUUsWUFBWSxFQUFFLE1BQU0sRUFBVSxTQUFTLEVBQVEsWUFBWSxFQUFDLE1BQU0sZUFBZSxDQUFDO0FBQzlILE9BQU8sRUFBQyxjQUFjLEVBQUUsWUFBWSxFQUFDLE1BQU0saUJBQWlCLENBQUM7QUFFN0QsT0FBTyxFQUFDLHFCQUFxQixFQUFFLG9CQUFvQixFQUFDLE1BQU0sa0JBQWtCLENBQUM7QUFFN0UsT0FBTyxFQUFDLGlCQUFpQixFQUFDLE1BQU0sZ0JBQWdCLENBQUM7QUFDakQsT0FBTyxFQUFDLG9CQUFvQixFQUFDLE1BQU0sdUJBQXVCLENBQUM7QUFDM0QsT0FBTyxFQUFDLGtCQUFrQixFQUFDLE1BQU0sb0JBQW9CLENBQUM7QUFDdEQsT0FBTyxFQUFDLGdCQUFnQixFQUFDLE1BQU0sa0JBQWtCLENBQUM7QUFDbEQsT0FBTyxFQUFDLDZCQUE2QixFQUFDLE1BQU0sWUFBWSxDQUFDO0FBQ3pELE9BQU8sRUFBQyxrQkFBa0IsRUFBQyxNQUFNLG9CQUFvQixDQUFDOzs7OztBQVV0RCxNQUFNLE9BQU8sc0JBQXNCO0lBTy9CLFlBQ1ksS0FBcUIsRUFDdEIsVUFBNkIsRUFDN0IsaUJBQWdELEVBQ2pCLE1BQXVCO1FBSHJELFVBQUssR0FBTCxLQUFLLENBQWdCO1FBQ3RCLGVBQVUsR0FBVixVQUFVLENBQW1CO1FBQzdCLHNCQUFpQixHQUFqQixpQkFBaUIsQ0FBK0I7UUFDakIsV0FBTSxHQUFOLE1BQU0sQ0FBaUI7UUFSMUQsb0JBQWUsR0FBYyxrQkFBa0IsQ0FBQztRQUNoRCxrQkFBYSxHQUFjLGdCQUFnQixDQUFDO1FBQzVDLG9CQUFlLEdBQWMsa0JBQWtCLENBQUM7SUFPcEQsQ0FBQztJQUVKLFFBQVE7UUFDSixJQUFJLElBQUksQ0FBQyxNQUFNLENBQUMsVUFBVSxFQUFFLE1BQU0sRUFBRSxNQUFNLEVBQUU7WUFDeEMsSUFBSSxDQUFDLGVBQWUsR0FBRyxJQUFJLENBQUMsTUFBTSxDQUFDLFVBQVUsQ0FBQyxNQUFNLENBQUMsTUFBTSxDQUFDO1NBQy9EO1FBQ0QsSUFBSSxJQUFJLENBQUMsTUFBTSxDQUFDLFVBQVUsRUFBRSxNQUFNLEVBQUUsSUFBSSxFQUFFO1lBQ3RDLElBQUksQ0FBQyxhQUFhLEdBQUcsSUFBSSxDQUFDLE1BQU0sQ0FBQyxVQUFVLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQztTQUMzRDtRQUNELElBQUksSUFBSSxDQUFDLE1BQU0sQ0FBQyxVQUFVLEVBQUUsTUFBTSxFQUFFLE1BQU0sRUFBRTtZQUN4QyxJQUFJLENBQUMsZUFBZSxHQUFHLElBQUksQ0FBQyxNQUFNLENBQUMsVUFBVSxDQUFDLE1BQU0sQ0FBQyxNQUFNLENBQUM7U0FDL0Q7UUFFRCxJQUFJLENBQUMsaUJBQWlCLENBQUMsVUFBVSxHQUFHLE1BQU0sQ0FBQyxVQUFVLENBQUM7SUFDMUQsQ0FBQztJQUdELGNBQWMsQ0FBQyxLQUFjO1FBQ3pCLE1BQU0sTUFBTSxHQUFRLEtBQUssQ0FBQyxNQUFNLENBQUM7UUFDakMsSUFBSSxDQUFDLGlCQUFpQixDQUFDLFVBQVUsR0FBRyxNQUFNLEVBQUUsVUFBVSxJQUFJLE1BQU0sQ0FBQyxVQUFVLENBQUM7SUFDaEYsQ0FBQzs4R0FoQ1Esc0JBQXNCLDhIQVduQixvQkFBb0I7a0dBWHZCLHNCQUFzQixrSUFKcEIsQ0FBQyw2QkFBNkIsQ0FBQyx3REFLNUIsb0JBQW9CLGdEQ3RCdEMsczZDQStCQSw0Q0RiYyxPQUFPLCtFQUFFLFNBQVMsOENBQUUscUJBQXFCLDZJQUFFLElBQUksNkZBQUUsWUFBWTs7MkZBRzlELHNCQUFzQjtrQkFSbEMsU0FBUztpQ0FDTSxJQUFJLFlBQ04saUJBQWlCLGFBRWhCLENBQUMsNkJBQTZCLENBQUMsV0FDakMsQ0FBQyxPQUFPLEVBQUUsU0FBUyxFQUFFLHFCQUFxQixFQUFFLElBQUksRUFBRSxZQUFZLENBQUMsbUJBQ3ZELHVCQUF1QixDQUFDLE1BQU07OzBCQWExQyxNQUFNOzJCQUFDLG9CQUFvQjs0Q0FWSSxTQUFTO3NCQUE1QyxZQUFZO3VCQUFDLG9CQUFvQjtnQkE0QmxDLGNBQWM7c0JBRGIsWUFBWTt1QkFBQyxlQUFlLEVBQUUsQ0FBQyxRQUFRLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0FzeW5jUGlwZSwgTmdDbGFzcywgTmdJZn0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7Q2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksIENvbXBvbmVudCwgSG9zdExpc3RlbmVyLCBJbmplY3QsIE9uSW5pdCwgUXVlcnlMaXN0LCBUeXBlLCBWaWV3Q2hpbGRyZW59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtBY3RpdmF0ZWRSb3V0ZSwgUm91dGVyT3V0bGV0fSBmcm9tICdAYW5ndWxhci9yb3V0ZXInO1xuXG5pbXBvcnQge01uZ0NvbXBvbmVudERpcmVjdGl2ZSwgTW5nVGVtcGxhdGVEaXJlY3RpdmV9IGZyb20gJy4uLy4uL2RpcmVjdGl2ZXMnO1xuaW1wb3J0IHtNbmdNb2R1bGVDb25maWd9IGZyb20gJy4uLy4uL21vZGVscyc7XG5pbXBvcnQge01uZ0NvbW1vbnNTZXJ2aWNlfSBmcm9tICcuLi8uLi9zZXJ2aWNlcyc7XG5pbXBvcnQge01OR19NT0RVTEVfQ09ORklHX0lUfSBmcm9tICcuLi8uLi9zZXJ2aWNlcy90b2tlbnMnO1xuaW1wb3J0IHtNbmdGb290ZXJDb21wb25lbnR9IGZyb20gJy4vZm9vdGVyLmNvbXBvbmVudCc7XG5pbXBvcnQge01uZ01lbnVDb21wb25lbnR9IGZyb20gJy4vbWVudS5jb21wb25lbnQnO1xuaW1wb3J0IHtNbmdNYWluTGF5b3V0Q29tcG9uZW50U2VydmljZX0gZnJvbSAnLi9zZXJ2aWNlcyc7XG5pbXBvcnQge01uZ1RvcGJhckNvbXBvbmVudH0gZnJvbSAnLi90b3BiYXIuY29tcG9uZW50JztcblxuQENvbXBvbmVudCh7XG4gICAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgICBzZWxlY3RvcjogJ21uZy1tYWluLWxheW91dCcsXG4gICAgdGVtcGxhdGVVcmw6ICcuL21haW4tbGF5b3V0LmNvbXBvbmVudC5odG1sJyxcbiAgICBwcm92aWRlcnM6IFtNbmdNYWluTGF5b3V0Q29tcG9uZW50U2VydmljZV0sXG4gICAgaW1wb3J0czogW05nQ2xhc3MsIEFzeW5jUGlwZSwgTW5nQ29tcG9uZW50RGlyZWN0aXZlLCBOZ0lmLCBSb3V0ZXJPdXRsZXRdLFxuICAgIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoXG59KVxuZXhwb3J0IGNsYXNzIE1uZ01haW5MYXlvdXRDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xuICAgIEBWaWV3Q2hpbGRyZW4oTW5nVGVtcGxhdGVEaXJlY3RpdmUpIHRlbXBsYXRlcyE6IFF1ZXJ5TGlzdDxNbmdUZW1wbGF0ZURpcmVjdGl2ZT47XG5cbiAgICBwdWJsaWMgdG9wYmFyQ29tcG9uZW50OiBUeXBlPGFueT4gPSBNbmdUb3BiYXJDb21wb25lbnQ7XG4gICAgcHVibGljIG1lbnVDb21wb25lbnQ6IFR5cGU8YW55PiA9IE1uZ01lbnVDb21wb25lbnQ7XG4gICAgcHVibGljIGZvb3RlckNvbXBvbmVudDogVHlwZTxhbnk+ID0gTW5nRm9vdGVyQ29tcG9uZW50O1xuXG4gICAgY29uc3RydWN0b3IoXG4gICAgICAgIHByaXZhdGUgcm91dGU6IEFjdGl2YXRlZFJvdXRlLFxuICAgICAgICBwdWJsaWMgbW5nQ29tbW9uczogTW5nQ29tbW9uc1NlcnZpY2UsXG4gICAgICAgIHB1YmxpYyBtYWluTGF5b3V0U2VydmljZTogTW5nTWFpbkxheW91dENvbXBvbmVudFNlcnZpY2UsXG4gICAgICAgIEBJbmplY3QoTU5HX01PRFVMRV9DT05GSUdfSVQpIHByaXZhdGUgY29uZmlnOiBNbmdNb2R1bGVDb25maWdcbiAgICApIHt9XG5cbiAgICBuZ09uSW5pdCgpIHtcbiAgICAgICAgaWYgKHRoaXMuY29uZmlnLmNvbXBvbmVudHM/LmxheW91dD8udG9wYmFyKSB7XG4gICAgICAgICAgICB0aGlzLnRvcGJhckNvbXBvbmVudCA9IHRoaXMuY29uZmlnLmNvbXBvbmVudHMubGF5b3V0LnRvcGJhcjtcbiAgICAgICAgfVxuICAgICAgICBpZiAodGhpcy5jb25maWcuY29tcG9uZW50cz8ubGF5b3V0Py5tZW51KSB7XG4gICAgICAgICAgICB0aGlzLm1lbnVDb21wb25lbnQgPSB0aGlzLmNvbmZpZy5jb21wb25lbnRzLmxheW91dC5tZW51O1xuICAgICAgICB9XG4gICAgICAgIGlmICh0aGlzLmNvbmZpZy5jb21wb25lbnRzPy5sYXlvdXQ/LmZvb3Rlcikge1xuICAgICAgICAgICAgdGhpcy5mb290ZXJDb21wb25lbnQgPSB0aGlzLmNvbmZpZy5jb21wb25lbnRzLmxheW91dC5mb290ZXI7XG4gICAgICAgIH1cblxuICAgICAgICB0aGlzLm1haW5MYXlvdXRTZXJ2aWNlLmlubmVyV2lkdGggPSB3aW5kb3cuaW5uZXJXaWR0aDtcbiAgICB9XG5cbiAgICBASG9zdExpc3RlbmVyKCd3aW5kb3c6cmVzaXplJywgWyckZXZlbnQnXSlcbiAgICBvbldpbmRvd1Jlc2l6ZShldmVudDogVUlFdmVudCkge1xuICAgICAgICBjb25zdCB0YXJnZXQ6IGFueSA9IGV2ZW50LnRhcmdldDtcbiAgICAgICAgdGhpcy5tYWluTGF5b3V0U2VydmljZS5pbm5lcldpZHRoID0gdGFyZ2V0Py5pbm5lcldpZHRoID8/IHdpbmRvdy5pbm5lcldpZHRoO1xuICAgIH1cbn1cbiIsIjxkaXZcbiAgICBjbGFzcz1cImxheW91dC13cmFwcGVyXCJcbiAgICAoY2xpY2spPVwibWFpbkxheW91dFNlcnZpY2Uub25MYXlvdXRDbGljaygpXCJcbiAgICBbbmdDbGFzc109XCJ7XG4gICAgICAgICdsYXlvdXQtc3RhdGljJzogbW5nQ29tbW9ucy5tZW51TW9kZUlzU3RhdGljJCB8IGFzeW5jLFxuICAgICAgICAnbGF5b3V0LW92ZXJsYXknOiBtbmdDb21tb25zLm1lbnVNb2RlSXNPdmVybGF5JCB8IGFzeW5jLFxuICAgICAgICAnbGF5b3V0LXNsaW0nOiBtbmdDb21tb25zLm1lbnVNb2RlSXNTbGltJCB8IGFzeW5jLFxuICAgICAgICAnbGF5b3V0LXNpZGViYXInOiBtbmdDb21tb25zLm1lbnVNb2RlSXNTaWRlYmFyJCB8IGFzeW5jLFxuICAgICAgICAnbGF5b3V0LXNpZGViYXItc3RhdGljJzogKG1uZ0NvbW1vbnMubWVudU1vZGVJc1NpZGViYXIkIHwgYXN5bmMpICYmIChtYWluTGF5b3V0U2VydmljZS5zaWRlYmFyU3RhdGljJCB8IGFzeW5jKSxcbiAgICAgICAgJ2xheW91dC1vdmVybGF5LWFjdGl2ZSc6IG1haW5MYXlvdXRTZXJ2aWNlLm92ZXJsYXlNZW51QWN0aXZlJCB8IGFzeW5jLFxuICAgICAgICAnbGF5b3V0LW1vYmlsZS1hY3RpdmUnOiBtYWluTGF5b3V0U2VydmljZS5zdGF0aWNNZW51TW9iaWxlQWN0aXZlJCB8IGFzeW5jLFxuICAgICAgICAnbGF5b3V0LXN0YXRpYy1pbmFjdGl2ZSc6IChtYWluTGF5b3V0U2VydmljZS5zdGF0aWNNZW51RGVza3RvcEluYWN0aXZlJCB8IGFzeW5jKSAmJiAobW5nQ29tbW9ucy5tZW51TW9kZUlzU3RhdGljJCB8IGFzeW5jKVxuICAgIH1cIj5cbiAgICA8ZGl2IGNsYXNzPVwibGF5b3V0LW1haW5cIj5cbiAgICAgICAgPG5nLWNvbnRhaW5lciBbbW5nQ29tcG9uZW50XT1cInRvcGJhckNvbXBvbmVudFwiPjwvbmctY29udGFpbmVyPlxuXG4gICAgICAgIDxuZy1jb250YWluZXJcbiAgICAgICAgICAgICpuZ0lmPVwiXG4gICAgICAgICAgICAgICAgKG1haW5MYXlvdXRTZXJ2aWNlLmlzTW9iaWxlJCB8IGFzeW5jKSA9PT0gZmFsc2UgJiZcbiAgICAgICAgICAgICAgICAoKG1uZ0NvbW1vbnMubWVudU1vZGVJc1N0YXRpYyQgfCBhc3luYykgfHwgKG1uZ0NvbW1vbnMubWVudU1vZGVJc1NsaW0kIHwgYXN5bmMpIHx8IChtbmdDb21tb25zLm1lbnVNb2RlSXNTaWRlYmFyJCB8IGFzeW5jKSlcbiAgICAgICAgICAgIFwiXG4gICAgICAgICAgICBbbW5nQ29tcG9uZW50XT1cIm1lbnVDb21wb25lbnRcIj5cbiAgICAgICAgPC9uZy1jb250YWluZXI+XG5cbiAgICAgICAgPGRpdiBjbGFzcz1cImxheW91dC1tYWluLWNvbnRlbnRcIj5cbiAgICAgICAgICAgIDxyb3V0ZXItb3V0bGV0Pjwvcm91dGVyLW91dGxldD5cbiAgICAgICAgPC9kaXY+XG5cbiAgICAgICAgPG5nLWNvbnRhaW5lciBbbW5nQ29tcG9uZW50XT1cImZvb3RlckNvbXBvbmVudFwiPjwvbmctY29udGFpbmVyPlxuICAgIDwvZGl2PlxuPC9kaXY+XG4iXX0=
57
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWFpbi1sYXlvdXQuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vc3JjL2xpYi9jb21wb25lbnRzL2xheW91dC9tYWluLWxheW91dC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi9zcmMvbGliL2NvbXBvbmVudHMvbGF5b3V0L21haW4tbGF5b3V0LmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBQyxTQUFTLEVBQUUsT0FBTyxFQUFDLE1BQU0saUJBQWlCLENBQUM7QUFDbkQsT0FBTyxFQUFDLHVCQUF1QixFQUFFLFNBQVMsRUFBRSxZQUFZLEVBQUUsTUFBTSxFQUFVLFNBQVMsRUFBUSxZQUFZLEVBQUMsTUFBTSxlQUFlLENBQUM7QUFDOUgsT0FBTyxFQUFDLGNBQWMsRUFBRSxZQUFZLEVBQUMsTUFBTSxpQkFBaUIsQ0FBQztBQUU3RCxPQUFPLEVBQUMscUJBQXFCLEVBQUUsb0JBQW9CLEVBQUMsTUFBTSxrQkFBa0IsQ0FBQztBQUU3RSxPQUFPLEVBQUMsaUJBQWlCLEVBQUMsTUFBTSxnQkFBZ0IsQ0FBQztBQUNqRCxPQUFPLEVBQUMsb0JBQW9CLEVBQUMsTUFBTSx1QkFBdUIsQ0FBQztBQUMzRCxPQUFPLEVBQUMsa0JBQWtCLEVBQUMsTUFBTSxvQkFBb0IsQ0FBQztBQUN0RCxPQUFPLEVBQUMsZ0JBQWdCLEVBQUMsTUFBTSxrQkFBa0IsQ0FBQztBQUNsRCxPQUFPLEVBQUMsNkJBQTZCLEVBQUMsTUFBTSxZQUFZLENBQUM7QUFDekQsT0FBTyxFQUFDLGtCQUFrQixFQUFDLE1BQU0sb0JBQW9CLENBQUM7Ozs7O0FBVXRELE1BQU0sT0FBTyxzQkFBc0I7SUFPL0IsWUFDWSxLQUFxQixFQUN0QixVQUE2QixFQUM3QixpQkFBZ0QsRUFDakIsTUFBdUI7UUFIckQsVUFBSyxHQUFMLEtBQUssQ0FBZ0I7UUFDdEIsZUFBVSxHQUFWLFVBQVUsQ0FBbUI7UUFDN0Isc0JBQWlCLEdBQWpCLGlCQUFpQixDQUErQjtRQUNqQixXQUFNLEdBQU4sTUFBTSxDQUFpQjtRQVIxRCxvQkFBZSxHQUFjLGtCQUFrQixDQUFDO1FBQ2hELGtCQUFhLEdBQWMsZ0JBQWdCLENBQUM7UUFDNUMsb0JBQWUsR0FBYyxrQkFBa0IsQ0FBQztJQU9wRCxDQUFDO0lBRUosUUFBUTtRQUNKLElBQUksSUFBSSxDQUFDLE1BQU0sQ0FBQyxVQUFVLEVBQUUsTUFBTSxFQUFFLE1BQU0sRUFBRTtZQUN4QyxJQUFJLENBQUMsZUFBZSxHQUFHLElBQUksQ0FBQyxNQUFNLENBQUMsVUFBVSxDQUFDLE1BQU0sQ0FBQyxNQUFNLENBQUM7U0FDL0Q7UUFDRCxJQUFJLElBQUksQ0FBQyxNQUFNLENBQUMsVUFBVSxFQUFFLE1BQU0sRUFBRSxJQUFJLEVBQUU7WUFDdEMsSUFBSSxDQUFDLGFBQWEsR0FBRyxJQUFJLENBQUMsTUFBTSxDQUFDLFVBQVUsQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDO1NBQzNEO1FBQ0QsSUFBSSxJQUFJLENBQUMsTUFBTSxDQUFDLFVBQVUsRUFBRSxNQUFNLEVBQUUsTUFBTSxFQUFFO1lBQ3hDLElBQUksQ0FBQyxlQUFlLEdBQUcsSUFBSSxDQUFDLE1BQU0sQ0FBQyxVQUFVLENBQUMsTUFBTSxDQUFDLE1BQU0sQ0FBQztTQUMvRDtRQUVELElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxVQUFVLEdBQUcsTUFBTSxDQUFDLFVBQVUsQ0FBQztJQUMxRCxDQUFDO0lBR0QsY0FBYyxDQUFDLEtBQWM7UUFDekIsTUFBTSxNQUFNLEdBQVEsS0FBSyxDQUFDLE1BQU0sQ0FBQztRQUNqQyxJQUFJLENBQUMsaUJBQWlCLENBQUMsVUFBVSxHQUFHLE1BQU0sRUFBRSxVQUFVLElBQUksTUFBTSxDQUFDLFVBQVUsQ0FBQztJQUNoRixDQUFDOzhHQWhDUSxzQkFBc0IsOEhBV25CLG9CQUFvQjtrR0FYdkIsc0JBQXNCLGtJQUpwQixDQUFDLDZCQUE2QixDQUFDLHdEQUs1QixvQkFBb0IsZ0RDdEJ0Qyw2NENBOEJBLDRDRFpjLE9BQU8sK0VBQUUsU0FBUyw4Q0FBRSxxQkFBcUIsNklBQUUsWUFBWTs7MkZBR3hELHNCQUFzQjtrQkFSbEMsU0FBUztpQ0FDTSxJQUFJLFlBQ04saUJBQWlCLGFBRWhCLENBQUMsNkJBQTZCLENBQUMsV0FDakMsQ0FBQyxPQUFPLEVBQUUsU0FBUyxFQUFFLHFCQUFxQixFQUFFLFlBQVksQ0FBQyxtQkFDakQsdUJBQXVCLENBQUMsTUFBTTs7MEJBYTFDLE1BQU07MkJBQUMsb0JBQW9CO3lDQVZJLFNBQVM7c0JBQTVDLFlBQVk7dUJBQUMsb0JBQW9CO2dCQTRCbEMsY0FBYztzQkFEYixZQUFZO3VCQUFDLGVBQWUsRUFBRSxDQUFDLFFBQVEsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7QXN5bmNQaXBlLCBOZ0NsYXNzfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHtDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSwgQ29tcG9uZW50LCBIb3N0TGlzdGVuZXIsIEluamVjdCwgT25Jbml0LCBRdWVyeUxpc3QsIFR5cGUsIFZpZXdDaGlsZHJlbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge0FjdGl2YXRlZFJvdXRlLCBSb3V0ZXJPdXRsZXR9IGZyb20gJ0Bhbmd1bGFyL3JvdXRlcic7XG5cbmltcG9ydCB7TW5nQ29tcG9uZW50RGlyZWN0aXZlLCBNbmdUZW1wbGF0ZURpcmVjdGl2ZX0gZnJvbSAnLi4vLi4vZGlyZWN0aXZlcyc7XG5pbXBvcnQge01uZ01vZHVsZUNvbmZpZ30gZnJvbSAnLi4vLi4vbW9kZWxzJztcbmltcG9ydCB7TW5nQ29tbW9uc1NlcnZpY2V9IGZyb20gJy4uLy4uL3NlcnZpY2VzJztcbmltcG9ydCB7TU5HX01PRFVMRV9DT05GSUdfSVR9IGZyb20gJy4uLy4uL3NlcnZpY2VzL3Rva2Vucyc7XG5pbXBvcnQge01uZ0Zvb3RlckNvbXBvbmVudH0gZnJvbSAnLi9mb290ZXIuY29tcG9uZW50JztcbmltcG9ydCB7TW5nTWVudUNvbXBvbmVudH0gZnJvbSAnLi9tZW51LmNvbXBvbmVudCc7XG5pbXBvcnQge01uZ01haW5MYXlvdXRDb21wb25lbnRTZXJ2aWNlfSBmcm9tICcuL3NlcnZpY2VzJztcbmltcG9ydCB7TW5nVG9wYmFyQ29tcG9uZW50fSBmcm9tICcuL3RvcGJhci5jb21wb25lbnQnO1xuXG5AQ29tcG9uZW50KHtcbiAgICBzdGFuZGFsb25lOiB0cnVlLFxuICAgIHNlbGVjdG9yOiAnbW5nLW1haW4tbGF5b3V0JyxcbiAgICB0ZW1wbGF0ZVVybDogJy4vbWFpbi1sYXlvdXQuY29tcG9uZW50Lmh0bWwnLFxuICAgIHByb3ZpZGVyczogW01uZ01haW5MYXlvdXRDb21wb25lbnRTZXJ2aWNlXSxcbiAgICBpbXBvcnRzOiBbTmdDbGFzcywgQXN5bmNQaXBlLCBNbmdDb21wb25lbnREaXJlY3RpdmUsIFJvdXRlck91dGxldF0sXG4gICAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2hcbn0pXG5leHBvcnQgY2xhc3MgTW5nTWFpbkxheW91dENvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XG4gICAgQFZpZXdDaGlsZHJlbihNbmdUZW1wbGF0ZURpcmVjdGl2ZSkgdGVtcGxhdGVzITogUXVlcnlMaXN0PE1uZ1RlbXBsYXRlRGlyZWN0aXZlPjtcblxuICAgIHB1YmxpYyB0b3BiYXJDb21wb25lbnQ6IFR5cGU8YW55PiA9IE1uZ1RvcGJhckNvbXBvbmVudDtcbiAgICBwdWJsaWMgbWVudUNvbXBvbmVudDogVHlwZTxhbnk+ID0gTW5nTWVudUNvbXBvbmVudDtcbiAgICBwdWJsaWMgZm9vdGVyQ29tcG9uZW50OiBUeXBlPGFueT4gPSBNbmdGb290ZXJDb21wb25lbnQ7XG5cbiAgICBjb25zdHJ1Y3RvcihcbiAgICAgICAgcHJpdmF0ZSByb3V0ZTogQWN0aXZhdGVkUm91dGUsXG4gICAgICAgIHB1YmxpYyBtbmdDb21tb25zOiBNbmdDb21tb25zU2VydmljZSxcbiAgICAgICAgcHVibGljIG1haW5MYXlvdXRTZXJ2aWNlOiBNbmdNYWluTGF5b3V0Q29tcG9uZW50U2VydmljZSxcbiAgICAgICAgQEluamVjdChNTkdfTU9EVUxFX0NPTkZJR19JVCkgcHJpdmF0ZSBjb25maWc6IE1uZ01vZHVsZUNvbmZpZ1xuICAgICkge31cblxuICAgIG5nT25Jbml0KCkge1xuICAgICAgICBpZiAodGhpcy5jb25maWcuY29tcG9uZW50cz8ubGF5b3V0Py50b3BiYXIpIHtcbiAgICAgICAgICAgIHRoaXMudG9wYmFyQ29tcG9uZW50ID0gdGhpcy5jb25maWcuY29tcG9uZW50cy5sYXlvdXQudG9wYmFyO1xuICAgICAgICB9XG4gICAgICAgIGlmICh0aGlzLmNvbmZpZy5jb21wb25lbnRzPy5sYXlvdXQ/Lm1lbnUpIHtcbiAgICAgICAgICAgIHRoaXMubWVudUNvbXBvbmVudCA9IHRoaXMuY29uZmlnLmNvbXBvbmVudHMubGF5b3V0Lm1lbnU7XG4gICAgICAgIH1cbiAgICAgICAgaWYgKHRoaXMuY29uZmlnLmNvbXBvbmVudHM/LmxheW91dD8uZm9vdGVyKSB7XG4gICAgICAgICAgICB0aGlzLmZvb3RlckNvbXBvbmVudCA9IHRoaXMuY29uZmlnLmNvbXBvbmVudHMubGF5b3V0LmZvb3RlcjtcbiAgICAgICAgfVxuXG4gICAgICAgIHRoaXMubWFpbkxheW91dFNlcnZpY2UuaW5uZXJXaWR0aCA9IHdpbmRvdy5pbm5lcldpZHRoO1xuICAgIH1cblxuICAgIEBIb3N0TGlzdGVuZXIoJ3dpbmRvdzpyZXNpemUnLCBbJyRldmVudCddKVxuICAgIG9uV2luZG93UmVzaXplKGV2ZW50OiBVSUV2ZW50KSB7XG4gICAgICAgIGNvbnN0IHRhcmdldDogYW55ID0gZXZlbnQudGFyZ2V0O1xuICAgICAgICB0aGlzLm1haW5MYXlvdXRTZXJ2aWNlLmlubmVyV2lkdGggPSB0YXJnZXQ/LmlubmVyV2lkdGggPz8gd2luZG93LmlubmVyV2lkdGg7XG4gICAgfVxufVxuIiwiPGRpdlxuICAgIGNsYXNzPVwibGF5b3V0LXdyYXBwZXJcIlxuICAgIChjbGljayk9XCJtYWluTGF5b3V0U2VydmljZS5vbkxheW91dENsaWNrKClcIlxuICAgIFtuZ0NsYXNzXT1cIntcbiAgICAgICAgJ2xheW91dC1zdGF0aWMnOiBtbmdDb21tb25zLm1lbnVNb2RlSXNTdGF0aWMkIHwgYXN5bmMsXG4gICAgICAgICdsYXlvdXQtb3ZlcmxheSc6IG1uZ0NvbW1vbnMubWVudU1vZGVJc092ZXJsYXkkIHwgYXN5bmMsXG4gICAgICAgICdsYXlvdXQtc2xpbSc6IG1uZ0NvbW1vbnMubWVudU1vZGVJc1NsaW0kIHwgYXN5bmMsXG4gICAgICAgICdsYXlvdXQtc2lkZWJhcic6IG1uZ0NvbW1vbnMubWVudU1vZGVJc1NpZGViYXIkIHwgYXN5bmMsXG4gICAgICAgICdsYXlvdXQtc2lkZWJhci1zdGF0aWMnOiAobW5nQ29tbW9ucy5tZW51TW9kZUlzU2lkZWJhciQgfCBhc3luYykgJiYgKG1haW5MYXlvdXRTZXJ2aWNlLnNpZGViYXJTdGF0aWMkIHwgYXN5bmMpLFxuICAgICAgICAnbGF5b3V0LW92ZXJsYXktYWN0aXZlJzogbWFpbkxheW91dFNlcnZpY2Uub3ZlcmxheU1lbnVBY3RpdmUkIHwgYXN5bmMsXG4gICAgICAgICdsYXlvdXQtbW9iaWxlLWFjdGl2ZSc6IG1haW5MYXlvdXRTZXJ2aWNlLnN0YXRpY01lbnVNb2JpbGVBY3RpdmUkIHwgYXN5bmMsXG4gICAgICAgICdsYXlvdXQtc3RhdGljLWluYWN0aXZlJzogKG1haW5MYXlvdXRTZXJ2aWNlLnN0YXRpY01lbnVEZXNrdG9wSW5hY3RpdmUkIHwgYXN5bmMpICYmIChtbmdDb21tb25zLm1lbnVNb2RlSXNTdGF0aWMkIHwgYXN5bmMpXG4gICAgfVwiPlxuICAgIDxkaXYgY2xhc3M9XCJsYXlvdXQtbWFpblwiPlxuICAgICAgICA8bmctY29udGFpbmVyIFttbmdDb21wb25lbnRdPVwidG9wYmFyQ29tcG9uZW50XCI+PC9uZy1jb250YWluZXI+XG5cbiAgICAgICAgQGlmIChcbiAgICAgICAgICAgIChtYWluTGF5b3V0U2VydmljZS5pc01vYmlsZSQgfCBhc3luYykgPT09IGZhbHNlICYmXG4gICAgICAgICAgICAoKG1uZ0NvbW1vbnMubWVudU1vZGVJc1N0YXRpYyQgfCBhc3luYykgfHwgKG1uZ0NvbW1vbnMubWVudU1vZGVJc1NsaW0kIHwgYXN5bmMpIHx8IChtbmdDb21tb25zLm1lbnVNb2RlSXNTaWRlYmFyJCB8IGFzeW5jKSlcbiAgICAgICAgKSB7XG4gICAgICAgICAgICA8bmctY29udGFpbmVyIFttbmdDb21wb25lbnRdPVwibWVudUNvbXBvbmVudFwiPiA8L25nLWNvbnRhaW5lcj5cbiAgICAgICAgfVxuXG4gICAgICAgIDxkaXYgY2xhc3M9XCJsYXlvdXQtbWFpbi1jb250ZW50XCI+XG4gICAgICAgICAgICA8cm91dGVyLW91dGxldD48L3JvdXRlci1vdXRsZXQ+XG4gICAgICAgIDwvZGl2PlxuXG4gICAgICAgIDxuZy1jb250YWluZXIgW21uZ0NvbXBvbmVudF09XCJmb290ZXJDb21wb25lbnRcIj48L25nLWNvbnRhaW5lcj5cbiAgICA8L2Rpdj5cbjwvZGl2PlxuIl19