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,278 @@
1
+ import { Component, ViewChild, Input, HostListener, forwardRef, EventEmitter, Output } from "@angular/core";
2
+ import { NG_VALUE_ACCESSOR } from "@angular/forms";
3
+ import { SlickSleepService } from "../utils/slick-sleep.service";
4
+ import { SlickUtilsService } from "../utils/slick-utils.service";
5
+ import * as moment from 'moment';
6
+ import * as i0 from "@angular/core";
7
+ import * as i1 from "../slick-calendar/slick-calendar.component";
8
+ import * as i2 from "@angular/common";
9
+ import * as i3 from "@angular/forms";
10
+ export class SlickDatePickerComponent {
11
+ constructor(el) {
12
+ this.el = el;
13
+ this.format = "M/D/YYYY";
14
+ this.condensed = false;
15
+ this.mobile = false;
16
+ this.onDateChange = new EventEmitter();
17
+ this.fnDocumentClick = (e) => this.documentClick(e);
18
+ this.fnDocumentMouseDown = (e) => this.documentMouseDown(e);
19
+ this.uuid = SlickUtilsService.newGuid();
20
+ this.ignoreBlur = false;
21
+ this.showDatePicker = false;
22
+ this.datePickerVisiblity = "hidden";
23
+ this.datePickerOpacity = '0';
24
+ this.selectedDate = null;
25
+ this.isInitial = true;
26
+ this.propagateChange = (_) => { };
27
+ }
28
+ // Make sure they only press valid keys
29
+ async onKeydown(event) {
30
+ if (event.altKey || event.ctrlKey || event.metaKey === true)
31
+ return;
32
+ this.hideCalendar();
33
+ // Allow: backspace, delete, tab, escape, enter
34
+ if ((event.keyCode === 46 || event.keyCode === 8) ||
35
+ (event.keyCode === 9 || event.keyCode === 27 || event.keyCode === 13) ||
36
+ // Allow F1-F12 keys
37
+ ((event.keyCode >= 112 && event.keyCode <= 123)) ||
38
+ // Allow: home, end, left, right, down, up
39
+ (event.keyCode >= 35 && event.keyCode <= 40)) {
40
+ // let it happen, don't do anything
41
+ return;
42
+ }
43
+ // Ensure that it is a number and stop the keypress
44
+ if ((event.shiftKey || event.altKey || event.key < '0' || event.key > '9') &&
45
+ event.key !== '/' && // Allow /
46
+ event.key !== '-') { // Allow -
47
+ event.preventDefault();
48
+ return;
49
+ }
50
+ }
51
+ // When we first focus, show the date picker
52
+ onFocus(event) {
53
+ this.showCalendar();
54
+ }
55
+ // When we blur, update the model
56
+ async onBlur(event, targetElement) {
57
+ // If the user clicked on the calendar, it will trigger a mouse down event before the blur event. Don't blur
58
+ // if they clicked on the calendar.
59
+ if (this.ignoreBlur === true) {
60
+ this.ignoreBlur = false;
61
+ return;
62
+ }
63
+ const textVal = this.el.nativeElement.value;
64
+ if (!textVal) {
65
+ this.doPropagate(null);
66
+ return;
67
+ }
68
+ if (moment(textVal, this.format).isValid()) {
69
+ var newDate = moment(textVal, this.format);
70
+ this.doPropagate(newDate.toDate());
71
+ this.el.nativeElement.value = newDate.format(this.format);
72
+ }
73
+ }
74
+ async ngOnInit() {
75
+ this.mobile = (this.mobile || 'false').toString().toLowerCase() === 'true' ? true : false;
76
+ this.condensed = (this.condensed || 'false').toString().toLowerCase() === 'true' ? true : false;
77
+ // Since this.mobile isn't necessarily defined yet, we need to sleep to allow the ngIf's to do their thing
78
+ await SlickSleepService.sleep();
79
+ // Remove this from the inline version and put it on the body so that it doesn't hide behind the bottom
80
+ // of a div when it expands beyond the bottom.
81
+ this.containerRef.nativeElement.remove(this.containerRef);
82
+ document.body.appendChild(this.containerRef.nativeElement);
83
+ await SlickSleepService.sleep();
84
+ this.inputGroupPrepend = SlickUtilsService.getClosestSibling(this.el.nativeElement, "input-group-prepend");
85
+ }
86
+ ngOnDestroy() {
87
+ document.removeEventListener("mousedown", this.fnDocumentMouseDown, true);
88
+ document.removeEventListener("click", this.fnDocumentClick, true);
89
+ // Is okay if this fails. It just means it was already removed.
90
+ try {
91
+ document.body.removeChild(this.containerRef.nativeElement);
92
+ }
93
+ catch { }
94
+ }
95
+ doPropagate(date) {
96
+ // We don't always go through the emit on the first call, so make sure this isn't the first change
97
+ this.isInitial = false;
98
+ if (!date) {
99
+ if (this.selectedDate) {
100
+ this.propagateChange(null);
101
+ this.emitDateChange(null);
102
+ }
103
+ this.selectedDate = null;
104
+ return;
105
+ }
106
+ else {
107
+ const newDate = moment(date);
108
+ // If the date is not valid, return
109
+ if (newDate.isValid() === false)
110
+ return;
111
+ // Don't propogate if the dates are the same
112
+ if (moment(this.selectedDate).isSame(newDate))
113
+ return;
114
+ // Setting this selectedDate will trigger the ngModelChange of the calendar. Ignore this.
115
+ this.selectedDate = moment(date).startOf("date").toDate();
116
+ this.propagateChange(this.selectedDate);
117
+ this.emitDateChange(this.selectedDate);
118
+ }
119
+ }
120
+ emitDateChange(date) {
121
+ if (this.onDateChange && !this.isInitial)
122
+ this.onDateChange.emit(date);
123
+ this.isInitial = false;
124
+ }
125
+ // this is the initial value set to the component
126
+ writeValue(obj) {
127
+ if (obj) {
128
+ if (moment(obj).isValid() === false) {
129
+ this.selectedDate = null;
130
+ this.el.nativeElement.value = "Invalid Date";
131
+ this.isInitial = false;
132
+ return;
133
+ }
134
+ let updatedDate;
135
+ if (obj instanceof Date || obj.indexOf("Z") >= 0)
136
+ updatedDate = moment(obj).startOf("date");
137
+ else
138
+ updatedDate = moment(obj, this.format).startOf("date");
139
+ if (moment(this.selectedDate || new Date()).isSame(updatedDate)) {
140
+ this.isInitial = false;
141
+ return;
142
+ }
143
+ this.selectedDate = updatedDate.toDate();
144
+ this.el.nativeElement.value = moment(this.selectedDate).format(this.format);
145
+ }
146
+ else {
147
+ if (!this.selectedDate && !obj) {
148
+ this.isInitial = false;
149
+ return;
150
+ }
151
+ this.el.nativeElement.value = '';
152
+ this.selectedDate = null;
153
+ }
154
+ }
155
+ // registers 'fn' that will be fired when changes are made
156
+ // this is how we emit the changes back to the form
157
+ registerOnChange(fn) {
158
+ this.propagateChange = fn;
159
+ }
160
+ // not used, used for touch input
161
+ registerOnTouched() { }
162
+ documentMouseDown(e) {
163
+ // This is the only way to capture that they clicked on the calendar before the blur event
164
+ // fires.
165
+ if (SlickUtilsService.checkParentClassExists(e.target, "slick-calendar") === true)
166
+ this.ignoreBlur = true;
167
+ }
168
+ documentClick(e) {
169
+ if (!e.target)
170
+ return;
171
+ let targetElement = e.target;
172
+ if (SlickUtilsService.checkParentClassExists(targetElement, "slick-calendar") === true)
173
+ return;
174
+ if (this.inputGroupPrepend && ((targetElement === this.inputGroupPrepend)
175
+ || (targetElement.parentElement && targetElement.parentElement === this.inputGroupPrepend))
176
+ || (targetElement.parentElement && targetElement.parentElement.parentElement && targetElement.parentElement.parentElement === this.inputGroupPrepend)) {
177
+ this.toggleCalendar();
178
+ return;
179
+ }
180
+ const clickedInside = this.el.nativeElement.contains(targetElement);
181
+ if (!clickedInside) {
182
+ this.hideCalendar();
183
+ }
184
+ }
185
+ onDateSelect(date) {
186
+ this.el.nativeElement.value = moment(date).format(this.format);
187
+ this.hideCalendar();
188
+ const newDate = moment(this.el.nativeElement.value, this.format).toDate();
189
+ this.doPropagate(newDate);
190
+ }
191
+ async showCalendar() {
192
+ document.removeEventListener("mousedown", this.fnDocumentMouseDown, true);
193
+ document.removeEventListener("click", this.fnDocumentClick, true);
194
+ this.showDatePicker = true;
195
+ if (!this.mobile) {
196
+ this.reposition();
197
+ }
198
+ this.datePickerOpacity = '1';
199
+ this.datePickerVisiblity = 'visible';
200
+ // Not sure why, but the click event is called immediately, which hides the calendar
201
+ setTimeout(() => {
202
+ document.addEventListener("mousedown", this.fnDocumentMouseDown, true);
203
+ document.addEventListener("click", this.fnDocumentClick, true);
204
+ }, 350);
205
+ }
206
+ hideCalendar() {
207
+ document.removeEventListener("mousedown", this.fnDocumentMouseDown, true);
208
+ document.removeEventListener("click", this.fnDocumentClick, true);
209
+ this.datePickerVisiblity = 'hidden';
210
+ this.datePickerOpacity = '0';
211
+ this.showDatePicker = false;
212
+ }
213
+ reposition() {
214
+ if (this.mobile === true)
215
+ return;
216
+ // Reposition the element to be where the textbox is, either below or above if there isn't enough room
217
+ const inputEl = this.el.nativeElement;
218
+ const rect = inputEl.getBoundingClientRect();
219
+ const textboxLeft = rect.left;
220
+ const textboxTop = rect.top;
221
+ const textboxHeight = inputEl.offsetHeight;
222
+ const containerHeight = this.containerRef.nativeElement.offsetHeight;
223
+ this.left = textboxLeft + "px";
224
+ this.top = (textboxTop + textboxHeight) + "px";
225
+ if (textboxTop + textboxHeight + containerHeight > window.innerHeight) {
226
+ this.top = (textboxTop - containerHeight - 2) + "px";
227
+ }
228
+ }
229
+ toggleCalendar() {
230
+ (this.showDatePicker === true) ? this.hideCalendar() : this.showCalendar();
231
+ }
232
+ }
233
+ /** @nocollapse */ SlickDatePickerComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.3", ngImport: i0, type: SlickDatePickerComponent, deps: [{ token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Component });
234
+ /** @nocollapse */ SlickDatePickerComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.3", type: SlickDatePickerComponent, selector: "[slick-date-picker]", inputs: { slickDatePicker: ["slick-date-picker", "slickDatePicker"], format: ["slick-date-picker-format", "format"], condensed: ["slick-date-picker-condensed", "condensed"], mobile: ["slick-date-picker-mobile", "mobile"] }, outputs: { onDateChange: "onDateChange" }, host: { listeners: { "keydown": "onKeydown($event)", "focus": "onFocus($event)", "blur": "onBlur($event,$event.target)" } }, providers: [
235
+ {
236
+ provide: NG_VALUE_ACCESSOR,
237
+ useExisting: forwardRef((() => SlickDatePickerComponent)),
238
+ multi: true
239
+ }
240
+ ], viewQueries: [{ propertyName: "containerRef", first: true, predicate: ["containerRef"], descendants: true }], ngImport: i0, template: "<ng-content></ng-content>\r\n<div *ngIf=\"mobile === false\" #containerRef class=\"slick-date-picker-container\" [style.left]=\"left\" [style.top]=\"top\" [style.visibility]=\"datePickerVisiblity\" [style.opacity]=\"datePickerOpacity\">\r\n\t<slick-calendar [ngModel]=\"selectedDate\" [condensed]=\"condensed\" (onDateSelect)=\"onDateSelect($event)\"></slick-calendar>\r\n</div>\r\n<div *ngIf=\"mobile === true\" #containerRef class=\"slick-date-picker-mobile-container\" [style.visibility]=\"datePickerVisiblity\" [style.opacity]=\"datePickerOpacity\">\r\n\t<div class=\"slick-date-picker-mobile-calendar\">\r\n\t\t<slick-calendar [ngModel]=\"selectedDate\" [condensed]=\"condensed\" (onDateSelect)=\"onDateSelect($event)\"></slick-calendar>\r\n\t</div>\r\n</div>\r\n", components: [{ type: i1.SlickCalendarComponent, selector: "slick-calendar", inputs: ["condensed", "monthsToShow", "inactiveDates", "inactiveWeekends", "showDaysNotInMonth", "multiSelect", "multiSelectDates"], outputs: ["multiSelectDatesChange", "onDateSelect", "onDateChange", "onMonthChange", "onMultiDateChange"] }], directives: [{ type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i3.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { type: i3.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }] });
241
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.3", ngImport: i0, type: SlickDatePickerComponent, decorators: [{
242
+ type: Component,
243
+ args: [{ selector: '[slick-date-picker]', providers: [
244
+ {
245
+ provide: NG_VALUE_ACCESSOR,
246
+ useExisting: forwardRef((() => SlickDatePickerComponent)),
247
+ multi: true
248
+ }
249
+ ], template: "<ng-content></ng-content>\r\n<div *ngIf=\"mobile === false\" #containerRef class=\"slick-date-picker-container\" [style.left]=\"left\" [style.top]=\"top\" [style.visibility]=\"datePickerVisiblity\" [style.opacity]=\"datePickerOpacity\">\r\n\t<slick-calendar [ngModel]=\"selectedDate\" [condensed]=\"condensed\" (onDateSelect)=\"onDateSelect($event)\"></slick-calendar>\r\n</div>\r\n<div *ngIf=\"mobile === true\" #containerRef class=\"slick-date-picker-mobile-container\" [style.visibility]=\"datePickerVisiblity\" [style.opacity]=\"datePickerOpacity\">\r\n\t<div class=\"slick-date-picker-mobile-calendar\">\r\n\t\t<slick-calendar [ngModel]=\"selectedDate\" [condensed]=\"condensed\" (onDateSelect)=\"onDateSelect($event)\"></slick-calendar>\r\n\t</div>\r\n</div>\r\n" }]
250
+ }], ctorParameters: function () { return [{ type: i0.ElementRef }]; }, propDecorators: { slickDatePicker: [{
251
+ type: Input,
252
+ args: ["slick-date-picker"]
253
+ }], format: [{
254
+ type: Input,
255
+ args: ["slick-date-picker-format"]
256
+ }], condensed: [{
257
+ type: Input,
258
+ args: ["slick-date-picker-condensed"]
259
+ }], mobile: [{
260
+ type: Input,
261
+ args: ["slick-date-picker-mobile"]
262
+ }], onDateChange: [{
263
+ type: Output,
264
+ args: ["onDateChange"]
265
+ }], containerRef: [{
266
+ type: ViewChild,
267
+ args: ["containerRef"]
268
+ }], onKeydown: [{
269
+ type: HostListener,
270
+ args: ['keydown', ['$event']]
271
+ }], onFocus: [{
272
+ type: HostListener,
273
+ args: ['focus', ['$event']]
274
+ }], onBlur: [{
275
+ type: HostListener,
276
+ args: ['blur', ['$event', '$event.target']]
277
+ }] } });
278
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2xpY2stZGF0ZS1waWNrZXIuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcHJvamVjdHMvY29tcG9uZW50cy9zcmMvc2xpY2stZGF0ZS1waWNrZXIvc2xpY2stZGF0ZS1waWNrZXIuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vcHJvamVjdHMvY29tcG9uZW50cy9zcmMvc2xpY2stZGF0ZS1waWNrZXIvc2xpY2stZGF0ZS1waWNrZXIuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBYyxTQUFTLEVBQUUsS0FBSyxFQUFFLFlBQVksRUFBRSxVQUFVLEVBQXFCLFlBQVksRUFBRSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDM0ksT0FBTyxFQUF3QixpQkFBaUIsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ3pFLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLDhCQUE4QixDQUFDO0FBQ2pFLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLDhCQUE4QixDQUFDO0FBQ2pFLE9BQU8sS0FBSyxNQUFNLE1BQU0sUUFBUSxDQUFDOzs7OztBQVlqQyxNQUFNLE9BQU8sd0JBQXdCO0lBaUZwQyxZQUFvQixFQUFjO1FBQWQsT0FBRSxHQUFGLEVBQUUsQ0FBWTtRQS9FQyxXQUFNLEdBQVcsVUFBVSxDQUFDO1FBQ3pCLGNBQVMsR0FBWSxLQUFLLENBQUM7UUFDOUIsV0FBTSxHQUFZLEtBQUssQ0FBQztRQUNuQyxpQkFBWSxHQUFHLElBQUksWUFBWSxFQUFRLENBQUM7UUFHaEUsb0JBQWUsR0FBRyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsSUFBSSxDQUFDLGFBQWEsQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUMvQyx3QkFBbUIsR0FBRyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsSUFBSSxDQUFDLGlCQUFpQixDQUFDLENBQUMsQ0FBQyxDQUFDO1FBNER2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QUFFLENBQUMsUUFBUSxDQUFDO2dCQTZCbkMsT0FBTztzQkFETixZQUFZO3VCQUFDLE9BQU8sRUFBRSxDQUFDLFFBQVEsQ0FBQztnQkFPM0IsTUFBTTtzQkFEWCxZQUFZO3VCQUFDLE1BQU0sRUFBRSxDQUFDLFFBQVEsRUFBRSxlQUFlLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIEVsZW1lbnRSZWYsIFZpZXdDaGlsZCwgSW5wdXQsIEhvc3RMaXN0ZW5lciwgZm9yd2FyZFJlZiwgT25Jbml0LCBPbkRlc3Ryb3ksIEV2ZW50RW1pdHRlciwgT3V0cHV0IH0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIjtcclxuaW1wb3J0IHsgQ29udHJvbFZhbHVlQWNjZXNzb3IsIE5HX1ZBTFVFX0FDQ0VTU09SIH0gZnJvbSBcIkBhbmd1bGFyL2Zvcm1zXCI7XHJcbmltcG9ydCB7IFNsaWNrU2xlZXBTZXJ2aWNlIH0gZnJvbSBcIi4uL3V0aWxzL3NsaWNrLXNsZWVwLnNlcnZpY2VcIjtcclxuaW1wb3J0IHsgU2xpY2tVdGlsc1NlcnZpY2UgfSBmcm9tIFwiLi4vdXRpbHMvc2xpY2stdXRpbHMuc2VydmljZVwiO1xyXG5pbXBvcnQgKiBhcyBtb21lbnQgZnJvbSAnbW9tZW50JztcclxuXHJcbkBDb21wb25lbnQoe1xyXG5cdHNlbGVjdG9yOiAnW3NsaWNrLWRhdGUtcGlja2VyXScsXHJcblx0cHJvdmlkZXJzOiBbXHJcblx0XHR7XHJcblx0XHRcdHByb3ZpZGU6IE5HX1ZBTFVFX0FDQ0VTU09SLFxyXG5cdFx0XHR1c2VFeGlzdGluZzogZm9yd2FyZFJlZigoKSA9PiBTbGlja0RhdGVQaWNrZXJDb21wb25lbnQpLFxyXG5cdFx0XHRtdWx0aTogdHJ1ZVxyXG5cdFx0fV0sXHJcblx0dGVtcGxhdGVVcmw6ICdzbGljay1kYXRlLXBpY2tlci5jb21wb25lbnQuaHRtbCdcclxufSlcclxuZXhwb3J0IGNsYXNzIFNsaWNrRGF0ZVBpY2tlckNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCwgT25EZXN0cm95LCBDb250cm9sVmFsdWVBY2Nlc3NvciB7XHJcblx0QElucHV0KFwic2xpY2stZGF0ZS1waWNrZXJcIikgc2xpY2tEYXRlUGlja2VyOiBTbGlja0RhdGVQaWNrZXJDb21wb25lbnQ7XHJcblx0QElucHV0KFwic2xpY2stZGF0ZS1waWNrZXItZm9ybWF0XCIpIGZvcm1hdDogc3RyaW5nID0gXCJNL0QvWVlZWVwiO1xyXG5cdEBJbnB1dChcInNsaWNrLWRhdGUtcGlja2VyLWNvbmRlbnNlZFwiKSBjb25kZW5zZWQ6IGJvb2xlYW4gPSBmYWxzZTtcclxuXHRASW5wdXQoXCJzbGljay1kYXRlLXBpY2tlci1tb2JpbGVcIikgbW9iaWxlOiBib29sZWFuID0gZmFsc2U7XHJcblx0QE91dHB1dChcIm9uRGF0ZUNoYW5nZVwiKSBvbkRhdGVDaGFuZ2UgPSBuZXcgRXZlbnRFbWl0dGVyPERhdGU+KCk7XHJcblx0QFZpZXdDaGlsZChcImNvbnRhaW5lclJlZlwiKSBjb250YWluZXJSZWY6IEVsZW1lbnRSZWY7XHJcblxyXG5cdGZuRG9jdW1lbnRDbGljayA9IChlKSA9PiB0aGlzLmRvY3VtZW50Q2xpY2soZSk7XHJcblx0Zm5Eb2N1bWVudE1vdXNlRG93biA9IChlKSA9PiB0aGlzLmRvY3VtZW50TW91c2VEb3duKGUpO1xyXG5cclxuXHQvLyBNYWtlIHN1cmUgdGhleSBvbmx5IHByZXNzIHZhbGlkIGtleXNcclxuXHRASG9zdExpc3RlbmVyKCdrZXlkb3duJywgWyckZXZlbnQnXSlcclxuXHRhc3luYyBvbktleWRvd24oZXZlbnQ6IEtleWJvYXJkRXZlbnQpIHtcdFx0XHJcblx0XHRpZiAoZXZlbnQuYWx0S2V5IHx8IGV2ZW50LmN0cmxLZXkgfHwgZXZlbnQubWV0YUtleSA9PT0gdHJ1ZSlcclxuXHRcdFx0cmV0dXJuO1xyXG5cclxuXHRcdHRoaXMuaGlkZUNhbGVuZGFyKCk7XHJcblxyXG5cdFx0Ly8gQWxsb3c6IGJhY2tzcGFjZSwgZGVsZXRlLCB0YWIsIGVzY2FwZSwgZW50ZXJcclxuXHRcdGlmICgoZXZlbnQua2V5Q29kZSA9PT0gNDYgfHwgZXZlbnQua2V5Q29kZSA9PT0gOCkgfHxcclxuXHRcdFx0KGV2ZW50LmtleUNvZGUgPT09IDkgfHwgZXZlbnQua2V5Q29kZSA9PT0gMjcgfHwgZXZlbnQua2V5Q29kZSA9PT0gMTMpIHx8XHJcblx0XHRcdC8vIEFsbG93IEYxLUYxMiBrZXlzXHJcblx0XHRcdCgoZXZlbnQua2V5Q29kZSA+PSAxMTIgJiYgZXZlbnQua2V5Q29kZSA8PSAxMjMpKSB8fFxyXG5cdFx0XHQvLyBBbGxvdzogaG9tZSwgZW5kLCBsZWZ0LCByaWdodCwgZG93biwgdXBcclxuXHRcdFx0KGV2ZW50LmtleUNvZGUgPj0gMzUgJiYgZXZlbnQua2V5Q29kZSA8PSA0MCkpIHtcclxuXHRcdFx0Ly8gbGV0IGl0IGhhcHBlbiwgZG9uJ3QgZG8gYW55dGhpbmdcclxuXHRcdFx0cmV0dXJuO1xyXG5cdFx0fVxyXG5cclxuXHRcdC8vIEVuc3VyZSB0aGF0IGl0IGlzIGEgbnVtYmVyIGFuZCBzdG9wIHRoZSBrZXlwcmVzc1xyXG5cdFx0aWYgKChldmVudC5zaGlmdEtleSB8fCBldmVudC5hbHRLZXkgfHwgZXZlbnQua2V5IDwgJzAnIHx8IGV2ZW50LmtleSA+ICc5JykgJiZcclxuXHRcdFx0ZXZlbnQua2V5ICE9PSAnLycgJiYgIC8vIEFsbG93IC9cclxuXHRcdFx0ZXZlbnQua2V5ICE9PSAnLScpIHsgIC8vIEFsbG93IC1cdFx0XHJcblx0XHRcdGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XHJcblx0XHRcdHJldHVybjtcclxuXHRcdH1cclxuXHR9XHJcblxyXG5cdC8vIFdoZW4gd2UgZmlyc3QgZm9jdXMsIHNob3cgdGhlIGRhdGUgcGlja2VyXHJcblx0QEhvc3RMaXN0ZW5lcignZm9jdXMnLCBbJyRldmVudCddKVxyXG5cdG9uRm9jdXMoZXZlbnQ6IEZvY3VzRXZlbnQpOiB2b2lkIHtcclxuXHRcdHRoaXMuc2hvd0NhbGVuZGFyKCk7XHJcblx0fVxyXG5cclxuXHQvLyBXaGVuIHdlIGJsdXIsIHVwZGF0ZSB0aGUgbW9kZWxcclxuXHRASG9zdExpc3RlbmVyKCdibHVyJywgWyckZXZlbnQnLCAnJGV2ZW50LnRhcmdldCddKVxyXG5cdGFzeW5jIG9uQmx1cihldmVudDogRm9jdXNFdmVudCwgdGFyZ2V0RWxlbWVudDogSFRNTEVsZW1lbnQpIHtcclxuXHRcdC8vIElmIHRoZSB1c2VyIGNsaWNrZWQgb24gdGhlIGNhbGVuZGFyLCBpdCB3aWxsIHRyaWdnZXIgYSBtb3VzZSBkb3duIGV2ZW50IGJlZm9yZSB0aGUgYmx1ciBldmVudC4gIERvbid0IGJsdXJcclxuXHRcdC8vIGlmIHRoZXkgY2xpY2tlZCBvbiB0aGUgY2FsZW5kYXIuXHJcblx0XHRpZiAodGhpcy5pZ25vcmVCbHVyID09PSB0cnVlKSB7XHJcblx0XHRcdHRoaXMuaWdub3JlQmx1ciA9IGZhbHNlO1xyXG5cdFx0XHRyZXR1cm47XHJcblx0XHR9XHJcblxyXG5cdFx0Y29uc3QgdGV4dFZhbCA9IHRoaXMuZWwubmF0aXZlRWxlbWVudC52YWx1ZTtcclxuXHJcblx0XHRpZiAoIXRleHRWYWwpIHtcclxuXHRcdFx0dGhpcy5kb1Byb3BhZ2F0ZShudWxsKTtcclxuXHRcdFx0cmV0dXJuO1xyXG5cdFx0fVxyXG5cclxuXHRcdGlmIChtb21lbnQodGV4dFZhbCwgdGhpcy5mb3JtYXQpLmlzVmFsaWQoKSkge1xyXG5cdFx0XHR2YXIgbmV3RGF0ZSA9IG1vbWVudCh0ZXh0VmFsLCB0aGlzLmZvcm1hdCk7XHJcblx0XHRcdHRoaXMuZG9Qcm9wYWdhdGUobmV3RGF0ZS50b0RhdGUoKSlcclxuXHRcdFx0dGhpcy5lbC5uYXRpdmVFbGVtZW50LnZhbHVlID0gbmV3RGF0ZS5mb3JtYXQodGhpcy5mb3JtYXQpO1xyXG5cdFx0fVxyXG5cdH1cclxuXHJcblx0dXVpZDogc3RyaW5nID0gU2xpY2tVdGlsc1NlcnZpY2UubmV3R3VpZCgpO1xyXG5cdGlnbm9yZUJsdXI6IGJvb2xlYW4gPSBmYWxzZTtcclxuXHRzaG93RGF0ZVBpY2tlcjogYm9vbGVhbiA9IGZhbHNlO1xyXG5cdGRhdGVQaWNrZXJWaXNpYmxpdHk6IHN0cmluZyA9IFwiaGlkZGVuXCI7XHJcblx0ZGF0ZVBpY2tlck9wYWNpdHk6IHN0cmluZyA9ICcwJztcclxuXHRsZWZ0OiBzdHJpbmc7XHJcblx0dG9wOiBzdHJpbmc7XHJcblx0c2VsZWN0ZWREYXRlOiBEYXRlID0gbnVsbDtcclxuXHRpc0luaXRpYWwgPSB0cnVlO1xyXG5cclxuXHRwcml2YXRlIGlucHV0R3JvdXBQcmVwZW5kOiBIVE1MRWxlbWVudDtcclxuXHJcblx0Y29uc3RydWN0b3IocHJpdmF0ZSBlbDogRWxlbWVudFJlZikge1xyXG5cdH1cclxuXHJcblx0YXN5bmMgbmdPbkluaXQoKSB7XHJcblxyXG5cdFx0dGhpcy5tb2JpbGUgPSAodGhpcy5tb2JpbGUgfHwgJ2ZhbHNlJykudG9TdHJpbmcoKS50b0xvd2VyQ2FzZSgpID09PSAndHJ1ZScgPyB0cnVlIDogZmFsc2U7XHJcblx0XHR0aGlzLmNvbmRlbnNlZCA9ICh0aGlzLmNvbmRlbnNlZCB8fCAnZmFsc2UnKS50b1N0cmluZygpLnRvTG93ZXJDYXNlKCkgPT09ICd0cnVlJyA/IHRydWUgOiBmYWxzZTtcclxuXHJcblx0XHQvLyBTaW5jZSB0aGlzLm1vYmlsZSBpc24ndCBuZWNlc3NhcmlseSBkZWZpbmVkIHlldCwgd2UgbmVlZCB0byBzbGVlcCB0byBhbGxvdyB0aGUgbmdJZidzIHRvIGRvIHRoZWlyIHRoaW5nXHJcblx0XHRhd2FpdCBTbGlja1NsZWVwU2VydmljZS5zbGVlcCgpO1xyXG5cdFx0Ly8gUmVtb3ZlIHRoaXMgZnJvbSB0aGUgaW5saW5lIHZlcnNpb24gYW5kIHB1dCBpdCBvbiB0aGUgYm9keSBzbyB0aGF0IGl0IGRvZXNuJ3QgaGlkZSBiZWhpbmQgdGhlIGJvdHRvbVxyXG5cdFx0Ly8gb2YgYSBkaXYgd2hlbiBpdCBleHBhbmRzIGJleW9uZCB0aGUgYm90dG9tLlxyXG5cdFx0dGhpcy5jb250YWluZXJSZWYubmF0aXZlRWxlbWVudC5yZW1vdmUodGhpcy5jb250YWluZXJSZWYpO1xyXG5cdFx0ZG9jdW1lbnQuYm9keS5hcHBlbmRDaGlsZCh0aGlzLmNvbnRhaW5lclJlZi5uYXRpdmVFbGVtZW50KTtcclxuXHJcblx0XHRhd2FpdCBTbGlja1NsZWVwU2VydmljZS5zbGVlcCgpO1xyXG5cdFx0dGhpcy5pbnB1dEdyb3VwUHJlcGVuZCA9IFNsaWNrVXRpbHNTZXJ2aWNlLmdldENsb3Nlc3RTaWJsaW5nKHRoaXMuZWwubmF0aXZlRWxlbWVudCwgXCJpbnB1dC1ncm91cC1wcmVwZW5kXCIpO1xyXG5cdH1cclxuXHJcblx0bmdPbkRlc3Ryb3koKSB7XHJcblx0XHRkb2N1bWVudC5yZW1vdmVFdmVudExpc3RlbmVyKFwibW91c2Vkb3duXCIsIHRoaXMuZm5Eb2N1bWVudE1vdXNlRG93biwgdHJ1ZSk7XHJcblx0XHRkb2N1bWVudC5yZW1vdmVFdmVudExpc3RlbmVyKFwiY2xpY2tcIiwgdGhpcy5mbkRvY3VtZW50Q2xpY2ssIHRydWUpO1xyXG5cdFx0Ly8gSXMgb2theSBpZiB0aGlzIGZhaWxzLiAgSXQganVzdCBtZWFucyBpdCB3YXMgYWxyZWFkeSByZW1vdmVkLlxyXG5cdFx0dHJ5IHtcclxuXHRcdFx0ZG9jdW1lbnQuYm9keS5yZW1vdmVDaGlsZCh0aGlzLmNvbnRhaW5lclJlZi5uYXRpdmVFbGVtZW50KTtcclxuXHRcdH1cclxuXHRcdGNhdGNoIHsgfVxyXG5cdH1cclxuXHJcblx0cHJvcGFnYXRlQ2hhbmdlID0gKF86IGFueSkgPT4geyB9O1xyXG5cclxuICAgIHByaXZhdGUgZG9Qcm9wYWdhdGUoZGF0ZTogRGF0ZSkge1xyXG4gICAgICAgIC8vIFdlIGRvbid0IGFsd2F5cyBnbyB0aHJvdWdoIHRoZSBlbWl0IG9uIHRoZSBmaXJzdCBjYWxsLCBzbyBtYWtlIHN1cmUgdGhpcyBpc24ndCB0aGUgZmlyc3QgY2hhbmdlXHJcbiAgICAgICAgdGhpcy5pc0luaXRpYWwgPSBmYWxzZTtcclxuXHJcblx0XHRpZiAoIWRhdGUpIHtcclxuXHRcdFx0aWYgKHRoaXMuc2VsZWN0ZWREYXRlKSB7XHJcblx0XHRcdFx0dGhpcy5wcm9wYWdhdGVDaGFuZ2UobnVsbCk7XHJcblx0XHRcdFx0dGhpcy5lbWl0RGF0ZUNoYW5nZShudWxsKTtcclxuXHRcdFx0fVxyXG5cclxuXHRcdFx0dGhpcy5zZWxlY3RlZERhdGUgPSBudWxsO1xyXG5cdFx0XHRyZXR1cm47XHJcblx0XHR9XHJcblx0XHRlbHNlIHtcclxuXHRcdFx0Y29uc3QgbmV3RGF0ZSA9IG1vbWVudChkYXRlKTtcclxuXHRcdFx0Ly8gSWYgdGhlIGRhdGUgaXMgbm90IHZhbGlkLCByZXR1cm5cclxuXHRcdFx0aWYgKG5ld0RhdGUuaXNWYWxpZCgpID09PSBmYWxzZSlcclxuXHRcdFx0XHRyZXR1cm47XHJcblxyXG5cdFx0XHQvLyBEb24ndCBwcm9wb2dhdGUgaWYgdGhlIGRhdGVzIGFyZSB0aGUgc2FtZVxyXG5cdFx0XHRpZiAobW9tZW50KHRoaXMuc2VsZWN0ZWREYXRlKS5pc1NhbWUobmV3RGF0ZSkpXHJcblx0XHRcdFx0cmV0dXJuO1xyXG5cclxuXHJcblx0XHRcdC8vIFNldHRpbmcgdGhpcyBzZWxlY3RlZERhdGUgd2lsbCB0cmlnZ2VyIHRoZSBuZ01vZGVsQ2hhbmdlIG9mIHRoZSBjYWxlbmRhci4gIElnbm9yZSB0aGlzLlxyXG5cdFx0XHR0aGlzLnNlbGVjdGVkRGF0ZSA9IG1vbWVudChkYXRlKS5zdGFydE9mKFwiZGF0ZVwiKS50b0RhdGUoKTtcclxuXHRcdFx0dGhpcy5wcm9wYWdhdGVDaGFuZ2UodGhpcy5zZWxlY3RlZERhdGUpO1xyXG5cdFx0XHR0aGlzLmVtaXREYXRlQ2hhbmdlKHRoaXMuc2VsZWN0ZWREYXRlKTtcclxuXHRcdH1cclxuXHR9XHJcblxyXG5cdHByaXZhdGUgZW1pdERhdGVDaGFuZ2UoZGF0ZTogRGF0ZSkge1xyXG5cdFx0aWYgKHRoaXMub25EYXRlQ2hhbmdlICYmICF0aGlzLmlzSW5pdGlhbClcclxuXHRcdFx0dGhpcy5vbkRhdGVDaGFuZ2UuZW1pdChkYXRlKTtcclxuXHJcblx0XHR0aGlzLmlzSW5pdGlhbCA9IGZhbHNlO1xyXG5cdH1cclxuXHJcblx0Ly8gdGhpcyBpcyB0aGUgaW5pdGlhbCB2YWx1ZSBzZXQgdG8gdGhlIGNvbXBvbmVudFxyXG5cdHB1YmxpYyB3cml0ZVZhbHVlKG9iajogYW55KSB7XHJcblx0XHRpZiAob2JqKSB7XHJcblx0XHRcdGlmIChtb21lbnQob2JqKS5pc1ZhbGlkKCkgPT09IGZhbHNlKSB7XHJcblx0XHRcdFx0dGhpcy5zZWxlY3RlZERhdGUgPSBudWxsO1xyXG4gICAgICAgICAgICAgICAgdGhpcy5lbC5uYXRpdmVFbGVtZW50LnZhbHVlID0gXCJJbnZhbGlkIERhdGVcIjtcclxuICAgICAgICAgICAgICAgIHRoaXMuaXNJbml0aWFsID0gZmFsc2U7XHJcblx0XHRcdFx0cmV0dXJuO1xyXG5cdFx0XHR9XHJcblxyXG5cdFx0XHRsZXQgdXBkYXRlZERhdGU6IG1vbWVudC5Nb21lbnQ7XHJcblx0XHRcdGlmIChvYmogaW5zdGFuY2VvZiBEYXRlIHx8IG9iai5pbmRleE9mKFwiWlwiKSA+PSAwKVxyXG5cdFx0XHRcdHVwZGF0ZWREYXRlID0gbW9tZW50KG9iaikuc3RhcnRPZihcImRhdGVcIik7XHJcblx0XHRcdGVsc2VcclxuXHRcdFx0XHR1cGRhdGVkRGF0ZSA9IG1vbWVudChvYmosIHRoaXMuZm9ybWF0KS5zdGFydE9mKFwiZGF0ZVwiKTtcclxuXHJcbiAgICAgICAgICAgIGlmIChtb21lbnQodGhpcy5zZWxlY3RlZERhdGUgfHwgbmV3IERhdGUoKSkuaXNTYW1lKHVwZGF0ZWREYXRlKSkge1xyXG4gICAgICAgICAgICAgICAgdGhpcy5pc0luaXRpYWwgPSBmYWxzZTtcclxuICAgICAgICAgICAgICAgIHJldHVybjtcclxuICAgICAgICAgICAgfVxyXG5cclxuXHRcdFx0dGhpcy5zZWxlY3RlZERhdGUgPSB1cGRhdGVkRGF0ZS50b0RhdGUoKTtcclxuXHRcdFx0dGhpcy5lbC5uYXRpdmVFbGVtZW50LnZhbHVlID0gbW9tZW50KHRoaXMuc2VsZWN0ZWREYXRlKS5mb3JtYXQodGhpcy5mb3JtYXQpO1xyXG5cdFx0fVxyXG5cdFx0ZWxzZSB7XHJcbiAgICAgICAgICAgIGlmICghdGhpcy5zZWxlY3RlZERhdGUgJiYgIW9iaikge1xyXG4gICAgICAgICAgICAgICAgdGhpcy5pc0luaXRpYWwgPSBmYWxzZTtcclxuICAgICAgICAgICAgICAgIHJldHVybjtcclxuICAgICAgICAgICAgfVxyXG5cclxuXHRcdFx0dGhpcy5lbC5uYXRpdmVFbGVtZW50LnZhbHVlID0gJyc7XHJcblx0XHRcdHRoaXMuc2VsZWN0ZWREYXRlID0gbnVsbDtcclxuXHRcdH1cclxuXHR9XHJcblxyXG5cdC8vIHJlZ2lzdGVycyAnZm4nIHRoYXQgd2lsbCBiZSBmaXJlZCB3aGVuIGNoYW5nZXMgYXJlIG1hZGVcclxuXHQvLyB0aGlzIGlzIGhvdyB3ZSBlbWl0IHRoZSBjaGFuZ2VzIGJhY2sgdG8gdGhlIGZvcm1cclxuXHRwdWJsaWMgcmVnaXN0ZXJPbkNoYW5nZShmbjogYW55KSB7XHJcblx0XHR0aGlzLnByb3BhZ2F0ZUNoYW5nZSA9IGZuO1xyXG5cdH1cclxuXHJcblx0Ly8gbm90IHVzZWQsIHVzZWQgZm9yIHRvdWNoIGlucHV0XHJcblx0cHVibGljIHJlZ2lzdGVyT25Ub3VjaGVkKCkgeyB9XHJcblxyXG5cdHByaXZhdGUgZG9jdW1lbnRNb3VzZURvd24oZTogTW91c2VFdmVudCkge1xyXG5cdFx0Ly8gVGhpcyBpcyB0aGUgb25seSB3YXkgdG8gY2FwdHVyZSB0aGF0IHRoZXkgY2xpY2tlZCBvbiB0aGUgY2FsZW5kYXIgYmVmb3JlIHRoZSBibHVyIGV2ZW50XHJcblx0XHQvLyBmaXJlcy4gIFxyXG5cdFx0aWYgKFNsaWNrVXRpbHNTZXJ2aWNlLmNoZWNrUGFyZW50Q2xhc3NFeGlzdHMoPEhUTUxFbGVtZW50PmUudGFyZ2V0LCBcInNsaWNrLWNhbGVuZGFyXCIpID09PSB0cnVlKVxyXG5cdFx0XHR0aGlzLmlnbm9yZUJsdXIgPSB0cnVlO1xyXG5cdH1cclxuXHJcblx0cHJpdmF0ZSBkb2N1bWVudENsaWNrKGU6IE1vdXNlRXZlbnQpIHtcclxuXHRcdGlmICghZS50YXJnZXQpXHJcblx0XHRcdHJldHVybjtcclxuXHJcblx0XHRsZXQgdGFyZ2V0RWxlbWVudDogSFRNTEVsZW1lbnQgPSAoPEhUTUxFbGVtZW50PmUudGFyZ2V0KTtcclxuXHJcblx0XHRpZiAoU2xpY2tVdGlsc1NlcnZpY2UuY2hlY2tQYXJlbnRDbGFzc0V4aXN0cyh0YXJnZXRFbGVtZW50LCBcInNsaWNrLWNhbGVuZGFyXCIpID09PSB0cnVlKVxyXG5cdFx0XHRyZXR1cm47XHJcblxyXG5cdFx0aWYgKHRoaXMuaW5wdXRHcm91cFByZXBlbmQgJiYgKCh0YXJnZXRFbGVtZW50ID09PSB0aGlzLmlucHV0R3JvdXBQcmVwZW5kKVxyXG5cdFx0XHR8fCAodGFyZ2V0RWxlbWVudC5wYXJlbnRFbGVtZW50ICYmIHRhcmdldEVsZW1lbnQucGFyZW50RWxlbWVudCA9PT0gdGhpcy5pbnB1dEdyb3VwUHJlcGVuZCkpXHJcblx0XHRcdHx8ICh0YXJnZXRFbGVtZW50LnBhcmVudEVsZW1lbnQgJiYgdGFyZ2V0RWxlbWVudC5wYXJlbnRFbGVtZW50LnBhcmVudEVsZW1lbnQgJiYgdGFyZ2V0RWxlbWVudC5wYXJlbnRFbGVtZW50LnBhcmVudEVsZW1lbnQgPT09IHRoaXMuaW5wdXRHcm91cFByZXBlbmQpKSB7XHJcblx0XHRcdHRoaXMudG9nZ2xlQ2FsZW5kYXIoKTtcclxuXHRcdFx0cmV0dXJuO1xyXG5cdFx0fVxyXG5cclxuXHRcdGNvbnN0IGNsaWNrZWRJbnNpZGUgPSB0aGlzLmVsLm5hdGl2ZUVsZW1lbnQuY29udGFpbnModGFyZ2V0RWxlbWVudCk7XHJcblx0XHRpZiAoIWNsaWNrZWRJbnNpZGUpIHtcclxuXHRcdFx0dGhpcy5oaWRlQ2FsZW5kYXIoKTtcclxuXHRcdH1cclxuXHR9XHJcblxyXG5cdG9uRGF0ZVNlbGVjdChkYXRlKSB7XHJcblx0XHR0aGlzLmVsLm5hdGl2ZUVsZW1lbnQudmFsdWUgPSBtb21lbnQoZGF0ZSkuZm9ybWF0KHRoaXMuZm9ybWF0KTtcclxuXHRcdHRoaXMuaGlkZUNhbGVuZGFyKCk7XHJcblxyXG5cdFx0Y29uc3QgbmV3RGF0ZSA9IG1vbWVudCh0aGlzLmVsLm5hdGl2ZUVsZW1lbnQudmFsdWUsIHRoaXMuZm9ybWF0KS50b0RhdGUoKTtcclxuXHJcblx0XHR0aGlzLmRvUHJvcGFnYXRlKG5ld0RhdGUpO1x0XHRcclxuXHR9XHJcblxyXG5cdGFzeW5jIHNob3dDYWxlbmRhcigpIHtcclxuXHRcdGRvY3VtZW50LnJlbW92ZUV2ZW50TGlzdGVuZXIoXCJtb3VzZWRvd25cIiwgdGhpcy5mbkRvY3VtZW50TW91c2VEb3duLCB0cnVlKTtcclxuXHRcdGRvY3VtZW50LnJlbW92ZUV2ZW50TGlzdGVuZXIoXCJjbGlja1wiLCB0aGlzLmZuRG9jdW1lbnRDbGljaywgdHJ1ZSk7XHJcblxyXG5cdFx0dGhpcy5zaG93RGF0ZVBpY2tlciA9IHRydWU7XHJcblxyXG5cdFx0aWYgKCF0aGlzLm1vYmlsZSkge1xyXG5cdFx0XHR0aGlzLnJlcG9zaXRpb24oKTtcclxuXHRcdH1cclxuXHJcblx0XHR0aGlzLmRhdGVQaWNrZXJPcGFjaXR5ID0gJzEnO1xyXG5cdFx0dGhpcy5kYXRlUGlja2VyVmlzaWJsaXR5ID0gJ3Zpc2libGUnO1xyXG5cclxuXHRcdC8vIE5vdCBzdXJlIHdoeSwgYnV0IHRoZSBjbGljayBldmVudCBpcyBjYWxsZWQgaW1tZWRpYXRlbHksIHdoaWNoIGhpZGVzIHRoZSBjYWxlbmRhclxyXG5cdFx0c2V0VGltZW91dCgoKSA9PiB7XHJcblx0XHRcdGRvY3VtZW50LmFkZEV2ZW50TGlzdGVuZXIoXCJtb3VzZWRvd25cIiwgdGhpcy5mbkRvY3VtZW50TW91c2VEb3duLCB0cnVlKTtcclxuXHRcdFx0ZG9jdW1lbnQuYWRkRXZlbnRMaXN0ZW5lcihcImNsaWNrXCIsIHRoaXMuZm5Eb2N1bWVudENsaWNrLCB0cnVlKTtcclxuXHRcdH0sIDM1MClcclxuXHR9XHJcblxyXG5cdGhpZGVDYWxlbmRhcigpIHtcclxuXHRcdGRvY3VtZW50LnJlbW92ZUV2ZW50TGlzdGVuZXIoXCJtb3VzZWRvd25cIiwgdGhpcy5mbkRvY3VtZW50TW91c2VEb3duLCB0cnVlKTtcclxuXHRcdGRvY3VtZW50LnJlbW92ZUV2ZW50TGlzdGVuZXIoXCJjbGlja1wiLCB0aGlzLmZuRG9jdW1lbnRDbGljaywgdHJ1ZSk7XHJcblxyXG5cdFx0dGhpcy5kYXRlUGlja2VyVmlzaWJsaXR5ID0gJ2hpZGRlbic7XHJcblx0XHR0aGlzLmRhdGVQaWNrZXJPcGFjaXR5ID0gJzAnO1xyXG5cdFx0dGhpcy5zaG93RGF0ZVBpY2tlciA9IGZhbHNlO1xyXG5cdH1cclxuXHJcblx0cHJpdmF0ZSByZXBvc2l0aW9uKCkge1xyXG5cdFx0aWYgKHRoaXMubW9iaWxlID09PSB0cnVlKVxyXG5cdFx0XHRyZXR1cm47XHJcblxyXG5cdFx0Ly8gUmVwb3NpdGlvbiB0aGUgZWxlbWVudCB0byBiZSB3aGVyZSB0aGUgdGV4dGJveCBpcywgZWl0aGVyIGJlbG93IG9yIGFib3ZlIGlmIHRoZXJlIGlzbid0IGVub3VnaCByb29tXHJcblx0XHRjb25zdCBpbnB1dEVsOiBIVE1MSW5wdXRFbGVtZW50ID0gdGhpcy5lbC5uYXRpdmVFbGVtZW50O1xyXG5cclxuXHRcdGNvbnN0IHJlY3QgPSBpbnB1dEVsLmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpO1xyXG5cdFx0Y29uc3QgdGV4dGJveExlZnQgPSByZWN0LmxlZnQ7XHJcblx0XHRjb25zdCB0ZXh0Ym94VG9wID0gcmVjdC50b3A7XHJcblx0XHRjb25zdCB0ZXh0Ym94SGVpZ2h0ID0gaW5wdXRFbC5vZmZzZXRIZWlnaHQ7XHJcblx0XHRjb25zdCBjb250YWluZXJIZWlnaHQgPSAoPEhUTUxEaXZFbGVtZW50PnRoaXMuY29udGFpbmVyUmVmLm5hdGl2ZUVsZW1lbnQpLm9mZnNldEhlaWdodDtcclxuXHJcblx0XHR0aGlzLmxlZnQgPSB0ZXh0Ym94TGVmdCArIFwicHhcIjtcclxuXHRcdHRoaXMudG9wID0gKHRleHRib3hUb3AgKyB0ZXh0Ym94SGVpZ2h0KSArIFwicHhcIjtcclxuXHJcblx0XHRpZiAodGV4dGJveFRvcCArIHRleHRib3hIZWlnaHQgKyBjb250YWluZXJIZWlnaHQgPiB3aW5kb3cuaW5uZXJIZWlnaHQpIHtcclxuXHRcdFx0dGhpcy50b3AgPSAodGV4dGJveFRvcCAtIGNvbnRhaW5lckhlaWdodCAtIDIpICsgXCJweFwiO1xyXG5cdFx0fVxyXG5cclxuXHR9XHJcblxyXG5cdHRvZ2dsZUNhbGVuZGFyKCkge1xyXG5cdFx0KHRoaXMuc2hvd0RhdGVQaWNrZXIgPT09IHRydWUpID8gdGhpcy5oaWRlQ2FsZW5kYXIoKSA6IHRoaXMuc2hvd0NhbGVuZGFyKCk7XHJcblx0fVxyXG59IiwiPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PlxyXG48ZGl2ICpuZ0lmPVwibW9iaWxlID09PSBmYWxzZVwiICNjb250YWluZXJSZWYgY2xhc3M9XCJzbGljay1kYXRlLXBpY2tlci1jb250YWluZXJcIiBbc3R5bGUubGVmdF09XCJsZWZ0XCIgW3N0eWxlLnRvcF09XCJ0b3BcIiBbc3R5bGUudmlzaWJpbGl0eV09XCJkYXRlUGlja2VyVmlzaWJsaXR5XCIgW3N0eWxlLm9wYWNpdHldPVwiZGF0ZVBpY2tlck9wYWNpdHlcIj5cclxuXHQ8c2xpY2stY2FsZW5kYXIgW25nTW9kZWxdPVwic2VsZWN0ZWREYXRlXCIgW2NvbmRlbnNlZF09XCJjb25kZW5zZWRcIiAob25EYXRlU2VsZWN0KT1cIm9uRGF0ZVNlbGVjdCgkZXZlbnQpXCI+PC9zbGljay1jYWxlbmRhcj5cclxuPC9kaXY+XHJcbjxkaXYgKm5nSWY9XCJtb2JpbGUgPT09IHRydWVcIiAjY29udGFpbmVyUmVmIGNsYXNzPVwic2xpY2stZGF0ZS1waWNrZXItbW9iaWxlLWNvbnRhaW5lclwiIFtzdHlsZS52aXNpYmlsaXR5XT1cImRhdGVQaWNrZXJWaXNpYmxpdHlcIiBbc3R5bGUub3BhY2l0eV09XCJkYXRlUGlja2VyT3BhY2l0eVwiPlxyXG5cdDxkaXYgY2xhc3M9XCJzbGljay1kYXRlLXBpY2tlci1tb2JpbGUtY2FsZW5kYXJcIj5cclxuXHRcdDxzbGljay1jYWxlbmRhciBbbmdNb2RlbF09XCJzZWxlY3RlZERhdGVcIiBbY29uZGVuc2VkXT1cImNvbmRlbnNlZFwiIChvbkRhdGVTZWxlY3QpPVwib25EYXRlU2VsZWN0KCRldmVudClcIj48L3NsaWNrLWNhbGVuZGFyPlxyXG5cdDwvZGl2PlxyXG48L2Rpdj5cclxuIl19
@@ -0,0 +1,21 @@
1
+ import { NgModule } from "@angular/core";
2
+ import { CommonModule } from "@angular/common";
3
+ import { FormsModule } from '@angular/forms';
4
+ import { SlickDatePickerComponent } from "./slick-date-picker.component";
5
+ import { SlickCalendarModule } from "../slick-calendar/slick-calendar.module";
6
+ import * as i0 from "@angular/core";
7
+ export class SlickDatePickerModule {
8
+ }
9
+ /** @nocollapse */ SlickDatePickerModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.3", ngImport: i0, type: SlickDatePickerModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
10
+ /** @nocollapse */ SlickDatePickerModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "13.3.3", ngImport: i0, type: SlickDatePickerModule, declarations: [SlickDatePickerComponent], imports: [CommonModule, FormsModule, SlickCalendarModule], exports: [SlickDatePickerComponent, SlickCalendarModule] });
11
+ /** @nocollapse */ SlickDatePickerModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "13.3.3", ngImport: i0, type: SlickDatePickerModule, imports: [[CommonModule, FormsModule, SlickCalendarModule], SlickCalendarModule] });
12
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.3", ngImport: i0, type: SlickDatePickerModule, decorators: [{
13
+ type: NgModule,
14
+ args: [{
15
+ imports: [CommonModule, FormsModule, SlickCalendarModule],
16
+ declarations: [SlickDatePickerComponent],
17
+ exports: [SlickDatePickerComponent, SlickCalendarModule]
18
+ }]
19
+ }] });
20
+ export { SlickDatePickerComponent };
21
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2xpY2stZGF0ZS1waWNrZXIubW9kdWxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcHJvamVjdHMvY29tcG9uZW50cy9zcmMvc2xpY2stZGF0ZS1waWNrZXIvc2xpY2stZGF0ZS1waWNrZXIubW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDekMsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUM3QyxPQUFPLEVBQUUsd0JBQXdCLEVBQUUsTUFBTSwrQkFBK0IsQ0FBQztBQUN6RSxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSx5Q0FBeUMsQ0FBQzs7QUFPOUUsTUFBTSxPQUFPLHFCQUFxQjs7cUlBQXJCLHFCQUFxQjtzSUFBckIscUJBQXFCLGlCQUhsQix3QkFBd0IsYUFEN0IsWUFBWSxFQUFFLFdBQVcsRUFBRSxtQkFBbUIsYUFFOUMsd0JBQXdCLEVBQUUsbUJBQW1CO3NJQUUzQyxxQkFBcUIsWUFKeEIsQ0FBQyxZQUFZLEVBQUUsV0FBVyxFQUFFLG1CQUFtQixDQUFDLEVBRXJCLG1CQUFtQjsyRkFFM0MscUJBQXFCO2tCQUxqQyxRQUFRO21CQUFDO29CQUNULE9BQU8sRUFBRSxDQUFDLFlBQVksRUFBRSxXQUFXLEVBQUUsbUJBQW1CLENBQUM7b0JBQ3pELFlBQVksRUFBRSxDQUFDLHdCQUF3QixDQUFDO29CQUN4QyxPQUFPLEVBQUUsQ0FBQyx3QkFBd0IsRUFBRSxtQkFBbUIsQ0FBQztpQkFDeEQ7O0FBR0QsT0FBTyxFQUFFLHdCQUF3QixFQUFFLENBQUEiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBOZ01vZHVsZSB9IGZyb20gXCJAYW5ndWxhci9jb3JlXCI7XHJcbmltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gXCJAYW5ndWxhci9jb21tb25cIjtcclxuaW1wb3J0IHsgRm9ybXNNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XHJcbmltcG9ydCB7IFNsaWNrRGF0ZVBpY2tlckNvbXBvbmVudCB9IGZyb20gXCIuL3NsaWNrLWRhdGUtcGlja2VyLmNvbXBvbmVudFwiO1xyXG5pbXBvcnQgeyBTbGlja0NhbGVuZGFyTW9kdWxlIH0gZnJvbSBcIi4uL3NsaWNrLWNhbGVuZGFyL3NsaWNrLWNhbGVuZGFyLm1vZHVsZVwiO1xyXG5cclxuQE5nTW9kdWxlKHtcclxuXHRpbXBvcnRzOiBbQ29tbW9uTW9kdWxlLCBGb3Jtc01vZHVsZSwgU2xpY2tDYWxlbmRhck1vZHVsZV0sXHJcblx0ZGVjbGFyYXRpb25zOiBbU2xpY2tEYXRlUGlja2VyQ29tcG9uZW50XSxcclxuXHRleHBvcnRzOiBbU2xpY2tEYXRlUGlja2VyQ29tcG9uZW50LCBTbGlja0NhbGVuZGFyTW9kdWxlXVxyXG59KVxyXG5leHBvcnQgY2xhc3MgU2xpY2tEYXRlUGlja2VyTW9kdWxlIHsgfVxyXG5cclxuZXhwb3J0IHsgU2xpY2tEYXRlUGlja2VyQ29tcG9uZW50IH0iXX0=
@@ -0,0 +1,24 @@
1
+ import { Component, HostBinding } from "@angular/core";
2
+ import * as i0 from "@angular/core";
3
+ export class SlickDialogFooterComponent {
4
+ constructor() {
5
+ this.flex = '1 1';
6
+ this.textAlign = 'center';
7
+ }
8
+ }
9
+ /** @nocollapse */ SlickDialogFooterComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.3", ngImport: i0, type: SlickDialogFooterComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
10
+ /** @nocollapse */ SlickDialogFooterComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.3", type: SlickDialogFooterComponent, selector: "slick-dialog-footer", host: { properties: { "style.flex": "this.flex", "style.textAlign": "this.textAlign" } }, ngImport: i0, template: `<ng-content></ng-content>`, isInline: true });
11
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.3", ngImport: i0, type: SlickDialogFooterComponent, decorators: [{
12
+ type: Component,
13
+ args: [{
14
+ selector: 'slick-dialog-footer',
15
+ template: `<ng-content></ng-content>`
16
+ }]
17
+ }], propDecorators: { flex: [{
18
+ type: HostBinding,
19
+ args: ['style.flex']
20
+ }], textAlign: [{
21
+ type: HostBinding,
22
+ args: ['style.textAlign']
23
+ }] } });
24
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2xpY2stZGlhbG9nLWZvb3Rlci5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wcm9qZWN0cy9jb21wb25lbnRzL3NyYy9zbGljay1kaWFsb2cvc2xpY2stZGlhbG9nLWZvb3Rlci5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxXQUFXLEVBQUUsTUFBTSxlQUFlLENBQUM7O0FBTXZELE1BQU0sT0FBTywwQkFBMEI7SUFKdkM7UUFLNEIsU0FBSSxHQUFHLEtBQUssQ0FBQztRQUNSLGNBQVMsR0FBRyxRQUFRLENBQUM7S0FDckQ7OzBJQUhZLDBCQUEwQjs4SEFBMUIsMEJBQTBCLHFKQUY1QiwyQkFBMkI7MkZBRXpCLDBCQUEwQjtrQkFKdEMsU0FBUzttQkFBQztvQkFDVixRQUFRLEVBQUUscUJBQXFCO29CQUMvQixRQUFRLEVBQUUsMkJBQTJCO2lCQUNyQzs4QkFFMkIsSUFBSTtzQkFBOUIsV0FBVzt1QkFBQyxZQUFZO2dCQUNPLFNBQVM7c0JBQXhDLFdBQVc7dUJBQUMsaUJBQWlCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBIb3N0QmluZGluZyB9IGZyb20gXCJAYW5ndWxhci9jb3JlXCI7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuXHRzZWxlY3RvcjogJ3NsaWNrLWRpYWxvZy1mb290ZXInLFxyXG5cdHRlbXBsYXRlOiBgPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PmBcclxufSlcclxuZXhwb3J0IGNsYXNzIFNsaWNrRGlhbG9nRm9vdGVyQ29tcG9uZW50IHtcclxuXHRASG9zdEJpbmRpbmcoJ3N0eWxlLmZsZXgnKSBmbGV4ID0gJzEgMSc7XHJcblx0QEhvc3RCaW5kaW5nKCdzdHlsZS50ZXh0QWxpZ24nKSB0ZXh0QWxpZ24gPSAnY2VudGVyJztcclxufVxyXG4iXX0=