@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
@@ -0,0 +1,190 @@
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
+ class ModalComponent {
18
+ get visible() {
19
+ return this._visible;
20
+ }
21
+ set visible(value) {
22
+ if (typeof value !== 'boolean')
23
+ return;
24
+ this.toggle$.next(value);
25
+ }
26
+ get busy() {
27
+ return this._busy;
28
+ }
29
+ set busy(value) {
30
+ if (this.abpSubmit && this.abpSubmit instanceof ButtonComponent) {
31
+ this.abpSubmit.loading = value;
32
+ }
33
+ this._busy = value;
34
+ }
35
+ get modalWindowRef() {
36
+ return document.querySelector(`ngb-modal-window.${this.modalIdentifier}`);
37
+ }
38
+ get isFormDirty() {
39
+ return Boolean(this.modalWindowRef?.querySelector('.ng-dirty'));
40
+ }
41
+ constructor(confirmationService, subscription, suppressUnsavedChangesWarningToken, modal, modalRefService) {
42
+ this.confirmationService = confirmationService;
43
+ this.subscription = subscription;
44
+ this.suppressUnsavedChangesWarningToken = suppressUnsavedChangesWarningToken;
45
+ this.modal = modal;
46
+ this.modalRefService = modalRefService;
47
+ this.options = {};
48
+ this.suppressUnsavedChangesWarning = this.suppressUnsavedChangesWarningToken;
49
+ this.visibleChange = new EventEmitter();
50
+ this.init = new EventEmitter();
51
+ this.appear = new EventEmitter();
52
+ this.disappear = new EventEmitter();
53
+ this._visible = false;
54
+ this._busy = false;
55
+ this.isConfirmationOpen = false;
56
+ this.destroy$ = new Subject();
57
+ this.modalIdentifier = `modal-${uuid()}`;
58
+ this.toggle$ = new Subject();
59
+ this.initToggleStream();
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
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.0.1", 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 }); }
147
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.0.1", 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"] }] }); }
148
+ }
149
+ export { ModalComponent };
150
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.1", ngImport: i0, type: ModalComponent, decorators: [{
151
+ type: Component,
152
+ 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"] }]
153
+ }], ctorParameters: function () { return [{ type: i1.ConfirmationService }, { type: i2.SubscriptionService }, { type: undefined, decorators: [{
154
+ type: Optional
155
+ }, {
156
+ type: Inject,
157
+ args: [SUPPRESS_UNSAVED_CHANGES_WARNING]
158
+ }] }, { type: i3.NgbModal }, { type: i4.ModalRefService }]; }, propDecorators: { visible: [{
159
+ type: Input
160
+ }], busy: [{
161
+ type: Input
162
+ }], options: [{
163
+ type: Input
164
+ }], suppressUnsavedChangesWarning: [{
165
+ type: Input
166
+ }], modalContent: [{
167
+ type: ViewChild,
168
+ args: ['modalContent']
169
+ }], abpHeader: [{
170
+ type: ContentChild,
171
+ args: ['abpHeader', { static: false }]
172
+ }], abpBody: [{
173
+ type: ContentChild,
174
+ args: ['abpBody', { static: false }]
175
+ }], abpFooter: [{
176
+ type: ContentChild,
177
+ args: ['abpFooter', { static: false }]
178
+ }], abpSubmit: [{
179
+ type: ContentChild,
180
+ args: [ButtonComponent, { static: false, read: ButtonComponent }]
181
+ }], visibleChange: [{
182
+ type: Output
183
+ }], init: [{
184
+ type: Output
185
+ }], appear: [{
186
+ type: Output
187
+ }], disappear: [{
188
+ type: Output
189
+ }] } });
190
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibW9kYWwuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvdGhlbWUtc2hhcmVkL3NyYy9saWIvY29tcG9uZW50cy9tb2RhbC9tb2RhbC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy90aGVtZS1zaGFyZWQvc3JjL2xpYi9jb21wb25lbnRzL21vZGFsL21vZGFsLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxJQUFJLEVBQUUsTUFBTSxjQUFjLENBQUM7QUFDekQsT0FBTyxFQUNMLFNBQVMsRUFDVCxZQUFZLEVBQ1osWUFBWSxFQUNaLE1BQU0sRUFDTixLQUFLLEVBR0wsUUFBUSxFQUNSLE1BQU0sRUFDTixXQUFXLEVBQ1gsU0FBUyxHQUNWLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBRSxRQUFRLEVBQWdDLE1BQU0sNEJBQTRCLENBQUM7QUFDcEYsT0FBTyxFQUFFLFNBQVMsRUFBRSxPQUFPLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDMUMsT0FBTyxFQUFFLFlBQVksRUFBRSxvQkFBb0IsRUFBRSxNQUFNLEVBQUUsU0FBUyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDdkYsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBQ3pELE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLHFDQUFxQyxDQUFDO0FBQzFFLE9BQU8sRUFBRSxnQ0FBZ0MsRUFBRSxNQUFNLHFEQUFxRCxDQUFDO0FBQ3ZHLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQztBQUM3RCxPQUFPLEVBQXNDLGVBQWUsRUFBRSxNQUFNLHFCQUFxQixDQUFDOzs7Ozs7O0FBSTFGLE1BTWEsY0FBYztJQUN6QixJQUNJLE9BQU87UUFDVCxPQUFPLElBQUksQ0FBQyxRQUFRLENB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QixNQUFNO2dCQUVZLE1BQU07c0JBQXhCLE1BQU07Z0JBRVksU0FBUztzQkFBM0IsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFN1YnNjcmlwdGlvblNlcnZpY2UsIHV1aWQgfSBmcm9tICdAYWJwL25nLmNvcmUnO1xyXG5pbXBvcnQge1xyXG4gIENvbXBvbmVudCxcclxuICBDb250ZW50Q2hpbGQsXHJcbiAgRXZlbnRFbWl0dGVyLFxyXG4gIEluamVjdCxcclxuICBJbnB1dCxcclxuICBPbkRlc3Ryb3ksXHJcbiAgT25Jbml0LFxyXG4gIE9wdGlvbmFsLFxyXG4gIE91dHB1dCxcclxuICBUZW1wbGF0ZVJlZixcclxuICBWaWV3Q2hpbGQsXHJcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IE5nYk1vZGFsLCBOZ2JNb2RhbE9wdGlvbnMsIE5nYk1vZGFsUmVmIH0gZnJvbSAnQG5nLWJvb3RzdHJhcC9uZy1ib290c3RyYXAnO1xyXG5pbXBvcnQgeyBmcm9tRXZlbnQsIFN1YmplY3QgfSBmcm9tICdyeGpzJztcclxuaW1wb3J0IHsgZGVib3VuY2VUaW1lLCBkaXN0aW5jdFVudGlsQ2hhbmdlZCwgZmlsdGVyLCB0YWtlVW50aWwgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XHJcbmltcG9ydCB7IENvbmZpcm1hdGlvbiB9IGZyb20gJy4uLy4uL21vZGVscy9jb25maXJtYXRpb24nO1xyXG5pbXBvcnQgeyBDb25maXJtYXRpb25TZXJ2aWNlIH0gZnJvbSAnLi4vLi4vc2VydmljZXMvY29uZmlybWF0aW9uLnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBTVVBQUkVTU19VTlNBVkVEX0NIQU5HRVNfV0FSTklORyB9IGZyb20gJy4uLy4uL3Rva2Vucy9zdXBwcmVzcy11bnNhdmVkLWNoYW5nZXMtd2FybmluZy50b2tlbic7XHJcbmltcG9ydCB7IEJ1dHRvbkNvbXBvbmVudCB9IGZyb20gJy4uL2J1dHRvbi9idXR0b24uY29tcG9uZW50JztcclxuaW1wb3J0IHsgRGlzbWlzc2FibGVNb2RhbCwgTW9kYWxEaXNtaXNzTW9kZSwgTW9kYWxSZWZTZXJ2aWNlIH0gZnJvbSAnLi9tb2RhbC1yZWYuc2VydmljZSc7XHJcblxyXG5leHBvcnQgdHlwZSBNb2RhbFNpemUgPSAnc20nIHwgJ21kJyB8ICdsZycgfCAneGwnO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6ICdhYnAtbW9kYWwnLFxyXG4gIHRlbXBsYXRlVXJsOiAnLi9tb2RhbC5jb21wb25lbnQuaHRtbCcsXHJcbiAgc3R5bGVVcmxzOiBbJy4vbW9kYWwuY29tcG9uZW50LnNjc3MnXSxcclxuICBwcm92aWRlcnM6IFtTdWJzY3JpcHRpb25TZXJ2aWNlXSxcclxufSlcclxuZXhwb3J0IGNsYXNzIE1vZGFsQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0LCBPbkRlc3Ryb3ksIERpc21pc3NhYmxlTW9kYWwge1xyXG4gIEBJbnB1dCgpXHJcbiAgZ2V0IHZpc2libGUoKTogYm9vbGVhbiB7XHJcbiAgICByZXR1cm4gdGhpcy5fdmlzaWJsZTtcclxuICB9XHJcbiAgc2V0IHZpc2libGUodmFsdWU6IGJvb2xlYW4pIHtcclxuICAgIGlmICh0eXBlb2YgdmFsdWUgIT09ICdib29sZWFuJykgcmV0dXJuO1xyXG4gICAgdGhpcy50b2dnbGUkLm5leHQodmFsdWUpO1xyXG4gIH1cclxuXHJcbiAgQElucHV0KClcclxuICBnZXQgYnVzeSgpOiBib29sZWFuIHtcclxuICAgIHJldHVybiB0aGlzLl9idXN5O1xyXG4gIH1cclxuICBzZXQgYnVzeSh2YWx1ZTogYm9vbGVhbikge1xyXG4gICAgaWYgKHRoaXMuYWJwU3VibWl0ICYmIHRoaXMuYWJwU3VibWl0IGluc3RhbmNlb2YgQnV0dG9uQ29tcG9uZW50KSB7XHJcbiAgICAgIHRoaXMuYWJwU3VibWl0LmxvYWRpbmcgPSB2YWx1ZTtcclxuICAgIH1cclxuXHJcbiAgICB0aGlzLl9idXN5ID0gdmFsdWU7XHJcbiAgfVxyXG5cclxuICBASW5wdXQoKSBvcHRpb25zOiBOZ2JNb2RhbE9wdGlvbnMgPSB7fTtcclxuXHJcbiAgQElucHV0KCkgc3VwcHJlc3NVbnNhdmVkQ2hhbmdlc1dhcm5pbmcgPSB0aGlzLnN1cHByZXNzVW5zYXZlZENoYW5nZXNXYXJuaW5nVG9rZW47XHJcblxyXG4gIEBWaWV3Q2hpbGQoJ21vZGFsQ29udGVudCcpIG1vZGFsQ29udGVudD86IFRlbXBsYXRlUmVmPGFueT47XHJcblxyXG4gIEBDb250ZW50Q2hpbGQoJ2FicEhlYWRlcicsIHsgc3RhdGljOiBmYWxzZSB9KSBhYnBIZWFkZXI/OiBUZW1wbGF0ZVJlZjxhbnk+O1xyXG5cclxuICBAQ29udGVudENoaWxkKCdhYnBCb2R5JywgeyBzdGF0aWM6IGZhbHNlIH0pIGFicEJvZHk/OiBUZW1wbGF0ZVJlZjxhbnk+O1xyXG5cclxuICBAQ29udGVudENoaWxkKCdhYnBGb290ZXInLCB7IHN0YXRpYzogZmFsc2UgfSkgYWJwRm9vdGVyPzogVGVtcGxhdGVSZWY8YW55PjtcclxuXHJcbiAgQENvbnRlbnRDaGlsZChCdXR0b25Db21wb25lbnQsIHsgc3RhdGljOiBmYWxzZSwgcmVhZDogQnV0dG9uQ29tcG9uZW50IH0pXHJcbiAgYWJwU3VibWl0PzogQnV0dG9uQ29tcG9uZW50O1xyXG5cclxuICBAT3V0cHV0KCkgcmVhZG9ubHkgdmlzaWJsZUNoYW5nZSA9IG5ldyBFdmVudEVtaXR0ZXI8Ym9vbGVhbj4oKTtcclxuXHJcbiAgQE91dHB1dCgpIHJlYWRvbmx5IGluaXQgPSBuZXcgRXZlbnRFbWl0dGVyPHZvaWQ+KCk7XHJcblxyXG4gIEBPdXRwdXQoKSByZWFkb25seSBhcHBlYXIgPSBuZXcgRXZlbnRFbWl0dGVyPHZvaWQ+KCk7XHJcblxyXG4gIEBPdXRwdXQoKSByZWFkb25seSBkaXNhcHBlYXIgPSBuZXcgRXZlbnRFbWl0dGVyPHZvaWQ+KCk7XHJcblxyXG4gIF92aXNpYmxlID0gZmFsc2U7XHJcblxyXG4gIF9idXN5ID0gZmFsc2U7XHJcblxyXG4gIG1vZGFsUmVmITogTmdiTW9kYWxSZWY7XHJcblxyXG4gIGlzQ29uZmlybWF0aW9uT3BlbiA9IGZhbHNlO1xyXG5cclxuICBkZXN0cm95JCA9IG5ldyBTdWJqZWN0PHZvaWQ+KCk7XHJcblxyXG4gIG1vZGFsSWRlbnRpZmllciA9IGBtb2RhbC0ke3V1aWQoKX1gO1xyXG5cclxuICBwcml2YXRlIHRvZ2dsZSQgPSBuZXcgU3ViamVjdDxib29sZWFuPigpO1xyXG5cclxuICBnZXQgbW9kYWxXaW5kb3dSZWYoKSB7XHJcbiAgICByZXR1cm4gZG9jdW1lbnQucXVlcnlTZWxlY3RvcihgbmdiLW1vZGFsLXdpbmRvdy4ke3RoaXMubW9kYWxJZGVudGlmaWVyfWApO1xyXG4gIH1cclxuXHJcbiAgZ2V0IGlzRm9ybURpcnR5KCk6IGJvb2xlYW4ge1xyXG4gICAgcmV0dXJuIEJvb2xlYW4odGhpcy5tb2RhbFdpbmRvd1JlZj8ucXVlcnlTZWxlY3RvcignLm5nLWRpcnR5JykpO1xyXG4gIH1cclxuXHJcbiAgY29uc3RydWN0b3IoXHJcbiAgICBwcml2YXRlIGNvbmZpcm1hdGlvblNlcnZpY2U6IENvbmZpcm1hdGlvblNlcnZpY2UsXHJcbiAgICBwcml2YXRlIHN1YnNjcmlwdGlvbjogU3Vic2NyaXB0aW9uU2VydmljZSxcclxuICAgIEBPcHRpb25hbCgpXHJcbiAgICBASW5qZWN0KFNVUFBSRVNTX1VOU0FWRURfQ0hBTkdFU19XQVJOSU5HKVxyXG4gICAgcHJpdmF0ZSBzdXBwcmVzc1Vuc2F2ZWRDaGFuZ2VzV2FybmluZ1Rva2VuOiBib29sZWFuLFxyXG4gICAgcHJpdmF0ZSBtb2RhbDogTmdiTW9kYWwsXHJcbiAgICBwcml2YXRlIG1vZGFsUmVmU2VydmljZTogTW9kYWxSZWZTZXJ2aWNlLFxyXG4gICkge1xyXG4gICAgdGhpcy5pbml0VG9nZ2xlU3RyZWFtKCk7XHJcbiAgfVxyXG4gIG5nT25Jbml0KCk6IHZvaWQge1xyXG4gICAgdGhpcy5tb2RhbFJlZlNlcnZpY2UucmVnaXN0ZXIodGhpcyk7XHJcbiAgfVxyXG5cclxuICBkaXNtaXNzKG1vZGU6IE1vZGFsRGlzbWlzc01vZGUpIHtcclxuICAgIHN3aXRjaCAobW9kZSkge1xyXG4gICAgICBjYXNlICdoYXJkJzpcclxuICAgICAgICB0aGlzLnZpc2libGUgPSBmYWxzZTtcclxuICAgICAgICBicmVhaztcclxuICAgICAgY2FzZSAnc29mdCc6XHJcbiAgICAgICAgdGhpcy5jbG9zZSgpO1xyXG4gICAgICAgIGJyZWFrO1xyXG4gICAgICBkZWZhdWx0OlxyXG4gICAgICAgIGJyZWFrO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBpbml0VG9nZ2xlU3RyZWFtKCkge1xyXG4gICAgdGhpcy5zdWJzY3JpcHRpb24uYWRkT25lKHRoaXMudG9nZ2xlJC5waXBlKGRlYm91bmNlVGltZSgwKSwgZGlzdGluY3RVbnRpbENoYW5nZWQoKSksIHZhbHVlID0+XHJcbiAgICAgIHRoaXMudG9nZ2xlKHZhbHVlKSxcclxuICAgICk7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIHRvZ2dsZSh2YWx1ZTogYm9vbGVhbikge1xyXG4gICAgdGhpcy5fdmlzaWJsZSA9IHZhbHVlO1xyXG4gICAgdGhpcy52aXNpYmxlQ2hhbmdlLmVtaXQodmFsdWUpO1xyXG5cclxuICAgIGlmICghdmFsdWUpIHtcclxuICAgICAgdGhpcy5tb2RhbFJlZj8uZGlzbWlzcygpO1xyXG4gICAgICB0aGlzLmRpc2FwcGVhci5lbWl0KCk7XHJcbiAgICAgIHRoaXMuZGVzdHJveSQubmV4dCgpO1xyXG4gICAgICByZXR1cm47XHJcbiAgICB9XHJcblxyXG4gICAgc2V0VGltZW91dCgoKSA9PiB0aGlzLmxpc3RlbigpLCAwKTtcclxuICAgIHRoaXMubW9kYWxSZWYgPSB0aGlzLm1vZGFsLm9wZW4odGhpcy5tb2RhbENvbnRlbnQsIHtcclxuICAgICAgc2l6ZTogJ21kJyxcclxuICAgICAgY2VudGVyZWQ6IGZhbHNlLFxyXG4gICAgICBrZXlib2FyZDogZmFsc2UsXHJcbiAgICAgIHNjcm9sbGFibGU6IHRydWUsXHJcbiAgICAgIGJlZm9yZURpc21pc3M6ICgpID0+IHtcclxuICAgICAgICBpZiAoIXRoaXMudmlzaWJsZSkgcmV0dXJuIHRydWU7XHJcblxyXG4gICAgICAgIHRoaXMuY2xvc2UoKTtcclxuICAgICAgICByZXR1cm4gIXRoaXMudmlzaWJsZTtcclxuICAgICAgfSxcclxuICAgICAgLi4udGhpcy5vcHRpb25zLFxyXG4gICAgICB3aW5kb3dDbGFzczogYCR7dGhpcy5vcHRpb25zLndpbmRvd0NsYXNzIHx8ICcnfSAke3RoaXMubW9kYWxJZGVudGlmaWVyfWAsXHJcbiAgICB9KTtcclxuXHJcbiAgICB0aGlzLmFwcGVhci5lbWl0KCk7XHJcbiAgfVxyXG5cclxuICBuZ09uRGVzdHJveSgpOiB2b2lkIHtcclxuICAgIHRoaXMubW9kYWxSZWZTZXJ2aWNlLnVucmVnaXN0ZXIodGhpcyk7XHJcbiAgICB0aGlzLnRvZ2dsZShmYWxzZSk7XHJcbiAgICB0aGlzLmRlc3Ryb3kkLm5leHQoKTtcclxuICB9XHJcblxyXG4gIGNsb3NlKCkge1xyXG4gICAgaWYgKHRoaXMuYnVzeSkgcmV0dXJuO1xyXG5cclxuICAgIGlmICh0aGlzLmlzRm9ybURpcnR5ICYmICF0aGlzLnN1cHByZXNzVW5zYXZlZENoYW5nZXNXYXJuaW5nKSB7XHJcbiAgICAgIGlmICh0aGlzLmlzQ29uZmlybWF0aW9uT3BlbikgcmV0dXJuO1xyXG5cclxuICAgICAgdGhpcy5pc0NvbmZpcm1hdGlvbk9wZW4gPSB0cnVlO1xyXG4gICAgICB0aGlzLmNvbmZpcm1hdGlvblNlcnZpY2VcclxuICAgICAgICAud2FybihcclxuICAgICAgICAgICdBYnBVaTo6QXJlWW91U3VyZVlvdVdhbnRUb0NhbmNlbEVkaXRpbmdXYXJuaW5nTWVzc2FnZScsXHJcbiAgICAgICAgICAnQWJwVWk6OkFyZVlvdVN1cmUnLFxyXG4gICAgICAgICAgeyBkaXNtaXNzaWJsZTogZmFsc2UgfSxcclxuICAgICAgICApXHJcbiAgICAgICAgLnN1YnNjcmliZSgoc3RhdHVzOiBDb25maXJtYXRpb24uU3RhdHVzKSA9PiB7XHJcbiAgICAgICAgICB0aGlzLmlzQ29uZmlybWF0aW9uT3BlbiA9IGZhbHNlO1xyXG4gICAgICAgICAgaWYgKHN0YXR1cyA9PT0gQ29uZmlybWF0aW9uLlN0YXR1cy5jb25maXJtKSB7XHJcbiAgICAgICAgICAgIHRoaXMudmlzaWJsZSA9IGZhbHNlO1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH0pO1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgdGhpcy52aXNpYmxlID0gZmFsc2U7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBsaXN0ZW4oKSB7XHJcbiAgICBpZiAodGhpcy5tb2RhbFdpbmRvd1JlZikge1xyXG4gICAgICBmcm9tRXZlbnQ8S2V5Ym9hcmRFdmVudD4odGhpcy5tb2RhbFdpbmRvd1JlZiwgJ2tleXVwJylcclxuICAgICAgICAucGlwZShcclxuICAgICAgICAgIHRha2VVbnRpbCh0aGlzLmRlc3Ryb3kkKSxcclxuICAgICAgICAgIGRlYm91bmNlVGltZSgxNTApLFxyXG4gICAgICAgICAgZmlsdGVyKChrZXk6IEtleWJvYXJkRXZlbnQpID0+IGtleSAmJiBrZXkua2V5ID09PSAnRXNjYXBlJyAmJiB0aGlzLm9wdGlvbnMua2V5Ym9hcmQpLFxyXG4gICAgICAgIClcclxuICAgICAgICAuc3Vic2NyaWJlKCgpID0+IHRoaXMuY2xvc2UoKSk7XHJcbiAgICB9XHJcblxyXG4gICAgZnJvbUV2ZW50KHdpbmRvdywgJ2JlZm9yZXVubG9hZCcpXHJcbiAgICAgIC5waXBlKHRha2VVbnRpbCh0aGlzLmRlc3Ryb3kkKSlcclxuICAgICAgLnN1YnNjcmliZShldmVudCA9PiB7XHJcbiAgICAgICAgLy8gVE9ETzogY2hlY2sgdGhpc1xyXG4gICAgICAgIGlmICghdGhpcy5pc0Zvcm1EaXJ0eSB8fCB0aGlzLnN1cHByZXNzVW5zYXZlZENoYW5nZXNXYXJuaW5nKSB7XHJcbiAgICAgICAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xyXG4gICAgICAgIH1cclxuICAgICAgfSk7XHJcblxyXG4gICAgdGhpcy5pbml0LmVtaXQoKTtcclxuICB9XHJcbn1cclxuIiwiPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PlxyXG5cclxuPG5nLXRlbXBsYXRlICNtb2RhbENvbnRlbnQgbGV0LW1vZGFsPlxyXG4gIDxkaXYgKm5nSWY9XCJhYnBIZWFkZXJcIiBpZD1cImFicC1tb2RhbC1oZWFkZXJcIiBjbGFzcz1cIm1vZGFsLWhlYWRlciBhYnAtbW9kYWwtaGVhZGVyXCI+XHJcbiAgICA8bmctY29udGFpbmVyICpuZ1RlbXBsYXRlT3V0bGV0PVwiYWJwSGVhZGVyXCI+PC9uZy1jb250YWluZXI+XHJcbiAgICDigItcclxuICAgIDxidXR0b25cclxuICAgICAgaWQ9XCJhYnAtbW9kYWwtY2xvc2UtYnV0dG9uXCJcclxuICAgICAgdHlwZT1cImJ1dHRvblwiXHJcbiAgICAgIGNsYXNzPVwiYnRuLXNtIGJ0bi1jbG9zZVwiXHJcbiAgICAgIGFyaWEtbGFiZWw9XCJDbG9zZVwiXHJcbiAgICAgIChjbGljayk9XCJtb2RhbC5kaXNtaXNzKClcIlxyXG4gICAgPjwvYnV0dG9uPlxyXG4gIDwvZGl2PlxyXG4gIDxkaXYgKm5nSWY9XCJhYnBCb2R5XCIgaWQ9XCJhYnAtbW9kYWwtYm9keVwiIGNsYXNzPVwibW9kYWwtYm9keVwiPlxyXG4gICAgPG5nLWNvbnRhaW5lciAqbmdUZW1wbGF0ZU91dGxldD1cImFicEJvZHlcIj48L25nLWNvbnRhaW5lcj5cclxuICA8L2Rpdj5cclxuICA8ZGl2ICpuZ0lmPVwiYWJwRm9vdGVyXCIgaWQ9XCJhYnAtbW9kYWwtZm9vdGVyXCIgY2xhc3M9XCJtb2RhbC1mb290ZXJcIj5cclxuICAgIDxuZy1jb250YWluZXIgKm5nVGVtcGxhdGVPdXRsZXQ9XCJhYnBGb290ZXJcIj48L25nLWNvbnRhaW5lcj5cclxuICA8L2Rpdj5cclxuPC9uZy10ZW1wbGF0ZT5cclxuIl19
@@ -0,0 +1,39 @@
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
+ class PasswordComponent extends AbstractNgModelComponent {
9
+ constructor(injector) {
10
+ super(injector);
11
+ }
12
+ toggleFieldTextType() {
13
+ this.fieldTextType = !this.fieldTextType;
14
+ }
15
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.0.1", ngImport: i0, type: PasswordComponent, deps: [{ token: i0.Injector }], target: i0.ɵɵFactoryTarget.Component }); }
16
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.0.1", type: PasswordComponent, selector: "abp-password", inputs: { inputId: "inputId", formControlName: "formControlName" }, providers: [
17
+ {
18
+ provide: NG_VALUE_ACCESSOR,
19
+ useExisting: forwardRef(() => PasswordComponent),
20
+ multi: true,
21
+ },
22
+ ], 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 aria-hidden=\"true\"\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"] }] }); }
23
+ }
24
+ export { PasswordComponent };
25
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.1", ngImport: i0, type: PasswordComponent, decorators: [{
26
+ type: Component,
27
+ args: [{ selector: 'abp-password', providers: [
28
+ {
29
+ provide: NG_VALUE_ACCESSOR,
30
+ useExisting: forwardRef(() => PasswordComponent),
31
+ multi: true,
32
+ },
33
+ ], 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 aria-hidden=\"true\"\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" }]
34
+ }], ctorParameters: function () { return [{ type: i0.Injector }]; }, propDecorators: { inputId: [{
35
+ type: Input
36
+ }], formControlName: [{
37
+ type: Input
38
+ }] } });
39
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGFzc3dvcmQuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvdGhlbWUtc2hhcmVkL3NyYy9saWIvY29tcG9uZW50cy9wYXNzd29yZC9wYXNzd29yZC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy90aGVtZS1zaGFyZWQvc3JjL2xpYi9jb21wb25lbnRzL3Bhc3N3b3JkL3Bhc3N3b3JkLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsVUFBVSxFQUFFLFFBQVEsRUFBRSxLQUFLLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDdkUsT0FBTyxFQUFFLHdCQUF3QixFQUFFLE1BQU0sY0FBYyxDQUFDO0FBQ3hELE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLGdCQUFnQixDQUFDOzs7OztBQUVuRCxNQVdhLGlCQUFrQixTQUFRLHdCQUF3QjtJQUs3RCxZQUFZLFFBQWtCO1FBQzVCLEtBQUssQ0FBQyxRQUFRLENBQUMsQ0FBQztJQUNsQixDQUFDO0lBRUQsbUJBQW1CO1FBQ2pCLElBQUksQ0FBQyxhQUFhLEdBQUcsQ0FBQyxJQUFJLENBQUMsYUFBYSxDQUFDO0lBQzNDLENBQUM7OEdBWFUsaUJBQWlCO2tHQUFqQixpQkFBaUIsMkdBUmpCO1lBQ1Q7Z0JBQ0UsT0FBTyxFQUFFLGlCQUFpQjtnQkFDMUIsV0FBVyxFQUFFLFVBQVUsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxpQkFBaUIsQ0FBQztnQkFDaEQsS0FBSyxFQUFFLElBQUk7YUFDWjtTQUNGLGlEQ2JILHFnQkFtQkE7O1NESmEsaUJBQWlCOzJGQUFqQixpQkFBaUI7a0JBWDdCLFNBQVM7K0JBQ0UsY0FBYyxhQUViO3dCQUNUOzRCQUNFLE9BQU8sRUFBRSxpQkFBaUI7NEJBQzFCLFdBQVcsRUFBRSxVQUFVLENBQUMsR0FBRyxFQUFFLGtCQUFrQixDQUFDOzRCQUNoRCxLQUFLLEVBQUUsSUFBSTt5QkFDWjtxQkFDRjsrRkFHUSxPQUFPO3NCQUFmLEtBQUs7Z0JBQ0csZUFBZTtzQkFBdkIsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgZm9yd2FyZFJlZiwgSW5qZWN0b3IsIElucHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IEFic3RyYWN0TmdNb2RlbENvbXBvbmVudCB9IGZyb20gJ0BhYnAvbmcuY29yZSc7XHJcbmltcG9ydCB7IE5HX1ZBTFVFX0FDQ0VTU09SIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6ICdhYnAtcGFzc3dvcmQnLFxyXG4gIHRlbXBsYXRlVXJsOiBgLi9wYXNzd29yZC5jb21wb25lbnQuaHRtbGAsXHJcbiAgcHJvdmlkZXJzOiBbXHJcbiAgICB7XHJcbiAgICAgIHByb3ZpZGU6IE5HX1ZBTFVFX0FDQ0VTU09SLFxyXG4gICAgICB1c2VFeGlzdGluZzogZm9yd2FyZFJlZigoKSA9PiBQYXNzd29yZENvbXBvbmVudCksXHJcbiAgICAgIG11bHRpOiB0cnVlLFxyXG4gICAgfSxcclxuICBdLFxyXG59KVxyXG5leHBvcnQgY2xhc3MgUGFzc3dvcmRDb21wb25lbnQgZXh0ZW5kcyBBYnN0cmFjdE5nTW9kZWxDb21wb25lbnQge1xyXG4gIEBJbnB1dCgpIGlucHV0SWQhOiBzdHJpbmc7XHJcbiAgQElucHV0KCkgZm9ybUNvbnRyb2xOYW1lITogc3RyaW5nO1xyXG4gIGZpZWxkVGV4dFR5cGU/OiBib29sZWFuO1xyXG5cclxuICBjb25zdHJ1Y3RvcihpbmplY3RvcjogSW5qZWN0b3IpIHtcclxuICAgIHN1cGVyKGluamVjdG9yKTtcclxuICB9XHJcblxyXG4gIHRvZ2dsZUZpZWxkVGV4dFR5cGUoKSB7XHJcbiAgICB0aGlzLmZpZWxkVGV4dFR5cGUgPSAhdGhpcy5maWVsZFRleHRUeXBlO1xyXG4gIH1cclxufVxyXG4iLCI8ZGl2IGNsYXNzPVwiaW5wdXQtZ3JvdXBcIiB2YWxpZGF0aW9uVGFyZ2V0PlxyXG4gIDxpbnB1dFxyXG4gICAgW3R5cGVdPVwiZmllbGRUZXh0VHlwZSA/ICd0ZXh0JyA6ICdwYXNzd29yZCdcIlxyXG4gICAgY2xhc3M9XCJmb3JtLWNvbnRyb2xcIlxyXG4gICAgW2lkXT1cImlucHV0SWRcIlxyXG4gICAgWyhuZ01vZGVsKV09XCJ2YWx1ZVwiXHJcbiAgLz5cclxuXHJcbiAgPGJ1dHRvbiBjbGFzcz1cImJ0biBidG4tc2Vjb25kYXJ5XCIgdHlwZT1cImJ1dHRvblwiIChjbGljayk9XCJ0b2dnbGVGaWVsZFRleHRUeXBlKClcIj5cclxuICAgIDxpXHJcbiAgICAgIGNsYXNzPVwiZmFcIlxyXG4gICAgICBhcmlhLWhpZGRlbj1cInRydWVcIlxyXG4gICAgICBbbmdDbGFzc109XCJ7XHJcbiAgICAgICAgJ2ZhLWV5ZS1zbGFzaCc6ICFmaWVsZFRleHRUeXBlLFxyXG4gICAgICAgICdmYS1leWUnOiBmaWVsZFRleHRUeXBlXHJcbiAgICAgIH1cIlxyXG4gICAgPjwvaT5cclxuICA8L2J1dHRvbj5cclxuPC9kaXY+XHJcbiJdfQ==
@@ -0,0 +1,56 @@
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
+ 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
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.0.1", ngImport: i0, type: ToastComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
45
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.0.1", 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\" aria-hidden=\"true\"></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\" aria-hidden=\"true\"></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" }] }); }
46
+ }
47
+ export { ToastComponent };
48
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.1", ngImport: i0, type: ToastComponent, decorators: [{
49
+ type: Component,
50
+ 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\" aria-hidden=\"true\"></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\" aria-hidden=\"true\"></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"] }]
51
+ }], propDecorators: { toast: [{
52
+ type: Input
53
+ }], remove: [{
54
+ type: Output
55
+ }] } });
56
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidG9hc3QuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvdGhlbWUtc2hhcmVkL3NyYy9saWIvY29tcG9uZW50cy90b2FzdC90b2FzdC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy90aGVtZS1zaGFyZWQvc3JjL2xpYi9jb21wb25lbnRzL3RvYXN0L3RvYXN0LmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsWUFBWSxFQUFFLEtBQUssRUFBVSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7Ozs7QUFFL0UsTUFLYSxjQUFjO0lBTDNCO1FBU1ksV0FBTSxHQUFHLElBQUksWUFBWSxFQUFVLENBQUM7S0F1Qy9DO0lBckNDLElBQUksYUFBYTtRQUNmLElBQUksQ0FBQyxJQUFJLENBQUMsS0FBSyxJQUFJLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxRQUFRO1lBQUUsT0FBTyxFQUFFLENBQUM7UUFDbkQsT0FBTyxhQUFhLElBQUksQ0FBQyxLQUFLLENBQUMsUUFBUSxFQUFFLENBQUM7SUFDNUMsQ0FBQztJQUVELElBQUksU0FBUztRQUNYLFFBQVEsSUFBSSxDQUFDLEtBQUssQ0FBQyxRQUFRLEVBQUU7WUFDM0IsS0FBSyxTQUFTO2dCQUNaLE9BQU8saUJBQWlCLENBQUM7WUFDM0IsS0FBSyxNQUFNO2dCQUNULE9BQU8sZ0JBQWdCLENBQUM7WUFDMUIsS0FBSyxTQUFTO2dCQUNaLE9BQU8seUJBQXlCLENBQUM7WUFDbkMsS0FBSyxPQUFPO2dCQUNWLE9BQU8saUJBQWlCLENBQUM7WUFDM0I7Z0JBQ0UsT0FBTyx1QkFBdUIsQ0FBQztTQUNsQztJQUNILENBQUM7SUFFRCxRQUFRO1FBQ04sTUFBTSxFQUFFLE1BQU0sRUFBRSxJQUFJLEVBQUUsR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLE9BQU8sSUFBSSxFQUFFLENBQUM7UUFFbEQsSUFBSSxNQUFNO1lBQUUsT0FBTztRQUNuQixNQUFNLE9BQU8sR0FBRyxJQUFJLElBQUksSUFBSSxDQUFDO1FBQzdCLFVBQVUsQ0FBQyxHQUFHLEVBQUU7WUFDZCxJQUFJLENBQUMsS0FBSyxFQUFFLENBQUM7UUFDZixDQUFDLEVBQUUsT0FBTyxDQUFDLENBQUM7SUFDZCxDQUFDO0lBRUQsS0FBSztRQUNILElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsT0FBTyxFQUFFLEVBQUUsQ0FBQyxDQUFDO0lBQzNDLENBQUM7SUFFRCxHQUFHO1FBQ0QsSUFBSSxJQUFJLENBQUMsS0FBSyxDQUFDLE9BQU8sRUFBRSxZQUFZO1lBQUUsSUFBSSxDQUFDLEtBQUssRUFBRSxDQUFDO0lBQ3JELENBQUM7OEdBMUNVLGNBQWM7a0dBQWQsY0FBYyw0R0NQM0IscXVCQWlCQTs7U0RWYSxjQUFjOzJGQUFkLGNBQWM7a0JBTDFCLFNBQVM7K0JBQ0UsV0FBVzs4QkFNckIsS0FBSztzQkFESixLQUFLO2dCQUdJLE1BQU07c0JBQWYsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgRXZlbnRFbWl0dGVyLCBJbnB1dCwgT25Jbml0LCBPdXRwdXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgVG9hc3RlciB9IGZyb20gJy4uLy4uL21vZGVscy90b2FzdGVyJztcclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6ICdhYnAtdG9hc3QnLFxyXG4gIHRlbXBsYXRlVXJsOiAnLi90b2FzdC5jb21wb25lbnQuaHRtbCcsXHJcbiAgc3R5bGVVcmxzOiBbJy4vdG9hc3QuY29tcG9uZW50LnNjc3MnXSxcclxufSlcclxuZXhwb3J0IGNsYXNzIFRvYXN0Q29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcclxuICBASW5wdXQoKVxyXG4gIHRvYXN0ITogVG9hc3Rlci5Ub2FzdDtcclxuXHJcbiAgQE91dHB1dCgpIHJlbW92ZSA9IG5ldyBFdmVudEVtaXR0ZXI8bnVtYmVyPigpO1xyXG5cclxuICBnZXQgc2V2ZXJpdHlDbGFzcygpOiBzdHJpbmcge1xyXG4gICAgaWYgKCF0aGlzLnRvYXN0IHx8ICF0aGlzLnRvYXN0LnNldmVyaXR5KSByZXR1cm4gJyc7XHJcbiAgICByZXR1cm4gYGFicC10b2FzdC0ke3RoaXMudG9hc3Quc2V2ZXJpdHl9YDtcclxuICB9XHJcblxyXG4gIGdldCBpY29uQ2xhc3MoKTogc3RyaW5nIHtcclxuICAgIHN3aXRjaCAodGhpcy50b2FzdC5zZXZlcml0eSkge1xyXG4gICAgICBjYXNlICdzdWNjZXNzJzpcclxuICAgICAgICByZXR1cm4gJ2ZhLWNoZWNrLWNpcmNsZSc7XHJcbiAgICAgIGNhc2UgJ2luZm8nOlxyXG4gICAgICAgIHJldHVybiAnZmEtaW5mby1jaXJjbGUnO1xyXG4gICAgICBjYXNlICd3YXJuaW5nJzpcclxuICAgICAgICByZXR1cm4gJ2ZhLWV4Y2xhbWF0aW9uLXRyaWFuZ2xlJztcclxuICAgICAgY2FzZSAnZXJyb3InOlxyXG4gICAgICAgIHJldHVybiAnZmEtdGltZXMtY2lyY2xlJztcclxuICAgICAgZGVmYXVsdDpcclxuICAgICAgICByZXR1cm4gJ2ZhLWV4Y2xhbWF0aW9uLWNpcmNsZSc7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBuZ09uSW5pdCgpIHtcclxuICAgIGNvbnN0IHsgc3RpY2t5LCBsaWZlIH0gPSB0aGlzLnRvYXN0Lm9wdGlvbnMgfHwge307XHJcblxyXG4gICAgaWYgKHN0aWNreSkgcmV0dXJuO1xyXG4gICAgY29uc3QgdGltZW91dCA9IGxpZmUgfHwgNTAwMDtcclxuICAgIHNldFRpbWVvdXQoKCkgPT4ge1xyXG4gICAgICB0aGlzLmNsb3NlKCk7XHJcbiAgICB9LCB0aW1lb3V0KTtcclxuICB9XHJcblxyXG4gIGNsb3NlKCkge1xyXG4gICAgdGhpcy5yZW1vdmUuZW1pdCh0aGlzLnRvYXN0Lm9wdGlvbnM/LmlkKTtcclxuICB9XHJcblxyXG4gIHRhcCgpIHtcclxuICAgIGlmICh0aGlzLnRvYXN0Lm9wdGlvbnM/LnRhcFRvRGlzbWlzcykgdGhpcy5jbG9zZSgpO1xyXG4gIH1cclxufVxyXG4iLCI8ZGl2IGNsYXNzPVwiYWJwLXRvYXN0XCIgW25nQ2xhc3NdPVwic2V2ZXJpdHlDbGFzc1wiIChjbGljayk9XCJ0YXAoKVwiPlxyXG4gIDxkaXYgY2xhc3M9XCJhYnAtdG9hc3QtaWNvblwiPlxyXG4gICAgPGkgY2xhc3M9XCJmYSBpY29uXCIgW25nQ2xhc3NdPVwiaWNvbkNsYXNzXCIgYXJpYS1oaWRkZW49XCJ0cnVlXCI+PC9pPlxyXG4gIDwvZGl2PlxyXG4gIDxkaXYgY2xhc3M9XCJhYnAtdG9hc3QtY29udGVudFwiPlxyXG4gICAgPGJ1dHRvbiBjbGFzcz1cImFicC10b2FzdC1jbG9zZS1idXR0b25cIiAoY2xpY2spPVwiY2xvc2UoKVwiICpuZ0lmPVwidG9hc3Qub3B0aW9ucz8uY2xvc2FibGVcIj5cclxuICAgICAgPGkgY2xhc3M9XCJmYSBmYS10aW1lc1wiIGFyaWEtaGlkZGVuPVwidHJ1ZVwiPjwvaT5cclxuICAgIDwvYnV0dG9uPlxyXG4gICAgPGRpdiBjbGFzcz1cImFicC10b2FzdC10aXRsZVwiPlxyXG4gICAgICB7eyB0b2FzdC50aXRsZSB8IGFicExvY2FsaXphdGlvbjogdG9hc3Qub3B0aW9ucz8udGl0bGVMb2NhbGl6YXRpb25QYXJhbXMgfX1cclxuICAgIDwvZGl2PlxyXG4gICAgPHBcclxuICAgICAgY2xhc3M9XCJhYnAtdG9hc3QtbWVzc2FnZVwiXHJcbiAgICAgIFtpbm5lckhUTUxdPVwidG9hc3QubWVzc2FnZSB8IGFicExvY2FsaXphdGlvbjogdG9hc3Qub3B0aW9ucz8ubWVzc2FnZUxvY2FsaXphdGlvblBhcmFtc1wiXHJcbiAgICA+PC9wPlxyXG4gIDwvZGl2PlxyXG48L2Rpdj5cclxuIl19
@@ -0,0 +1,59 @@
1
+ import { Component, HostListener, Input } from '@angular/core';
2
+ import { toastInOut } from '../../animations/toast.animations';
3
+ import * as i0 from "@angular/core";
4
+ import * as i1 from "@angular/common";
5
+ import * as i2 from "../toast/toast.component";
6
+ class ToastContainerComponent {
7
+ constructor() {
8
+ this.toasts = [];
9
+ this.right = '30px';
10
+ this.defaultRight = '30px';
11
+ this.defaultMobileRight = '0';
12
+ this.bottom = '30px';
13
+ }
14
+ ngOnInit() {
15
+ this.setDefaultRight();
16
+ this.toasts$.subscribe(toasts => {
17
+ this.toasts = this.toastKey
18
+ ? toasts.filter(t => {
19
+ return t.options && t.options.containerKey !== this.toastKey;
20
+ })
21
+ : toasts;
22
+ });
23
+ }
24
+ onWindowResize() {
25
+ this.setDefaultRight();
26
+ }
27
+ setDefaultRight() {
28
+ const screenWidth = window.innerWidth;
29
+ if (screenWidth < 768 && this.right == this.defaultRight) {
30
+ this.right = this.defaultMobileRight;
31
+ }
32
+ }
33
+ trackByFunc(index, toast) {
34
+ if (!toast)
35
+ return null;
36
+ return toast.options?.id;
37
+ }
38
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.0.1", ngImport: i0, type: ToastContainerComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
39
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.0.1", type: ToastContainerComponent, selector: "abp-toast-container", inputs: { top: "top", right: "right", bottom: "bottom", left: "left", toastKey: "toastKey" }, host: { listeners: { "window:resize": "onWindowResize($event)" } }, ngImport: i0, template: "<div\r\n class=\"abp-toast-container\"\r\n [style.top]=\"top || 'auto'\"\r\n [style.right]=\"right || 'auto'\"\r\n [style.bottom]=\"bottom || 'auto'\"\r\n [style.left]=\"left || 'auto'\"\r\n [style.display]=\"toasts.length ? 'flex' : 'none'\"\r\n [@toastInOut]=\"toasts.length\"\r\n>\r\n <abp-toast\r\n [toast]=\"toast\"\r\n *ngFor=\"let toast of toasts; trackBy: trackByFunc\"\r\n (remove)=\"remove($event)\"\r\n ></abp-toast>\r\n</div>\r\n", styles: [".abp-toast-container{position:fixed;display:flex;flex-direction:column;align-items:center;justify-content:flex-end;min-width:350px;min-height:80px;z-index:1900}.abp-toast-container.new-on-top{flex-direction:column-reverse}@media only screen and (max-width: 768px){.abp-toast-container{min-width:100%}}\n"], dependencies: [{ kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "component", type: i2.ToastComponent, selector: "abp-toast", inputs: ["toast"], outputs: ["remove"] }], animations: [toastInOut] }); }
40
+ }
41
+ export { ToastContainerComponent };
42
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.1", ngImport: i0, type: ToastContainerComponent, decorators: [{
43
+ type: Component,
44
+ args: [{ selector: 'abp-toast-container', animations: [toastInOut], template: "<div\r\n class=\"abp-toast-container\"\r\n [style.top]=\"top || 'auto'\"\r\n [style.right]=\"right || 'auto'\"\r\n [style.bottom]=\"bottom || 'auto'\"\r\n [style.left]=\"left || 'auto'\"\r\n [style.display]=\"toasts.length ? 'flex' : 'none'\"\r\n [@toastInOut]=\"toasts.length\"\r\n>\r\n <abp-toast\r\n [toast]=\"toast\"\r\n *ngFor=\"let toast of toasts; trackBy: trackByFunc\"\r\n (remove)=\"remove($event)\"\r\n ></abp-toast>\r\n</div>\r\n", styles: [".abp-toast-container{position:fixed;display:flex;flex-direction:column;align-items:center;justify-content:flex-end;min-width:350px;min-height:80px;z-index:1900}.abp-toast-container.new-on-top{flex-direction:column-reverse}@media only screen and (max-width: 768px){.abp-toast-container{min-width:100%}}\n"] }]
45
+ }], propDecorators: { top: [{
46
+ type: Input
47
+ }], right: [{
48
+ type: Input
49
+ }], bottom: [{
50
+ type: Input
51
+ }], left: [{
52
+ type: Input
53
+ }], toastKey: [{
54
+ type: Input
55
+ }], onWindowResize: [{
56
+ type: HostListener,
57
+ args: ['window:resize', ['$event']]
58
+ }] } });
59
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidG9hc3QtY29udGFpbmVyLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL3RoZW1lLXNoYXJlZC9zcmMvbGliL2NvbXBvbmVudHMvdG9hc3QtY29udGFpbmVyL3RvYXN0LWNvbnRhaW5lci5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy90aGVtZS1zaGFyZWQvc3JjL2xpYi9jb21wb25lbnRzL3RvYXN0LWNvbnRhaW5lci90b2FzdC1jb250YWluZXIuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxZQUFZLEVBQUUsS0FBSyxFQUFVLE1BQU0sZUFBZSxDQUFDO0FBRXZFLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxtQ0FBbUMsQ0FBQzs7OztBQUcvRCxNQU1hLHVCQUF1QjtJQU5wQztRQVdFLFdBQU0sR0FBRyxFQUFxQixDQUFDO1FBTS9CLFVBQUssR0FBRyxNQUFNLENBQUM7UUFDZixpQkFBWSxHQUFHLE1BQU0sQ0FBQztRQUN0Qix1QkFBa0IsR0FBRyxHQUFHLENBQUM7UUFHekIsV0FBTSxHQUFHLE1BQU0sQ0FBQztLQW1DakI7SUEzQkMsUUFBUTtRQUNOLElBQUksQ0FBQyxlQUFlLEVBQUUsQ0FBQztRQUN2QixJQUFJLENBQUMsT0FBTyxDQUFDLFNBQVMsQ0FBQyxNQUFNLENBQUMsRUFBRTtZQUM5QixJQUFJLENBQUMsTUFBTSxHQUFHLElBQUksQ0FBQyxRQUFRO2dCQUN6QixDQUFDLENBQUMsTUFBTSxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsRUFBRTtvQkFDaEIsT0FBTyxDQUFDLENBQUMsT0FBTyxJQUFJLENBQUMsQ0FBQyxPQUFPLENBQUMsWUFBWSxLQUFLLElBQUksQ0FBQyxRQUFRLENBQUM7Z0JBQy9ELENBQUMsQ0FBQztnQkFDSixDQUFDLENBQUMsTUFBTSxDQUFDO1FBQ2IsQ0FBQyxDQUFDLENBQUM7SUFDTCxDQUFDO0lBR0QsY0FBYztRQUNaLElBQUksQ0FBQyxlQUFlLEVBQUUsQ0FBQztJQUN6QixDQUFDO0lBRUQsZUFBZTtRQUNiLE1BQU0sV0FBVyxHQUFHLE1BQU0sQ0FBQyxVQUFVLENBQUM7UUFDdEMsSUFBSSxXQUFXLEdBQUcsR0FBRyxJQUFJLElBQUksQ0FBQyxLQUFLLElBQUksSUFBSSxDQUFDLFlBQVksRUFBRTtZQUN4RCxJQUFJLENBQUMsS0FBSyxHQUFHLElBQUksQ0FBQyxrQkFBa0IsQ0FBQztTQUN0QztJQUNILENBQUM7SUFFRCxXQUFXLENBQUMsS0FBYSxFQUFFLEtBQW9CO1FBQzdDLElBQUksQ0FBQyxLQUFLO1lBQUUsT0FBTyxJQUFJLENBQUM7UUFDeEIsT0FBTyxLQUFLLENBQUMsT0FBTyxFQUFFLEVBQUUsQ0FBQztJQUMzQixDQUFDOzhHQWxEVSx1QkFBdUI7a0dBQXZCLHVCQUF1Qiw2TkNYcEMsNmNBZUEsdWtCRE5jLENBQUMsVUFBVSxDQUFDOztTQUViLHVCQUF1QjsyRkFBdkIsdUJBQXVCO2tCQU5uQyxTQUFTOytCQUNFLHFCQUFxQixjQUduQixDQUFDLFVBQVUsQ0FBQzs4QkFVeEIsR0FBRztzQkFERixLQUFLO2dCQUlOLEtBQUs7c0JBREosS0FBSztnQkFNTixNQUFNO3NCQURMLEtBQUs7Z0JBSU4sSUFBSTtzQkFESCxLQUFLO2dCQUlOLFFBQVE7c0JBRFAsS0FBSztnQkFlTixjQUFjO3NCQURiLFlBQVk7dUJBQUMsZUFBZSxFQUFFLENBQUMsUUFBUSxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBIb3N0TGlzdGVuZXIsIElucHV0LCBPbkluaXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgUmVwbGF5U3ViamVjdCB9IGZyb20gJ3J4anMnO1xyXG5pbXBvcnQgeyB0b2FzdEluT3V0IH0gZnJvbSAnLi4vLi4vYW5pbWF0aW9ucy90b2FzdC5hbmltYXRpb25zJztcclxuaW1wb3J0IHsgVG9hc3RlciB9IGZyb20gJy4uLy4uL21vZGVscy90b2FzdGVyJztcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAnYWJwLXRvYXN0LWNvbnRhaW5lcicsXHJcbiAgdGVtcGxhdGVVcmw6ICcuL3RvYXN0LWNvbnRhaW5lci5jb21wb25lbnQuaHRtbCcsXHJcbiAgc3R5bGVVcmxzOiBbJy4vdG9hc3QtY29udGFpbmVyLmNvbXBvbmVudC5zY3NzJ10sXHJcbiAgYW5pbWF0aW9uczogW3RvYXN0SW5PdXRdLFxyXG59KVxyXG5leHBvcnQgY2xhc3MgVG9hc3RDb250YWluZXJDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xyXG4gIHRvYXN0cyQhOiBSZXBsYXlTdWJqZWN0PFRvYXN0ZXIuVG9hc3RbXT47XHJcblxyXG4gIHJlbW92ZSE6ICh0b2FzdElkOiBudW1iZXIpID0+IHZvaWQ7XHJcblxyXG4gIHRvYXN0cyA9IFtdIGFzIFRvYXN0ZXIuVG9hc3RbXTtcclxuXHJcbiAgQElucHV0KClcclxuICB0b3A/OiBzdHJpbmc7XHJcblxyXG4gIEBJbnB1dCgpXHJcbiAgcmlnaHQgPSAnMzBweCc7XHJcbiAgZGVmYXVsdFJpZ2h0ID0gJzMwcHgnO1xyXG4gIGRlZmF1bHRNb2JpbGVSaWdodCA9ICcwJztcclxuXHJcbiAgQElucHV0KClcclxuICBib3R0b20gPSAnMzBweCc7XHJcblxyXG4gIEBJbnB1dCgpXHJcbiAgbGVmdD86IHN0cmluZztcclxuXHJcbiAgQElucHV0KClcclxuICB0b2FzdEtleT86IHN0cmluZztcclxuXHJcbiAgbmdPbkluaXQoKSB7XHJcbiAgICB0aGlzLnNldERlZmF1bHRSaWdodCgpO1xyXG4gICAgdGhpcy50b2FzdHMkLnN1YnNjcmliZSh0b2FzdHMgPT4ge1xyXG4gICAgICB0aGlzLnRvYXN0cyA9IHRoaXMudG9hc3RLZXlcclxuICAgICAgICA/IHRvYXN0cy5maWx0ZXIodCA9PiB7XHJcbiAgICAgICAgICAgIHJldHVybiB0Lm9wdGlvbnMgJiYgdC5vcHRpb25zLmNvbnRhaW5lcktleSAhPT0gdGhpcy50b2FzdEtleTtcclxuICAgICAgICAgIH0pXHJcbiAgICAgICAgOiB0b2FzdHM7XHJcbiAgICB9KTtcclxuICB9XHJcblxyXG4gIEBIb3N0TGlzdGVuZXIoJ3dpbmRvdzpyZXNpemUnLCBbJyRldmVudCddKVxyXG4gIG9uV2luZG93UmVzaXplKCkge1xyXG4gICAgdGhpcy5zZXREZWZhdWx0UmlnaHQoKTtcclxuICB9XHJcblxyXG4gIHNldERlZmF1bHRSaWdodCgpIHtcclxuICAgIGNvbnN0IHNjcmVlbldpZHRoID0gd2luZG93LmlubmVyV2lkdGg7XHJcbiAgICBpZiAoc2NyZWVuV2lkdGggPCA3NjggJiYgdGhpcy5yaWdodCA9PSB0aGlzLmRlZmF1bHRSaWdodCkge1xyXG4gICAgICB0aGlzLnJpZ2h0ID0gdGhpcy5kZWZhdWx0TW9iaWxlUmlnaHQ7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICB0cmFja0J5RnVuYyhpbmRleDogbnVtYmVyLCB0b2FzdDogVG9hc3Rlci5Ub2FzdCkge1xyXG4gICAgaWYgKCF0b2FzdCkgcmV0dXJuIG51bGw7XHJcbiAgICByZXR1cm4gdG9hc3Qub3B0aW9ucz8uaWQ7XHJcbiAgfVxyXG59XHJcbiIsIjxkaXZcclxuICBjbGFzcz1cImFicC10b2FzdC1jb250YWluZXJcIlxyXG4gIFtzdHlsZS50b3BdPVwidG9wIHx8ICdhdXRvJ1wiXHJcbiAgW3N0eWxlLnJpZ2h0XT1cInJpZ2h0IHx8ICdhdXRvJ1wiXHJcbiAgW3N0eWxlLmJvdHRvbV09XCJib3R0b20gfHwgJ2F1dG8nXCJcclxuICBbc3R5bGUubGVmdF09XCJsZWZ0IHx8ICdhdXRvJ1wiXHJcbiAgW3N0eWxlLmRpc3BsYXldPVwidG9hc3RzLmxlbmd0aCA/ICdmbGV4JyA6ICdub25lJ1wiXHJcbiAgW0B0b2FzdEluT3V0XT1cInRvYXN0cy5sZW5ndGhcIlxyXG4+XHJcbiAgPGFicC10b2FzdFxyXG4gICAgW3RvYXN0XT1cInRvYXN0XCJcclxuICAgICpuZ0Zvcj1cImxldCB0b2FzdCBvZiB0b2FzdHM7IHRyYWNrQnk6IHRyYWNrQnlGdW5jXCJcclxuICAgIChyZW1vdmUpPVwicmVtb3ZlKCRldmVudClcIlxyXG4gID48L2FicC10b2FzdD5cclxuPC9kaXY+XHJcbiJdfQ==
@@ -183,5 +183,5 @@ ngb-typeahead-window, ngb-typeahead-window.dropdown-menu {
183
183
  .ngb-dp-body {
184
184
  z-index: 1055 !important;
185
185
  }
186
- `;
186
+ `;
187
187
  //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3R5bGVzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvdGhlbWUtc2hhcmVkL3NyYy9saWIvY29uc3RhbnRzL3N0eWxlcy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxlQUFlOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztDQXlMZCxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IGRlZmF1bHQgYFxyXG4uaXMtaW52YWxpZCAuZm9ybS1jb250cm9sIHtcclxuICBib3JkZXItY29sb3I6ICNkYzM1NDU7XHJcbiAgYm9yZGVyLXN0eWxlOiBzb2xpZCAhaW1wb3J0YW50O1xyXG4gIHBhZGRpbmctcmlnaHQ6IGNhbGMoMS41ZW0gKyAuNzVyZW0pO1xyXG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChkYXRhOmltYWdlL3N2Zyt4bWwsJTNjc3ZnIHhtbG5zPSdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Zycgd2lkdGg9JzEyJyBoZWlnaHQ9JzEyJyBmaWxsPSdub25lJyBzdHJva2U9JyUyM2RjMzU0NScgdmlld0JveD0nMCAwIDEyIDEyJyUzZSUzY2NpcmNsZSBjeD0nNicgY3k9JzYnIHI9JzQuNScvJTNlJTNjcGF0aCBzdHJva2UtbGluZWpvaW49J3JvdW5kJyBkPSdNNS44IDMuNmguNEw2IDYuNXonLyUzZSUzY2NpcmNsZSBjeD0nNicgY3k9JzguMicgcj0nLjYnIGZpbGw9JyUyM2RjMzU0NScgc3Ryb2tlPSdub25lJy8lM2UlM2Mvc3ZnJTNlKTtcclxuICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xyXG4gIGJhY2tncm91bmQtcG9zaXRpb246IHJpZ2h0IGNhbGMoLjM3NWVtICsgLjE4NzVyZW0pIGNlbnRlcjtcclxuICBiYWNrZ3JvdW5kLXNpemU6IGNhbGMoLjc1ZW0gKyAuMzc1cmVtKSBjYWxjKC43NWVtICsgLjM3NXJlbSk7XHJcbn1cclxuXHJcbi5pcy1pbnZhbGlkIC5pbnZhbGlkLWZlZWRiYWNrLFxyXG4uaXMtaW52YWxpZCArICogLmludmFsaWQtZmVlZGJhY2sge1xyXG4gIGRpc3BsYXk6IGJsb2NrO1xyXG59XHJcblxyXG4uZGF0YS10YWJsZXMtZmlsdGVyIHtcclxuICB0ZXh0LWFsaWduOiByaWdodDtcclxufVxyXG5cclxuW2Rpcj1ydGxdIC5kYXRhLXRhYmxlcy1maWx0ZXIge1xyXG4gIHRleHQtYWxpZ246IGxlZnQ7XHJcbn1cclxuXHJcbi5wb2ludGVyIHtcclxuICBjdXJzb3I6IHBvaW50ZXI7XHJcbn1cclxuXHJcbi5uYXZiYXIgLmRyb3Bkb3duLXN1Ym1lbnUgYTo6YWZ0ZXIge1xyXG4gIHRyYW5zZm9ybTogcm90YXRlKC05MGRlZyk7XHJcbiAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gIHJpZ2h0OiAxNnB4O1xyXG4gIHRvcDogMThweDtcclxufVxyXG5cclxuLm5hdmJhciAuZHJvcGRvd24tbWVudSB7XHJcbiAgbWluLXdpZHRoOiAyMTVweDtcclxufVxyXG5cclxuLmRhdGF0YWJsZS1zY3JvbGwge1xyXG4gIG1hcmdpbi1ib3R0b206IDVweCAhaW1wb3J0YW50O1xyXG4gIHdpZHRoOiB1bnNldCAhaW1wb3J0YW50O1xyXG59XHJcblxyXG4udWktdGFibGUtc2Nyb2xsYWJsZS1ib2R5Ojotd2Via2l0LXNjcm9sbGJhciB7XHJcbiAgaGVpZ2h0OiA1cHggIWltcG9ydGFudDtcclxuICB3aWR0aDogNXB4ICFpbXBvcnRhbnQ7XHJcbn1cclxuXHJcbi51aS10YWJsZS1zY3JvbGxhYmxlLWJvZHk6Oi13ZWJraXQtc2Nyb2xsYmFyLXRyYWNrIHtcclxuICBiYWNrZ3JvdW5kOiAjZGRkO1xyXG59XHJcblxyXG4udWktdGFibGUtc2Nyb2xsYWJsZS1ib2R5Ojotd2Via2l0LXNjcm9sbGJhci10aHVtYiB7XHJcbiAgYmFja2dyb3VuZDogIzhhODY4NjtcclxufVxyXG5cclxuLmFicC1lbGxpcHNpcy1pbmxpbmUge1xyXG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuICBvdmVyZmxvdzogaGlkZGVuO1xyXG4gIHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzO1xyXG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7XHJcbn1cclxuXHJcbi5hYnAtZWxsaXBzaXMge1xyXG4gIG92ZXJmbG93OiBoaWRkZW4gIWltcG9ydGFudDtcclxuICB0ZXh0LW92ZXJmbG93OiBlbGxpcHNpcztcclxuICB3aGl0ZS1zcGFjZTogbm93cmFwO1xyXG59XHJcblxyXG4udWktd2lkZ2V0LW92ZXJsYXkge1xyXG4gIHotaW5kZXg6IDEwMDA7XHJcbn1cclxuXHJcbi5jb2xvci13aGl0ZSB7XHJcbiAgY29sb3I6ICNGRkYgIWltcG9ydGFudDtcclxufVxyXG5cclxuLmN1c3RvbS1jaGVja2JveCA+IGxhYmVsIHtcclxuICBjdXJzb3I6IHBvaW50ZXI7XHJcbn1cclxuXHJcbi8qIDxhbmltYXRpb25zICovXHJcblxyXG4uZmFkZS1pbi10b3Age1xyXG4gIGFuaW1hdGlvbjogZmFkZUluVG9wIDAuMnMgZWFzZS1pbi1vdXQ7XHJcbn1cclxuXHJcbi5mYWRlLW91dC10b3Age1xyXG4gIGFuaW1hdGlvbjogZmFkZU91dFRvcCAwLjJzIGVhc2UtaW4tb3V0O1xyXG59XHJcblxyXG4uYWJwLWNvbGxhcHNlZC1oZWlnaHQge1xyXG4gIC1tb3otdHJhbnNpdGlvbjogbWF4LWhlaWdodCBsaW5lYXIgMC4zNXM7XHJcbiAgLW1zLXRyYW5zaXRpb246IG1heC1oZWlnaHQgbGluZWFyIDAuMzVzO1xyXG4gIC1vLXRyYW5zaXRpb246IG1heC1oZWlnaHQgbGluZWFyIDAuMzVzO1xyXG4gIC13ZWJraXQtdHJhbnNpdGlvbjogbWF4LWhlaWdodCBsaW5lYXIgMC4zNXM7XHJcbiAgb3ZlcmZsb3c6aGlkZGVuO1xyXG4gIHRyYW5zaXRpb246bWF4LWhlaWdodCAwLjM1cyBsaW5lYXI7XHJcbiAgaGVpZ2h0OmF1dG87XHJcbiAgbWF4LWhlaWdodDogMDtcclxufVxyXG5cclxuLmFicC1taC0yNSB7XHJcbiAgbWF4LWhlaWdodDogMjV2aDtcclxufVxyXG5cclxuLmFicC1taC01MCB7XHJcbiAgdHJhbnNpdGlvbjptYXgtaGVpZ2h0IDAuNjVzIGxpbmVhcjtcclxuICBtYXgtaGVpZ2h0OiA1MHZoO1xyXG59XHJcblxyXG4uYWJwLW1oLTc1IHtcclxuICB0cmFuc2l0aW9uOm1heC1oZWlnaHQgMC44NXMgbGluZWFyO1xyXG4gIG1heC1oZWlnaHQ6IDc1dmg7XHJcbn1cclxuXHJcbi5hYnAtbWgtMTAwIHtcclxuICB0cmFuc2l0aW9uOm1heC1oZWlnaHQgMXMgbGluZWFyO1xyXG4gIG1heC1oZWlnaHQ6IDEwMHZoO1xyXG59XHJcblxyXG5bY2xhc3NePVwic29ydGluZ1wiXSB7XHJcbiAgb3BhY2l0eTogLjM7XHJcbiAgY3Vyc29yOiBwb2ludGVyO1xyXG59XHJcbltjbGFzc149XCJzb3J0aW5nXCJdOmJlZm9yZSB7XHJcbiAgcmlnaHQ6IDAuNXJlbTtcclxuICBjb250ZW50OiBcIuKGkVwiO1xyXG59XHJcbltjbGFzc149XCJzb3J0aW5nXCJdOmFmdGVyIHtcclxuICByaWdodDogMC41cmVtO1xyXG4gIGNvbnRlbnQ6IFwi4oaTXCI7XHJcbn1cclxuXHJcbi5zb3J0aW5nX2Rlc2Mge1xyXG4gIG9wYWNpdHk6IDE7XHJcbn1cclxuLnNvcnRpbmdfZGVzYzpiZWZvcmUge1xyXG4gIG9wYWNpdHk6IC4zO1xyXG59XHJcblxyXG4uc29ydGluZ19hc2Mge1xyXG4gIG9wYWNpdHk6IDE7XHJcbn1cclxuLnNvcnRpbmdfYXNjOmFmdGVyIHtcclxuICBvcGFjaXR5OiAuMztcclxufVxyXG4ubmd4LWRhdGF0YWJsZS5tYXRlcmlhbCB7XHJcbiAgYm94LXNoYWRvdzogbm9uZTtcclxufVxyXG5uZ2ItdHlwZWFoZWFkLXdpbmRvdywgbmdiLXR5cGVhaGVhZC13aW5kb3cuZHJvcGRvd24tbWVudSB7XHJcbiAgbWF4LWhlaWdodDogMjVlbTtcclxuICBvdmVyZmxvdy15OiBzY3JvbGwgIWltcG9ydGFudDtcclxuICB6LWluZGV4OiAxMDUwO1xyXG59XHJcblxyXG4uYWJwLW1vZGFsLWhlYWRlciB7XHJcbiAgd29yZC1icmVhazogYnJlYWstd29yZDtcclxufVxyXG5cclxuXHJcbkBrZXlmcmFtZXMgZmFkZUluVG9wIHtcclxuICBmcm9tIHtcclxuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNXB4KTtcclxuICAgIG9wYWNpdHk6IDA7XHJcbiAgfVxyXG5cclxuICB0byB7XHJcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMHB4KTtcclxuICAgIG9wYWNpdHk6IDE7XHJcbiAgfVxyXG59XHJcblxyXG5Aa2V5ZnJhbWVzIGZhZGVPdXRUb3Age1xyXG4gIHRvIHtcclxuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNXB4KTtcclxuICAgIG9wYWNpdHk6IDA7XHJcbiAgfVxyXG59XHJcblxyXG4vKiA8L2FuaW1hdGlvbnMgKi9cclxuLm5nYi1kcC1ib2R5IHtcclxuICB6LWluZGV4OiAxMDU1ICFpbXBvcnRhbnQ7XHJcbn1cclxuYDtcclxuIl19
@@ -1,20 +1,20 @@
1
- export const DEFAULT_VALIDATION_BLUEPRINTS = {
2
- creditCard: 'AbpValidation::ThisFieldIsNotAValidCreditCardNumber.',
3
- email: 'AbpValidation::ThisFieldIsNotAValidEmailAddress.',
4
- invalid: 'AbpValidation::ThisFieldIsNotValid.',
5
- max: 'AbpValidation::ThisFieldMustBeLessOrEqual{0}[{{ max }}]',
6
- maxlength: 'AbpValidation::ThisFieldMustBeAStringOrArrayTypeWithAMaximumLengthOf{0}[{{ requiredLength }}]',
7
- min: 'AbpValidation::ThisFieldMustBeGreaterThanOrEqual{0}[{{ min }}]',
8
- minlength: 'AbpValidation::ThisFieldMustBeAStringOrArrayTypeWithAMinimumLengthOf{0}[{{ requiredLength }}]',
9
- ngbDate: 'AbpValidation::ThisFieldIsNotValid.',
10
- passwordMismatch: 'AbpIdentity::Volo.Abp.Identity:PasswordConfirmationFailed',
11
- range: 'AbpValidation::ThisFieldMustBeBetween{0}And{1}[{{ min }},{{ max }}]',
12
- required: 'AbpValidation::ThisFieldIsRequired.',
13
- url: 'AbpValidation::ThisFieldIsNotAValidFullyQualifiedHttpHttpsOrFtpUrl',
14
- passwordRequiresLower: 'AbpIdentity::Volo.Abp.Identity:PasswordRequiresLower',
15
- passwordRequiresUpper: 'AbpIdentity::Volo.Abp.Identity:PasswordRequiresUpper',
16
- passwordRequiresDigit: 'AbpIdentity::Volo.Abp.Identity:PasswordRequiresDigit',
17
- passwordRequiresNonAlphanumeric: 'AbpIdentity::Volo.Abp.Identity:PasswordRequiresNonAlphanumeric',
18
- usernamePattern: 'AbpIdentity::Volo.Abp.Identity:InvalidUserName[{{ actualValue }}]',
19
- };
1
+ export const DEFAULT_VALIDATION_BLUEPRINTS = {
2
+ creditCard: 'AbpValidation::ThisFieldIsNotAValidCreditCardNumber.',
3
+ email: 'AbpValidation::ThisFieldIsNotAValidEmailAddress.',
4
+ invalid: 'AbpValidation::ThisFieldIsNotValid.',
5
+ max: 'AbpValidation::ThisFieldMustBeLessOrEqual{0}[{{ max }}]',
6
+ maxlength: 'AbpValidation::ThisFieldMustBeAStringOrArrayTypeWithAMaximumLengthOf{0}[{{ requiredLength }}]',
7
+ min: 'AbpValidation::ThisFieldMustBeGreaterThanOrEqual{0}[{{ min }}]',
8
+ minlength: 'AbpValidation::ThisFieldMustBeAStringOrArrayTypeWithAMinimumLengthOf{0}[{{ requiredLength }}]',
9
+ ngbDate: 'AbpValidation::ThisFieldIsNotValid.',
10
+ passwordMismatch: 'AbpIdentity::Volo.Abp.Identity:PasswordConfirmationFailed',
11
+ range: 'AbpValidation::ThisFieldMustBeBetween{0}And{1}[{{ min }},{{ max }}]',
12
+ required: 'AbpValidation::ThisFieldIsRequired.',
13
+ url: 'AbpValidation::ThisFieldIsNotAValidFullyQualifiedHttpHttpsOrFtpUrl',
14
+ passwordRequiresLower: 'AbpIdentity::Volo.Abp.Identity:PasswordRequiresLower',
15
+ passwordRequiresUpper: 'AbpIdentity::Volo.Abp.Identity:PasswordRequiresUpper',
16
+ passwordRequiresDigit: 'AbpIdentity::Volo.Abp.Identity:PasswordRequiresDigit',
17
+ passwordRequiresNonAlphanumeric: 'AbpIdentity::Volo.Abp.Identity:PasswordRequiresNonAlphanumeric',
18
+ usernamePattern: 'AbpIdentity::Volo.Abp.Identity:InvalidUserName[{{ actualValue }}]',
19
+ };
20
20
  //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidmFsaWRhdGlvbi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL3RoZW1lLXNoYXJlZC9zcmMvbGliL2NvbnN0YW50cy92YWxpZGF0aW9uLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE1BQU0sQ0FBQyxNQUFNLDZCQUE2QixHQUFHO0lBQzNDLFVBQVUsRUFBRSxzREFBc0Q7SUFDbEUsS0FBSyxFQUFFLGtEQUFrRDtJQUN6RCxPQUFPLEVBQUUscUNBQXFDO0lBQzlDLEdBQUcsRUFBRSx5REFBeUQ7SUFDOUQsU0FBUyxFQUNQLCtGQUErRjtJQUNqRyxHQUFHLEVBQUUsZ0VBQWdFO0lBQ3JFLFNBQVMsRUFDUCwrRkFBK0Y7SUFDakcsT0FBTyxFQUFFLHFDQUFxQztJQUM5QyxnQkFBZ0IsRUFBRSwyREFBMkQ7SUFDN0UsS0FBSyxFQUFFLHFFQUFxRTtJQUM1RSxRQUFRLEVBQUUscUNBQXFDO0lBQy9DLEdBQUcsRUFBRSxvRUFBb0U7SUFDekUscUJBQXFCLEVBQUUsc0RBQXNEO0lBQzdFLHFCQUFxQixFQUFFLHNEQUFzRDtJQUM3RSxxQkFBcUIsRUFBRSxzREFBc0Q7SUFDN0UsK0JBQStCLEVBQUUsZ0VBQWdFO0lBQ2pHLGVBQWUsRUFBRSxtRUFBbUU7Q0FDckYsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCBjb25zdCBERUZBVUxUX1ZBTElEQVRJT05fQkxVRVBSSU5UUyA9IHtcclxuICBjcmVkaXRDYXJkOiAnQWJwVmFsaWRhdGlvbjo6VGhpc0ZpZWxkSXNOb3RBVmFsaWRDcmVkaXRDYXJkTnVtYmVyLicsXHJcbiAgZW1haWw6ICdBYnBWYWxpZGF0aW9uOjpUaGlzRmllbGRJc05vdEFWYWxpZEVtYWlsQWRkcmVzcy4nLFxyXG4gIGludmFsaWQ6ICdBYnBWYWxpZGF0aW9uOjpUaGlzRmllbGRJc05vdFZhbGlkLicsXHJcbiAgbWF4OiAnQWJwVmFsaWRhdGlvbjo6VGhpc0ZpZWxkTXVzdEJlTGVzc09yRXF1YWx7MH1be3sgbWF4IH19XScsXHJcbiAgbWF4bGVuZ3RoOlxyXG4gICAgJ0FicFZhbGlkYXRpb246OlRoaXNGaWVsZE11c3RCZUFTdHJpbmdPckFycmF5VHlwZVdpdGhBTWF4aW11bUxlbmd0aE9mezB9W3t7IHJlcXVpcmVkTGVuZ3RoIH19XScsXHJcbiAgbWluOiAnQWJwVmFsaWRhdGlvbjo6VGhpc0ZpZWxkTXVzdEJlR3JlYXRlclRoYW5PckVxdWFsezB9W3t7IG1pbiB9fV0nLFxyXG4gIG1pbmxlbmd0aDpcclxuICAgICdBYnBWYWxpZGF0aW9uOjpUaGlzRmllbGRNdXN0QmVBU3RyaW5nT3JBcnJheVR5cGVXaXRoQU1pbmltdW1MZW5ndGhPZnswfVt7eyByZXF1aXJlZExlbmd0aCB9fV0nLFxyXG4gIG5nYkRhdGU6ICdBYnBWYWxpZGF0aW9uOjpUaGlzRmllbGRJc05vdFZhbGlkLicsXHJcbiAgcGFzc3dvcmRNaXNtYXRjaDogJ0FicElkZW50aXR5OjpWb2xvLkFicC5JZGVudGl0eTpQYXNzd29yZENvbmZpcm1hdGlvbkZhaWxlZCcsXHJcbiAgcmFuZ2U6ICdBYnBWYWxpZGF0aW9uOjpUaGlzRmllbGRNdXN0QmVCZXR3ZWVuezB9QW5kezF9W3t7IG1pbiB9fSx7eyBtYXggfX1dJyxcclxuICByZXF1aXJlZDogJ0FicFZhbGlkYXRpb246OlRoaXNGaWVsZElzUmVxdWlyZWQuJyxcclxuICB1cmw6ICdBYnBWYWxpZGF0aW9uOjpUaGlzRmllbGRJc05vdEFWYWxpZEZ1bGx5UXVhbGlmaWVkSHR0cEh0dHBzT3JGdHBVcmwnLFxyXG4gIHBhc3N3b3JkUmVxdWlyZXNMb3dlcjogJ0FicElkZW50aXR5OjpWb2xvLkFicC5JZGVudGl0eTpQYXNzd29yZFJlcXVpcmVzTG93ZXInLFxyXG4gIHBhc3N3b3JkUmVxdWlyZXNVcHBlcjogJ0FicElkZW50aXR5OjpWb2xvLkFicC5JZGVudGl0eTpQYXNzd29yZFJlcXVpcmVzVXBwZXInLFxyXG4gIHBhc3N3b3JkUmVxdWlyZXNEaWdpdDogJ0FicElkZW50aXR5OjpWb2xvLkFicC5JZGVudGl0eTpQYXNzd29yZFJlcXVpcmVzRGlnaXQnLFxyXG4gIHBhc3N3b3JkUmVxdWlyZXNOb25BbHBoYW51bWVyaWM6ICdBYnBJZGVudGl0eTo6Vm9sby5BYnAuSWRlbnRpdHk6UGFzc3dvcmRSZXF1aXJlc05vbkFscGhhbnVtZXJpYycsXHJcbiAgdXNlcm5hbWVQYXR0ZXJuOiAnQWJwSWRlbnRpdHk6OlZvbG8uQWJwLklkZW50aXR5OkludmFsaWRVc2VyTmFtZVt7eyBhY3R1YWxWYWx1ZSB9fV0nLFxyXG59O1xyXG4iXX0=
@@ -0,0 +1,65 @@
1
+ import { ChangeDetectorRef, Directive, ElementRef, HostBinding, Input, NgModule, } from '@angular/core';
2
+ import * as i0 from "@angular/core";
3
+ class EllipsisDirective {
4
+ get inlineClass() {
5
+ return this.enabled && this.width;
6
+ }
7
+ get class() {
8
+ return this.enabled && !this.width;
9
+ }
10
+ get maxWidth() {
11
+ return this.enabled && this.width ? this.width || '170px' : undefined;
12
+ }
13
+ constructor(cdRef, elRef) {
14
+ this.cdRef = cdRef;
15
+ this.elRef = elRef;
16
+ this.enabled = true;
17
+ }
18
+ ngAfterViewInit() {
19
+ this.title = this.title || this.elRef.nativeElement.innerText;
20
+ this.cdRef.detectChanges();
21
+ }
22
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.0.1", ngImport: i0, type: EllipsisDirective, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Directive }); }
23
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "16.0.1", type: EllipsisDirective, selector: "[abpEllipsis]", inputs: { width: ["abpEllipsis", "width"], title: "title", enabled: ["abpEllipsisEnabled", "enabled"] }, host: { properties: { "title": "this.title", "class.abp-ellipsis-inline": "this.inlineClass", "class.abp-ellipsis": "this.class", "style.max-width": "this.maxWidth" } }, ngImport: i0 }); }
24
+ }
25
+ export { EllipsisDirective };
26
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.1", ngImport: i0, type: EllipsisDirective, decorators: [{
27
+ type: Directive,
28
+ args: [{
29
+ selector: '[abpEllipsis]',
30
+ }]
31
+ }], ctorParameters: function () { return [{ type: i0.ChangeDetectorRef }, { type: i0.ElementRef }]; }, propDecorators: { width: [{
32
+ type: Input,
33
+ args: ['abpEllipsis']
34
+ }], title: [{
35
+ type: HostBinding,
36
+ args: ['title']
37
+ }, {
38
+ type: Input
39
+ }], enabled: [{
40
+ type: Input,
41
+ args: ['abpEllipsisEnabled']
42
+ }], inlineClass: [{
43
+ type: HostBinding,
44
+ args: ['class.abp-ellipsis-inline']
45
+ }], class: [{
46
+ type: HostBinding,
47
+ args: ['class.abp-ellipsis']
48
+ }], maxWidth: [{
49
+ type: HostBinding,
50
+ args: ['style.max-width']
51
+ }] } });
52
+ class EllipsisModule {
53
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.0.1", ngImport: i0, type: EllipsisModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
54
+ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "16.0.1", ngImport: i0, type: EllipsisModule, declarations: [EllipsisDirective], exports: [EllipsisDirective] }); }
55
+ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "16.0.1", ngImport: i0, type: EllipsisModule }); }
56
+ }
57
+ export { EllipsisModule };
58
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.1", ngImport: i0, type: EllipsisModule, decorators: [{
59
+ type: NgModule,
60
+ args: [{
61
+ exports: [EllipsisDirective],
62
+ declarations: [EllipsisDirective],
63
+ }]
64
+ }] });
65
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZWxsaXBzaXMuZGlyZWN0aXZlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvdGhlbWUtc2hhcmVkL3NyYy9saWIvZGlyZWN0aXZlcy9lbGxpcHNpcy5kaXJlY3RpdmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUVMLGlCQUFpQixFQUNqQixTQUFTLEVBQ1QsVUFBVSxFQUNWLFdBQVcsRUFDWCxLQUFLLEVBQ0wsUUFBUSxHQUNULE1BQU0sZUFBZSxDQUFDOztBQUV2QixNQUdhLGlCQUFpQjtJQVc1QixJQUNJLFdBQVc7UUFDYixPQUFPLElBQUksQ0FBQyxPQUFPLElBQUksSUFBSSxDQUFDLEtBQUssQ0FBQztJQUNwQyxDQUFDO0lBRUQsSUFDSSxLQUFLO1FBQ1AsT0FBTyxJQUFJLENBQUMsT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQztJQUNyQyxDQUFDO0lBRUQsSUFDSSxRQUFRO1FBQ1YsT0FBTyxJQUFJLENBQUMsT0FBTyxJQUFJLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxLQUFLLElBQUksT0FBTyxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUM7SUFDeEUsQ0FBQztJQUVELFlBQW9CLEtBQXdCLEVBQVUsS0FBaUI7UUFBbkQsVUFBSyxHQUFMLEtBQUssQ0FBbUI7UUFBVSxVQUFLLEdBQUwsS0FBSyxDQUFZO1FBakJ2RSxZQUFPLEdBQUcsSUFBSSxDQUFDO0lBaUIyRCxDQUFDO0lBRTNFLGVBQWU7UUFDYixJQUFJLENBQUMsS0FBSyxHQUFHLElBQUksQ0FBQyxLQUFLLElBQUssSUFBSSxDQUFDLEtBQUssQ0FBQyxhQUE2QixDQUFDLFNBQVMsQ0FBQztRQUMvRSxJQUFJLENBQUMsS0FBSyxDQUFDLGFBQWEsRUFBRSxDQUFDO0lBQzdCLENBQUM7OEdBL0JVLGlCQUFpQjtrR0FBakIsaUJBQWlCOztTQUFqQixpQkFBaUI7MkZBQWpCLGlCQUFpQjtrQkFIN0IsU0FBUzttQkFBQztvQkFDVCxRQUFRLEVBQUUsZUFBZTtpQkFDMUI7aUlBR0MsS0FBSztzQkFESixLQUFLO3VCQUFDLGFBQWE7Z0JBS3BCLEtBQUs7c0JBRkosV0FBVzt1QkFBQyxPQUFPOztzQkFDbkIsS0FBSztnQkFJTixPQUFPO3NCQUROLEtBQUs7dUJBQUMsb0JBQW9CO2dCQUl2QixXQUFXO3NCQURkLFdBQVc7dUJBQUMsMkJBQTJCO2dCQU1wQyxLQUFLO3NCQURSLFdBQVc7dUJBQUMsb0JBQW9CO2dCQU03QixRQUFRO3NCQURYLFdBQVc7dUJBQUMsaUJBQWlCOztBQWFoQyxNQUlhLGNBQWM7OEdBQWQsY0FBYzsrR0FBZCxjQUFjLGlCQXRDZCxpQkFBaUIsYUFBakIsaUJBQWlCOytHQXNDakIsY0FBYzs7U0FBZCxjQUFjOzJGQUFkLGNBQWM7a0JBSjFCLFFBQVE7bUJBQUM7b0JBQ1IsT0FBTyxFQUFFLENBQUMsaUJBQWlCLENBQUM7b0JBQzVCLFlBQVksRUFBRSxDQUFDLGlCQUFpQixDQUFDO2lCQUNsQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XHJcbiAgQWZ0ZXJWaWV3SW5pdCxcclxuICBDaGFuZ2VEZXRlY3RvclJlZixcclxuICBEaXJlY3RpdmUsXHJcbiAgRWxlbWVudFJlZixcclxuICBIb3N0QmluZGluZyxcclxuICBJbnB1dCxcclxuICBOZ01vZHVsZSxcclxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuXHJcbkBEaXJlY3RpdmUoe1xyXG4gIHNlbGVjdG9yOiAnW2FicEVsbGlwc2lzXScsXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBFbGxpcHNpc0RpcmVjdGl2ZSBpbXBsZW1lbnRzIEFmdGVyVmlld0luaXQge1xyXG4gIEBJbnB1dCgnYWJwRWxsaXBzaXMnKVxyXG4gIHdpZHRoPzogc3RyaW5nO1xyXG5cclxuICBASG9zdEJpbmRpbmcoJ3RpdGxlJylcclxuICBASW5wdXQoKVxyXG4gIHRpdGxlPzogc3RyaW5nO1xyXG5cclxuICBASW5wdXQoJ2FicEVsbGlwc2lzRW5hYmxlZCcpXHJcbiAgZW5hYmxlZCA9IHRydWU7XHJcblxyXG4gIEBIb3N0QmluZGluZygnY2xhc3MuYWJwLWVsbGlwc2lzLWlubGluZScpXHJcbiAgZ2V0IGlubGluZUNsYXNzKCkge1xyXG4gICAgcmV0dXJuIHRoaXMuZW5hYmxlZCAmJiB0aGlzLndpZHRoO1xyXG4gIH1cclxuXHJcbiAgQEhvc3RCaW5kaW5nKCdjbGFzcy5hYnAtZWxsaXBzaXMnKVxyXG4gIGdldCBjbGFzcygpIHtcclxuICAgIHJldHVybiB0aGlzLmVuYWJsZWQgJiYgIXRoaXMud2lkdGg7XHJcbiAgfVxyXG5cclxuICBASG9zdEJpbmRpbmcoJ3N0eWxlLm1heC13aWR0aCcpXHJcbiAgZ2V0IG1heFdpZHRoKCkge1xyXG4gICAgcmV0dXJuIHRoaXMuZW5hYmxlZCAmJiB0aGlzLndpZHRoID8gdGhpcy53aWR0aCB8fCAnMTcwcHgnIDogdW5kZWZpbmVkO1xyXG4gIH1cclxuXHJcbiAgY29uc3RydWN0b3IocHJpdmF0ZSBjZFJlZjogQ2hhbmdlRGV0ZWN0b3JSZWYsIHByaXZhdGUgZWxSZWY6IEVsZW1lbnRSZWYpIHt9XHJcblxyXG4gIG5nQWZ0ZXJWaWV3SW5pdCgpIHtcclxuICAgIHRoaXMudGl0bGUgPSB0aGlzLnRpdGxlIHx8ICh0aGlzLmVsUmVmLm5hdGl2ZUVsZW1lbnQgYXMgSFRNTEVsZW1lbnQpLmlubmVyVGV4dDtcclxuICAgIHRoaXMuY2RSZWYuZGV0ZWN0Q2hhbmdlcygpO1xyXG4gIH1cclxufVxyXG5cclxuQE5nTW9kdWxlKHtcclxuICBleHBvcnRzOiBbRWxsaXBzaXNEaXJlY3RpdmVdLFxyXG4gIGRlY2xhcmF0aW9uczogW0VsbGlwc2lzRGlyZWN0aXZlXSxcclxufSlcclxuZXhwb3J0IGNsYXNzIEVsbGlwc2lzTW9kdWxlIHt9XHJcbiJdfQ==
@@ -1,6 +1,6 @@
1
- export * from './ellipsis.directive';
2
- export * from './loading.directive';
3
- export * from './ngx-datatable-default.directive';
4
- export * from './ngx-datatable-list.directive';
5
- export * from './visible.directive';
1
+ export * from './ellipsis.directive';
2
+ export * from './loading.directive';
3
+ export * from './ngx-datatable-default.directive';
4
+ export * from './ngx-datatable-list.directive';
5
+ export * from './visible.directive';
6
6
  //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy90aGVtZS1zaGFyZWQvc3JjL2xpYi9kaXJlY3RpdmVzL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGNBQWMsc0JBQXNCLENBQUM7QUFDckMsY0FBYyxxQkFBcUIsQ0FBQztBQUNwQyxjQUFjLG1DQUFtQyxDQUFDO0FBQ2xELGNBQWMsZ0NBQWdDLENBQUM7QUFDL0MsY0FBYyxxQkFBcUIsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCAqIGZyb20gJy4vZWxsaXBzaXMuZGlyZWN0aXZlJztcclxuZXhwb3J0ICogZnJvbSAnLi9sb2FkaW5nLmRpcmVjdGl2ZSc7XHJcbmV4cG9ydCAqIGZyb20gJy4vbmd4LWRhdGF0YWJsZS1kZWZhdWx0LmRpcmVjdGl2ZSc7XHJcbmV4cG9ydCAqIGZyb20gJy4vbmd4LWRhdGF0YWJsZS1saXN0LmRpcmVjdGl2ZSc7XHJcbmV4cG9ydCAqIGZyb20gJy4vdmlzaWJsZS5kaXJlY3RpdmUnO1xyXG4iXX0=