@skyux/core 5.2.3 → 5.5.0

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 (316) hide show
  1. package/README.md +6 -4
  2. package/bundles/skyux-core-testing.umd.js +6 -6
  3. package/bundles/skyux-core.umd.js +131 -127
  4. package/documentation.json +293 -24
  5. package/esm2015/index.js +60 -0
  6. package/esm2015/index.js.map +1 -0
  7. package/esm2015/lib/modules/adapter-service/adapter.module.js +16 -0
  8. package/esm2015/lib/modules/adapter-service/adapter.module.js.map +1 -0
  9. package/esm2015/lib/modules/adapter-service/adapter.service.js +218 -0
  10. package/esm2015/lib/modules/adapter-service/adapter.service.js.map +1 -0
  11. package/esm2015/lib/modules/adapter-service/focusable-children-options.js +2 -0
  12. package/esm2015/lib/modules/adapter-service/focusable-children-options.js.map +1 -0
  13. package/esm2015/lib/modules/affix/affix-auto-fit-context.js +12 -0
  14. package/esm2015/lib/modules/affix/affix-auto-fit-context.js.map +1 -0
  15. package/esm2015/lib/modules/affix/affix-config.js +2 -0
  16. package/esm2015/lib/modules/affix/affix-config.js.map +1 -0
  17. package/esm2015/lib/modules/affix/affix-horizontal-alignment.js +2 -0
  18. package/esm2015/lib/modules/affix/affix-horizontal-alignment.js.map +1 -0
  19. package/esm2015/lib/modules/affix/affix-offset-change.js +2 -0
  20. package/esm2015/lib/modules/affix/affix-offset-change.js.map +1 -0
  21. package/esm2015/lib/modules/affix/affix-offset.js +2 -0
  22. package/esm2015/lib/modules/affix/affix-offset.js.map +1 -0
  23. package/esm2015/lib/modules/affix/affix-placement-change.js +2 -0
  24. package/esm2015/lib/modules/affix/affix-placement-change.js.map +1 -0
  25. package/esm2015/lib/modules/affix/affix-placement.js +2 -0
  26. package/esm2015/lib/modules/affix/affix-placement.js.map +1 -0
  27. package/esm2015/lib/modules/affix/affix-utils.js +18 -0
  28. package/esm2015/lib/modules/affix/affix-utils.js.map +1 -0
  29. package/esm2015/lib/modules/affix/affix-vertical-alignment.js +2 -0
  30. package/esm2015/lib/modules/affix/affix-vertical-alignment.js.map +1 -0
  31. package/esm2015/lib/modules/affix/affix.directive.js +100 -0
  32. package/esm2015/lib/modules/affix/affix.directive.js.map +1 -0
  33. package/esm2015/lib/modules/affix/affix.module.js +18 -0
  34. package/esm2015/lib/modules/affix/affix.module.js.map +1 -0
  35. package/esm2015/lib/modules/affix/affix.service.js +24 -0
  36. package/esm2015/lib/modules/affix/affix.service.js.map +1 -0
  37. package/esm2015/lib/modules/affix/affixer.js +349 -0
  38. package/esm2015/lib/modules/affix/affixer.js.map +1 -0
  39. package/esm2015/lib/modules/affix/dom-utils.js +77 -0
  40. package/esm2015/lib/modules/affix/dom-utils.js.map +1 -0
  41. package/esm2015/lib/modules/dock/dock-dom-adapter.service.js +80 -0
  42. package/esm2015/lib/modules/dock/dock-dom-adapter.service.js.map +1 -0
  43. package/esm2015/lib/modules/dock/dock-insert-component-config.js +2 -0
  44. package/esm2015/lib/modules/dock/dock-insert-component-config.js.map +1 -0
  45. package/esm2015/lib/modules/dock/dock-item-config.js +2 -0
  46. package/esm2015/lib/modules/dock/dock-item-config.js.map +1 -0
  47. package/esm2015/lib/modules/dock/dock-item-reference.js +2 -0
  48. package/esm2015/lib/modules/dock/dock-item-reference.js.map +1 -0
  49. package/esm2015/lib/modules/dock/dock-item.js +29 -0
  50. package/esm2015/lib/modules/dock/dock-item.js.map +1 -0
  51. package/esm2015/lib/modules/dock/dock-location.js +19 -0
  52. package/esm2015/lib/modules/dock/dock-location.js.map +1 -0
  53. package/esm2015/lib/modules/dock/dock-options.js +2 -0
  54. package/esm2015/lib/modules/dock/dock-options.js.map +1 -0
  55. package/esm2015/lib/modules/dock/dock.component.js +95 -0
  56. package/esm2015/lib/modules/dock/dock.component.js.map +1 -0
  57. package/esm2015/lib/modules/dock/dock.module.js +20 -0
  58. package/esm2015/lib/modules/dock/dock.module.js.map +1 -0
  59. package/esm2015/lib/modules/dock/dock.service.js +92 -0
  60. package/esm2015/lib/modules/dock/dock.service.js.map +1 -0
  61. package/esm2015/lib/modules/dock/sort-by-stack-order.js +13 -0
  62. package/esm2015/lib/modules/dock/sort-by-stack-order.js.map +1 -0
  63. package/esm2015/lib/modules/dynamic-component/dynamic-component-location.js +27 -0
  64. package/esm2015/lib/modules/dynamic-component/dynamic-component-location.js.map +1 -0
  65. package/esm2015/lib/modules/dynamic-component/dynamic-component-options.js +2 -0
  66. package/esm2015/lib/modules/dynamic-component/dynamic-component-options.js.map +1 -0
  67. package/esm2015/lib/modules/dynamic-component/dynamic-component.module.js +17 -0
  68. package/esm2015/lib/modules/dynamic-component/dynamic-component.module.js.map +1 -0
  69. package/esm2015/lib/modules/dynamic-component/dynamic-component.service.js +83 -0
  70. package/esm2015/lib/modules/dynamic-component/dynamic-component.service.js.map +1 -0
  71. package/esm2015/lib/modules/format/app-format.js +18 -0
  72. package/esm2015/lib/modules/format/app-format.js.map +1 -0
  73. package/esm2015/lib/modules/id/id.directive.js +34 -0
  74. package/esm2015/lib/modules/id/id.directive.js.map +1 -0
  75. package/esm2015/lib/modules/id/id.module.js +16 -0
  76. package/esm2015/lib/modules/id/id.module.js.map +1 -0
  77. package/esm2015/lib/modules/log/log.module.js +16 -0
  78. package/esm2015/lib/modules/log/log.module.js.map +1 -0
  79. package/esm2015/lib/modules/log/log.service.js +22 -0
  80. package/esm2015/lib/modules/log/log.service.js.map +1 -0
  81. package/esm2015/lib/modules/media-query/media-breakpoints.js +20 -0
  82. package/esm2015/lib/modules/media-query/media-breakpoints.js.map +1 -0
  83. package/esm2015/lib/modules/media-query/media-query-listener.js +2 -0
  84. package/esm2015/lib/modules/media-query/media-query-listener.js.map +1 -0
  85. package/esm2015/lib/modules/media-query/media-query.module.js +16 -0
  86. package/esm2015/lib/modules/media-query/media-query.module.js.map +1 -0
  87. package/esm2015/lib/modules/media-query/media-query.service.js +121 -0
  88. package/esm2015/lib/modules/media-query/media-query.service.js.map +1 -0
  89. package/esm2015/lib/modules/mutation/mutation-observer-service.js +16 -0
  90. package/esm2015/lib/modules/mutation/mutation-observer-service.js.map +1 -0
  91. package/esm2015/lib/modules/numeric/numeric-symbol.js +2 -0
  92. package/esm2015/lib/modules/numeric/numeric-symbol.js.map +1 -0
  93. package/esm2015/lib/modules/numeric/numeric.module.js +20 -0
  94. package/esm2015/lib/modules/numeric/numeric.module.js.map +1 -0
  95. package/esm2015/lib/modules/numeric/numeric.options.js +41 -0
  96. package/esm2015/lib/modules/numeric/numeric.options.js.map +1 -0
  97. package/esm2015/lib/modules/numeric/numeric.pipe.js +83 -0
  98. package/esm2015/lib/modules/numeric/numeric.pipe.js.map +1 -0
  99. package/esm2015/lib/modules/numeric/numeric.service.js +188 -0
  100. package/esm2015/lib/modules/numeric/numeric.service.js.map +1 -0
  101. package/esm2015/lib/modules/overlay/overlay-adapter.service.js +41 -0
  102. package/esm2015/lib/modules/overlay/overlay-adapter.service.js.map +1 -0
  103. package/esm2015/lib/modules/overlay/overlay-config.js +2 -0
  104. package/esm2015/lib/modules/overlay/overlay-config.js.map +1 -0
  105. package/esm2015/lib/modules/overlay/overlay-context.js +10 -0
  106. package/esm2015/lib/modules/overlay/overlay-context.js.map +1 -0
  107. package/esm2015/lib/modules/overlay/overlay-instance.js +55 -0
  108. package/esm2015/lib/modules/overlay/overlay-instance.js.map +1 -0
  109. package/esm2015/lib/modules/overlay/overlay.component.js +154 -0
  110. package/esm2015/lib/modules/overlay/overlay.component.js.map +1 -0
  111. package/esm2015/lib/modules/overlay/overlay.module.js +18 -0
  112. package/esm2015/lib/modules/overlay/overlay.module.js.map +1 -0
  113. package/esm2015/lib/modules/overlay/overlay.service.js +120 -0
  114. package/esm2015/lib/modules/overlay/overlay.service.js.map +1 -0
  115. package/esm2015/lib/modules/percent-pipe/percent-pipe.module.js +20 -0
  116. package/esm2015/lib/modules/percent-pipe/percent-pipe.module.js.map +1 -0
  117. package/esm2015/lib/modules/percent-pipe/percent.pipe.js +48 -0
  118. package/esm2015/lib/modules/percent-pipe/percent.pipe.js.map +1 -0
  119. package/esm2015/lib/modules/scrollable-host/scrollable-host.service.js +163 -0
  120. package/esm2015/lib/modules/scrollable-host/scrollable-host.service.js.map +1 -0
  121. package/esm2015/lib/modules/shared/number-format/number-format-utility.js +74 -0
  122. package/esm2015/lib/modules/shared/number-format/number-format-utility.js.map +1 -0
  123. package/esm2015/lib/modules/shared/sky-core-resources.module.js +50 -0
  124. package/esm2015/lib/modules/shared/sky-core-resources.module.js.map +1 -0
  125. package/esm2015/lib/modules/title/set-title-args.js +2 -0
  126. package/esm2015/lib/modules/title/set-title-args.js.map +1 -0
  127. package/esm2015/lib/modules/title/title.service.js +31 -0
  128. package/esm2015/lib/modules/title/title.service.js.map +1 -0
  129. package/esm2015/lib/modules/ui-config/ui-config.service.js +21 -0
  130. package/esm2015/lib/modules/ui-config/ui-config.service.js.map +1 -0
  131. package/esm2015/lib/modules/viewkeeper/viewkeeper-boundary-info.js +2 -0
  132. package/esm2015/lib/modules/viewkeeper/viewkeeper-boundary-info.js.map +1 -0
  133. package/esm2015/lib/modules/viewkeeper/viewkeeper-fixed-styles.js +2 -0
  134. package/esm2015/lib/modules/viewkeeper/viewkeeper-fixed-styles.js.map +1 -0
  135. package/esm2015/lib/modules/viewkeeper/viewkeeper-host-options.js +10 -0
  136. package/esm2015/lib/modules/viewkeeper/viewkeeper-host-options.js.map +1 -0
  137. package/esm2015/lib/modules/viewkeeper/viewkeeper-offset.js +2 -0
  138. package/esm2015/lib/modules/viewkeeper/viewkeeper-offset.js.map +1 -0
  139. package/esm2015/lib/modules/viewkeeper/viewkeeper-options.js +2 -0
  140. package/esm2015/lib/modules/viewkeeper/viewkeeper-options.js.map +1 -0
  141. package/esm2015/lib/modules/viewkeeper/viewkeeper.directive.js +116 -0
  142. package/esm2015/lib/modules/viewkeeper/viewkeeper.directive.js.map +1 -0
  143. package/esm2015/lib/modules/viewkeeper/viewkeeper.js +254 -0
  144. package/esm2015/lib/modules/viewkeeper/viewkeeper.js.map +1 -0
  145. package/esm2015/lib/modules/viewkeeper/viewkeeper.module.js +16 -0
  146. package/esm2015/lib/modules/viewkeeper/viewkeeper.module.js.map +1 -0
  147. package/esm2015/lib/modules/viewkeeper/viewkeeper.service.js +39 -0
  148. package/esm2015/lib/modules/viewkeeper/viewkeeper.service.js.map +1 -0
  149. package/esm2015/lib/modules/window/window-ref.js +30 -0
  150. package/esm2015/lib/modules/window/window-ref.js.map +1 -0
  151. package/esm2015/skyux-core.js +2 -2
  152. package/esm2015/skyux-core.js.map +1 -0
  153. package/esm2015/testing/mock-media-query.service.js +4 -4
  154. package/esm2015/testing/mock-media-query.service.js.map +1 -0
  155. package/esm2015/testing/mock-ui-config.service.js +4 -4
  156. package/esm2015/testing/mock-ui-config.service.js.map +1 -0
  157. package/esm2015/testing/public-api.js +1 -1
  158. package/esm2015/testing/public-api.js.map +1 -0
  159. package/esm2015/testing/skyux-core-testing.js +1 -1
  160. package/esm2015/testing/skyux-core-testing.js.map +1 -0
  161. package/fesm2015/skyux-core-testing.js +6 -6
  162. package/fesm2015/skyux-core-testing.js.map +1 -1
  163. package/fesm2015/skyux-core.js +170 -166
  164. package/fesm2015/skyux-core.js.map +1 -1
  165. package/index.d.ts +57 -0
  166. package/{modules → lib/modules}/adapter-service/adapter.module.d.ts +0 -0
  167. package/{modules → lib/modules}/adapter-service/adapter.service.d.ts +0 -0
  168. package/{modules → lib/modules}/adapter-service/focusable-children-options.d.ts +0 -0
  169. package/{modules → lib/modules}/affix/affix-auto-fit-context.d.ts +0 -0
  170. package/{modules → lib/modules}/affix/affix-config.d.ts +0 -0
  171. package/{modules → lib/modules}/affix/affix-horizontal-alignment.d.ts +0 -0
  172. package/{modules → lib/modules}/affix/affix-offset-change.d.ts +0 -0
  173. package/{modules → lib/modules}/affix/affix-offset.d.ts +0 -0
  174. package/{modules → lib/modules}/affix/affix-placement-change.d.ts +0 -0
  175. package/{modules → lib/modules}/affix/affix-placement.d.ts +0 -0
  176. package/{modules → lib/modules}/affix/affix-utils.d.ts +0 -0
  177. package/{modules → lib/modules}/affix/affix-vertical-alignment.d.ts +0 -0
  178. package/{modules → lib/modules}/affix/affix.directive.d.ts +0 -0
  179. package/{modules → lib/modules}/affix/affix.module.d.ts +0 -0
  180. package/{modules → lib/modules}/affix/affix.service.d.ts +0 -0
  181. package/{modules → lib/modules}/affix/affixer.d.ts +0 -0
  182. package/{modules → lib/modules}/affix/dom-utils.d.ts +0 -0
  183. package/{modules → lib/modules}/dock/dock-dom-adapter.service.d.ts +0 -0
  184. package/{modules → lib/modules}/dock/dock-insert-component-config.d.ts +0 -0
  185. package/{modules → lib/modules}/dock/dock-item-config.d.ts +0 -0
  186. package/{modules → lib/modules}/dock/dock-item-reference.d.ts +0 -0
  187. package/{modules → lib/modules}/dock/dock-item.d.ts +0 -0
  188. package/{modules → lib/modules}/dock/dock-location.d.ts +0 -0
  189. package/{modules → lib/modules}/dock/dock-options.d.ts +0 -0
  190. package/{modules → lib/modules}/dock/dock.component.d.ts +0 -0
  191. package/{modules → lib/modules}/dock/dock.module.d.ts +0 -0
  192. package/{modules → lib/modules}/dock/dock.service.d.ts +0 -0
  193. package/{modules → lib/modules}/dock/sort-by-stack-order.d.ts +0 -0
  194. package/{modules → lib/modules}/dynamic-component/dynamic-component-location.d.ts +0 -0
  195. package/{modules → lib/modules}/dynamic-component/dynamic-component-options.d.ts +0 -0
  196. package/{modules → lib/modules}/dynamic-component/dynamic-component.module.d.ts +0 -0
  197. package/{modules → lib/modules}/dynamic-component/dynamic-component.service.d.ts +0 -0
  198. package/{modules → lib/modules}/format/app-format.d.ts +0 -0
  199. package/{modules → lib/modules}/id/id.directive.d.ts +0 -0
  200. package/{modules → lib/modules}/id/id.module.d.ts +0 -0
  201. package/{modules → lib/modules}/log/log.module.d.ts +0 -0
  202. package/{modules → lib/modules}/log/log.service.d.ts +0 -0
  203. package/{modules → lib/modules}/media-query/media-breakpoints.d.ts +0 -0
  204. package/{modules → lib/modules}/media-query/media-query-listener.d.ts +0 -0
  205. package/{modules → lib/modules}/media-query/media-query.module.d.ts +0 -0
  206. package/{modules → lib/modules}/media-query/media-query.service.d.ts +4 -0
  207. package/{modules → lib/modules}/mutation/mutation-observer-service.d.ts +0 -0
  208. package/{modules → lib/modules}/numeric/numeric-symbol.d.ts +0 -0
  209. package/{modules → lib/modules}/numeric/numeric.module.d.ts +0 -0
  210. package/{modules → lib/modules}/numeric/numeric.options.d.ts +2 -2
  211. package/{modules → lib/modules}/numeric/numeric.pipe.d.ts +2 -2
  212. package/{modules → lib/modules}/numeric/numeric.service.d.ts +0 -0
  213. package/{modules → lib/modules}/overlay/overlay-adapter.service.d.ts +0 -0
  214. package/{modules → lib/modules}/overlay/overlay-config.d.ts +0 -0
  215. package/{modules → lib/modules}/overlay/overlay-context.d.ts +0 -0
  216. package/{modules → lib/modules}/overlay/overlay-instance.d.ts +0 -0
  217. package/{modules → lib/modules}/overlay/overlay.component.d.ts +0 -0
  218. package/{modules → lib/modules}/overlay/overlay.module.d.ts +0 -0
  219. package/{modules → lib/modules}/overlay/overlay.service.d.ts +0 -0
  220. package/{modules → lib/modules}/percent-pipe/percent-pipe.module.d.ts +0 -0
  221. package/{modules → lib/modules}/percent-pipe/percent.pipe.d.ts +0 -0
  222. package/{modules → lib/modules}/scrollable-host/scrollable-host.service.d.ts +0 -0
  223. package/{modules → lib/modules}/shared/number-format/number-format-utility.d.ts +0 -0
  224. package/{modules → lib/modules}/shared/sky-core-resources.module.d.ts +0 -0
  225. package/{modules → lib/modules}/title/set-title-args.d.ts +0 -0
  226. package/{modules → lib/modules}/title/title.service.d.ts +0 -0
  227. package/{modules → lib/modules}/ui-config/ui-config.service.d.ts +0 -0
  228. package/{modules → lib/modules}/viewkeeper/viewkeeper-boundary-info.d.ts +0 -0
  229. package/{modules → lib/modules}/viewkeeper/viewkeeper-fixed-styles.d.ts +0 -0
  230. package/{modules → lib/modules}/viewkeeper/viewkeeper-host-options.d.ts +0 -0
  231. package/{modules → lib/modules}/viewkeeper/viewkeeper-offset.d.ts +0 -0
  232. package/{modules → lib/modules}/viewkeeper/viewkeeper-options.d.ts +0 -0
  233. package/{modules → lib/modules}/viewkeeper/viewkeeper.d.ts +0 -0
  234. package/{modules → lib/modules}/viewkeeper/viewkeeper.directive.d.ts +0 -0
  235. package/{modules → lib/modules}/viewkeeper/viewkeeper.module.d.ts +0 -0
  236. package/{modules → lib/modules}/viewkeeper/viewkeeper.service.d.ts +0 -0
  237. package/{modules → lib/modules}/window/window-ref.d.ts +0 -0
  238. package/package.json +19 -5
  239. package/skyux-core.d.ts +1 -1
  240. package/LICENSE +0 -21
  241. package/bundles/skyux-core-testing.umd.js.map +0 -1
  242. package/bundles/skyux-core.umd.js.map +0 -1
  243. package/esm2015/modules/adapter-service/adapter.module.js +0 -16
  244. package/esm2015/modules/adapter-service/adapter.service.js +0 -218
  245. package/esm2015/modules/adapter-service/focusable-children-options.js +0 -2
  246. package/esm2015/modules/affix/affix-auto-fit-context.js +0 -12
  247. package/esm2015/modules/affix/affix-config.js +0 -2
  248. package/esm2015/modules/affix/affix-horizontal-alignment.js +0 -2
  249. package/esm2015/modules/affix/affix-offset-change.js +0 -2
  250. package/esm2015/modules/affix/affix-offset.js +0 -2
  251. package/esm2015/modules/affix/affix-placement-change.js +0 -2
  252. package/esm2015/modules/affix/affix-placement.js +0 -2
  253. package/esm2015/modules/affix/affix-utils.js +0 -18
  254. package/esm2015/modules/affix/affix-vertical-alignment.js +0 -2
  255. package/esm2015/modules/affix/affix.directive.js +0 -98
  256. package/esm2015/modules/affix/affix.module.js +0 -18
  257. package/esm2015/modules/affix/affix.service.js +0 -24
  258. package/esm2015/modules/affix/affixer.js +0 -349
  259. package/esm2015/modules/affix/dom-utils.js +0 -77
  260. package/esm2015/modules/dock/dock-dom-adapter.service.js +0 -79
  261. package/esm2015/modules/dock/dock-insert-component-config.js +0 -2
  262. package/esm2015/modules/dock/dock-item-config.js +0 -2
  263. package/esm2015/modules/dock/dock-item-reference.js +0 -2
  264. package/esm2015/modules/dock/dock-item.js +0 -29
  265. package/esm2015/modules/dock/dock-location.js +0 -19
  266. package/esm2015/modules/dock/dock-options.js +0 -2
  267. package/esm2015/modules/dock/dock.component.js +0 -95
  268. package/esm2015/modules/dock/dock.module.js +0 -20
  269. package/esm2015/modules/dock/dock.service.js +0 -91
  270. package/esm2015/modules/dock/sort-by-stack-order.js +0 -13
  271. package/esm2015/modules/dynamic-component/dynamic-component-location.js +0 -27
  272. package/esm2015/modules/dynamic-component/dynamic-component-options.js +0 -2
  273. package/esm2015/modules/dynamic-component/dynamic-component.module.js +0 -17
  274. package/esm2015/modules/dynamic-component/dynamic-component.service.js +0 -82
  275. package/esm2015/modules/format/app-format.js +0 -18
  276. package/esm2015/modules/id/id.directive.js +0 -34
  277. package/esm2015/modules/id/id.module.js +0 -16
  278. package/esm2015/modules/log/log.module.js +0 -16
  279. package/esm2015/modules/log/log.service.js +0 -22
  280. package/esm2015/modules/media-query/media-breakpoints.js +0 -20
  281. package/esm2015/modules/media-query/media-query-listener.js +0 -2
  282. package/esm2015/modules/media-query/media-query.module.js +0 -16
  283. package/esm2015/modules/media-query/media-query.service.js +0 -117
  284. package/esm2015/modules/mutation/mutation-observer-service.js +0 -16
  285. package/esm2015/modules/numeric/numeric-symbol.js +0 -2
  286. package/esm2015/modules/numeric/numeric.module.js +0 -20
  287. package/esm2015/modules/numeric/numeric.options.js +0 -41
  288. package/esm2015/modules/numeric/numeric.pipe.js +0 -81
  289. package/esm2015/modules/numeric/numeric.service.js +0 -188
  290. package/esm2015/modules/overlay/overlay-adapter.service.js +0 -41
  291. package/esm2015/modules/overlay/overlay-config.js +0 -2
  292. package/esm2015/modules/overlay/overlay-context.js +0 -10
  293. package/esm2015/modules/overlay/overlay-instance.js +0 -55
  294. package/esm2015/modules/overlay/overlay.component.js +0 -152
  295. package/esm2015/modules/overlay/overlay.module.js +0 -18
  296. package/esm2015/modules/overlay/overlay.service.js +0 -119
  297. package/esm2015/modules/percent-pipe/percent-pipe.module.js +0 -20
  298. package/esm2015/modules/percent-pipe/percent.pipe.js +0 -48
  299. package/esm2015/modules/scrollable-host/scrollable-host.service.js +0 -161
  300. package/esm2015/modules/shared/number-format/number-format-utility.js +0 -74
  301. package/esm2015/modules/shared/sky-core-resources.module.js +0 -50
  302. package/esm2015/modules/title/set-title-args.js +0 -2
  303. package/esm2015/modules/title/title.service.js +0 -30
  304. package/esm2015/modules/ui-config/ui-config.service.js +0 -21
  305. package/esm2015/modules/viewkeeper/viewkeeper-boundary-info.js +0 -2
  306. package/esm2015/modules/viewkeeper/viewkeeper-fixed-styles.js +0 -2
  307. package/esm2015/modules/viewkeeper/viewkeeper-host-options.js +0 -10
  308. package/esm2015/modules/viewkeeper/viewkeeper-offset.js +0 -2
  309. package/esm2015/modules/viewkeeper/viewkeeper-options.js +0 -2
  310. package/esm2015/modules/viewkeeper/viewkeeper.directive.js +0 -113
  311. package/esm2015/modules/viewkeeper/viewkeeper.js +0 -254
  312. package/esm2015/modules/viewkeeper/viewkeeper.module.js +0 -16
  313. package/esm2015/modules/viewkeeper/viewkeeper.service.js +0 -38
  314. package/esm2015/modules/window/window-ref.js +0 -30
  315. package/esm2015/public-api.js +0 -60
  316. package/public-api.d.ts +0 -57
