@abp/ng.theme.shared 7.2.1 → 7.3.0-rc.1

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 (314) hide show
  1. package/{esm2020 → esm2022}/abp-ng.theme.shared.mjs +4 -4
  2. package/{esm2020 → esm2022}/extensions/abp-ng.theme.shared-extensions.mjs +4 -4
  3. package/esm2022/extensions/lib/adapters/date-time.adapter.mjs +45 -0
  4. package/esm2022/extensions/lib/adapters/date.adapter.mjs +42 -0
  5. package/esm2022/extensions/lib/adapters/time.adapter.mjs +37 -0
  6. package/esm2022/extensions/lib/components/abstract-actions/abstract-actions.component.mjs +26 -0
  7. package/esm2022/extensions/lib/components/date-time-picker/date-time-picker.component.mjs +110 -0
  8. package/esm2022/extensions/lib/components/extensible-form/extensible-form-prop.component.mjs +199 -0
  9. package/esm2022/extensions/lib/components/extensible-form/extensible-form.component.mjs +74 -0
  10. package/esm2022/extensions/lib/components/extensible-table/extensible-table.component.mjs +136 -0
  11. package/esm2022/extensions/lib/components/grid-actions/grid-actions.component.mjs +40 -0
  12. package/esm2022/extensions/lib/components/page-toolbar/page-toolbar.component.mjs +39 -0
  13. package/{esm2020 → esm2022}/extensions/lib/constants/extra-properties.mjs +1 -1
  14. package/esm2022/extensions/lib/directives/disabled.directive.mjs +30 -0
  15. package/esm2022/extensions/lib/directives/prop-data.directive.mjs +42 -0
  16. package/{esm2020 → esm2022}/extensions/lib/enums/components.mjs +1 -1
  17. package/{esm2020 → esm2022}/extensions/lib/enums/props.enum.mjs +1 -1
  18. package/{esm2020 → esm2022}/extensions/lib/models/actions.mjs +46 -46
  19. package/{esm2020 → esm2022}/extensions/lib/models/entity-actions.mjs +28 -28
  20. package/{esm2020 → esm2022}/extensions/lib/models/entity-props.mjs +42 -42
  21. package/esm2022/extensions/lib/models/form-props.mjs +76 -0
  22. package/{esm2020 → esm2022}/extensions/lib/models/internal/object-extensions.mjs +2 -2
  23. package/{esm2020 → esm2022}/extensions/lib/models/object-extensions.mjs +2 -2
  24. package/esm2022/extensions/lib/models/props.mjs +54 -0
  25. package/{esm2020 → esm2022}/extensions/lib/models/toolbar-actions.mjs +43 -43
  26. package/esm2022/extensions/lib/pipes/create-injector.pipe.mjs +37 -0
  27. package/esm2022/extensions/lib/services/extensions.service.mjs +25 -0
  28. package/{esm2020 → esm2022}/extensions/lib/tokens/extensible-form-view-provider.token.mjs +2 -2
  29. package/{esm2020 → esm2022}/extensions/lib/tokens/extensions.token.mjs +11 -11
  30. package/esm2022/extensions/lib/ui-extensions.module.mjs +97 -0
  31. package/{esm2020 → esm2022}/extensions/lib/utils/actions.util.mjs +8 -8
  32. package/{esm2020 → esm2022}/extensions/lib/utils/enum.util.mjs +41 -41
  33. package/{esm2020 → esm2022}/extensions/lib/utils/factory.util.mjs +3 -3
  34. package/esm2022/extensions/lib/utils/form-props.util.mjs +51 -0
  35. package/{esm2020 → esm2022}/extensions/lib/utils/localization.util.mjs +12 -12
  36. package/{esm2020 → esm2022}/extensions/lib/utils/props.util.mjs +13 -13
  37. package/esm2022/extensions/lib/utils/state.util.mjs +126 -0
  38. package/{esm2020 → esm2022}/extensions/lib/utils/typeahead.util.mjs +51 -51
  39. package/{esm2020 → esm2022}/extensions/lib/utils/validation.util.mjs +10 -10
  40. package/{esm2020 → esm2022}/extensions/public-api.mjs +30 -30
  41. package/{esm2020 → esm2022}/lib/animations/bounce.animations.mjs +16 -16
  42. package/{esm2020 → esm2022}/lib/animations/collapse.animations.mjs +49 -49
  43. package/{esm2020 → esm2022}/lib/animations/fade.animations.mjs +37 -37
  44. package/{esm2020 → esm2022}/lib/animations/index.mjs +6 -6
  45. package/{esm2020 → esm2022}/lib/animations/modal.animations.mjs +10 -10
  46. package/{esm2020 → esm2022}/lib/animations/slide.animations.mjs +7 -7
  47. package/{esm2020 → esm2022}/lib/animations/toast.animations.mjs +12 -12
  48. package/esm2022/lib/components/breadcrumb/breadcrumb.component.mjs +44 -0
  49. package/esm2022/lib/components/breadcrumb-items/breadcrumb-items.component.mjs +20 -0
  50. package/esm2022/lib/components/button/button.component.mjs +103 -0
  51. package/{esm2020 → esm2022}/lib/components/card/card-body.component.mjs +27 -26
  52. package/esm2022/lib/components/card/card-footer.component.mjs +31 -0
  53. package/esm2022/lib/components/card/card-header.component.mjs +31 -0
  54. package/esm2022/lib/components/card/card-header.directive.mjs +20 -0
  55. package/esm2022/lib/components/card/card-img-top.directive.mjs +20 -0
  56. package/esm2022/lib/components/card/card-subtitle.directive.mjs +20 -0
  57. package/esm2022/lib/components/card/card-title.directive.mjs +20 -0
  58. package/esm2022/lib/components/card/card.component.mjs +24 -0
  59. package/esm2022/lib/components/card/card.module.mjs +50 -0
  60. package/{esm2020 → esm2022}/lib/components/card/index.mjs +9 -9
  61. package/esm2022/lib/components/checkbox/checkbox.component.mjs +89 -0
  62. package/esm2022/lib/components/confirmation/confirmation.component.mjs +46 -0
  63. package/esm2022/lib/components/form-input/form-input.component.mjs +95 -0
  64. package/esm2022/lib/components/http-error-wrapper/http-error-wrapper.component.mjs +60 -0
  65. package/{esm2020 → esm2022}/lib/components/index.mjs +16 -16
  66. package/esm2022/lib/components/loader-bar/loader-bar.component.mjs +122 -0
  67. package/esm2022/lib/components/loading/loading.component.mjs +20 -0
  68. package/esm2022/lib/components/modal/modal-close.directive.mjs +28 -0
  69. package/esm2022/lib/components/modal/modal-ref.service.mjs +27 -0
  70. package/esm2022/lib/components/modal/modal.component.mjs +190 -0
  71. package/esm2022/lib/components/password/password.component.mjs +39 -0
  72. package/esm2022/lib/components/toast/toast.component.mjs +56 -0
  73. package/esm2022/lib/components/toast-container/toast-container.component.mjs +59 -0
  74. package/{esm2020 → esm2022}/lib/constants/styles.mjs +1 -1
  75. package/{esm2020 → esm2022}/lib/constants/validation.mjs +19 -19
  76. package/esm2022/lib/directives/ellipsis.directive.mjs +65 -0
  77. package/{esm2020 → esm2022}/lib/directives/index.mjs +5 -5
  78. package/esm2022/lib/directives/loading.directive.mjs +90 -0
  79. package/esm2022/lib/directives/ngx-datatable-default.directive.mjs +76 -0
  80. package/esm2022/lib/directives/ngx-datatable-list.directive.mjs +95 -0
  81. package/esm2022/lib/directives/visible.directive.mjs +63 -0
  82. package/{esm2020 → esm2022}/lib/enums/form.mjs +5 -5
  83. package/{esm2020 → esm2022}/lib/enums/index.mjs +2 -2
  84. package/{esm2020 → esm2022}/lib/enums/route-names.mjs +1 -1
  85. package/esm2022/lib/handlers/document-dir.handler.mjs +32 -0
  86. package/esm2022/lib/handlers/error.handler.mjs +294 -0
  87. package/{esm2020 → esm2022}/lib/handlers/index.mjs +2 -2
  88. package/{esm2020 → esm2022}/lib/models/common.mjs +1 -1
  89. package/{esm2020 → esm2022}/lib/models/confirmation.mjs +9 -9
  90. package/{esm2020 → esm2022}/lib/models/index.mjs +7 -7
  91. package/{esm2020 → esm2022}/lib/models/nav-item.mjs +5 -5
  92. package/{esm2020 → esm2022}/lib/models/statistics.mjs +1 -1
  93. package/{esm2020 → esm2022}/lib/models/toaster.mjs +1 -1
  94. package/{esm2020 → esm2022}/lib/models/user-menu.mjs +3 -3
  95. package/{esm2020 → esm2022}/lib/models/validation.mjs +1 -1
  96. package/{esm2020 → esm2022}/lib/providers/index.mjs +2 -2
  97. package/{esm2020 → esm2022}/lib/providers/ng-bootstrap-config.provider.mjs +16 -16
  98. package/{esm2020 → esm2022}/lib/providers/route.provider.mjs +17 -17
  99. package/{esm2020 → esm2022}/lib/services/abstract-menu.service.mjs +49 -49
  100. package/esm2022/lib/services/confirmation.service.mjs +69 -0
  101. package/{esm2020 → esm2022}/lib/services/index.mjs +5 -5
  102. package/esm2022/lib/services/nav-items.service.mjs +18 -0
  103. package/esm2022/lib/services/page-alert.service.mjs +29 -0
  104. package/esm2022/lib/services/toaster.service.mjs +104 -0
  105. package/esm2022/lib/services/user-menu.service.mjs +18 -0
  106. package/esm2022/lib/theme-shared.module.mjs +202 -0
  107. package/{esm2020 → esm2022}/lib/tokens/append-content.token.mjs +10 -10
  108. package/{esm2020 → esm2022}/lib/tokens/confirmation-icons.token.mjs +10 -10
  109. package/{esm2020 → esm2022}/lib/tokens/http-error.token.mjs +13 -13
  110. package/{esm2020 → esm2022}/lib/tokens/index.mjs +4 -4
  111. package/{esm2020 → esm2022}/lib/tokens/ngx-datatable-messages.token.mjs +7 -7
  112. package/{esm2020 → esm2022}/lib/tokens/suppress-unsaved-changes-warning.token.mjs +2 -2
  113. package/esm2022/lib/utils/date-parser-formatter.mjs +59 -0
  114. package/{esm2020 → esm2022}/lib/utils/index.mjs +2 -2
  115. package/{esm2020 → esm2022}/lib/utils/validation-utils.mjs +61 -61
  116. package/{esm2020 → esm2022}/public-api.mjs +15 -15
  117. package/{esm2020 → esm2022}/testing/abp-ng.theme.shared-testing.mjs +4 -4
  118. package/{esm2020 → esm2022}/testing/lib/models/config.mjs +1 -1
  119. package/{esm2020 → esm2022}/testing/lib/models/index.mjs +1 -1
  120. package/esm2022/testing/lib/theme-shared-testing.module.mjs +47 -0
  121. package/{esm2020 → esm2022}/testing/public-api.mjs +3 -3
  122. package/extensions/index.d.ts +5 -5
  123. package/extensions/lib/adapters/date-time.adapter.d.ts +11 -11
  124. package/extensions/lib/adapters/date.adapter.d.ts +9 -9
  125. package/extensions/lib/adapters/time.adapter.d.ts +8 -8
  126. package/extensions/lib/components/abstract-actions/abstract-actions.component.d.ts +12 -12
  127. package/extensions/lib/components/date-time-picker/date-time-picker.component.d.ts +16 -16
  128. package/extensions/lib/components/extensible-form/extensible-form-prop.component.d.ts +43 -43
  129. package/extensions/lib/components/extensible-form/extensible-form.component.d.ts +25 -25
  130. package/extensions/lib/components/extensible-table/extensible-table.component.d.ts +38 -38
  131. package/extensions/lib/components/grid-actions/grid-actions.component.d.ts +13 -13
  132. package/extensions/lib/components/page-toolbar/page-toolbar.component.d.ts +20 -20
  133. package/extensions/lib/constants/extra-properties.d.ts +1 -1
  134. package/extensions/lib/directives/disabled.directive.d.ts +11 -11
  135. package/extensions/lib/directives/prop-data.directive.d.ts +19 -19
  136. package/extensions/lib/enums/components.d.ts +3 -3
  137. package/extensions/lib/enums/props.enum.d.ts +16 -16
  138. package/extensions/lib/models/actions.d.ts +36 -36
  139. package/extensions/lib/models/entity-actions.d.ts +22 -22
  140. package/extensions/lib/models/entity-props.d.ts +29 -29
  141. package/extensions/lib/models/form-props.d.ts +59 -58
  142. package/extensions/lib/models/internal/object-extensions.d.ts +86 -85
  143. package/extensions/lib/models/object-extensions.d.ts +2 -2
  144. package/extensions/lib/models/props.d.ts +45 -44
  145. package/extensions/lib/models/toolbar-actions.d.ts +38 -38
  146. package/extensions/lib/pipes/create-injector.pipe.d.ts +8 -8
  147. package/extensions/lib/services/extensions.service.d.ts +14 -14
  148. package/extensions/lib/tokens/extensible-form-view-provider.token.d.ts +5 -5
  149. package/extensions/lib/tokens/extensions.token.d.ts +20 -24
  150. package/extensions/lib/ui-extensions.module.d.ts +24 -24
  151. package/extensions/lib/utils/actions.util.d.ts +7 -7
  152. package/extensions/lib/utils/enum.util.d.ts +7 -7
  153. package/extensions/lib/utils/factory.util.d.ts +1 -1
  154. package/extensions/lib/utils/form-props.util.d.ts +3 -3
  155. package/extensions/lib/utils/localization.util.d.ts +3 -3
  156. package/extensions/lib/utils/props.util.d.ts +9 -9
  157. package/extensions/lib/utils/state.util.d.ts +5 -5
  158. package/extensions/lib/utils/typeahead.util.d.ts +11 -11
  159. package/extensions/lib/utils/validation.util.d.ts +3 -3
  160. package/extensions/public-api.d.ts +30 -30
  161. package/{fesm2020 → fesm2022}/abp-ng.theme.shared-extensions.mjs +1335 -1330
  162. package/fesm2022/abp-ng.theme.shared-extensions.mjs.map +1 -0
  163. package/{fesm2020 → fesm2022}/abp-ng.theme.shared-testing.mjs +40 -40
  164. package/{fesm2015 → fesm2022}/abp-ng.theme.shared-testing.mjs.map +1 -1
  165. package/{fesm2020 → fesm2022}/abp-ng.theme.shared.mjs +2292 -2293
  166. package/fesm2022/abp-ng.theme.shared.mjs.map +1 -0
  167. package/index.d.ts +5 -5
  168. package/lib/animations/bounce.animations.d.ts +1 -1
  169. package/lib/animations/collapse.animations.d.ts +9 -9
  170. package/lib/animations/fade.animations.d.ts +10 -10
  171. package/lib/animations/index.d.ts +6 -6
  172. package/lib/animations/modal.animations.d.ts +2 -2
  173. package/lib/animations/slide.animations.d.ts +1 -1
  174. package/lib/animations/toast.animations.d.ts +1 -1
  175. package/lib/components/breadcrumb/breadcrumb.component.d.ts +16 -16
  176. package/lib/components/breadcrumb-items/breadcrumb-items.component.d.ts +7 -7
  177. package/lib/components/button/button.component.d.ts +26 -26
  178. package/lib/components/card/card-body.component.d.ts +8 -8
  179. package/lib/components/card/card-footer.component.d.ts +8 -8
  180. package/lib/components/card/card-header.component.d.ts +8 -8
  181. package/lib/components/card/card-header.directive.d.ts +6 -6
  182. package/lib/components/card/card-img-top.directive.d.ts +6 -6
  183. package/lib/components/card/card-subtitle.directive.d.ts +6 -6
  184. package/lib/components/card/card-title.directive.d.ts +6 -6
  185. package/lib/components/card/card.component.d.ts +7 -7
  186. package/lib/components/card/card.module.d.ts +15 -15
  187. package/lib/components/card/index.d.ts +9 -9
  188. package/lib/components/checkbox/checkbox.component.d.ts +18 -18
  189. package/lib/components/confirmation/confirmation.component.d.ts +19 -19
  190. package/lib/components/form-input/form-input.component.d.ts +19 -20
  191. package/lib/components/http-error-wrapper/http-error-wrapper.component.d.ts +27 -27
  192. package/lib/components/index.d.ts +16 -16
  193. package/lib/components/loader-bar/loader-bar.component.d.ts +33 -33
  194. package/lib/components/loading/loading.component.d.ts +5 -5
  195. package/lib/components/modal/modal-close.directive.d.ts +9 -9
  196. package/lib/components/modal/modal-ref.service.d.ts +13 -13
  197. package/lib/components/modal/modal.component.d.ts +50 -50
  198. package/lib/components/password/password.component.d.ts +12 -12
  199. package/lib/components/toast/toast.component.d.ts +14 -14
  200. package/lib/components/toast-container/toast-container.component.d.ts +22 -22
  201. package/lib/constants/styles.d.ts +2 -2
  202. package/lib/constants/validation.d.ts +19 -19
  203. package/lib/directives/ellipsis.directive.d.ts +21 -21
  204. package/lib/directives/index.d.ts +5 -5
  205. package/lib/directives/loading.directive.d.ts +25 -25
  206. package/lib/directives/ngx-datatable-default.directive.d.ts +30 -30
  207. package/lib/directives/ngx-datatable-list.directive.d.ts +24 -24
  208. package/lib/directives/visible.directive.d.ts +18 -18
  209. package/lib/enums/form.d.ts +4 -4
  210. package/lib/enums/index.d.ts +2 -2
  211. package/lib/enums/route-names.d.ts +3 -3
  212. package/lib/handlers/document-dir.handler.d.ts +13 -13
  213. package/lib/handlers/error.handler.d.ts +83 -83
  214. package/lib/handlers/index.d.ts +2 -2
  215. package/lib/models/common.d.ts +21 -21
  216. package/lib/models/confirmation.d.ts +27 -27
  217. package/lib/models/index.d.ts +7 -7
  218. package/lib/models/nav-item.d.ts +13 -13
  219. package/lib/models/statistics.d.ts +12 -12
  220. package/lib/models/toaster.d.ts +30 -30
  221. package/lib/models/user-menu.d.ts +8 -8
  222. package/lib/models/validation.d.ts +1 -1
  223. package/lib/providers/index.d.ts +2 -2
  224. package/lib/providers/ng-bootstrap-config.provider.d.ts +8 -8
  225. package/lib/providers/route.provider.d.ts +8 -8
  226. package/lib/services/abstract-menu.service.d.ts +13 -13
  227. package/lib/services/confirmation.service.d.ts +21 -21
  228. package/lib/services/index.d.ts +5 -5
  229. package/lib/services/nav-items.service.d.ts +8 -8
  230. package/lib/services/page-alert.service.d.ts +18 -18
  231. package/lib/services/toaster.service.d.ts +60 -60
  232. package/lib/services/user-menu.service.d.ts +8 -8
  233. package/lib/theme-shared.module.d.ts +38 -38
  234. package/lib/tokens/append-content.token.d.ts +2 -2
  235. package/lib/tokens/confirmation-icons.token.d.ts +11 -11
  236. package/lib/tokens/http-error.token.d.ts +5 -5
  237. package/lib/tokens/index.d.ts +4 -4
  238. package/lib/tokens/ngx-datatable-messages.token.d.ts +12 -12
  239. package/lib/tokens/suppress-unsaved-changes-warning.token.d.ts +2 -2
  240. package/lib/utils/date-parser-formatter.d.ts +12 -12
  241. package/lib/utils/index.d.ts +2 -2
  242. package/lib/utils/validation-utils.d.ts +5 -5
  243. package/package.json +14 -24
  244. package/public-api.d.ts +12 -12
  245. package/testing/index.d.ts +5 -5
  246. package/testing/lib/models/config.d.ts +4 -4
  247. package/testing/lib/models/index.d.ts +1 -1
  248. package/testing/lib/theme-shared-testing.module.d.ts +14 -14
  249. package/testing/public-api.d.ts +3 -3
  250. package/esm2020/extensions/lib/adapters/date-time.adapter.mjs +0 -44
  251. package/esm2020/extensions/lib/adapters/date.adapter.mjs +0 -41
  252. package/esm2020/extensions/lib/adapters/time.adapter.mjs +0 -36
  253. package/esm2020/extensions/lib/components/abstract-actions/abstract-actions.component.mjs +0 -25
  254. package/esm2020/extensions/lib/components/date-time-picker/date-time-picker.component.mjs +0 -109
  255. package/esm2020/extensions/lib/components/extensible-form/extensible-form-prop.component.mjs +0 -198
  256. package/esm2020/extensions/lib/components/extensible-form/extensible-form.component.mjs +0 -73
  257. package/esm2020/extensions/lib/components/extensible-table/extensible-table.component.mjs +0 -135
  258. package/esm2020/extensions/lib/components/grid-actions/grid-actions.component.mjs +0 -39
  259. package/esm2020/extensions/lib/components/page-toolbar/page-toolbar.component.mjs +0 -38
  260. package/esm2020/extensions/lib/directives/disabled.directive.mjs +0 -29
  261. package/esm2020/extensions/lib/directives/prop-data.directive.mjs +0 -41
  262. package/esm2020/extensions/lib/models/form-props.mjs +0 -75
  263. package/esm2020/extensions/lib/models/props.mjs +0 -53
  264. package/esm2020/extensions/lib/pipes/create-injector.pipe.mjs +0 -36
  265. package/esm2020/extensions/lib/services/extensions.service.mjs +0 -24
  266. package/esm2020/extensions/lib/ui-extensions.module.mjs +0 -95
  267. package/esm2020/extensions/lib/utils/form-props.util.mjs +0 -51
  268. package/esm2020/extensions/lib/utils/state.util.mjs +0 -123
  269. package/esm2020/lib/components/breadcrumb/breadcrumb.component.mjs +0 -43
  270. package/esm2020/lib/components/breadcrumb-items/breadcrumb-items.component.mjs +0 -19
  271. package/esm2020/lib/components/button/button.component.mjs +0 -102
  272. package/esm2020/lib/components/card/card-footer.component.mjs +0 -30
  273. package/esm2020/lib/components/card/card-header.component.mjs +0 -30
  274. package/esm2020/lib/components/card/card-header.directive.mjs +0 -19
  275. package/esm2020/lib/components/card/card-img-top.directive.mjs +0 -19
  276. package/esm2020/lib/components/card/card-subtitle.directive.mjs +0 -19
  277. package/esm2020/lib/components/card/card-title.directive.mjs +0 -19
  278. package/esm2020/lib/components/card/card.component.mjs +0 -23
  279. package/esm2020/lib/components/card/card.module.mjs +0 -49
  280. package/esm2020/lib/components/checkbox/checkbox.component.mjs +0 -88
  281. package/esm2020/lib/components/confirmation/confirmation.component.mjs +0 -45
  282. package/esm2020/lib/components/form-input/form-input.component.mjs +0 -97
  283. package/esm2020/lib/components/http-error-wrapper/http-error-wrapper.component.mjs +0 -59
  284. package/esm2020/lib/components/loader-bar/loader-bar.component.mjs +0 -121
  285. package/esm2020/lib/components/loading/loading.component.mjs +0 -19
  286. package/esm2020/lib/components/modal/modal-close.directive.mjs +0 -27
  287. package/esm2020/lib/components/modal/modal-ref.service.mjs +0 -26
  288. package/esm2020/lib/components/modal/modal.component.mjs +0 -189
  289. package/esm2020/lib/components/password/password.component.mjs +0 -38
  290. package/esm2020/lib/components/toast/toast.component.mjs +0 -55
  291. package/esm2020/lib/components/toast-container/toast-container.component.mjs +0 -58
  292. package/esm2020/lib/directives/ellipsis.directive.mjs +0 -63
  293. package/esm2020/lib/directives/loading.directive.mjs +0 -89
  294. package/esm2020/lib/directives/ngx-datatable-default.directive.mjs +0 -75
  295. package/esm2020/lib/directives/ngx-datatable-list.directive.mjs +0 -94
  296. package/esm2020/lib/directives/visible.directive.mjs +0 -62
  297. package/esm2020/lib/handlers/document-dir.handler.mjs +0 -31
  298. package/esm2020/lib/handlers/error.handler.mjs +0 -291
  299. package/esm2020/lib/services/confirmation.service.mjs +0 -68
  300. package/esm2020/lib/services/nav-items.service.mjs +0 -17
  301. package/esm2020/lib/services/page-alert.service.mjs +0 -28
  302. package/esm2020/lib/services/toaster.service.mjs +0 -103
  303. package/esm2020/lib/services/user-menu.service.mjs +0 -17
  304. package/esm2020/lib/theme-shared.module.mjs +0 -200
  305. package/esm2020/lib/utils/date-parser-formatter.mjs +0 -58
  306. package/esm2020/testing/lib/theme-shared-testing.module.mjs +0 -46
  307. package/fesm2015/abp-ng.theme.shared-extensions.mjs +0 -1460
  308. package/fesm2015/abp-ng.theme.shared-extensions.mjs.map +0 -1
  309. package/fesm2015/abp-ng.theme.shared-testing.mjs +0 -54
  310. package/fesm2015/abp-ng.theme.shared.mjs +0 -2770
  311. package/fesm2015/abp-ng.theme.shared.mjs.map +0 -1
  312. package/fesm2020/abp-ng.theme.shared-extensions.mjs.map +0 -1
  313. package/fesm2020/abp-ng.theme.shared-testing.mjs.map +0 -1
  314. package/fesm2020/abp-ng.theme.shared.mjs.map +0 -1
