slick-components 4.4.13 → 4.4.16

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 (346) hide show
  1. package/css/slick-components.css +598 -365
  2. package/css/slick-components.min.css +1 -1
  3. package/esm2020/public-api.mjs +43 -0
  4. package/esm2020/slick-accordion/slick-accordion-item-header.component.mjs +14 -0
  5. package/esm2020/slick-accordion/slick-accordion-item.component.mjs +86 -0
  6. package/esm2020/slick-accordion/slick-accordion.component.mjs +75 -0
  7. package/esm2020/slick-accordion/slick-accordion.module.mjs +23 -0
  8. package/esm2020/slick-auto-complete/slick-auto-complete-list-item-template.directive.mjs +22 -0
  9. package/esm2020/slick-auto-complete/slick-auto-complete.component.mjs +375 -0
  10. package/esm2020/slick-auto-complete/slick-auto-complete.module.mjs +24 -0
  11. package/esm2020/slick-button-spinner/slick-button-spinner.component.mjs +175 -0
  12. package/esm2020/slick-button-spinner/slick-button-spinner.module.mjs +19 -0
  13. package/esm2020/slick-calendar/slick-calendar.component.mjs +246 -0
  14. package/esm2020/slick-calendar/slick-calendar.module.mjs +19 -0
  15. package/esm2020/slick-card/slick-card-header.component.mjs +14 -0
  16. package/esm2020/slick-card/slick-card.component.mjs +42 -0
  17. package/esm2020/slick-card/slick-card.module.mjs +20 -0
  18. package/esm2020/slick-components.mjs +5 -0
  19. package/esm2020/slick-confirm-dialog/slick-confirm-dialog.component.mjs +65 -0
  20. package/esm2020/slick-confirm-dialog/slick-confirm-dialog.module.mjs +20 -0
  21. package/esm2020/slick-container/slick-container-body.component.mjs +24 -0
  22. package/esm2020/slick-container/slick-container-footer.component.mjs +20 -0
  23. package/esm2020/slick-container/slick-container-header.component.mjs +20 -0
  24. package/esm2020/slick-container/slick-container.component.mjs +21 -0
  25. package/esm2020/slick-container/slick-container.module.mjs +25 -0
  26. package/esm2020/slick-context-menu/slick-context-menu-item.component.mjs +14 -0
  27. package/esm2020/slick-context-menu/slick-context-menu.component.mjs +48 -0
  28. package/esm2020/slick-context-menu/slick-context-menu.module.mjs +20 -0
  29. package/{esm2015/slick-currency-mask/slick-currency-mask-options.model.js → esm2020/slick-currency-mask/slick-currency-mask-options.model.mjs} +0 -0
  30. package/esm2020/slick-currency-mask/slick-currency-mask.directive.mjs +233 -0
  31. package/esm2020/slick-currency-mask/slick-currency-mask.module.mjs +19 -0
  32. package/esm2020/slick-date-picker/slick-date-picker.component.mjs +278 -0
  33. package/esm2020/slick-date-picker/slick-date-picker.module.mjs +21 -0
  34. package/esm2020/slick-dialog/slick-dialog-footer.component.mjs +24 -0
  35. package/esm2020/slick-dialog/slick-dialog.component.mjs +294 -0
  36. package/esm2020/slick-dialog/slick-dialog.module.mjs +23 -0
  37. package/esm2020/slick-dialog/slick-dialog.service.mjs +68 -0
  38. package/esm2020/slick-drag-drop/slick-drag-drop.directive.mjs +13 -0
  39. package/esm2020/slick-drag-drop/slick-drag-drop.module.mjs +21 -0
  40. package/esm2020/slick-drag-drop/slick-draggable.directive.mjs +13 -0
  41. package/{esm2015/slick-drop-down/slick-drop-down-button.model.js → esm2020/slick-drop-down/slick-drop-down-button.model.mjs} +0 -0
  42. package/esm2020/slick-drop-down/slick-drop-down.component.mjs +479 -0
  43. package/esm2020/slick-drop-down/slick-drop-down.module.mjs +24 -0
  44. package/esm2020/slick-drop-down/slick-drop-down.service.mjs +55 -0
  45. package/esm2020/slick-drop-list/slick-drop-list-grab.directive.mjs +18 -0
  46. package/esm2020/slick-drop-list/slick-drop-list-item.directive.mjs +18 -0
  47. package/esm2020/slick-drop-list/slick-drop-list.directive.mjs +215 -0
  48. package/esm2020/slick-drop-list/slick-drop-list.module.mjs +23 -0
  49. package/esm2020/slick-email-viewer/slick-email-viewer-dialog.component.mjs +81 -0
  50. package/esm2020/slick-email-viewer/slick-email-viewer.component.mjs +42 -0
  51. package/esm2020/slick-email-viewer/slick-email-viewer.module.mjs +26 -0
  52. package/{esm2015/slick-emailer/slick-emailer-address.model.js → esm2020/slick-emailer/slick-emailer-address.model.mjs} +0 -0
  53. package/esm2020/slick-emailer/slick-emailer-dialog.component.mjs +153 -0
  54. package/esm2020/slick-emailer/slick-emailer.component.mjs +235 -0
  55. package/{esm2015/slick-emailer/slick-emailer.model.js → esm2020/slick-emailer/slick-emailer.model.mjs} +0 -0
  56. package/esm2020/slick-emailer/slick-emailer.module.mjs +29 -0
  57. package/esm2020/slick-file-drop/slick-file-drop.component.mjs +156 -0
  58. package/esm2020/slick-file-drop/slick-file-drop.module.mjs +20 -0
  59. package/esm2020/slick-file-list/slick-file-list-item.component.mjs +173 -0
  60. package/esm2020/slick-file-list/slick-file-list.component.mjs +130 -0
  61. package/esm2020/slick-file-list/slick-file-list.module.mjs +23 -0
  62. package/{esm2015/slick-file-model/slick-file.model.js → esm2020/slick-file-model/slick-file.model.mjs} +0 -0
  63. package/esm2020/slick-google-address-search/slick-google-address-search.directive.mjs +75 -0
  64. package/esm2020/slick-google-address-search/slick-google-address-search.module.mjs +19 -0
  65. package/esm2020/slick-google-map/slick-google-map-dialog.component.mjs +50 -0
  66. package/esm2020/slick-google-map/slick-google-map.component.mjs +48 -0
  67. package/esm2020/slick-google-map/slick-google-map.module.mjs +22 -0
  68. package/esm2020/slick-grid/slick-grid-column-template.directive.mjs +19 -0
  69. package/{esm2015/slick-grid/slick-grid-column.model.js → esm2020/slick-grid/slick-grid-column.model.mjs} +0 -0
  70. package/{esm2015/slick-grid/slick-grid-favorite.model.js → esm2020/slick-grid/slick-grid-favorite.model.mjs} +0 -0
  71. package/{esm2015/slick-grid/slick-grid-request.model.js → esm2020/slick-grid/slick-grid-request.model.mjs} +0 -0
  72. package/{esm2015/slick-grid/slick-grid-response.model.js → esm2020/slick-grid/slick-grid-response.model.mjs} +0 -0
  73. package/esm2020/slick-grid/slick-grid-sanitize.pipe.mjs +20 -0
  74. package/esm2020/slick-grid/slick-grid.component.mjs +793 -0
  75. package/esm2020/slick-grid/slick-grid.module.mjs +43 -0
  76. package/{esm2015/slick-grid/slick-grid.options.js → esm2020/slick-grid/slick-grid.options.mjs} +0 -0
  77. package/esm2020/slick-grid/slick-grid.service.mjs +66 -0
  78. package/esm2020/slick-multi-select/slick-multi-select.component.mjs +362 -0
  79. package/esm2020/slick-multi-select/slick-multi-select.module.mjs +20 -0
  80. package/esm2020/slick-multi-select/slick-multi-select.service.mjs +77 -0
  81. package/esm2020/slick-ordered-list/slick-ordered-list.component.mjs +200 -0
  82. package/esm2020/slick-ordered-list/slick-ordered-list.module.mjs +20 -0
  83. package/esm2020/slick-paging/slick-paging.component.mjs +185 -0
  84. package/esm2020/slick-paging/slick-paging.module.mjs +19 -0
  85. package/esm2020/slick-photo-gallery/slick-photo-gallery.component.mjs +98 -0
  86. package/{esm2015/slick-photo-gallery/slick-photo-gallery.model.js → esm2020/slick-photo-gallery/slick-photo-gallery.model.mjs} +0 -0
  87. package/esm2020/slick-photo-gallery/slick-photo-gallery.module.mjs +21 -0
  88. package/esm2020/slick-pick-list/slick-pick-list.component.mjs +84 -0
  89. package/esm2020/slick-pick-list/slick-pick-list.module.mjs +20 -0
  90. package/esm2020/slick-popover/slick-popover.component.mjs +204 -0
  91. package/esm2020/slick-popover/slick-popover.module.mjs +19 -0
  92. package/esm2020/slick-profile-picture/slick-profile-picture.component.mjs +267 -0
  93. package/esm2020/slick-profile-picture/slick-profile-picture.module.mjs +20 -0
  94. package/esm2020/slick-progress-bar/slick-progress-bar.module.mjs +18 -0
  95. package/esm2020/slick-progress-bar/slick-progress-bar.service.mjs +53 -0
  96. package/esm2020/slick-screen-blocker/slick-screen-blocker.module.mjs +18 -0
  97. package/esm2020/slick-screen-blocker/slick-screen-blocker.service.mjs +83 -0
  98. package/{esm2015/slick-slider/slick-slider-tick.model.js → esm2020/slick-slider/slick-slider-tick.model.mjs} +0 -0
  99. package/esm2020/slick-slider/slick-slider.component.mjs +90 -0
  100. package/esm2020/slick-slider/slick-slider.module.mjs +20 -0
  101. package/esm2020/slick-split-screen/slick-screen-split-left-content.component.mjs +15 -0
  102. package/esm2020/slick-split-screen/slick-screen-split-right-content.component.mjs +15 -0
  103. package/esm2020/slick-split-screen/slick-split-screen.component.mjs +159 -0
  104. package/esm2020/slick-split-screen/slick-split-screen.module.mjs +21 -0
  105. package/esm2020/slick-tabs/slick-tab-header.component.mjs +28 -0
  106. package/esm2020/slick-tabs/slick-tab.component.mjs +63 -0
  107. package/{esm2015/slick-tabs/slick-tab.model.js → esm2020/slick-tabs/slick-tab.model.mjs} +0 -0
  108. package/esm2020/slick-tabs/slick-tabs.component.mjs +107 -0
  109. package/esm2020/slick-tabs/slick-tabs.module.mjs +23 -0
  110. package/esm2020/slick-toast/slick-toast.module.mjs +18 -0
  111. package/esm2020/slick-toast/slick-toast.service.mjs +88 -0
  112. package/{esm2015/slick-tree-view/slick-tree-node.model.js → esm2020/slick-tree-view/slick-tree-node.model.mjs} +0 -0
  113. package/esm2020/slick-tree-view/slick-tree-view.component.mjs +293 -0
  114. package/esm2020/slick-tree-view/slick-tree-view.module.mjs +22 -0
  115. package/esm2020/slick-type-ahead/slick-type-ahead.directive.mjs +164 -0
  116. package/esm2020/slick-type-ahead/slick-type-ahead.module.mjs +18 -0
  117. package/esm2020/slick-validation-indicator/slick-validation-indicator.directive.mjs +63 -0
  118. package/esm2020/slick-validation-indicator/slick-validation-indicator.module.mjs +19 -0
  119. package/esm2020/utils/slick-function-lock.service.mjs +55 -0
  120. package/esm2020/utils/slick-init.service.mjs +49 -0
  121. package/esm2020/utils/slick-log.service.mjs +23 -0
  122. package/esm2020/utils/slick-sleep.service.mjs +14 -0
  123. package/esm2020/utils/slick-utils.service.mjs +247 -0
  124. package/fesm2015/{slick-components.js → slick-components.mjs} +2779 -2070
  125. package/fesm2015/slick-components.mjs.map +1 -0
  126. package/fesm2020/slick-components.mjs +8467 -0
  127. package/fesm2020/slick-components.mjs.map +1 -0
  128. package/package.json +20 -8
  129. package/public-api.d.ts +8 -8
  130. package/slick-accordion/slick-accordion-item-header.component.d.ts +3 -0
  131. package/slick-accordion/slick-accordion-item.component.d.ts +3 -0
  132. package/slick-accordion/slick-accordion.component.d.ts +3 -0
  133. package/slick-accordion/slick-accordion.module.d.ts +8 -0
  134. package/slick-auto-complete/slick-auto-complete-list-item-template.directive.d.ts +3 -0
  135. package/slick-auto-complete/slick-auto-complete.component.d.ts +3 -0
  136. package/slick-auto-complete/slick-auto-complete.module.d.ts +8 -0
  137. package/slick-button-spinner/slick-button-spinner.component.d.ts +3 -0
  138. package/slick-button-spinner/slick-button-spinner.module.d.ts +6 -0
  139. package/slick-calendar/slick-calendar.component.d.ts +3 -0
  140. package/slick-calendar/slick-calendar.module.d.ts +6 -0
  141. package/slick-card/slick-card-header.component.d.ts +3 -0
  142. package/slick-card/slick-card.component.d.ts +3 -0
  143. package/slick-card/slick-card.module.d.ts +10 -0
  144. package/slick-components.d.ts +1 -22
  145. package/slick-confirm-dialog/slick-confirm-dialog.component.d.ts +3 -0
  146. package/slick-confirm-dialog/slick-confirm-dialog.module.d.ts +7 -0
  147. package/slick-container/slick-container-body.component.d.ts +3 -0
  148. package/slick-container/slick-container-footer.component.d.ts +3 -0
  149. package/slick-container/slick-container-header.component.d.ts +3 -0
  150. package/slick-container/slick-container.component.d.ts +3 -0
  151. package/slick-container/slick-container.module.d.ts +9 -0
  152. package/slick-context-menu/slick-context-menu-item.component.d.ts +3 -0
  153. package/slick-context-menu/slick-context-menu.component.d.ts +3 -0
  154. package/slick-context-menu/slick-context-menu.module.d.ts +7 -0
  155. package/slick-currency-mask/slick-currency-mask.directive.d.ts +3 -0
  156. package/slick-currency-mask/slick-currency-mask.module.d.ts +5 -0
  157. package/slick-date-picker/slick-date-picker.component.d.ts +3 -0
  158. package/slick-date-picker/slick-date-picker.module.d.ts +8 -0
  159. package/slick-dialog/slick-dialog-footer.component.d.ts +3 -0
  160. package/slick-dialog/slick-dialog.component.d.ts +3 -0
  161. package/slick-dialog/slick-dialog.module.d.ts +10 -1
  162. package/slick-dialog/slick-dialog.service.d.ts +3 -0
  163. package/slick-drag-drop/slick-drag-drop.directive.d.ts +3 -0
  164. package/slick-drag-drop/slick-drag-drop.module.d.ts +11 -0
  165. package/slick-drag-drop/slick-draggable.directive.d.ts +3 -0
  166. package/slick-drop-down/slick-drop-down.component.d.ts +3 -0
  167. package/slick-drop-down/slick-drop-down.module.d.ts +9 -0
  168. package/slick-drop-down/slick-drop-down.service.d.ts +3 -0
  169. package/slick-drop-list/slick-drop-list-grab.directive.d.ts +3 -0
  170. package/slick-drop-list/slick-drop-list-item.directive.d.ts +3 -0
  171. package/slick-drop-list/slick-drop-list.directive.d.ts +13 -7
  172. package/slick-drop-list/slick-drop-list.module.d.ts +14 -0
  173. package/slick-email-viewer/slick-email-viewer-dialog.component.d.ts +3 -0
  174. package/slick-email-viewer/slick-email-viewer.component.d.ts +3 -0
  175. package/slick-email-viewer/slick-email-viewer.module.d.ts +10 -0
  176. package/slick-emailer/slick-emailer-dialog.component.d.ts +3 -0
  177. package/slick-emailer/slick-emailer.component.d.ts +3 -0
  178. package/slick-emailer/slick-emailer.module.d.ts +13 -0
  179. package/slick-file-drop/slick-file-drop.component.d.ts +3 -0
  180. package/slick-file-drop/slick-file-drop.module.d.ts +7 -0
  181. package/slick-file-list/slick-file-list-item.component.d.ts +3 -0
  182. package/slick-file-list/slick-file-list.component.d.ts +3 -0
  183. package/slick-file-list/slick-file-list.module.d.ts +10 -0
  184. package/slick-google-address-search/slick-google-address-search.directive.d.ts +3 -0
  185. package/slick-google-address-search/slick-google-address-search.module.d.ts +6 -0
  186. package/slick-google-map/slick-google-map-dialog.component.d.ts +3 -0
  187. package/slick-google-map/slick-google-map.component.d.ts +3 -0
  188. package/slick-google-map/slick-google-map.module.d.ts +8 -0
  189. package/slick-grid/slick-grid-column-template.directive.d.ts +3 -0
  190. package/slick-grid/slick-grid-sanitize.pipe.d.ts +3 -0
  191. package/slick-grid/slick-grid.component.d.ts +3 -0
  192. package/slick-grid/slick-grid.module.d.ts +16 -0
  193. package/slick-grid/slick-grid.service.d.ts +3 -0
  194. package/slick-multi-select/slick-multi-select.component.d.ts +3 -0
  195. package/slick-multi-select/slick-multi-select.module.d.ts +7 -0
  196. package/slick-multi-select/slick-multi-select.service.d.ts +3 -0
  197. package/slick-ordered-list/slick-ordered-list.component.d.ts +3 -0
  198. package/slick-ordered-list/slick-ordered-list.module.d.ts +7 -0
  199. package/slick-paging/slick-paging.component.d.ts +3 -0
  200. package/slick-paging/slick-paging.module.d.ts +6 -0
  201. package/slick-photo-gallery/slick-photo-gallery.component.d.ts +3 -0
  202. package/slick-photo-gallery/slick-photo-gallery.module.d.ts +6 -0
  203. package/slick-pick-list/slick-pick-list.component.d.ts +3 -0
  204. package/slick-pick-list/slick-pick-list.module.d.ts +7 -0
  205. package/slick-popover/slick-popover.component.d.ts +3 -0
  206. package/slick-popover/slick-popover.module.d.ts +6 -0
  207. package/slick-profile-picture/slick-profile-picture.component.d.ts +3 -0
  208. package/slick-profile-picture/slick-profile-picture.module.d.ts +7 -0
  209. package/slick-progress-bar/slick-progress-bar.module.d.ts +5 -0
  210. package/slick-progress-bar/slick-progress-bar.service.d.ts +3 -0
  211. package/slick-screen-blocker/slick-screen-blocker.module.d.ts +5 -0
  212. package/slick-screen-blocker/slick-screen-blocker.service.d.ts +3 -0
  213. package/slick-slider/slick-slider.component.d.ts +3 -0
  214. package/slick-slider/slick-slider.module.d.ts +6 -0
  215. package/slick-split-screen/slick-screen-split-left-content.component.d.ts +3 -0
  216. package/slick-split-screen/slick-screen-split-right-content.component.d.ts +3 -0
  217. package/slick-split-screen/slick-split-screen.component.d.ts +3 -0
  218. package/slick-split-screen/slick-split-screen.module.d.ts +8 -0
  219. package/slick-tabs/slick-tab-header.component.d.ts +3 -0
  220. package/slick-tabs/slick-tab.component.d.ts +3 -0
  221. package/slick-tabs/slick-tabs.component.d.ts +3 -0
  222. package/slick-tabs/slick-tabs.module.d.ts +10 -0
  223. package/slick-toast/slick-toast.module.d.ts +5 -0
  224. package/slick-toast/slick-toast.service.d.ts +3 -0
  225. package/slick-tree-view/slick-tree-view.component.d.ts +3 -0
  226. package/slick-tree-view/slick-tree-view.module.d.ts +8 -0
  227. package/slick-type-ahead/slick-type-ahead.directive.d.ts +3 -0
  228. package/slick-type-ahead/slick-type-ahead.module.d.ts +5 -0
  229. package/slick-validation-indicator/slick-validation-indicator.directive.d.ts +3 -0
  230. package/slick-validation-indicator/slick-validation-indicator.module.d.ts +6 -0
  231. package/utils/slick-function-lock.service.d.ts +3 -0
  232. package/utils/slick-init.service.d.ts +3 -0
  233. package/utils/slick-log.service.d.ts +3 -0
  234. package/utils/slick-sleep.service.d.ts +3 -0
  235. package/utils/slick-utils.service.d.ts +5 -0
  236. package/bundles/slick-components.umd.js +0 -9777
  237. package/bundles/slick-components.umd.js.map +0 -1
  238. package/esm2015/public-api.js +0 -43
  239. package/esm2015/slick-accordion/slick-accordion-item-header.component.js +0 -10
  240. package/esm2015/slick-accordion/slick-accordion-item.component.js +0 -80
  241. package/esm2015/slick-accordion/slick-accordion.component.js +0 -77
  242. package/esm2015/slick-accordion/slick-accordion.module.js +0 -18
  243. package/esm2015/slick-auto-complete/slick-auto-complete-list-item-template.directive.js +0 -21
  244. package/esm2015/slick-auto-complete/slick-auto-complete.component.js +0 -352
  245. package/esm2015/slick-auto-complete/slick-auto-complete.module.js +0 -19
  246. package/esm2015/slick-button-spinner/slick-button-spinner.component.js +0 -186
  247. package/esm2015/slick-button-spinner/slick-button-spinner.module.js +0 -14
  248. package/esm2015/slick-calendar/slick-calendar.component.js +0 -233
  249. package/esm2015/slick-calendar/slick-calendar.module.js +0 -14
  250. package/esm2015/slick-card/slick-card-header.component.js +0 -10
  251. package/esm2015/slick-card/slick-card.component.js +0 -37
  252. package/esm2015/slick-card/slick-card.module.js +0 -14
  253. package/esm2015/slick-components.js +0 -27
  254. package/esm2015/slick-confirm-dialog/slick-confirm-dialog.component.js +0 -62
  255. package/esm2015/slick-confirm-dialog/slick-confirm-dialog.module.js +0 -15
  256. package/esm2015/slick-container/slick-container-body.component.js +0 -18
  257. package/esm2015/slick-container/slick-container-footer.component.js +0 -16
  258. package/esm2015/slick-container/slick-container-header.component.js +0 -16
  259. package/esm2015/slick-container/slick-container.component.js +0 -19
  260. package/esm2015/slick-container/slick-container.module.js +0 -20
  261. package/esm2015/slick-context-menu/slick-context-menu-item.component.js +0 -10
  262. package/esm2015/slick-context-menu/slick-context-menu.component.js +0 -43
  263. package/esm2015/slick-context-menu/slick-context-menu.module.js +0 -15
  264. package/esm2015/slick-currency-mask/slick-currency-mask.directive.js +0 -234
  265. package/esm2015/slick-currency-mask/slick-currency-mask.module.js +0 -14
  266. package/esm2015/slick-date-picker/slick-date-picker.component.js +0 -267
  267. package/esm2015/slick-date-picker/slick-date-picker.module.js +0 -16
  268. package/esm2015/slick-dialog/slick-dialog-footer.component.js +0 -18
  269. package/esm2015/slick-dialog/slick-dialog.component.js +0 -282
  270. package/esm2015/slick-dialog/slick-dialog.module.js +0 -18
  271. package/esm2015/slick-dialog/slick-dialog.service.js +0 -67
  272. package/esm2015/slick-drag-drop/slick-drag-drop.directive.js +0 -9
  273. package/esm2015/slick-drag-drop/slick-drag-drop.module.js +0 -14
  274. package/esm2015/slick-drag-drop/slick-draggable.directive.js +0 -9
  275. package/esm2015/slick-drop-down/slick-drop-down.component.js +0 -465
  276. package/esm2015/slick-drop-down/slick-drop-down.module.js +0 -19
  277. package/esm2015/slick-drop-down/slick-drop-down.service.js +0 -59
  278. package/esm2015/slick-drop-list/slick-drop-list-grab.directive.js +0 -18
  279. package/esm2015/slick-drop-list/slick-drop-list-item.directive.js +0 -18
  280. package/esm2015/slick-drop-list/slick-drop-list.directive.js +0 -162
  281. package/esm2015/slick-drop-list/slick-drop-list.module.js +0 -15
  282. package/esm2015/slick-email-viewer/slick-email-viewer-dialog.component.js +0 -61
  283. package/esm2015/slick-email-viewer/slick-email-viewer.component.js +0 -39
  284. package/esm2015/slick-email-viewer/slick-email-viewer.module.js +0 -21
  285. package/esm2015/slick-emailer/slick-emailer-dialog.component.js +0 -122
  286. package/esm2015/slick-emailer/slick-emailer.component.js +0 -226
  287. package/esm2015/slick-emailer/slick-emailer.module.js +0 -24
  288. package/esm2015/slick-file-drop/slick-file-drop.component.js +0 -144
  289. package/esm2015/slick-file-drop/slick-file-drop.module.js +0 -15
  290. package/esm2015/slick-file-list/slick-file-list-item.component.js +0 -156
  291. package/esm2015/slick-file-list/slick-file-list.component.js +0 -114
  292. package/esm2015/slick-file-list/slick-file-list.module.js +0 -18
  293. package/esm2015/slick-google-address-search/slick-google-address-search.directive.js +0 -75
  294. package/esm2015/slick-google-address-search/slick-google-address-search.module.js +0 -14
  295. package/esm2015/slick-google-map/slick-google-map-dialog.component.js +0 -45
  296. package/esm2015/slick-google-map/slick-google-map.component.js +0 -45
  297. package/esm2015/slick-google-map/slick-google-map.module.js +0 -17
  298. package/esm2015/slick-grid/slick-grid-column-template.directive.js +0 -19
  299. package/esm2015/slick-grid/slick-grid-sanitize.pipe.js +0 -20
  300. package/esm2015/slick-grid/slick-grid.component.js +0 -792
  301. package/esm2015/slick-grid/slick-grid.module.js +0 -38
  302. package/esm2015/slick-grid/slick-grid.service.js +0 -72
  303. package/esm2015/slick-multi-select/slick-multi-select.component.js +0 -356
  304. package/esm2015/slick-multi-select/slick-multi-select.module.js +0 -15
  305. package/esm2015/slick-multi-select/slick-multi-select.service.js +0 -74
  306. package/esm2015/slick-ordered-list/slick-ordered-list.component.js +0 -198
  307. package/esm2015/slick-ordered-list/slick-ordered-list.module.js +0 -15
  308. package/esm2015/slick-paging/slick-paging.component.js +0 -180
  309. package/esm2015/slick-paging/slick-paging.module.js +0 -14
  310. package/esm2015/slick-photo-gallery/slick-photo-gallery.component.js +0 -101
  311. package/esm2015/slick-photo-gallery/slick-photo-gallery.module.js +0 -16
  312. package/esm2015/slick-pick-list/slick-pick-list.component.js +0 -78
  313. package/esm2015/slick-pick-list/slick-pick-list.module.js +0 -15
  314. package/esm2015/slick-popover/slick-popover.component.js +0 -199
  315. package/esm2015/slick-popover/slick-popover.module.js +0 -14
  316. package/esm2015/slick-profile-picture/slick-profile-picture.component.js +0 -242
  317. package/esm2015/slick-profile-picture/slick-profile-picture.module.js +0 -15
  318. package/esm2015/slick-progress-bar/slick-progress-bar.module.js +0 -13
  319. package/esm2015/slick-progress-bar/slick-progress-bar.service.js +0 -50
  320. package/esm2015/slick-screen-blocker/slick-screen-blocker.module.js +0 -13
  321. package/esm2015/slick-screen-blocker/slick-screen-blocker.service.js +0 -80
  322. package/esm2015/slick-slider/slick-slider.component.js +0 -88
  323. package/esm2015/slick-slider/slick-slider.module.js +0 -15
  324. package/esm2015/slick-split-screen/slick-screen-split-left-content.component.js +0 -13
  325. package/esm2015/slick-split-screen/slick-screen-split-right-content.component.js +0 -13
  326. package/esm2015/slick-split-screen/slick-split-screen.component.js +0 -148
  327. package/esm2015/slick-split-screen/slick-split-screen.module.js +0 -16
  328. package/esm2015/slick-tabs/slick-tab-header.component.js +0 -25
  329. package/esm2015/slick-tabs/slick-tab.component.js +0 -67
  330. package/esm2015/slick-tabs/slick-tabs.component.js +0 -104
  331. package/esm2015/slick-tabs/slick-tabs.module.js +0 -17
  332. package/esm2015/slick-toast/slick-toast.module.js +0 -13
  333. package/esm2015/slick-toast/slick-toast.service.js +0 -91
  334. package/esm2015/slick-tree-view/slick-tree-view.component.js +0 -287
  335. package/esm2015/slick-tree-view/slick-tree-view.module.js +0 -17
  336. package/esm2015/slick-type-ahead/slick-type-ahead.directive.js +0 -155
  337. package/esm2015/slick-type-ahead/slick-type-ahead.module.js +0 -13
  338. package/esm2015/slick-validation-indicator/slick-validation-indicator.directive.js +0 -61
  339. package/esm2015/slick-validation-indicator/slick-validation-indicator.module.js +0 -14
  340. package/esm2015/utils/slick-function-lock.service.js +0 -54
  341. package/esm2015/utils/slick-init.service.js +0 -48
  342. package/esm2015/utils/slick-log.service.js +0 -27
  343. package/esm2015/utils/slick-sleep.service.js +0 -14
  344. package/esm2015/utils/slick-utils.service.js +0 -229
  345. package/fesm2015/slick-components.js.map +0 -1
  346. package/slick-components.metadata.json +0 -1