@@ -0,0 +1,60 @@
1
+ export * from './lib/modules/adapter-service/adapter.module';
2
+ export * from './lib/modules/adapter-service/adapter.service';
3
+ export * from './lib/modules/adapter-service/focusable-children-options';
4
+ export * from './lib/modules/affix/affix-auto-fit-context';
5
+ export * from './lib/modules/affix/affix-config';
6
+ export * from './lib/modules/affix/affix-horizontal-alignment';
7
+ export * from './lib/modules/affix/affix-offset';
8
+ export * from './lib/modules/affix/affix-offset-change';
9
+ export * from './lib/modules/affix/affix-placement';
10
+ export * from './lib/modules/affix/affix-placement-change';
11
+ export * from './lib/modules/affix/affix-vertical-alignment';
12
+ export * from './lib/modules/affix/affix.module';
13
+ export * from './lib/modules/affix/affix.service';
14
+ export * from './lib/modules/affix/affixer';
15
+ export * from './lib/modules/dock/dock-insert-component-config';
16
+ export * from './lib/modules/dock/dock-item';
17
+ export * from './lib/modules/dock/dock-item-config';
18
+ export * from './lib/modules/dock/dock-location';
19
+ export * from './lib/modules/dock/dock-options';
20
+ export * from './lib/modules/dock/dock.module';
21
+ export * from './lib/modules/dock/dock.service';
22
+ export * from './lib/modules/dynamic-component/dynamic-component-location';
23
+ export * from './lib/modules/dynamic-component/dynamic-component-options';
24
+ export * from './lib/modules/dynamic-component/dynamic-component.module';
25
+ export * from './lib/modules/dynamic-component/dynamic-component.service';
26
+ export * from './lib/modules/format/app-format';
27
+ export * from './lib/modules/id/id.module';
28
+ export * from './lib/modules/log/log.module';
29
+ export * from './lib/modules/log/log.service';
30
+ export * from './lib/modules/media-query/media-breakpoints';
31
+ export * from './lib/modules/media-query/media-query-listener';
32
+ export * from './lib/modules/media-query/media-query.module';
33
+ export * from './lib/modules/media-query/media-query.service';
34
+ export * from './lib/modules/mutation/mutation-observer-service';
35
+ export * from './lib/modules/numeric/numeric-symbol';
36
+ export * from './lib/modules/numeric/numeric.module';
37
+ export * from './lib/modules/numeric/numeric.options';
38
+ export * from './lib/modules/numeric/numeric.pipe';
39
+ export * from './lib/modules/numeric/numeric.service';
40
+ export * from './lib/modules/overlay/overlay-config';
41
+ export * from './lib/modules/overlay/overlay-instance';
42
+ export * from './lib/modules/overlay/overlay.module';
43
+ export * from './lib/modules/overlay/overlay.service';
44
+ export * from './lib/modules/percent-pipe/percent-pipe.module';
45
+ export * from './lib/modules/percent-pipe/percent.pipe';
46
+ export * from './lib/modules/scrollable-host/scrollable-host.service';
47
+ export * from './lib/modules/title/set-title-args';
48
+ export * from './lib/modules/title/title.service';
49
+ export * from './lib/modules/ui-config/ui-config.service';
50
+ export * from './lib/modules/viewkeeper/viewkeeper-host-options';
51
+ export * from './lib/modules/viewkeeper/viewkeeper-options';
52
+ export * from './lib/modules/viewkeeper/viewkeeper.module';
53
+ export * from './lib/modules/viewkeeper/viewkeeper.service';
54
+ export * from './lib/modules/window/window-ref';
55
+ // Components and directives must be exported to support Angular's "partial" Ivy compiler.
56
+ // Obscure names are used to indicate types are not part of the public API.
57
+ export { SkyAffixDirective as λ1 } from './lib/modules/affix/affix.directive';
58
+ export { SkyIdDirective as λ2 } from './lib/modules/id/id.directive';
59
+ export { SkyViewkeeperDirective as λ3 } from './lib/modules/viewkeeper/viewkeeper.directive';
60
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../libs/components/core/src/index.ts"],"names":[],"mappings":"AAAA,cAAc,8CAA8C,CAAC;AAC7D,cAAc,+CAA+C,CAAC;AAC9D,cAAc,0DAA0D,CAAC;AAEzE,cAAc,4CAA4C,CAAC;AAC3D,cAAc,kCAAkC,CAAC;AACjD,cAAc,gDAAgD,CAAC;AAC/D,cAAc,kCAAkC,CAAC;AACjD,cAAc,yCAAyC,CAAC;AACxD,cAAc,qCAAqC,CAAC;AACpD,cAAc,4CAA4C,CAAC;AAC3D,cAAc,8CAA8C,CAAC;AAC7D,cAAc,kCAAkC,CAAC;AACjD,cAAc,mCAAmC,CAAC;AAClD,cAAc,6BAA6B,CAAC;AAE5C,cAAc,iDAAiD,CAAC;AAChE,cAAc,8BAA8B,CAAC;AAC7C,cAAc,qCAAqC,CAAC;AACpD,cAAc,kCAAkC,CAAC;AACjD,cAAc,iCAAiC,CAAC;AAChD,cAAc,gCAAgC,CAAC;AAC/C,cAAc,iCAAiC,CAAC;AAEhD,cAAc,4DAA4D,CAAC;AAC3E,cAAc,2DAA2D,CAAC;AAC1E,cAAc,0DAA0D,CAAC;AACzE,cAAc,2DAA2D,CAAC;AAE1E,cAAc,iCAAiC,CAAC;AAEhD,cAAc,4BAA4B,CAAC;AAE3C,cAAc,8BAA8B,CAAC;AAC7C,cAAc,+BAA+B,CAAC;AAE9C,cAAc,6CAA6C,CAAC;AAC5D,cAAc,gDAAgD,CAAC;AAC/D,cAAc,8CAA8C,CAAC;AAC7D,cAAc,+CAA+C,CAAC;AAE9D,cAAc,kDAAkD,CAAC;AAEjE,cAAc,sCAAsC,CAAC;AACrD,cAAc,sCAAsC,CAAC;AACrD,cAAc,uCAAuC,CAAC;AACtD,cAAc,oCAAoC,CAAC;AACnD,cAAc,uCAAuC,CAAC;AAEtD,cAAc,sCAAsC,CAAC;AACrD,cAAc,wCAAwC,CAAC;AACvD,cAAc,sCAAsC,CAAC;AACrD,cAAc,uCAAuC,CAAC;AAEtD,cAAc,gDAAgD,CAAC;AAC/D,cAAc,yCAAyC,CAAC;AAExD,cAAc,uDAAuD,CAAC;AAEtE,cAAc,oCAAoC,CAAC;AACnD,cAAc,mCAAmC,CAAC;AAElD,cAAc,2CAA2C,CAAC;AAE1D,cAAc,kDAAkD,CAAC;AACjE,cAAc,6CAA6C,CAAC;AAC5D,cAAc,4CAA4C,CAAC;AAC3D,cAAc,6CAA6C,CAAC;AAE5D,cAAc,iCAAiC,CAAC;AAEhD,0FAA0F;AAC1F,2EAA2E;AAC3E,OAAO,EAAE,iBAAiB,IAAI,EAAE,EAAE,MAAM,qCAAqC,CAAC;AAC9E,OAAO,EAAE,cAAc,IAAI,EAAE,EAAE,MAAM,+BAA+B,CAAC;AACrE,OAAO,EAAE,sBAAsB,IAAI,EAAE,EAAE,MAAM,+CAA+C,CAAC","sourcesContent":["export * from './lib/modules/adapter-service/adapter.module';\nexport * from './lib/modules/adapter-service/adapter.service';\nexport * from './lib/modules/adapter-service/focusable-children-options';\n\nexport * from './lib/modules/affix/affix-auto-fit-context';\nexport * from './lib/modules/affix/affix-config';\nexport * from './lib/modules/affix/affix-horizontal-alignment';\nexport * from './lib/modules/affix/affix-offset';\nexport * from './lib/modules/affix/affix-offset-change';\nexport * from './lib/modules/affix/affix-placement';\nexport * from './lib/modules/affix/affix-placement-change';\nexport * from './lib/modules/affix/affix-vertical-alignment';\nexport * from './lib/modules/affix/affix.module';\nexport * from './lib/modules/affix/affix.service';\nexport * from './lib/modules/affix/affixer';\n\nexport * from './lib/modules/dock/dock-insert-component-config';\nexport * from './lib/modules/dock/dock-item';\nexport * from './lib/modules/dock/dock-item-config';\nexport * from './lib/modules/dock/dock-location';\nexport * from './lib/modules/dock/dock-options';\nexport * from './lib/modules/dock/dock.module';\nexport * from './lib/modules/dock/dock.service';\n\nexport * from './lib/modules/dynamic-component/dynamic-component-location';\nexport * from './lib/modules/dynamic-component/dynamic-component-options';\nexport * from './lib/modules/dynamic-component/dynamic-component.module';\nexport * from './lib/modules/dynamic-component/dynamic-component.service';\n\nexport * from './lib/modules/format/app-format';\n\nexport * from './lib/modules/id/id.module';\n\nexport * from './lib/modules/log/log.module';\nexport * from './lib/modules/log/log.service';\n\nexport * from './lib/modules/media-query/media-breakpoints';\nexport * from './lib/modules/media-query/media-query-listener';\nexport * from './lib/modules/media-query/media-query.module';\nexport * from './lib/modules/media-query/media-query.service';\n\nexport * from './lib/modules/mutation/mutation-observer-service';\n\nexport * from './lib/modules/numeric/numeric-symbol';\nexport * from './lib/modules/numeric/numeric.module';\nexport * from './lib/modules/numeric/numeric.options';\nexport * from './lib/modules/numeric/numeric.pipe';\nexport * from './lib/modules/numeric/numeric.service';\n\nexport * from './lib/modules/overlay/overlay-config';\nexport * from './lib/modules/overlay/overlay-instance';\nexport * from './lib/modules/overlay/overlay.module';\nexport * from './lib/modules/overlay/overlay.service';\n\nexport * from './lib/modules/percent-pipe/percent-pipe.module';\nexport * from './lib/modules/percent-pipe/percent.pipe';\n\nexport * from './lib/modules/scrollable-host/scrollable-host.service';\n\nexport * from './lib/modules/title/set-title-args';\nexport * from './lib/modules/title/title.service';\n\nexport * from './lib/modules/ui-config/ui-config.service';\n\nexport * from './lib/modules/viewkeeper/viewkeeper-host-options';\nexport * from './lib/modules/viewkeeper/viewkeeper-options';\nexport * from './lib/modules/viewkeeper/viewkeeper.module';\nexport * from './lib/modules/viewkeeper/viewkeeper.service';\n\nexport * from './lib/modules/window/window-ref';\n\n// Components and directives must be exported to support Angular's \"partial\" Ivy compiler.\n// Obscure names are used to indicate types are not part of the public API.\nexport { SkyAffixDirective as λ1 } from './lib/modules/affix/affix.directive';\nexport { SkyIdDirective as λ2 } from './lib/modules/id/id.directive';\nexport { SkyViewkeeperDirective as λ3 } from './lib/modules/viewkeeper/viewkeeper.directive';\n"]}
@@ -0,0 +1,16 @@
1
+ import { NgModule } from '@angular/core';
2
+ import * as i0 from "@angular/core";
3
+ /**
4
+ * @deprecated The `SkyCoreAdapterService` no longer needs the `SkyCoreAdapterModule`.
5
+ * The `SkyCoreAdapterModule` can be removed from your project.
6
+ */
7
+ export class SkyCoreAdapterModule {
8
+ }
9
+ SkyCoreAdapterModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: SkyCoreAdapterModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
10
+ SkyCoreAdapterModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: SkyCoreAdapterModule });
11
+ SkyCoreAdapterModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: SkyCoreAdapterModule });
12
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: SkyCoreAdapterModule, decorators: [{
13
+ type: NgModule,
14
+ args: [{}]
15
+ }] });
16
+ //# sourceMappingURL=adapter.module.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"adapter.module.js","sourceRoot":"","sources":["../../../../../../../../libs/components/core/src/lib/modules/adapter-service/adapter.module.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;;AAEzC;;;GAGG;AAEH,MAAM,OAAO,oBAAoB;;kHAApB,oBAAoB;mHAApB,oBAAoB;mHAApB,oBAAoB;4FAApB,oBAAoB;kBADhC,QAAQ;mBAAC,EAAE","sourcesContent":["import { NgModule } from '@angular/core';\n\n/**\n * @deprecated The `SkyCoreAdapterService` no longer needs the `SkyCoreAdapterModule`.\n * The `SkyCoreAdapterModule` can be removed from your project.\n */\n@NgModule({})\nexport class SkyCoreAdapterModule {}\n"]}
@@ -0,0 +1,218 @@
1
+ import { Injectable, RendererFactory2, } from '@angular/core';
2
+ import { SkyMediaBreakpoints } from '../media-query/media-breakpoints';
3
+ import * as i0 from "@angular/core";
4
+ const SKY_TABBABLE_SELECTOR = [
5
+ 'a[href]',
6
+ 'area[href]',
7
+ 'input:not([disabled])',
8
+ 'button:not([disabled])',
9
+ 'select:not([disabled])',
10
+ 'textarea:not([disabled])',
11
+ 'iframe',
12
+ 'object',
13
+ 'embed',
14
+ '*[contenteditable=true]:not([disabled])',
15
+ '*[tabindex]:not([disabled])',
16
+ ].join(', ');
17
+ export class SkyCoreAdapterService {
18
+ constructor(rendererFactory) {
19
+ this.rendererFactory = rendererFactory;
20
+ this.renderer = this.rendererFactory.createRenderer(undefined, undefined);
21
+ }
22
+ /**
23
+ * Set the responsive container CSS class for a given element.
24
+ *
25
+ * @param elementRef - The element that will recieve the new CSS class.
26
+ * @param breakpoint - The SkyMediaBreakpoint will determine which class
27
+ * gets set. For example a SkyMediaBreakpoint of `xs` will set a CSS class of `sky-responsive-container-xs`.
28
+ */
29
+ setResponsiveContainerClass(elementRef, breakpoint) {
30
+ const nativeEl = elementRef.nativeElement;
31
+ this.renderer.removeClass(nativeEl, 'sky-responsive-container-xs');
32
+ this.renderer.removeClass(nativeEl, 'sky-responsive-container-sm');
33
+ this.renderer.removeClass(nativeEl, 'sky-responsive-container-md');
34
+ this.renderer.removeClass(nativeEl, 'sky-responsive-container-lg');
35
+ let newClass;
36
+ switch (breakpoint) {
37
+ case SkyMediaBreakpoints.xs: {
38
+ newClass = 'sky-responsive-container-xs';
39
+ break;
40
+ }
41
+ case SkyMediaBreakpoints.sm: {
42
+ newClass = 'sky-responsive-container-sm';
43
+ break;
44
+ }
45
+ case SkyMediaBreakpoints.md: {
46
+ newClass = 'sky-responsive-container-md';
47
+ break;
48
+ }
49
+ default: {
50
+ newClass = 'sky-responsive-container-lg';
51
+ break;
52
+ }
53
+ }
54
+ this.renderer.addClass(nativeEl, newClass);
55
+ }
56
+ /**
57
+ * This method temporarily enables/disables pointer events.
58
+ * This is helpful to prevent iFrames from interfering with drag events.
59
+ *
60
+ * @param enable - Set to `true` to enable pointer events. Set to `false` to disable.
61
+ */
62
+ toggleIframePointerEvents(enable) {
63
+ const iframes = document.querySelectorAll('iframe');
64
+ for (let i = 0; i < iframes.length; i++) {
65
+ // Setting to empty string will allow iframe to fall back to its prior CSS assignment.
66
+ iframes[i].style.pointerEvents = enable ? '' : 'none';
67
+ }
68
+ }
69
+ /**
70
+ * Focuses on the first element found with an `autofocus` attribute inside the supplied `elementRef`.
71
+ *
72
+ * @param elementRef - The element to search within.
73
+ * @return Returns `true` if a child element with autofocus is found.
74
+ */
75
+ applyAutoFocus(elementRef) {
76
+ const elementWithAutoFocus = elementRef.nativeElement.querySelector('[autofocus]');
77
+ // Child was found with the autofocus property. Set focus and return true.
78
+ if (elementWithAutoFocus) {
79
+ elementWithAutoFocus.focus();
80
+ return true;
81
+ }
82
+ // No children were found with autofocus property. Return false.
83
+ return false;
84
+ }
85
+ /**
86
+ * Sets focus on the first focusable child of the `elementRef` parameter.
87
+ * If no focusable children are found, and `focusOnContainerIfNoChildrenFound` is `true`,
88
+ * focus will be set on the container element.
89
+ *
90
+ * @param elementRef - The element to search within.
91
+ * @param containerSelector - A CSS selector indicating the container that should
92
+ * recieve focus if no focusable children are found.
93
+ * @param focusOnContainerIfNoChildrenFound - It set to `true`, the container will
94
+ * recieve focus if no focusable children are found.
95
+ */
96
+ getFocusableChildrenAndApplyFocus(elementRef, containerSelector, focusOnContainerIfNoChildrenFound = false) {
97
+ const containerElement = elementRef.nativeElement.querySelector(containerSelector);
98
+ const focusableChildren = this.getFocusableChildren(containerElement);
99
+ // Focus first focusable child if available. Otherwise, set focus on container.
100
+ if (!this.focusFirstElement(focusableChildren) &&
101
+ focusOnContainerIfNoChildrenFound) {
102
+ containerElement.focus();
103
+ }
104
+ }
105
+ /**
106
+ * Returns an array of all focusable children of provided `element`.
107
+ *
108
+ * @param element - The HTMLElement to search within.
109
+ * @param options - Options for getting focusable children.
110
+ */
111
+ getFocusableChildren(element, options) {
112
+ let elements = Array.prototype.slice.call(element.querySelectorAll(SKY_TABBABLE_SELECTOR));
113
+ // Unless ignoreTabIndex = true, filter out elements with tabindex = -1.
114
+ if (!options || !options.ignoreTabIndex) {
115
+ elements = elements.filter((el) => {
116
+ return el.tabIndex !== -1;
117
+ });
118
+ }
119
+ // Unless ignoreVisibility = true, filter out elements that are not visible.
120
+ if (!options || !options.ignoreVisibility) {
121
+ elements = elements.filter((el) => {
122
+ return this.isVisible(el);
123
+ });
124
+ }
125
+ return elements;
126
+ }
127
+ /**
128
+ * Returns the clientWidth of the provided elementRef.
129
+ * @param elementRef - The element to calculate width from.
130
+ */
131
+ getWidth(elementRef) {
132
+ return elementRef.nativeElement.clientWidth;
133
+ }
134
+ /**
135
+ * Checks if an event target has a higher z-index than a given element.
136
+ * @param target The event target element.
137
+ * @param element The element to test against. A z-index must be explicitly set for this element.
138
+ */
139
+ isTargetAboveElement(target, element) {
140
+ const zIndex = getComputedStyle(element).zIndex;
141
+ let el = target;
142
+ while (el) {
143
+ // Getting the computed style only works for elements that exist in the DOM.
144
+ // In certain scenarios, an element is removed after a click event; by the time the event
145
+ // bubbles up to other elements, however, the element has been removed and the computed style returns empty.
146
+ // In this case, we'll need to check the z-index directly, via the style property.
147
+ let targetZIndex = getComputedStyle(el).zIndex || el.style.zIndex;
148
+ if (targetZIndex !== '' &&
149
+ targetZIndex !== 'auto' &&
150
+ +targetZIndex > +zIndex) {
151
+ return true;
152
+ }
153
+ el = el.parentElement;
154
+ }
155
+ return false;
156
+ }
157
+ /**
158
+ * Remove inline height styles from the provided elements.
159
+ * @param elementRef - The element to search within.
160
+ * @param selector - The CSS selector to use when finding elements for removing height.
161
+ */
162
+ resetHeight(elementRef, selector) {
163
+ const children = elementRef.nativeElement.querySelectorAll(selector);
164
+ /* istanbul ignore else */
165
+ if (children.length > 0) {
166
+ for (let i = 0; i < children.length; i++) {
167
+ // Setting style attributes with Web API requires null instead of undefined.
168
+ // tslint:disable-next-line: no-null-keyword
169
+ children[i].style.height = null;
170
+ }
171
+ }
172
+ }
173
+ /**
174
+ * Sets all element heights to match the height of the tallest element.
175
+ * @param elementRef - The element to search within.
176
+ * @param selector - The CSS selector to use when finding elements for syncing height.
177
+ */
178
+ syncMaxHeight(elementRef, selector) {
179
+ const children = elementRef.nativeElement.querySelectorAll(selector);
180
+ /* istanbul ignore else */
181
+ if (children.length > 0) {
182
+ let maxHeight = 0;
183
+ for (let i = 0; i < children.length; i++) {
184
+ maxHeight = Math.max(maxHeight, children[i].offsetHeight);
185
+ }
186
+ for (let i = 0; i < children.length; i++) {
187
+ children[i].style.height = maxHeight + 'px';
188
+ }
189
+ }
190
+ }
191
+ focusFirstElement(list) {
192
+ if (list.length > 0) {
193
+ list[0].focus();
194
+ return true;
195
+ }
196
+ return false;
197
+ }
198
+ isVisible(element) {
199
+ const style = window.getComputedStyle(element);
200
+ const isHidden = style.display === 'none' || style.visibility === 'hidden';
201
+ if (isHidden) {
202
+ return false;
203
+ }
204
+ const hasBounds = !!(element.offsetWidth ||
205
+ element.offsetHeight ||
206
+ element.getClientRects().length);
207
+ return hasBounds;
208
+ }
209
+ }
210
+ SkyCoreAdapterService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: SkyCoreAdapterService, deps: [{ token: i0.RendererFactory2 }], target: i0.ɵɵFactoryTarget.Injectable });
211
+ SkyCoreAdapterService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: SkyCoreAdapterService, providedIn: 'root' });
212
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: SkyCoreAdapterService, decorators: [{
213
+ type: Injectable,
214
+ args: [{
215
+ providedIn: 'root',
216
+ }]
217
+ }], ctorParameters: function () { return [{ type: i0.RendererFactory2 }]; } });
218
+ //# sourceMappingURL=adapter.service.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"adapter.service.js","sourceRoot":"","sources":["../../../../../../../../libs/components/core/src/lib/modules/adapter-service/adapter.service.ts"],"names":[],"mappings":"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","sourcesContent":["import {\n ElementRef,\n Injectable,\n Renderer2,\n RendererFactory2,\n} from '@angular/core';\n\nimport { SkyMediaBreakpoints } from '../media-query/media-breakpoints';\n\nimport { SkyFocusableChildrenOptions } from './focusable-children-options';\n\nconst SKY_TABBABLE_SELECTOR = [\n 'a[href]',\n 'area[href]',\n 'input:not([disabled])',\n 'button:not([disabled])',\n 'select:not([disabled])',\n 'textarea:not([disabled])',\n 'iframe',\n 'object',\n 'embed',\n '*[contenteditable=true]:not([disabled])',\n '*[tabindex]:not([disabled])',\n].join(', ');\n\n@Injectable({\n providedIn: 'root',\n})\nexport class SkyCoreAdapterService {\n private renderer: Renderer2;\n\n constructor(private rendererFactory: RendererFactory2) {\n this.renderer = this.rendererFactory.createRenderer(undefined, undefined);\n }\n\n /**\n * Set the responsive container CSS class for a given element.\n *\n * @param elementRef - The element that will recieve the new CSS class.\n * @param breakpoint - The SkyMediaBreakpoint will determine which class\n * gets set. For example a SkyMediaBreakpoint of `xs` will set a CSS class of `sky-responsive-container-xs`.\n */\n public setResponsiveContainerClass(\n elementRef: ElementRef,\n breakpoint: SkyMediaBreakpoints\n ): void {\n const nativeEl: HTMLElement = elementRef.nativeElement;\n\n this.renderer.removeClass(nativeEl, 'sky-responsive-container-xs');\n this.renderer.removeClass(nativeEl, 'sky-responsive-container-sm');\n this.renderer.removeClass(nativeEl, 'sky-responsive-container-md');\n this.renderer.removeClass(nativeEl, 'sky-responsive-container-lg');\n\n let newClass: string;\n\n switch (breakpoint) {\n case SkyMediaBreakpoints.xs: {\n newClass = 'sky-responsive-container-xs';\n break;\n }\n case SkyMediaBreakpoints.sm: {\n newClass = 'sky-responsive-container-sm';\n break;\n }\n case SkyMediaBreakpoints.md: {\n newClass = 'sky-responsive-container-md';\n break;\n }\n default: {\n newClass = 'sky-responsive-container-lg';\n break;\n }\n }\n\n this.renderer.addClass(nativeEl, newClass);\n }\n\n /**\n * This method temporarily enables/disables pointer events.\n * This is helpful to prevent iFrames from interfering with drag events.\n *\n * @param enable - Set to `true` to enable pointer events. Set to `false` to disable.\n */\n public toggleIframePointerEvents(enable: boolean): void {\n const iframes = document.querySelectorAll('iframe');\n for (let i = 0; i < iframes.length; i++) {\n // Setting to empty string will allow iframe to fall back to its prior CSS assignment.\n iframes[i].style.pointerEvents = enable ? '' : 'none';\n }\n }\n\n /**\n * Focuses on the first element found with an `autofocus` attribute inside the supplied `elementRef`.\n *\n * @param elementRef - The element to search within.\n * @return Returns `true` if a child element with autofocus is found.\n */\n public applyAutoFocus(elementRef: ElementRef): boolean {\n const elementWithAutoFocus =\n elementRef.nativeElement.querySelector('[autofocus]');\n\n // Child was found with the autofocus property. Set focus and return true.\n if (elementWithAutoFocus) {\n elementWithAutoFocus.focus();\n return true;\n }\n\n // No children were found with autofocus property. Return false.\n return false;\n }\n\n /**\n * Sets focus on the first focusable child of the `elementRef` parameter.\n * If no focusable children are found, and `focusOnContainerIfNoChildrenFound` is `true`,\n * focus will be set on the container element.\n *\n * @param elementRef - The element to search within.\n * @param containerSelector - A CSS selector indicating the container that should\n * recieve focus if no focusable children are found.\n * @param focusOnContainerIfNoChildrenFound - It set to `true`, the container will\n * recieve focus if no focusable children are found.\n */\n public getFocusableChildrenAndApplyFocus(\n elementRef: ElementRef,\n containerSelector: string,\n focusOnContainerIfNoChildrenFound: boolean = false\n ): void {\n const containerElement =\n elementRef.nativeElement.querySelector(containerSelector);\n const focusableChildren = this.getFocusableChildren(containerElement);\n\n // Focus first focusable child if available. Otherwise, set focus on container.\n if (\n !this.focusFirstElement(focusableChildren) &&\n focusOnContainerIfNoChildrenFound\n ) {\n containerElement.focus();\n }\n }\n\n /**\n * Returns an array of all focusable children of provided `element`.\n *\n * @param element - The HTMLElement to search within.\n * @param options - Options for getting focusable children.\n */\n public getFocusableChildren(\n element: HTMLElement,\n options?: SkyFocusableChildrenOptions\n ): HTMLElement[] {\n let elements = Array.prototype.slice.call(\n element.querySelectorAll(SKY_TABBABLE_SELECTOR)\n );\n\n // Unless ignoreTabIndex = true, filter out elements with tabindex = -1.\n if (!options || !options.ignoreTabIndex) {\n elements = elements.filter((el: HTMLElement) => {\n return el.tabIndex !== -1;\n });\n }\n\n // Unless ignoreVisibility = true, filter out elements that are not visible.\n if (!options || !options.ignoreVisibility) {\n elements = elements.filter((el: HTMLElement) => {\n return this.isVisible(el);\n });\n }\n\n return elements;\n }\n\n /**\n * Returns the clientWidth of the provided elementRef.\n * @param elementRef - The element to calculate width from.\n */\n public getWidth(elementRef: ElementRef): number {\n return elementRef.nativeElement.clientWidth;\n }\n\n /**\n * Checks if an event target has a higher z-index than a given element.\n * @param target The event target element.\n * @param element The element to test against. A z-index must be explicitly set for this element.\n */\n public isTargetAboveElement(\n target: EventTarget,\n element: HTMLElement\n ): boolean {\n const zIndex: string = getComputedStyle(element).zIndex;\n\n let el: HTMLElement = target as HTMLElement;\n\n while (el) {\n // Getting the computed style only works for elements that exist in the DOM.\n // In certain scenarios, an element is removed after a click event; by the time the event\n // bubbles up to other elements, however, the element has been removed and the computed style returns empty.\n // In this case, we'll need to check the z-index directly, via the style property.\n let targetZIndex: string = getComputedStyle(el).zIndex || el.style.zIndex;\n if (\n targetZIndex !== '' &&\n targetZIndex !== 'auto' &&\n +targetZIndex > +zIndex\n ) {\n return true;\n }\n\n el = el.parentElement as HTMLElement;\n }\n\n return false;\n }\n\n /**\n * Remove inline height styles from the provided elements.\n * @param elementRef - The element to search within.\n * @param selector - The CSS selector to use when finding elements for removing height.\n */\n public resetHeight(elementRef: ElementRef, selector: string): void {\n const children = elementRef.nativeElement.querySelectorAll(selector);\n /* istanbul ignore else */\n if (children.length > 0) {\n for (let i = 0; i < children.length; i++) {\n // Setting style attributes with Web API requires null instead of undefined.\n // tslint:disable-next-line: no-null-keyword\n children[i].style.height = null;\n }\n }\n }\n\n /**\n * Sets all element heights to match the height of the tallest element.\n * @param elementRef - The element to search within.\n * @param selector - The CSS selector to use when finding elements for syncing height.\n */\n public syncMaxHeight(elementRef: ElementRef, selector: string): void {\n const children = elementRef.nativeElement.querySelectorAll(selector);\n /* istanbul ignore else */\n if (children.length > 0) {\n let maxHeight = 0;\n for (let i = 0; i < children.length; i++) {\n maxHeight = Math.max(maxHeight, children[i].offsetHeight);\n }\n for (let i = 0; i < children.length; i++) {\n children[i].style.height = maxHeight + 'px';\n }\n }\n }\n\n private focusFirstElement(list: Array<HTMLElement>): boolean {\n if (list.length > 0) {\n list[0].focus();\n return true;\n }\n return false;\n }\n\n private isVisible(element: HTMLElement): boolean {\n const style = window.getComputedStyle(element);\n const isHidden = style.display === 'none' || style.visibility === 'hidden';\n if (isHidden) {\n return false;\n }\n\n const hasBounds = !!(\n element.offsetWidth ||\n element.offsetHeight ||\n element.getClientRects().length\n );\n return hasBounds;\n }\n}\n"]}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=focusable-children-options.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"focusable-children-options.js","sourceRoot":"","sources":["../../../../../../../../libs/components/core/src/lib/modules/adapter-service/focusable-children-options.ts"],"names":[],"mappings":"","sourcesContent":["/**\n * Options for getting focusable children.\n */\nexport interface SkyFocusableChildrenOptions {\n /**\n * By default, the `getFocusableChildren()` function will filter out elements with\n * a `tabIndex` of `-1`. Setting `ignoreTabIndex = true` will ignore this filter.\n */\n ignoreTabIndex?: boolean;\n\n /**\n * By default, the `getFocusableChildren()` function will only return visible elements.\n * Setting `ignoreVisibility = true` will ignore this filter.\n */\n ignoreVisibility?: boolean;\n}\n"]}
@@ -0,0 +1,12 @@
1
+ export var SkyAffixAutoFitContext;
2
+ (function (SkyAffixAutoFitContext) {
3
+ /**
4
+ * Auto-fit functionality will respect the nearest overflow parent element's dimensions.
5
+ */
6
+ SkyAffixAutoFitContext[SkyAffixAutoFitContext["OverflowParent"] = 0] = "OverflowParent";
7
+ /**
8
+ * Auto-fit functionality will respect the browser viewport dimensions.
9
+ */
10
+ SkyAffixAutoFitContext[SkyAffixAutoFitContext["Viewport"] = 1] = "Viewport";
11
+ })(SkyAffixAutoFitContext || (SkyAffixAutoFitContext = {}));
12
+ //# sourceMappingURL=affix-auto-fit-context.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"affix-auto-fit-context.js","sourceRoot":"","sources":["../../../../../../../../libs/components/core/src/lib/modules/affix/affix-auto-fit-context.ts"],"names":[],"mappings":"AAAA,MAAM,CAAN,IAAY,sBAUX;AAVD,WAAY,sBAAsB;IAChC;;OAEG;IACH,uFAAkB,CAAA;IAElB;;OAEG;IACH,2EAAY,CAAA;AACd,CAAC,EAVW,sBAAsB,KAAtB,sBAAsB,QAUjC","sourcesContent":["export enum SkyAffixAutoFitContext {\n /**\n * Auto-fit functionality will respect the nearest overflow parent element's dimensions.\n */\n OverflowParent = 0,\n\n /**\n * Auto-fit functionality will respect the browser viewport dimensions.\n */\n Viewport = 1,\n}\n"]}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=affix-config.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"affix-config.js","sourceRoot":"","sources":["../../../../../../../../libs/components/core/src/lib/modules/affix/affix-config.ts"],"names":[],"mappings":"","sourcesContent":["import { SkyAffixAutoFitContext } from './affix-auto-fit-context';\n\nimport { SkyAffixHorizontalAlignment } from './affix-horizontal-alignment';\n\nimport { SkyAffixOffset } from './affix-offset';\n\nimport { SkyAffixPlacement } from './affix-placement';\n\nimport { SkyAffixVerticalAlignment } from './affix-vertical-alignment';\n\nexport interface SkyAffixConfig {\n /**\n * Indicates which parent element is used by the auto-fit functionality.\n */\n autoFitContext?: SkyAffixAutoFitContext;\n\n /**\n * This optional offset is added to (or subtracted from) the [[SkyAffixAutoFitContext]] element's\n * offset during an auto-fit placement calculation. This value is useful if you need to consider\n * another `position: fixed` element on the page (such as a navbar) when the auto-fit\n * functionality attempts to find the best possible placement.\n * (In the case of a navbar, you would add a `top` value equal to the navbar's height in pixels.)\n */\n autoFitOverflowOffset?: SkyAffixOffset;\n\n /**\n * Indicates if the affix service should try and find the best placement for the affixed element\n * if the element would be hidden otherwise. If this setting is disabled, the affix service will\n * force the placement of the affixed element.\n */\n enableAutoFit?: boolean;\n\n /**\n * The horizontal alignment of the affixed element to the base element.\n */\n horizontalAlignment?: SkyAffixHorizontalAlignment;\n\n /**\n * Indicates if the affixed element should remain affixed to the base element when the window is scrolled or resized.\n */\n isSticky?: boolean;\n\n /**\n * The placement of the affixed element around the base element.\n */\n placement?: SkyAffixPlacement;\n\n /**\n * The vertical alignment of the affixed element to the base element.\n */\n verticalAlignment?: SkyAffixVerticalAlignment;\n}\n"]}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=affix-horizontal-alignment.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"affix-horizontal-alignment.js","sourceRoot":"","sources":["../../../../../../../../libs/components/core/src/lib/modules/affix/affix-horizontal-alignment.ts"],"names":[],"mappings":"","sourcesContent":["/**\n * The horizontal alignment of the affixed element to the base element.\n */\nexport type SkyAffixHorizontalAlignment = 'left' | 'center' | 'right';\n"]}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=affix-offset-change.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"affix-offset-change.js","sourceRoot":"","sources":["../../../../../../../../libs/components/core/src/lib/modules/affix/affix-offset-change.ts"],"names":[],"mappings":"","sourcesContent":["import { SkyAffixOffset } from './affix-offset';\n\n/**\n * The arguments supplied to the affix offset change event listener.\n */\nexport interface SkyAffixOffsetChange {\n offset?: SkyAffixOffset;\n}\n"]}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=affix-offset.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"affix-offset.js","sourceRoot":"","sources":["../../../../../../../../libs/components/core/src/lib/modules/affix/affix-offset.ts"],"names":[],"mappings":"","sourcesContent":["/**\n * @internal\n */\nexport interface SkyAffixOffset {\n bottom?: number;\n\n left?: number;\n\n right?: number;\n\n top?: number;\n}\n"]}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=affix-placement-change.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"affix-placement-change.js","sourceRoot":"","sources":["../../../../../../../../libs/components/core/src/lib/modules/affix/affix-placement-change.ts"],"names":[],"mappings":"","sourcesContent":["import { SkyAffixPlacement } from './affix-placement';\n\nexport interface SkyAffixPlacementChange {\n /**\n * The changed placement value.\n */\n placement: SkyAffixPlacement | null;\n}\n"]}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=affix-placement.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"affix-placement.js","sourceRoot":"","sources":["../../../../../../../../libs/components/core/src/lib/modules/affix/affix-placement.ts"],"names":[],"mappings":"","sourcesContent":["/**\n * The placement of the affixed element around the base element.\n */\nexport type SkyAffixPlacement = 'above' | 'below' | 'left' | 'right';\n"]}
@@ -0,0 +1,18 @@
1
+ export function getNextPlacement(placement) {
2
+ const placements = ['above', 'right', 'below', 'left'];
3
+ let index = placements.indexOf(placement) + 1;
4
+ if (index >= placements.length) {
5
+ index = 0;
6
+ }
7
+ return placements[index];
8
+ }
9
+ export function getInversePlacement(placement) {
10
+ const pairings = {
11
+ above: 'below',
12
+ below: 'above',
13
+ right: 'left',
14
+ left: 'right',
15
+ };
16
+ return pairings[placement];
17
+ }
18
+ //# sourceMappingURL=affix-utils.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"affix-utils.js","sourceRoot":"","sources":["../../../../../../../../libs/components/core/src/lib/modules/affix/affix-utils.ts"],"names":[],"mappings":"AAEA,MAAM,UAAU,gBAAgB,CAC9B,SAA4B;IAE5B,MAAM,UAAU,GAAwB,CAAC,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,CAAC,CAAC;IAE5E,IAAI,KAAK,GAAG,UAAU,CAAC,OAAO,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC;IAC9C,IAAI,KAAK,IAAI,UAAU,CAAC,MAAM,EAAE;QAC9B,KAAK,GAAG,CAAC,CAAC;KACX;IAED,OAAO,UAAU,CAAC,KAAK,CAAC,CAAC;AAC3B,CAAC;AAED,MAAM,UAAU,mBAAmB,CACjC,SAA4B;IAE5B,MAAM,QAAQ,GAAuC;QACnD,KAAK,EAAE,OAAO;QACd,KAAK,EAAE,OAAO;QACd,KAAK,EAAE,MAAM;QACb,IAAI,EAAE,OAAO;KACd,CAAC;IAEF,OAAO,QAAQ,CAAC,SAAS,CAAC,CAAC;AAC7B,CAAC","sourcesContent":["import { SkyAffixPlacement } from './affix-placement';\n\nexport function getNextPlacement(\n placement: SkyAffixPlacement\n): SkyAffixPlacement {\n const placements: SkyAffixPlacement[] = ['above', 'right', 'below', 'left'];\n\n let index = placements.indexOf(placement) + 1;\n if (index >= placements.length) {\n index = 0;\n }\n\n return placements[index];\n}\n\nexport function getInversePlacement(\n placement: SkyAffixPlacement\n): SkyAffixPlacement {\n const pairings: { [_: string]: SkyAffixPlacement } = {\n above: 'below',\n below: 'above',\n right: 'left',\n left: 'right',\n };\n\n return pairings[placement];\n}\n"]}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=affix-vertical-alignment.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"affix-vertical-alignment.js","sourceRoot":"","sources":["../../../../../../../../libs/components/core/src/lib/modules/affix/affix-vertical-alignment.ts"],"names":[],"mappings":"","sourcesContent":["/**\n * The vertical alignment of the affixed element to the base element.\n */\nexport type SkyAffixVerticalAlignment = 'top' | 'middle' | 'bottom';\n"]}
@@ -0,0 +1,100 @@
1
+ import { Directive, ElementRef, EventEmitter, Input, Output, } from '@angular/core';
2
+ import { Subject } from 'rxjs';
3
+ import { takeUntil } from 'rxjs/operators';
4
+ import { SkyAffixAutoFitContext } from './affix-auto-fit-context';
5
+ import { SkyAffixService } from './affix.service';
6
+ import * as i0 from "@angular/core";
7
+ import * as i1 from "./affix.service";
8
+ /**
9
+ * Affixes the host element to a base element.
10
+ */
11
+ export class SkyAffixDirective {
12
+ constructor(elementRef, affixService) {
13
+ this.affixService = affixService;
14
+ /**
15
+ * Fires when the affixed element's offset changes.
16
+ */
17
+ this.affixOffsetChange = new EventEmitter();
18
+ /**
19
+ * Fires when the affixed element's overflow container is scrolled.
20
+ */
21
+ this.affixOverflowScroll = new EventEmitter();
22
+ /**
23
+ * Fires when the placement value changes.
24
+ */
25
+ this.affixPlacementChange = new EventEmitter();
26
+ this.ngUnsubscribe = new Subject();
27
+ this.affixer = this.affixService.createAffixer(elementRef);
28
+ this.affixer.offsetChange
29
+ .pipe(takeUntil(this.ngUnsubscribe))
30
+ .subscribe((change) => this.affixOffsetChange.emit(change));
31
+ this.affixer.overflowScroll
32
+ .pipe(takeUntil(this.ngUnsubscribe))
33
+ .subscribe((change) => this.affixOverflowScroll.emit(change));
34
+ this.affixer.placementChange
35
+ .pipe(takeUntil(this.ngUnsubscribe))
36
+ .subscribe((change) => this.affixPlacementChange.emit(change));
37
+ }
38
+ ngOnChanges(changes) {
39
+ /* istanbul ignore else */
40
+ if (changes.affixAutoFitContext ||
41
+ changes.affixAutoFitOverflowOffset ||
42
+ changes.affixEnableAutoFit ||
43
+ changes.affixHorizontalAlignment ||
44
+ changes.affixIsSticky ||
45
+ changes.affixPlacement ||
46
+ changes.affixVerticalAlignment) {
47
+ this.updateAlignment();
48
+ }
49
+ }
50
+ ngOnDestroy() {
51
+ this.affixOffsetChange.complete();
52
+ this.affixOverflowScroll.complete();
53
+ this.affixPlacementChange.complete();
54
+ this.ngUnsubscribe.next();
55
+ this.ngUnsubscribe.complete();
56
+ this.affixer.destroy();
57
+ }
58
+ updateAlignment() {
59
+ this.affixer.affixTo(this.skyAffixTo, {
60
+ autoFitContext: this.affixAutoFitContext,
61
+ autoFitOverflowOffset: this.affixAutoFitOverflowOffset,
62
+ enableAutoFit: this.affixEnableAutoFit,
63
+ horizontalAlignment: this.affixHorizontalAlignment,
64
+ isSticky: this.affixIsSticky,
65
+ placement: this.affixPlacement,
66
+ verticalAlignment: this.affixVerticalAlignment,
67
+ });
68
+ }
69
+ }
70
+ SkyAffixDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: SkyAffixDirective, deps: [{ token: i0.ElementRef }, { token: i1.SkyAffixService }], target: i0.ɵɵFactoryTarget.Directive });
71
+ SkyAffixDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "12.2.16", type: SkyAffixDirective, selector: "[skyAffixTo]", inputs: { skyAffixTo: "skyAffixTo", affixAutoFitContext: "affixAutoFitContext", affixAutoFitOverflowOffset: "affixAutoFitOverflowOffset", affixEnableAutoFit: "affixEnableAutoFit", affixHorizontalAlignment: "affixHorizontalAlignment", affixIsSticky: "affixIsSticky", affixPlacement: "affixPlacement", affixVerticalAlignment: "affixVerticalAlignment" }, outputs: { affixOffsetChange: "affixOffsetChange", affixOverflowScroll: "affixOverflowScroll", affixPlacementChange: "affixPlacementChange" }, usesOnChanges: true, ngImport: i0 });
72
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: SkyAffixDirective, decorators: [{
73
+ type: Directive,
74
+ args: [{
75
+ selector: '[skyAffixTo]',
76
+ }]
77
+ }], ctorParameters: function () { return [{ type: i0.ElementRef }, { type: i1.SkyAffixService }]; }, propDecorators: { skyAffixTo: [{
78
+ type: Input
79
+ }], affixAutoFitContext: [{
80
+ type: Input
81
+ }], affixAutoFitOverflowOffset: [{
82
+ type: Input
83
+ }], affixEnableAutoFit: [{
84
+ type: Input
85
+ }], affixHorizontalAlignment: [{
86
+ type: Input
87
+ }], affixIsSticky: [{
88
+ type: Input
89
+ }], affixPlacement: [{
90
+ type: Input
91
+ }], affixVerticalAlignment: [{
92
+ type: Input
93
+ }], affixOffsetChange: [{
94
+ type: Output
95
+ }], affixOverflowScroll: [{
96
+ type: Output
97
+ }], affixPlacementChange: [{
98
+ type: Output
99
+ }] } });
100
+ //# sourceMappingURL=affix.directive.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"affix.directive.js","sourceRoot":"","sources":["../../../../../../../../libs/components/core/src/lib/modules/affix/affix.directive.ts"],"names":[],"mappings":"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","sourcesContent":["import {\n Directive,\n ElementRef,\n EventEmitter,\n Input,\n OnChanges,\n OnDestroy,\n Output,\n SimpleChanges,\n} from '@angular/core';\n\nimport { Subject } from 'rxjs';\n\nimport { takeUntil } from 'rxjs/operators';\n\nimport { SkyAffixAutoFitContext } from './affix-auto-fit-context';\n\nimport { SkyAffixHorizontalAlignment } from './affix-horizontal-alignment';\n\nimport { SkyAffixPlacement } from './affix-placement';\n\nimport { SkyAffixPlacementChange } from './affix-placement-change';\n\nimport { SkyAffixVerticalAlignment } from './affix-vertical-alignment';\n\nimport { SkyAffixService } from './affix.service';\n\nimport { SkyAffixOffsetChange } from './affix-offset-change';\n\nimport { SkyAffixOffset } from './affix-offset';\n\nimport { SkyAffixer } from './affixer';\n\n/**\n * Affixes the host element to a base element.\n */\n@Directive({\n selector: '[skyAffixTo]',\n})\nexport class SkyAffixDirective implements OnChanges, OnDestroy {\n /**\n * The base element to affix the host element.\n */\n @Input()\n public skyAffixTo: HTMLElement;\n\n /**\n * Sets the `autoFitContext` property of [[SkyAffixConfig]].\n */\n @Input()\n public affixAutoFitContext: SkyAffixAutoFitContext;\n\n /**\n * Sets the `autoFitOverflowOffset` property of [[SkyAffixConfig]].\n */\n @Input()\n public affixAutoFitOverflowOffset: SkyAffixOffset;\n\n /**\n * Sets the `enableAutoFit` property of [[SkyAffixConfig]].\n */\n @Input()\n public affixEnableAutoFit: boolean;\n\n /**\n * Sets the `horizontalAlignment` property of [[SkyAffixConfig]].\n */\n @Input()\n public affixHorizontalAlignment: SkyAffixHorizontalAlignment;\n\n /**\n * Sets the `isSticky` property of [[SkyAffixConfig]].\n */\n @Input()\n public affixIsSticky: boolean;\n\n /**\n * Sets the `placement` property of [[SkyAffixConfig]].\n */\n @Input()\n public affixPlacement: SkyAffixPlacement;\n\n /**\n * Sets the `verticalAlignment` property of [[SkyAffixConfig]].\n */\n @Input()\n public affixVerticalAlignment: SkyAffixVerticalAlignment;\n\n /**\n * Fires when the affixed element's offset changes.\n */\n @Output()\n public affixOffsetChange = new EventEmitter<SkyAffixOffsetChange>();\n\n /**\n * Fires when the affixed element's overflow container is scrolled.\n */\n @Output()\n public affixOverflowScroll = new EventEmitter<void>();\n\n /**\n * Fires when the placement value changes.\n */\n @Output()\n public affixPlacementChange = new EventEmitter<SkyAffixPlacementChange>();\n\n private affixer: SkyAffixer;\n\n private ngUnsubscribe = new Subject<void>();\n\n constructor(elementRef: ElementRef, private affixService: SkyAffixService) {\n this.affixer = this.affixService.createAffixer(elementRef);\n\n this.affixer.offsetChange\n .pipe(takeUntil(this.ngUnsubscribe))\n .subscribe((change) => this.affixOffsetChange.emit(change));\n\n this.affixer.overflowScroll\n .pipe(takeUntil(this.ngUnsubscribe))\n .subscribe((change) => this.affixOverflowScroll.emit(change));\n\n this.affixer.placementChange\n .pipe(takeUntil(this.ngUnsubscribe))\n .subscribe((change) => this.affixPlacementChange.emit(change));\n }\n\n public ngOnChanges(changes: SimpleChanges): void {\n /* istanbul ignore else */\n if (\n changes.affixAutoFitContext ||\n changes.affixAutoFitOverflowOffset ||\n changes.affixEnableAutoFit ||\n changes.affixHorizontalAlignment ||\n changes.affixIsSticky ||\n changes.affixPlacement ||\n changes.affixVerticalAlignment\n ) {\n this.updateAlignment();\n }\n }\n\n public ngOnDestroy(): void {\n this.affixOffsetChange.complete();\n this.affixOverflowScroll.complete();\n this.affixPlacementChange.complete();\n this.ngUnsubscribe.next();\n this.ngUnsubscribe.complete();\n this.affixer.destroy();\n }\n\n private updateAlignment(): void {\n this.affixer.affixTo(this.skyAffixTo, {\n autoFitContext: this.affixAutoFitContext,\n autoFitOverflowOffset: this.affixAutoFitOverflowOffset,\n enableAutoFit: this.affixEnableAutoFit,\n horizontalAlignment: this.affixHorizontalAlignment,\n isSticky: this.affixIsSticky,\n placement: this.affixPlacement,\n verticalAlignment: this.affixVerticalAlignment,\n });\n }\n}\n"]}
@@ -0,0 +1,18 @@
1
+ import { CommonModule } from '@angular/common';
2
+ import { NgModule } from '@angular/core';
3
+ import { SkyAffixDirective } from './affix.directive';
4
+ import * as i0 from "@angular/core";
5
+ export class SkyAffixModule {
6
+ }
7
+ SkyAffixModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: SkyAffixModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
8
+ SkyAffixModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: SkyAffixModule, declarations: [SkyAffixDirective], imports: [CommonModule], exports: [SkyAffixDirective] });
9
+ SkyAffixModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: SkyAffixModule, imports: [[CommonModule]] });
10
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: SkyAffixModule, decorators: [{
11
+ type: NgModule,
12
+ args: [{
13
+ imports: [CommonModule],
14
+ exports: [SkyAffixDirective],
15
+ declarations: [SkyAffixDirective],
16
+ }]
17
+ }] });
18
+ //# sourceMappingURL=affix.module.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"affix.module.js","sourceRoot":"","sources":["../../../../../../../../libs/components/core/src/lib/modules/affix/affix.module.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAE/C,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AAEzC,OAAO,EAAE,iBAAiB,EAAE,MAAM,mBAAmB,CAAC;;AAOtD,MAAM,OAAO,cAAc;;4GAAd,cAAc;6GAAd,cAAc,iBAFV,iBAAiB,aAFtB,YAAY,aACZ,iBAAiB;6GAGhB,cAAc,YAJhB,CAAC,YAAY,CAAC;4FAIZ,cAAc;kBAL1B,QAAQ;mBAAC;oBACR,OAAO,EAAE,CAAC,YAAY,CAAC;oBACvB,OAAO,EAAE,CAAC,iBAAiB,CAAC;oBAC5B,YAAY,EAAE,CAAC,iBAAiB,CAAC;iBAClC","sourcesContent":["import { CommonModule } from '@angular/common';\n\nimport { NgModule } from '@angular/core';\n\nimport { SkyAffixDirective } from './affix.directive';\n\n@NgModule({\n imports: [CommonModule],\n exports: [SkyAffixDirective],\n declarations: [SkyAffixDirective],\n})\nexport class SkyAffixModule {}\n"]}