@sunbird-cb/utils-v2 0.0.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (296) hide show
  1. package/README.md +24 -0
  2. package/bundles/sunbird-cb-utils-v2.umd.js +6940 -0
  3. package/bundles/sunbird-cb-utils-v2.umd.js.map +1 -0
  4. package/bundles/sunbird-cb-utils-v2.umd.min.js +16 -0
  5. package/bundles/sunbird-cb-utils-v2.umd.min.js.map +1 -0
  6. package/esm2015/lib/components/image-crop/image-crop.component.js +195 -0
  7. package/esm2015/lib/components/image-crop/image-crop.module.js +27 -0
  8. package/esm2015/lib/constants/features.enum.js +555 -0
  9. package/esm2015/lib/constants/instances.enum.js +5 -0
  10. package/esm2015/lib/constants/misc.constants.js +1 -0
  11. package/esm2015/lib/directives/class-change-on-scroll/class-change-on-scroll.directive.js +87 -0
  12. package/esm2015/lib/directives/class-change-on-scroll/class-change-on-scroll.module.js +15 -0
  13. package/esm2015/lib/directives/default-thumbnail/default-thumbnail.directive.js +38 -0
  14. package/esm2015/lib/directives/default-thumbnail/default-thumbnail.module.js +15 -0
  15. package/esm2015/lib/directives/image-responsive/image-responsive.directive.js +92 -0
  16. package/esm2015/lib/directives/image-responsive/image-responsive.module.js +15 -0
  17. package/esm2015/lib/directives/in-view-port/in-view-port.directive.js +68 -0
  18. package/esm2015/lib/directives/in-view-port/in-view-port.module.js +15 -0
  19. package/esm2015/lib/directives/navigation/navigation.directive.js +39 -0
  20. package/esm2015/lib/directives/navigation/navigation.module.js +15 -0
  21. package/esm2015/lib/directives/permission/permission.directive.js +11 -0
  22. package/esm2015/lib/directives/permission/permission.module.js +15 -0
  23. package/esm2015/lib/helpers/functions/getStringifiedQueryParams.js +9 -0
  24. package/esm2015/lib/helpers/horizontal-scroller/horizontal-scroller.component.js +99 -0
  25. package/esm2015/lib/helpers/horizontal-scroller/horizontal-scroller.module.js +19 -0
  26. package/esm2015/lib/helpers/horizontal-scroller-v2/horizontal-scroller-v2.component.js +172 -0
  27. package/esm2015/lib/helpers/horizontal-scroller-v2/horizontal-scroller-v2.module.js +19 -0
  28. package/esm2015/lib/helpers/logout/logout.component.js +90 -0
  29. package/esm2015/lib/helpers/logout/logout.module.js +20 -0
  30. package/esm2015/lib/models/profile-v3.models.js +104 -0
  31. package/esm2015/lib/pipes/pipe-certificate-image-URL/pipe-certimage-URL.module.js +15 -0
  32. package/esm2015/lib/pipes/pipe-certificate-image-URL/pipe-certimage-URL.pipe.js +94 -0
  33. package/esm2015/lib/pipes/pipe-concise-date-range/pipe-concise-date-range.module.js +13 -0
  34. package/esm2015/lib/pipes/pipe-concise-date-range/pipe-concise-date-range.pipe.js +59 -0
  35. package/esm2015/lib/pipes/pipe-count-transform/pipe-count-transform.module.js +15 -0
  36. package/esm2015/lib/pipes/pipe-count-transform/pipe-count-transform.pipe.js +33 -0
  37. package/esm2015/lib/pipes/pipe-date-concat/pipe-date-concat.module.js +15 -0
  38. package/esm2015/lib/pipes/pipe-date-concat/pipe-date-concat.pipe.js +43 -0
  39. package/esm2015/lib/pipes/pipe-duration-transform/pipe-duration-transform.module.js +15 -0
  40. package/esm2015/lib/pipes/pipe-duration-transform/pipe-duration-transform.pipe.js +79 -0
  41. package/esm2015/lib/pipes/pipe-email/pipe-email.module.js +15 -0
  42. package/esm2015/lib/pipes/pipe-email/pipe-email.pipe.js +12 -0
  43. package/esm2015/lib/pipes/pipe-filter/pipe-filter.module.js +15 -0
  44. package/esm2015/lib/pipes/pipe-filter/pipe-filter.pipe.js +16 -0
  45. package/esm2015/lib/pipes/pipe-filter-search/pipe-filter-search.module.js +15 -0
  46. package/esm2015/lib/pipes/pipe-filter-search/pipe-filter-search.pipe.js +38 -0
  47. package/esm2015/lib/pipes/pipe-filter-v2/pipe-filter-v2.module.js +15 -0
  48. package/esm2015/lib/pipes/pipe-filter-v2/pipe-filter-v2.pipe.js +21 -0
  49. package/esm2015/lib/pipes/pipe-filter-v3/pipe-filter-v3.module.js +15 -0
  50. package/esm2015/lib/pipes/pipe-filter-v3/pipe-filter-v3.pipe.js +23 -0
  51. package/esm2015/lib/pipes/pipe-html-tag-removal/pipe-html-tag-removal.module.js +15 -0
  52. package/esm2015/lib/pipes/pipe-html-tag-removal/pipe-html-tag-removal.pipe.js +12 -0
  53. package/esm2015/lib/pipes/pipe-limit-to/pipe-limit-to.module.js +15 -0
  54. package/esm2015/lib/pipes/pipe-limit-to/pipe-limit-to.pipe.js +25 -0
  55. package/esm2015/lib/pipes/pipe-list-filter/pipe-list-filter.module.js +15 -0
  56. package/esm2015/lib/pipes/pipe-list-filter/pipe-list-filter.pipe.js +17 -0
  57. package/esm2015/lib/pipes/pipe-name-transform/pipe-name-transform.module.js +15 -0
  58. package/esm2015/lib/pipes/pipe-name-transform/pipe-name-transform.pipe.js +27 -0
  59. package/esm2015/lib/pipes/pipe-order-by/pipe-order-by.module.js +15 -0
  60. package/esm2015/lib/pipes/pipe-order-by/pipe-order-by.pipe.js +16 -0
  61. package/esm2015/lib/pipes/pipe-partial-content/pipe-partial-content.module.js +15 -0
  62. package/esm2015/lib/pipes/pipe-partial-content/pipe-partial-content.pipe.js +18 -0
  63. package/esm2015/lib/pipes/pipe-public-URL/pipe-public-URL.module.js +15 -0
  64. package/esm2015/lib/pipes/pipe-public-URL/pipe-public-URL.pipe.js +23 -0
  65. package/esm2015/lib/pipes/pipe-relative-time/pipe-relative-time.module.js +15 -0
  66. package/esm2015/lib/pipes/pipe-relative-time/pipe-relative-time.pipe.js +16 -0
  67. package/esm2015/lib/pipes/pipe-safe-sanitizer/pipe-safe-sanitizer.module.js +15 -0
  68. package/esm2015/lib/pipes/pipe-safe-sanitizer/pipe-safe-sanitizer.pipe.js +35 -0
  69. package/esm2015/lib/resolvers/explore-detail.resolver.js +89 -0
  70. package/esm2015/lib/resolvers/marketing-offering.resolve.js +40 -0
  71. package/esm2015/lib/resolvers/module-name.resolver.js +38 -0
  72. package/esm2015/lib/resolvers/page-name.resolver.js +32 -0
  73. package/esm2015/lib/resolvers/page.constant.js +4 -0
  74. package/esm2015/lib/resolvers/page.model.js +48 -0
  75. package/esm2015/lib/resolvers/page.resolver.js +90 -0
  76. package/esm2015/lib/resolvers/resolver.model.js +6 -0
  77. package/esm2015/lib/services/auth-keycloak.service.js +266 -0
  78. package/esm2015/lib/services/auth-microsoft.service.js +196 -0
  79. package/esm2015/lib/services/card-content.model.js +31 -0
  80. package/esm2015/lib/services/configurations.model.js +548 -0
  81. package/esm2015/lib/services/configurations.service.js +140 -0
  82. package/esm2015/lib/services/content-strip-multiple.model.js +75 -0
  83. package/esm2015/lib/services/event.model.js +242 -0
  84. package/esm2015/lib/services/event.service.js +211 -0
  85. package/esm2015/lib/services/logger.service.js +55 -0
  86. package/esm2015/lib/services/ms-office.model.js +8 -0
  87. package/esm2015/lib/services/multilingual-translations.service.js +136 -0
  88. package/esm2015/lib/services/nps-grid.service.js +45 -0
  89. package/esm2015/lib/services/subapplication-respond.service.js +214 -0
  90. package/esm2015/lib/services/telemetry.service.js +621 -0
  91. package/esm2015/lib/services/user-preference.model.js +38 -0
  92. package/esm2015/lib/services/user-preference.service.js +90 -0
  93. package/esm2015/lib/services/utility.service.js +145 -0
  94. package/esm2015/lib/services/value.service.js +31 -0
  95. package/esm2015/lib/services/widget-content.model.js +373 -0
  96. package/esm2015/lib/services/widget-content.service.js +192 -0
  97. package/esm2015/lib/services/widget-resolver.model.js +57 -0
  98. package/esm2015/lib/services/widget-search.model.js +126 -0
  99. package/esm2015/public-api.js +80 -0
  100. package/esm2015/sunbird-cb-utils-v2.js +11 -0
  101. package/esm5/lib/components/image-crop/image-crop.component.js +200 -0
  102. package/esm5/lib/components/image-crop/image-crop.module.js +31 -0
  103. package/esm5/lib/constants/features.enum.js +555 -0
  104. package/esm5/lib/constants/instances.enum.js +5 -0
  105. package/esm5/lib/constants/misc.constants.js +1 -0
  106. package/esm5/lib/directives/class-change-on-scroll/class-change-on-scroll.directive.js +105 -0
  107. package/esm5/lib/directives/class-change-on-scroll/class-change-on-scroll.module.js +19 -0
  108. package/esm5/lib/directives/default-thumbnail/default-thumbnail.directive.js +40 -0
  109. package/esm5/lib/directives/default-thumbnail/default-thumbnail.module.js +19 -0
  110. package/esm5/lib/directives/image-responsive/image-responsive.directive.js +95 -0
  111. package/esm5/lib/directives/image-responsive/image-responsive.module.js +19 -0
  112. package/esm5/lib/directives/in-view-port/in-view-port.directive.js +73 -0
  113. package/esm5/lib/directives/in-view-port/in-view-port.module.js +19 -0
  114. package/esm5/lib/directives/navigation/navigation.directive.js +41 -0
  115. package/esm5/lib/directives/navigation/navigation.module.js +19 -0
  116. package/esm5/lib/directives/permission/permission.directive.js +14 -0
  117. package/esm5/lib/directives/permission/permission.module.js +19 -0
  118. package/esm5/lib/helpers/functions/getStringifiedQueryParams.js +9 -0
  119. package/esm5/lib/helpers/horizontal-scroller/horizontal-scroller.component.js +103 -0
  120. package/esm5/lib/helpers/horizontal-scroller/horizontal-scroller.module.js +23 -0
  121. package/esm5/lib/helpers/horizontal-scroller-v2/horizontal-scroller-v2.component.js +177 -0
  122. package/esm5/lib/helpers/horizontal-scroller-v2/horizontal-scroller-v2.module.js +23 -0
  123. package/esm5/lib/helpers/logout/logout.component.js +96 -0
  124. package/esm5/lib/helpers/logout/logout.module.js +24 -0
  125. package/esm5/lib/models/profile-v3.models.js +104 -0
  126. package/esm5/lib/pipes/pipe-certificate-image-URL/pipe-certimage-URL.module.js +19 -0
  127. package/esm5/lib/pipes/pipe-certificate-image-URL/pipe-certimage-URL.pipe.js +96 -0
  128. package/esm5/lib/pipes/pipe-concise-date-range/pipe-concise-date-range.module.js +17 -0
  129. package/esm5/lib/pipes/pipe-concise-date-range/pipe-concise-date-range.pipe.js +63 -0
  130. package/esm5/lib/pipes/pipe-count-transform/pipe-count-transform.module.js +19 -0
  131. package/esm5/lib/pipes/pipe-count-transform/pipe-count-transform.pipe.js +37 -0
  132. package/esm5/lib/pipes/pipe-date-concat/pipe-date-concat.module.js +19 -0
  133. package/esm5/lib/pipes/pipe-date-concat/pipe-date-concat.pipe.js +45 -0
  134. package/esm5/lib/pipes/pipe-duration-transform/pipe-duration-transform.module.js +19 -0
  135. package/esm5/lib/pipes/pipe-duration-transform/pipe-duration-transform.pipe.js +83 -0
  136. package/esm5/lib/pipes/pipe-email/pipe-email.module.js +19 -0
  137. package/esm5/lib/pipes/pipe-email/pipe-email.pipe.js +16 -0
  138. package/esm5/lib/pipes/pipe-filter/pipe-filter.module.js +19 -0
  139. package/esm5/lib/pipes/pipe-filter/pipe-filter.pipe.js +20 -0
  140. package/esm5/lib/pipes/pipe-filter-search/pipe-filter-search.module.js +19 -0
  141. package/esm5/lib/pipes/pipe-filter-search/pipe-filter-search.pipe.js +46 -0
  142. package/esm5/lib/pipes/pipe-filter-v2/pipe-filter-v2.module.js +19 -0
  143. package/esm5/lib/pipes/pipe-filter-v2/pipe-filter-v2.pipe.js +25 -0
  144. package/esm5/lib/pipes/pipe-filter-v3/pipe-filter-v3.module.js +19 -0
  145. package/esm5/lib/pipes/pipe-filter-v3/pipe-filter-v3.pipe.js +31 -0
  146. package/esm5/lib/pipes/pipe-html-tag-removal/pipe-html-tag-removal.module.js +19 -0
  147. package/esm5/lib/pipes/pipe-html-tag-removal/pipe-html-tag-removal.pipe.js +16 -0
  148. package/esm5/lib/pipes/pipe-limit-to/pipe-limit-to.module.js +19 -0
  149. package/esm5/lib/pipes/pipe-limit-to/pipe-limit-to.pipe.js +30 -0
  150. package/esm5/lib/pipes/pipe-list-filter/pipe-list-filter.module.js +19 -0
  151. package/esm5/lib/pipes/pipe-list-filter/pipe-list-filter.pipe.js +21 -0
  152. package/esm5/lib/pipes/pipe-name-transform/pipe-name-transform.module.js +19 -0
  153. package/esm5/lib/pipes/pipe-name-transform/pipe-name-transform.pipe.js +31 -0
  154. package/esm5/lib/pipes/pipe-order-by/pipe-order-by.module.js +19 -0
  155. package/esm5/lib/pipes/pipe-order-by/pipe-order-by.pipe.js +18 -0
  156. package/esm5/lib/pipes/pipe-partial-content/pipe-partial-content.module.js +19 -0
  157. package/esm5/lib/pipes/pipe-partial-content/pipe-partial-content.pipe.js +34 -0
  158. package/esm5/lib/pipes/pipe-public-URL/pipe-public-URL.module.js +19 -0
  159. package/esm5/lib/pipes/pipe-public-URL/pipe-public-URL.pipe.js +25 -0
  160. package/esm5/lib/pipes/pipe-relative-time/pipe-relative-time.module.js +19 -0
  161. package/esm5/lib/pipes/pipe-relative-time/pipe-relative-time.pipe.js +20 -0
  162. package/esm5/lib/pipes/pipe-safe-sanitizer/pipe-safe-sanitizer.module.js +19 -0
  163. package/esm5/lib/pipes/pipe-safe-sanitizer/pipe-safe-sanitizer.pipe.js +38 -0
  164. package/esm5/lib/resolvers/explore-detail.resolver.js +93 -0
  165. package/esm5/lib/resolvers/marketing-offering.resolve.js +43 -0
  166. package/esm5/lib/resolvers/module-name.resolver.js +40 -0
  167. package/esm5/lib/resolvers/page-name.resolver.js +35 -0
  168. package/esm5/lib/resolvers/page.constant.js +4 -0
  169. package/esm5/lib/resolvers/page.model.js +48 -0
  170. package/esm5/lib/resolvers/page.resolver.js +98 -0
  171. package/esm5/lib/resolvers/resolver.model.js +6 -0
  172. package/esm5/lib/services/auth-keycloak.service.js +347 -0
  173. package/esm5/lib/services/auth-microsoft.service.js +251 -0
  174. package/esm5/lib/services/card-content.model.js +31 -0
  175. package/esm5/lib/services/configurations.model.js +548 -0
  176. package/esm5/lib/services/configurations.service.js +142 -0
  177. package/esm5/lib/services/content-strip-multiple.model.js +75 -0
  178. package/esm5/lib/services/event.model.js +242 -0
  179. package/esm5/lib/services/event.service.js +215 -0
  180. package/esm5/lib/services/logger.service.js +73 -0
  181. package/esm5/lib/services/ms-office.model.js +8 -0
  182. package/esm5/lib/services/multilingual-translations.service.js +138 -0
  183. package/esm5/lib/services/nps-grid.service.js +47 -0
  184. package/esm5/lib/services/subapplication-respond.service.js +219 -0
  185. package/esm5/lib/services/telemetry.service.js +670 -0
  186. package/esm5/lib/services/user-preference.model.js +38 -0
  187. package/esm5/lib/services/user-preference.service.js +109 -0
  188. package/esm5/lib/services/utility.service.js +178 -0
  189. package/esm5/lib/services/value.service.js +33 -0
  190. package/esm5/lib/services/widget-content.model.js +373 -0
  191. package/esm5/lib/services/widget-content.service.js +214 -0
  192. package/esm5/lib/services/widget-resolver.model.js +57 -0
  193. package/esm5/lib/services/widget-search.model.js +126 -0
  194. package/esm5/public-api.js +80 -0
  195. package/esm5/sunbird-cb-utils-v2.js +11 -0
  196. package/fesm2015/sunbird-cb-utils-v2.js +6160 -0
  197. package/fesm2015/sunbird-cb-utils-v2.js.map +1 -0
  198. package/fesm5/sunbird-cb-utils-v2.js +6649 -0
  199. package/fesm5/sunbird-cb-utils-v2.js.map +1 -0
  200. package/lib/components/image-crop/image-crop.component.d.ts +56 -0
  201. package/lib/components/image-crop/image-crop.module.d.ts +2 -0
  202. package/lib/constants/features.enum.d.ts +553 -0
  203. package/lib/constants/instances.enum.d.ts +3 -0
  204. package/lib/constants/misc.constants.d.ts +2 -0
  205. package/lib/directives/class-change-on-scroll/class-change-on-scroll.directive.d.ts +18 -0
  206. package/lib/directives/class-change-on-scroll/class-change-on-scroll.module.d.ts +2 -0
  207. package/lib/directives/default-thumbnail/default-thumbnail.directive.d.ts +9 -0
  208. package/lib/directives/default-thumbnail/default-thumbnail.module.d.ts +2 -0
  209. package/lib/directives/image-responsive/image-responsive.directive.d.ts +17 -0
  210. package/lib/directives/image-responsive/image-responsive.module.d.ts +2 -0
  211. package/lib/directives/in-view-port/in-view-port.directive.d.ts +11 -0
  212. package/lib/directives/in-view-port/in-view-port.module.d.ts +2 -0
  213. package/lib/directives/navigation/navigation.directive.d.ts +9 -0
  214. package/lib/directives/navigation/navigation.module.d.ts +2 -0
  215. package/lib/directives/permission/permission.directive.d.ts +3 -0
  216. package/lib/directives/permission/permission.module.d.ts +2 -0
  217. package/lib/helpers/functions/getStringifiedQueryParams.d.ts +3 -0
  218. package/lib/helpers/horizontal-scroller/horizontal-scroller.component.d.ts +18 -0
  219. package/lib/helpers/horizontal-scroller/horizontal-scroller.module.d.ts +2 -0
  220. package/lib/helpers/horizontal-scroller-v2/horizontal-scroller-v2.component.d.ts +31 -0
  221. package/lib/helpers/horizontal-scroller-v2/horizontal-scroller-v2.module.d.ts +2 -0
  222. package/lib/helpers/logout/logout.component.d.ts +20 -0
  223. package/lib/helpers/logout/logout.module.d.ts +2 -0
  224. package/lib/models/profile-v3.models.d.ts +91 -0
  225. package/lib/pipes/pipe-certificate-image-URL/pipe-certimage-URL.module.d.ts +2 -0
  226. package/lib/pipes/pipe-certificate-image-URL/pipe-certimage-URL.pipe.d.ts +6 -0
  227. package/lib/pipes/pipe-concise-date-range/pipe-concise-date-range.module.d.ts +2 -0
  228. package/lib/pipes/pipe-concise-date-range/pipe-concise-date-range.pipe.d.ts +10 -0
  229. package/lib/pipes/pipe-count-transform/pipe-count-transform.module.d.ts +2 -0
  230. package/lib/pipes/pipe-count-transform/pipe-count-transform.pipe.d.ts +4 -0
  231. package/lib/pipes/pipe-date-concat/pipe-date-concat.module.d.ts +2 -0
  232. package/lib/pipes/pipe-date-concat/pipe-date-concat.pipe.d.ts +13 -0
  233. package/lib/pipes/pipe-duration-transform/pipe-duration-transform.module.d.ts +2 -0
  234. package/lib/pipes/pipe-duration-transform/pipe-duration-transform.pipe.d.ts +6 -0
  235. package/lib/pipes/pipe-email/pipe-email.module.d.ts +2 -0
  236. package/lib/pipes/pipe-email/pipe-email.pipe.d.ts +4 -0
  237. package/lib/pipes/pipe-filter/pipe-filter.module.d.ts +2 -0
  238. package/lib/pipes/pipe-filter/pipe-filter.pipe.d.ts +4 -0
  239. package/lib/pipes/pipe-filter-search/pipe-filter-search.module.d.ts +2 -0
  240. package/lib/pipes/pipe-filter-search/pipe-filter-search.pipe.d.ts +4 -0
  241. package/lib/pipes/pipe-filter-v2/pipe-filter-v2.module.d.ts +2 -0
  242. package/lib/pipes/pipe-filter-v2/pipe-filter-v2.pipe.d.ts +4 -0
  243. package/lib/pipes/pipe-filter-v3/pipe-filter-v3.module.d.ts +2 -0
  244. package/lib/pipes/pipe-filter-v3/pipe-filter-v3.pipe.d.ts +4 -0
  245. package/lib/pipes/pipe-html-tag-removal/pipe-html-tag-removal.module.d.ts +2 -0
  246. package/lib/pipes/pipe-html-tag-removal/pipe-html-tag-removal.pipe.d.ts +4 -0
  247. package/lib/pipes/pipe-limit-to/pipe-limit-to.module.d.ts +2 -0
  248. package/lib/pipes/pipe-limit-to/pipe-limit-to.pipe.d.ts +4 -0
  249. package/lib/pipes/pipe-list-filter/pipe-list-filter.module.d.ts +2 -0
  250. package/lib/pipes/pipe-list-filter/pipe-list-filter.pipe.d.ts +4 -0
  251. package/lib/pipes/pipe-name-transform/pipe-name-transform.module.d.ts +2 -0
  252. package/lib/pipes/pipe-name-transform/pipe-name-transform.pipe.d.ts +9 -0
  253. package/lib/pipes/pipe-order-by/pipe-order-by.module.d.ts +2 -0
  254. package/lib/pipes/pipe-order-by/pipe-order-by.pipe.d.ts +9 -0
  255. package/lib/pipes/pipe-partial-content/pipe-partial-content.module.d.ts +2 -0
  256. package/lib/pipes/pipe-partial-content/pipe-partial-content.pipe.d.ts +4 -0
  257. package/lib/pipes/pipe-public-URL/pipe-public-URL.module.d.ts +2 -0
  258. package/lib/pipes/pipe-public-URL/pipe-public-URL.pipe.d.ts +6 -0
  259. package/lib/pipes/pipe-relative-time/pipe-relative-time.module.d.ts +2 -0
  260. package/lib/pipes/pipe-relative-time/pipe-relative-time.pipe.d.ts +4 -0
  261. package/lib/pipes/pipe-safe-sanitizer/pipe-safe-sanitizer.module.d.ts +2 -0
  262. package/lib/pipes/pipe-safe-sanitizer/pipe-safe-sanitizer.pipe.d.ts +7 -0
  263. package/lib/resolvers/explore-detail.resolver.d.ts +16 -0
  264. package/lib/resolvers/marketing-offering.resolve.d.ts +10 -0
  265. package/lib/resolvers/module-name.resolver.d.ts +6 -0
  266. package/lib/resolvers/page-name.resolver.d.ts +5 -0
  267. package/lib/resolvers/page.constant.d.ts +1 -0
  268. package/lib/resolvers/page.model.d.ts +41 -0
  269. package/lib/resolvers/page.resolver.d.ts +17 -0
  270. package/lib/resolvers/resolver.model.d.ts +4 -0
  271. package/lib/services/auth-keycloak.service.d.ts +31 -0
  272. package/lib/services/auth-microsoft.service.d.ts +30 -0
  273. package/lib/services/card-content.model.d.ts +29 -0
  274. package/lib/services/configurations.model.d.ts +521 -0
  275. package/lib/services/configurations.service.d.ts +73 -0
  276. package/lib/services/content-strip-multiple.model.d.ts +79 -0
  277. package/lib/services/event.model.d.ts +205 -0
  278. package/lib/services/event.service.d.ts +30 -0
  279. package/lib/services/logger.service.d.ts +15 -0
  280. package/lib/services/ms-office.model.d.ts +6 -0
  281. package/lib/services/multilingual-translations.service.d.ts +20 -0
  282. package/lib/services/nps-grid.service.d.ts +12 -0
  283. package/lib/services/subapplication-respond.service.d.ts +23 -0
  284. package/lib/services/telemetry.service.d.ts +56 -0
  285. package/lib/services/user-preference.model.d.ts +34 -0
  286. package/lib/services/user-preference.service.d.ts +11 -0
  287. package/lib/services/utility.service.d.ts +31 -0
  288. package/lib/services/value.service.d.ts +8 -0
  289. package/lib/services/widget-content.model.d.ts +344 -0
  290. package/lib/services/widget-content.service.d.ts +47 -0
  291. package/lib/services/widget-resolver.model.d.ts +48 -0
  292. package/lib/services/widget-search.model.d.ts +114 -0
  293. package/package.json +35 -0
  294. package/public-api.d.ts +79 -0
  295. package/sunbird-cb-utils-v2.d.ts +10 -0
  296. package/sunbird-cb-utils-v2.metadata.json +1 -0