@@ -1,121 +0,0 @@
1
- import { HttpWaitService, RouterWaitService, SubscriptionService } from '@abp/ng.core';
2
- import { ChangeDetectorRef, Component, Input } from '@angular/core';
3
- import { Router } from '@angular/router';
4
- import { combineLatest, Subscription, timer } from 'rxjs';
5
- import * as i0 from "@angular/core";
6
- import * as i1 from "@angular/router";
7
- import * as i2 from "@abp/ng.core";
8
- import * as i3 from "@angular/common";
9
- export class LoaderBarComponent {
10
- constructor(router, cdRef, subscription, httpWaitService, routerWaitService) {
11
- this.router = router;
12
- this.cdRef = cdRef;
13
- this.subscription = subscription;
14
- this.httpWaitService = httpWaitService;
15
- this.routerWaitService = routerWaitService;
16
- this.containerClass = 'abp-loader-bar';
17
- this.color = '#77b6ff';
18
- this.progressLevel = 0;
19
- this.interval = new Subscription();
20
- this.timer = new Subscription();
21
- this.intervalPeriod = 350;
22
- this.stopDelay = 800;
23
- this.clearProgress = () => {
24
- this.progressLevel = 0;
25
- this.cdRef.detectChanges();
26
- };
27
- this.reportProgress = () => {
28
- if (this.progressLevel < 75) {
29
- this.progressLevel += 1 + Math.random() * 9;
30
- }
31
- else if (this.progressLevel < 90) {
32
- this.progressLevel += 0.4;
33
- }
34
- else if (this.progressLevel < 100) {
35
- this.progressLevel += 0.1;
36
- }
37
- else {
38
- this.interval.unsubscribe();
39
- }
40
- this.cdRef.detectChanges();
41
- };
42
- }
43
- set isLoading(value) {
44
- this._isLoading = value;
45
- this.cdRef.detectChanges();
46
- }
47
- get isLoading() {
48
- return this._isLoading;
49
- }
50
- get boxShadow() {
51
- return `0 0 10px rgba(${this.color}, 0.5)`;
52
- }
53
- ngOnInit() {
54
- this.subscribeLoading();
55
- }
56
- subscribeLoading() {
57
- this.subscription.addOne(combineLatest([this.httpWaitService.getLoading$(), this.routerWaitService.getLoading$()]), ([httpLoading, routerLoading]) => {
58
- if (httpLoading || routerLoading)
59
- this.startLoading();
60
- else
61
- this.stopLoading();
62
- });
63
- }
64
- ngOnDestroy() {
65
- this.interval.unsubscribe();
66
- }
67
- startLoading() {
68
- if (this.isLoading || !this.interval.closed)
69
- return;
70
- this.isLoading = true;
71
- this.progressLevel = 0;
72
- this.cdRef.detectChanges();
73
- this.interval = timer(0, this.intervalPeriod).subscribe(this.reportProgress);
74
- this.timer.unsubscribe();
75
- }
76
- stopLoading() {
77
- this.interval.unsubscribe();
78
- this.progressLevel = 100;
79
- this.isLoading = false;
80
- if (!this.timer.closed)
81
- return;
82
- this.timer = timer(this.stopDelay).subscribe(this.clearProgress);
83
- }
84
- }
85
- LoaderBarComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: LoaderBarComponent, deps: [{ token: i1.Router }, { token: i0.ChangeDetectorRef }, { token: i2.SubscriptionService }, { token: i2.HttpWaitService }, { token: i2.RouterWaitService }], target: i0.ɵɵFactoryTarget.Component });
86
- LoaderBarComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.0.4", type: LoaderBarComponent, selector: "abp-loader-bar", inputs: { isLoading: "isLoading", containerClass: "containerClass", color: "color" }, providers: [SubscriptionService], ngImport: i0, template: `
87
- <div id="abp-loader-bar" [ngClass]="containerClass" [class.is-loading]="isLoading">
88
- <div
89
- class="abp-progress"
90
- [class.progressing]="progressLevel"
91
- [style.width.vw]="progressLevel"
92
- [ngStyle]="{
93
- 'background-color': color,
94
- 'box-shadow': boxShadow
95
- }"
96
- ></div>
97
- </div>
98
- `, isInline: true, styles: [".abp-loader-bar{left:0;opacity:0;position:fixed;top:0;transition:opacity .4s linear .4s;z-index:99999}.abp-loader-bar.is-loading{opacity:1;transition:none}.abp-loader-bar .abp-progress{height:3px;left:0;position:fixed;top:0}.abp-loader-bar .abp-progress.progressing{transition:width .4s ease}\n"], dependencies: [{ kind: "directive", type: i3.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i3.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }] });
99
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: LoaderBarComponent, decorators: [{
100
- type: Component,
101
- args: [{ selector: 'abp-loader-bar', template: `
102
- <div id="abp-loader-bar" [ngClass]="containerClass" [class.is-loading]="isLoading">
103
- <div
104
- class="abp-progress"
105
- [class.progressing]="progressLevel"
106
- [style.width.vw]="progressLevel"
107
- [ngStyle]="{
108
- 'background-color': color,
109
- 'box-shadow': boxShadow
110
- }"
111
- ></div>
112
- </div>
113
- `, providers: [SubscriptionService], styles: [".abp-loader-bar{left:0;opacity:0;position:fixed;top:0;transition:opacity .4s linear .4s;z-index:99999}.abp-loader-bar.is-loading{opacity:1;transition:none}.abp-loader-bar .abp-progress{height:3px;left:0;position:fixed;top:0}.abp-loader-bar .abp-progress.progressing{transition:width .4s ease}\n"] }]
114
- }], ctorParameters: function () { return [{ type: i1.Router }, { type: i0.ChangeDetectorRef }, { type: i2.SubscriptionService }, { type: i2.HttpWaitService }, { type: i2.RouterWaitService }]; }, propDecorators: { isLoading: [{
115
- type: Input
116
- }], containerClass: [{
117
- type: Input
118
- }], color: [{
119
- type: Input
120
- }] } });
121
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibG9hZGVyLWJhci5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy90aGVtZS1zaGFyZWQvc3JjL2xpYi9jb21wb25lbnRzL2xvYWRlci1iYXIvbG9hZGVyLWJhci5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLGVBQWUsRUFBRSxpQkFBaUIsRUFBRSxtQkFBbUIsRUFBRSxNQUFNLGNBQWMsQ0FBQztBQUN2RixPQUFPLEVBQUUsaUJBQWlCLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBcUIsTUFBTSxlQUFlLENBQUM7QUFDdkYsT0FBTyxFQUFFLE1BQU0sRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQ3pDLE9BQU8sRUFBRSxhQUFhLEVBQUUsWUFBWSxFQUFFLEtBQUssRUFBRSxNQUFNLE1BQU0sQ0FBQzs7Ozs7QUFvQjFELE1BQU0sT0FBTyxrQkFBa0I7SUFrRDdCLFlBQ1UsTUFBYyxFQUNkLEtBQXdCLEVBQ3hCLFlBQWlDLEVBQ2pDLGVBQWdDLEVBQ2hDLGlCQUFvQztRQUpwQyxXQUFNLEdBQU4sTUFBTSxDQUFRO1FBQ2QsVUFBSyxHQUFMLEtBQUssQ0FBbUI7UUFDeEIsaUJBQVksR0FBWixZQUFZLENBQXFCO1FBQ2pDLG9CQUFlLEdBQWYsZUFBZSxDQUFpQjtRQUNoQyxzQkFBaUIsR0FBakIsaUJBQWlCLENBQW1CO1FBMUM5QyxtQkFBYyxHQUFHLGdCQUFnQixDQUFDO1FBR2xDLFVBQUssR0FBRyxTQUFTLENBQUM7UUFFbEIsa0JBQWEsR0FBRyxDQUFDLENBQUM7UUFFbEIsYUFBUSxHQUFHLElBQUksWUFBWSxFQUFFLENBQUM7UUFFOUIsVUFBSyxHQUFHLElBQUksWUFBWSxFQUFFLENBQUM7UUFFM0IsbUJBQWMsR0FBRyxHQUFHLENBQUM7UUFFckIsY0FBUyxHQUFHLEdBQUcsQ0FBQztRQUVDLGtCQUFhLEdBQUcsR0FBRyxFQUFFO1lBQ3BD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SUFDbkUsQ0FBQzs7K0dBL0ZVLGtCQUFrQjttR0FBbEIsa0JBQWtCLCtIQUZsQixDQUFDLG1CQUFtQixDQUFDLDBCQWR0Qjs7Ozs7Ozs7Ozs7O0dBWVQ7MkZBSVUsa0JBQWtCO2tCQWxCOUIsU0FBUzsrQkFDRSxnQkFBZ0IsWUFDaEI7Ozs7Ozs7Ozs7OztHQVlULGFBRVUsQ0FBQyxtQkFBbUIsQ0FBQzs2TkFNNUIsU0FBUztzQkFEWixLQUFLO2dCQVVOLGNBQWM7c0JBRGIsS0FBSztnQkFJTixLQUFLO3NCQURKLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBIdHRwV2FpdFNlcnZpY2UsIFJvdXRlcldhaXRTZXJ2aWNlLCBTdWJzY3JpcHRpb25TZXJ2aWNlIH0gZnJvbSAnQGFicC9uZy5jb3JlJztcclxuaW1wb3J0IHsgQ2hhbmdlRGV0ZWN0b3JSZWYsIENvbXBvbmVudCwgSW5wdXQsIE9uRGVzdHJveSwgT25Jbml0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IFJvdXRlciB9IGZyb20gJ0Bhbmd1bGFyL3JvdXRlcic7XHJcbmltcG9ydCB7IGNvbWJpbmVMYXRlc3QsIFN1YnNjcmlwdGlvbiwgdGltZXIgfSBmcm9tICdyeGpzJztcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAnYWJwLWxvYWRlci1iYXInLFxyXG4gIHRlbXBsYXRlOiBgXHJcbiAgICA8ZGl2IGlkPVwiYWJwLWxvYWRlci1iYXJcIiBbbmdDbGFzc109XCJjb250YWluZXJDbGFzc1wiIFtjbGFzcy5pcy1sb2FkaW5nXT1cImlzTG9hZGluZ1wiPlxyXG4gICAgICA8ZGl2XHJcbiAgICAgICAgY2xhc3M9XCJhYnAtcHJvZ3Jlc3NcIlxyXG4gICAgICAgIFtjbGFzcy5wcm9ncmVzc2luZ109XCJwcm9ncmVzc0xldmVsXCJcclxuICAgICAgICBbc3R5bGUud2lkdGgudnddPVwicHJvZ3Jlc3NMZXZlbFwiXHJcbiAgICAgICAgW25nU3R5bGVdPVwie1xyXG4gICAgICAgICAgJ2JhY2tncm91bmQtY29sb3InOiBjb2xvcixcclxuICAgICAgICAgICdib3gtc2hhZG93JzogYm94U2hhZG93XHJcbiAgICAgICAgfVwiXHJcbiAgICAgID48L2Rpdj5cclxuICAgIDwvZGl2PlxyXG4gIGAsXHJcbiAgc3R5bGVVcmxzOiBbJy4vbG9hZGVyLWJhci5jb21wb25lbnQuc2NzcyddLFxyXG4gIHByb3ZpZGVyczogW1N1YnNjcmlwdGlvblNlcnZpY2VdLFxyXG59KVxyXG5leHBvcnQgY2xhc3MgTG9hZGVyQmFyQ29tcG9uZW50IGltcGxlbWVudHMgT25EZXN0cm95LCBPbkluaXQge1xyXG4gIHByb3RlY3RlZCBfaXNMb2FkaW5nITogYm9vbGVhbjtcclxuXHJcbiAgQElucHV0KClcclxuICBzZXQgaXNMb2FkaW5nKHZhbHVlOiBib29sZWFuKSB7XHJcbiAgICB0aGlzLl9pc0xvYWRpbmcgPSB2YWx1ZTtcclxuICAgIHRoaXMuY2RSZWYuZGV0ZWN0Q2hhbmdlcygpO1xyXG4gIH1cclxuICBnZXQgaXNMb2FkaW5nKCk6IGJvb2xlYW4ge1xyXG4gICAgcmV0dXJuIHRoaXMuX2lzTG9hZGluZztcclxuICB9XHJcblxyXG4gIEBJbnB1dCgpXHJcbiAgY29udGFpbmVyQ2xhc3MgPSAnYWJwLWxvYWRlci1iYXInO1xyXG5cclxuICBASW5wdXQoKVxyXG4gIGNvbG9yID0gJyM3N2I2ZmYnO1xyXG5cclxuICBwcm9ncmVzc0xldmVsID0gMDtcclxuXHJcbiAgaW50ZXJ2YWwgPSBuZXcgU3Vic2NyaXB0aW9uKCk7XHJcblxyXG4gIHRpbWVyID0gbmV3IFN1YnNjcmlwdGlvbigpO1xyXG5cclxuICBpbnRlcnZhbFBlcmlvZCA9IDM1MDtcclxuXHJcbiAgc3RvcERlbGF5ID0gODAwO1xyXG5cclxuICBwcml2YXRlIHJlYWRvbmx5IGNsZWFyUHJvZ3Jlc3MgPSAoKSA9PiB7XHJcbiAgICB0aGlzLnByb2dyZXNzTGV2ZWwgPSAwO1xyXG4gICAgdGhpcy5jZFJlZi5kZXRlY3RDaGFuZ2VzKCk7XHJcbiAgfTtcclxuXHJcbiAgcHJpdmF0ZSByZWFkb25seSByZXBvcnRQcm9ncmVzcyA9ICgpID0+IHtcclxuICAgIGlmICh0aGlzLnByb2dyZXNzTGV2ZWwgPCA3NSkge1xyXG4gICAgICB0aGlzLnByb2dyZXNzTGV2ZWwgKz0gMSArIE1hdGgucmFuZG9tKCkgKiA5O1xyXG4gICAgfSBlbHNlIGlmICh0aGlzLnByb2dyZXNzTGV2ZWwgPCA5MCkge1xyXG4gICAgICB0aGlzLnByb2dyZXNzTGV2ZWwgKz0gMC40O1xyXG4gICAgfSBlbHNlIGlmICh0aGlzLnByb2dyZXNzTGV2ZWwgPCAxMDApIHtcclxuICAgICAgdGhpcy5wcm9ncmVzc0xldmVsICs9IDAuMTtcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIHRoaXMuaW50ZXJ2YWwudW5zdWJzY3JpYmUoKTtcclxuICAgIH1cclxuICAgIHRoaXMuY2RSZWYuZGV0ZWN0Q2hhbmdlcygpO1xyXG4gIH07XHJcblxyXG4gIGdldCBib3hTaGFkb3coKTogc3RyaW5nIHtcclxuICAgIHJldHVybiBgMCAwIDEwcHggcmdiYSgke3RoaXMuY29sb3J9LCAwLjUpYDtcclxuICB9XHJcblxyXG4gIGNvbnN0cnVjdG9yKFxyXG4gICAgcHJpdmF0ZSByb3V0ZXI6IFJvdXRlcixcclxuICAgIHByaXZhdGUgY2RSZWY6IENoYW5nZURldGVjdG9yUmVmLFxyXG4gICAgcHJpdmF0ZSBzdWJzY3JpcHRpb246IFN1YnNjcmlwdGlvblNlcnZpY2UsXHJcbiAgICBwcml2YXRlIGh0dHBXYWl0U2VydmljZTogSHR0cFdhaXRTZXJ2aWNlLFxyXG4gICAgcHJpdmF0ZSByb3V0ZXJXYWl0U2VydmljZTogUm91dGVyV2FpdFNlcnZpY2UsXHJcbiAgKSB7fVxyXG5cclxuICBuZ09uSW5pdCgpIHtcclxuICAgIHRoaXMuc3Vic2NyaWJlTG9hZGluZygpO1xyXG4gIH1cclxuXHJcbiAgc3Vic2NyaWJlTG9hZGluZygpIHtcclxuICAgIHRoaXMuc3Vic2NyaXB0aW9uLmFkZE9uZShcclxuICAgICAgY29tYmluZUxhdGVzdChbdGhpcy5odHRwV2FpdFNlcnZpY2UuZ2V0TG9hZGluZyQoKSwgdGhpcy5yb3V0ZXJXYWl0U2VydmljZS5nZXRMb2FkaW5nJCgpXSksXHJcbiAgICAgIChbaHR0cExvYWRpbmcsIHJvdXRlckxvYWRpbmddKSA9PiB7XHJcbiAgICAgICAgaWYgKGh0dHBMb2FkaW5nIHx8IHJvdXRlckxvYWRpbmcpIHRoaXMuc3RhcnRMb2FkaW5nKCk7XHJcbiAgICAgICAgZWxzZSB0aGlzLnN0b3BMb2FkaW5nKCk7XHJcbiAgICAgIH0sXHJcbiAgICApO1xyXG4gIH1cclxuXHJcbiAgbmdPbkRlc3Ryb3koKSB7XHJcbiAgICB0aGlzLmludGVydmFsLnVuc3Vic2NyaWJlKCk7XHJcbiAgfVxyXG5cclxuICBzdGFydExvYWRpbmcoKSB7XHJcbiAgICBpZiAodGhpcy5pc0xvYWRpbmcgfHwgIXRoaXMuaW50ZXJ2YWwuY2xvc2VkKSByZXR1cm47XHJcblxyXG4gICAgdGhpcy5pc0xvYWRpbmcgPSB0cnVlO1xyXG4gICAgdGhpcy5wcm9ncmVzc0xldmVsID0gMDtcclxuICAgIHRoaXMuY2RSZWYuZGV0ZWN0Q2hhbmdlcygpO1xyXG4gICAgdGhpcy5pbnRlcnZhbCA9IHRpbWVyKDAsIHRoaXMuaW50ZXJ2YWxQZXJpb2QpLnN1YnNjcmliZSh0aGlzLnJlcG9ydFByb2dyZXNzKTtcclxuICAgIHRoaXMudGltZXIudW5zdWJzY3JpYmUoKTtcclxuICB9XHJcblxyXG4gIHN0b3BMb2FkaW5nKCkge1xyXG4gICAgdGhpcy5pbnRlcnZhbC51bnN1YnNjcmliZSgpO1xyXG5cclxuICAgIHRoaXMucHJvZ3Jlc3NMZXZlbCA9IDEwMDtcclxuICAgIHRoaXMuaXNMb2FkaW5nID0gZmFsc2U7XHJcblxyXG4gICAgaWYgKCF0aGlzLnRpbWVyLmNsb3NlZCkgcmV0dXJuO1xyXG5cclxuICAgIHRoaXMudGltZXIgPSB0aW1lcih0aGlzLnN0b3BEZWxheSkuc3Vic2NyaWJlKHRoaXMuY2xlYXJQcm9ncmVzcyk7XHJcbiAgfVxyXG59XHJcbiJdfQ==
@@ -1,19 +0,0 @@
1
- import { Component, ViewEncapsulation } from '@angular/core';
2
- import * as i0 from "@angular/core";
3
- export class LoadingComponent {
4
- }
5
- LoadingComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: LoadingComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
6
- LoadingComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.0.4", type: LoadingComponent, selector: "abp-loading", ngImport: i0, template: `
7
- <div class="abp-loading">
8
- <i class="fa fa-spinner fa-pulse abp-spinner"></i>
9
- </div>
10
- `, isInline: true, styles: [".abp-loading{position:absolute;width:100%;height:100%;top:0;left:0;z-index:1040}.abp-loading .abp-spinner{position:absolute;top:50%;left:50%;font-size:14px;transform:translate(-50%) translateY(-50%)}\n"], encapsulation: i0.ViewEncapsulation.None });
11
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: LoadingComponent, decorators: [{
12
- type: Component,
13
- args: [{ selector: 'abp-loading', template: `
14
- <div class="abp-loading">
15
- <i class="fa fa-spinner fa-pulse abp-spinner"></i>
16
- </div>
17
- `, encapsulation: ViewEncapsulation.None, styles: [".abp-loading{position:absolute;width:100%;height:100%;top:0;left:0;z-index:1040}.abp-loading .abp-spinner{position:absolute;top:50%;left:50%;font-size:14px;transform:translate(-50%) translateY(-50%)}\n"] }]
18
- }] });
19
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibG9hZGluZy5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy90aGVtZS1zaGFyZWQvc3JjL2xpYi9jb21wb25lbnRzL2xvYWRpbmcvbG9hZGluZy5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxpQkFBaUIsRUFBRSxNQUFNLGVBQWUsQ0FBQzs7QUFtQzdELE1BQU0sT0FBTyxnQkFBZ0I7OzZHQUFoQixnQkFBZ0I7aUdBQWhCLGdCQUFnQixtREEvQmpCOzs7O0dBSVQ7MkZBMkJVLGdCQUFnQjtrQkFqQzVCLFNBQVM7K0JBQ0UsYUFBYSxZQUNiOzs7O0dBSVQsaUJBQ2MsaUJBQWlCLENBQUMsSUFBSSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgVmlld0VuY2Fwc3VsYXRpb24gfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAnYWJwLWxvYWRpbmcnLFxyXG4gIHRlbXBsYXRlOiBgXHJcbiAgICA8ZGl2IGNsYXNzPVwiYWJwLWxvYWRpbmdcIj5cclxuICAgICAgPGkgY2xhc3M9XCJmYSBmYS1zcGlubmVyIGZhLXB1bHNlIGFicC1zcGlubmVyXCI+PC9pPlxyXG4gICAgPC9kaXY+XHJcbiAgYCxcclxuICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lLFxyXG4gIHN0eWxlczogW1xyXG4gICAgYFxyXG4gICAgICAuYWJwLWxvYWRpbmcge1xyXG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgICBoZWlnaHQ6IDEwMCU7XHJcbiAgICAgICAgdG9wOiAwO1xyXG4gICAgICAgIGxlZnQ6IDA7XHJcbiAgICAgICAgei1pbmRleDogMTA0MDtcclxuICAgICAgfVxyXG5cclxuICAgICAgLmFicC1sb2FkaW5nIC5hYnAtc3Bpbm5lciB7XHJcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgICAgIHRvcDogNTAlO1xyXG4gICAgICAgIGxlZnQ6IDUwJTtcclxuICAgICAgICBmb250LXNpemU6IDE0cHg7XHJcbiAgICAgICAgLW1vei10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTUwJSkgdHJhbnNsYXRlWSgtNTAlKTtcclxuICAgICAgICAtby10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTUwJSkgdHJhbnNsYXRlWSgtNTAlKTtcclxuICAgICAgICAtbXMtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC01MCUpIHRyYW5zbGF0ZVkoLTUwJSk7XHJcbiAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTUwJSkgdHJhbnNsYXRlWSgtNTAlKTtcclxuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTUwJSkgdHJhbnNsYXRlWSgtNTAlKTtcclxuICAgICAgfVxyXG4gICAgYCxcclxuICBdLFxyXG59KVxyXG5leHBvcnQgY2xhc3MgTG9hZGluZ0NvbXBvbmVudCB7fVxyXG4iXX0=
@@ -1,27 +0,0 @@
1
- import { Directive, HostListener, Optional } from '@angular/core';
2
- import { ModalComponent } from './modal.component';
3
- import * as i0 from "@angular/core";
4
- import * as i1 from "./modal.component";
5
- export class ModalCloseDirective {
6
- constructor(modal) {
7
- this.modal = modal;
8
- if (!modal) {
9
- console.error('Please use abpClose within an abp-modal');
10
- }
11
- }
12
- onClick() {
13
- this.modal?.close();
14
- }
15
- }
16
- ModalCloseDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: ModalCloseDirective, deps: [{ token: i1.ModalComponent, optional: true }], target: i0.ɵɵFactoryTarget.Directive });
17
- ModalCloseDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "15.0.4", type: ModalCloseDirective, selector: "[abpClose]", host: { listeners: { "click": "onClick()" } }, ngImport: i0 });
18
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: ModalCloseDirective, decorators: [{
19
- type: Directive,
20
- args: [{ selector: '[abpClose]' }]
21
- }], ctorParameters: function () { return [{ type: i1.ModalComponent, decorators: [{
22
- type: Optional
23
- }] }]; }, propDecorators: { onClick: [{
24
- type: HostListener,
25
- args: ['click']
26
- }] } });
27
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibW9kYWwtY2xvc2UuZGlyZWN0aXZlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvdGhlbWUtc2hhcmVkL3NyYy9saWIvY29tcG9uZW50cy9tb2RhbC9tb2RhbC1jbG9zZS5kaXJlY3RpdmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxZQUFZLEVBQUUsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ2xFLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQzs7O0FBR25ELE1BQU0sT0FBTyxtQkFBbUI7SUFDOUIsWUFBZ0MsS0FBcUI7UUFBckIsVUFBSyxHQUFMLEtBQUssQ0FBZ0I7UUFDbkQsSUFBSSxDQUFDLEtBQUssRUFBRTtZQUNWLE9BQU8sQ0FBQyxLQUFLLENBQUMseUNBQXlDLENBQUMsQ0FBQztTQUMxRDtJQUNILENBQUM7SUFHRCxPQUFPO1FBQ0wsSUFBSSxDQUFDLEtBQUssRUFBRSxLQUFLLEVBQUUsQ0FBQztJQUN0QixDQUFDOztnSEFWVSxtQkFBbUI7b0dBQW5CLG1CQUFtQjsyRkFBbkIsbUJBQW1CO2tCQUQvQixTQUFTO21CQUFDLEVBQUUsUUFBUSxFQUFFLFlBQVksRUFBRTs7MEJBRXRCLFFBQVE7NENBT3JCLE9BQU87c0JBRE4sWUFBWTt1QkFBQyxPQUFPIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRGlyZWN0aXZlLCBIb3N0TGlzdGVuZXIsIE9wdGlvbmFsIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IE1vZGFsQ29tcG9uZW50IH0gZnJvbSAnLi9tb2RhbC5jb21wb25lbnQnO1xyXG5cclxuQERpcmVjdGl2ZSh7IHNlbGVjdG9yOiAnW2FicENsb3NlXScgfSlcclxuZXhwb3J0IGNsYXNzIE1vZGFsQ2xvc2VEaXJlY3RpdmUge1xyXG4gIGNvbnN0cnVjdG9yKEBPcHRpb25hbCgpIHByaXZhdGUgbW9kYWw6IE1vZGFsQ29tcG9uZW50KSB7XHJcbiAgICBpZiAoIW1vZGFsKSB7XHJcbiAgICAgIGNvbnNvbGUuZXJyb3IoJ1BsZWFzZSB1c2UgYWJwQ2xvc2Ugd2l0aGluIGFuIGFicC1tb2RhbCcpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgQEhvc3RMaXN0ZW5lcignY2xpY2snKVxyXG4gIG9uQ2xpY2soKSB7XHJcbiAgICB0aGlzLm1vZGFsPy5jbG9zZSgpO1xyXG4gIH1cclxufVxyXG4iXX0=
@@ -1,26 +0,0 @@
1
- import { Injectable } from '@angular/core';
2
- import * as i0 from "@angular/core";
3
- export class ModalRefService {
4
- constructor() {
5
- this.modalRefs = [];
6
- }
7
- register(modal) {
8
- this.modalRefs.push(modal);
9
- }
10
- unregister(modal) {
11
- const index = this.modalRefs.indexOf(modal);
12
- if (index > -1) {
13
- this.modalRefs.splice(index, 1);
14
- }
15
- }
16
- dismissAll(mode) {
17
- this.modalRefs.forEach(modal => modal.dismiss(mode));
18
- }
19
- }
20
- ModalRefService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: ModalRefService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
21
- ModalRefService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: ModalRefService, providedIn: 'root' });
22
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: ModalRefService, decorators: [{
23
- type: Injectable,
24
- args: [{ providedIn: 'root' }]
25
- }] });
26
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibW9kYWwtcmVmLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy90aGVtZS1zaGFyZWQvc3JjL2xpYi9jb21wb25lbnRzL21vZGFsL21vZGFsLXJlZi5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7O0FBUzNDLE1BQU0sT0FBTyxlQUFlO0lBRDVCO1FBRUUsY0FBUyxHQUF1QixFQUFFLENBQUM7S0FlcEM7SUFiQyxRQUFRLENBQUMsS0FBdUI7UUFDOUIsSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDN0IsQ0FBQztJQUNELFVBQVUsQ0FBQyxLQUF1QjtRQUNoQyxNQUFNLEtBQUssR0FBRyxJQUFJLENBQUMsU0FBUyxDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUM1QyxJQUFJLEtBQUssR0FBRyxDQUFDLENBQUMsRUFBRTtZQUNkLElBQUksQ0FBQyxTQUFTLENBQUMsTUFBTSxDQUFDLEtBQUssRUFBRSxDQUFDLENBQUMsQ0FBQztTQUNqQztJQUNILENBQUM7SUFFRCxVQUFVLENBQUMsSUFBc0I7UUFDL0IsSUFBSSxDQUFDLFNBQVMsQ0FBQyxPQUFPLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQyxLQUFLLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUM7SUFDdkQsQ0FBQzs7NEdBZlUsZUFBZTtnSEFBZixlQUFlLGNBREYsTUFBTTsyRkFDbkIsZUFBZTtrQkFEM0IsVUFBVTttQkFBQyxFQUFFLFVBQVUsRUFBRSxNQUFNLEVBQUUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcblxyXG5leHBvcnQgdHlwZSBNb2RhbERpc21pc3NNb2RlID0gJ2hhcmQnIHwgJ3NvZnQnO1xyXG5cclxuZXhwb3J0IGludGVyZmFjZSBEaXNtaXNzYWJsZU1vZGFsIHtcclxuICBkaXNtaXNzKG1vZGU6IE1vZGFsRGlzbWlzc01vZGUpOiB2b2lkO1xyXG59XHJcblxyXG5ASW5qZWN0YWJsZSh7IHByb3ZpZGVkSW46ICdyb290JyB9KVxyXG5leHBvcnQgY2xhc3MgTW9kYWxSZWZTZXJ2aWNlIHtcclxuICBtb2RhbFJlZnM6IERpc21pc3NhYmxlTW9kYWxbXSA9IFtdO1xyXG5cclxuICByZWdpc3Rlcihtb2RhbDogRGlzbWlzc2FibGVNb2RhbCkge1xyXG4gICAgdGhpcy5tb2RhbFJlZnMucHVzaChtb2RhbCk7XHJcbiAgfVxyXG4gIHVucmVnaXN0ZXIobW9kYWw6IERpc21pc3NhYmxlTW9kYWwpIHtcclxuICAgIGNvbnN0IGluZGV4ID0gdGhpcy5tb2RhbFJlZnMuaW5kZXhPZihtb2RhbCk7XHJcbiAgICBpZiAoaW5kZXggPiAtMSkge1xyXG4gICAgICB0aGlzLm1vZGFsUmVmcy5zcGxpY2UoaW5kZXgsIDEpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgZGlzbWlzc0FsbChtb2RlOiBNb2RhbERpc21pc3NNb2RlKSB7XHJcbiAgICB0aGlzLm1vZGFsUmVmcy5mb3JFYWNoKG1vZGFsID0+IG1vZGFsLmRpc21pc3MobW9kZSkpO1xyXG4gIH1cclxufVxyXG4iXX0=
@@ -1,189 +0,0 @@
1
- import { SubscriptionService, uuid } from '@abp/ng.core';
2
- import { Component, ContentChild, EventEmitter, Inject, Input, Optional, Output, TemplateRef, ViewChild, } from '@angular/core';
3
- import { NgbModal } from '@ng-bootstrap/ng-bootstrap';
4
- import { fromEvent, Subject } from 'rxjs';
5
- import { debounceTime, distinctUntilChanged, filter, takeUntil } from 'rxjs/operators';
6
- import { Confirmation } from '../../models/confirmation';
7
- import { ConfirmationService } from '../../services/confirmation.service';
8
- import { SUPPRESS_UNSAVED_CHANGES_WARNING } from '../../tokens/suppress-unsaved-changes-warning.token';
9
- import { ButtonComponent } from '../button/button.component';
10
- import { ModalRefService } from './modal-ref.service';
11
- import * as i0 from "@angular/core";
12
- import * as i1 from "../../services/confirmation.service";
13
- import * as i2 from "@abp/ng.core";
14
- import * as i3 from "@ng-bootstrap/ng-bootstrap";
15
- import * as i4 from "./modal-ref.service";
16
- import * as i5 from "@angular/common";
17
- export class ModalComponent {
18
- constructor(confirmationService, subscription, suppressUnsavedChangesWarningToken, modal, modalRefService) {
19
- this.confirmationService = confirmationService;
20
- this.subscription = subscription;
21
- this.suppressUnsavedChangesWarningToken = suppressUnsavedChangesWarningToken;
22
- this.modal = modal;
23
- this.modalRefService = modalRefService;
24
- this.options = {};
25
- this.suppressUnsavedChangesWarning = this.suppressUnsavedChangesWarningToken;
26
- this.visibleChange = new EventEmitter();
27
- this.init = new EventEmitter();
28
- this.appear = new EventEmitter();
29
- this.disappear = new EventEmitter();
30
- this._visible = false;
31
- this._busy = false;
32
- this.isConfirmationOpen = false;
33
- this.destroy$ = new Subject();
34
- this.modalIdentifier = `modal-${uuid()}`;
35
- this.toggle$ = new Subject();
36
- this.initToggleStream();
37
- }
38
- get visible() {
39
- return this._visible;
40
- }
41
- set visible(value) {
42
- if (typeof value !== 'boolean')
43
- return;
44
- this.toggle$.next(value);
45
- }
46
- get busy() {
47
- return this._busy;
48
- }
49
- set busy(value) {
50
- if (this.abpSubmit && this.abpSubmit instanceof ButtonComponent) {
51
- this.abpSubmit.loading = value;
52
- }
53
- this._busy = value;
54
- }
55
- get modalWindowRef() {
56
- return document.querySelector(`ngb-modal-window.${this.modalIdentifier}`);
57
- }
58
- get isFormDirty() {
59
- return Boolean(this.modalWindowRef?.querySelector('.ng-dirty'));
60
- }
61
- ngOnInit() {
62
- this.modalRefService.register(this);
63
- }
64
- dismiss(mode) {
65
- switch (mode) {
66
- case 'hard':
67
- this.visible = false;
68
- break;
69
- case 'soft':
70
- this.close();
71
- break;
72
- default:
73
- break;
74
- }
75
- }
76
- initToggleStream() {
77
- this.subscription.addOne(this.toggle$.pipe(debounceTime(0), distinctUntilChanged()), value => this.toggle(value));
78
- }
79
- toggle(value) {
80
- this._visible = value;
81
- this.visibleChange.emit(value);
82
- if (!value) {
83
- this.modalRef?.dismiss();
84
- this.disappear.emit();
85
- this.destroy$.next();
86
- return;
87
- }
88
- setTimeout(() => this.listen(), 0);
89
- this.modalRef = this.modal.open(this.modalContent, {
90
- size: 'md',
91
- centered: false,
92
- keyboard: false,
93
- scrollable: true,
94
- beforeDismiss: () => {
95
- if (!this.visible)
96
- return true;
97
- this.close();
98
- return !this.visible;
99
- },
100
- ...this.options,
101
- windowClass: `${this.options.windowClass || ''} ${this.modalIdentifier}`,
102
- });
103
- this.appear.emit();
104
- }
105
- ngOnDestroy() {
106
- this.modalRefService.unregister(this);
107
- this.toggle(false);
108
- this.destroy$.next();
109
- }
110
- close() {
111
- if (this.busy)
112
- return;
113
- if (this.isFormDirty && !this.suppressUnsavedChangesWarning) {
114
- if (this.isConfirmationOpen)
115
- return;
116
- this.isConfirmationOpen = true;
117
- this.confirmationService
118
- .warn('AbpUi::AreYouSureYouWantToCancelEditingWarningMessage', 'AbpUi::AreYouSure', { dismissible: false })
119
- .subscribe((status) => {
120
- this.isConfirmationOpen = false;
121
- if (status === Confirmation.Status.confirm) {
122
- this.visible = false;
123
- }
124
- });
125
- }
126
- else {
127
- this.visible = false;
128
- }
129
- }
130
- listen() {
131
- if (this.modalWindowRef) {
132
- fromEvent(this.modalWindowRef, 'keyup')
133
- .pipe(takeUntil(this.destroy$), debounceTime(150), filter((key) => key && key.key === 'Escape' && this.options.keyboard))
134
- .subscribe(() => this.close());
135
- }
136
- fromEvent(window, 'beforeunload')
137
- .pipe(takeUntil(this.destroy$))
138
- .subscribe(event => {
139
- // TODO: check this
140
- if (!this.isFormDirty || this.suppressUnsavedChangesWarning) {
141
- event.preventDefault();
142
- }
143
- });
144
- this.init.emit();
145
- }
146
- }
147
- ModalComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: ModalComponent, deps: [{ token: i1.ConfirmationService }, { token: i2.SubscriptionService }, { token: SUPPRESS_UNSAVED_CHANGES_WARNING, optional: true }, { token: i3.NgbModal }, { token: i4.ModalRefService }], target: i0.ɵɵFactoryTarget.Component });
148
- ModalComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.0.4", type: ModalComponent, selector: "abp-modal", inputs: { visible: "visible", busy: "busy", options: "options", suppressUnsavedChangesWarning: "suppressUnsavedChangesWarning" }, outputs: { visibleChange: "visibleChange", init: "init", appear: "appear", disappear: "disappear" }, providers: [SubscriptionService], queries: [{ propertyName: "abpHeader", first: true, predicate: ["abpHeader"], descendants: true }, { propertyName: "abpBody", first: true, predicate: ["abpBody"], descendants: true }, { propertyName: "abpFooter", first: true, predicate: ["abpFooter"], descendants: true }, { propertyName: "abpSubmit", first: true, predicate: ButtonComponent, descendants: true, read: ButtonComponent }], viewQueries: [{ propertyName: "modalContent", first: true, predicate: ["modalContent"], descendants: true }], ngImport: i0, template: "<ng-content></ng-content>\r\n\r\n<ng-template #modalContent let-modal>\r\n <div *ngIf=\"abpHeader\" id=\"abp-modal-header\" class=\"modal-header abp-modal-header\">\r\n <ng-container *ngTemplateOutlet=\"abpHeader\"></ng-container>\r\n \u200B\r\n <button\r\n id=\"abp-modal-close-button\"\r\n type=\"button\"\r\n class=\"btn-sm btn-close\"\r\n aria-label=\"Close\"\r\n (click)=\"modal.dismiss()\"\r\n ></button>\r\n </div>\r\n <div *ngIf=\"abpBody\" id=\"abp-modal-body\" class=\"modal-body\">\r\n <ng-container *ngTemplateOutlet=\"abpBody\"></ng-container>\r\n </div>\r\n <div *ngIf=\"abpFooter\" id=\"abp-modal-footer\" class=\"modal-footer\">\r\n <ng-container *ngTemplateOutlet=\"abpFooter\"></ng-container>\r\n </div>\r\n</ng-template>\r\n", styles: [".modal.show{display:block!important}.modal-backdrop{opacity:.8}.modal::-webkit-scrollbar{width:7px}.modal::-webkit-scrollbar-track{background:#ddd}.modal::-webkit-scrollbar-thumb{background:#8a8686}.modal-dialog{z-index:1050}\n"], dependencies: [{ kind: "directive", type: i5.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i5.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }] });
149
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: ModalComponent, decorators: [{
150
- type: Component,
151
- args: [{ selector: 'abp-modal', providers: [SubscriptionService], template: "<ng-content></ng-content>\r\n\r\n<ng-template #modalContent let-modal>\r\n <div *ngIf=\"abpHeader\" id=\"abp-modal-header\" class=\"modal-header abp-modal-header\">\r\n <ng-container *ngTemplateOutlet=\"abpHeader\"></ng-container>\r\n \u200B\r\n <button\r\n id=\"abp-modal-close-button\"\r\n type=\"button\"\r\n class=\"btn-sm btn-close\"\r\n aria-label=\"Close\"\r\n (click)=\"modal.dismiss()\"\r\n ></button>\r\n </div>\r\n <div *ngIf=\"abpBody\" id=\"abp-modal-body\" class=\"modal-body\">\r\n <ng-container *ngTemplateOutlet=\"abpBody\"></ng-container>\r\n </div>\r\n <div *ngIf=\"abpFooter\" id=\"abp-modal-footer\" class=\"modal-footer\">\r\n <ng-container *ngTemplateOutlet=\"abpFooter\"></ng-container>\r\n </div>\r\n</ng-template>\r\n", styles: [".modal.show{display:block!important}.modal-backdrop{opacity:.8}.modal::-webkit-scrollbar{width:7px}.modal::-webkit-scrollbar-track{background:#ddd}.modal::-webkit-scrollbar-thumb{background:#8a8686}.modal-dialog{z-index:1050}\n"] }]
152
- }], ctorParameters: function () { return [{ type: i1.ConfirmationService }, { type: i2.SubscriptionService }, { type: undefined, decorators: [{
153
- type: Optional
154
- }, {
155
- type: Inject,
156
- args: [SUPPRESS_UNSAVED_CHANGES_WARNING]
157
- }] }, { type: i3.NgbModal }, { type: i4.ModalRefService }]; }, propDecorators: { visible: [{
158
- type: Input
159
- }], busy: [{
160
- type: Input
161
- }], options: [{
162
- type: Input
163
- }], suppressUnsavedChangesWarning: [{
164
- type: Input
165
- }], modalContent: [{
166
- type: ViewChild,
167
- args: ['modalContent']
168
- }], abpHeader: [{
169
- type: ContentChild,
170
- args: ['abpHeader', { static: false }]
171
- }], abpBody: [{
172
- type: ContentChild,
173
- args: ['abpBody', { static: false }]
174
- }], abpFooter: [{
175
- type: ContentChild,
176
- args: ['abpFooter', { static: false }]
177
- }], abpSubmit: [{
178
- type: ContentChild,
179
- args: [ButtonComponent, { static: false, read: ButtonComponent }]
180
- }], visibleChange: [{
181
- type: Output
182
- }], init: [{
183
- type: Output
184
- }], appear: [{
185
- type: Output
186
- }], disappear: [{
187
- type: Output
188
- }] } });
189
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibW9kYWwuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvdGhlbWUtc2hhcmVkL3NyYy9saWIvY29tcG9uZW50cy9tb2RhbC9tb2RhbC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy90aGVtZS1zaGFyZWQvc3JjL2xpYi9jb21wb25lbnRzL21vZGFsL21vZGFsLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxJQUFJLEVBQUUsTUFBTSxjQUFjLENBQUM7QUFDekQsT0FBTyxFQUNMLFNBQVMsRUFDVCxZQUFZLEVBQ1osWUFBWSxFQUNaLE1BQU0sRUFDTixLQUFLLEVBR0wsUUFBUSxFQUNSLE1BQU0sRUFDTixXQUFXLEVBQ1gsU0FBUyxHQUNWLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBRSxRQUFRLEVBQWdDLE1BQU0sNEJBQTRCLENBQUM7QUFDcEYsT0FBTyxFQUFFLFNBQVMsRUFBRSxPQUFPLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDMUMsT0FBTyxFQUFFLFlBQVksRUFBRSxvQkFBb0IsRUFBRSxNQUFNLEVBQUUsU0FBUyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDdkYsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBQ3pELE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLHFDQUFxQyxDQUFDO0FBQzFFLE9BQU8sRUFBRSxnQ0FBZ0MsRUFBRSxNQUFNLHFEQUFxRCxDQUFDO0FBQ3ZHLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQztBQUM3RCxPQUFPLEVBQXNDLGVBQWUsRUFBRSxNQUFNLHFCQUFxQixDQUFDOzs7Ozs7O0FBVTFGLE1BQU0sT0FBTyxjQUFjO0lBbUV6QixZQUNVLG1CQUF3QyxFQUN4QyxZQUFpQyxFQUdqQyxr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QUFNO2dCQUVZLE1BQU07c0JBQXhCLE1BQU07Z0JBRVksU0FBUztzQkFBM0IsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFN1YnNjcmlwdGlvblNlcnZpY2UsIHV1aWQgfSBmcm9tICdAYWJwL25nLmNvcmUnO1xyXG5pbXBvcnQge1xyXG4gIENvbXBvbmVudCxcclxuICBDb250ZW50Q2hpbGQsXHJcbiAgRXZlbnRFbWl0dGVyLFxyXG4gIEluamVjdCxcclxuICBJbnB1dCxcclxuICBPbkRlc3Ryb3ksXHJcbiAgT25Jbml0LFxyXG4gIE9wdGlvbmFsLFxyXG4gIE91dHB1dCxcclxuICBUZW1wbGF0ZVJlZixcclxuICBWaWV3Q2hpbGQsXHJcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IE5nYk1vZGFsLCBOZ2JNb2RhbE9wdGlvbnMsIE5nYk1vZGFsUmVmIH0gZnJvbSAnQG5nLWJvb3RzdHJhcC9uZy1ib290c3RyYXAnO1xyXG5pbXBvcnQgeyBmcm9tRXZlbnQsIFN1YmplY3QgfSBmcm9tICdyeGpzJztcclxuaW1wb3J0IHsgZGVib3VuY2VUaW1lLCBkaXN0aW5jdFVudGlsQ2hhbmdlZCwgZmlsdGVyLCB0YWtlVW50aWwgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XHJcbmltcG9ydCB7IENvbmZpcm1hdGlvbiB9IGZyb20gJy4uLy4uL21vZGVscy9jb25maXJtYXRpb24nO1xyXG5pbXBvcnQgeyBDb25maXJtYXRpb25TZXJ2aWNlIH0gZnJvbSAnLi4vLi4vc2VydmljZXMvY29uZmlybWF0aW9uLnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBTVVBQUkVTU19VTlNBVkVEX0NIQU5HRVNfV0FSTklORyB9IGZyb20gJy4uLy4uL3Rva2Vucy9zdXBwcmVzcy11bnNhdmVkLWNoYW5nZXMtd2FybmluZy50b2tlbic7XHJcbmltcG9ydCB7IEJ1dHRvbkNvbXBvbmVudCB9IGZyb20gJy4uL2J1dHRvbi9idXR0b24uY29tcG9uZW50JztcclxuaW1wb3J0IHsgRGlzbWlzc2FibGVNb2RhbCwgTW9kYWxEaXNtaXNzTW9kZSwgTW9kYWxSZWZTZXJ2aWNlIH0gZnJvbSAnLi9tb2RhbC1yZWYuc2VydmljZSc7XHJcblxyXG5leHBvcnQgdHlwZSBNb2RhbFNpemUgPSAnc20nIHwgJ21kJyB8ICdsZycgfCAneGwnO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6ICdhYnAtbW9kYWwnLFxyXG4gIHRlbXBsYXRlVXJsOiAnLi9tb2RhbC5jb21wb25lbnQuaHRtbCcsXHJcbiAgc3R5bGVVcmxzOiBbJy4vbW9kYWwuY29tcG9uZW50LnNjc3MnXSxcclxuICBwcm92aWRlcnM6IFtTdWJzY3JpcHRpb25TZXJ2aWNlXSxcclxufSlcclxuZXhwb3J0IGNsYXNzIE1vZGFsQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0LCBPbkRlc3Ryb3ksIERpc21pc3NhYmxlTW9kYWwge1xyXG4gIEBJbnB1dCgpXHJcbiAgZ2V0IHZpc2libGUoKTogYm9vbGVhbiB7XHJcbiAgICByZXR1cm4gdGhpcy5fdmlzaWJsZTtcclxuICB9XHJcbiAgc2V0IHZpc2libGUodmFsdWU6IGJvb2xlYW4pIHtcclxuICAgIGlmICh0eXBlb2YgdmFsdWUgIT09ICdib29sZWFuJykgcmV0dXJuO1xyXG4gICAgdGhpcy50b2dnbGUkLm5leHQodmFsdWUpO1xyXG4gIH1cclxuXHJcbiAgQElucHV0KClcclxuICBnZXQgYnVzeSgpOiBib29sZWFuIHtcclxuICAgIHJldHVybiB0aGlzLl9idXN5O1xyXG4gIH1cclxuICBzZXQgYnVzeSh2YWx1ZTogYm9vbGVhbikge1xyXG4gICAgaWYgKHRoaXMuYWJwU3VibWl0ICYmIHRoaXMuYWJwU3VibWl0IGluc3RhbmNlb2YgQnV0dG9uQ29tcG9uZW50KSB7XHJcbiAgICAgIHRoaXMuYWJwU3VibWl0LmxvYWRpbmcgPSB2YWx1ZTtcclxuICAgIH1cclxuXHJcbiAgICB0aGlzLl9idXN5ID0gdmFsdWU7XHJcbiAgfVxyXG5cclxuICBASW5wdXQoKSBvcHRpb25zOiBOZ2JNb2RhbE9wdGlvbnMgPSB7fTtcclxuXHJcbiAgQElucHV0KCkgc3VwcHJlc3NVbnNhdmVkQ2hhbmdlc1dhcm5pbmcgPSB0aGlzLnN1cHByZXNzVW5zYXZlZENoYW5nZXNXYXJuaW5nVG9rZW47XHJcblxyXG4gIEBWaWV3Q2hpbGQoJ21vZGFsQ29udGVudCcpIG1vZGFsQ29udGVudD86IFRlbXBsYXRlUmVmPGFueT47XHJcblxyXG4gIEBDb250ZW50Q2hpbGQoJ2FicEhlYWRlcicsIHsgc3RhdGljOiBmYWxzZSB9KSBhYnBIZWFkZXI/OiBUZW1wbGF0ZVJlZjxhbnk+O1xyXG5cclxuICBAQ29udGVudENoaWxkKCdhYnBCb2R5JywgeyBzdGF0aWM6IGZhbHNlIH0pIGFicEJvZHk/OiBUZW1wbGF0ZVJlZjxhbnk+O1xyXG5cclxuICBAQ29udGVudENoaWxkKCdhYnBGb290ZXInLCB7IHN0YXRpYzogZmFsc2UgfSkgYWJwRm9vdGVyPzogVGVtcGxhdGVSZWY8YW55PjtcclxuXHJcbiAgQENvbnRlbnRDaGlsZChCdXR0b25Db21wb25lbnQsIHsgc3RhdGljOiBmYWxzZSwgcmVhZDogQnV0dG9uQ29tcG9uZW50IH0pXHJcbiAgYWJwU3VibWl0PzogQnV0dG9uQ29tcG9uZW50O1xyXG5cclxuICBAT3V0cHV0KCkgcmVhZG9ubHkgdmlzaWJsZUNoYW5nZSA9IG5ldyBFdmVudEVtaXR0ZXI8Ym9vbGVhbj4oKTtcclxuXHJcbiAgQE91dHB1dCgpIHJlYWRvbmx5IGluaXQgPSBuZXcgRXZlbnRFbWl0dGVyPHZvaWQ+KCk7XHJcblxyXG4gIEBPdXRwdXQoKSByZWFkb25seSBhcHBlYXIgPSBuZXcgRXZlbnRFbWl0dGVyPHZvaWQ+KCk7XHJcblxyXG4gIEBPdXRwdXQoKSByZWFkb25seSBkaXNhcHBlYXIgPSBuZXcgRXZlbnRFbWl0dGVyPHZvaWQ+KCk7XHJcblxyXG4gIF92aXNpYmxlID0gZmFsc2U7XHJcblxyXG4gIF9idXN5ID0gZmFsc2U7XHJcblxyXG4gIG1vZGFsUmVmITogTmdiTW9kYWxSZWY7XHJcblxyXG4gIGlzQ29uZmlybWF0aW9uT3BlbiA9IGZhbHNlO1xyXG5cclxuICBkZXN0cm95JCA9IG5ldyBTdWJqZWN0PHZvaWQ+KCk7XHJcblxyXG4gIG1vZGFsSWRlbnRpZmllciA9IGBtb2RhbC0ke3V1aWQoKX1gO1xyXG5cclxuICBwcml2YXRlIHRvZ2dsZSQgPSBuZXcgU3ViamVjdDxib29sZWFuPigpO1xyXG5cclxuICBnZXQgbW9kYWxXaW5kb3dSZWYoKSB7XHJcbiAgICByZXR1cm4gZG9jdW1lbnQucXVlcnlTZWxlY3RvcihgbmdiLW1vZGFsLXdpbmRvdy4ke3RoaXMubW9kYWxJZGVudGlmaWVyfWApO1xyXG4gIH1cclxuXHJcbiAgZ2V0IGlzRm9ybURpcnR5KCk6IGJvb2xlYW4ge1xyXG4gICAgcmV0dXJuIEJvb2xlYW4odGhpcy5tb2RhbFdpbmRvd1JlZj8ucXVlcnlTZWxlY3RvcignLm5nLWRpcnR5JykpO1xyXG4gIH1cclxuXHJcbiAgY29uc3RydWN0b3IoXHJcbiAgICBwcml2YXRlIGNvbmZpcm1hdGlvblNlcnZpY2U6IENvbmZpcm1hdGlvblNlcnZpY2UsXHJcbiAgICBwcml2YXRlIHN1YnNjcmlwdGlvbjogU3Vic2NyaXB0aW9uU2VydmljZSxcclxuICAgIEBPcHRpb25hbCgpXHJcbiAgICBASW5qZWN0KFNVUFBSRVNTX1VOU0FWRURfQ0hBTkdFU19XQVJOSU5HKVxyXG4gICAgcHJpdmF0ZSBzdXBwcmVzc1Vuc2F2ZWRDaGFuZ2VzV2FybmluZ1Rva2VuOiBib29sZWFuLFxyXG4gICAgcHJpdmF0ZSBtb2RhbDogTmdiTW9kYWwsXHJcbiAgICBwcml2YXRlIG1vZGFsUmVmU2VydmljZTogTW9kYWxSZWZTZXJ2aWNlLFxyXG4gICkge1xyXG4gICAgdGhpcy5pbml0VG9nZ2xlU3RyZWFtKCk7XHJcbiAgfVxyXG4gIG5nT25Jbml0KCk6IHZvaWQge1xyXG4gICAgdGhpcy5tb2RhbFJlZlNlcnZpY2UucmVnaXN0ZXIodGhpcyk7XHJcbiAgfVxyXG5cclxuICBkaXNtaXNzKG1vZGU6IE1vZGFsRGlzbWlzc01vZGUpIHtcclxuICAgIHN3aXRjaCAobW9kZSkge1xyXG4gICAgICBjYXNlICdoYXJkJzpcclxuICAgICAgICB0aGlzLnZpc2libGUgPSBmYWxzZTtcclxuICAgICAgICBicmVhaztcclxuICAgICAgY2FzZSAnc29mdCc6XHJcbiAgICAgICAgdGhpcy5jbG9zZSgpO1xyXG4gICAgICAgIGJyZWFrO1xyXG4gICAgICBkZWZhdWx0OlxyXG4gICAgICAgIGJyZWFrO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBpbml0VG9nZ2xlU3RyZWFtKCkge1xyXG4gICAgdGhpcy5zdWJzY3JpcHRpb24uYWRkT25lKHRoaXMudG9nZ2xlJC5waXBlKGRlYm91bmNlVGltZSgwKSwgZGlzdGluY3RVbnRpbENoYW5nZWQoKSksIHZhbHVlID0+XHJcbiAgICAgIHRoaXMudG9nZ2xlKHZhbHVlKSxcclxuICAgICk7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIHRvZ2dsZSh2YWx1ZTogYm9vbGVhbikge1xyXG4gICAgdGhpcy5fdmlzaWJsZSA9IHZhbHVlO1xyXG4gICAgdGhpcy52aXNpYmxlQ2hhbmdlLmVtaXQodmFsdWUpO1xyXG5cclxuICAgIGlmICghdmFsdWUpIHtcclxuICAgICAgdGhpcy5tb2RhbFJlZj8uZGlzbWlzcygpO1xyXG4gICAgICB0aGlzLmRpc2FwcGVhci5lbWl0KCk7XHJcbiAgICAgIHRoaXMuZGVzdHJveSQubmV4dCgpO1xyXG4gICAgICByZXR1cm47XHJcbiAgICB9XHJcblxyXG4gICAgc2V0VGltZW91dCgoKSA9PiB0aGlzLmxpc3RlbigpLCAwKTtcclxuICAgIHRoaXMubW9kYWxSZWYgPSB0aGlzLm1vZGFsLm9wZW4odGhpcy5tb2RhbENvbnRlbnQsIHtcclxuICAgICAgc2l6ZTogJ21kJyxcclxuICAgICAgY2VudGVyZWQ6IGZhbHNlLFxyXG4gICAgICBrZXlib2FyZDogZmFsc2UsXHJcbiAgICAgIHNjcm9sbGFibGU6IHRydWUsXHJcbiAgICAgIGJlZm9yZURpc21pc3M6ICgpID0+IHtcclxuICAgICAgICBpZiAoIXRoaXMudmlzaWJsZSkgcmV0dXJuIHRydWU7XHJcblxyXG4gICAgICAgIHRoaXMuY2xvc2UoKTtcclxuICAgICAgICByZXR1cm4gIXRoaXMudmlzaWJsZTtcclxuICAgICAgfSxcclxuICAgICAgLi4udGhpcy5vcHRpb25zLFxyXG4gICAgICB3aW5kb3dDbGFzczogYCR7dGhpcy5vcHRpb25zLndpbmRvd0NsYXNzIHx8ICcnfSAke3RoaXMubW9kYWxJZGVudGlmaWVyfWAsXHJcbiAgICB9KTtcclxuXHJcbiAgICB0aGlzLmFwcGVhci5lbWl0KCk7XHJcbiAgfVxyXG5cclxuICBuZ09uRGVzdHJveSgpOiB2b2lkIHtcclxuICAgIHRoaXMubW9kYWxSZWZTZXJ2aWNlLnVucmVnaXN0ZXIodGhpcyk7XHJcbiAgICB0aGlzLnRvZ2dsZShmYWxzZSk7XHJcbiAgICB0aGlzLmRlc3Ryb3kkLm5leHQoKTtcclxuICB9XHJcblxyXG4gIGNsb3NlKCkge1xyXG4gICAgaWYgKHRoaXMuYnVzeSkgcmV0dXJuO1xyXG5cclxuICAgIGlmICh0aGlzLmlzRm9ybURpcnR5ICYmICF0aGlzLnN1cHByZXNzVW5zYXZlZENoYW5nZXNXYXJuaW5nKSB7XHJcbiAgICAgIGlmICh0aGlzLmlzQ29uZmlybWF0aW9uT3BlbikgcmV0dXJuO1xyXG5cclxuICAgICAgdGhpcy5pc0NvbmZpcm1hdGlvbk9wZW4gPSB0cnVlO1xyXG4gICAgICB0aGlzLmNvbmZpcm1hdGlvblNlcnZpY2VcclxuICAgICAgICAud2FybihcclxuICAgICAgICAgICdBYnBVaTo6QXJlWW91U3VyZVlvdVdhbnRUb0NhbmNlbEVkaXRpbmdXYXJuaW5nTWVzc2FnZScsXHJcbiAgICAgICAgICAnQWJwVWk6OkFyZVlvdVN1cmUnLFxyXG4gICAgICAgICAgeyBkaXNtaXNzaWJsZTogZmFsc2UgfSxcclxuICAgICAgICApXHJcbiAgICAgICAgLnN1YnNjcmliZSgoc3RhdHVzOiBDb25maXJtYXRpb24uU3RhdHVzKSA9PiB7XHJcbiAgICAgICAgICB0aGlzLmlzQ29uZmlybWF0aW9uT3BlbiA9IGZhbHNlO1xyXG4gICAgICAgICAgaWYgKHN0YXR1cyA9PT0gQ29uZmlybWF0aW9uLlN0YXR1cy5jb25maXJtKSB7XHJcbiAgICAgICAgICAgIHRoaXMudmlzaWJsZSA9IGZhbHNlO1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH0pO1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgdGhpcy52aXNpYmxlID0gZmFsc2U7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBsaXN0ZW4oKSB7XHJcbiAgICBpZiAodGhpcy5tb2RhbFdpbmRvd1JlZikge1xyXG4gICAgICBmcm9tRXZlbnQ8S2V5Ym9hcmRFdmVudD4odGhpcy5tb2RhbFdpbmRvd1JlZiwgJ2tleXVwJylcclxuICAgICAgICAucGlwZShcclxuICAgICAgICAgIHRha2VVbnRpbCh0aGlzLmRlc3Ryb3kkKSxcclxuICAgICAgICAgIGRlYm91bmNlVGltZSgxNTApLFxyXG4gICAgICAgICAgZmlsdGVyKChrZXk6IEtleWJvYXJkRXZlbnQpID0+IGtleSAmJiBrZXkua2V5ID09PSAnRXNjYXBlJyAmJiB0aGlzLm9wdGlvbnMua2V5Ym9hcmQpLFxyXG4gICAgICAgIClcclxuICAgICAgICAuc3Vic2NyaWJlKCgpID0+IHRoaXMuY2xvc2UoKSk7XHJcbiAgICB9XHJcblxyXG4gICAgZnJvbUV2ZW50KHdpbmRvdywgJ2JlZm9yZXVubG9hZCcpXHJcbiAgICAgIC5waXBlKHRha2VVbnRpbCh0aGlzLmRlc3Ryb3kkKSlcclxuICAgICAgLnN1YnNjcmliZShldmVudCA9PiB7XHJcbiAgICAgICAgLy8gVE9ETzogY2hlY2sgdGhpc1xyXG4gICAgICAgIGlmICghdGhpcy5pc0Zvcm1EaXJ0eSB8fCB0aGlzLnN1cHByZXNzVW5zYXZlZENoYW5nZXNXYXJuaW5nKSB7XHJcbiAgICAgICAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xyXG4gICAgICAgIH1cclxuICAgICAgfSk7XHJcblxyXG4gICAgdGhpcy5pbml0LmVtaXQoKTtcclxuICB9XHJcbn1cclxuIiwiPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PlxyXG5cclxuPG5nLXRlbXBsYXRlICNtb2RhbENvbnRlbnQgbGV0LW1vZGFsPlxyXG4gIDxkaXYgKm5nSWY9XCJhYnBIZWFkZXJcIiBpZD1cImFicC1tb2RhbC1oZWFkZXJcIiBjbGFzcz1cIm1vZGFsLWhlYWRlciBhYnAtbW9kYWwtaGVhZGVyXCI+XHJcbiAgICA8bmctY29udGFpbmVyICpuZ1RlbXBsYXRlT3V0bGV0PVwiYWJwSGVhZGVyXCI+PC9uZy1jb250YWluZXI+XHJcbiAgICDigItcclxuICAgIDxidXR0b25cclxuICAgICAgaWQ9XCJhYnAtbW9kYWwtY2xvc2UtYnV0dG9uXCJcclxuICAgICAgdHlwZT1cImJ1dHRvblwiXHJcbiAgICAgIGNsYXNzPVwiYnRuLXNtIGJ0bi1jbG9zZVwiXHJcbiAgICAgIGFyaWEtbGFiZWw9XCJDbG9zZVwiXHJcbiAgICAgIChjbGljayk9XCJtb2RhbC5kaXNtaXNzKClcIlxyXG4gICAgPjwvYnV0dG9uPlxyXG4gIDwvZGl2PlxyXG4gIDxkaXYgKm5nSWY9XCJhYnBCb2R5XCIgaWQ9XCJhYnAtbW9kYWwtYm9keVwiIGNsYXNzPVwibW9kYWwtYm9keVwiPlxyXG4gICAgPG5nLWNvbnRhaW5lciAqbmdUZW1wbGF0ZU91dGxldD1cImFicEJvZHlcIj48L25nLWNvbnRhaW5lcj5cclxuICA8L2Rpdj5cclxuICA8ZGl2ICpuZ0lmPVwiYWJwRm9vdGVyXCIgaWQ9XCJhYnAtbW9kYWwtZm9vdGVyXCIgY2xhc3M9XCJtb2RhbC1mb290ZXJcIj5cclxuICAgIDxuZy1jb250YWluZXIgKm5nVGVtcGxhdGVPdXRsZXQ9XCJhYnBGb290ZXJcIj48L25nLWNvbnRhaW5lcj5cclxuICA8L2Rpdj5cclxuPC9uZy10ZW1wbGF0ZT5cclxuIl19
@@ -1,38 +0,0 @@
1
- import { Component, forwardRef, Injector, Input } from '@angular/core';
2
- import { AbstractNgModelComponent } from '@abp/ng.core';
3
- import { NG_VALUE_ACCESSOR } from '@angular/forms';
4
- import * as i0 from "@angular/core";
5
- import * as i1 from "@angular/common";
6
- import * as i2 from "@angular/forms";
7
- import * as i3 from "@ngx-validate/core";
8
- export class PasswordComponent extends AbstractNgModelComponent {
9
- constructor(injector) {
10
- super(injector);
11
- }
12
- toggleFieldTextType() {
13
- this.fieldTextType = !this.fieldTextType;
14
- }
15
- }
16
- PasswordComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: PasswordComponent, deps: [{ token: i0.Injector }], target: i0.ɵɵFactoryTarget.Component });
17
- PasswordComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.0.4", type: PasswordComponent, selector: "abp-password", inputs: { inputId: "inputId", formControlName: "formControlName" }, providers: [
18
- {
19
- provide: NG_VALUE_ACCESSOR,
20
- useExisting: forwardRef(() => PasswordComponent),
21
- multi: true,
22
- },
23
- ], usesInheritance: true, ngImport: i0, template: "<div class=\"input-group\" validationTarget>\r\n <input\r\n [type]=\"fieldTextType ? 'text' : 'password'\"\r\n class=\"form-control\"\r\n [id]=\"inputId\"\r\n [(ngModel)]=\"value\"\r\n />\r\n\r\n <button class=\"btn btn-secondary\" type=\"button\" (click)=\"toggleFieldTextType()\">\r\n <i\r\n class=\"fa\"\r\n [ngClass]=\"{\r\n 'fa-eye-slash': !fieldTextType,\r\n 'fa-eye': fieldTextType\r\n }\"\r\n ></i>\r\n </button>\r\n</div>\r\n", dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i2.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "directive", type: i3.ValidationTargetDirective, selector: "[validationTarget]", exportAs: ["validationTarget"] }] });
24
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: PasswordComponent, decorators: [{
25
- type: Component,
26
- args: [{ selector: 'abp-password', providers: [
27
- {
28
- provide: NG_VALUE_ACCESSOR,
29
- useExisting: forwardRef(() => PasswordComponent),
30
- multi: true,
31
- },
32
- ], template: "<div class=\"input-group\" validationTarget>\r\n <input\r\n [type]=\"fieldTextType ? 'text' : 'password'\"\r\n class=\"form-control\"\r\n [id]=\"inputId\"\r\n [(ngModel)]=\"value\"\r\n />\r\n\r\n <button class=\"btn btn-secondary\" type=\"button\" (click)=\"toggleFieldTextType()\">\r\n <i\r\n class=\"fa\"\r\n [ngClass]=\"{\r\n 'fa-eye-slash': !fieldTextType,\r\n 'fa-eye': fieldTextType\r\n }\"\r\n ></i>\r\n </button>\r\n</div>\r\n" }]
33
- }], ctorParameters: function () { return [{ type: i0.Injector }]; }, propDecorators: { inputId: [{
34
- type: Input
35
- }], formControlName: [{
36
- type: Input
37
- }] } });
38
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGFzc3dvcmQuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvdGhlbWUtc2hhcmVkL3NyYy9saWIvY29tcG9uZW50cy9wYXNzd29yZC9wYXNzd29yZC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy90aGVtZS1zaGFyZWQvc3JjL2xpYi9jb21wb25lbnRzL3Bhc3N3b3JkL3Bhc3N3b3JkLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsVUFBVSxFQUFFLFFBQVEsRUFBRSxLQUFLLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDdkUsT0FBTyxFQUFFLHdCQUF3QixFQUFFLE1BQU0sY0FBYyxDQUFDO0FBQ3hELE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLGdCQUFnQixDQUFDOzs7OztBQWFuRCxNQUFNLE9BQU8saUJBQWtCLFNBQVEsd0JBQXdCO0lBSzdELFlBQVksUUFBa0I7UUFDNUIsS0FBSyxDQUFDLFFBQVEsQ0FBQyxDQUFDO0lBQ2xCLENBQUM7SUFFRCxtQkFBbUI7UUFDakIsSUFBSSxDQUFDLGFBQWEsR0FBRyxDQUFDLElBQUksQ0FBQyxhQUFhLENBQUM7SUFDM0MsQ0FBQzs7OEdBWFUsaUJBQWlCO2tHQUFqQixpQkFBaUIsMkdBUmpCO1FBQ1Q7WUFDRSxPQUFPLEVBQUUsaUJBQWlCO1lBQzFCLFdBQVcsRUFBRSxVQUFVLENBQUMsR0FBRyxFQUFFLENBQUMsaUJBQWlCLENBQUM7WUFDaEQsS0FBSyxFQUFFLElBQUk7U0FDWjtLQUNGLGlEQ2JILHVlQWtCQTsyRkRIYSxpQkFBaUI7a0JBWDdCLFNBQVM7K0JBQ0UsY0FBYyxhQUViO3dCQUNUOzRCQUNFLE9BQU8sRUFBRSxpQkFBaUI7NEJBQzFCLFdBQVcsRUFBRSxVQUFVLENBQUMsR0FBRyxFQUFFLGtCQUFrQixDQUFDOzRCQUNoRCxLQUFLLEVBQUUsSUFBSTt5QkFDWjtxQkFDRjsrRkFHUSxPQUFPO3NCQUFmLEtBQUs7Z0JBQ0csZUFBZTtzQkFBdkIsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgZm9yd2FyZFJlZiwgSW5qZWN0b3IsIElucHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IEFic3RyYWN0TmdNb2RlbENvbXBvbmVudCB9IGZyb20gJ0BhYnAvbmcuY29yZSc7XHJcbmltcG9ydCB7IE5HX1ZBTFVFX0FDQ0VTU09SIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6ICdhYnAtcGFzc3dvcmQnLFxyXG4gIHRlbXBsYXRlVXJsOiBgLi9wYXNzd29yZC5jb21wb25lbnQuaHRtbGAsXHJcbiAgcHJvdmlkZXJzOiBbXHJcbiAgICB7XHJcbiAgICAgIHByb3ZpZGU6IE5HX1ZBTFVFX0FDQ0VTU09SLFxyXG4gICAgICB1c2VFeGlzdGluZzogZm9yd2FyZFJlZigoKSA9PiBQYXNzd29yZENvbXBvbmVudCksXHJcbiAgICAgIG11bHRpOiB0cnVlLFxyXG4gICAgfSxcclxuICBdLFxyXG59KVxyXG5leHBvcnQgY2xhc3MgUGFzc3dvcmRDb21wb25lbnQgZXh0ZW5kcyBBYnN0cmFjdE5nTW9kZWxDb21wb25lbnQge1xyXG4gIEBJbnB1dCgpIGlucHV0SWQhOiBzdHJpbmc7XHJcbiAgQElucHV0KCkgZm9ybUNvbnRyb2xOYW1lITogc3RyaW5nO1xyXG4gIGZpZWxkVGV4dFR5cGU/OiBib29sZWFuO1xyXG5cclxuICBjb25zdHJ1Y3RvcihpbmplY3RvcjogSW5qZWN0b3IpIHtcclxuICAgIHN1cGVyKGluamVjdG9yKTtcclxuICB9XHJcblxyXG4gIHRvZ2dsZUZpZWxkVGV4dFR5cGUoKSB7XHJcbiAgICB0aGlzLmZpZWxkVGV4dFR5cGUgPSAhdGhpcy5maWVsZFRleHRUeXBlO1xyXG4gIH1cclxufVxyXG4iLCI8ZGl2IGNsYXNzPVwiaW5wdXQtZ3JvdXBcIiB2YWxpZGF0aW9uVGFyZ2V0PlxyXG4gIDxpbnB1dFxyXG4gICAgW3R5cGVdPVwiZmllbGRUZXh0VHlwZSA/ICd0ZXh0JyA6ICdwYXNzd29yZCdcIlxyXG4gICAgY2xhc3M9XCJmb3JtLWNvbnRyb2xcIlxyXG4gICAgW2lkXT1cImlucHV0SWRcIlxyXG4gICAgWyhuZ01vZGVsKV09XCJ2YWx1ZVwiXHJcbiAgLz5cclxuXHJcbiAgPGJ1dHRvbiBjbGFzcz1cImJ0biBidG4tc2Vjb25kYXJ5XCIgdHlwZT1cImJ1dHRvblwiIChjbGljayk9XCJ0b2dnbGVGaWVsZFRleHRUeXBlKClcIj5cclxuICAgIDxpXHJcbiAgICAgIGNsYXNzPVwiZmFcIlxyXG4gICAgICBbbmdDbGFzc109XCJ7XHJcbiAgICAgICAgJ2ZhLWV5ZS1zbGFzaCc6ICFmaWVsZFRleHRUeXBlLFxyXG4gICAgICAgICdmYS1leWUnOiBmaWVsZFRleHRUeXBlXHJcbiAgICAgIH1cIlxyXG4gICAgPjwvaT5cclxuICA8L2J1dHRvbj5cclxuPC9kaXY+XHJcbiJdfQ==
@@ -1,55 +0,0 @@
1
- import { Component, EventEmitter, Input, Output } from '@angular/core';
2
- import * as i0 from "@angular/core";
3
- import * as i1 from "@angular/common";
4
- import * as i2 from "@abp/ng.core";
5
- export class ToastComponent {
6
- constructor() {
7
- this.remove = new EventEmitter();
8
- }
9
- get severityClass() {
10
- if (!this.toast || !this.toast.severity)
11
- return '';
12
- return `abp-toast-${this.toast.severity}`;
13
- }
14
- get iconClass() {
15
- switch (this.toast.severity) {
16
- case 'success':
17
- return 'fa-check-circle';
18
- case 'info':
19
- return 'fa-info-circle';
20
- case 'warning':
21
- return 'fa-exclamation-triangle';
22
- case 'error':
23
- return 'fa-times-circle';
24
- default:
25
- return 'fa-exclamation-circle';
26
- }
27
- }
28
- ngOnInit() {
29
- const { sticky, life } = this.toast.options || {};
30
- if (sticky)
31
- return;
32
- const timeout = life || 5000;
33
- setTimeout(() => {
34
- this.close();
35
- }, timeout);
36
- }
37
- close() {
38
- this.remove.emit(this.toast.options?.id);
39
- }
40
- tap() {
41
- if (this.toast.options?.tapToDismiss)
42
- this.close();
43
- }
44
- }
45
- ToastComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: ToastComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
46
- ToastComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.0.4", type: ToastComponent, selector: "abp-toast", inputs: { toast: "toast" }, outputs: { remove: "remove" }, ngImport: i0, template: "<div class=\"abp-toast\" [ngClass]=\"severityClass\" (click)=\"tap()\">\r\n <div class=\"abp-toast-icon\">\r\n <i class=\"fa icon\" [ngClass]=\"iconClass\"></i>\r\n </div>\r\n <div class=\"abp-toast-content\">\r\n <button class=\"abp-toast-close-button\" (click)=\"close()\" *ngIf=\"toast.options?.closable\">\r\n <i class=\"fa fa-times\"></i>\r\n </button>\r\n <div class=\"abp-toast-title\">\r\n {{ toast.title | abpLocalization: toast.options?.titleLocalizationParams }}\r\n </div>\r\n <p\r\n class=\"abp-toast-message\"\r\n [innerHTML]=\"toast.message | abpLocalization: toast.options?.messageLocalizationParams\"\r\n ></p>\r\n </div>\r\n</div>\r\n", styles: [".abp-toast{display:grid;grid-template-columns:50px 1fr;gap:10px;margin:5px 0;padding:10px;border-radius:0;width:350px;-webkit-user-select:none;user-select:none;z-index:9999;border:2px solid #f0f0f0;background-color:#f0f0f0;color:#000;box-shadow:0 0 10px -5px #0006;opacity:1}.abp-toast:hover{border:2px solid #e3e3e3;background-color:#e3e3e3;box-shadow:0 0 15px -5px #0006}.abp-toast.abp-toast-success{border:2px solid #51a351;background-color:#51a351;color:#fff;box-shadow:0 0 10px -5px #0006}.abp-toast.abp-toast-success:hover{border:2px solid #499249;background-color:#499249;box-shadow:0 0 15px -5px #0006}.abp-toast.abp-toast-info{border:2px solid #2f96b4;background-color:#2f96b4;color:#fff;box-shadow:0 0 10px -5px #0006}.abp-toast.abp-toast-info:hover{border:2px solid #2a85a0;background-color:#2a85a0;box-shadow:0 0 15px -5px #0006}.abp-toast.abp-toast-warning{border:2px solid #f89406;background-color:#f89406;color:#fff;box-shadow:0 0 10px -5px #0006}.abp-toast.abp-toast-warning:hover{border:2px solid #df8505;background-color:#df8505;box-shadow:0 0 15px -5px #0006}.abp-toast.abp-toast-error{border:2px solid #bd362f;background-color:#bd362f;color:#fff;box-shadow:0 0 10px -5px #0006}.abp-toast.abp-toast-error:hover{border:2px solid #a9302a;background-color:#a9302a;box-shadow:0 0 15px -5px #0006}.abp-toast .abp-toast-icon{display:flex;align-items:center;justify-content:center}.abp-toast .abp-toast-icon .icon{font-size:36px}.abp-toast .abp-toast-content{position:relative;display:flex;align-self:center;word-break:break-word}.abp-toast .abp-toast-content .abp-toast-close-button{position:absolute;top:0;right:0;display:flex;align-items:center;justify-content:center;margin:0;padding:0 5px 0 0;width:25px;height:25px;border:none;border-radius:50%;background:transparent;color:inherit}.abp-toast .abp-toast-content .abp-toast-close-button:focus{outline:none}.abp-toast .abp-toast-content .abp-toast-title{margin:0;padding:0;font-size:1rem;font-weight:600}.abp-toast .abp-toast-content .abp-toast-message{margin:0;padding:0;max-width:240px}\n"], dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "pipe", type: i2.LocalizationPipe, name: "abpLocalization" }] });
47
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: ToastComponent, decorators: [{
48
- type: Component,
49
- args: [{ selector: 'abp-toast', template: "<div class=\"abp-toast\" [ngClass]=\"severityClass\" (click)=\"tap()\">\r\n <div class=\"abp-toast-icon\">\r\n <i class=\"fa icon\" [ngClass]=\"iconClass\"></i>\r\n </div>\r\n <div class=\"abp-toast-content\">\r\n <button class=\"abp-toast-close-button\" (click)=\"close()\" *ngIf=\"toast.options?.closable\">\r\n <i class=\"fa fa-times\"></i>\r\n </button>\r\n <div class=\"abp-toast-title\">\r\n {{ toast.title | abpLocalization: toast.options?.titleLocalizationParams }}\r\n </div>\r\n <p\r\n class=\"abp-toast-message\"\r\n [innerHTML]=\"toast.message | abpLocalization: toast.options?.messageLocalizationParams\"\r\n ></p>\r\n </div>\r\n</div>\r\n", styles: [".abp-toast{display:grid;grid-template-columns:50px 1fr;gap:10px;margin:5px 0;padding:10px;border-radius:0;width:350px;-webkit-user-select:none;user-select:none;z-index:9999;border:2px solid #f0f0f0;background-color:#f0f0f0;color:#000;box-shadow:0 0 10px -5px #0006;opacity:1}.abp-toast:hover{border:2px solid #e3e3e3;background-color:#e3e3e3;box-shadow:0 0 15px -5px #0006}.abp-toast.abp-toast-success{border:2px solid #51a351;background-color:#51a351;color:#fff;box-shadow:0 0 10px -5px #0006}.abp-toast.abp-toast-success:hover{border:2px solid #499249;background-color:#499249;box-shadow:0 0 15px -5px #0006}.abp-toast.abp-toast-info{border:2px solid #2f96b4;background-color:#2f96b4;color:#fff;box-shadow:0 0 10px -5px #0006}.abp-toast.abp-toast-info:hover{border:2px solid #2a85a0;background-color:#2a85a0;box-shadow:0 0 15px -5px #0006}.abp-toast.abp-toast-warning{border:2px solid #f89406;background-color:#f89406;color:#fff;box-shadow:0 0 10px -5px #0006}.abp-toast.abp-toast-warning:hover{border:2px solid #df8505;background-color:#df8505;box-shadow:0 0 15px -5px #0006}.abp-toast.abp-toast-error{border:2px solid #bd362f;background-color:#bd362f;color:#fff;box-shadow:0 0 10px -5px #0006}.abp-toast.abp-toast-error:hover{border:2px solid #a9302a;background-color:#a9302a;box-shadow:0 0 15px -5px #0006}.abp-toast .abp-toast-icon{display:flex;align-items:center;justify-content:center}.abp-toast .abp-toast-icon .icon{font-size:36px}.abp-toast .abp-toast-content{position:relative;display:flex;align-self:center;word-break:break-word}.abp-toast .abp-toast-content .abp-toast-close-button{position:absolute;top:0;right:0;display:flex;align-items:center;justify-content:center;margin:0;padding:0 5px 0 0;width:25px;height:25px;border:none;border-radius:50%;background:transparent;color:inherit}.abp-toast .abp-toast-content .abp-toast-close-button:focus{outline:none}.abp-toast .abp-toast-content .abp-toast-title{margin:0;padding:0;font-size:1rem;font-weight:600}.abp-toast .abp-toast-content .abp-toast-message{margin:0;padding:0;max-width:240px}\n"] }]
50
- }], propDecorators: { toast: [{
51
- type: Input
52
- }], remove: [{
53
- type: Output
54
- }] } });
55
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidG9hc3QuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvdGhlbWUtc2hhcmVkL3NyYy9saWIvY29tcG9uZW50cy90b2FzdC90b2FzdC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy90aGVtZS1zaGFyZWQvc3JjL2xpYi9jb21wb25lbnRzL3RvYXN0L3RvYXN0LmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsWUFBWSxFQUFFLEtBQUssRUFBVSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7Ozs7QUFPL0UsTUFBTSxPQUFPLGNBQWM7SUFMM0I7UUFTWSxXQUFNLEdBQUcsSUFBSSxZQUFZLEVBQVUsQ0FBQztLQXVDL0M7SUFyQ0MsSUFBSSxhQUFhO1FBQ2YsSUFBSSxDQUFDLElBQUksQ0FBQyxLQUFLLElBQUksQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLFFBQVE7WUFBRSxPQUFPLEVBQUUsQ0FBQztRQUNuRCxPQUFPLGFBQWEsSUFBSSxDQUFDLEtBQUssQ0FBQyxRQUFRLEVBQUUsQ0FBQztJQUM1QyxDQUFDO0lBRUQsSUFBSSxTQUFTO1FBQ1gsUUFBUSxJQUFJLENBQUMsS0FBSyxDQUFDLFFBQVEsRUFBRTtZQUMzQixLQUFLLFNBQVM7Z0JBQ1osT0FBTyxpQkFBaUIsQ0FBQztZQUMzQixLQUFLLE1BQU07Z0JBQ1QsT0FBTyxnQkFBZ0IsQ0FBQztZQUMxQixLQUFLLFNBQVM7Z0JBQ1osT0FBTyx5QkFBeUIsQ0FBQztZQUNuQyxLQUFLLE9BQU87Z0JBQ1YsT0FBTyxpQkFBaUIsQ0FBQztZQUMzQjtnQkFDRSxPQUFPLHVCQUF1QixDQUFDO1NBQ2xDO0lBQ0gsQ0FBQztJQUVELFFBQVE7UUFDTixNQUFNLEVBQUUsTUFBTSxFQUFFLElBQUksRUFBRSxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsT0FBTyxJQUFJLEVBQUUsQ0FBQztRQUVsRCxJQUFJLE1BQU07WUFBRSxPQUFPO1FBQ25CLE1BQU0sT0FBTyxHQUFHLElBQUksSUFBSSxJQUFJLENBQUM7UUFDN0IsVUFBVSxDQUFDLEdBQUcsRUFBRTtZQUNkLElBQUksQ0FBQyxLQUFLLEVBQUUsQ0FBQztRQUNmLENBQUMsRUFBRSxPQUFPLENBQUMsQ0FBQztJQUNkLENBQUM7SUFFRCxLQUFLO1FBQ0gsSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxPQUFPLEVBQUUsRUFBRSxDQUFDLENBQUM7SUFDM0MsQ0FBQztJQUVELEdBQUc7UUFDRCxJQUFJLElBQUksQ0FBQyxLQUFLLENBQUMsT0FBTyxFQUFFLFlBQVk7WUFBRSxJQUFJLENBQUMsS0FBSyxFQUFFLENBQUM7SUFDckQsQ0FBQzs7MkdBMUNVLGNBQWM7K0ZBQWQsY0FBYyw0R0NQM0IsMnJCQWlCQTsyRkRWYSxjQUFjO2tCQUwxQixTQUFTOytCQUNFLFdBQVc7OEJBTXJCLEtBQUs7c0JBREosS0FBSztnQkFHSSxNQUFNO3NCQUFmLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIEV2ZW50RW1pdHRlciwgSW5wdXQsIE9uSW5pdCwgT3V0cHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IFRvYXN0ZXIgfSBmcm9tICcuLi8uLi9tb2RlbHMvdG9hc3Rlcic7XHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAnYWJwLXRvYXN0JyxcclxuICB0ZW1wbGF0ZVVybDogJy4vdG9hc3QuY29tcG9uZW50Lmh0bWwnLFxyXG4gIHN0eWxlVXJsczogWycuL3RvYXN0LmNvbXBvbmVudC5zY3NzJ10sXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBUb2FzdENvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XHJcbiAgQElucHV0KClcclxuICB0b2FzdCE6IFRvYXN0ZXIuVG9hc3Q7XHJcblxyXG4gIEBPdXRwdXQoKSByZW1vdmUgPSBuZXcgRXZlbnRFbWl0dGVyPG51bWJlcj4oKTtcclxuXHJcbiAgZ2V0IHNldmVyaXR5Q2xhc3MoKTogc3RyaW5nIHtcclxuICAgIGlmICghdGhpcy50b2FzdCB8fCAhdGhpcy50b2FzdC5zZXZlcml0eSkgcmV0dXJuICcnO1xyXG4gICAgcmV0dXJuIGBhYnAtdG9hc3QtJHt0aGlzLnRvYXN0LnNldmVyaXR5fWA7XHJcbiAgfVxyXG5cclxuICBnZXQgaWNvbkNsYXNzKCk6IHN0cmluZyB7XHJcbiAgICBzd2l0Y2ggKHRoaXMudG9hc3Quc2V2ZXJpdHkpIHtcclxuICAgICAgY2FzZSAnc3VjY2Vzcyc6XHJcbiAgICAgICAgcmV0dXJuICdmYS1jaGVjay1jaXJjbGUnO1xyXG4gICAgICBjYXNlICdpbmZvJzpcclxuICAgICAgICByZXR1cm4gJ2ZhLWluZm8tY2lyY2xlJztcclxuICAgICAgY2FzZSAnd2FybmluZyc6XHJcbiAgICAgICAgcmV0dXJuICdmYS1leGNsYW1hdGlvbi10cmlhbmdsZSc7XHJcbiAgICAgIGNhc2UgJ2Vycm9yJzpcclxuICAgICAgICByZXR1cm4gJ2ZhLXRpbWVzLWNpcmNsZSc7XHJcbiAgICAgIGRlZmF1bHQ6XHJcbiAgICAgICAgcmV0dXJuICdmYS1leGNsYW1hdGlvbi1jaXJjbGUnO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgbmdPbkluaXQoKSB7XHJcbiAgICBjb25zdCB7IHN0aWNreSwgbGlmZSB9ID0gdGhpcy50b2FzdC5vcHRpb25zIHx8IHt9O1xyXG5cclxuICAgIGlmIChzdGlja3kpIHJldHVybjtcclxuICAgIGNvbnN0IHRpbWVvdXQgPSBsaWZlIHx8IDUwMDA7XHJcbiAgICBzZXRUaW1lb3V0KCgpID0+IHtcclxuICAgICAgdGhpcy5jbG9zZSgpO1xyXG4gICAgfSwgdGltZW91dCk7XHJcbiAgfVxyXG5cclxuICBjbG9zZSgpIHtcclxuICAgIHRoaXMucmVtb3ZlLmVtaXQodGhpcy50b2FzdC5vcHRpb25zPy5pZCk7XHJcbiAgfVxyXG5cclxuICB0YXAoKSB7XHJcbiAgICBpZiAodGhpcy50b2FzdC5vcHRpb25zPy50YXBUb0Rpc21pc3MpIHRoaXMuY2xvc2UoKTtcclxuICB9XHJcbn1cclxuIiwiPGRpdiBjbGFzcz1cImFicC10b2FzdFwiIFtuZ0NsYXNzXT1cInNldmVyaXR5Q2xhc3NcIiAoY2xpY2spPVwidGFwKClcIj5cclxuICA8ZGl2IGNsYXNzPVwiYWJwLXRvYXN0LWljb25cIj5cclxuICAgIDxpIGNsYXNzPVwiZmEgaWNvblwiIFtuZ0NsYXNzXT1cImljb25DbGFzc1wiPjwvaT5cclxuICA8L2Rpdj5cclxuICA8ZGl2IGNsYXNzPVwiYWJwLXRvYXN0LWNvbnRlbnRcIj5cclxuICAgIDxidXR0b24gY2xhc3M9XCJhYnAtdG9hc3QtY2xvc2UtYnV0dG9uXCIgKGNsaWNrKT1cImNsb3NlKClcIiAqbmdJZj1cInRvYXN0Lm9wdGlvbnM/LmNsb3NhYmxlXCI+XHJcbiAgICAgIDxpIGNsYXNzPVwiZmEgZmEtdGltZXNcIj48L2k+XHJcbiAgICA8L2J1dHRvbj5cclxuICAgIDxkaXYgY2xhc3M9XCJhYnAtdG9hc3QtdGl0bGVcIj5cclxuICAgICAge3sgdG9hc3QudGl0bGUgfCBhYnBMb2NhbGl6YXRpb246IHRvYXN0Lm9wdGlvbnM/LnRpdGxlTG9jYWxpemF0aW9uUGFyYW1zIH19XHJcbiAgICA8L2Rpdj5cclxuICAgIDxwXHJcbiAgICAgIGNsYXNzPVwiYWJwLXRvYXN0LW1lc3NhZ2VcIlxyXG4gICAgICBbaW5uZXJIVE1MXT1cInRvYXN0Lm1lc3NhZ2UgfCBhYnBMb2NhbGl6YXRpb246IHRvYXN0Lm9wdGlvbnM/Lm1lc3NhZ2VMb2NhbGl6YXRpb25QYXJhbXNcIlxyXG4gICAgPjwvcD5cclxuICA8L2Rpdj5cclxuPC9kaXY+XHJcbiJdfQ==