@@ -0,0 +1,153 @@
1
+ import { Component, Input, Output, EventEmitter, ViewChild, forwardRef } from "@angular/core";
2
+ import { NG_VALUE_ACCESSOR } from "@angular/forms";
3
+ import { SlickSleepService } from "../utils/slick-sleep.service";
4
+ import * as i0 from "@angular/core";
5
+ import * as i1 from "../slick-dialog/slick-dialog.component";
6
+ import * as i2 from "./slick-emailer.component";
7
+ import * as i3 from "../slick-dialog/slick-dialog-footer.component";
8
+ import * as i4 from "../slick-button-spinner/slick-button-spinner.component";
9
+ import * as i5 from "@angular/common";
10
+ import * as i6 from "@angular/forms";
11
+ export class SlickEmailerDialogComponent {
12
+ constructor(changeDetector) {
13
+ this.changeDetector = changeDetector;
14
+ this.bodyHeight = "180px";
15
+ this.toAddressSearchEmitter = new EventEmitter();
16
+ this.sendEmailClickEmitter = new EventEmitter();
17
+ this.cancelEmailClickEmitter = new EventEmitter();
18
+ this.spinnerStatus = null;
19
+ this.isVisible = false;
20
+ this.propagateChange = (_) => { };
21
+ }
22
+ // this is the initial value set to the component
23
+ writeValue(obj) {
24
+ this.emailerModel = obj;
25
+ }
26
+ // registers 'fn' that will be fired when changes are made
27
+ // this is how we emit the changes back to the form
28
+ registerOnChange(fn) {
29
+ this.propagateChange = fn;
30
+ }
31
+ // not used, used for touch input
32
+ registerOnTouched() { }
33
+ async showDialog() {
34
+ this.isVisible = true;
35
+ await SlickSleepService.sleep();
36
+ this.dialogEmailerModel = this.emailerModel;
37
+ this.emailerRef.isSubmitted = false;
38
+ this.spinnerStatus = "reset";
39
+ this.emailerRef.dialogInit();
40
+ this.emailerDialogRef.showDialog();
41
+ }
42
+ toAddressSearch(searchText) {
43
+ this.toAddressSearchEmitter.emit(searchText);
44
+ }
45
+ onSendEmail() {
46
+ this.dialogEmailerModel.toEmailAddresses = this.emailerRef.getEmailAddresses(this.dialogEmailerModel);
47
+ if (this.emailerRef.validate() === false)
48
+ return;
49
+ this.dialogEmailerModel.body = this.emailerRef.getBody();
50
+ this.spinnerStatus = "spin";
51
+ if (this.sendEmailClickEmitter)
52
+ this.sendEmailClickEmitter.emit(this.dialogEmailerModel);
53
+ }
54
+ async emailSent() {
55
+ try {
56
+ this.spinnerStatus = "ok";
57
+ this.emailerRef.emailSent();
58
+ this.emailerDialogRef.hideDialog();
59
+ await SlickSleepService.sleep(500);
60
+ this.emailerRef.removeTinyMCE();
61
+ }
62
+ catch (error) {
63
+ console.error(error);
64
+ this.spinnerStatus = "error";
65
+ }
66
+ }
67
+ emailError() {
68
+ this.spinnerStatus = "error";
69
+ }
70
+ async onCancelEmail() {
71
+ this.spinnerStatus = "reset";
72
+ this.emailerRef.removeTinyMCE();
73
+ this.emailerDialogRef.hideDialog();
74
+ if (this.cancelEmailClickEmitter)
75
+ this.cancelEmailClickEmitter.emit();
76
+ }
77
+ }
78
+ /** @nocollapse */ SlickEmailerDialogComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.3", ngImport: i0, type: SlickEmailerDialogComponent, deps: [{ token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component });
79
+ /** @nocollapse */ SlickEmailerDialogComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.3", type: SlickEmailerDialogComponent, selector: "slick-emailer-dialog", inputs: { toEmailAddressList: "toEmailAddressList", bodyHeight: "bodyHeight" }, outputs: { toAddressSearchEmitter: "toAddressSearch", sendEmailClickEmitter: "sendEmailClick", cancelEmailClickEmitter: "cancelEmailClick" }, providers: [
80
+ {
81
+ provide: NG_VALUE_ACCESSOR,
82
+ useExisting: forwardRef((() => SlickEmailerDialogComponent)),
83
+ multi: true,
84
+ }
85
+ ], viewQueries: [{ propertyName: "emailerDialogRef", first: true, predicate: ["emailerDialogRef"], descendants: true }, { propertyName: "emailerRef", first: true, predicate: ["emailerRef"], descendants: true }], ngImport: i0, template: `<slick-dialog *ngIf='isVisible' header='Send Email' [width]='800' (onClose)='onCancelEmail()' #emailerDialogRef>
86
+ <slick-emailer #emailerRef [(ngModel)]='dialogEmailerModel'
87
+ [bodyHeight]='bodyHeight'
88
+ [showButtons]='false'
89
+ [toEmailAddressList]='toEmailAddressList'
90
+ (toAddressSearch)='toAddressSearch($event)'>
91
+ </slick-emailer>
92
+
93
+ <slick-dialog-footer>
94
+ <div class="row">
95
+ <div class="col-12 text-center mb-2 mt-1">
96
+ <button type="button" style="width: 120px; margin-right: 10px;" [slick-button-spinner]="spinnerStatus" class="btn btn-outline-primary" (click)="onSendEmail()"><i class="far fa-envelope"></i>&nbsp;Send</button>
97
+ <button type="button" style="width: 120px;" class="btn btn-outline-danger" (click)="onCancelEmail()"><i class="far fa-times"></i>&nbsp;Cancel</button>
98
+ </div>
99
+ </div>
100
+ </slick-dialog-footer>
101
+ </slick-dialog>`, isInline: true, components: [{ type: i1.SlickDialogComponent, selector: "slick-dialog", inputs: ["draggable", "resizable", "minimizable", "header", "showHeader", "noPadding", "top", "width", "height", "maxHeight", "cssClass", "key", "showOverlay", "disableScrollbar"], outputs: ["onClose"] }, { type: i2.SlickEmailerComponent, selector: "slick-emailer", inputs: ["toEmailAddressList", "showButtons", "bodyHeight"], outputs: ["toAddressSearch", "sendEmailClick", "cancelEmailClick"] }, { type: i3.SlickDialogFooterComponent, selector: "slick-dialog-footer" }, { type: i4.SlickButtonSpinnerComponent, selector: "[slick-button-spinner]", inputs: ["slick-button-spinner"] }], directives: [{ type: i5.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i6.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { type: i6.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }] });
102
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.3", ngImport: i0, type: SlickEmailerDialogComponent, decorators: [{
103
+ type: Component,
104
+ args: [{
105
+ selector: 'slick-emailer-dialog',
106
+ template: `<slick-dialog *ngIf='isVisible' header='Send Email' [width]='800' (onClose)='onCancelEmail()' #emailerDialogRef>
107
+ <slick-emailer #emailerRef [(ngModel)]='dialogEmailerModel'
108
+ [bodyHeight]='bodyHeight'
109
+ [showButtons]='false'
110
+ [toEmailAddressList]='toEmailAddressList'
111
+ (toAddressSearch)='toAddressSearch($event)'>
112
+ </slick-emailer>
113
+
114
+ <slick-dialog-footer>
115
+ <div class="row">
116
+ <div class="col-12 text-center mb-2 mt-1">
117
+ <button type="button" style="width: 120px; margin-right: 10px;" [slick-button-spinner]="spinnerStatus" class="btn btn-outline-primary" (click)="onSendEmail()"><i class="far fa-envelope"></i>&nbsp;Send</button>
118
+ <button type="button" style="width: 120px;" class="btn btn-outline-danger" (click)="onCancelEmail()"><i class="far fa-times"></i>&nbsp;Cancel</button>
119
+ </div>
120
+ </div>
121
+ </slick-dialog-footer>
122
+ </slick-dialog>`,
123
+ providers: [
124
+ {
125
+ provide: NG_VALUE_ACCESSOR,
126
+ useExisting: forwardRef((() => SlickEmailerDialogComponent)),
127
+ multi: true,
128
+ }
129
+ ]
130
+ }]
131
+ }], ctorParameters: function () { return [{ type: i0.ChangeDetectorRef }]; }, propDecorators: { toEmailAddressList: [{
132
+ type: Input,
133
+ args: ["toEmailAddressList"]
134
+ }], bodyHeight: [{
135
+ type: Input,
136
+ args: ["bodyHeight"]
137
+ }], toAddressSearchEmitter: [{
138
+ type: Output,
139
+ args: ["toAddressSearch"]
140
+ }], sendEmailClickEmitter: [{
141
+ type: Output,
142
+ args: ["sendEmailClick"]
143
+ }], cancelEmailClickEmitter: [{
144
+ type: Output,
145
+ args: ["cancelEmailClick"]
146
+ }], emailerDialogRef: [{
147
+ type: ViewChild,
148
+ args: ["emailerDialogRef"]
149
+ }], emailerRef: [{
150
+ type: ViewChild,
151
+ args: ["emailerRef"]
152
+ }] } });
153
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2xpY2stZW1haWxlci1kaWFsb2cuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcHJvamVjdHMvY29tcG9uZW50cy9zcmMvc2xpY2stZW1haWxlci9zbGljay1lbWFpbGVyLWRpYWxvZy5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFLFlBQVksRUFBRSxTQUFTLEVBQUUsVUFBVSxFQUFxQixNQUFNLGVBQWUsQ0FBQztBQUNqSCxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQU1uRCxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSw4QkFBOEIsQ0FBQzs7Ozs7Ozs7QUFnQ2pFLE1BQU0sT0FBTywyQkFBMkI7SUFldkMsWUFBb0IsY0FBaUM7UUFBakMsbUJBQWMsR0FBZCxjQUFjLENBQW1CO1FBYmhDLGVBQVUsR0FBVyxPQUFPLENBQUM7UUFDdkIsMkJBQXNCLEdBQXlCLElBQUksWUFBWSxFQUFFLENBQUM7UUFDbkUsMEJBQXFCLEdBQXFDLElBQUksWUFBWSxFQUFFLENBQUM7UUFDM0UsNEJBQXVCLEdBQXVCLElBQUksWUFBWSxFQUFRLENBQUM7UUFPbkcsa0JBQWEsR0FBVyxJQUFJLENBQUM7UUFDN0IsY0FBUyxHQUFHLEtBQUssQ0FBQztRQUlsQixvQkFBZSxHQUFHLENBQUMsQ0FBcUIsRUFBRSxFQUFFLEdBQUcsQ0FBQyxDQUFDO0lBRlEsQ0FBQztJQUkxRCxpREFBaUQ7SUFDMUMsVUFBVSxDQUFDLEdBQXVCO1FBQ3hDLElBQUksQ0FBQyxZQUFZLEdBQUcsR0FBRyxDQUFDO0lBQ3pCLENBQUM7SUFFRCwwREFBMEQ7SUFDMUQsbURBQW1EO0lBQzVDLGdCQUFnQixDQUFDLEVBQU87UUFDOUIsSUFBSSxDQUFDLGVBQWUsR0FBRyxFQUFFLENBQUM7SUFDM0IsQ0FBQztJQUVELGlDQUFpQztJ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NEIsRUFBQzs0QkFDMUQsS0FBSyxFQUFFLElBQUk7eUJBQ1g7cUJBQUM7aUJBQ0g7d0dBRTZCLGtCQUFrQjtzQkFBOUMsS0FBSzt1QkFBQyxvQkFBb0I7Z0JBQ04sVUFBVTtzQkFBOUIsS0FBSzt1QkFBQyxZQUFZO2dCQUNRLHNCQUFzQjtzQkFBaEQsTUFBTTt1QkFBQyxpQkFBaUI7Z0JBQ0MscUJBQXFCO3NCQUE5QyxNQUFNO3VCQUFDLGdCQUFnQjtnQkFDSSx1QkFBdUI7c0JBQWxELE1BQU07dUJBQUMsa0JBQWtCO2dCQUVLLGdCQUFnQjtzQkFBOUMsU0FBUzt1QkFBQyxrQkFBa0I7Z0JBQ0osVUFBVTtzQkFBbEMsU0FBUzt1QkFBQyxZQUFZIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBJbnB1dCwgT3V0cHV0LCBFdmVudEVtaXR0ZXIsIFZpZXdDaGlsZCwgZm9yd2FyZFJlZiwgQ2hhbmdlRGV0ZWN0b3JSZWYgfSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiO1xyXG5pbXBvcnQgeyBOR19WQUxVRV9BQ0NFU1NPUiB9IGZyb20gXCJAYW5ndWxhci9mb3Jtc1wiO1xyXG5pbXBvcnQgeyBTbGlja0RpYWxvZ0NvbXBvbmVudCB9IGZyb20gXCIuLi9zbGljay1kaWFsb2cvc2xpY2stZGlhbG9nLmNvbXBvbmVudFwiO1xyXG5pbXBvcnQgeyBTbGlja0VtYWlsZXJDb21wb25lbnQgfSBmcm9tIFwiLi9zbGljay1lbWFpbGVyLmNvbXBvbmVudFwiO1xyXG5pbXBvcnQgeyBJU2xpY2tGaWxlTW9kZWwgfSBmcm9tIFwiLi4vc2xpY2stZmlsZS1tb2RlbC9zbGljay1maWxlLm1vZGVsXCI7XHJcbmltcG9ydCB7IElTbGlja0VtYWlsZXJNb2RlbCwgfSBmcm9tIFwiLi9zbGljay1lbWFpbGVyLm1vZGVsXCI7XHJcbmltcG9ydCB7IElTbGlja0VtYWlsZXJBZGRyZXNzTW9kZWwgfSBmcm9tIFwiLi9zbGljay1lbWFpbGVyLWFkZHJlc3MubW9kZWxcIjtcclxuaW1wb3J0IHsgU2xpY2tTbGVlcFNlcnZpY2UgfSBmcm9tIFwiLi4vdXRpbHMvc2xpY2stc2xlZXAuc2VydmljZVwiO1xyXG5pbXBvcnQgeyBTbGlja1V0aWxzU2VydmljZSB9IGZyb20gXCIuLi91dGlscy9zbGljay11dGlscy5zZXJ2aWNlXCI7XHJcblxyXG5kZWNsYXJlIGNvbnN0IHRpbnltY2U6IGFueTtcclxuXHJcbkBDb21wb25lbnQoe1xyXG5cdHNlbGVjdG9yOiAnc2xpY2stZW1haWxlci1kaWFsb2cnLFxyXG5cdHRlbXBsYXRlOlxyXG5cdGA8c2xpY2stZGlhbG9nICpuZ0lmPSdpc1Zpc2libGUnIGhlYWRlcj0nU2VuZCBFbWFpbCcgW3dpZHRoXT0nODAwJyAob25DbG9zZSk9J29uQ2FuY2VsRW1haWwoKScgI2VtYWlsZXJEaWFsb2dSZWY+XHJcblx0XHQ8c2xpY2stZW1haWxlciAjZW1haWxlclJlZiBbKG5nTW9kZWwpXT0nZGlhbG9nRW1haWxlck1vZGVsJ1xyXG5cdFx0XHRcdFx0W2JvZHlIZWlnaHRdPSdib2R5SGVpZ2h0J1xyXG5cdFx0XHRcdFx0W3Nob3dCdXR0b25zXT0nZmFsc2UnXHJcblx0XHRcdFx0XHRbdG9FbWFpbEFkZHJlc3NMaXN0XT0ndG9FbWFpbEFkZHJlc3NMaXN0JyBcclxuXHRcdFx0ICAgICAgICAodG9BZGRyZXNzU2VhcmNoKT0ndG9BZGRyZXNzU2VhcmNoKCRldmVudCknPlxyXG5cdFx0PC9zbGljay1lbWFpbGVyPlxyXG5cclxuXHRcdDxzbGljay1kaWFsb2ctZm9vdGVyPlxyXG5cdFx0XHQ8ZGl2IGNsYXNzPVwicm93XCI+XHJcblx0XHRcdFx0PGRpdiBjbGFzcz1cImNvbC0xMiB0ZXh0LWNlbnRlciBtYi0yIG10LTFcIj5cclxuXHRcdFx0XHRcdDxidXR0b24gdHlwZT1cImJ1dHRvblwiIHN0eWxlPVwid2lkdGg6IDEyMHB4OyBtYXJnaW4tcmlnaHQ6IDEwcHg7XCIgW3NsaWNrLWJ1dHRvbi1zcGlubmVyXT1cInNwaW5uZXJTdGF0dXNcIiBjbGFzcz1cImJ0biBidG4tb3V0bGluZS1wcmltYXJ5XCIgKGNsaWNrKT1cIm9uU2VuZEVtYWlsKClcIj48aSBjbGFzcz1cImZhciBmYS1lbnZlbG9wZVwiPjwvaT4mbmJzcDtTZW5kPC9idXR0b24+XHJcblx0XHRcdFx0XHQ8YnV0dG9uIHR5cGU9XCJidXR0b25cIiBzdHlsZT1cIndpZHRoOiAxMjBweDtcIiBjbGFzcz1cImJ0biBidG4tb3V0bGluZS1kYW5nZXJcIiAoY2xpY2spPVwib25DYW5jZWxFbWFpbCgpXCI+PGkgY2xhc3M9XCJmYXIgZmEtdGltZXNcIj48L2k+Jm5ic3A7Q2FuY2VsPC9idXR0b24+XHJcblx0XHRcdFx0PC9kaXY+XHJcblx0XHRcdDwvZGl2PlxyXG5cdFx0PC9zbGljay1kaWFsb2ctZm9vdGVyPlxyXG5cdDwvc2xpY2stZGlhbG9nPmAsXHJcblx0cHJvdmlkZXJzOiBbXHJcblx0XHR7XHJcblx0XHRcdHByb3ZpZGU6IE5HX1ZBTFVFX0FDQ0VTU09SLFxyXG5cdFx0XHR1c2VFeGlzdGluZzogZm9yd2FyZFJlZigoKSA9PiBTbGlja0VtYWlsZXJEaWFsb2dDb21wb25lbnQpLFxyXG5cdFx0XHRtdWx0aTogdHJ1ZSxcclxuXHRcdH1dXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBTbGlja0VtYWlsZXJEaWFsb2dDb21wb25lbnQge1xyXG5cdEBJbnB1dChcInRvRW1haWxBZGRyZXNzTGlzdFwiKSB0b0VtYWlsQWRkcmVzc0xpc3Q6IElTbGlja0VtYWlsZXJBZGRyZXNzTW9kZWxbXTtcclxuXHRASW5wdXQoXCJib2R5SGVpZ2h0XCIpIGJvZHlIZWlnaHQ6IHN0cmluZyA9IFwiMTgwcHhcIjtcclxuXHRAT3V0cHV0KFwidG9BZGRyZXNzU2VhcmNoXCIpIHRvQWRkcmVzc1NlYXJjaEVtaXR0ZXI6IEV2ZW50RW1pdHRlcjxzdHJpbmc+ID0gbmV3IEV2ZW50RW1pdHRlcigpO1xyXG5cdEBPdXRwdXQoXCJzZW5kRW1haWxDbGlja1wiKSBzZW5kRW1haWxDbGlja0VtaXR0ZXI6IEV2ZW50RW1pdHRlcjxJU2xpY2tFbWFpbGVyTW9kZWw+ID0gbmV3IEV2ZW50RW1pdHRlcigpO1xyXG5cdEBPdXRwdXQoXCJjYW5jZWxFbWFpbENsaWNrXCIpIGNhbmNlbEVtYWlsQ2xpY2tFbWl0dGVyOiBFdmVudEVtaXR0ZXI8dm9pZD4gPSBuZXcgRXZlbnRFbWl0dGVyPHZvaWQ+KCk7XHJcblxyXG5cdEBWaWV3Q2hpbGQoXCJlbWFpbGVyRGlhbG9nUmVmXCIpIGVtYWlsZXJEaWFsb2dSZWY6IFNsaWNrRGlhbG9nQ29tcG9uZW50O1xyXG5cdEBWaWV3Q2hpbGQoXCJlbWFpbGVyUmVmXCIpIGVtYWlsZXJSZWY6IFNsaWNrRW1haWxlckNvbXBvbmVudDtcclxuXHJcblx0ZGlhbG9nRW1haWxlck1vZGVsOiBJU2xpY2tFbWFpbGVyTW9kZWw7XHJcblx0ZW1haWxlck1vZGVsOiBJU2xpY2tFbWFpbGVyTW9kZWw7XHJcblx0c3Bpbm5lclN0YXR1czogc3RyaW5nID0gbnVsbDtcclxuXHRpc1Zpc2libGUgPSBmYWxzZTtcclxuXHJcblx0Y29uc3RydWN0b3IocHJpdmF0ZSBjaGFuZ2VEZXRlY3RvcjogQ2hhbmdlRGV0ZWN0b3JSZWYpIHsgfVxyXG5cclxuXHRwcm9wYWdhdGVDaGFuZ2UgPSAoXzogSVNsaWNrRW1haWxlck1vZGVsKSA9PiB7IH07XHJcblxyXG5cdC8vIHRoaXMgaXMgdGhlIGluaXRpYWwgdmFsdWUgc2V0IHRvIHRoZSBjb21wb25lbnRcclxuXHRwdWJsaWMgd3JpdGVWYWx1ZShvYmo6IElTbGlja0VtYWlsZXJNb2RlbCkge1xyXG5cdFx0dGhpcy5lbWFpbGVyTW9kZWwgPSBvYmo7XHJcblx0fVxyXG5cclxuXHQvLyByZWdpc3RlcnMgJ2ZuJyB0aGF0IHdpbGwgYmUgZmlyZWQgd2hlbiBjaGFuZ2VzIGFyZSBtYWRlXHJcblx0Ly8gdGhpcyBpcyBob3cgd2UgZW1pdCB0aGUgY2hhbmdlcyBiYWNrIHRvIHRoZSBmb3JtXHJcblx0cHVibGljIHJlZ2lzdGVyT25DaGFuZ2UoZm46IGFueSkge1xyXG5cdFx0dGhpcy5wcm9wYWdhdGVDaGFuZ2UgPSBmbjtcclxuXHR9XHJcblxyXG5cdC8vIG5vdCB1c2VkLCB1c2VkIGZvciB0b3VjaCBpbnB1dFxyXG5cdHB1YmxpYyByZWdpc3Rlck9uVG91Y2hlZCgpIHsgfVxyXG5cclxuXHRhc3luYyBzaG93RGlhbG9nKCkge1xyXG5cdFx0dGhpcy5pc1Zpc2libGUgPSB0cnVlO1xyXG5cclxuXHRcdGF3YWl0IFNsaWNrU2xlZXBTZXJ2aWNlLnNsZWVwKCk7XHJcblxyXG5cdFx0dGhpcy5kaWFsb2dFbWFpbGVyTW9kZWwgPSB0aGlzLmVtYWlsZXJNb2RlbDtcclxuXHRcdHRoaXMuZW1haWxlclJlZi5pc1N1Ym1pdHRlZCA9IGZhbHNlO1xyXG5cdFx0dGhpcy5zcGlubmVyU3RhdHVzID0gXCJyZXNldFwiO1xyXG5cdFx0dGhpcy5lbWFpbGVyUmVmLmRpYWxvZ0luaXQoKTtcclxuXHRcdHRoaXMuZW1haWxlckRpYWxvZ1JlZi5zaG93RGlhbG9nKCk7XHJcblx0fVxyXG5cclxuXHR0b0FkZHJlc3NTZWFyY2goc2VhcmNoVGV4dCkge1xyXG5cdFx0dGhpcy50b0FkZHJlc3NTZWFyY2hFbWl0dGVyLmVtaXQoc2VhcmNoVGV4dCk7XHJcblx0fVxyXG5cclxuXHRvblNlbmRFbWFpbCgpIHtcclxuXHRcdHRoaXMuZGlhbG9nRW1haWxlck1vZGVsLnRvRW1haWxBZGRyZXNzZXMgPSB0aGlzLmVtYWlsZXJSZWYuZ2V0RW1haWxBZGRyZXNzZXModGhpcy5kaWFsb2dFbWFpbGVyTW9kZWwpO1xyXG5cdFx0aWYgKHRoaXMuZW1haWxlclJlZi52YWxpZGF0ZSgpID09PSBmYWxzZSlcclxuXHRcdFx0cmV0dXJuO1xyXG5cclxuXHRcdHRoaXMuZGlhbG9nRW1haWxlck1vZGVsLmJvZHkgPSB0aGlzLmVtYWlsZXJSZWYuZ2V0Qm9keSgpO1xyXG5cdFx0dGhpcy5zcGlubmVyU3RhdHVzID0gXCJzcGluXCI7XHJcblxyXG5cdFx0aWYgKHRoaXMuc2VuZEVtYWlsQ2xpY2tFbWl0dGVyKVxyXG5cdFx0XHR0aGlzLnNlbmRFbWFpbENsaWNrRW1pdHRlci5lbWl0KHRoaXMuZGlhbG9nRW1haWxlck1vZGVsKTtcclxuXHR9XHJcblxyXG5cdGFzeW5jIGVtYWlsU2VudCgpIHtcclxuXHRcdHRyeSB7XHJcblx0XHRcdHRoaXMuc3Bpbm5lclN0YXR1cyA9IFwib2tcIjtcclxuXHRcdFx0dGhpcy5lbWFpbGVyUmVmLmVtYWlsU2VudCgpO1xyXG5cdFx0XHR0aGlzLmVtYWlsZXJEaWFsb2dSZWYuaGlkZURpYWxvZygpO1xyXG5cdFx0XHRhd2FpdCBTbGlja1NsZWVwU2VydmljZS5zbGVlcCg1MDApO1xyXG5cdFx0XHR0aGlzLmVtYWlsZXJSZWYucmVtb3ZlVGlueU1DRSgpO1xyXG5cdFx0fVxyXG5cdFx0Y2F0Y2ggKGVycm9yKSB7XHJcblx0XHRcdGNvbnNvbGUuZXJyb3IoZXJyb3IpO1xyXG5cdFx0XHR0aGlzLnNwaW5uZXJTdGF0dXMgPSBcImVycm9yXCI7XHJcblx0XHR9XHJcblxyXG5cdH1cclxuXHJcblx0ZW1haWxFcnJvcigpIHtcclxuXHRcdHRoaXMuc3Bpbm5lclN0YXR1cyA9IFwiZXJyb3JcIjtcclxuXHR9XHJcblxyXG5cdGFzeW5jIG9uQ2FuY2VsRW1haWwoKSB7XHJcblx0XHR0aGlzLnNwaW5uZXJTdGF0dXMgPSBcInJlc2V0XCI7XHJcblx0XHR0aGlzLmVtYWlsZXJSZWYucmVtb3ZlVGlueU1DRSgpO1xyXG5cdFx0dGhpcy5lbWFpbGVyRGlhbG9nUmVmLmhpZGVEaWFsb2coKTtcclxuXHRcdGlmICh0aGlzLmNhbmNlbEVtYWlsQ2xpY2tFbWl0dGVyKVxyXG5cdFx0XHR0aGlzLmNhbmNlbEVtYWlsQ2xpY2tFbWl0dGVyLmVtaXQoKTtcclxuXHR9XHJcbn1cclxuIl19
@@ -0,0 +1,235 @@
1
+ import { Component, Input, Output, EventEmitter, forwardRef, ViewChild } from "@angular/core";
2
+ import { NG_VALUE_ACCESSOR } from "@angular/forms";
3
+ import { SlickUtilsService } from "../utils/slick-utils.service";
4
+ import { SlickFunctionLockService } from "../utils/slick-function-lock.service";
5
+ import { SlickEmailerAddressModel } from "./slick-emailer-address.model";
6
+ import * as i0 from "@angular/core";
7
+ import * as i1 from "../utils/slick-function-lock.service";
8
+ import * as i2 from "../slick-auto-complete/slick-auto-complete.component";
9
+ import * as i3 from "../slick-file-drop/slick-file-drop.component";
10
+ import * as i4 from "../slick-file-list/slick-file-list.component";
11
+ import * as i5 from "../slick-button-spinner/slick-button-spinner.component";
12
+ import * as i6 from "@angular/common";
13
+ import * as i7 from "@angular/forms";
14
+ import * as i8 from "../slick-auto-complete/slick-auto-complete-list-item-template.directive";
15
+ export class SlickEmailerComponent {
16
+ constructor(slickFunctionLockService, changeDetector) {
17
+ this.slickFunctionLockService = slickFunctionLockService;
18
+ this.changeDetector = changeDetector;
19
+ this.showButtons = true;
20
+ this.bodyHeight = "180px";
21
+ this.toAddressSearchEmitter = new EventEmitter();
22
+ this.sendEmailClickEmitter = new EventEmitter();
23
+ this.cancelEmailClickEmitter = new EventEmitter();
24
+ this.isSubmitted = false;
25
+ this.tinyMCEInitialized = false;
26
+ this.spinnerStatus = null;
27
+ this.propagateChange = (_) => { };
28
+ this.uuid = SlickUtilsService.newGuid();
29
+ }
30
+ async ngAfterViewInit() {
31
+ await this.initTinyMCE();
32
+ const body = (this.emailerModel) ? (this.emailerModel.body || '') : '';
33
+ tinymce.get(`emailer_tinymce_${this.tinyMCEUuid}`).setContent(body);
34
+ }
35
+ ngOnDestroy() {
36
+ this.removeTinyMCE();
37
+ }
38
+ // this is the initial value set to the component
39
+ async writeValue(obj) {
40
+ if (obj) {
41
+ this.spinnerStatus = "reset";
42
+ this.emailerModel = obj;
43
+ if (!this.emailerModel.attachments)
44
+ this.emailerModel.attachments = [];
45
+ if (!this.emailerModel.toEmailAddresses)
46
+ this.emailerModel.toEmailAddresses = [];
47
+ }
48
+ else {
49
+ this.emailerModel = null;
50
+ }
51
+ await this.initTinyMCE();
52
+ const body = (this.emailerModel) ? (this.emailerModel.body || '') : '';
53
+ tinymce.get(`emailer_tinymce_${this.tinyMCEUuid}`).setContent(body);
54
+ }
55
+ // registers 'fn' that will be fired when changes are made
56
+ // this is how we emit the changes back to the form
57
+ registerOnChange(fn) {
58
+ this.propagateChange = fn;
59
+ }
60
+ // not used, used for touch input
61
+ registerOnTouched() { }
62
+ toAddressSearch(searchText) {
63
+ this.toAddressSearchEmitter.emit(searchText);
64
+ }
65
+ onSelectEmailAddress(emailerAddressModel) {
66
+ this.emailerModel.toEmailAddresses.push(emailerAddressModel);
67
+ this.toEmailAddress = null;
68
+ }
69
+ onFreeformTextSelect(text) {
70
+ const freeformEmailAddress = new SlickEmailerAddressModel();
71
+ freeformEmailAddress.displayName = text;
72
+ freeformEmailAddress.emailAddress = text;
73
+ this.emailerModel.toEmailAddresses.push(freeformEmailAddress);
74
+ this.toEmailAddress = null;
75
+ }
76
+ deleteEmailAddress(idx) {
77
+ this.emailerModel.toEmailAddresses.splice(idx, 1);
78
+ }
79
+ onAttachmentsChanged(attachments) {
80
+ this.emailerModel.attachments = this.emailerModel.attachments.concat(attachments);
81
+ }
82
+ validate() {
83
+ this.isSubmitted = true;
84
+ if (this.emailerModel.toEmailAddresses.length === 0)
85
+ return false;
86
+ return true;
87
+ }
88
+ getEmailAddresses(emailerModel) {
89
+ let slickEmailerAddresses = emailerModel.toEmailAddresses || [];
90
+ if (this.toEmailAddress) {
91
+ const scrubbedToEmailAddress = this.toEmailAddress.replace(",", ";").replace(/\s/g, ";");
92
+ const emailAddressesToAddStrings = scrubbedToEmailAddress.split(";").filter(x => x !== '');
93
+ const emailAddressesToAdd = emailAddressesToAddStrings.map(x => {
94
+ const slickEmailerAddressModel = new SlickEmailerAddressModel();
95
+ slickEmailerAddressModel.contactId = 0;
96
+ slickEmailerAddressModel.displayName = x;
97
+ slickEmailerAddressModel.emailAddress = x;
98
+ return slickEmailerAddressModel;
99
+ });
100
+ slickEmailerAddresses = slickEmailerAddresses.concat(emailAddressesToAdd);
101
+ }
102
+ this.toEmailAddress = null;
103
+ return slickEmailerAddresses;
104
+ }
105
+ async setBody(body) {
106
+ try {
107
+ await this.slickFunctionLockService.lock("SLICK_EMAILER_SET_BODY");
108
+ await this.initTinyMCE();
109
+ const tinyMCE = tinymce.get(`emailer_tinymce_${this.tinyMCEUuid}`);
110
+ if (!tinyMCE)
111
+ console.error("tinyMCE not initialized");
112
+ tinyMCE.setContent(body);
113
+ }
114
+ finally {
115
+ this.slickFunctionLockService.release("SLICK_EMAILER_SET_BODY");
116
+ }
117
+ }
118
+ getBody() {
119
+ return tinymce.get(`emailer_tinymce_${this.tinyMCEUuid}`).getContent();
120
+ }
121
+ onSendEmail() {
122
+ this.emailerModel.toEmailAddresses = this.getEmailAddresses(this.emailerModel);
123
+ if (this.validate() === false)
124
+ return;
125
+ this.emailerModel.body = this.getBody();
126
+ this.spinnerStatus = "spin";
127
+ if (this.sendEmailClickEmitter)
128
+ this.sendEmailClickEmitter.emit(this.emailerModel);
129
+ }
130
+ emailSent() {
131
+ this.spinnerStatus = "ok";
132
+ }
133
+ emailError() {
134
+ this.spinnerStatus = "error";
135
+ }
136
+ onCancelEmail() {
137
+ if (this.cancelEmailClickEmitter)
138
+ this.cancelEmailClickEmitter.emit();
139
+ }
140
+ async dialogInit() {
141
+ this.removeTinyMCE();
142
+ await this.initTinyMCE();
143
+ const body = (this.emailerModel) ? (this.emailerModel.body || '') : '';
144
+ tinymce.get(`emailer_tinymce_${this.tinyMCEUuid}`).setContent(body);
145
+ }
146
+ async initTinyMCE() {
147
+ return new Promise(async (resolve) => {
148
+ await this.slickFunctionLockService.lock("SLICK_EMAILER_INIT_TINY_MCE");
149
+ if (this.tinyMCEUuid) {
150
+ this.slickFunctionLockService.release("SLICK_EMAILER_INIT_TINY_MCE");
151
+ resolve();
152
+ }
153
+ else {
154
+ this.tinyMCEUuid = SlickUtilsService.newGuid();
155
+ const tinyMCEContainer = this.tinyMCEContainerRef.nativeElement;
156
+ const tinyMCETextarea = document.createElement("textarea");
157
+ tinyMCETextarea.id = `emailer_tinymce_${this.tinyMCEUuid}`;
158
+ tinyMCETextarea.style.minHeight = "300px";
159
+ tinyMCETextarea.style.maxHeight = "300px";
160
+ tinyMCEContainer.appendChild(tinyMCETextarea);
161
+ tinymce.init({
162
+ selector: `#emailer_tinymce_${this.tinyMCEUuid}`,
163
+ branding: false,
164
+ menubar: 'edit insert format tools',
165
+ plugins: 'link image imagetools code',
166
+ toolbar: 'fontselect | fontsizeselect | styleselect | bold italic underline | indent outdent | bullist | alignleft aligncenter alignright | code | image',
167
+ fontsize_formats: "8px 10px 12px 14px 18px 24px 36px",
168
+ height: this.bodyHeight,
169
+ convert_urls: false,
170
+ setup: (ed) => {
171
+ ed.on('init', (args) => {
172
+ ed.setContent((this.emailerModel) ? (this.emailerModel.body || '') : '');
173
+ this.tinyMCEInitialized = true;
174
+ this.slickFunctionLockService.release("SLICK_EMAILER_INIT_TINY_MCE");
175
+ resolve();
176
+ });
177
+ }
178
+ });
179
+ }
180
+ });
181
+ }
182
+ async removeTinyMCE() {
183
+ if (this.tinyMCEUuid) {
184
+ const tinyMCE = tinymce.get(`emailer_tinymce_${this.tinyMCEUuid}`);
185
+ if (tinyMCE)
186
+ tinyMCE.remove();
187
+ const tinyMCEContainer = this.tinyMCEContainerRef.nativeElement;
188
+ tinyMCEContainer.innerHTML = "";
189
+ this.tinyMCEInitialized = false;
190
+ this.tinyMCEUuid = null;
191
+ }
192
+ }
193
+ }
194
+ /** @nocollapse */ SlickEmailerComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.3", ngImport: i0, type: SlickEmailerComponent, deps: [{ token: i1.SlickFunctionLockService }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component });
195
+ /** @nocollapse */ SlickEmailerComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.3", type: SlickEmailerComponent, selector: "slick-emailer", inputs: { toEmailAddressList: "toEmailAddressList", showButtons: "showButtons", bodyHeight: "bodyHeight" }, outputs: { toAddressSearchEmitter: "toAddressSearch", sendEmailClickEmitter: "sendEmailClick", cancelEmailClickEmitter: "cancelEmailClick" }, providers: [
196
+ {
197
+ provide: NG_VALUE_ACCESSOR,
198
+ useExisting: forwardRef((() => SlickEmailerComponent)),
199
+ multi: true,
200
+ },
201
+ SlickFunctionLockService
202
+ ], viewQueries: [{ propertyName: "tinyMCEContainerRef", first: true, predicate: ["tinyMCEContainerRef"], descendants: true }], ngImport: i0, template: "<div *ngIf=\"emailerModel\" id=\"slick-emailer_{{uuid}}\" class=\"slick-emailer\">\r\n\t<div class=\"row form-group\">\r\n\t\t<div class=\"col-12\">\r\n\t\t\t<div *ngIf=\"isSubmitted === true && emailerModel.toEmailAddresses.length === 0\" class=\"errorWrapper showIcons\"><div class=\"text-danger\">Email must have at least one email address</div></div>\r\n\t\t\t<div class=\"input-group\">\r\n\t\t\t\t<div class=\"input-group-prepend\">\r\n\t\t\t\t\t<span class=\"input-group-text\"><span class=\"fas fa-search\"></span></span>\r\n\t\t\t\t</div>\r\n\t\t\t\t<input class=\"form-control\" #emailAddressAutocomplete [(ngModel)]=\"toEmailAddress\" placeholder=\"Email Search...\" autofocus />\r\n\t\t\t</div>\r\n\t\t\t<slick-auto-complete [inputRef]=\"emailAddressAutocomplete\" textField=\"emailDisplay\" [items]=\"toEmailAddressList\" (onRefresh)=\"toAddressSearch($event)\" (onSelect)=\"onSelectEmailAddress($event)\" (onFreeformTextSelect)=\"onFreeformTextSelect($event)\">\r\n\t\t\t\t<ng-template let-emailDisplay [slickAutoCompleteListItemTemplate]>\r\n\t\t\t\t\t<div style='line-height: 1.1em; font-size: 12px;'>\r\n\t\t\t\t\t\t{{emailDisplay.displayName}} [{{emailDisplay.emailAddress}}]\r\n\t\t\t\t\t</div>\r\n\t\t\t\t</ng-template>\r\n\t\t\t</slick-auto-complete>\r\n\r\n\t\t\t<label>To:&nbsp;</label>\r\n\t\t\t<div *ngFor=\"let emailAddress of emailerModel.toEmailAddresses; let idx = index;\" class=\"slick-emailer_email-address alert alert-secondary\">{{emailAddress.displayName}} [{{emailAddress.emailAddress}}]<i (click)=\"deleteEmailAddress(idx)\" class=\"fas fa-times-circle bg-white text-danger ml-1\"></i></div>\r\n\t\t</div>\r\n\t</div>\r\n\t<div class=\"row form-group\">\r\n\t\t<div class=\"col-12\">\r\n\t\t\t<label>Subject:</label>\r\n\t\t\t<input type=\"text\" class=\"form-control\" [(ngModel)]=\"emailerModel.subject\" />\r\n\t\t</div>\r\n\t</div>\r\n\r\n\t<div class=\"row form-group\">\r\n\t\t<div class=\"col-12\">\r\n\t\t\t<label>Body:</label>\r\n\t\t\t<div #tinyMCEContainerRef></div>\r\n\t\t</div>\r\n\t</div>\r\n\r\n\t<div class=\"row form-group\">\r\n\t\t<div class=\"col-12\">\r\n\t\t\t<label>Attachments:</label>\r\n\t\t\t<slick-file-drop (filesChanged)=\"onAttachmentsChanged($event)\"></slick-file-drop>\r\n\t\t\t<slick-file-list [(files)]=\"emailerModel.attachments\"></slick-file-list>\r\n\t\t</div>\r\n\t</div>\r\n\r\n\t<div *ngIf=\"showButtons\" class=\"row form-group\">\r\n\t\t<div class=\"col-12 text-center\">\r\n\t\t\t<button type=\"button\" style=\"width: 120px; margin-right: 10px;\" [slick-button-spinner]=\"spinnerStatus\" class=\"btn btn-outline-primary\" (click)=\"onSendEmail()\"><i class=\"far fa-envelope\"></i>&nbsp;Send</button>\r\n\t\t\t<button type=\"button\" style=\"width: 120px;\" class=\"btn btn-outline-danger\" (click)=\"onCancelEmail()\"><i class=\"far fa-times\"></i>&nbsp;Cancel</button>\r\n\t\t</div>\r\n\t</div>\r\n</div>\r\n", components: [{ type: i2.SlickAutoCompleteComponent, selector: "slick-auto-complete", inputs: ["inputRef", "items", "delay", "selectFirst", "displayTextFieldName", "listHeight", "listWidth", "allowFreeformText", "showNoItemsFoundDisplay"], outputs: ["onRefresh", "onSelect", "onFreeformTextSelect"] }, { type: i3.SlickFileDropComponent, selector: "slick-file-drop", inputs: ["displayText"], outputs: ["filesChanged"] }, { type: i4.SlickFileListComponent, selector: "slick-file-list", inputs: ["files", "allowDelete", "showPhotoGallery", "showCheckboxes", "thumbnailSize", "confirmDelete"], outputs: ["filesEmitter", "onFileDelete", "onFileCheckChanged", "onFileClicked"] }, { type: i5.SlickButtonSpinnerComponent, selector: "[slick-button-spinner]", inputs: ["slick-button-spinner"] }], directives: [{ type: i6.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i7.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { type: i7.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { type: i7.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { type: i8.SlickAutoCompleteListItemTemplateDirective, selector: "[slickAutoCompleteListItemTemplate]", inputs: ["type", "slickAutoCompleteListItemTemplate"] }, { type: i6.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }] });
203
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.3", ngImport: i0, type: SlickEmailerComponent, decorators: [{
204
+ type: Component,
205
+ args: [{ selector: 'slick-emailer', providers: [
206
+ {
207
+ provide: NG_VALUE_ACCESSOR,
208
+ useExisting: forwardRef((() => SlickEmailerComponent)),
209
+ multi: true,
210
+ },
211
+ SlickFunctionLockService
212
+ ], template: "<div *ngIf=\"emailerModel\" id=\"slick-emailer_{{uuid}}\" class=\"slick-emailer\">\r\n\t<div class=\"row form-group\">\r\n\t\t<div class=\"col-12\">\r\n\t\t\t<div *ngIf=\"isSubmitted === true && emailerModel.toEmailAddresses.length === 0\" class=\"errorWrapper showIcons\"><div class=\"text-danger\">Email must have at least one email address</div></div>\r\n\t\t\t<div class=\"input-group\">\r\n\t\t\t\t<div class=\"input-group-prepend\">\r\n\t\t\t\t\t<span class=\"input-group-text\"><span class=\"fas fa-search\"></span></span>\r\n\t\t\t\t</div>\r\n\t\t\t\t<input class=\"form-control\" #emailAddressAutocomplete [(ngModel)]=\"toEmailAddress\" placeholder=\"Email Search...\" autofocus />\r\n\t\t\t</div>\r\n\t\t\t<slick-auto-complete [inputRef]=\"emailAddressAutocomplete\" textField=\"emailDisplay\" [items]=\"toEmailAddressList\" (onRefresh)=\"toAddressSearch($event)\" (onSelect)=\"onSelectEmailAddress($event)\" (onFreeformTextSelect)=\"onFreeformTextSelect($event)\">\r\n\t\t\t\t<ng-template let-emailDisplay [slickAutoCompleteListItemTemplate]>\r\n\t\t\t\t\t<div style='line-height: 1.1em; font-size: 12px;'>\r\n\t\t\t\t\t\t{{emailDisplay.displayName}} [{{emailDisplay.emailAddress}}]\r\n\t\t\t\t\t</div>\r\n\t\t\t\t</ng-template>\r\n\t\t\t</slick-auto-complete>\r\n\r\n\t\t\t<label>To:&nbsp;</label>\r\n\t\t\t<div *ngFor=\"let emailAddress of emailerModel.toEmailAddresses; let idx = index;\" class=\"slick-emailer_email-address alert alert-secondary\">{{emailAddress.displayName}} [{{emailAddress.emailAddress}}]<i (click)=\"deleteEmailAddress(idx)\" class=\"fas fa-times-circle bg-white text-danger ml-1\"></i></div>\r\n\t\t</div>\r\n\t</div>\r\n\t<div class=\"row form-group\">\r\n\t\t<div class=\"col-12\">\r\n\t\t\t<label>Subject:</label>\r\n\t\t\t<input type=\"text\" class=\"form-control\" [(ngModel)]=\"emailerModel.subject\" />\r\n\t\t</div>\r\n\t</div>\r\n\r\n\t<div class=\"row form-group\">\r\n\t\t<div class=\"col-12\">\r\n\t\t\t<label>Body:</label>\r\n\t\t\t<div #tinyMCEContainerRef></div>\r\n\t\t</div>\r\n\t</div>\r\n\r\n\t<div class=\"row form-group\">\r\n\t\t<div class=\"col-12\">\r\n\t\t\t<label>Attachments:</label>\r\n\t\t\t<slick-file-drop (filesChanged)=\"onAttachmentsChanged($event)\"></slick-file-drop>\r\n\t\t\t<slick-file-list [(files)]=\"emailerModel.attachments\"></slick-file-list>\r\n\t\t</div>\r\n\t</div>\r\n\r\n\t<div *ngIf=\"showButtons\" class=\"row form-group\">\r\n\t\t<div class=\"col-12 text-center\">\r\n\t\t\t<button type=\"button\" style=\"width: 120px; margin-right: 10px;\" [slick-button-spinner]=\"spinnerStatus\" class=\"btn btn-outline-primary\" (click)=\"onSendEmail()\"><i class=\"far fa-envelope\"></i>&nbsp;Send</button>\r\n\t\t\t<button type=\"button\" style=\"width: 120px;\" class=\"btn btn-outline-danger\" (click)=\"onCancelEmail()\"><i class=\"far fa-times\"></i>&nbsp;Cancel</button>\r\n\t\t</div>\r\n\t</div>\r\n</div>\r\n" }]
213
+ }], ctorParameters: function () { return [{ type: i1.SlickFunctionLockService }, { type: i0.ChangeDetectorRef }]; }, propDecorators: { toEmailAddressList: [{
214
+ type: Input,
215
+ args: ["toEmailAddressList"]
216
+ }], showButtons: [{
217
+ type: Input,
218
+ args: ["showButtons"]
219
+ }], bodyHeight: [{
220
+ type: Input,
221
+ args: ["bodyHeight"]
222
+ }], toAddressSearchEmitter: [{
223
+ type: Output,
224
+ args: ["toAddressSearch"]
225
+ }], sendEmailClickEmitter: [{
226
+ type: Output,
227
+ args: ["sendEmailClick"]
228
+ }], cancelEmailClickEmitter: [{
229
+ type: Output,
230
+ args: ["cancelEmailClick"]
231
+ }], tinyMCEContainerRef: [{
232
+ type: ViewChild,
233
+ args: ["tinyMCEContainerRef"]
234
+ }] } });
235
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2xpY2stZW1haWxlci5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wcm9qZWN0cy9jb21wb25lbnRzL3NyYy9zbGljay1lbWFpbGVyL3NsaWNrLWVtYWlsZXIuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vcHJvamVjdHMvY29tcG9uZW50cy9zcmMvc2xpY2stZW1haWxlci9zbGljay1lbWFpbGVyLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRSxZQUFZLEVBQUUsVUFBVSxFQUErQyxTQUFTLEVBQWMsTUFBTSxlQUFlLENBQUM7QUFDdkosT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFFbkQsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sOEJBQThCLENBQUM7QUFDakUsT0FBTyxFQUFFLHdCQUF3QixFQUFFLE1BQU0sc0NBQXNDLENBQUM7QUFHaEYsT0FBTyxFQUE2Qix3QkFBd0IsRUFBRSxNQUFNLCtCQUErQixDQUFDOzs7Ozs7Ozs7O0FBZ0JwRyxNQUFNLE9BQU8scUJBQXFCO0lBb0JqQyxZQUFvQix3QkFBa0QsRUFBVSxjQUFpQztRQUE3Riw2QkFBd0IsR0FBeEIsd0JBQXdCLENBQTBCO1FBQVUsbUJBQWMsR0FBZCxjQUFjLENBQW1CO1FBbEIzRixnQkFBVyxHQUFZLElBQUksQ0FBQztRQUM3QixlQUFVLEdBQVcsT0FBTyxDQUFDO1FBQ3ZCLDJCQUFzQixHQUF5QixJQUFJLFlBQVksRUFBRSxDQUFDO1FBQ25FLDBCQUFxQixHQUFxQyxJQUFJLFlBQVksRUFBRSxDQUFDO1FBQzNFLDRCQUF1QixHQUF1QixJQUFJLFlBQVksRUFBUSxDQUFDO1FBS25HLGdCQUFXLEdBQVksS0FBSyxDQUFDO1FBSTdCLHVCQUFrQixHQUFZLEtBQUssQ0FBQztRQUdwQyxrQkFBYSxHQUFXLElB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QUFzQjtzQkFBaEQsTUFBTTt1QkFBQyxpQkFBaUI7Z0JBQ0MscUJBQXFCO3NCQUE5QyxNQUFNO3VCQUFDLGdCQUFnQjtnQkFDSSx1QkFBdUI7c0JBQWxELE1BQU07dUJBQUMsa0JBQWtCO2dCQUVRLG1CQUFtQjtzQkFBcEQsU0FBUzt1QkFBQyxxQkFBcUIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIElucHV0LCBPdXRwdXQsIEV2ZW50RW1pdHRlciwgZm9yd2FyZFJlZiwgQWZ0ZXJWaWV3SW5pdCwgT25EZXN0cm95LCBDaGFuZ2VEZXRlY3RvclJlZiwgVmlld0NoaWxkLCBFbGVtZW50UmVmIH0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIjtcclxuaW1wb3J0IHsgTkdfVkFMVUVfQUNDRVNTT1IgfSBmcm9tIFwiQGFuZ3VsYXIvZm9ybXNcIjtcclxuaW1wb3J0IHsgU2xpY2tTbGVlcFNlcnZpY2UgfSBmcm9tIFwiLi4vdXRpbHMvc2xpY2stc2xlZXAuc2VydmljZVwiO1xyXG5pbXBvcnQgeyBTbGlja1V0aWxzU2VydmljZSB9IGZyb20gXCIuLi91dGlscy9zbGljay11dGlscy5zZXJ2aWNlXCI7XHJcbmltcG9ydCB7IFNsaWNrRnVuY3Rpb25Mb2NrU2VydmljZSB9IGZyb20gXCIuLi91dGlscy9zbGljay1mdW5jdGlvbi1sb2NrLnNlcnZpY2VcIjtcclxuaW1wb3J0IHsgSVNsaWNrRmlsZU1vZGVsIH0gZnJvbSBcIi4uL3NsaWNrLWZpbGUtbW9kZWwvc2xpY2stZmlsZS5tb2RlbFwiO1xyXG5pbXBvcnQgeyBJU2xpY2tFbWFpbGVyTW9kZWwsIH0gZnJvbSBcIi4vc2xpY2stZW1haWxlci5tb2RlbFwiO1xyXG5pbXBvcnQgeyBJU2xpY2tFbWFpbGVyQWRkcmVzc01vZGVsLCBTbGlja0VtYWlsZXJBZGRyZXNzTW9kZWwgfSBmcm9tIFwiLi9zbGljay1lbWFpbGVyLWFkZHJlc3MubW9kZWxcIjtcclxuXHJcbmRlY2xhcmUgY29uc3QgdGlueW1jZTogYW55O1xyXG5cclxuQENvbXBvbmVudCh7XHJcblx0c2VsZWN0b3I6ICdzbGljay1lbWFpbGVyJyxcclxuXHR0ZW1wbGF0ZVVybDogJ3NsaWNrLWVtYWlsZXIuY29tcG9uZW50Lmh0bWwnLFxyXG5cdHByb3ZpZGVyczogW1xyXG5cdFx0e1xyXG5cdFx0XHRwcm92aWRlOiBOR19WQUxVRV9BQ0NFU1NPUixcclxuXHRcdFx0dXNlRXhpc3Rpbmc6IGZvcndhcmRSZWYoKCkgPT4gU2xpY2tFbWFpbGVyQ29tcG9uZW50KSxcclxuXHRcdFx0bXVsdGk6IHRydWUsXHJcblx0XHR9LFxyXG5cdFx0U2xpY2tGdW5jdGlvbkxvY2tTZXJ2aWNlXHJcblx0XVxyXG59KVxyXG5leHBvcnQgY2xhc3MgU2xpY2tFbWFpbGVyQ29tcG9uZW50IGltcGxlbWVudHMgQWZ0ZXJWaWV3SW5pdCwgT25EZXN0cm95IHtcclxuXHRASW5wdXQoXCJ0b0VtYWlsQWRkcmVzc0xpc3RcIikgdG9FbWFpbEFkZHJlc3NMaXN0OiBJU2xpY2tFbWFpbGVyQWRkcmVzc01vZGVsW107XHJcblx0QElucHV0KFwic2hvd0J1dHRvbnNcIikgc2hvd0J1dHRvbnM6IGJvb2xlYW4gPSB0cnVlO1xyXG5cdEBJbnB1dChcImJvZHlIZWlnaHRcIikgYm9keUhlaWdodDogc3RyaW5nID0gXCIxODBweFwiO1xyXG5cdEBPdXRwdXQoXCJ0b0FkZHJlc3NTZWFyY2hcIikgdG9BZGRyZXNzU2VhcmNoRW1pdHRlcjogRXZlbnRFbWl0dGVyPHN0cmluZz4gPSBuZXcgRXZlbnRFbWl0dGVyKCk7XHJcblx0QE91dHB1dChcInNlbmRFbWFpbENsaWNrXCIpIHNlbmRFbWFpbENsaWNrRW1pdHRlcjogRXZlbnRFbWl0dGVyPElTbGlja0VtYWlsZXJNb2RlbD4gPSBuZXcgRXZlbnRFbWl0dGVyKCk7XHJcblx0QE91dHB1dChcImNhbmNlbEVtYWlsQ2xpY2tcIikgY2FuY2VsRW1haWxDbGlja0VtaXR0ZXI6IEV2ZW50RW1pdHRlcjx2b2lkPiA9IG5ldyBFdmVudEVtaXR0ZXI8dm9pZD4oKTtcclxuXHJcblx0QFZpZXdDaGlsZChcInRpbnlNQ0VDb250YWluZXJSZWZcIikgdGlueU1DRUNvbnRhaW5lclJlZjogRWxlbWVudFJlZjtcclxuXHJcblx0ZW1haWxlck1vZGVsOiBJU2xpY2tFbWFpbGVyTW9kZWw7XHJcblx0aXNTdWJtaXR0ZWQ6IGJvb2xlYW4gPSBmYWxzZTtcclxuXHJcblx0dXVpZDogc3RyaW5nO1xyXG5cdHRpbnlNQ0VVdWlkOiBzdHJpbmc7XHJcblx0dGlueU1DRUluaXRpYWxpemVkOiBib29sZWFuID0gZmFsc2U7XHJcblx0dG9FbWFpbEFkZHJlc3M6IHN0cmluZztcclxuXHRlZGl0b3I6IGFueTtcclxuXHRzcGlubmVyU3RhdHVzOiBzdHJpbmcgPSBudWxsO1xyXG5cclxuXHRjb25zdHJ1Y3Rvcihwcml2YXRlIHNsaWNrRnVuY3Rpb25Mb2NrU2VydmljZTogU2xpY2tGdW5jdGlvbkxvY2tTZXJ2aWNlLCBwcml2YXRlIGNoYW5nZURldGVjdG9yOiBDaGFuZ2VEZXRlY3RvclJlZikge1xyXG5cdFx0dGhpcy51dWlkID0gU2xpY2tVdGlsc1NlcnZpY2UubmV3R3VpZCgpO1xyXG5cclxuXHR9XHJcblxyXG5cdGFzeW5jIG5nQWZ0ZXJWaWV3SW5pdCgpIHtcclxuXHRcdGF3YWl0IHRoaXMuaW5pdFRpbnlNQ0UoKTtcclxuXHRcdGNvbnN0IGJvZHkgPSAodGhpcy5lbWFpbGVyTW9kZWwpID8gKHRoaXMuZW1haWxlck1vZGVsLmJvZHkgfHwgJycpIDogJyc7XHJcblx0XHR0aW55bWNlLmdldChgZW1haWxlcl90aW55bWNlXyR7dGhpcy50aW55TUNFVXVpZH1gKS5zZXRDb250ZW50KGJvZHkpO1xyXG5cdH1cclxuXHJcblx0bmdPbkRlc3Ryb3koKSB7XHJcblx0XHR0aGlzLnJlbW92ZVRpbnlNQ0UoKTtcclxuXHR9XHJcblxyXG5cdHByb3BhZ2F0ZUNoYW5nZSA9IChfOiBhbnkpID0+IHsgfTtcclxuXHJcblx0Ly8gdGhpcyBpcyB0aGUgaW5pdGlhbCB2YWx1ZSBzZXQgdG8gdGhlIGNvbXBvbmVudFxyXG5cdHB1YmxpYyBhc3luYyB3cml0ZVZhbHVlKG9iajogSVNsaWNrRW1haWxlck1vZGVsKSB7XHJcblx0XHRpZiAob2JqKSB7XHJcblx0XHRcdHRoaXMuc3Bpbm5lclN0YXR1cyA9IFwicmVzZXRcIjtcclxuXHRcdFx0dGhpcy5lbWFpbGVyTW9kZWwgPSBvYmo7XHJcblxyXG5cdFx0XHRpZiAoIXRoaXMuZW1haWxlck1vZGVsLmF0dGFjaG1lbnRzKVxyXG5cdFx0XHRcdHRoaXMuZW1haWxlck1vZGVsLmF0dGFjaG1lbnRzID0gW107XHJcblxyXG5cdFx0XHRpZiAoIXRoaXMuZW1haWxlck1vZGVsLnRvRW1haWxBZGRyZXNzZXMpXHJcblx0XHRcdFx0dGhpcy5lbWFpbGVyTW9kZWwudG9FbWFpbEFkZHJlc3NlcyA9IFtdO1x0XHRcdFxyXG5cdFx0fVxyXG5cdFx0ZWxzZSB7XHJcblx0XHRcdHRoaXMuZW1haWxlck1vZGVsID0gbnVsbDtcclxuXHRcdH1cclxuXHJcblx0XHRhd2FpdCB0aGlzLmluaXRUaW55TUNFKCk7XHJcblx0XHRjb25zdCBib2R5ID0gKHRoaXMuZW1haWxlck1vZGVsKSA/ICh0aGlzLmVtYWlsZXJNb2RlbC5ib2R5IHx8ICcnKSA6ICcnO1xyXG5cdFx0dGlueW1jZS5nZXQoYGVtYWlsZXJfdGlueW1jZV8ke3RoaXMudGlueU1DRVV1aWR9YCkuc2V0Q29udGVudChib2R5KTtcclxuXHR9XHJcblxyXG5cdC8vIHJlZ2lzdGVycyAnZm4nIHRoYXQgd2lsbCBiZSBmaXJlZCB3aGVuIGNoYW5nZXMgYXJlIG1hZGVcclxuXHQvLyB0aGlzIGlzIGhvdyB3ZSBlbWl0IHRoZSBjaGFuZ2VzIGJhY2sgdG8gdGhlIGZvcm1cclxuXHRwdWJsaWMgcmVnaXN0ZXJPbkNoYW5nZShmbjogYW55KSB7XHJcblx0XHR0aGlzLnByb3BhZ2F0ZUNoYW5nZSA9IGZuO1xyXG5cdH1cclxuXHJcblx0Ly8gbm90IHVzZWQsIHVzZWQgZm9yIHRvdWNoIGlucHV0XHJcblx0cHVibGljIHJlZ2lzdGVyT25Ub3VjaGVkKCkgeyB9XHJcblxyXG5cdHRvQWRkcmVzc1NlYXJjaChzZWFyY2hUZXh0KSB7XHJcblx0XHR0aGlzLnRvQWRkcmVzc1NlYXJjaEVtaXR0ZXIuZW1pdChzZWFyY2hUZXh0KTtcclxuXHR9XHJcblxyXG5cdG9uU2VsZWN0RW1haWxBZGRyZXNzKGVtYWlsZXJBZGRyZXNzTW9kZWw6IElTbGlja0VtYWlsZXJBZGRyZXNzTW9kZWwpIHtcclxuXHRcdHRoaXMuZW1haWxlck1vZGVsLnRvRW1haWxBZGRyZXNzZXMucHVzaChlbWFpbGVyQWRkcmVzc01vZGVsKTtcclxuXHJcblx0XHR0aGlzLnRvRW1haWxBZGRyZXNzID0gbnVsbDtcclxuXHR9XHJcblxyXG5cdG9uRnJlZWZvcm1UZXh0U2VsZWN0KHRleHQ6IHN0cmluZykge1xyXG5cdFx0Y29uc3QgZnJlZWZvcm1FbWFpbEFkZHJlc3MgPSBuZXcgU2xpY2tFbWFpbGVyQWRkcmVzc01vZGVsKCk7XHJcblx0XHRmcmVlZm9ybUVtYWlsQWRkcmVzcy5kaXNwbGF5TmFtZSA9IHRleHQ7XHJcblx0XHRmcmVlZm9ybUVtYWlsQWRkcmVzcy5lbWFpbEFkZHJlc3MgPSB0ZXh0O1xyXG5cclxuXHRcdHRoaXMuZW1haWxlck1vZGVsLnRvRW1haWxBZGRyZXNzZXMucHVzaChmcmVlZm9ybUVtYWlsQWRkcmVzcyk7XHJcblx0XHR0aGlzLnRvRW1haWxBZGRyZXNzID0gbnVsbDtcclxuXHR9XHJcblxyXG5cdGRlbGV0ZUVtYWlsQWRkcmVzcyhpZHg6IG51bWJlcikge1xyXG5cdFx0dGhpcy5lbWFpbGVyTW9kZWwudG9FbWFpbEFkZHJlc3Nlcy5zcGxpY2UoaWR4LCAxKTtcclxuXHR9XHJcblxyXG5cdG9uQXR0YWNobWVudHNDaGFuZ2VkKGF0dGFjaG1lbnRzOiBJU2xpY2tGaWxlTW9kZWxbXSkge1xyXG5cdFx0dGhpcy5lbWFpbGVyTW9kZWwuYXR0YWNobWVudHMgPSB0aGlzLmVtYWlsZXJNb2RlbC5hdHRhY2htZW50cy5jb25jYXQoYXR0YWNobWVudHMpO1xyXG5cdH1cclxuXHJcblx0dmFsaWRhdGUoKSB7XHJcblx0XHR0aGlzLmlzU3VibWl0dGVkID0gdHJ1ZTtcclxuXHRcdGlmICh0aGlzLmVtYWlsZXJNb2RlbC50b0VtYWlsQWRkcmVzc2VzLmxlbmd0aCA9PT0gMClcclxuXHRcdFx0cmV0dXJuIGZhbHNlO1xyXG5cclxuXHRcdHJldHVybiB0cnVlO1xyXG5cdH1cclxuXHJcblx0Z2V0RW1haWxBZGRyZXNzZXMoZW1haWxlck1vZGVsOiBJU2xpY2tFbWFpbGVyTW9kZWwpOiBJU2xpY2tFbWFpbGVyQWRkcmVzc01vZGVsW10ge1xyXG5cdFx0bGV0IHNsaWNrRW1haWxlckFkZHJlc3NlcyA9IGVtYWlsZXJNb2RlbC50b0VtYWlsQWRkcmVzc2VzIHx8IFtdO1xyXG5cclxuXHRcdGlmICh0aGlzLnRvRW1haWxBZGRyZXNzKSB7XHJcblx0XHRcdGNvbnN0IHNjcnViYmVkVG9FbWFpbEFkZHJlc3MgPSB0aGlzLnRvRW1haWxBZGRyZXNzLnJlcGxhY2UoXCIsXCIsIFwiO1wiKS5yZXBsYWNlKC9cXHMvZywgXCI7XCIpO1xyXG5cdFx0XHRjb25zdCBlbWFpbEFkZHJlc3Nlc1RvQWRkU3RyaW5ncyA9IHNjcnViYmVkVG9FbWFpbEFkZHJlc3Muc3BsaXQoXCI7XCIpLmZpbHRlcih4ID0+IHggIT09ICcnKTtcclxuXHRcdFx0Y29uc3QgZW1haWxBZGRyZXNzZXNUb0FkZCA9IGVtYWlsQWRkcmVzc2VzVG9BZGRTdHJpbmdzLm1hcCh4ID0+IHtcclxuXHRcdFx0XHRjb25zdCBzbGlja0VtYWlsZXJBZGRyZXNzTW9kZWwgPSBuZXcgU2xpY2tFbWFpbGVyQWRkcmVzc01vZGVsKCk7XHJcblx0XHRcdFx0c2xpY2tFbWFpbGVyQWRkcmVzc01vZGVsLmNvbnRhY3RJZCA9IDA7XHJcblx0XHRcdFx0c2xpY2tFbWFpbGVyQWRkcmVzc01vZGVsLmRpc3BsYXlOYW1lID0geDtcclxuXHRcdFx0XHRzbGlja0VtYWlsZXJBZGRyZXNzTW9kZWwuZW1haWxBZGRyZXNzID0geDtcclxuXHRcdFx0XHRyZXR1cm4gc2xpY2tFbWFpbGVyQWRkcmVzc01vZGVsO1xyXG5cdFx0XHR9KTtcclxuXHRcdFx0c2xpY2tFbWFpbGVyQWRkcmVzc2VzID0gc2xpY2tFbWFpbGVyQWRkcmVzc2VzLmNvbmNhdChlbWFpbEFkZHJlc3Nlc1RvQWRkKTtcclxuXHRcdH1cclxuXHJcblx0XHR0aGlzLnRvRW1haWxBZGRyZXNzID0gbnVsbDtcclxuXHJcblx0XHRyZXR1cm4gc2xpY2tFbWFpbGVyQWRkcmVzc2VzO1xyXG5cdH1cclxuXHJcblx0YXN5bmMgc2V0Qm9keShib2R5OiBzdHJpbmcpIHtcclxuXHRcdHRyeSB7XHJcblx0XHRcdGF3YWl0IHRoaXMuc2xpY2tGdW5jdGlvbkxvY2tTZXJ2aWNlLmxvY2soXCJTTElDS19FTUFJTEVSX1NFVF9CT0RZXCIpO1xyXG5cclxuXHRcdFx0YXdhaXQgdGhpcy5pbml0VGlueU1DRSgpO1xyXG5cdFx0XHRjb25zdCB0aW55TUNFID0gdGlueW1jZS5nZXQoYGVtYWlsZXJfdGlueW1jZV8ke3RoaXMudGlueU1DRVV1aWR9YCk7XHJcblxyXG5cdFx0XHRpZiAoIXRpbnlNQ0UpXHJcblx0XHRcdFx0Y29uc29sZS5lcnJvcihcInRpbnlNQ0Ugbm90IGluaXRpYWxpemVkXCIpO1xyXG5cclxuXHRcdFx0dGlueU1DRS5zZXRDb250ZW50KGJvZHkpO1xyXG5cclxuXHRcdH1cclxuXHRcdGZpbmFsbHkge1xyXG5cdFx0XHR0aGlzLnNsaWNrRnVuY3Rpb25Mb2NrU2VydmljZS5yZWxlYXNlKFwiU0xJQ0tfRU1BSUxFUl9TRVRfQk9EWVwiKTtcclxuXHRcdH1cclxuXHR9XHJcblxyXG5cdGdldEJvZHkoKSB7XHJcblx0XHRyZXR1cm4gdGlueW1jZS5nZXQoYGVtYWlsZXJfdGlueW1jZV8ke3RoaXMudGlueU1DRVV1aWR9YCkuZ2V0Q29udGVudCgpO1xyXG5cdH1cclxuXHJcblx0b25TZW5kRW1haWwoKSB7XHJcblx0XHR0aGlzLmVtYWlsZXJNb2RlbC50b0VtYWlsQWRkcmVzc2VzID0gdGhpcy5nZXRFbWFpbEFkZHJlc3Nlcyh0aGlzLmVtYWlsZXJNb2RlbCk7XHJcblxyXG5cdFx0aWYgKHRoaXMudmFsaWRhdGUoKSA9PT0gZmFsc2UpXHJcblx0XHRcdHJldHVybjtcclxuXHJcblx0XHR0aGlzLmVtYWlsZXJNb2RlbC5ib2R5ID0gdGhpcy5nZXRCb2R5KCk7XHJcblx0XHR0aGlzLnNwaW5uZXJTdGF0dXMgPSBcInNwaW5cIjtcclxuXHRcdGlmICh0aGlzLnNlbmRFbWFpbENsaWNrRW1pdHRlcilcclxuXHRcdFx0dGhpcy5zZW5kRW1haWxDbGlja0VtaXR0ZXIuZW1pdCh0aGlzLmVtYWlsZXJNb2RlbCk7XHJcblx0fVxyXG5cclxuXHRlbWFpbFNlbnQoKSB7XHJcblx0XHR0aGlzLnNwaW5uZXJTdGF0dXMgPSBcIm9rXCI7XHJcblx0fVxyXG5cclxuXHRlbWFpbEVycm9yKCkge1xyXG5cdFx0dGhpcy5zcGlubmVyU3RhdHVzID0gXCJlcnJvclwiO1xyXG5cdH1cclxuXHJcblx0b25DYW5jZWxFbWFpbCgpIHtcclxuXHRcdGlmICh0aGlzLmNhbmNlbEVtYWlsQ2xpY2tFbWl0dGVyKVxyXG5cdFx0XHR0aGlzLmNhbmNlbEVtYWlsQ2xpY2tFbWl0dGVyLmVtaXQoKTtcclxuXHR9XHJcblxyXG5cdGFzeW5jIGRpYWxvZ0luaXQoKSB7XHJcblx0XHR0aGlzLnJlbW92ZVRpbnlNQ0UoKTtcclxuXHJcblx0XHRhd2FpdCB0aGlzLmluaXRUaW55TUNFKCk7XHJcblx0XHRjb25zdCBib2R5ID0gKHRoaXMuZW1haWxlck1vZGVsKSA/ICh0aGlzLmVtYWlsZXJNb2RlbC5ib2R5IHx8ICcnKSA6ICcnO1xyXG5cdFx0dGlueW1jZS5nZXQoYGVtYWlsZXJfdGlueW1jZV8ke3RoaXMudGlueU1DRVV1aWR9YCkuc2V0Q29udGVudChib2R5KTtcclxuXHR9XHJcblxyXG5cdGFzeW5jIGluaXRUaW55TUNFKCk6IFByb21pc2U8dm9pZD4ge1xyXG5cclxuXHRcdHJldHVybiBuZXcgUHJvbWlzZTx2b2lkPihhc3luYyAocmVzb2x2ZSkgPT4ge1xyXG5cdFx0XHRhd2FpdCB0aGlzLnNsaWNrRnVuY3Rpb25Mb2NrU2VydmljZS5sb2NrKFwiU0xJQ0tfRU1BSUxFUl9JTklUX1RJTllfTUNFXCIpO1xyXG5cclxuXHRcdFx0aWYgKHRoaXMudGlueU1DRVV1aWQpIHtcclxuXHRcdFx0XHR0aGlzLnNsaWNrRnVuY3Rpb25Mb2NrU2VydmljZS5yZWxlYXNlKFwiU0xJQ0tfRU1BSUxFUl9JTklUX1RJTllfTUNFXCIpO1xyXG5cdFx0XHRcdHJlc29sdmUoKTtcclxuXHRcdFx0fVxyXG5cdFx0XHRlbHNlIHtcclxuXHRcdFx0XHR0aGlzLnRpbnlNQ0VVdWlkID0gU2xpY2tVdGlsc1NlcnZpY2UubmV3R3VpZCgpO1xyXG5cclxuXHRcdFx0XHRjb25zdCB0aW55TUNFQ29udGFpbmVyID0gPEhUTUxEaXZFbGVtZW50PnRoaXMudGlueU1DRUNvbnRhaW5lclJlZi5uYXRpdmVFbGVtZW50O1xyXG5cdFx0XHRcdGNvbnN0IHRpbnlNQ0VUZXh0YXJlYSA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoXCJ0ZXh0YXJlYVwiKTtcclxuXHRcdFx0XHR0aW55TUNFVGV4dGFyZWEuaWQgPSBgZW1haWxlcl90aW55bWNlXyR7dGhpcy50aW55TUNFVXVpZH1gO1xyXG5cdFx0XHRcdHRpbnlNQ0VUZXh0YXJlYS5zdHlsZS5taW5IZWlnaHQgPSBcIjMwMHB4XCI7XHJcblx0XHRcdFx0dGlueU1DRVRleHRhcmVhLnN0eWxlLm1heEhlaWdodCA9IFwiMzAwcHhcIjtcclxuXHRcdFx0XHR0aW55TUNFQ29udGFpbmVyLmFwcGVuZENoaWxkKHRpbnlNQ0VUZXh0YXJlYSk7XHJcblxyXG5cdFx0XHRcdHRpbnltY2UuaW5pdCh7XHJcblx0XHRcdFx0XHRzZWxlY3RvcjogYCNlbWFpbGVyX3RpbnltY2VfJHt0aGlzLnRpbnlNQ0VVdWlkfWAsXHJcblx0XHRcdFx0XHRicmFuZGluZzogZmFsc2UsXHJcblx0XHRcdFx0XHRtZW51YmFyOiAnZWRpdCBpbnNlcnQgZm9ybWF0IHRvb2xzJyxcclxuXHRcdFx0XHRcdHBsdWdpbnM6ICdsaW5rIGltYWdlIGltYWdldG9vbHMgY29kZScsXHJcblx0XHRcdFx0XHR0b29sYmFyOiAnZm9udHNlbGVjdCB8IGZvbnRzaXplc2VsZWN0IHwgc3R5bGVzZWxlY3QgfCBib2xkIGl0YWxpYyB1bmRlcmxpbmUgfCBpbmRlbnQgb3V0ZGVudCB8IGJ1bGxpc3QgfCBhbGlnbmxlZnQgYWxpZ25jZW50ZXIgYWxpZ25yaWdodCB8IGNvZGUgfCBpbWFnZScsXHJcblx0XHRcdFx0XHRmb250c2l6ZV9mb3JtYXRzOiBcIjhweCAxMHB4IDEycHggMTRweCAxOHB4IDI0cHggMzZweFwiLFxyXG5cdFx0XHRcdFx0aGVpZ2h0OiB0aGlzLmJvZHlIZWlnaHQsXHJcblx0XHRcdFx0XHRjb252ZXJ0X3VybHM6IGZhbHNlLFxyXG5cdFx0XHRcdFx0c2V0dXA6IChlZCkgPT4ge1xyXG5cdFx0XHRcdFx0XHRlZC5vbignaW5pdCcsIChhcmdzKSA9PiB7XHJcblxyXG5cdFx0XHRcdFx0XHRcdGVkLnNldENvbnRlbnQoKHRoaXMuZW1haWxlck1vZGVsKSA/ICh0aGlzLmVtYWlsZXJNb2RlbC5ib2R5IHx8ICcnKSA6ICcnKTtcclxuXHRcdFx0XHRcdFx0XHR0aGlzLnRpbnlNQ0VJbml0aWFsaXplZCA9IHRydWU7XHJcblx0XHRcdFx0XHRcdFx0dGhpcy5zbGlja0Z1bmN0aW9uTG9ja1NlcnZpY2UucmVsZWFzZShcIlNMSUNLX0VNQUlMRVJfSU5JVF9USU5ZX01DRVwiKTtcclxuXHRcdFx0XHRcdFx0XHRyZXNvbHZlKCk7XHJcblx0XHRcdFx0XHRcdH0pO1xyXG5cdFx0XHRcdFx0fVxyXG5cdFx0XHRcdH0pXHJcblx0XHRcdH1cclxuXHRcdH0pO1xyXG5cdH1cclxuXHJcblx0YXN5bmMgcmVtb3ZlVGlueU1DRSgpIHtcclxuXHRcdGlmICh0aGlzLnRpbnlNQ0VVdWlkKSB7XHJcblx0XHRcdGNvbnN0IHRpbnlNQ0UgPSB0aW55bWNlLmdldChgZW1haWxlcl90aW55bWNlXyR7dGhpcy50aW55TUNFVXVpZH1gKTtcclxuXHJcblx0XHRcdGlmICh0aW55TUNFKVxyXG5cdFx0XHRcdHRpbnlNQ0UucmVtb3ZlKCk7XHJcblxyXG5cdFx0XHRjb25zdCB0aW55TUNFQ29udGFpbmVyID0gPEhUTUxEaXZFbGVtZW50PnRoaXMudGlueU1DRUNvbnRhaW5lclJlZi5uYXRpdmVFbGVtZW50O1xyXG5cdFx0XHR0aW55TUNFQ29udGFpbmVyLmlubmVySFRNTCA9IFwiXCI7XHJcblxyXG5cdFx0XHR0aGlzLnRpbnlNQ0VJbml0aWFsaXplZCA9IGZhbHNlO1xyXG5cclxuXHRcdFx0dGhpcy50aW55TUNFVXVpZCA9IG51bGw7XHJcblx0XHR9XHJcblx0fVxyXG59XHJcbiIsIjxkaXYgKm5nSWY9XCJlbWFpbGVyTW9kZWxcIiBpZD1cInNsaWNrLWVtYWlsZXJfe3t1dWlkfX1cIiBjbGFzcz1cInNsaWNrLWVtYWlsZXJcIj5cclxuXHQ8ZGl2IGNsYXNzPVwicm93IGZvcm0tZ3JvdXBcIj5cclxuXHRcdDxkaXYgY2xhc3M9XCJjb2wtMTJcIj5cclxuXHRcdFx0PGRpdiAqbmdJZj1cImlzU3VibWl0dGVkID09PSB0cnVlICYmIGVtYWlsZXJNb2RlbC50b0VtYWlsQWRkcmVzc2VzLmxlbmd0aCA9PT0gMFwiIGNsYXNzPVwiZXJyb3JXcmFwcGVyIHNob3dJY29uc1wiPjxkaXYgY2xhc3M9XCJ0ZXh0LWRhbmdlclwiPkVtYWlsIG11c3QgaGF2ZSBhdCBsZWFzdCBvbmUgZW1haWwgYWRkcmVzczwvZGl2PjwvZGl2PlxyXG5cdFx0XHQ8ZGl2IGNsYXNzPVwiaW5wdXQtZ3JvdXBcIj5cclxuXHRcdFx0XHQ8ZGl2IGNsYXNzPVwiaW5wdXQtZ3JvdXAtcHJlcGVuZFwiPlxyXG5cdFx0XHRcdFx0PHNwYW4gY2xhc3M9XCJpbnB1dC1ncm91cC10ZXh0XCI+PHNwYW4gY2xhc3M9XCJmYXMgZmEtc2VhcmNoXCI+PC9zcGFuPjwvc3Bhbj5cclxuXHRcdFx0XHQ8L2Rpdj5cclxuXHRcdFx0XHQ8aW5wdXQgY2xhc3M9XCJmb3JtLWNvbnRyb2xcIiAjZW1haWxBZGRyZXNzQXV0b2NvbXBsZXRlIFsobmdNb2RlbCldPVwidG9FbWFpbEFkZHJlc3NcIiBwbGFjZWhvbGRlcj1cIkVtYWlsIFNlYXJjaC4uLlwiIGF1dG9mb2N1cyAvPlxyXG5cdFx0XHQ8L2Rpdj5cclxuXHRcdFx0PHNsaWNrLWF1dG8tY29tcGxldGUgW2lucHV0UmVmXT1cImVtYWlsQWRkcmVzc0F1dG9jb21wbGV0ZVwiIHRleHRGaWVsZD1cImVtYWlsRGlzcGxheVwiIFtpdGVtc109XCJ0b0VtYWlsQWRkcmVzc0xpc3RcIiAob25SZWZyZXNoKT1cInRvQWRkcmVzc1NlYXJjaCgkZXZlbnQpXCIgKG9uU2VsZWN0KT1cIm9uU2VsZWN0RW1haWxBZGRyZXNzKCRldmVudClcIiAob25GcmVlZm9ybVRleHRTZWxlY3QpPVwib25GcmVlZm9ybVRleHRTZWxlY3QoJGV2ZW50KVwiPlxyXG5cdFx0XHRcdDxuZy10ZW1wbGF0ZSBsZXQtZW1haWxEaXNwbGF5IFtzbGlja0F1dG9Db21wbGV0ZUxpc3RJdGVtVGVtcGxhdGVdPlxyXG5cdFx0XHRcdFx0PGRpdiBzdHlsZT0nbGluZS1oZWlnaHQ6IDEuMWVtOyBmb250LXNpemU6IDEycHg7Jz5cclxuXHRcdFx0XHRcdFx0e3tlbWFpbERpc3BsYXkuZGlzcGxheU5hbWV9fSBbe3tlbWFpbERpc3BsYXkuZW1haWxBZGRyZXNzfX1dXHJcblx0XHRcdFx0XHQ8L2Rpdj5cclxuXHRcdFx0XHQ8L25nLXRlbXBsYXRlPlxyXG5cdFx0XHQ8L3NsaWNrLWF1dG8tY29tcGxldGU+XHJcblxyXG5cdFx0XHQ8bGFiZWw+VG86Jm5ic3A7PC9sYWJlbD5cclxuXHRcdFx0PGRpdiAqbmdGb3I9XCJsZXQgZW1haWxBZGRyZXNzIG9mIGVtYWlsZXJNb2RlbC50b0VtYWlsQWRkcmVzc2VzOyBsZXQgaWR4ID0gaW5kZXg7XCIgY2xhc3M9XCJzbGljay1lbWFpbGVyX2VtYWlsLWFkZHJlc3MgYWxlcnQgYWxlcnQtc2Vjb25kYXJ5XCI+e3tlbWFpbEFkZHJlc3MuZGlzcGxheU5hbWV9fSBbe3tlbWFpbEFkZHJlc3MuZW1haWxBZGRyZXNzfX1dPGkgKGNsaWNrKT1cImRlbGV0ZUVtYWlsQWRkcmVzcyhpZHgpXCIgY2xhc3M9XCJmYXMgZmEtdGltZXMtY2lyY2xlIGJnLXdoaXRlIHRleHQtZGFuZ2VyIG1sLTFcIj48L2k+PC9kaXY+XHJcblx0XHQ8L2Rpdj5cclxuXHQ8L2Rpdj5cclxuXHQ8ZGl2IGNsYXNzPVwicm93IGZvcm0tZ3JvdXBcIj5cclxuXHRcdDxkaXYgY2xhc3M9XCJjb2wtMTJcIj5cclxuXHRcdFx0PGxhYmVsPlN1YmplY3Q6PC9sYWJlbD5cclxuXHRcdFx0PGlucHV0IHR5cGU9XCJ0ZXh0XCIgY2xhc3M9XCJmb3JtLWNvbnRyb2xcIiBbKG5nTW9kZWwpXT1cImVtYWlsZXJNb2RlbC5zdWJqZWN0XCIgLz5cclxuXHRcdDwvZGl2PlxyXG5cdDwvZGl2PlxyXG5cclxuXHQ8ZGl2IGNsYXNzPVwicm93IGZvcm0tZ3JvdXBcIj5cclxuXHRcdDxkaXYgY2xhc3M9XCJjb2wtMTJcIj5cclxuXHRcdFx0PGxhYmVsPkJvZHk6PC9sYWJlbD5cclxuXHRcdFx0PGRpdiAjdGlueU1DRUNvbnRhaW5lclJlZj48L2Rpdj5cclxuXHRcdDwvZGl2PlxyXG5cdDwvZGl2PlxyXG5cclxuXHQ8ZGl2IGNsYXNzPVwicm93IGZvcm0tZ3JvdXBcIj5cclxuXHRcdDxkaXYgY2xhc3M9XCJjb2wtMTJcIj5cclxuXHRcdFx0PGxhYmVsPkF0dGFjaG1lbnRzOjwvbGFiZWw+XHJcblx0XHRcdDxzbGljay1maWxlLWRyb3AgKGZpbGVzQ2hhbmdlZCk9XCJvbkF0dGFjaG1lbnRzQ2hhbmdlZCgkZXZlbnQpXCI+PC9zbGljay1maWxlLWRyb3A+XHJcblx0XHRcdDxzbGljay1maWxlLWxpc3QgWyhmaWxlcyldPVwiZW1haWxlck1vZGVsLmF0dGFjaG1lbnRzXCI+PC9zbGljay1maWxlLWxpc3Q+XHJcblx0XHQ8L2Rpdj5cclxuXHQ8L2Rpdj5cclxuXHJcblx0PGRpdiAqbmdJZj1cInNob3dCdXR0b25zXCIgY2xhc3M9XCJyb3cgZm9ybS1ncm91cFwiPlxyXG5cdFx0PGRpdiBjbGFzcz1cImNvbC0xMiB0ZXh0LWNlbnRlclwiPlxyXG5cdFx0XHQ8YnV0dG9uIHR5cGU9XCJidXR0b25cIiBzdHlsZT1cIndpZHRoOiAxMjBweDsgbWFyZ2luLXJpZ2h0OiAxMHB4O1wiIFtzbGljay1idXR0b24tc3Bpbm5lcl09XCJzcGlubmVyU3RhdHVzXCIgY2xhc3M9XCJidG4gYnRuLW91dGxpbmUtcHJpbWFyeVwiIChjbGljayk9XCJvblNlbmRFbWFpbCgpXCI+PGkgY2xhc3M9XCJmYXIgZmEtZW52ZWxvcGVcIj48L2k+Jm5ic3A7U2VuZDwvYnV0dG9uPlxyXG5cdFx0XHQ8YnV0dG9uIHR5cGU9XCJidXR0b25cIiBzdHlsZT1cIndpZHRoOiAxMjBweDtcIiBjbGFzcz1cImJ0biBidG4tb3V0bGluZS1kYW5nZXJcIiAoY2xpY2spPVwib25DYW5jZWxFbWFpbCgpXCI+PGkgY2xhc3M9XCJmYXIgZmEtdGltZXNcIj48L2k+Jm5ic3A7Q2FuY2VsPC9idXR0b24+XHJcblx0XHQ8L2Rpdj5cclxuXHQ8L2Rpdj5cclxuPC9kaXY+XHJcbiJdfQ==
@@ -0,0 +1,29 @@
1
+ import { CommonModule } from '@angular/common';
2
+ import { NgModule } from "@angular/core";
3
+ import { FormsModule } from "@angular/forms";
4
+ import { SlickDialogModule } from "../slick-dialog/slick-dialog.module";
5
+ import { SlickAutoCompleteModule } from "../slick-auto-complete/slick-auto-complete.module";
6
+ import { SlickButtonSpinnerModule } from "../slick-button-spinner/slick-button-spinner.module";
7
+ import { SlickFileDropModule } from "../slick-file-drop/slick-file-drop.module";
8
+ import { SlickFileListModule } from "../slick-file-list/slick-file-list.module";
9
+ import { SlickEmailerComponent } from "./slick-emailer.component";
10
+ import { SlickEmailerDialogComponent } from "./slick-emailer-dialog.component";
11
+ import * as i0 from "@angular/core";
12
+ export class SlickEmailerModule {
13
+ }
14
+ /** @nocollapse */ SlickEmailerModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.3", ngImport: i0, type: SlickEmailerModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
15
+ /** @nocollapse */ SlickEmailerModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "13.3.3", ngImport: i0, type: SlickEmailerModule, declarations: [SlickEmailerComponent, SlickEmailerDialogComponent], imports: [CommonModule, FormsModule, SlickDialogModule, SlickAutoCompleteModule, SlickButtonSpinnerModule, SlickFileDropModule, SlickFileListModule], exports: [CommonModule, FormsModule, SlickEmailerComponent, SlickEmailerDialogComponent] });
16
+ /** @nocollapse */ SlickEmailerModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "13.3.3", ngImport: i0, type: SlickEmailerModule, imports: [[CommonModule, FormsModule, SlickDialogModule, SlickAutoCompleteModule, SlickButtonSpinnerModule, SlickFileDropModule, SlickFileListModule], CommonModule, FormsModule] });
17
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.3", ngImport: i0, type: SlickEmailerModule, decorators: [{
18
+ type: NgModule,
19
+ args: [{
20
+ imports: [CommonModule, FormsModule, SlickDialogModule, SlickAutoCompleteModule, SlickButtonSpinnerModule, SlickFileDropModule, SlickFileListModule],
21
+ declarations: [SlickEmailerComponent, SlickEmailerDialogComponent],
22
+ exports: [CommonModule, FormsModule, SlickEmailerComponent, SlickEmailerDialogComponent]
23
+ }]
24
+ }] });
25
+ export { SlickEmailerComponent };
26
+ export { SlickEmailerDialogComponent };
27
+ export { SlickEmailerModel } from "./slick-emailer.model";
28
+ export { SlickEmailerAddressModel } from "./slick-emailer-address.model";
29
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2xpY2stZW1haWxlci5tb2R1bGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wcm9qZWN0cy9jb21wb25lbnRzL3NyYy9zbGljay1lbWFpbGVyL3NsaWNrLWVtYWlsZXIubW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvQyxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3pDLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUM3QyxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxxQ0FBcUMsQ0FBQztBQUN4RSxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSxtREFBbUQsQ0FBQztBQUM1RixPQUFPLEVBQUUsd0JBQXdCLEVBQUUsTUFBTSxxREFBcUQsQ0FBQztBQUMvRixPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSwyQ0FBMkMsQ0FBQztBQUNoRixPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSwyQ0FBMkMsQ0FBQztBQUNoRixPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUNsRSxPQUFPLEVBQUUsMkJBQTJCLEVBQUUsTUFBTSxrQ0FBa0MsQ0FBQzs7QUFPL0UsTUFBTSxPQUFPLGtCQUFrQjs7a0lBQWxCLGtCQUFrQjttSUFBbEIsa0JBQWtCLGlCQUhmLHFCQUFxQixFQUFFLDJCQUEyQixhQUR2RCxZQUFZLEVBQUUsV0FBVyxFQUFFLGlCQUFpQixFQUFFLHVCQUF1QixFQUFFLHdCQUF3QixFQUFFLG1CQUFtQixFQUFFLG1CQUFtQixhQUV6SSxZQUFZLEVBQUUsV0FBVyxFQUFFLHFCQUFxQixFQUFFLDJCQUEyQjttSUFFM0Usa0JBQWtCLFlBSnJCLENBQUMsWUFBWSxFQUFFLFdBQVcsRUFBRSxpQkFBaUIsRUFBRSx1QkFBdUIsRUFBRSx3QkFBd0IsRUFBRSxtQkFBbUIsRUFBRSxtQkFBbUIsQ0FBQyxFQUUxSSxZQUFZLEVBQUUsV0FBVzsyRkFFdkIsa0JBQWtCO2tCQUw5QixRQUFRO21CQUFDO29CQUNULE9BQU8sRUFBRSxDQUFDLFlBQVksRUFBRSxXQUFXLEVBQUUsaUJBQWlCLEVBQUUsdUJBQXVCLEVBQUUsd0JBQXdCLEVBQUUsbUJBQW1CLEVBQUUsbUJBQW1CLENBQUM7b0JBQ3BKLFlBQVksRUFBRSxDQUFDLHFCQUFxQixFQUFFLDJCQUEyQixDQUFDO29CQUNsRSxPQUFPLEVBQUUsQ0FBQyxZQUFZLEVBQUUsV0FBVyxFQUFFLHFCQUFxQixFQUFFLDJCQUEyQixDQUFDO2lCQUN4Rjs7QUFFRCxPQUFPLEVBQUUscUJBQXFCLEVBQUUsQ0FBQTtBQUNoQyxPQUFPLEVBQUUsMkJBQTJCLEVBQUUsQ0FBQTtBQUN0QyxPQUFPLEVBQXNCLGlCQUFpQixFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFDOUUsT0FBTyxFQUE2Qix3QkFBd0IsRUFBRSxNQUFNLCtCQUErQixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcclxuaW1wb3J0IHsgTmdNb2R1bGUgfSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiO1xyXG5pbXBvcnQgeyBGb3Jtc01vZHVsZSB9IGZyb20gXCJAYW5ndWxhci9mb3Jtc1wiO1xyXG5pbXBvcnQgeyBTbGlja0RpYWxvZ01vZHVsZSB9IGZyb20gXCIuLi9zbGljay1kaWFsb2cvc2xpY2stZGlhbG9nLm1vZHVsZVwiO1xyXG5pbXBvcnQgeyBTbGlja0F1dG9Db21wbGV0ZU1vZHVsZSB9IGZyb20gXCIuLi9zbGljay1hdXRvLWNvbXBsZXRlL3NsaWNrLWF1dG8tY29tcGxldGUubW9kdWxlXCI7XHJcbmltcG9ydCB7IFNsaWNrQnV0dG9uU3Bpbm5lck1vZHVsZSB9IGZyb20gXCIuLi9zbGljay1idXR0b24tc3Bpbm5lci9zbGljay1idXR0b24tc3Bpbm5lci5tb2R1bGVcIjtcclxuaW1wb3J0IHsgU2xpY2tGaWxlRHJvcE1vZHVsZSB9IGZyb20gXCIuLi9zbGljay1maWxlLWRyb3Avc2xpY2stZmlsZS1kcm9wLm1vZHVsZVwiO1xyXG5pbXBvcnQgeyBTbGlja0ZpbGVMaXN0TW9kdWxlIH0gZnJvbSBcIi4uL3NsaWNrLWZpbGUtbGlzdC9zbGljay1maWxlLWxpc3QubW9kdWxlXCI7XHJcbmltcG9ydCB7IFNsaWNrRW1haWxlckNvbXBvbmVudCB9IGZyb20gXCIuL3NsaWNrLWVtYWlsZXIuY29tcG9uZW50XCI7XHJcbmltcG9ydCB7IFNsaWNrRW1haWxlckRpYWxvZ0NvbXBvbmVudCB9IGZyb20gXCIuL3NsaWNrLWVtYWlsZXItZGlhbG9nLmNvbXBvbmVudFwiO1xyXG5cclxuQE5nTW9kdWxlKHtcclxuXHRpbXBvcnRzOiBbQ29tbW9uTW9kdWxlLCBGb3Jtc01vZHVsZSwgU2xpY2tEaWFsb2dNb2R1bGUsIFNsaWNrQXV0b0NvbXBsZXRlTW9kdWxlLCBTbGlja0J1dHRvblNwaW5uZXJNb2R1bGUsIFNsaWNrRmlsZURyb3BNb2R1bGUsIFNsaWNrRmlsZUxpc3RNb2R1bGVdLFxyXG5cdGRlY2xhcmF0aW9uczogW1NsaWNrRW1haWxlckNvbXBvbmVudCwgU2xpY2tFbWFpbGVyRGlhbG9nQ29tcG9uZW50XSxcclxuXHRleHBvcnRzOiBbQ29tbW9uTW9kdWxlLCBGb3Jtc01vZHVsZSwgU2xpY2tFbWFpbGVyQ29tcG9uZW50LCBTbGlja0VtYWlsZXJEaWFsb2dDb21wb25lbnRdXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBTbGlja0VtYWlsZXJNb2R1bGUgeyB9XHJcbmV4cG9ydCB7IFNsaWNrRW1haWxlckNvbXBvbmVudCB9XHJcbmV4cG9ydCB7IFNsaWNrRW1haWxlckRpYWxvZ0NvbXBvbmVudCB9XHJcbmV4cG9ydCB7IElTbGlja0VtYWlsZXJNb2RlbCwgU2xpY2tFbWFpbGVyTW9kZWwgfSBmcm9tIFwiLi9zbGljay1lbWFpbGVyLm1vZGVsXCI7XHJcbmV4cG9ydCB7IElTbGlja0VtYWlsZXJBZGRyZXNzTW9kZWwsIFNsaWNrRW1haWxlckFkZHJlc3NNb2RlbCB9IGZyb20gXCIuL3NsaWNrLWVtYWlsZXItYWRkcmVzcy5tb2RlbFwiO1xyXG4iXX0=