@@ -0,0 +1,5 @@
1
+ const EInstance = {
2
+ INSTANCE: 'RootOrg',
3
+ };
4
+ export { EInstance };
5
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5zdGFuY2VzLmVudW0uanMiLCJzb3VyY2VSb290Ijoibmc6Ly9Ac3VuYmlyZC1jYi91dGlscy12Mi8iLCJzb3VyY2VzIjpbImxpYi9jb25zdGFudHMvaW5zdGFuY2VzLmVudW0udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtJQUNFLFVBQVcsU0FBUyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCBlbnVtIEVJbnN0YW5jZSB7XHJcbiAgSU5TVEFOQ0UgPSAnUm9vdE9yZycsXHJcbn1cclxuIl19
@@ -0,0 +1 @@
1
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWlzYy5jb25zdGFudHMuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9Ac3VuYmlyZC1jYi91dGlscy12Mi8iLCJzb3VyY2VzIjpbImxpYi9jb25zdGFudHMvbWlzYy5jb25zdGFudHMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCB0eXBlIFRGZXRjaFN0YXR1cyA9ICdub25lJyB8ICdmZXRjaGluZycgfCAnZG9uZScgfCAnZXJyb3InIHwgJ2hhc01vcmUnXHJcbmV4cG9ydCB0eXBlIFRTZW5kU3RhdHVzID0gJ25vbmUnIHwgJ3NlbmRpbmcnIHwgJ2RvbmUnIHwgJ2Vycm9yJ1xyXG4iXX0=
@@ -0,0 +1,87 @@
1
+ import { Directive, Input, HostBinding } from '@angular/core';
2
+ import { fromEvent } from 'rxjs';
3
+ import { debounceTime } from 'rxjs/operators';
4
+ const ScrollingStateEnum = {
5
+ ScrollingUp: 0,
6
+ ScrollingDown: 1,
7
+ NoScrolling: 2,
8
+ };
9
+ ScrollingStateEnum[ScrollingStateEnum.ScrollingUp] = 'ScrollingUp';
10
+ ScrollingStateEnum[ScrollingStateEnum.ScrollingDown] = 'ScrollingDown';
11
+ ScrollingStateEnum[ScrollingStateEnum.NoScrolling] = 'NoScrolling';
12
+ export class ClassChangeOnScrollDirective {
13
+ constructor() {
14
+ this.wsClassOnScrollDirChange = 5000;
15
+ this.hasScrolledDown = false;
16
+ this.windowScrollSubscription = null;
17
+ this.lastScreenTop = 0;
18
+ this.currState = ScrollingStateEnum.NoScrolling;
19
+ }
20
+ get isScrollingDown() {
21
+ return this.currState === ScrollingStateEnum.ScrollingDown;
22
+ }
23
+ get isScrollingUp() {
24
+ return this.currState === ScrollingStateEnum.ScrollingUp;
25
+ }
26
+ get isNotScrolling() {
27
+ return this.currState === ScrollingStateEnum.NoScrolling;
28
+ }
29
+ ngOnInit() {
30
+ this.windowScrollSubscription = fromEvent(window, 'scroll')
31
+ .pipe(debounceTime(50))
32
+ .subscribe((() => {
33
+ clearTimeout(this.timeoutTimer);
34
+ const curr = window.scrollY;
35
+ this.hasScrolledDown = curr > 56;
36
+ this.setScrollState(this.lastScreenTop, curr);
37
+ this.lastScreenTop = curr;
38
+ }));
39
+ }
40
+ ngAfterViewInit() { }
41
+ ngOnDestroy() {
42
+ if (this.windowScrollSubscription) {
43
+ this.windowScrollSubscription.unsubscribe();
44
+ }
45
+ }
46
+ setScrollState(prev = 0, curr = 0) {
47
+ if (prev > curr) {
48
+ this.currState = ScrollingStateEnum.ScrollingUp;
49
+ }
50
+ else if (prev < curr) {
51
+ this.currState = ScrollingStateEnum.ScrollingDown;
52
+ }
53
+ else {
54
+ this.currState = ScrollingStateEnum.NoScrolling;
55
+ }
56
+ if (this.currState !== ScrollingStateEnum.NoScrolling) {
57
+ this.resetScrollingState();
58
+ }
59
+ }
60
+ resetScrollingState() {
61
+ this.timeoutTimer = setTimeout((() => {
62
+ this.setScrollState();
63
+ }), this.wsClassOnScrollDirChange || 5000);
64
+ }
65
+ }
66
+ ClassChangeOnScrollDirective.decorators = [
67
+ { type: Directive, args: [{
68
+ selector: '[wsUtilsClassChangeOnScroll]',
69
+ },] }
70
+ ];
71
+ ClassChangeOnScrollDirective.ctorParameters = () => [];
72
+ ClassChangeOnScrollDirective.propDecorators = {
73
+ wsClassOnScrollDirChange: [{ type: Input }],
74
+ isScrollingDown: [{ type: HostBinding, args: ['class.scrolling-down',] }],
75
+ isScrollingUp: [{ type: HostBinding, args: ['class.scrolling-up',] }],
76
+ isNotScrolling: [{ type: HostBinding, args: ['class.scrolling-no',] }],
77
+ hasScrolledDown: [{ type: HostBinding, args: ['class.scrolled-down',] }]
78
+ };
79
+ if (false) {
80
+ ClassChangeOnScrollDirective.prototype.wsClassOnScrollDirChange;
81
+ ClassChangeOnScrollDirective.prototype.hasScrolledDown;
82
+ ClassChangeOnScrollDirective.prototype.windowScrollSubscription;
83
+ ClassChangeOnScrollDirective.prototype.timeoutTimer;
84
+ ClassChangeOnScrollDirective.prototype.lastScreenTop;
85
+ ClassChangeOnScrollDirective.prototype.currState;
86
+ }
87
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2xhc3MtY2hhbmdlLW9uLXNjcm9sbC5kaXJlY3RpdmUuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9Ac3VuYmlyZC1jYi91dGlscy12Mi8iLCJzb3VyY2VzIjpbImxpYi9kaXJlY3RpdmVzL2NsYXNzLWNoYW5nZS1vbi1zY3JvbGwvY2xhc3MtY2hhbmdlLW9uLXNjcm9sbC5kaXJlY3RpdmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQVUsV0FBVyxFQUE0QixNQUFNLGVBQWUsQ0FBQTtBQUMvRixPQUFPLEVBQWdCLFNBQVMsRUFBRSxNQUFNLE1BQU0sQ0FBQTtBQUM5QyxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sZ0JBQWdCLENBQUE7O0lBRzNDLGNBQVc7SUFDWCxnQkFBYTtJQUNiLGNBQVc7Ozs7O0FBTWIsTUFBTSxPQUFPLDRCQUE0QjtJQW9CdkM7UUFsQlMsNkJBQXdCLEdBQUcsSUFBSSxDQUFBO1FBV0osb0JBQWUsR0FBRyxLQUFLLENBQUE7UUFFbkQsNkJBQXdCLEdBQXdCLElBQUksQ0FBQTtRQUdwRCxrQkFBYSxHQUFHLENBQUMsQ0FBQTtRQUNqQixjQUFTLEdBQXVCLGtCQUFrQixDQUFDLFdBQVcsQ0FBQTtJQUN0RCxDQUFDO0lBaEJqQixJQUF5QyxlQUFlO1FBQ3RELE9BQU8sSUFBSSxDQUFDLFNBQVMsS0FBSyxrQkFBa0IsQ0FBQyxhQUFhLENBQUE7SUFDNUQsQ0FBQztJQUNELElBQXVDLGFBQWE7UUFDbEQsT0FBTyxJQUFJLENBQUMsU0FBUyxLQUFLLGtCQUFrQixDQUFDLFdBQVcsQ0FBQTtJQUMxRCxDQUFDO0lBQ0QsSUFBdUMsY0FBYztRQUNuRCxPQUFPLElBQUksQ0FBQyxTQUFTLEtBQUssa0JBQWtCLENBQUMsV0FBVyxDQUFBO0lBQzFELENBQUM7SUFTRCxRQUFRO1FBQ04sSUFBSSxDQUFDLHdCQUF3QixHQUFHLFNBQVMsQ0FBUSxNQUFNLEVBQUUsUUFBUSxDQUFDO2FBQy9ELElBQUksQ0FBQyxZQUFZLENBQUMsRUFBRSxDQUFDLENBQUM7YUFDdEIsU0FBUyxFQUFDLEdBQUcsRUFBRTtZQUNkLFlBQVksQ0FBQyxJQUFJLENBQUMsWUFBWSxDQUFDLENBQUE7a0JBQ3pCLElBQUksR0FBRyxNQUFNLENBQUMsT0FBTztZQUMzQixJQUFJLENBQUMsZUFBZSxHQUFHLElBQUksR0FBRyxFQUFFLENBQUE7WUFDaEMsSUFBSSxDQUFDLGNBQWMsQ0FBQyxJQUFJLENBQUMsYUFBYSxFQUFFLElBQUksQ0FBQyxDQUFBO1lBQzdDLElBQUksQ0FBQyxhQUFhLEdBQUcsSUFBSSxDQUFBO1FBQzNCLENBQUMsRUFBQyxDQUFBO0lBQ04sQ0FBQztJQUVELGVBQWUsS0FBSyxDQUFDO0lBQ3JCLFdBQVc7UUFDVCxJQUFJLElBQUksQ0FBQyx3QkFBd0IsRUFBRTtZQUNqQyxJQUFJLENBQUMsd0JBQXdCLENBQUMsV0FBVyxFQUFFLENBQUE7U0FDNUM7SUFDSCxDQUFDO0lBRU8sY0FBYyxDQUFDLE9BQWUsQ0FBQyxFQUFFLE9BQWUsQ0FBQztRQUN2RCxJQUFJLElBQUksR0FBRyxJQUFJLEVBQUU7WUFDZixJQUFJLENBQUMsU0FBUyxHQUFHLGtCQUFrQixDQUFDLFdBQVcsQ0FBQTtTQUNoRDthQUFNLElBQUksSUFBSSxHQUFHLElBQUksRUFBRTtZQUN0QixJQUFJLENBQUMsU0FBUyxHQUFHLGtCQUFrQixDQUFDLGFBQWEsQ0FBQTtTQUNsRDthQUFNO1lBQ0wsSUFBSSxDQUFDLFNBQVMsR0FBRyxrQkFBa0IsQ0FBQyxXQUFXLENBQUE7U0FDaEQ7UUFDRCxJQUFJLElBQUksQ0FBQyxTQUFTLEtBQUssa0JBQWtCLENBQUMsV0FBVyxFQUFFO1lBQ3JELElBQUksQ0FBQyxtQkFBbUIsRUFBRSxDQUFBO1NBQzNCO0lBQ0gsQ0FBQztJQUNPLG1CQUFtQjtRQUN6QixJQUFJLENBQUMsWUFBWSxHQUFHLFVBQVUsRUFDNUIsR0FBRyxFQUFFO1lBQ0gsSUFBSSxDQUFDLGNBQWMsRUFBRSxDQUFBO1FBQ3ZCLENBQUMsR0FDRCxJQUFJLENBQUMsd0JBQXdCLElBQUksSUFBSSxDQUN0QyxDQUFBO0lBQ0gsQ0FBQzs7O1lBOURGLFNBQVMsU0FBQztnQkFDVCxRQUFRLEVBQUUsOEJBQThCO2FBQ3pDOzs7O3VDQUdFLEtBQUs7OEJBRUwsV0FBVyxTQUFDLHNCQUFzQjs0QkFHbEMsV0FBVyxTQUFDLG9CQUFvQjs2QkFHaEMsV0FBVyxTQUFDLG9CQUFvQjs4QkFHaEMsV0FBVyxTQUFDLHFCQUFxQjs7O0lBWGxDLGdFQUF3QztJQVd4Qyx1REFBMkQ7SUFFM0QsZ0VBQTREO0lBQzVELG9EQUF5QjtJQUV6QixxREFBeUI7SUFDekIsaURBQXNFIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRGlyZWN0aXZlLCBJbnB1dCwgT25Jbml0LCBIb3N0QmluZGluZywgT25EZXN0cm95LCBBZnRlclZpZXdJbml0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSdcclxuaW1wb3J0IHsgU3Vic2NyaXB0aW9uLCBmcm9tRXZlbnQgfSBmcm9tICdyeGpzJ1xyXG5pbXBvcnQgeyBkZWJvdW5jZVRpbWUgfSBmcm9tICdyeGpzL29wZXJhdG9ycydcclxuXHJcbmVudW0gU2Nyb2xsaW5nU3RhdGVFbnVtIHtcclxuICBTY3JvbGxpbmdVcCxcclxuICBTY3JvbGxpbmdEb3duLFxyXG4gIE5vU2Nyb2xsaW5nLFxyXG59XHJcblxyXG5ARGlyZWN0aXZlKHtcclxuICBzZWxlY3RvcjogJ1t3c1V0aWxzQ2xhc3NDaGFuZ2VPblNjcm9sbF0nLFxyXG59KVxyXG5leHBvcnQgY2xhc3MgQ2xhc3NDaGFuZ2VPblNjcm9sbERpcmVjdGl2ZSBpbXBsZW1lbnRzIE9uSW5pdCwgT25EZXN0cm95LCBBZnRlclZpZXdJbml0IHtcclxuXHJcbiAgQElucHV0KCkgd3NDbGFzc09uU2Nyb2xsRGlyQ2hhbmdlID0gNTAwMFxyXG5cclxuICBASG9zdEJpbmRpbmcoJ2NsYXNzLnNjcm9sbGluZy1kb3duJykgZ2V0IGlzU2Nyb2xsaW5nRG93bigpIHtcclxuICAgIHJldHVybiB0aGlzLmN1cnJTdGF0ZSA9PT0gU2Nyb2xsaW5nU3RhdGVFbnVtLlNjcm9sbGluZ0Rvd25cclxuICB9XHJcbiAgQEhvc3RCaW5kaW5nKCdjbGFzcy5zY3JvbGxpbmctdXAnKSBnZXQgaXNTY3JvbGxpbmdVcCgpIHtcclxuICAgIHJldHVybiB0aGlzLmN1cnJTdGF0ZSA9PT0gU2Nyb2xsaW5nU3RhdGVFbnVtLlNjcm9sbGluZ1VwXHJcbiAgfVxyXG4gIEBIb3N0QmluZGluZygnY2xhc3Muc2Nyb2xsaW5nLW5vJykgZ2V0IGlzTm90U2Nyb2xsaW5nKCkge1xyXG4gICAgcmV0dXJuIHRoaXMuY3VyclN0YXRlID09PSBTY3JvbGxpbmdTdGF0ZUVudW0uTm9TY3JvbGxpbmdcclxuICB9XHJcbiAgQEhvc3RCaW5kaW5nKCdjbGFzcy5zY3JvbGxlZC1kb3duJykgaGFzU2Nyb2xsZWREb3duID0gZmFsc2VcclxuXHJcbiAgcHJpdmF0ZSB3aW5kb3dTY3JvbGxTdWJzY3JpcHRpb246IFN1YnNjcmlwdGlvbiB8IG51bGwgPSBudWxsXHJcbiAgcHJpdmF0ZSB0aW1lb3V0VGltZXI6IGFueVxyXG5cclxuICBwcml2YXRlIGxhc3RTY3JlZW5Ub3AgPSAwXHJcbiAgcHJpdmF0ZSBjdXJyU3RhdGU6IFNjcm9sbGluZ1N0YXRlRW51bSA9IFNjcm9sbGluZ1N0YXRlRW51bS5Ob1Njcm9sbGluZ1xyXG4gIGNvbnN0cnVjdG9yKCkgeyB9XHJcbiAgbmdPbkluaXQoKSB7XHJcbiAgICB0aGlzLndpbmRvd1Njcm9sbFN1YnNjcmlwdGlvbiA9IGZyb21FdmVudDxFdmVudD4od2luZG93LCAnc2Nyb2xsJylcclxuICAgICAgLnBpcGUoZGVib3VuY2VUaW1lKDUwKSlcclxuICAgICAgLnN1YnNjcmliZSgoKSA9PiB7XHJcbiAgICAgICAgY2xlYXJUaW1lb3V0KHRoaXMudGltZW91dFRpbWVyKVxyXG4gICAgICAgIGNvbnN0IGN1cnIgPSB3aW5kb3cuc2Nyb2xsWVxyXG4gICAgICAgIHRoaXMuaGFzU2Nyb2xsZWREb3duID0gY3VyciA+IDU2XHJcbiAgICAgICAgdGhpcy5zZXRTY3JvbGxTdGF0ZSh0aGlzLmxhc3RTY3JlZW5Ub3AsIGN1cnIpXHJcbiAgICAgICAgdGhpcy5sYXN0U2NyZWVuVG9wID0gY3VyclxyXG4gICAgICB9KVxyXG4gIH1cclxuXHJcbiAgbmdBZnRlclZpZXdJbml0KCkgeyB9XHJcbiAgbmdPbkRlc3Ryb3koKSB7XHJcbiAgICBpZiAodGhpcy53aW5kb3dTY3JvbGxTdWJzY3JpcHRpb24pIHtcclxuICAgICAgdGhpcy53aW5kb3dTY3JvbGxTdWJzY3JpcHRpb24udW5zdWJzY3JpYmUoKVxyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBzZXRTY3JvbGxTdGF0ZShwcmV2OiBudW1iZXIgPSAwLCBjdXJyOiBudW1iZXIgPSAwKSB7XHJcbiAgICBpZiAocHJldiA+IGN1cnIpIHtcclxuICAgICAgdGhpcy5jdXJyU3RhdGUgPSBTY3JvbGxpbmdTdGF0ZUVudW0uU2Nyb2xsaW5nVXBcclxuICAgIH0gZWxzZSBpZiAocHJldiA8IGN1cnIpIHtcclxuICAgICAgdGhpcy5jdXJyU3RhdGUgPSBTY3JvbGxpbmdTdGF0ZUVudW0uU2Nyb2xsaW5nRG93blxyXG4gICAgfSBlbHNlIHtcclxuICAgICAgdGhpcy5jdXJyU3RhdGUgPSBTY3JvbGxpbmdTdGF0ZUVudW0uTm9TY3JvbGxpbmdcclxuICAgIH1cclxuICAgIGlmICh0aGlzLmN1cnJTdGF0ZSAhPT0gU2Nyb2xsaW5nU3RhdGVFbnVtLk5vU2Nyb2xsaW5nKSB7XHJcbiAgICAgIHRoaXMucmVzZXRTY3JvbGxpbmdTdGF0ZSgpXHJcbiAgICB9XHJcbiAgfVxyXG4gIHByaXZhdGUgcmVzZXRTY3JvbGxpbmdTdGF0ZSgpIHtcclxuICAgIHRoaXMudGltZW91dFRpbWVyID0gc2V0VGltZW91dChcclxuICAgICAgKCkgPT4ge1xyXG4gICAgICAgIHRoaXMuc2V0U2Nyb2xsU3RhdGUoKVxyXG4gICAgICB9LFxyXG4gICAgICB0aGlzLndzQ2xhc3NPblNjcm9sbERpckNoYW5nZSB8fCA1MDAwLFxyXG4gICAgKVxyXG4gIH1cclxuXHJcbn1cclxuIl19
@@ -0,0 +1,15 @@
1
+ import { NgModule } from '@angular/core';
2
+ import { CommonModule } from '@angular/common';
3
+ import { ClassChangeOnScrollDirective } from './class-change-on-scroll.directive';
4
+ export class ClassChangeOnScrollModule {
5
+ }
6
+ ClassChangeOnScrollModule.decorators = [
7
+ { type: NgModule, args: [{
8
+ declarations: [ClassChangeOnScrollDirective],
9
+ imports: [
10
+ CommonModule,
11
+ ],
12
+ exports: [ClassChangeOnScrollDirective],
13
+ },] }
14
+ ];
15
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2xhc3MtY2hhbmdlLW9uLXNjcm9sbC5tb2R1bGUuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9Ac3VuYmlyZC1jYi91dGlscy12Mi8iLCJzb3VyY2VzIjpbImxpYi9kaXJlY3RpdmVzL2NsYXNzLWNoYW5nZS1vbi1zY3JvbGwvY2xhc3MtY2hhbmdlLW9uLXNjcm9sbC5tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQTtBQUN4QyxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUE7QUFDOUMsT0FBTyxFQUFFLDRCQUE0QixFQUFFLE1BQU0sb0NBQW9DLENBQUE7QUFTakYsTUFBTSxPQUFPLHlCQUF5Qjs7O1lBUHJDLFFBQVEsU0FBQztnQkFDUixZQUFZLEVBQUUsQ0FBQyw0QkFBNEIsQ0FBQztnQkFDNUMsT0FBTyxFQUFFO29CQUNQLFlBQVk7aUJBQ2I7Z0JBQ0QsT0FBTyxFQUFFLENBQUMsNEJBQTRCLENBQUM7YUFDeEMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBOZ01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnXHJcbmltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbidcclxuaW1wb3J0IHsgQ2xhc3NDaGFuZ2VPblNjcm9sbERpcmVjdGl2ZSB9IGZyb20gJy4vY2xhc3MtY2hhbmdlLW9uLXNjcm9sbC5kaXJlY3RpdmUnXHJcblxyXG5ATmdNb2R1bGUoe1xyXG4gIGRlY2xhcmF0aW9uczogW0NsYXNzQ2hhbmdlT25TY3JvbGxEaXJlY3RpdmVdLFxyXG4gIGltcG9ydHM6IFtcclxuICAgIENvbW1vbk1vZHVsZSxcclxuICBdLFxyXG4gIGV4cG9ydHM6IFtDbGFzc0NoYW5nZU9uU2Nyb2xsRGlyZWN0aXZlXSxcclxufSlcclxuZXhwb3J0IGNsYXNzIENsYXNzQ2hhbmdlT25TY3JvbGxNb2R1bGUgeyB9XHJcbiJdfQ==
@@ -0,0 +1,38 @@
1
+ import { Directive, Input, HostListener, HostBinding } from '@angular/core';
2
+ export class DefaultThumbnailDirective {
3
+ constructor() {
4
+ this.wsUtilsDefaultThumbnail = '';
5
+ this.src = '';
6
+ this.isSrcUpdateAttemptedForDefault = false;
7
+ this.srcUrl = '';
8
+ }
9
+ updateSrc() {
10
+ if (!this.isSrcUpdateAttemptedForDefault) {
11
+ this.srcUrl = this.wsUtilsDefaultThumbnail;
12
+ this.isSrcUpdateAttemptedForDefault = true;
13
+ }
14
+ }
15
+ ngOnChanges() {
16
+ if (this.src) {
17
+ this.srcUrl = this.src;
18
+ }
19
+ }
20
+ }
21
+ DefaultThumbnailDirective.decorators = [
22
+ { type: Directive, args: [{
23
+ selector: '[wsUtilsDefaultThumbnail]',
24
+ },] }
25
+ ];
26
+ DefaultThumbnailDirective.propDecorators = {
27
+ wsUtilsDefaultThumbnail: [{ type: Input }],
28
+ src: [{ type: Input }],
29
+ srcUrl: [{ type: HostBinding, args: ['src',] }],
30
+ updateSrc: [{ type: HostListener, args: ['error',] }]
31
+ };
32
+ if (false) {
33
+ DefaultThumbnailDirective.prototype.wsUtilsDefaultThumbnail;
34
+ DefaultThumbnailDirective.prototype.src;
35
+ DefaultThumbnailDirective.prototype.isSrcUpdateAttemptedForDefault;
36
+ DefaultThumbnailDirective.prototype.srcUrl;
37
+ }
38
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGVmYXVsdC10aHVtYm5haWwuZGlyZWN0aXZlLmpzIiwic291cmNlUm9vdCI6Im5nOi8vQHN1bmJpcmQtY2IvdXRpbHMtdjIvIiwic291cmNlcyI6WyJsaWIvZGlyZWN0aXZlcy9kZWZhdWx0LXRodW1ibmFpbC9kZWZhdWx0LXRodW1ibmFpbC5kaXJlY3RpdmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQUUsWUFBWSxFQUFFLFdBQVcsRUFBYSxNQUFNLGVBQWUsQ0FBQTtBQUt0RixNQUFNLE9BQU8seUJBQXlCO0lBSHRDO1FBS1csNEJBQXVCLEdBQUcsRUFBRSxDQUFBO1FBQzVCLFFBQUcsR0FBRyxFQUFFLENBQUE7UUFDakIsbUNBQThCLEdBQUcsS0FBSyxDQUFBO1FBRWxCLFdBQU0sR0FBRyxFQUFFLENBQUE7SUFjakMsQ0FBQztJQWJ3QixTQUFTO1FBQzlCLElBQUksQ0FBQyxJQUFJLENBQUMsOEJBQThCLEVBQUU7WUFDeEMsSUFBSSxDQUFDLE1BQU0sR0FBRyxJQUFJLENBQUMsdUJBQXVCLENBQUE7WUFDMUMsSUFBSSxDQUFDLDhCQUE4QixHQUFHLElBQUksQ0FBQTtTQUMzQztJQUNILENBQUM7SUFFRCxXQUFXO1FBQ1QsSUFBSSxJQUFJLENBQUMsR0FBRyxFQUFFO1lBQ1osSUFBSSxDQUFDLE1BQU0sR0FBRyxJQUFJLENBQUMsR0FBRyxDQUFBO1NBQ3ZCO0lBQ0gsQ0FBQzs7O1lBckJGLFNBQVMsU0FBQztnQkFDVCxRQUFRLEVBQUUsMkJBQTJCO2FBQ3RDOzs7c0NBR0UsS0FBSztrQkFDTCxLQUFLO3FCQUdMLFdBQVcsU0FBQyxLQUFLO3dCQUNqQixZQUFZLFNBQUMsT0FBTzs7O0lBTHJCLDREQUFxQztJQUNyQyx3Q0FBaUI7SUFDakIsbUVBQXNDO0lBRXRDLDJDQUErQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IERpcmVjdGl2ZSwgSW5wdXQsIEhvc3RMaXN0ZW5lciwgSG9zdEJpbmRpbmcsIE9uQ2hhbmdlcyB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnXHJcblxyXG5ARGlyZWN0aXZlKHtcclxuICBzZWxlY3RvcjogJ1t3c1V0aWxzRGVmYXVsdFRodW1ibmFpbF0nLFxyXG59KVxyXG5leHBvcnQgY2xhc3MgRGVmYXVsdFRodW1ibmFpbERpcmVjdGl2ZSBpbXBsZW1lbnRzIE9uQ2hhbmdlcyB7XHJcblxyXG4gIEBJbnB1dCgpIHdzVXRpbHNEZWZhdWx0VGh1bWJuYWlsID0gJydcclxuICBASW5wdXQoKSBzcmMgPSAnJ1xyXG4gIGlzU3JjVXBkYXRlQXR0ZW1wdGVkRm9yRGVmYXVsdCA9IGZhbHNlXHJcblxyXG4gIEBIb3N0QmluZGluZygnc3JjJykgc3JjVXJsID0gJydcclxuICBASG9zdExpc3RlbmVyKCdlcnJvcicpIHVwZGF0ZVNyYygpIHtcclxuICAgIGlmICghdGhpcy5pc1NyY1VwZGF0ZUF0dGVtcHRlZEZvckRlZmF1bHQpIHtcclxuICAgICAgdGhpcy5zcmNVcmwgPSB0aGlzLndzVXRpbHNEZWZhdWx0VGh1bWJuYWlsXHJcbiAgICAgIHRoaXMuaXNTcmNVcGRhdGVBdHRlbXB0ZWRGb3JEZWZhdWx0ID0gdHJ1ZVxyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgbmdPbkNoYW5nZXMoKSB7XHJcbiAgICBpZiAodGhpcy5zcmMpIHtcclxuICAgICAgdGhpcy5zcmNVcmwgPSB0aGlzLnNyY1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbn1cclxuIl19
@@ -0,0 +1,15 @@
1
+ import { NgModule } from '@angular/core';
2
+ import { CommonModule } from '@angular/common';
3
+ import { DefaultThumbnailDirective } from './default-thumbnail.directive';
4
+ export class DefaultThumbnailModule {
5
+ }
6
+ DefaultThumbnailModule.decorators = [
7
+ { type: NgModule, args: [{
8
+ declarations: [DefaultThumbnailDirective],
9
+ imports: [
10
+ CommonModule,
11
+ ],
12
+ exports: [DefaultThumbnailDirective],
13
+ },] }
14
+ ];
15
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGVmYXVsdC10aHVtYm5haWwubW9kdWxlLmpzIiwic291cmNlUm9vdCI6Im5nOi8vQHN1bmJpcmQtY2IvdXRpbHMtdjIvIiwic291cmNlcyI6WyJsaWIvZGlyZWN0aXZlcy9kZWZhdWx0LXRodW1ibmFpbC9kZWZhdWx0LXRodW1ibmFpbC5tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQTtBQUN4QyxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUE7QUFDOUMsT0FBTyxFQUFFLHlCQUF5QixFQUFFLE1BQU0sK0JBQStCLENBQUE7QUFTekUsTUFBTSxPQUFPLHNCQUFzQjs7O1lBUGxDLFFBQVEsU0FBQztnQkFDUixZQUFZLEVBQUUsQ0FBQyx5QkFBeUIsQ0FBQztnQkFDekMsT0FBTyxFQUFFO29CQUNQLFlBQVk7aUJBQ2I7Z0JBQ0QsT0FBTyxFQUFFLENBQUMseUJBQXlCLENBQUM7YUFDckMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBOZ01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnXHJcbmltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbidcclxuaW1wb3J0IHsgRGVmYXVsdFRodW1ibmFpbERpcmVjdGl2ZSB9IGZyb20gJy4vZGVmYXVsdC10aHVtYm5haWwuZGlyZWN0aXZlJ1xyXG5cclxuQE5nTW9kdWxlKHtcclxuICBkZWNsYXJhdGlvbnM6IFtEZWZhdWx0VGh1bWJuYWlsRGlyZWN0aXZlXSxcclxuICBpbXBvcnRzOiBbXHJcbiAgICBDb21tb25Nb2R1bGUsXHJcbiAgXSxcclxuICBleHBvcnRzOiBbRGVmYXVsdFRodW1ibmFpbERpcmVjdGl2ZV0sXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBEZWZhdWx0VGh1bWJuYWlsTW9kdWxlIHsgfVxyXG4iXX0=
@@ -0,0 +1,92 @@
1
+ import { BreakpointObserver } from '@angular/cdk/layout';
2
+ import { Directive, HostBinding, Input } from '@angular/core';
3
+ import { distinctUntilChanged } from 'rxjs/operators';
4
+ export function IImageResponsiveUnit() { }
5
+ const customBreakPoints = {
6
+ xs: '(max-width: 450px)',
7
+ s: '(min-width: 450.001px) and (max-width: 768px)',
8
+ m: '(min-width: 768.001px) and (max-width: 1024px)',
9
+ l: '(min-width: 1024.001px) and (max-width: 1400px)',
10
+ xl: '(min-width: 1400.001px) and (max-width: 1920px)',
11
+ xxl: '(min-width: 1920.001px)',
12
+ };
13
+ export class ImageResponsiveDirective {
14
+ constructor(breakpointObserver) {
15
+ this.breakpointObserver = breakpointObserver;
16
+ this.src = null;
17
+ this.srcBindUrl = '';
18
+ this.currentSize = '';
19
+ this.breakpointSubscription = null;
20
+ this.breakpointSubscription = this.breakpointObserver
21
+ .observe([
22
+ customBreakPoints.xs,
23
+ customBreakPoints.s,
24
+ customBreakPoints.m,
25
+ customBreakPoints.l,
26
+ customBreakPoints.xl,
27
+ customBreakPoints.xxl,
28
+ ])
29
+ .pipe(distinctUntilChanged())
30
+ .subscribe((data => {
31
+ if (data.breakpoints[customBreakPoints.xxl]) {
32
+ this.currentSize = 'xxl';
33
+ }
34
+ else if (data.breakpoints[customBreakPoints.xl]) {
35
+ this.currentSize = 'xl';
36
+ }
37
+ else if (data.breakpoints[customBreakPoints.l]) {
38
+ this.currentSize = 'l';
39
+ }
40
+ else if (data.breakpoints[customBreakPoints.m]) {
41
+ this.currentSize = 'm';
42
+ }
43
+ else if (data.breakpoints[customBreakPoints.s]) {
44
+ this.currentSize = 's';
45
+ }
46
+ else if (data.breakpoints[customBreakPoints.xs]) {
47
+ this.currentSize = 'xs';
48
+ }
49
+ else {
50
+ this.currentSize = 'xl';
51
+ }
52
+ this.setSrc();
53
+ }));
54
+ }
55
+ ngOnChanges() {
56
+ if (this.src) {
57
+ this.setSrc();
58
+ }
59
+ }
60
+ ngOnDestroy() {
61
+ if (this.breakpointSubscription) {
62
+ this.breakpointSubscription.unsubscribe();
63
+ }
64
+ }
65
+ setSrc() {
66
+ if (this.currentSize &&
67
+ this.src &&
68
+ this.src[this.currentSize]) {
69
+ this.srcBindUrl = this.src[this.currentSize];
70
+ }
71
+ }
72
+ }
73
+ ImageResponsiveDirective.decorators = [
74
+ { type: Directive, args: [{
75
+ selector: '[wsUtilsImageResponsive]',
76
+ },] }
77
+ ];
78
+ ImageResponsiveDirective.ctorParameters = () => [
79
+ { type: BreakpointObserver }
80
+ ];
81
+ ImageResponsiveDirective.propDecorators = {
82
+ src: [{ type: Input }],
83
+ srcBindUrl: [{ type: HostBinding, args: ['src',] }]
84
+ };
85
+ if (false) {
86
+ ImageResponsiveDirective.prototype.src;
87
+ ImageResponsiveDirective.prototype.srcBindUrl;
88
+ ImageResponsiveDirective.prototype.currentSize;
89
+ ImageResponsiveDirective.prototype.breakpointSubscription;
90
+ ImageResponsiveDirective.prototype.breakpointObserver;
91
+ }
92
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW1hZ2UtcmVzcG9uc2l2ZS5kaXJlY3RpdmUuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9Ac3VuYmlyZC1jYi91dGlscy12Mi8iLCJzb3VyY2VzIjpbImxpYi9kaXJlY3RpdmVzL2ltYWdlLXJlc3BvbnNpdmUvaW1hZ2UtcmVzcG9uc2l2ZS5kaXJlY3RpdmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0scUJBQXFCLENBQUE7QUFDeEQsT0FBTyxFQUFFLFNBQVMsRUFBRSxXQUFXLEVBQUUsS0FBSyxFQUF3QixNQUFNLGVBQWUsQ0FBQTtBQUVuRixPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQTtBQUVyRCwwQ0FFQztNQUVLLGlCQUFpQixHQUFHO0lBQ3hCLEVBQUUsRUFBRSxvQkFBb0I7SUFDeEIsQ0FBQyxFQUFFLCtDQUErQztJQUNsRCxDQUFDLEVBQUUsZ0RBQWdEO0lBQ25ELENBQUMsRUFBRSxpREFBaUQ7SUFDcEQsRUFBRSxFQUFFLGlEQUFpRDtJQUNyRCxHQUFHLEVBQUUseUJBQXlCO0NBQy9CO0FBS0QsTUFBTSxPQUFPLHdCQUF3QjtJQU9uQyxZQUNVLGtCQUFzQztRQUF0Qyx1QkFBa0IsR0FBbEIsa0JBQWtCLENBQW9CO1FBTnZDLFFBQUcsR0FBZ0MsSUFBSSxDQUFBO1FBQzVCLGVBQVUsR0FBRyxFQUFFLENBQUE7UUFFbkMsZ0JBQVcsR0FBRyxFQUFFLENBQUE7UUFDaEIsMkJBQXNCLEdBQXdCLElBQUksQ0FBQTtRQUloRCxJQUFJLENBQUMsc0JBQXNCLEdBQUcsSUFBSSxDQUFDLGtCQUFrQjthQUNsRCxPQUFPLENBQUM7WUFDUCxpQkFBaUIsQ0FBQyxFQUFFO1lBQ3BCLGlCQUFpQixDQUFDLENBQUM7WUFDbkIsaUJBQWlCLENBQUMsQ0FBQztZQUNuQixpQkFBaUIsQ0FBQyxDQUFDO1lBQ25CLGlCQUFpQixDQUFDLEVBQUU7WUFDcEIsaUJBQWlCLENBQUMsR0FBRztTQUN0QixDQUFDO2FBQ0QsSUFBSSxDQUFDLG9CQUFvQixFQUFFLENBQUM7YUFDNUIsU0FBUyxFQUFDLElBQUksQ0FBQyxFQUFFO1lBRWhCLElBQUksSUFBSSxDQUFDLFdBQVcsQ0FBQyxpQkFBaUIsQ0FBQyxHQUFHLENBQUMsRUFBRTtnQkFDM0MsSUFBSSxDQUFDLFdBQVcsR0FBRyxLQUFLLENBQUE7YUFDekI7aUJBQU0sSUFBSSxJQUFJLENBQUMsV0FBVyxDQUFDLGlCQUFpQixDQUFDLEVBQUUsQ0FBQyxFQUFFO2dCQUNqRCxJQUFJLENBQUMsV0FBVyxHQUFHLElBQUksQ0FBQTthQUN4QjtpQkFBTSxJQUFJLElBQUksQ0FBQyxXQUFXLENBQUMsaUJBQWlCLENBQUMsQ0FBQyxDQUFDLEVBQUU7Z0JBQ2hELElBQUksQ0FBQyxXQUFXLEdBQUcsR0FBRyxDQUFBO2FBQ3ZCO2lCQUFNLElBQUksSUFBSSxDQUFDLFdBQVcsQ0FBQyxpQkFBaUIsQ0FBQyxDQUFDLENBQUMsRUFBRTtnQkFDaEQsSUFBSSxDQUFDLFdBQVcsR0FBRyxHQUFHLENBQUE7YUFDdkI7aUJBQU0sSUFBSSxJQUFJLENBQUMsV0FBVyxDQUFDLGlCQUFpQixDQUFDLENBQUMsQ0FBQyxFQUFFO2dCQUNoRCxJQUFJLENBQUMsV0FBVyxHQUFHLEdBQUcsQ0FBQTthQUN2QjtpQkFBTSxJQUFJLElBQUksQ0FBQyxXQUFXLENBQUMsaUJBQWlCLENBQUMsRUFBRSxDQUFDLEVBQUU7Z0JBQ2pELElBQUksQ0FBQyxXQUFXLEdBQUcsSUFBSSxDQUFBO2FBQ3hCO2lCQUFNO2dCQUNMLElBQUksQ0FBQyxXQUFXLEdBQUcsSUFBSSxDQUFBO2FBQ3hCO1lBQ0QsSUFBSSxDQUFDLE1BQU0sRUFBRSxDQUFBO1FBQ2YsQ0FBQyxFQUFDLENBQUE7SUFDTixDQUFDO0lBRUQsV0FBVztRQUNULElBQUksSUFBSSxDQUFDLEdBQUcsRUFBRTtZQUNaLElBQUksQ0FBQyxNQUFNLEVBQUUsQ0FBQTtTQUNkO0lBQ0gsQ0FBQztJQUVELFdBQVc7UUFDVCxJQUFJLElBQUksQ0FBQyxzQkFBc0IsRUFBRTtZQUMvQixJQUFJLENBQUMsc0JBQXNCLENBQUMsV0FBVyxFQUFFLENBQUE7U0FDMUM7SUFDSCxDQUFDO0lBRU8sTUFBTTtRQUNaLElBQ0UsSUFBSSxDQUFDLFdBQVc7WUFDaEIsSUFBSSxDQUFDLEdBQUc7WUFDUixJQUFJLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsRUFDMUI7WUFDQSxJQUFJLENBQUMsVUFBVSxHQUFHLElBQUksQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxDQUFBO1NBQzdDO0lBQ0gsQ0FBQzs7O1lBaEVGLFNBQVMsU0FBQztnQkFDVCxRQUFRLEVBQUUsMEJBQTBCO2FBQ3JDOzs7WUFwQlEsa0JBQWtCOzs7a0JBdUJ4QixLQUFLO3lCQUNMLFdBQVcsU0FBQyxLQUFLOzs7SUFEbEIsdUNBQWdEO0lBQ2hELDhDQUFtQztJQUVuQywrQ0FBZ0I7SUFDaEIsMERBQWtEO0lBRWhELHNEQUE4QyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEJyZWFrcG9pbnRPYnNlcnZlciB9IGZyb20gJ0Bhbmd1bGFyL2Nkay9sYXlvdXQnXHJcbmltcG9ydCB7IERpcmVjdGl2ZSwgSG9zdEJpbmRpbmcsIElucHV0LCBPbkNoYW5nZXMsIE9uRGVzdHJveSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnXHJcbmltcG9ydCB7IFN1YnNjcmlwdGlvbiB9IGZyb20gJ3J4anMnXHJcbmltcG9ydCB7IGRpc3RpbmN0VW50aWxDaGFuZ2VkIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnXHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIElJbWFnZVJlc3BvbnNpdmVVbml0IHtcclxuICBba2V5OiBzdHJpbmddOiBzdHJpbmdcclxufVxyXG5cclxuY29uc3QgY3VzdG9tQnJlYWtQb2ludHMgPSB7XHJcbiAgeHM6ICcobWF4LXdpZHRoOiA0NTBweCknLFxyXG4gIHM6ICcobWluLXdpZHRoOiA0NTAuMDAxcHgpIGFuZCAobWF4LXdpZHRoOiA3NjhweCknLFxyXG4gIG06ICcobWluLXdpZHRoOiA3NjguMDAxcHgpIGFuZCAobWF4LXdpZHRoOiAxMDI0cHgpJyxcclxuICBsOiAnKG1pbi13aWR0aDogMTAyNC4wMDFweCkgYW5kIChtYXgtd2lkdGg6IDE0MDBweCknLFxyXG4gIHhsOiAnKG1pbi13aWR0aDogMTQwMC4wMDFweCkgYW5kIChtYXgtd2lkdGg6IDE5MjBweCknLFxyXG4gIHh4bDogJyhtaW4td2lkdGg6IDE5MjAuMDAxcHgpJyxcclxufVxyXG5cclxuQERpcmVjdGl2ZSh7XHJcbiAgc2VsZWN0b3I6ICdbd3NVdGlsc0ltYWdlUmVzcG9uc2l2ZV0nLFxyXG59KVxyXG5leHBvcnQgY2xhc3MgSW1hZ2VSZXNwb25zaXZlRGlyZWN0aXZlIGltcGxlbWVudHMgT25DaGFuZ2VzLCBPbkRlc3Ryb3kge1xyXG5cclxuICBASW5wdXQoKSBzcmM6IElJbWFnZVJlc3BvbnNpdmVVbml0IHwgbnVsbCA9IG51bGxcclxuICBASG9zdEJpbmRpbmcoJ3NyYycpIHNyY0JpbmRVcmwgPSAnJ1xyXG5cclxuICBjdXJyZW50U2l6ZSA9ICcnXHJcbiAgYnJlYWtwb2ludFN1YnNjcmlwdGlvbjogU3Vic2NyaXB0aW9uIHwgbnVsbCA9IG51bGxcclxuICBjb25zdHJ1Y3RvcihcclxuICAgIHByaXZhdGUgYnJlYWtwb2ludE9ic2VydmVyOiBCcmVha3BvaW50T2JzZXJ2ZXIsXHJcbiAgKSB7XHJcbiAgICB0aGlzLmJyZWFrcG9pbnRTdWJzY3JpcHRpb24gPSB0aGlzLmJyZWFrcG9pbnRPYnNlcnZlclxyXG4gICAgICAub2JzZXJ2ZShbXHJcbiAgICAgICAgY3VzdG9tQnJlYWtQb2ludHMueHMsXHJcbiAgICAgICAgY3VzdG9tQnJlYWtQb2ludHMucyxcclxuICAgICAgICBjdXN0b21CcmVha1BvaW50cy5tLFxyXG4gICAgICAgIGN1c3RvbUJyZWFrUG9pbnRzLmwsXHJcbiAgICAgICAgY3VzdG9tQnJlYWtQb2ludHMueGwsXHJcbiAgICAgICAgY3VzdG9tQnJlYWtQb2ludHMueHhsLFxyXG4gICAgICBdKVxyXG4gICAgICAucGlwZShkaXN0aW5jdFVudGlsQ2hhbmdlZCgpKVxyXG4gICAgICAuc3Vic2NyaWJlKGRhdGEgPT4ge1xyXG4gICAgICAgIC8vIC8vY29uc29sZS5sb2coJ2RhdGEgPicsICBkYXRhKVxyXG4gICAgICAgIGlmIChkYXRhLmJyZWFrcG9pbnRzW2N1c3RvbUJyZWFrUG9pbnRzLnh4bF0pIHtcclxuICAgICAgICAgIHRoaXMuY3VycmVudFNpemUgPSAneHhsJ1xyXG4gICAgICAgIH0gZWxzZSBpZiAoZGF0YS5icmVha3BvaW50c1tjdXN0b21CcmVha1BvaW50cy54bF0pIHtcclxuICAgICAgICAgIHRoaXMuY3VycmVudFNpemUgPSAneGwnXHJcbiAgICAgICAgfSBlbHNlIGlmIChkYXRhLmJyZWFrcG9pbnRzW2N1c3RvbUJyZWFrUG9pbnRzLmxdKSB7XHJcbiAgICAgICAgICB0aGlzLmN1cnJlbnRTaXplID0gJ2wnXHJcbiAgICAgICAgfSBlbHNlIGlmIChkYXRhLmJyZWFrcG9pbnRzW2N1c3RvbUJyZWFrUG9pbnRzLm1dKSB7XHJcbiAgICAgICAgICB0aGlzLmN1cnJlbnRTaXplID0gJ20nXHJcbiAgICAgICAgfSBlbHNlIGlmIChkYXRhLmJyZWFrcG9pbnRzW2N1c3RvbUJyZWFrUG9pbnRzLnNdKSB7XHJcbiAgICAgICAgICB0aGlzLmN1cnJlbnRTaXplID0gJ3MnXHJcbiAgICAgICAgfSBlbHNlIGlmIChkYXRhLmJyZWFrcG9pbnRzW2N1c3RvbUJyZWFrUG9pbnRzLnhzXSkge1xyXG4gICAgICAgICAgdGhpcy5jdXJyZW50U2l6ZSA9ICd4cydcclxuICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgdGhpcy5jdXJyZW50U2l6ZSA9ICd4bCdcclxuICAgICAgICB9XHJcbiAgICAgICAgdGhpcy5zZXRTcmMoKVxyXG4gICAgICB9KVxyXG4gIH1cclxuXHJcbiAgbmdPbkNoYW5nZXMoKSB7XHJcbiAgICBpZiAodGhpcy5zcmMpIHtcclxuICAgICAgdGhpcy5zZXRTcmMoKVxyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgbmdPbkRlc3Ryb3koKSB7XHJcbiAgICBpZiAodGhpcy5icmVha3BvaW50U3Vic2NyaXB0aW9uKSB7XHJcbiAgICAgIHRoaXMuYnJlYWtwb2ludFN1YnNjcmlwdGlvbi51bnN1YnNjcmliZSgpXHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIHNldFNyYygpIHtcclxuICAgIGlmIChcclxuICAgICAgdGhpcy5jdXJyZW50U2l6ZSAmJlxyXG4gICAgICB0aGlzLnNyYyAmJlxyXG4gICAgICB0aGlzLnNyY1t0aGlzLmN1cnJlbnRTaXplXVxyXG4gICAgKSB7XHJcbiAgICAgIHRoaXMuc3JjQmluZFVybCA9IHRoaXMuc3JjW3RoaXMuY3VycmVudFNpemVdXHJcbiAgICB9XHJcbiAgfVxyXG5cclxufVxyXG4iXX0=
@@ -0,0 +1,15 @@
1
+ import { NgModule } from '@angular/core';
2
+ import { CommonModule } from '@angular/common';
3
+ import { ImageResponsiveDirective } from './image-responsive.directive';
4
+ export class ImageResponsiveModule {
5
+ }
6
+ ImageResponsiveModule.decorators = [
7
+ { type: NgModule, args: [{
8
+ declarations: [ImageResponsiveDirective],
9
+ imports: [
10
+ CommonModule,
11
+ ],
12
+ exports: [ImageResponsiveDirective],
13
+ },] }
14
+ ];
15
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW1hZ2UtcmVzcG9uc2l2ZS5tb2R1bGUuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9Ac3VuYmlyZC1jYi91dGlscy12Mi8iLCJzb3VyY2VzIjpbImxpYi9kaXJlY3RpdmVzL2ltYWdlLXJlc3BvbnNpdmUvaW1hZ2UtcmVzcG9uc2l2ZS5tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQTtBQUN4QyxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUE7QUFDOUMsT0FBTyxFQUFFLHdCQUF3QixFQUFFLE1BQU0sOEJBQThCLENBQUE7QUFTdkUsTUFBTSxPQUFPLHFCQUFxQjs7O1lBUGpDLFFBQVEsU0FBQztnQkFDUixZQUFZLEVBQUUsQ0FBQyx3QkFBd0IsQ0FBQztnQkFDeEMsT0FBTyxFQUFFO29CQUNQLFlBQVk7aUJBQ2I7Z0JBQ0QsT0FBTyxFQUFFLENBQUMsd0JBQXdCLENBQUM7YUFDcEMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBOZ01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnXHJcbmltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbidcclxuaW1wb3J0IHsgSW1hZ2VSZXNwb25zaXZlRGlyZWN0aXZlIH0gZnJvbSAnLi9pbWFnZS1yZXNwb25zaXZlLmRpcmVjdGl2ZSdcclxuXHJcbkBOZ01vZHVsZSh7XHJcbiAgZGVjbGFyYXRpb25zOiBbSW1hZ2VSZXNwb25zaXZlRGlyZWN0aXZlXSxcclxuICBpbXBvcnRzOiBbXHJcbiAgICBDb21tb25Nb2R1bGUsXHJcbiAgXSxcclxuICBleHBvcnRzOiBbSW1hZ2VSZXNwb25zaXZlRGlyZWN0aXZlXSxcclxufSlcclxuZXhwb3J0IGNsYXNzIEltYWdlUmVzcG9uc2l2ZU1vZHVsZSB7IH1cclxuIl19
@@ -0,0 +1,68 @@
1
+ import { Directive, Output, EventEmitter, ElementRef } from '@angular/core';
2
+ import { fromEvent } from 'rxjs';
3
+ import { debounceTime } from 'rxjs/operators';
4
+ export class InViewPortDirective {
5
+ constructor(_el) {
6
+ this._el = _el;
7
+ this.inViewport = new EventEmitter();
8
+ }
9
+ ngOnInit() {
10
+ this.check();
11
+ this.scroll =
12
+ fromEvent(window, 'scroll').pipe(debounceTime(100)).subscribe((() => {
13
+ this.check();
14
+ }));
15
+ this.resize =
16
+ fromEvent(window, 'resize').pipe(debounceTime(100)).subscribe((() => {
17
+ this.check();
18
+ }));
19
+ }
20
+ ngOnDestroy() {
21
+ this.scroll.unsubscribe();
22
+ this.resize.unsubscribe();
23
+ }
24
+ check(partial = true, direction = 'both') {
25
+ const el = this._el.nativeElement;
26
+ const elSize = (el.offsetWidth * el.offsetHeight);
27
+ const rec = el.getBoundingClientRect();
28
+ const vp = {
29
+ width: window.innerWidth,
30
+ height: window.innerHeight,
31
+ };
32
+ const tViz = rec.top >= 0 && rec.top < vp.height;
33
+ const bViz = rec.bottom > 0 && rec.bottom <= vp.height;
34
+ const lViz = rec.left >= 0 && rec.left < vp.width;
35
+ const rViz = rec.right > 0 && rec.right <= vp.width;
36
+ const vVisible = partial ? tViz || bViz : tViz && bViz;
37
+ const hVisible = partial ? lViz || rViz : lViz && rViz;
38
+ let event = false;
39
+ if (direction === 'both') {
40
+ event = (elSize && vVisible && hVisible) ? true : false;
41
+ }
42
+ else if (direction === 'vertical') {
43
+ event = (elSize && vVisible) ? true : false;
44
+ }
45
+ else if (direction === 'horizontal') {
46
+ event = (elSize && hVisible) ? true : false;
47
+ }
48
+ this.inViewport.emit(event);
49
+ }
50
+ }
51
+ InViewPortDirective.decorators = [
52
+ { type: Directive, args: [{
53
+ selector: '[wsUtilsInViewPort]',
54
+ },] }
55
+ ];
56
+ InViewPortDirective.ctorParameters = () => [
57
+ { type: ElementRef }
58
+ ];
59
+ InViewPortDirective.propDecorators = {
60
+ inViewport: [{ type: Output }]
61
+ };
62
+ if (false) {
63
+ InViewPortDirective.prototype.scroll;
64
+ InViewPortDirective.prototype.resize;
65
+ InViewPortDirective.prototype.inViewport;
66
+ InViewPortDirective.prototype._el;
67
+ }
68
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW4tdmlldy1wb3J0LmRpcmVjdGl2ZS5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0BzdW5iaXJkLWNiL3V0aWxzLXYyLyIsInNvdXJjZXMiOlsibGliL2RpcmVjdGl2ZXMvaW4tdmlldy1wb3J0L2luLXZpZXctcG9ydC5kaXJlY3RpdmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBVSxNQUFNLEVBQUUsWUFBWSxFQUFFLFVBQVUsRUFBYSxNQUFNLGVBQWUsQ0FBQTtBQUM5RixPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sTUFBTSxDQUFBO0FBQ2hDLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQTtBQUs3QyxNQUFNLE9BQU8sbUJBQW1CO0lBTzlCLFlBQW9CLEdBQWU7UUFBZixRQUFHLEdBQUgsR0FBRyxDQUFZO1FBRnpCLGVBQVUsR0FBMEIsSUFBSSxZQUFZLEVBQVcsQ0FBQTtJQUVsQyxDQUFDO0lBRXhDLFFBQVE7UUFDTixJQUFJLENBQUMsS0FBSyxFQUFFLENBQUE7UUFDWixJQUFJLENBQUMsTUFBTTtZQUNULFNBQVMsQ0FBQyxNQUFNLEVBQUUsUUFBUSxDQUFDLENBQUMsSUFBSSxDQUFDLFlBQVksQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLFNBQVMsRUFBQyxHQUFHLEVBQUU7Z0JBQ2pFLElBQUksQ0FBQyxLQUFLLEVBQUUsQ0FBQTtZQUNkLENBQUMsRUFBQyxDQUFBO1FBQ0osSUFBSSxDQUFDLE1BQU07WUFDVCxTQUFTLENBQUMsTUFBTSxFQUFFLFFBQVEsQ0FBQyxDQUFDLElBQUksQ0FBQyxZQUFZLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxTQUFTLEVBQUMsR0FBRyxFQUFFO2dCQUNqRSxJQUFJLENBQUMsS0FBSyxFQUFFLENBQUE7WUFDZCxDQUFDLEVBQUMsQ0FBQTtJQWdCTixDQUFDO0lBRUQsV0FBVztRQUNULElBQUksQ0FBQyxNQUFNLENBQUMsV0FBVyxFQUFFLENBQUE7UUFDekIsSUFBSSxDQUFDLE1BQU0sQ0FBQyxXQUFXLEVBQUUsQ0FBQTtJQUMzQixDQUFDO0lBRUQsS0FBSyxDQUFDLFVBQW1CLElBQUksRUFBRSxZQUFvQixNQUFNO2NBQ2pELEVBQUUsR0FBRyxJQUFJLENBQUMsR0FBRyxDQUFDLGFBQWE7Y0FFM0IsTUFBTSxHQUFHLENBQUMsRUFBRSxDQUFDLFdBQVcsR0FBRyxFQUFFLENBQUMsWUFBWSxDQUFDO2NBRTNDLEdBQUcsR0FBRyxFQUFFLENBQUMscUJBQXFCLEVBQUU7Y0FFaEMsRUFBRSxHQUFHO1lBQ1QsS0FBSyxFQUFFLE1BQU0sQ0FBQyxVQUFVO1lBQ3hCLE1BQU0sRUFBRSxNQUFNLENBQUMsV0FBVztTQUMzQjtjQUVLLElBQUksR0FBRyxHQUFHLENBQUMsR0FBRyxJQUFJLENBQUMsSUFBSSxHQUFHLENBQUMsR0FBRyxHQUFHLEVBQUUsQ0FBQyxNQUFNO2NBQzFDLElBQUksR0FBRyxHQUFHLENBQUMsTUFBTSxHQUFHLENBQUMsSUFBSSxHQUFHLENBQUMsTUFBTSxJQUFJLEVBQUUsQ0FBQyxNQUFNO2NBRWhELElBQUksR0FBRyxHQUFHLENBQUMsSUFBSSxJQUFJLENBQUMsSUFBSSxHQUFHLENBQUMsSUFBSSxHQUFHLEVBQUUsQ0FBQyxLQUFLO2NBQzNDLElBQUksR0FBRyxHQUFHLENBQUMsS0FBSyxHQUFHLENBQUMsSUFBSSxHQUFHLENBQUMsS0FBSyxJQUFJLEVBQUUsQ0FBQyxLQUFLO2NBRTdDLFFBQVEsR0FBRyxPQUFPLENBQUMsQ0FBQyxDQUFDLElBQUksSUFBSSxJQUFJLENBQUMsQ0FBQyxDQUFDLElBQUksSUFBSSxJQUFJO2NBQ2hELFFBQVEsR0FBRyxPQUFPLENBQUMsQ0FBQyxDQUFDLElBQUksSUFBSSxJQUFJLENBQUMsQ0FBQyxDQUFDLElBQUksSUFBSSxJQUFJO1lBRWxELEtBQUssR0FBRyxLQUFLO1FBRWpCLElBQUksU0FBUyxLQUFLLE1BQU0sRUFBRTtZQUN4QixLQUFLLEdBQUcsQ0FBQyxNQUFNLElBQUksUUFBUSxJQUFJLFFBQVEsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQTtTQUN4RDthQUFNLElBQUksU0FBUyxLQUFLLFVBQVUsRUFBRTtZQUNuQyxLQUFLLEdBQUcsQ0FBQyxNQUFNLElBQUksUUFBUSxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFBO1NBQzVDO2FBQU0sSUFBSSxTQUFTLEtBQUssWUFBWSxFQUFFO1lBQ3JDLEtBQUssR0FBRyxDQUFDLE1BQU0sSUFBSSxRQUFRLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUE7U0FDNUM7UUFDRCxJQUFJLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQTtJQUM3QixDQUFDOzs7WUEzRUYsU0FBUyxTQUFDO2dCQUNULFFBQVEsRUFBRSxxQkFBcUI7YUFDaEM7OztZQU5pRCxVQUFVOzs7eUJBWXpELE1BQU07OztJQUhQLHFDQUFtQjtJQUNuQixxQ0FBbUI7SUFFbkIseUNBQXlFO0lBRTdELGtDQUF1QiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IERpcmVjdGl2ZSwgT25Jbml0LCBPdXRwdXQsIEV2ZW50RW1pdHRlciwgRWxlbWVudFJlZiwgT25EZXN0cm95IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSdcclxuaW1wb3J0IHsgZnJvbUV2ZW50IH0gZnJvbSAncnhqcydcclxuaW1wb3J0IHsgZGVib3VuY2VUaW1lIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnXHJcblxyXG5ARGlyZWN0aXZlKHtcclxuICBzZWxlY3RvcjogJ1t3c1V0aWxzSW5WaWV3UG9ydF0nLFxyXG59KVxyXG5leHBvcnQgY2xhc3MgSW5WaWV3UG9ydERpcmVjdGl2ZSBpbXBsZW1lbnRzIE9uSW5pdCwgT25EZXN0cm95IHtcclxuXHJcbiAgcHJpdmF0ZSBzY3JvbGw6IGFueVxyXG4gIHByaXZhdGUgcmVzaXplOiBhbnlcclxuXHJcbiAgQE91dHB1dCgpIGluVmlld3BvcnQ6IEV2ZW50RW1pdHRlcjxib29sZWFuPiA9IG5ldyBFdmVudEVtaXR0ZXI8Ym9vbGVhbj4oKVxyXG5cclxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIF9lbDogRWxlbWVudFJlZikgeyB9XHJcblxyXG4gIG5nT25Jbml0KCkge1xyXG4gICAgdGhpcy5jaGVjaygpXHJcbiAgICB0aGlzLnNjcm9sbCA9XHJcbiAgICAgIGZyb21FdmVudCh3aW5kb3csICdzY3JvbGwnKS5waXBlKGRlYm91bmNlVGltZSgxMDApKS5zdWJzY3JpYmUoKCkgPT4ge1xyXG4gICAgICAgIHRoaXMuY2hlY2soKVxyXG4gICAgICB9KVxyXG4gICAgdGhpcy5yZXNpemUgPVxyXG4gICAgICBmcm9tRXZlbnQod2luZG93LCAncmVzaXplJykucGlwZShkZWJvdW5jZVRpbWUoMTAwKSkuc3Vic2NyaWJlKCgpID0+IHtcclxuICAgICAgICB0aGlzLmNoZWNrKClcclxuICAgICAgfSlcclxuXHJcbiAgICAvLyBsZXQgbGltaXQgPSAxXHJcbiAgICAvLyB0aGlzLnNjcm9sbCA9XHJcbiAgICAvLyAgIGZyb21FdmVudCh3aW5kb3csICdzY3JvbGwnKS5waXBlKGRlYm91bmNlVGltZSgxMDApKS5zdWJzY3JpYmUoKCkgPT4ge1xyXG4gICAgLy8gICAgIGlmIChsaW1pdCkge1xyXG4gICAgLy8gICAgICAgdGhpcy5jaGVjaygpXHJcbiAgICAvLyAgICAgICBsaW1pdCAtPSAxXHJcbiAgICAvLyAgICAgfVxyXG4gICAgLy8gICB9KVxyXG5cclxuICAgIC8vIHRoaXMucmVzaXplID1cclxuICAgIC8vICAgZnJvbUV2ZW50KHdpbmRvdywgJ3Jlc2l6ZScpLnRvUHJvbWlzZSgpLnRoZW4oKCkgPT4ge1xyXG4gICAgLy8gICAgIHRoaXMuY2hlY2soKVxyXG4gICAgLy8gICB9KVxyXG5cclxuICB9XHJcblxyXG4gIG5nT25EZXN0cm95KCkge1xyXG4gICAgdGhpcy5zY3JvbGwudW5zdWJzY3JpYmUoKVxyXG4gICAgdGhpcy5yZXNpemUudW5zdWJzY3JpYmUoKVxyXG4gIH1cclxuXHJcbiAgY2hlY2socGFydGlhbDogYm9vbGVhbiA9IHRydWUsIGRpcmVjdGlvbjogc3RyaW5nID0gJ2JvdGgnKSB7XHJcbiAgICBjb25zdCBlbCA9IHRoaXMuX2VsLm5hdGl2ZUVsZW1lbnRcclxuXHJcbiAgICBjb25zdCBlbFNpemUgPSAoZWwub2Zmc2V0V2lkdGggKiBlbC5vZmZzZXRIZWlnaHQpXHJcblxyXG4gICAgY29uc3QgcmVjID0gZWwuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KClcclxuXHJcbiAgICBjb25zdCB2cCA9IHtcclxuICAgICAgd2lkdGg6IHdpbmRvdy5pbm5lcldpZHRoLFxyXG4gICAgICBoZWlnaHQ6IHdpbmRvdy5pbm5lckhlaWdodCxcclxuICAgIH1cclxuXHJcbiAgICBjb25zdCB0Vml6ID0gcmVjLnRvcCA+PSAwICYmIHJlYy50b3AgPCB2cC5oZWlnaHRcclxuICAgIGNvbnN0IGJWaXogPSByZWMuYm90dG9tID4gMCAmJiByZWMuYm90dG9tIDw9IHZwLmhlaWdodFxyXG5cclxuICAgIGNvbnN0IGxWaXogPSByZWMubGVmdCA+PSAwICYmIHJlYy5sZWZ0IDwgdnAud2lkdGhcclxuICAgIGNvbnN0IHJWaXogPSByZWMucmlnaHQgPiAwICYmIHJlYy5yaWdodCA8PSB2cC53aWR0aFxyXG5cclxuICAgIGNvbnN0IHZWaXNpYmxlID0gcGFydGlhbCA/IHRWaXogfHwgYlZpeiA6IHRWaXogJiYgYlZpelxyXG4gICAgY29uc3QgaFZpc2libGUgPSBwYXJ0aWFsID8gbFZpeiB8fCByVml6IDogbFZpeiAmJiByVml6XHJcblxyXG4gICAgbGV0IGV2ZW50ID0gZmFsc2VcclxuXHJcbiAgICBpZiAoZGlyZWN0aW9uID09PSAnYm90aCcpIHtcclxuICAgICAgZXZlbnQgPSAoZWxTaXplICYmIHZWaXNpYmxlICYmIGhWaXNpYmxlKSA/IHRydWUgOiBmYWxzZVxyXG4gICAgfSBlbHNlIGlmIChkaXJlY3Rpb24gPT09ICd2ZXJ0aWNhbCcpIHtcclxuICAgICAgZXZlbnQgPSAoZWxTaXplICYmIHZWaXNpYmxlKSA/IHRydWUgOiBmYWxzZVxyXG4gICAgfSBlbHNlIGlmIChkaXJlY3Rpb24gPT09ICdob3Jpem9udGFsJykge1xyXG4gICAgICBldmVudCA9IChlbFNpemUgJiYgaFZpc2libGUpID8gdHJ1ZSA6IGZhbHNlXHJcbiAgICB9XHJcbiAgICB0aGlzLmluVmlld3BvcnQuZW1pdChldmVudClcclxuICB9XHJcbn1cclxuIl19
@@ -0,0 +1,15 @@
1
+ import { InViewPortDirective } from './in-view-port.directive';
2
+ import { NgModule } from '@angular/core';
3
+ import { CommonModule } from '@angular/common';
4
+ export class InViewPortModule {
5
+ }
6
+ InViewPortModule.decorators = [
7
+ { type: NgModule, args: [{
8
+ declarations: [InViewPortDirective],
9
+ exports: [InViewPortDirective],
10
+ imports: [
11
+ CommonModule,
12
+ ],
13
+ },] }
14
+ ];
15
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW4tdmlldy1wb3J0Lm1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0BzdW5iaXJkLWNiL3V0aWxzLXYyLyIsInNvdXJjZXMiOlsibGliL2RpcmVjdGl2ZXMvaW4tdmlldy1wb3J0L2luLXZpZXctcG9ydC5tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sMEJBQTBCLENBQUE7QUFDOUQsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQTtBQUN4QyxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUE7QUFTOUMsTUFBTSxPQUFPLGdCQUFnQjs7O1lBUDVCLFFBQVEsU0FBQztnQkFDUixZQUFZLEVBQUUsQ0FBQyxtQkFBbUIsQ0FBQztnQkFDbkMsT0FBTyxFQUFFLENBQUMsbUJBQW1CLENBQUM7Z0JBQzlCLE9BQU8sRUFBRTtvQkFDUCxZQUFZO2lCQUNiO2FBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJblZpZXdQb3J0RGlyZWN0aXZlIH0gZnJvbSAnLi9pbi12aWV3LXBvcnQuZGlyZWN0aXZlJ1xyXG5pbXBvcnQgeyBOZ01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnXHJcbmltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbidcclxuXHJcbkBOZ01vZHVsZSh7XHJcbiAgZGVjbGFyYXRpb25zOiBbSW5WaWV3UG9ydERpcmVjdGl2ZV0sXHJcbiAgZXhwb3J0czogW0luVmlld1BvcnREaXJlY3RpdmVdLFxyXG4gIGltcG9ydHM6IFtcclxuICAgIENvbW1vbk1vZHVsZSxcclxuICBdLFxyXG59KVxyXG5leHBvcnQgY2xhc3MgSW5WaWV3UG9ydE1vZHVsZSB7IH1cclxuIl19
@@ -0,0 +1,39 @@
1
+ import { Directive, Input, HostBinding, HostListener } from '@angular/core';
2
+ export class NavigationDirective {
3
+ constructor() {
4
+ this.wsUtilsNavigation = '';
5
+ this.openInNewTab = false;
6
+ this.routeUrl = '';
7
+ }
8
+ onMouseEnter($event) {
9
+ if (this.openInNewTab || this.wsUtilsNavigation.includes('mailto')) {
10
+ $event.preventDefault();
11
+ $event.stopPropagation();
12
+ this.routeUrl = './';
13
+ window.open(this.wsUtilsNavigation);
14
+ }
15
+ }
16
+ ngOnChanges() {
17
+ if (this.openInNewTab || this.wsUtilsNavigation.includes('mailto')) {
18
+ this.routeUrl = './';
19
+ }
20
+ }
21
+ }
22
+ NavigationDirective.decorators = [
23
+ { type: Directive, args: [{
24
+ selector: '[wsUtilsNavigation]',
25
+ },] }
26
+ ];
27
+ NavigationDirective.ctorParameters = () => [];
28
+ NavigationDirective.propDecorators = {
29
+ wsUtilsNavigation: [{ type: Input }],
30
+ openInNewTab: [{ type: Input }],
31
+ routeUrl: [{ type: Input }, { type: HostBinding, args: ['attr.routerLink',] }],
32
+ onMouseEnter: [{ type: HostListener, args: ['mousedown', ['$event'],] }]
33
+ };
34
+ if (false) {
35
+ NavigationDirective.prototype.wsUtilsNavigation;
36
+ NavigationDirective.prototype.openInNewTab;
37
+ NavigationDirective.prototype.routeUrl;
38
+ }
39
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmF2aWdhdGlvbi5kaXJlY3RpdmUuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9Ac3VuYmlyZC1jYi91dGlscy12Mi8iLCJzb3VyY2VzIjpbImxpYi9kaXJlY3RpdmVzL25hdmlnYXRpb24vbmF2aWdhdGlvbi5kaXJlY3RpdmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBYSxLQUFLLEVBQUUsV0FBVyxFQUFFLFlBQVksRUFBRSxNQUFNLGVBQWUsQ0FBQTtBQUt0RixNQUFNLE9BQU8sbUJBQW1CO0lBYTlCO1FBWlMsc0JBQWlCLEdBQUcsRUFBRSxDQUFBO1FBQ3RCLGlCQUFZLEdBQUcsS0FBSyxDQUFBO1FBRUcsYUFBUSxHQUFHLEVBQUUsQ0FBQTtJQVM3QixDQUFDO0lBUnNCLFlBQVksQ0FBQyxNQUFhO1FBQy9ELElBQUksSUFBSSxDQUFDLFlBQVksSUFBSSxJQUFJLENBQUMsaUJBQWlCLENBQUMsUUFBUSxDQUFDLFFBQVEsQ0FBQyxFQUFFO1lBQ2xFLE1BQU0sQ0FBQyxjQUFjLEVBQUUsQ0FBQTtZQUN2QixNQUFNLENBQUMsZUFBZSxFQUFFLENBQUE7WUFDeEIsSUFBSSxDQUFDLFFBQVEsR0FBRyxJQUFJLENBQUE7WUFDcEIsTUFBTSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsaUJBQWlCLENBQUMsQ0FBQTtTQUNwQztJQUNILENBQUM7SUFHRCxXQUFXO1FBQ1QsSUFBSSxJQUFJLENBQUMsWUFBWSxJQUFJLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxRQUFRLENBQUMsUUFBUSxDQUFDLEVBQUU7WUFDbEUsSUFBSSxDQUFDLFFBQVEsR0FBRyxJQUFJLENBQUE7U0FDckI7SUFDSCxDQUFDOzs7WUF0QkYsU0FBUyxTQUFDO2dCQUNULFFBQVEsRUFBRSxxQkFBcUI7YUFDaEM7Ozs7Z0NBRUUsS0FBSzsyQkFDTCxLQUFLO3VCQUNMLEtBQUssWUFDTCxXQUFXLFNBQUMsaUJBQWlCOzJCQUM3QixZQUFZLFNBQUMsV0FBVyxFQUFFLENBQUMsUUFBUSxDQUFDOzs7SUFKckMsZ0RBQStCO0lBQy9CLDJDQUE2QjtJQUM3Qix1Q0FDNkMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBEaXJlY3RpdmUsIE9uQ2hhbmdlcywgSW5wdXQsIEhvc3RCaW5kaW5nLCBIb3N0TGlzdGVuZXIgfSBmcm9tICdAYW5ndWxhci9jb3JlJ1xyXG5cclxuQERpcmVjdGl2ZSh7XHJcbiAgc2VsZWN0b3I6ICdbd3NVdGlsc05hdmlnYXRpb25dJyxcclxufSlcclxuZXhwb3J0IGNsYXNzIE5hdmlnYXRpb25EaXJlY3RpdmUgaW1wbGVtZW50cyBPbkNoYW5nZXMge1xyXG4gIEBJbnB1dCgpIHdzVXRpbHNOYXZpZ2F0aW9uID0gJydcclxuICBASW5wdXQoKSBvcGVuSW5OZXdUYWIgPSBmYWxzZVxyXG4gIEBJbnB1dCgpXHJcbiAgQEhvc3RCaW5kaW5nKCdhdHRyLnJvdXRlckxpbmsnKSByb3V0ZVVybCA9ICcnXHJcbiAgQEhvc3RMaXN0ZW5lcignbW91c2Vkb3duJywgWyckZXZlbnQnXSkgb25Nb3VzZUVudGVyKCRldmVudDogRXZlbnQpIHtcclxuICAgIGlmICh0aGlzLm9wZW5Jbk5ld1RhYiB8fCB0aGlzLndzVXRpbHNOYXZpZ2F0aW9uLmluY2x1ZGVzKCdtYWlsdG8nKSkge1xyXG4gICAgICAkZXZlbnQucHJldmVudERlZmF1bHQoKVxyXG4gICAgICAkZXZlbnQuc3RvcFByb3BhZ2F0aW9uKClcclxuICAgICAgdGhpcy5yb3V0ZVVybCA9ICcuLydcclxuICAgICAgd2luZG93Lm9wZW4odGhpcy53c1V0aWxzTmF2aWdhdGlvbilcclxuICAgIH1cclxuICB9XHJcbiAgY29uc3RydWN0b3IoKSB7IH1cclxuXHJcbiAgbmdPbkNoYW5nZXMoKSB7XHJcbiAgICBpZiAodGhpcy5vcGVuSW5OZXdUYWIgfHwgdGhpcy53c1V0aWxzTmF2aWdhdGlvbi5pbmNsdWRlcygnbWFpbHRvJykpIHtcclxuICAgICAgdGhpcy5yb3V0ZVVybCA9ICcuLydcclxuICAgIH1cclxuICB9XHJcblxyXG59XHJcbiJdfQ==
@@ -0,0 +1,15 @@
1
+ import { NgModule } from '@angular/core';
2
+ import { CommonModule } from '@angular/common';
3
+ import { NavigationDirective } from './navigation.directive';
4
+ export class NavigationModule {
5
+ }
6
+ NavigationModule.decorators = [
7
+ { type: NgModule, args: [{
8
+ declarations: [NavigationDirective],
9
+ imports: [
10
+ CommonModule,
11
+ ],
12
+ exports: [NavigationDirective],
13
+ },] }
14
+ ];
15
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmF2aWdhdGlvbi5tb2R1bGUuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9Ac3VuYmlyZC1jYi91dGlscy12Mi8iLCJzb3VyY2VzIjpbImxpYi9kaXJlY3RpdmVzL25hdmlnYXRpb24vbmF2aWdhdGlvbi5tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQTtBQUN4QyxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUE7QUFDOUMsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sd0JBQXdCLENBQUE7QUFTNUQsTUFBTSxPQUFPLGdCQUFnQjs7O1lBUDVCLFFBQVEsU0FBQztnQkFDUixZQUFZLEVBQUUsQ0FBQyxtQkFBbUIsQ0FBQztnQkFDbkMsT0FBTyxFQUFFO29CQUNQLFlBQVk7aUJBQ2I7Z0JBQ0QsT0FBTyxFQUFFLENBQUMsbUJBQW1CLENBQUM7YUFDL0IiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBOZ01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnXHJcbmltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbidcclxuaW1wb3J0IHsgTmF2aWdhdGlvbkRpcmVjdGl2ZSB9IGZyb20gJy4vbmF2aWdhdGlvbi5kaXJlY3RpdmUnXHJcblxyXG5ATmdNb2R1bGUoe1xyXG4gIGRlY2xhcmF0aW9uczogW05hdmlnYXRpb25EaXJlY3RpdmVdLFxyXG4gIGltcG9ydHM6IFtcclxuICAgIENvbW1vbk1vZHVsZSxcclxuICBdLFxyXG4gIGV4cG9ydHM6IFtOYXZpZ2F0aW9uRGlyZWN0aXZlXSxcclxufSlcclxuZXhwb3J0IGNsYXNzIE5hdmlnYXRpb25Nb2R1bGUgeyB9XHJcbiJdfQ==
@@ -0,0 +1,11 @@
1
+ import { Directive } from '@angular/core';
2
+ export class PermissionDirective {
3
+ constructor() { }
4
+ }
5
+ PermissionDirective.decorators = [
6
+ { type: Directive, args: [{
7
+ selector: '[wsUtilsPermission]',
8
+ },] }
9
+ ];
10
+ PermissionDirective.ctorParameters = () => [];
11
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGVybWlzc2lvbi5kaXJlY3RpdmUuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9Ac3VuYmlyZC1jYi91dGlscy12Mi8iLCJzb3VyY2VzIjpbImxpYi9kaXJlY3RpdmVzL3Blcm1pc3Npb24vcGVybWlzc2lvbi5kaXJlY3RpdmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLGVBQWUsQ0FBQTtBQUt6QyxNQUFNLE9BQU8sbUJBQW1CO0lBRTlCLGdCQUFnQixDQUFDOzs7WUFMbEIsU0FBUyxTQUFDO2dCQUNULFFBQVEsRUFBRSxxQkFBcUI7YUFDaEMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBEaXJlY3RpdmUgfSBmcm9tICdAYW5ndWxhci9jb3JlJ1xyXG5cclxuQERpcmVjdGl2ZSh7XHJcbiAgc2VsZWN0b3I6ICdbd3NVdGlsc1Blcm1pc3Npb25dJyxcclxufSlcclxuZXhwb3J0IGNsYXNzIFBlcm1pc3Npb25EaXJlY3RpdmUge1xyXG5cclxuICBjb25zdHJ1Y3RvcigpIHsgfVxyXG5cclxufVxyXG4iXX0=
@@ -0,0 +1,15 @@
1
+ import { NgModule } from '@angular/core';
2
+ import { CommonModule } from '@angular/common';
3
+ import { PermissionDirective } from './permission.directive';
4
+ export class PermissionModule {
5
+ }
6
+ PermissionModule.decorators = [
7
+ { type: NgModule, args: [{
8
+ declarations: [PermissionDirective],
9
+ imports: [
10
+ CommonModule,
11
+ ],
12
+ exports: [PermissionDirective],
13
+ },] }
14
+ ];
15
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGVybWlzc2lvbi5tb2R1bGUuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9Ac3VuYmlyZC1jYi91dGlscy12Mi8iLCJzb3VyY2VzIjpbImxpYi9kaXJlY3RpdmVzL3Blcm1pc3Npb24vcGVybWlzc2lvbi5tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQTtBQUN4QyxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUE7QUFDOUMsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sd0JBQXdCLENBQUE7QUFTNUQsTUFBTSxPQUFPLGdCQUFnQjs7O1lBUDVCLFFBQVEsU0FBQztnQkFDUixZQUFZLEVBQUUsQ0FBQyxtQkFBbUIsQ0FBQztnQkFDbkMsT0FBTyxFQUFFO29CQUNQLFlBQVk7aUJBQ2I7Z0JBQ0QsT0FBTyxFQUFFLENBQUMsbUJBQW1CLENBQUM7YUFDL0IiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBOZ01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnXHJcbmltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbidcclxuaW1wb3J0IHsgUGVybWlzc2lvbkRpcmVjdGl2ZSB9IGZyb20gJy4vcGVybWlzc2lvbi5kaXJlY3RpdmUnXHJcblxyXG5ATmdNb2R1bGUoe1xyXG4gIGRlY2xhcmF0aW9uczogW1Blcm1pc3Npb25EaXJlY3RpdmVdLFxyXG4gIGltcG9ydHM6IFtcclxuICAgIENvbW1vbk1vZHVsZSxcclxuICBdLFxyXG4gIGV4cG9ydHM6IFtQZXJtaXNzaW9uRGlyZWN0aXZlXSxcclxufSlcclxuZXhwb3J0IGNsYXNzIFBlcm1pc3Npb25Nb2R1bGUgeyB9XHJcbiJdfQ==
@@ -0,0 +1,9 @@
1
+ export function getStringifiedQueryParams(obj) {
2
+ return Object.entries(obj)
3
+ .filter((u => u[1]))
4
+ .map((u => {
5
+ return `${u[0]}=${u[1]}`;
6
+ }))
7
+ .join('&');
8
+ }
9
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2V0U3RyaW5naWZpZWRRdWVyeVBhcmFtcy5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0BzdW5iaXJkLWNiL3V0aWxzLXYyLyIsInNvdXJjZXMiOlsibGliL2hlbHBlcnMvZnVuY3Rpb25zL2dldFN0cmluZ2lmaWVkUXVlcnlQYXJhbXMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsTUFBTSxVQUFVLHlCQUF5QixDQUFDLEdBQThEO0lBQ3RHLE9BQU8sTUFBTSxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUM7U0FDdkIsTUFBTSxFQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFDO1NBQ2pCLEdBQUcsRUFBQyxDQUFDLENBQUMsRUFBRTtRQUNQLE9BQU8sR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUE7SUFDMUIsQ0FBQyxFQUFDO1NBQ0QsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFBO0FBQ2QsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCBmdW5jdGlvbiBnZXRTdHJpbmdpZmllZFF1ZXJ5UGFyYW1zKG9iajogeyBba2V5OiBzdHJpbmddOiBudW1iZXIgfCBzdHJpbmcgfCB1bmRlZmluZWQgfCBzdHJpbmdbXSB9KSB7XHJcbiAgcmV0dXJuIE9iamVjdC5lbnRyaWVzKG9iailcclxuICAgIC5maWx0ZXIodSA9PiB1WzFdKVxyXG4gICAgLm1hcCh1ID0+IHtcclxuICAgICAgcmV0dXJuIGAke3VbMF19PSR7dVsxXX1gXHJcbiAgICB9KVxyXG4gICAgLmpvaW4oJyYnKVxyXG59XHJcbiJdfQ==
@@ -0,0 +1,99 @@
1
+ import { Component, Input, Output, ViewChild, EventEmitter } from '@angular/core';
2
+ import { fromEvent, timer, } from 'rxjs';
3
+ import { debounceTime, throttleTime } from 'rxjs/operators';
4
+ export class HorizontalScrollerComponent {
5
+ constructor() {
6
+ this.loadStatus = 'none';
7
+ this.onHover = false;
8
+ this.loadNext = new EventEmitter();
9
+ this.horizontalScrollElem = null;
10
+ this.enablePrev = false;
11
+ this.enableNext = false;
12
+ this.scrollObserver = null;
13
+ }
14
+ ngOnInit() {
15
+ if (this.horizontalScrollElem) {
16
+ const horizontalScrollElem = this.horizontalScrollElem;
17
+ this.scrollObserver = fromEvent(horizontalScrollElem.nativeElement, 'scroll')
18
+ .pipe(debounceTime(100), throttleTime(100))
19
+ .subscribe((_ => {
20
+ this.updateNavigationBtnStatus(((horizontalScrollElem
21
+ .nativeElement)));
22
+ }));
23
+ }
24
+ }
25
+ ngOnChanges() {
26
+ timer(100).subscribe((() => {
27
+ if (this.horizontalScrollElem) {
28
+ this.updateNavigationBtnStatus(((this.horizontalScrollElem
29
+ .nativeElement)));
30
+ }
31
+ }));
32
+ }
33
+ ngOnDestroy() {
34
+ if (this.scrollObserver) {
35
+ this.scrollObserver.unsubscribe();
36
+ }
37
+ }
38
+ showPrev() {
39
+ if (this.horizontalScrollElem) {
40
+ if (this.horizontalScrollElem) {
41
+ const clientWidth = (this.horizontalScrollElem.nativeElement.clientWidth);
42
+ this.horizontalScrollElem.nativeElement.scrollTo({
43
+ left: this.horizontalScrollElem.nativeElement.scrollLeft - clientWidth,
44
+ behavior: 'smooth',
45
+ });
46
+ }
47
+ }
48
+ }
49
+ showNext() {
50
+ if (this.horizontalScrollElem) {
51
+ if (this.horizontalScrollElem) {
52
+ const clientWidth = (this.horizontalScrollElem.nativeElement.clientWidth);
53
+ this.horizontalScrollElem.nativeElement.scrollTo({
54
+ left: this.horizontalScrollElem.nativeElement.scrollLeft + clientWidth,
55
+ behavior: 'smooth',
56
+ });
57
+ }
58
+ }
59
+ }
60
+ updateNavigationBtnStatus(elem) {
61
+ this.enablePrev = true;
62
+ this.enableNext = true;
63
+ if (elem.scrollLeft === 0) {
64
+ this.enablePrev = false;
65
+ }
66
+ if (elem.scrollWidth === elem.clientWidth + elem.scrollLeft) {
67
+ if (this.loadStatus === 'hasMore') {
68
+ this.loadNext.emit();
69
+ }
70
+ else {
71
+ this.enableNext = false;
72
+ }
73
+ }
74
+ }
75
+ }
76
+ HorizontalScrollerComponent.decorators = [
77
+ { type: Component, args: [{
78
+ selector: 'ws-utils-horizontal-scroller',
79
+ template: "<section class=\"horizontal-scroll-container h-full\">\r\n <button i18n-aria-label aria-label=\"back\" name=\"content-backward-button\" mat-mini-fab color=\"primary\" (click)=\"showPrev()\"\r\n class=\"prevBtn hidden-touch border-radius-xs\" [hidden]=\"!enablePrev\" [ngClass]=\"{'prevBtnHover': onHover}\">\r\n <mat-icon>navigate_before</mat-icon>\r\n </button>\r\n <div name=\"horizontal-scroll-content-strip\" class=\"horizontal-scroll-content\" #horizontalScrollElem>\r\n <ng-content></ng-content>\r\n </div>\r\n <button i18n-aria-label aria-label=\"next\" name=\"content-forward-button\" mat-mini-fab (click)=\"showNext()\" color=\"primary\"\r\n class=\"nextBtn hidden-touch border-radius-xs\" [ngClass]=\"{'nextBtnHover': onHover}\"\r\n [hidden]=\"!enableNext || loadStatus === 'fetching'\">\r\n <mat-icon>navigate_next</mat-icon>\r\n </button>\r\n <div class=\"nextLoading\" *ngIf=\"loadStatus === 'fetching'\">\r\n <mat-spinner></mat-spinner>\r\n </div>\r\n</section>",
80
+ styles: [".horizontal-scroll-container{position:relative;width:100%;min-height:100px}.nextBtn,.nextLoading,.prevBtn{position:absolute;top:50%;transform:translateY(-50%);z-index:999}.border-radius-xs{border-radius:8px!important}.prevBtn{left:-16px}.nextBtn{right:-16px}.nextLoading{padding:0;right:-16px}.horizontal-scroll-content{overflow-y:auto;white-space:nowrap;-webkit-overflow-scrolling:touch;height:100%;flex-wrap:nowrap;display:flex;align-items:stretch;-ms-overflow-style:none;scrollbar-width:none}.horizontal-scroll-content::-webkit-scrollbar{width:0;height:0}"]
81
+ }] }
82
+ ];
83
+ HorizontalScrollerComponent.ctorParameters = () => [];
84
+ HorizontalScrollerComponent.propDecorators = {
85
+ loadStatus: [{ type: Input }],
86
+ onHover: [{ type: Input }],
87
+ loadNext: [{ type: Output }],
88
+ horizontalScrollElem: [{ type: ViewChild, args: ['horizontalScrollElem', { static: true },] }]
89
+ };
90
+ if (false) {
91
+ HorizontalScrollerComponent.prototype.loadStatus;
92
+ HorizontalScrollerComponent.prototype.onHover;
93
+ HorizontalScrollerComponent.prototype.loadNext;
94
+ HorizontalScrollerComponent.prototype.horizontalScrollElem;
95
+ HorizontalScrollerComponent.prototype.enablePrev;
96
+ HorizontalScrollerComponent.prototype.enableNext;
97
+ HorizontalScrollerComponent.prototype.scrollObserver;
98
+ }
99
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaG9yaXpvbnRhbC1zY3JvbGxlci5jb21wb25lbnQuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9Ac3VuYmlyZC1jYi91dGlscy12Mi8iLCJzb3VyY2VzIjpbImxpYi9oZWxwZXJzL2hvcml6b250YWwtc2Nyb2xsZXIvaG9yaXpvbnRhbC1zY3JvbGxlci5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBZ0MsS0FBSyxFQUFFLE1BQU0sRUFBRSxTQUFTLEVBQUUsWUFBWSxFQUFjLE1BQU0sZUFBZSxDQUFBO0FBQzNILE9BQU8sRUFDTCxTQUFTLEVBRVQsS0FBSyxHQUNOLE1BQU0sTUFBTSxDQUFBO0FBQ2IsT0FBTyxFQUFFLFlBQVksRUFBRSxZQUFZLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQTtBQVEzRCxNQUFNLE9BQU8sMkJBQTJCO0lBZXRDO1FBWkEsZUFBVSxHQUFpQixNQUFNLENBQUE7UUFFakMsWUFBTyxHQUFHLEtBQUssQ0FBQTtRQUVmLGFBQVEsR0FBRyxJQUFJLFlBQVksRUFBRSxDQUFBO1FBRTdCLHlCQUFvQixHQUFzQixJQUFJLENBQUE7UUFFOUMsZUFBVSxHQUFHLEtBQUssQ0FBQTtRQUNsQixlQUFVLEdBQUcsS0FBSyxDQUFBO1FBQ1YsbUJBQWMsR0FBd0IsSUFBSSxDQUFBO0lBRWxDLENBQUM7SUFFakIsUUFBUTtRQUNOLElBQUksSUFBSSxDQUFDLG9CQUFvQixFQUFFO2tCQUN2QixvQkFBb0IsR0FBRyxJQUFJLENBQUMsb0JBQW9CO1lBQ3RELElBQUksQ0FBQyxjQUFjLEdBQUcsU0FBUyxDQUM3QixvQkFBb0IsQ0FBQyxhQUFhLEVBQ2xDLFFBQVEsQ0FDVDtpQkFDRSxJQUFJLENBQUMsWUFBWSxDQUFDLEdBQUcsQ0FBQyxFQUFFLFlBQVksQ0FBQyxHQUFHLENBQUMsQ0FBQztpQkFDMUMsU0FBUyxFQUFDLENBQUMsQ0FBQyxFQUFFO2dCQUNiLElBQUksQ0FBQyx5QkFBeUIsQ0FBQyxFQUFBLG9CQUFvQjtxQkFDaEQsYUFBYSxFQUFlLENBQUMsQ0FBQTtZQUNsQyxDQUFDLEVBQUMsQ0FBQTtTQUNMO0lBQ0gsQ0FBQztJQUNELFdBQVc7UUFDVCxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUMsU0FBUyxFQUFDLEdBQUcsRUFBRTtZQUN4QixJQUFJLElBQUksQ0FBQyxvQkFBb0IsRUFBRTtnQkFDN0IsSUFBSSxDQUFDLHlCQUF5QixDQUFDLEVBQUEsSUFBSSxDQUFDLG9CQUFvQjtxQkFDckQsYUFBYSxFQUFlLENBQUMsQ0FBQTthQUNqQztRQUNILENBQUMsRUFBQyxDQUFBO0lBQ0osQ0FBQztJQUNELFdBQVc7UUFDVCxJQUFJLElBQUksQ0FBQyxjQUFjLEVBQUU7WUFDdkIsSUFBSSxDQUFDLGNBQWMsQ0FBQyxXQUFXLEVBQUUsQ0FBQTtTQUNsQztJQUNILENBQUM7SUFDRCxRQUFRO1FBQ04sSUFBSSxJQUFJLENBQUMsb0JBQW9CLEVBQUU7WUFHN0IsSUFBSSxJQUFJLENBQUMsb0JBQW9CLEVBQUU7c0JBRXZCLFdBQVcsR0FBRyxDQUFDLElBQUksQ0FBQyxvQkFBb0IsQ0FBQyxhQUFhLENBQUMsV0FBVyxDQUFDO2dCQUN6RSxJQUFJLENBQUMsb0JBQW9CLENBQUMsYUFBYSxDQUFDLFFBQVEsQ0FBQztvQkFDL0MsSUFBSSxFQUFFLElBQUksQ0FBQyxvQkFBb0IsQ0FBQyxhQUFhLENBQUMsVUFBVSxHQUFHLFdBQVc7b0JBQ3RFLFFBQVEsRUFBRSxRQUFRO2lCQUNuQixDQUFDLENBQUE7YUFDSDtTQUNGO0lBQ0gsQ0FBQztJQUNELFFBQVE7UUFDTixJQUFJLElBQUksQ0FBQyxvQkFBb0IsRUFBRTtZQUc3QixJQUFJLElBQUksQ0FBQyxvQkFBb0IsRUFBRTtzQkFFdkIsV0FBVyxHQUFHLENBQUMsSUFBSSxDQUFDLG9CQUFvQixDQUFDLGFBQWEsQ0FBQyxXQUFXLENBQUM7Z0JBQ3pFLElBQUksQ0FBQyxvQkFBb0IsQ0FBQyxhQUFhLENBQUMsUUFBUSxDQUFDO29CQUMvQyxJQUFJLEVBQUUsSUFBSSxDQUFDLG9CQUFvQixDQUFDLGFBQWEsQ0FBQyxVQUFVLEdBQUcsV0FBVztvQkFDdEUsUUFBUSxFQUFFLFFBQVE7aUJBQ25CLENBQUMsQ0FBQTthQUNIO1NBQ0Y7SUFDSCxDQUFDO0lBQ08seUJBQXlCLENBQUMsSUFBaUI7UUFDakQsSUFBSSxDQUFDLFVBQVUsR0FBRyxJQUFJLENBQUE7UUFDdEIsSUFBSSxDQUFDLFVBQVUsR0FBRyxJQUFJLENBQUE7UUFDdEIsSUFBSSxJQUFJLENBQUMsVUFBVSxLQUFLLENBQUMsRUFBRTtZQUN6QixJQUFJLENBQUMsVUFBVSxHQUFHLEtBQUssQ0FBQTtTQUN4QjtRQUNELElBQUksSUFBSSxDQUFDLFdBQVcsS0FBSyxJQUFJLENBQUMsV0FBVyxHQUFHLElBQUksQ0FBQyxVQUFVLEVBQUU7WUFDM0QsSUFBSSxJQUFJLENBQUMsVUFBVSxLQUFLLFNBQVMsRUFBRTtnQkFDakMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxJQUFJLEVBQUUsQ0FBQTthQUNyQjtpQkFBTTtnQkFDTCxJQUFJLENBQUMsVUFBVSxHQUFHLEtBQUssQ0FBQTthQUN4QjtTQUNGO0lBQ0gsQ0FBQzs7O1lBMUZGLFNBQVMsU0FBQztnQkFDVCxRQUFRLEVBQUUsOEJBQThCO2dCQUN4Qyx3L0JBQW1EOzthQUVwRDs7Ozt5QkFHRSxLQUFLO3NCQUVMLEtBQUs7dUJBRUwsTUFBTTttQ0FFTixTQUFTLFNBQUMsc0JBQXNCLEVBQUUsRUFBRSxNQUFNLEVBQUUsSUFBSSxFQUFFOzs7SUFObkQsaURBQ2lDO0lBQ2pDLDhDQUNlO0lBQ2YsK0NBQzZCO0lBQzdCLDJEQUM4QztJQUU5QyxpREFBa0I7SUFDbEIsaURBQWtCO0lBQ2xCLHFEQUFrRCIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgT25Jbml0LCBPbkNoYW5nZXMsIE9uRGVzdHJveSwgSW5wdXQsIE91dHB1dCwgVmlld0NoaWxkLCBFdmVudEVtaXR0ZXIsIEVsZW1lbnRSZWYgfSBmcm9tICdAYW5ndWxhci9jb3JlJ1xyXG5pbXBvcnQge1xyXG4gIGZyb21FdmVudCxcclxuICBTdWJzY3JpcHRpb24sXHJcbiAgdGltZXIsXHJcbn0gZnJvbSAncnhqcydcclxuaW1wb3J0IHsgZGVib3VuY2VUaW1lLCB0aHJvdHRsZVRpbWUgfSBmcm9tICdyeGpzL29wZXJhdG9ycydcclxuaW1wb3J0IHsgVEZldGNoU3RhdHVzIH0gZnJvbSAnLi4vLi4vY29uc3RhbnRzL21pc2MuY29uc3RhbnRzJ1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6ICd3cy11dGlscy1ob3Jpem9udGFsLXNjcm9sbGVyJyxcclxuICB0ZW1wbGF0ZVVybDogJy4vaG9yaXpvbnRhbC1zY3JvbGxlci5jb21wb25lbnQuaHRtbCcsXHJcbiAgc3R5bGVVcmxzOiBbJy4vaG9yaXpvbnRhbC1zY3JvbGxlci5jb21wb25lbnQuc2NzcyddLFxyXG59KVxyXG5leHBvcnQgY2xhc3MgSG9yaXpvbnRhbFNjcm9sbGVyQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0LCBPbkNoYW5nZXMsIE9uRGVzdHJveSB7XHJcblxyXG4gIEBJbnB1dCgpXHJcbiAgbG9hZFN0YXR1czogVEZldGNoU3RhdHVzID0gJ25vbmUnXHJcbiAgQElucHV0KClcclxuICBvbkhvdmVyID0gZmFsc2VcclxuICBAT3V0cHV0KClcclxuICBsb2FkTmV4dCA9IG5ldyBFdmVudEVtaXR0ZXIoKVxyXG4gIEBWaWV3Q2hpbGQoJ2hvcml6b250YWxTY3JvbGxFbGVtJywgeyBzdGF0aWM6IHRydWUgfSlcclxuICBob3Jpem9udGFsU2Nyb2xsRWxlbTogRWxlbWVudFJlZiB8IG51bGwgPSBudWxsXHJcblxyXG4gIGVuYWJsZVByZXYgPSBmYWxzZVxyXG4gIGVuYWJsZU5leHQgPSBmYWxzZVxyXG4gIHByaXZhdGUgc2Nyb2xsT2JzZXJ2ZXI6IFN1YnNjcmlwdGlvbiB8IG51bGwgPSBudWxsXHJcblxyXG4gIGNvbnN0cnVjdG9yKCkgeyB9XHJcblxyXG4gIG5nT25Jbml0KCkge1xyXG4gICAgaWYgKHRoaXMuaG9yaXpvbnRhbFNjcm9sbEVsZW0pIHtcclxuICAgICAgY29uc3QgaG9yaXpvbnRhbFNjcm9sbEVsZW0gPSB0aGlzLmhvcml6b250YWxTY3JvbGxFbGVtXHJcbiAgICAgIHRoaXMuc2Nyb2xsT2JzZXJ2ZXIgPSBmcm9tRXZlbnQoXHJcbiAgICAgICAgaG9yaXpvbnRhbFNjcm9sbEVsZW0ubmF0aXZlRWxlbWVudCxcclxuICAgICAgICAnc2Nyb2xsJyxcclxuICAgICAgKVxyXG4gICAgICAgIC5waXBlKGRlYm91bmNlVGltZSgxMDApLCB0aHJvdHRsZVRpbWUoMTAwKSlcclxuICAgICAgICAuc3Vic2NyaWJlKF8gPT4ge1xyXG4gICAgICAgICAgdGhpcy51cGRhdGVOYXZpZ2F0aW9uQnRuU3RhdHVzKGhvcml6b250YWxTY3JvbGxFbGVtXHJcbiAgICAgICAgICAgIC5uYXRpdmVFbGVtZW50IGFzIEhUTUxFbGVtZW50KVxyXG4gICAgICAgIH0pXHJcbiAgICB9XHJcbiAgfVxyXG4gIG5nT25DaGFuZ2VzKCkge1xyXG4gICAgdGltZXIoMTAwKS5zdWJzY3JpYmUoKCkgPT4ge1xyXG4gICAgICBpZiAodGhpcy5ob3Jpem9udGFsU2Nyb2xsRWxlbSkge1xyXG4gICAgICAgIHRoaXMudXBkYXRlTmF2aWdhdGlvbkJ0blN0YXR1cyh0aGlzLmhvcml6b250YWxTY3JvbGxFbGVtXHJcbiAgICAgICAgICAubmF0aXZlRWxlbWVudCBhcyBIVE1MRWxlbWVudClcclxuICAgICAgfVxyXG4gICAgfSlcclxuICB9XHJcbiAgbmdPbkRlc3Ryb3koKSB7XHJcbiAgICBpZiAodGhpcy5zY3JvbGxPYnNlcnZlcikge1xyXG4gICAgICB0aGlzLnNjcm9sbE9ic2VydmVyLnVuc3Vic2NyaWJlKClcclxuICAgIH1cclxuICB9XHJcbiAgc2hvd1ByZXYoKSB7XHJcbiAgICBpZiAodGhpcy5ob3Jpem9udGFsU2Nyb2xsRWxlbSkge1xyXG4gICAgICAvLyBjb25zdCBlbGVtID0gdGhpcy5ob3Jpem9udGFsU2Nyb2xsRWxlbS5uYXRpdmVFbGVtZW50XHJcbiAgICAgIC8vIGVsZW0uc2Nyb2xsTGVmdCAtPSAwLjIwICogZWxlbS5jbGllbnRXaWR0aFxyXG4gICAgICBpZiAodGhpcy5ob3Jpem9udGFsU2Nyb2xsRWxlbSkge1xyXG4gICAgICAgIC8vIGNvbnN0IGNsaWVudFdpZHRoID0gKHRoaXMuaG9yaXpvbnRhbFNjcm9sbEVsZW0ubmF0aXZlRWxlbWVudC5jbGllbnRXaWR0aCAqIDAuMjQpXHJcbiAgICAgICAgY29uc3QgY2xpZW50V2lkdGggPSAodGhpcy5ob3Jpem9udGFsU2Nyb2xsRWxlbS5uYXRpdmVFbGVtZW50LmNsaWVudFdpZHRoKVxyXG4gICAgICAgIHRoaXMuaG9yaXpvbnRhbFNjcm9sbEVsZW0ubmF0aXZlRWxlbWVudC5zY3JvbGxUbyh7XHJcbiAgICAgICAgICBsZWZ0OiB0aGlzLmhvcml6b250YWxTY3JvbGxFbGVtLm5hdGl2ZUVsZW1lbnQuc2Nyb2xsTGVmdCAtIGNsaWVudFdpZHRoLFxyXG4gICAgICAgICAgYmVoYXZpb3I6ICdzbW9vdGgnLFxyXG4gICAgICAgIH0pXHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcbiAgc2hvd05leHQoKSB7XHJcbiAgICBpZiAodGhpcy5ob3Jpem9udGFsU2Nyb2xsRWxlbSkge1xyXG4gICAgICAvLyBjb25zdCBlbGVtID0gdGhpcy5ob3Jpem9udGFsU2Nyb2xsRWxlbS5uYXRpdmVFbGVtZW50XHJcbiAgICAgIC8vIGVsZW0uc2Nyb2xsTGVmdCArPSAwLjIwICogZWxlbS5jbGllbnRXaWR0aFxyXG4gICAgICBpZiAodGhpcy5ob3Jpem9udGFsU2Nyb2xsRWxlbSkge1xyXG4gICAgICAgIC8vIGNvbnN0IGNsaWVudFdpZHRoID0gKHRoaXMuaG9yaXpvbnRhbFNjcm9sbEVsZW0ubmF0aXZlRWxlbWVudC5jbGllbnRXaWR0aCAqIDAuMjQpXHJcbiAgICAgICAgY29uc3QgY2xpZW50V2lkdGggPSAodGhpcy5ob3Jpem9udGFsU2Nyb2xsRWxlbS5uYXRpdmVFbGVtZW50LmNsaWVudFdpZHRoKVxyXG4gICAgICAgIHRoaXMuaG9yaXpvbnRhbFNjcm9sbEVsZW0ubmF0aXZlRWxlbWVudC5zY3JvbGxUbyh7XHJcbiAgICAgICAgICBsZWZ0OiB0aGlzLmhvcml6b250YWxTY3JvbGxFbGVtLm5hdGl2ZUVsZW1lbnQuc2Nyb2xsTGVmdCArIGNsaWVudFdpZHRoLFxyXG4gICAgICAgICAgYmVoYXZpb3I6ICdzbW9vdGgnLFxyXG4gICAgICAgIH0pXHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcbiAgcHJpdmF0ZSB1cGRhdGVOYXZpZ2F0aW9uQnRuU3RhdHVzKGVsZW06IEhUTUxFbGVtZW50KSB7XHJcbiAgICB0aGlzLmVuYWJsZVByZXYgPSB0cnVlXHJcbiAgICB0aGlzLmVuYWJsZU5leHQgPSB0cnVlXHJcbiAgICBpZiAoZWxlbS5zY3JvbGxMZWZ0ID09PSAwKSB7XHJcbiAgICAgIHRoaXMuZW5hYmxlUHJldiA9IGZhbHNlXHJcbiAgICB9XHJcbiAgICBpZiAoZWxlbS5zY3JvbGxXaWR0aCA9PT0gZWxlbS5jbGllbnRXaWR0aCArIGVsZW0uc2Nyb2xsTGVmdCkge1xyXG4gICAgICBpZiAodGhpcy5sb2FkU3RhdHVzID09PSAnaGFzTW9yZScpIHtcclxuICAgICAgICB0aGlzLmxvYWROZXh0LmVtaXQoKVxyXG4gICAgICB9IGVsc2Uge1xyXG4gICAgICAgIHRoaXMuZW5hYmxlTmV4dCA9IGZhbHNlXHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcbn1cclxuIl19