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,233 @@
1
+ import { Directive, Input, forwardRef } from "@angular/core";
2
+ import { NG_VALUE_ACCESSOR } from "@angular/forms";
3
+ import { SlickSleepService } from '../utils/slick-sleep.service';
4
+ import { SlickCurrencyMaskOptions } from "./slick-currency-mask-options.model";
5
+ import { SlickUtilsService } from '../utils/slick-utils.service';
6
+ import * as i0 from "@angular/core";
7
+ export class SlickCurrencyMaskDirective {
8
+ constructor(el) {
9
+ this.el = el;
10
+ this.hasFocus = false;
11
+ this.uuid = SlickUtilsService.newGuid();
12
+ this.options = new SlickCurrencyMaskOptions();
13
+ this.fnKeyDown = (e) => this.keyDown(e);
14
+ this.fnFocus = () => this.focus();
15
+ this.fnBlur = () => this.blur();
16
+ this.propagateChange = (_) => { };
17
+ this.el.nativeElement.style.textAlign = "right";
18
+ this.hasFocus = false;
19
+ this.el.nativeElement.addEventListener('keydown', this.fnKeyDown);
20
+ this.el.nativeElement.addEventListener('focus', this.fnFocus);
21
+ this.el.nativeElement.addEventListener('blur', this.fnBlur);
22
+ }
23
+ ngOnInit() {
24
+ // If the currency mask doesn't have any options, set default options
25
+ if (!this.slickCurrencyMask)
26
+ this.slickCurrencyMask = new SlickCurrencyMaskOptions();
27
+ this.options = new SlickCurrencyMaskOptions();
28
+ this.options.prefix = this.slickCurrencyMask.prefix || "$";
29
+ this.options.decimal = this.slickCurrencyMask.decimal || ".";
30
+ this.options.thousands = this.slickCurrencyMask.thousands || ",";
31
+ this.options.precision = (this.slickCurrencyMask.precision === null || this.slickCurrencyMask.precision === undefined) ? 2 : parseInt(this.slickCurrencyMask.precision.toString());
32
+ this.options.allowNegative = (this.slickCurrencyMask.allowNegative === null || this.slickCurrencyMask.allowNegative === undefined) ? true : (this.slickCurrencyMask.allowNegative.toString() === 'true');
33
+ this.options.updateOnBlurOnly = (this.slickCurrencyMask.updateOnBlurOnly === null || this.slickCurrencyMask.updateOnBlurOnly === undefined) ? true : (this.slickCurrencyMask.updateOnBlurOnly.toString() === 'true');
34
+ this.options.defaultToZero = (this.slickCurrencyMask.defaultToZero === null || this.slickCurrencyMask.defaultToZero === undefined) ? true : (this.slickCurrencyMask.defaultToZero.toString() === 'true');
35
+ }
36
+ ngOnDestroy() {
37
+ this.el.nativeElement.removeEventListener('keydown', this.fnKeyDown);
38
+ this.el.nativeElement.removeEventListener('focus', this.fnFocus);
39
+ this.el.nativeElement.removeEventListener('blur', this.fnBlur);
40
+ }
41
+ async keyDown(e) {
42
+ if (e.altKey || e.ctrlKey)
43
+ return;
44
+ let isValid = false;
45
+ if (e.key === this.options.decimal)
46
+ isValid = true;
47
+ if (e.code === 'ArrowLeft' || e.code === 'ArrowRight')
48
+ isValid = true;
49
+ // Backspace
50
+ if (e.keyCode === 8)
51
+ isValid = true;
52
+ // Tab
53
+ if (e.keyCode === 9)
54
+ isValid = true;
55
+ // Del
56
+ if (e.keyCode === 46)
57
+ isValid = true;
58
+ // F1-F12
59
+ if (e.keyCode >= 112 && e.keyCode <= 123)
60
+ isValid = true;
61
+ if (e.key >= '0' && e.key <= '9')
62
+ isValid = true;
63
+ if (e.key === '-' && this.options.allowNegative === true)
64
+ isValid = true;
65
+ if (e.keyCode === 46)
66
+ isValid = true;
67
+ if (!isValid) {
68
+ e.preventDefault();
69
+ return;
70
+ }
71
+ await SlickSleepService.sleep();
72
+ const usLocaleText = this.convertToUSLocale(this.el.nativeElement.value);
73
+ const dollarValue = this.parseDollarValue(usLocaleText);
74
+ if (this.options.updateOnBlurOnly === false)
75
+ this.propagateChange(dollarValue);
76
+ }
77
+ async focus() {
78
+ this.el.nativeElement.addEventListener('keydown', this.fnKeyDown);
79
+ this.el.nativeElement.addEventListener('blur', this.fnBlur);
80
+ this.hasFocus = true;
81
+ const usLocaleText = this.convertToUSLocale(this.el.nativeElement.value);
82
+ this.updateTextbox(usLocaleText);
83
+ this.el.nativeElement.select();
84
+ }
85
+ async blur() {
86
+ this.el.nativeElement.removeEventListener('keydown', this.fnKeyDown);
87
+ this.el.nativeElement.removeEventListener('blur', this.fnBlur);
88
+ this.hasFocus = false;
89
+ const usLocaleText = this.convertToUSLocale(this.el.nativeElement.value);
90
+ this.updateTextbox(usLocaleText);
91
+ const dollarValue = this.parseDollarValue(usLocaleText);
92
+ this.propagateChange(dollarValue);
93
+ }
94
+ // this is the initial value set to the component
95
+ writeValue(obj) {
96
+ if (obj === null || obj === undefined) {
97
+ if (this.options.defaultToZero === true) {
98
+ obj = 0;
99
+ this.propagateChange(0);
100
+ }
101
+ else {
102
+ this.el.nativeElement.value = null;
103
+ this.propagateChange(null);
104
+ return;
105
+ }
106
+ }
107
+ // If this is a locale where , is the decimal separator, convert it back to . for our purposes
108
+ const objStr = obj.toString().replace(",", ".");
109
+ const objNum = parseFloat(objStr);
110
+ // toLocaleString will add in the ,'s so make sure to remove them
111
+ const objStrLocale = objNum.toLocaleString("en-US").replace(",", "");
112
+ this.updateTextbox(objStrLocale);
113
+ }
114
+ // registers 'fn' that will be fired when changes are made
115
+ // this is how we emit the changes back to the form
116
+ registerOnChange(fn) {
117
+ this.propagateChange = fn;
118
+ }
119
+ // not used, used for touch input
120
+ registerOnTouched() { }
121
+ convertToUSLocale(text) {
122
+ while (text.indexOf(" ") >= 0)
123
+ text = text.replace(" ", "");
124
+ if (!text) {
125
+ if (this.options.defaultToZero === true)
126
+ text = "0.0";
127
+ else
128
+ return null;
129
+ }
130
+ if (text.indexOf(this.options.decimal) === 0)
131
+ text = `0${text}`;
132
+ const textParts = text.split(this.options.decimal).filter(x => x !== "");
133
+ if (textParts.length === 0)
134
+ textParts.push('0');
135
+ if (textParts.length === 1)
136
+ textParts.push('0');
137
+ // Only take the first 2. The rest are errors
138
+ if (textParts.length > 2)
139
+ textParts.slice(0, 1);
140
+ textParts[0] = textParts[0]
141
+ .replace(this.options.thousands, "")
142
+ .replace(this.options.prefix, "")
143
+ .replace(this.options.decimal, "");
144
+ return `${textParts[0]}.${textParts[1]}`;
145
+ }
146
+ parseDollarValue(text) {
147
+ if (!text)
148
+ return null;
149
+ while (text.indexOf(" ") >= 0)
150
+ text = text.replace(" ", "");
151
+ // Split the text into the dollar's part and the cents part
152
+ const textParts = text.split(".").filter(x => x !== "");
153
+ // Make sure we have a dollars and cents
154
+ if (textParts.length === 0)
155
+ textParts.push('0');
156
+ if (textParts.length === 1)
157
+ textParts.push('0');
158
+ // Only take the first 2. The rest are not allowed
159
+ if (textParts.length > 2)
160
+ textParts.slice(0, 1);
161
+ textParts[0] = textParts[0]
162
+ .replace(this.options.prefix, "")
163
+ .replace(",", "");
164
+ try {
165
+ return parseFloat(`${textParts[0]}.${textParts[1]}`);
166
+ }
167
+ catch {
168
+ return 0;
169
+ }
170
+ }
171
+ updateTextbox(strVal) {
172
+ if (!strVal) {
173
+ this.el.nativeElement.value = null;
174
+ return;
175
+ }
176
+ if (this.options.allowNegative === false)
177
+ strVal = strVal.replace("-", "");
178
+ // If there is a - sign, remove it temporarily
179
+ const negativePart = (strVal.indexOf("-") === 0) ? "-" : "";
180
+ strVal = strVal.replace("-", "");
181
+ const currencyParts = strVal.split(".").filter(x => x !== "");
182
+ // make sure there is a dollar amount
183
+ if (currencyParts.length === 0)
184
+ currencyParts.push("0");
185
+ // make sure there is a cents amount
186
+ if (currencyParts.length === 1)
187
+ currencyParts.push("0");
188
+ // Only take the first 2. The rest are errors
189
+ if (currencyParts.length > 2)
190
+ currencyParts.slice(0, 1);
191
+ let dollarPart = currencyParts[0];
192
+ dollarPart = dollarPart.replace(',', '').replace('.', '');
193
+ let centsPart = currencyParts[1];
194
+ if (centsPart.length > this.options.precision)
195
+ centsPart = centsPart.substr(0, this.options.precision);
196
+ while (centsPart.length < this.options.precision)
197
+ centsPart = centsPart + "0";
198
+ // reverse the dollar part so we can put commas every 3 chars
199
+ if (!this.hasFocus && dollarPart.length > 3) {
200
+ for (let i = dollarPart.length - 3; i > 0; i -= 3)
201
+ dollarPart = [dollarPart.slice(0, i), this.options.thousands, dollarPart.slice(i)].join('');
202
+ }
203
+ let textboxVal = `${negativePart}${dollarPart}${this.options.decimal}${centsPart}`;
204
+ if (!this.hasFocus)
205
+ textboxVal = `${this.options.prefix}${textboxVal}`;
206
+ this.el.nativeElement.value = textboxVal;
207
+ }
208
+ }
209
+ /** @nocollapse */ SlickCurrencyMaskDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.3", ngImport: i0, type: SlickCurrencyMaskDirective, deps: [{ token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Directive });
210
+ /** @nocollapse */ SlickCurrencyMaskDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "13.3.3", type: SlickCurrencyMaskDirective, selector: "[slick-currency-mask]", inputs: { slickCurrencyMask: ["slick-currency-mask", "slickCurrencyMask"] }, providers: [
211
+ {
212
+ provide: NG_VALUE_ACCESSOR,
213
+ useExisting: forwardRef((() => SlickCurrencyMaskDirective)),
214
+ multi: true,
215
+ }
216
+ ], ngImport: i0 });
217
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.3", ngImport: i0, type: SlickCurrencyMaskDirective, decorators: [{
218
+ type: Directive,
219
+ args: [{
220
+ selector: '[slick-currency-mask]',
221
+ providers: [
222
+ {
223
+ provide: NG_VALUE_ACCESSOR,
224
+ useExisting: forwardRef((() => SlickCurrencyMaskDirective)),
225
+ multi: true,
226
+ }
227
+ ]
228
+ }]
229
+ }], ctorParameters: function () { return [{ type: i0.ElementRef }]; }, propDecorators: { slickCurrencyMask: [{
230
+ type: Input,
231
+ args: ["slick-currency-mask"]
232
+ }] } });
233
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2xpY2stY3VycmVuY3ktbWFzay5kaXJlY3RpdmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wcm9qZWN0cy9jb21wb25lbnRzL3NyYy9zbGljay1jdXJyZW5jeS1tYXNrL3NsaWNrLWN1cnJlbmN5LW1hc2suZGlyZWN0aXZlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFjLFVBQVUsRUFBb0MsTUFBTSxlQUFlLENBQUM7QUFDM0csT0FBTyxFQUF3QixpQkFBaUIsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ3pFLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLDhCQUE4QixDQUFDO0FBQ2pFLE9BQU8sRUFBRSx3QkFBd0IsRUFBRSxNQUFNLHFDQUFxQyxDQUFDO0FBQy9FLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLDhCQUE4QixDQUFDOztBQVdqRSxNQUFNLE9BQU8sMEJBQTBCO0lBWXRDLFlBQW9CLEVBQWM7UUFBZCxPQUFFLEdBQUYsRUFBRSxDQUFZO1FBVmxDLGFBQVEsR0FBWSxLQUFLLENBQUM7UUFFMUIsU0FBSSxHQUFXLGlCQUFpQixDQUFDLE9BQU8sRUFBRSxDQUFDO1FBRTNDLFlBQU8sR0FBNkIsSUFBSSx3QkFBd0IsRUFBRSxDQUFDO1FBRTNELGNBQVMsR0FBRyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUNuQyxZQUFPLEdBQUcsR0FBRyxFQUFFLENBQUMsSUFBSSxDQUFDLEtBQUssRUFBRSxDQUFDO1FBQzdCLFdBQU0sR0FBRyxHQUFHLEVBQUUsQ0FBQyxJQUFJLENBQUMsSUFBSSxFQUFFLENBQUM7UUF5R25DLG9CQUFlLEdBQUcsQ0FBQyxDQUFTLEVBQUUsRUFBRSxHQUFFLENBQUMsQ0FBQztRQXRHaEIsSUFBSSxDQUFDLEVBQUUsQ0FBQyxhQUFjLENBQUMsS0FBSyxDQUFD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LENBQUMsRUFBRSxDQUFDLENBQUMsRUFBRSxJQUFJLENBQUMsT0FBTyxDQUFDLFNBQVMsRUFBRSxVQUFVLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDO1NBQzdGO1FBRUQsSUFBSSxVQUFVLEdBQUcsR0FBRyxZQUFZLEdBQUcsVUFBVSxHQUFHLElBQUksQ0FBQyxPQUFPLENBQUMsT0FBTyxHQUFHLFNBQVMsRUFBRSxDQUFDO1FBQ25GLElBQUksQ0FBQyxJQUFJLENBQUMsUUFBUTtZQUNqQixVQUFVLEdBQUcsR0FBRyxJQUFJLENBQUMsT0FBTyxDQUFDLE1BQU0sR0FBRyxVQUFVLEVBQUUsQ0FBQztRQUVqQyxJQUFJLENBQUMsRUFBRSxDQUFDLGFBQWMsQ0FBQyxLQUFLLEdBQUcsVUFBVSxDQUFDO0lBQzlELENBQUM7OzBJQXBRVywwQkFBMEI7OEhBQTFCLDBCQUEwQiw2SEFQM0I7UUFDVjtZQUNDLE9BQU8sRUFBRSxpQkFBaUI7WUFDMUIsV0FBVyxFQUFFLFVBQVUsRUFBQyxHQUFHLEVBQUUsQ0FBQywwQkFBMEIsRUFBQztZQUN6RCxLQUFLLEVBQUUsSUFBSTtTQUNYO0tBQUM7MkZBRVMsMEJBQTBCO2tCQVR0QyxTQUFTO21CQUFDO29CQUNWLFFBQVEsRUFBRSx1QkFBdUI7b0JBQ2pDLFNBQVMsRUFBRTt3QkFDVjs0QkFDQyxPQUFPLEVBQUUsaUJBQWlCOzRCQUMxQixXQUFXLEVBQUUsVUFBVSxFQUFDLEdBQUcsRUFBRSwyQkFBMkIsRUFBQzs0QkFDekQsS0FBSyxFQUFFLElBQUk7eUJBQ1g7cUJBQUM7aUJBQ0g7aUdBRThCLGlCQUFpQjtzQkFBOUMsS0FBSzt1QkFBQyxxQkFBcUIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBEaXJlY3RpdmUsIElucHV0LCBFbGVtZW50UmVmLCBmb3J3YXJkUmVmLCBPbkNoYW5nZXMsIFNpbXBsZUNoYW5nZXMsIE9uSW5pdCB9IGZyb20gXCJAYW5ndWxhci9jb3JlXCI7XHJcbmltcG9ydCB7IENvbnRyb2xWYWx1ZUFjY2Vzc29yLCBOR19WQUxVRV9BQ0NFU1NPUiB9IGZyb20gXCJAYW5ndWxhci9mb3Jtc1wiO1xyXG5pbXBvcnQgeyBTbGlja1NsZWVwU2VydmljZSB9IGZyb20gJy4uL3V0aWxzL3NsaWNrLXNsZWVwLnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBTbGlja0N1cnJlbmN5TWFza09wdGlvbnMgfSBmcm9tIFwiLi9zbGljay1jdXJyZW5jeS1tYXNrLW9wdGlvbnMubW9kZWxcIjtcclxuaW1wb3J0IHsgU2xpY2tVdGlsc1NlcnZpY2UgfSBmcm9tICcuLi91dGlscy9zbGljay11dGlscy5zZXJ2aWNlJztcclxuXHJcbkBEaXJlY3RpdmUoe1xyXG5cdHNlbGVjdG9yOiAnW3NsaWNrLWN1cnJlbmN5LW1hc2tdJyxcclxuXHRwcm92aWRlcnM6IFtcclxuXHRcdHtcclxuXHRcdFx0cHJvdmlkZTogTkdfVkFMVUVfQUNDRVNTT1IsXHJcblx0XHRcdHVzZUV4aXN0aW5nOiBmb3J3YXJkUmVmKCgpID0+IFNsaWNrQ3VycmVuY3lNYXNrRGlyZWN0aXZlKSxcclxuXHRcdFx0bXVsdGk6IHRydWUsXHJcblx0XHR9XVxyXG59KVxyXG5leHBvcnQgY2xhc3MgU2xpY2tDdXJyZW5jeU1hc2tEaXJlY3RpdmUgaW1wbGVtZW50cyBPbkluaXQsIENvbnRyb2xWYWx1ZUFjY2Vzc29yIHtcclxuXHRASW5wdXQoXCJzbGljay1jdXJyZW5jeS1tYXNrXCIpIHNsaWNrQ3VycmVuY3lNYXNrOiBTbGlja0N1cnJlbmN5TWFza09wdGlvbnM7XHJcblx0aGFzRm9jdXM6IGJvb2xlYW4gPSBmYWxzZTtcclxuXHJcblx0dXVpZDogc3RyaW5nID0gU2xpY2tVdGlsc1NlcnZpY2UubmV3R3VpZCgpO1xyXG5cclxuXHRvcHRpb25zOiBTbGlja0N1cnJlbmN5TWFza09wdGlvbnMgPSBuZXcgU2xpY2tDdXJyZW5jeU1hc2tPcHRpb25zKCk7XHJcblxyXG5cdHByaXZhdGUgZm5LZXlEb3duID0gKGUpID0+IHRoaXMua2V5RG93bihlKTtcclxuXHRwcml2YXRlIGZuRm9jdXMgPSAoKSA9PiB0aGlzLmZvY3VzKCk7XHJcblx0cHJpdmF0ZSBmbkJsdXIgPSAoKSA9PiB0aGlzLmJsdXIoKTtcclxuXHJcblx0Y29uc3RydWN0b3IocHJpdmF0ZSBlbDogRWxlbWVudFJlZikge1xyXG5cdFx0KDxIVE1MSW5wdXRFbGVtZW50PnRoaXMuZWwubmF0aXZlRWxlbWVudCkuc3R5bGUudGV4dEFsaWduID0gXCJyaWdodFwiO1xyXG5cdFx0dGhpcy5oYXNGb2N1cyA9IGZhbHNlO1xyXG5cclxuXHRcdHRoaXMuZWwubmF0aXZlRWxlbWVudC5hZGRFdmVudExpc3RlbmVyKCdrZXlkb3duJywgdGhpcy5mbktleURvd24pO1xyXG5cdFx0dGhpcy5lbC5uYXRpdmVFbGVtZW50LmFkZEV2ZW50TGlzdGVuZXIoJ2ZvY3VzJywgdGhpcy5mbkZvY3VzKTtcclxuXHRcdHRoaXMuZWwubmF0aXZlRWxlbWVudC5hZGRFdmVudExpc3RlbmVyKCdibHVyJywgdGhpcy5mbkJsdXIpO1xyXG5cdH1cclxuXHJcblx0bmdPbkluaXQoKSB7XHJcblx0XHQvLyBJZiB0aGUgY3VycmVuY3kgbWFzayBkb2Vzbid0IGhhdmUgYW55IG9wdGlvbnMsIHNldCBkZWZhdWx0IG9wdGlvbnNcclxuXHRcdGlmICghdGhpcy5zbGlja0N1cnJlbmN5TWFzaykgXHJcblx0XHRcdHRoaXMuc2xpY2tDdXJyZW5jeU1hc2sgPSBuZXcgU2xpY2tDdXJyZW5jeU1hc2tPcHRpb25zKCk7XHJcblxyXG5cdFx0dGhpcy5vcHRpb25zID0gbmV3IFNsaWNrQ3VycmVuY3lNYXNrT3B0aW9ucygpO1xyXG5cdFx0dGhpcy5vcHRpb25zLnByZWZpeCA9IHRoaXMuc2xpY2tDdXJyZW5jeU1hc2sucHJlZml4IHx8IFwiJFwiO1xyXG5cdFx0dGhpcy5vcHRpb25zLmRlY2ltYWwgPSB0aGlzLnNsaWNrQ3VycmVuY3lNYXNrLmRlY2ltYWwgfHwgXCIuXCI7XHJcblx0XHR0aGlzLm9wdGlvbnMudGhvdXNhbmRzID0gdGhpcy5zbGlja0N1cnJlbmN5TWFzay50aG91c2FuZHMgfHwgXCIsXCI7XHJcblx0XHR0aGlzLm9wdGlvbnMucHJlY2lzaW9uID0gKHRoaXMuc2xpY2tDdXJyZW5jeU1hc2sucHJlY2lzaW9uID09PSBudWxsIHx8IHRoaXMuc2xpY2tDdXJyZW5jeU1hc2sucHJlY2lzaW9uID09PSB1bmRlZmluZWQpID8gMiA6IHBhcnNlSW50KHRoaXMuc2xpY2tDdXJyZW5jeU1hc2sucHJlY2lzaW9uLnRvU3RyaW5nKCkpO1xyXG5cdFx0dGhpcy5vcHRpb25zLmFsbG93TmVnYXRpdmUgPSAodGhpcy5zbGlja0N1cnJlbmN5TWFzay5hbGxvd05lZ2F0aXZlID09PSBudWxsIHx8IHRoaXMuc2xpY2tDdXJyZW5jeU1hc2suYWxsb3dOZWdhdGl2ZSA9PT0gdW5kZWZpbmVkKSA/IHRydWUgOiAodGhpcy5zbGlja0N1cnJlbmN5TWFzay5hbGxvd05lZ2F0aXZlLnRvU3RyaW5nKCkgPT09ICd0cnVlJyk7XHJcblx0XHR0aGlzLm9wdGlvbnMudXBkYXRlT25CbHVyT25seSA9ICh0aGlzLnNsaWNrQ3VycmVuY3lNYXNrLnVwZGF0ZU9uQmx1ck9ubHkgPT09IG51bGwgfHwgdGhpcy5zbGlja0N1cnJlbmN5TWFzay51cGRhdGVPbkJsdXJPbmx5ID09PSB1bmRlZmluZWQpID8gdHJ1ZSA6ICh0aGlzLnNsaWNrQ3VycmVuY3lNYXNrLnVwZGF0ZU9uQmx1ck9ubHkudG9TdHJpbmcoKSA9PT0gJ3RydWUnKTtcclxuXHRcdHRoaXMub3B0aW9ucy5kZWZhdWx0VG9aZXJvID0gKHRoaXMuc2xpY2tDdXJyZW5jeU1hc2suZGVmYXVsdFRvWmVybyA9PT0gbnVsbCB8fCB0aGlzLnNsaWNrQ3VycmVuY3lNYXNrLmRlZmF1bHRUb1plcm8gPT09IHVuZGVmaW5lZCkgPyB0cnVlIDogKHRoaXMuc2xpY2tDdXJyZW5jeU1hc2suZGVmYXVsdFRvWmVyby50b1N0cmluZygpID09PSAndHJ1ZScpO1xyXG5cdH1cclxuXHJcblx0bmdPbkRlc3Ryb3koKSB7XHJcblx0XHR0aGlzLmVsLm5hdGl2ZUVsZW1lbnQucmVtb3ZlRXZlbnRMaXN0ZW5lcigna2V5ZG93bicsIHRoaXMuZm5LZXlEb3duKTtcclxuXHRcdHRoaXMuZWwubmF0aXZlRWxlbWVudC5yZW1vdmVFdmVudExpc3RlbmVyKCdmb2N1cycsIHRoaXMuZm5Gb2N1cyk7XHJcblx0XHR0aGlzLmVsLm5hdGl2ZUVsZW1lbnQucmVtb3ZlRXZlbnRMaXN0ZW5lcignYmx1cicsIHRoaXMuZm5CbHVyKTtcclxuXHR9XHJcblxyXG5cdGFzeW5jIGtleURvd24oZTogS2V5Ym9hcmRFdmVudCkge1xyXG5cdFx0aWYgKGUuYWx0S2V5IHx8IGUuY3RybEtleSlcclxuXHRcdFx0cmV0dXJuO1xyXG5cclxuXHRcdGxldCBpc1ZhbGlkID0gZmFsc2U7XHJcblxyXG5cdFx0aWYgKGUua2V5ID09PSB0aGlzLm9wdGlvbnMuZGVjaW1hbClcclxuXHRcdFx0aXNWYWxpZCA9IHRydWU7XHJcblxyXG5cdFx0aWYgKGUuY29kZSA9PT0gJ0Fycm93TGVmdCcgfHwgZS5jb2RlID09PSAnQXJyb3dSaWdodCcpXHJcblx0XHRcdGlzVmFsaWQgPSB0cnVlO1xyXG5cclxuXHRcdC8vIEJhY2tzcGFjZVxyXG5cdFx0aWYgKGUua2V5Q29kZSA9PT0gOClcclxuXHRcdFx0aXNWYWxpZCA9IHRydWU7XHJcblxyXG5cdFx0Ly8gVGFiXHJcblx0XHRpZiAoZS5rZXlDb2RlID09PSA5KVxyXG5cdFx0XHRpc1ZhbGlkID0gdHJ1ZTtcclxuXHJcblx0XHQvLyBEZWxcclxuXHRcdGlmIChlLmtleUNvZGUgPT09IDQ2KVxyXG5cdFx0XHRpc1ZhbGlkID0gdHJ1ZTtcclxuXHJcblx0XHQvLyBGMS1GMTJcclxuXHRcdGlmIChlLmtleUNvZGUgPj0gMTEyICYmIGUua2V5Q29kZSA8PSAxMjMpXHJcblx0XHRcdGlzVmFsaWQgPSB0cnVlO1xyXG5cclxuXHRcdGlmIChlLmtleSA+PSAnMCcgJiYgZS5rZXkgPD0gJzknKVxyXG5cdFx0XHRpc1ZhbGlkID0gdHJ1ZTtcclxuXHJcblx0XHRpZiAoZS5rZXkgPT09ICctJyAmJiB0aGlzLm9wdGlvbnMuYWxsb3dOZWdhdGl2ZSA9PT0gdHJ1ZSlcclxuXHRcdFx0aXNWYWxpZCA9IHRydWU7XHJcblxyXG5cdFx0aWYgKGUua2V5Q29kZSA9PT0gNDYpXHJcblx0XHRcdGlzVmFsaWQgPSB0cnVlO1xyXG5cclxuXHRcdGlmICghaXNWYWxpZCkge1xyXG5cdFx0XHRlLnByZXZlbnREZWZhdWx0KCk7XHJcblx0XHRcdHJldHVybjtcclxuXHRcdH1cclxuXHJcblx0XHRhd2FpdCBTbGlja1NsZWVwU2VydmljZS5zbGVlcCgpO1x0XHRcclxuXHJcblx0XHRjb25zdCB1c0xvY2FsZVRleHQgPSB0aGlzLmNvbnZlcnRUb1VTTG9jYWxlKCg8SFRNTElucHV0RWxlbWVudD50aGlzLmVsLm5hdGl2ZUVsZW1lbnQpLnZhbHVlKTtcclxuXHJcblx0XHRjb25zdCBkb2xsYXJWYWx1ZSA9IHRoaXMucGFyc2VEb2xsYXJWYWx1ZSh1c0xvY2FsZVRleHQpO1xyXG5cdFx0aWYgKHRoaXMub3B0aW9ucy51cGRhdGVPbkJsdXJPbmx5ID09PSBmYWxzZSlcclxuXHRcdFx0dGhpcy5wcm9wYWdhdGVDaGFuZ2UoZG9sbGFyVmFsdWUpO1xyXG5cclxuXHR9XHJcblxyXG5cdGFzeW5jIGZvY3VzKCkge1xyXG5cdFx0dGhpcy5lbC5uYXRpdmVFbGVtZW50LmFkZEV2ZW50TGlzdGVuZXIoJ2tleWRvd24nLCB0aGlzLmZuS2V5RG93bik7XHJcblx0XHR0aGlzLmVsLm5hdGl2ZUVsZW1lbnQuYWRkRXZlbnRMaXN0ZW5lcignYmx1cicsIHRoaXMuZm5CbHVyKTtcclxuXHJcblx0XHR0aGlzLmhhc0ZvY3VzID0gdHJ1ZTtcclxuXHRcdGNvbnN0IHVzTG9jYWxlVGV4dCA9IHRoaXMuY29udmVydFRvVVNMb2NhbGUoKDxIVE1MSW5wdXRFbGVtZW50PnRoaXMuZWwubmF0aXZlRWxlbWVudCkudmFsdWUpO1xyXG5cdFx0dGhpcy51cGRhdGVUZXh0Ym94KHVzTG9jYWxlVGV4dCk7XHJcblx0XHQoPEhUTUxJbnB1dEVsZW1lbnQ+dGhpcy5lbC5uYXRpdmVFbGVtZW50KS5zZWxlY3QoKVxyXG5cdH1cclxuXHJcblx0YXN5bmMgYmx1cigpIHtcclxuXHRcdHRoaXMuZWwubmF0aXZlRWxlbWVudC5yZW1vdmVFdmVudExpc3RlbmVyKCdrZXlkb3duJywgdGhpcy5mbktleURvd24pO1xyXG5cdFx0dGhpcy5lbC5uYXRpdmVFbGVtZW50LnJlbW92ZUV2ZW50TGlzdGVuZXIoJ2JsdXInLCB0aGlzLmZuQmx1cik7XHJcblxyXG5cdFx0dGhpcy5oYXNGb2N1cyA9IGZhbHNlO1xyXG5cdFx0Y29uc3QgdXNMb2NhbGVUZXh0ID0gdGhpcy5jb252ZXJ0VG9VU0xvY2FsZSgoPEhUTUxJbnB1dEVsZW1lbnQ+dGhpcy5lbC5uYXRpdmVFbGVtZW50KS52YWx1ZSk7XHJcblx0XHR0aGlzLnVwZGF0ZVRleHRib3godXNMb2NhbGVUZXh0KTtcclxuXHRcdGNvbnN0IGRvbGxhclZhbHVlID0gdGhpcy5wYXJzZURvbGxhclZhbHVlKHVzTG9jYWxlVGV4dCk7XHJcblx0XHR0aGlzLnByb3BhZ2F0ZUNoYW5nZShkb2xsYXJWYWx1ZSk7XHJcblx0fVxyXG5cclxuXHRwcm9wYWdhdGVDaGFuZ2UgPSAoXzogbnVtYmVyKSA9PiB7fTtcclxuXHJcblx0Ly8gdGhpcyBpcyB0aGUgaW5pdGlhbCB2YWx1ZSBzZXQgdG8gdGhlIGNvbXBvbmVudFxyXG5cdHB1YmxpYyB3cml0ZVZhbHVlKG9iajogbnVtYmVyIHwgc3RyaW5nKSB7XHJcblx0XHRpZiAob2JqID09PSBudWxsIHx8IG9iaiA9PT0gdW5kZWZpbmVkKSB7XHJcblx0XHRcdGlmICh0aGlzLm9wdGlvbnMuZGVmYXVsdFRvWmVybyA9PT0gdHJ1ZSkge1xyXG5cdFx0XHRcdG9iaiA9IDA7XHJcblx0XHRcdFx0dGhpcy5wcm9wYWdhdGVDaGFuZ2UoMCk7XHJcblx0XHRcdH1cclxuXHRcdFx0ZWxzZSB7XHJcblx0XHRcdFx0KDxIVE1MSW5wdXRFbGVtZW50PnRoaXMuZWwubmF0aXZlRWxlbWVudCkudmFsdWUgPSBudWxsO1xyXG5cdFx0XHRcdHRoaXMucHJvcGFnYXRlQ2hhbmdlKG51bGwpO1xyXG5cdFx0XHRcdHJldHVybjtcclxuXHRcdFx0fVxyXG5cdFx0fVxyXG5cclxuXHRcdC8vIElmIHRoaXMgaXMgYSBsb2NhbGUgd2hlcmUgLCBpcyB0aGUgZGVjaW1hbCBzZXBhcmF0b3IsIGNvbnZlcnQgaXQgYmFjayB0byAuIGZvciBvdXIgcHVycG9zZXNcclxuXHRcdGNvbnN0IG9ialN0ciA9IG9iai50b1N0cmluZygpLnJlcGxhY2UoXCIsXCIsIFwiLlwiKTtcclxuXHRcdGNvbnN0IG9iak51bSA9IHBhcnNlRmxvYXQob2JqU3RyKTtcclxuXHRcdC8vIHRvTG9jYWxlU3RyaW5nIHdpbGwgYWRkIGluIHRoZSAsJ3Mgc28gbWFrZSBzdXJlIHRvIHJlbW92ZSB0aGVtXHJcblx0XHRjb25zdCBvYmpTdHJMb2NhbGUgPSBvYmpOdW0udG9Mb2NhbGVTdHJpbmcoXCJlbi1VU1wiKS5yZXBsYWNlKFwiLFwiLCBcIlwiKTtcclxuXHRcdHRoaXMudXBkYXRlVGV4dGJveChvYmpTdHJMb2NhbGUpO1xyXG5cdH1cclxuXHJcblx0Ly8gcmVnaXN0ZXJzICdmbicgdGhhdCB3aWxsIGJlIGZpcmVkIHdoZW4gY2hhbmdlcyBhcmUgbWFkZVxyXG5cdC8vIHRoaXMgaXMgaG93IHdlIGVtaXQgdGhlIGNoYW5nZXMgYmFjayB0byB0aGUgZm9ybVxyXG5cdHB1YmxpYyByZWdpc3Rlck9uQ2hhbmdlKGZuOiBhbnkpIHtcclxuXHRcdHRoaXMucHJvcGFnYXRlQ2hhbmdlID0gZm47XHJcblx0fVxyXG5cclxuXHQvLyBub3QgdXNlZCwgdXNlZCBmb3IgdG91Y2ggaW5wdXRcclxuXHRwdWJsaWMgcmVnaXN0ZXJPblRvdWNoZWQoKSB7IH1cclxuXHJcblx0cHJpdmF0ZSBjb252ZXJ0VG9VU0xvY2FsZSh0ZXh0OiBzdHJpbmcpOiBzdHJpbmcge1xyXG5cdFx0d2hpbGUgKHRleHQuaW5kZXhPZihcIiBcIikgPj0gMClcclxuXHRcdFx0dGV4dCA9IHRleHQucmVwbGFjZShcIiBcIiwgXCJcIik7XHJcblxyXG5cdFx0aWYgKCF0ZXh0KSB7XHJcblx0XHRcdGlmICh0aGlzLm9wdGlvbnMuZGVmYXVsdFRvWmVybyA9PT0gdHJ1ZSkgXHJcblx0XHRcdFx0dGV4dCA9IFwiMC4wXCI7XHRcdFx0XHJcblx0XHRcdGVsc2UgXHJcblx0XHRcdFx0cmV0dXJuIG51bGw7XHRcdFx0XHJcblx0XHR9XHJcblxyXG5cdFx0aWYgKHRleHQuaW5kZXhPZih0aGlzLm9wdGlvbnMuZGVjaW1hbCkgPT09IDApXHJcblx0XHRcdHRleHQgPSBgMCR7dGV4dH1gO1xyXG5cclxuXHRcdGNvbnN0IHRleHRQYXJ0cyA9IHRleHQuc3BsaXQodGhpcy5vcHRpb25zLmRlY2ltYWwpLmZpbHRlcih4ID0+IHggIT09IFwiXCIpO1xyXG5cclxuXHRcdGlmICh0ZXh0UGFydHMubGVuZ3RoID09PSAwKVxyXG5cdFx0XHR0ZXh0UGFydHMucHVzaCgnMCcpO1xyXG5cclxuXHRcdGlmICh0ZXh0UGFydHMubGVuZ3RoID09PSAxKVxyXG5cdFx0XHR0ZXh0UGFydHMucHVzaCgnMCcpO1xyXG5cclxuXHRcdC8vIE9ubHkgdGFrZSB0aGUgZmlyc3QgMi4gIFRoZSByZXN0IGFyZSBlcnJvcnNcclxuXHRcdGlmICh0ZXh0UGFydHMubGVuZ3RoID4gMilcclxuXHRcdFx0dGV4dFBhcnRzLnNsaWNlKDAsIDEpO1xyXG5cclxuXHRcdHRleHRQYXJ0c1swXSA9IHRleHRQYXJ0c1swXVxyXG5cdFx0XHQucmVwbGFjZSh0aGlzLm9wdGlvbnMudGhvdXNhbmRzLCBcIlwiKVxyXG5cdFx0XHQucmVwbGFjZSh0aGlzLm9wdGlvbnMucHJlZml4LCBcIlwiKVxyXG5cdFx0XHQucmVwbGFjZSh0aGlzLm9wdGlvbnMuZGVjaW1hbCwgXCJcIik7XHJcblxyXG5cdFx0cmV0dXJuIGAke3RleHRQYXJ0c1swXX0uJHt0ZXh0UGFydHNbMV19YDtcclxuXHR9XHJcblxyXG5cdHByaXZhdGUgcGFyc2VEb2xsYXJWYWx1ZSh0ZXh0OiBzdHJpbmcpOiBudW1iZXIge1xyXG5cdFx0aWYgKCF0ZXh0KSBcclxuXHRcdFx0cmV0dXJuIG51bGw7XHJcblx0XHRcclxuXHRcdHdoaWxlICh0ZXh0LmluZGV4T2YoXCIgXCIpID49IDApXHJcblx0XHRcdHRleHQgPSB0ZXh0LnJlcGxhY2UoXCIgXCIsIFwiXCIpO1xyXG5cclxuXHRcdC8vIFNwbGl0IHRoZSB0ZXh0IGludG8gdGhlIGRvbGxhcidzIHBhcnQgYW5kIHRoZSBjZW50cyBwYXJ0XHJcblx0XHRjb25zdCB0ZXh0UGFydHMgPSB0ZXh0LnNwbGl0KFwiLlwiKS5maWx0ZXIoeCA9PiB4ICE9PSBcIlwiKTtcclxuXHRcdC8vIE1ha2Ugc3VyZSB3ZSBoYXZlIGEgZG9sbGFycyBhbmQgY2VudHNcclxuXHRcdGlmICh0ZXh0UGFydHMubGVuZ3RoID09PSAwKVxyXG5cdFx0XHR0ZXh0UGFydHMucHVzaCgnMCcpO1xyXG5cclxuXHRcdGlmICh0ZXh0UGFydHMubGVuZ3RoID09PSAxKVxyXG5cdFx0XHR0ZXh0UGFydHMucHVzaCgnMCcpO1xyXG5cclxuXHRcdC8vIE9ubHkgdGFrZSB0aGUgZmlyc3QgMi4gIFRoZSByZXN0IGFyZSBub3QgYWxsb3dlZFxyXG5cdFx0aWYgKHRleHRQYXJ0cy5sZW5ndGggPiAyKVxyXG5cdFx0XHR0ZXh0UGFydHMuc2xpY2UoMCwgMSk7XHJcblxyXG5cdFx0dGV4dFBhcnRzWzBdID0gdGV4dFBhcnRzWzBdXHJcblx0XHRcdC5yZXBsYWNlKHRoaXMub3B0aW9ucy5wcmVmaXgsIFwiXCIpXHJcblx0XHRcdC5yZXBsYWNlKFwiLFwiLCBcIlwiKTtcclxuXHJcblx0XHR0cnkge1xyXG5cdFx0XHRyZXR1cm4gcGFyc2VGbG9hdChgJHt0ZXh0UGFydHNbMF19LiR7dGV4dFBhcnRzWzFdfWApO1xyXG5cdFx0fVxyXG5cdFx0Y2F0Y2gge1xyXG5cdFx0XHRyZXR1cm4gMDtcclxuXHRcdH1cclxuXHR9XHJcblxyXG5cdHByaXZhdGUgdXBkYXRlVGV4dGJveChzdHJWYWw6IHN0cmluZykge1xyXG5cdFx0aWYgKCFzdHJWYWwpIHtcclxuXHRcdFx0KDxIVE1MSW5wdXRFbGVtZW50PnRoaXMuZWwubmF0aXZlRWxlbWVudCkudmFsdWUgPSBudWxsO1xyXG5cdFx0XHRyZXR1cm47XHJcblx0XHR9XHJcblxyXG5cdFx0aWYgKHRoaXMub3B0aW9ucy5hbGxvd05lZ2F0aXZlID09PSBmYWxzZSlcclxuXHRcdFx0c3RyVmFsID0gc3RyVmFsLnJlcGxhY2UoXCItXCIsIFwiXCIpO1xyXG5cclxuXHRcdC8vIElmIHRoZXJlIGlzIGEgLSBzaWduLCByZW1vdmUgaXQgdGVtcG9yYXJpbHlcclxuXHRcdGNvbnN0IG5lZ2F0aXZlUGFydCA9IChzdHJWYWwuaW5kZXhPZihcIi1cIikgPT09IDApID8gXCItXCIgOiBcIlwiO1xyXG5cdFx0c3RyVmFsID0gc3RyVmFsLnJlcGxhY2UoXCItXCIsIFwiXCIpO1xyXG5cclxuXHRcdGNvbnN0IGN1cnJlbmN5UGFydHMgPSBzdHJWYWwuc3BsaXQoXCIuXCIpLmZpbHRlcih4ID0+IHggIT09IFwiXCIpO1xyXG5cdFx0Ly8gbWFrZSBzdXJlIHRoZXJlIGlzIGEgZG9sbGFyIGFtb3VudFxyXG5cdFx0aWYgKGN1cnJlbmN5UGFydHMubGVuZ3RoID09PSAwKSBcclxuXHRcdFx0Y3VycmVuY3lQYXJ0cy5wdXNoKFwiMFwiKTtcclxuXHJcblx0XHQvLyBtYWtlIHN1cmUgdGhlcmUgaXMgYSBjZW50cyBhbW91bnRcclxuXHRcdGlmIChjdXJyZW5jeVBhcnRzLmxlbmd0aCA9PT0gMSlcclxuXHRcdFx0Y3VycmVuY3lQYXJ0cy5wdXNoKFwiMFwiKTtcclxuXHJcblx0XHQvLyBPbmx5IHRha2UgdGhlIGZpcnN0IDIuICBUaGUgcmVzdCBhcmUgZXJyb3JzXHJcblx0XHRpZiAoY3VycmVuY3lQYXJ0cy5sZW5ndGggPiAyKVxyXG5cdFx0XHRjdXJyZW5jeVBhcnRzLnNsaWNlKDAsIDEpO1xyXG5cclxuXHRcdGxldCBkb2xsYXJQYXJ0ID0gPHN0cmluZz5jdXJyZW5jeVBhcnRzWzBdO1xyXG5cdFx0ZG9sbGFyUGFydCA9IGRvbGxhclBhcnQucmVwbGFjZSgnLCcsICcnKS5yZXBsYWNlKCcuJywgJycpO1xyXG5cdFx0bGV0IGNlbnRzUGFydCA9IGN1cnJlbmN5UGFydHNbMV07XHJcblx0XHRpZiAoY2VudHNQYXJ0Lmxlbmd0aCA+IHRoaXMub3B0aW9ucy5wcmVjaXNpb24pXHJcblx0XHRcdGNlbnRzUGFydCA9IGNlbnRzUGFydC5zdWJzdHIoMCwgdGhpcy5vcHRpb25zLnByZWNpc2lvbik7XHJcblxyXG5cdFx0d2hpbGUgKGNlbnRzUGFydC5sZW5ndGggPCB0aGlzLm9wdGlvbnMucHJlY2lzaW9uKVxyXG5cdFx0XHRjZW50c1BhcnQgPSBjZW50c1BhcnQgKyBcIjBcIjtcclxuXHJcblx0XHQvLyByZXZlcnNlIHRoZSBkb2xsYXIgcGFydCBzbyB3ZSBjYW4gcHV0IGNvbW1hcyBldmVyeSAzIGNoYXJzXHJcblx0XHRpZiAoIXRoaXMuaGFzRm9jdXMgJiYgZG9sbGFyUGFydC5sZW5ndGggPiAzKSB7XHJcblx0XHRcdGZvciAobGV0IGkgPSBkb2xsYXJQYXJ0Lmxlbmd0aCAtIDM7IGkgPiAwOyBpIC09IDMpXHJcblx0XHRcdFx0ZG9sbGFyUGFydCA9IFtkb2xsYXJQYXJ0LnNsaWNlKDAsIGkpLCB0aGlzLm9wdGlvbnMudGhvdXNhbmRzLCBkb2xsYXJQYXJ0LnNsaWNlKGkpXS5qb2luKCcnKTtcclxuXHRcdH1cclxuXHJcblx0XHRsZXQgdGV4dGJveFZhbCA9IGAke25lZ2F0aXZlUGFydH0ke2RvbGxhclBhcnR9JHt0aGlzLm9wdGlvbnMuZGVjaW1hbH0ke2NlbnRzUGFydH1gO1xyXG5cdFx0aWYgKCF0aGlzLmhhc0ZvY3VzKVxyXG5cdFx0XHR0ZXh0Ym94VmFsID0gYCR7dGhpcy5vcHRpb25zLnByZWZpeH0ke3RleHRib3hWYWx9YDtcclxuXHJcblx0XHQoPEhUTUxJbnB1dEVsZW1lbnQ+dGhpcy5lbC5uYXRpdmVFbGVtZW50KS52YWx1ZSA9IHRleHRib3hWYWw7XHJcblx0fVxyXG59XHJcbiJdfQ==
@@ -0,0 +1,19 @@
1
+ import { NgModule } from "@angular/core";
2
+ import { SlickCurrencyMaskDirective } from "./slick-currency-mask.directive";
3
+ import * as i0 from "@angular/core";
4
+ export class SlickCurrencyMaskModule {
5
+ }
6
+ /** @nocollapse */ SlickCurrencyMaskModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.3", ngImport: i0, type: SlickCurrencyMaskModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
7
+ /** @nocollapse */ SlickCurrencyMaskModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "13.3.3", ngImport: i0, type: SlickCurrencyMaskModule, declarations: [SlickCurrencyMaskDirective], exports: [SlickCurrencyMaskDirective] });
8
+ /** @nocollapse */ SlickCurrencyMaskModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "13.3.3", ngImport: i0, type: SlickCurrencyMaskModule, imports: [[]] });
9
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.3", ngImport: i0, type: SlickCurrencyMaskModule, decorators: [{
10
+ type: NgModule,
11
+ args: [{
12
+ imports: [],
13
+ declarations: [SlickCurrencyMaskDirective],
14
+ exports: [SlickCurrencyMaskDirective]
15
+ }]
16
+ }] });
17
+ export { SlickCurrencyMaskDirective };
18
+ export { SlickCurrencyMaskOptions } from "./slick-currency-mask-options.model";
19
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2xpY2stY3VycmVuY3ktbWFzay5tb2R1bGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wcm9qZWN0cy9jb21wb25lbnRzL3NyYy9zbGljay1jdXJyZW5jeS1tYXNrL3NsaWNrLWN1cnJlbmN5LW1hc2subW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDekMsT0FBTyxFQUFFLDBCQUEwQixFQUFFLE1BQU0saUNBQWlDLENBQUM7O0FBTzdFLE1BQU0sT0FBTyx1QkFBdUI7O3VJQUF2Qix1QkFBdUI7d0lBQXZCLHVCQUF1QixpQkFIcEIsMEJBQTBCLGFBQy9CLDBCQUEwQjt3SUFFeEIsdUJBQXVCLFlBSjFCLEVBQUU7MkZBSUMsdUJBQXVCO2tCQUxuQyxRQUFRO21CQUFDO29CQUNULE9BQU8sRUFBRSxFQUFFO29CQUNYLFlBQVksRUFBRSxDQUFDLDBCQUEwQixDQUFDO29CQUMxQyxPQUFPLEVBQUUsQ0FBQywwQkFBMEIsQ0FBQztpQkFDckM7O0FBRUQsT0FBTyxFQUFFLDBCQUEwQixFQUFFLENBQUE7QUFDckMsT0FBTyxFQUFFLHdCQUF3QixFQUFFLE1BQU0scUNBQXFDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBOZ01vZHVsZSB9IGZyb20gXCJAYW5ndWxhci9jb3JlXCI7XHJcbmltcG9ydCB7IFNsaWNrQ3VycmVuY3lNYXNrRGlyZWN0aXZlIH0gZnJvbSBcIi4vc2xpY2stY3VycmVuY3ktbWFzay5kaXJlY3RpdmVcIjtcclxuXHJcbkBOZ01vZHVsZSh7XHJcblx0aW1wb3J0czogW10sXHJcblx0ZGVjbGFyYXRpb25zOiBbU2xpY2tDdXJyZW5jeU1hc2tEaXJlY3RpdmVdLFxyXG5cdGV4cG9ydHM6IFtTbGlja0N1cnJlbmN5TWFza0RpcmVjdGl2ZV1cclxufSlcclxuZXhwb3J0IGNsYXNzIFNsaWNrQ3VycmVuY3lNYXNrTW9kdWxlIHsgfVxyXG5leHBvcnQgeyBTbGlja0N1cnJlbmN5TWFza0RpcmVjdGl2ZSB9XHJcbmV4cG9ydCB7IFNsaWNrQ3VycmVuY3lNYXNrT3B0aW9ucyB9IGZyb20gXCIuL3NsaWNrLWN1cnJlbmN5LW1hc2stb3B0aW9ucy5tb2RlbFwiO1xyXG4iXX0=