@design-factory/design-factory 15.2.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 (428) hide show
  1. package/LICENSE +26 -0
  2. package/README.md +47 -0
  3. package/assets/.gitkeep +0 -0
  4. package/assets/fonts/amadeus-bold/amadeus-bold.svg +5131 -0
  5. package/assets/fonts/amadeus-bold/amadeus-bold.ttf +0 -0
  6. package/assets/fonts/amadeus-bold/amadeus-bold.woff +0 -0
  7. package/assets/fonts/amadeus-bold/amadeus-bold.woff2 +0 -0
  8. package/assets/fonts/amadeus-full/amadeus-full-bold.woff +0 -0
  9. package/assets/fonts/amadeus-full/amadeus-full-bold.woff2 +0 -0
  10. package/assets/fonts/amadeus-full/amadeus-full-bolditalic.woff +0 -0
  11. package/assets/fonts/amadeus-full/amadeus-full-bolditalic.woff2 +0 -0
  12. package/assets/fonts/amadeus-full/amadeus-full-italic.woff +0 -0
  13. package/assets/fonts/amadeus-full/amadeus-full-italic.woff2 +0 -0
  14. package/assets/fonts/amadeus-full/amadeus-full-light.woff +0 -0
  15. package/assets/fonts/amadeus-full/amadeus-full-light.woff2 +0 -0
  16. package/assets/fonts/amadeus-full/amadeus-full-lightitalic.woff +0 -0
  17. package/assets/fonts/amadeus-full/amadeus-full-lightitalic.woff2 +0 -0
  18. package/assets/fonts/amadeus-full/amadeus-full-regular.woff +0 -0
  19. package/assets/fonts/amadeus-full/amadeus-full-regular.woff2 +0 -0
  20. package/assets/fonts/amadeus-full/amadeus-full-thin.woff +0 -0
  21. package/assets/fonts/amadeus-full/amadeus-full-thin.woff2 +0 -0
  22. package/assets/fonts/amadeus-full/amadeus-full-thinitalic.woff +0 -0
  23. package/assets/fonts/amadeus-full/amadeus-full-thinitalic.woff2 +0 -0
  24. package/assets/fonts/amadeus-light/amadeus-light.svg +8658 -0
  25. package/assets/fonts/amadeus-light/amadeus-light.ttf +0 -0
  26. package/assets/fonts/amadeus-light/amadeus-light.woff +0 -0
  27. package/assets/fonts/amadeus-light/amadeus-light.woff2 +0 -0
  28. package/assets/fonts/amadeus-regular/amadeus-regular.svg +5131 -0
  29. package/assets/fonts/amadeus-regular/amadeus-regular.ttf +0 -0
  30. package/assets/fonts/amadeus-regular/amadeus-regular.woff +0 -0
  31. package/assets/fonts/amadeus-regular/amadeus-regular.woff2 +0 -0
  32. package/assets/fonts/amadeus-thin/amadeus-thin.svg +5131 -0
  33. package/assets/fonts/amadeus-thin/amadeus-thin.ttf +0 -0
  34. package/assets/fonts/amadeus-thin/amadeus-thin.woff +0 -0
  35. package/assets/fonts/amadeus-thin/amadeus-thin.woff2 +0 -0
  36. package/assets/fonts/icon-font/light/df-light-300.svg +1709 -0
  37. package/assets/fonts/icon-font/light/df-light-300.ttf +0 -0
  38. package/assets/fonts/icon-font/light/df-light-300.woff +0 -0
  39. package/assets/fonts/icon-font/light/df-light-300.woff2 +0 -0
  40. package/assets/fonts/icon-font/solid/df-solid-900.svg +1709 -0
  41. package/assets/fonts/icon-font/solid/df-solid-900.ttf +0 -0
  42. package/assets/fonts/icon-font/solid/df-solid-900.woff +0 -0
  43. package/assets/fonts/icon-font/solid/df-solid-900.woff2 +0 -0
  44. package/assets/fonts/noto/notosans-bold.woff +0 -0
  45. package/assets/fonts/noto/notosans-bold.woff2 +0 -0
  46. package/assets/fonts/noto/notosans-bolditalic.woff +0 -0
  47. package/assets/fonts/noto/notosans-bolditalic.woff2 +0 -0
  48. package/assets/fonts/noto/notosans-italic.woff +0 -0
  49. package/assets/fonts/noto/notosans-italic.woff2 +0 -0
  50. package/assets/fonts/noto/notosans-light.woff +0 -0
  51. package/assets/fonts/noto/notosans-light.woff2 +0 -0
  52. package/assets/fonts/noto/notosans-lightitalic.woff +0 -0
  53. package/assets/fonts/noto/notosans-lightitalic.woff2 +0 -0
  54. package/assets/fonts/noto/notosans-regular.woff +0 -0
  55. package/assets/fonts/noto/notosans-regular.woff2 +0 -0
  56. package/assets/fonts/noto/notosans-thin.woff +0 -0
  57. package/assets/fonts/noto/notosans-thin.woff2 +0 -0
  58. package/assets/fonts/noto/notosans-thinitalic.woff +0 -0
  59. package/assets/fonts/noto/notosans-thinitalic.woff2 +0 -0
  60. package/assets/fonts/noto/notosansarabic-bold.woff +0 -0
  61. package/assets/fonts/noto/notosansarabic-bold.woff2 +0 -0
  62. package/assets/fonts/noto/notosansarabic-light.woff +0 -0
  63. package/assets/fonts/noto/notosansarabic-light.woff2 +0 -0
  64. package/assets/fonts/noto/notosansarabic-regular.woff +0 -0
  65. package/assets/fonts/noto/notosansarabic-regular.woff2 +0 -0
  66. package/assets/fonts/noto/notosansarabic-thin.woff +0 -0
  67. package/assets/fonts/noto/notosansarabic-thin.woff2 +0 -0
  68. package/assets/fonts/noto/notosansgeorgian-bold.woff +0 -0
  69. package/assets/fonts/noto/notosansgeorgian-bold.woff2 +0 -0
  70. package/assets/fonts/noto/notosansgeorgian-light.woff +0 -0
  71. package/assets/fonts/noto/notosansgeorgian-light.woff2 +0 -0
  72. package/assets/fonts/noto/notosansgeorgian-regular.woff +0 -0
  73. package/assets/fonts/noto/notosansgeorgian-regular.woff2 +0 -0
  74. package/assets/fonts/noto/notosansgeorgian-thin.woff +0 -0
  75. package/assets/fonts/noto/notosansgeorgian-thin.woff2 +0 -0
  76. package/assets/fonts/noto/notosanshebrew-bold.woff +0 -0
  77. package/assets/fonts/noto/notosanshebrew-bold.woff2 +0 -0
  78. package/assets/fonts/noto/notosanshebrew-light.woff +0 -0
  79. package/assets/fonts/noto/notosanshebrew-light.woff2 +0 -0
  80. package/assets/fonts/noto/notosanshebrew-regular.woff +0 -0
  81. package/assets/fonts/noto/notosanshebrew-regular.woff2 +0 -0
  82. package/assets/fonts/noto/notosanshebrew-thin.woff +0 -0
  83. package/assets/fonts/noto/notosanshebrew-thin.woff2 +0 -0
  84. package/assets/fonts/source-sans-pro-bold/source-sans-pro-bold.svg +19926 -0
  85. package/assets/fonts/source-sans-pro-bold/source-sans-pro-bold.ttf +0 -0
  86. package/assets/fonts/source-sans-pro-bold/source-sans-pro-bold.woff +0 -0
  87. package/assets/fonts/source-sans-pro-bold/source-sans-pro-bold.woff2 +0 -0
  88. package/assets/fonts/source-sans-pro-full/sourcesanspro-full-bold.woff +0 -0
  89. package/assets/fonts/source-sans-pro-full/sourcesanspro-full-bold.woff2 +0 -0
  90. package/assets/fonts/source-sans-pro-full/sourcesanspro-full-bolditalic.woff +0 -0
  91. package/assets/fonts/source-sans-pro-full/sourcesanspro-full-bolditalic.woff2 +0 -0
  92. package/assets/fonts/source-sans-pro-full/sourcesanspro-full-italic.woff +0 -0
  93. package/assets/fonts/source-sans-pro-full/sourcesanspro-full-italic.woff2 +0 -0
  94. package/assets/fonts/source-sans-pro-full/sourcesanspro-full-light.woff +0 -0
  95. package/assets/fonts/source-sans-pro-full/sourcesanspro-full-light.woff2 +0 -0
  96. package/assets/fonts/source-sans-pro-full/sourcesanspro-full-lightitalic.woff +0 -0
  97. package/assets/fonts/source-sans-pro-full/sourcesanspro-full-lightitalic.woff2 +0 -0
  98. package/assets/fonts/source-sans-pro-full/sourcesanspro-full-regular.woff +0 -0
  99. package/assets/fonts/source-sans-pro-full/sourcesanspro-full-regular.woff2 +0 -0
  100. package/assets/fonts/source-sans-pro-light/source-sans-pro-light.svg +19165 -0
  101. package/assets/fonts/source-sans-pro-light/source-sans-pro-light.ttf +0 -0
  102. package/assets/fonts/source-sans-pro-light/source-sans-pro-light.woff +0 -0
  103. package/assets/fonts/source-sans-pro-light/source-sans-pro-light.woff2 +0 -0
  104. package/assets/fonts/source-sans-pro-regular/source-sans-pro-regular.svg +20412 -0
  105. package/assets/fonts/source-sans-pro-regular/source-sans-pro-regular.ttf +0 -0
  106. package/assets/fonts/source-sans-pro-regular/source-sans-pro-regular.woff +0 -0
  107. package/assets/fonts/source-sans-pro-regular/source-sans-pro-regular.woff2 +0 -0
  108. package/assets/fonts/source-sans-pro-semibold/source-sans-pro-semibold.svg +20019 -0
  109. package/assets/fonts/source-sans-pro-semibold/source-sans-pro-semibold.ttf +0 -0
  110. package/assets/fonts/source-sans-pro-semibold/source-sans-pro-semibold.woff +0 -0
  111. package/assets/fonts/source-sans-pro-semibold/source-sans-pro-semibold.woff2 +0 -0
  112. package/assets/icon-amadeus.svg +1 -0
  113. package/assets/readme.png +0 -0
  114. package/design-factory-utilities.scss +5 -0
  115. package/design-factory.css +3 -0
  116. package/design-factory.scss +1 -0
  117. package/environment.d.ts +4 -0
  118. package/esm2022/design-factory.mjs +5 -0
  119. package/esm2022/environment.mjs +5 -0
  120. package/esm2022/index.mjs +5 -0
  121. package/esm2022/lib/angular/accessibility/accessibility.module.mjs +19 -0
  122. package/esm2022/lib/angular/accessibility/components/skip-links-container/skip-links-container.component.mjs +32 -0
  123. package/esm2022/lib/angular/accessibility/directives/skip-link.directive.mjs +64 -0
  124. package/esm2022/lib/angular/alert/alert.module.mjs +17 -0
  125. package/esm2022/lib/angular/animation/ngbTransition.mjs +76 -0
  126. package/esm2022/lib/angular/animation/util.mjs +30 -0
  127. package/esm2022/lib/angular/card/card-advanced.module.mjs +17 -0
  128. package/esm2022/lib/angular/card/manage-card-selection.directive.mjs +47 -0
  129. package/esm2022/lib/angular/datepicker/closedatepicker.directive.mjs +38 -0
  130. package/esm2022/lib/angular/datepicker/datepicker-keyboard-nav.service.mjs +39 -0
  131. package/esm2022/lib/angular/datepicker/datepicker-range.directive.mjs +101 -0
  132. package/esm2022/lib/angular/datepicker/datepicker-range.service.mjs +97 -0
  133. package/esm2022/lib/angular/datepicker/datepicker.module.mjs +42 -0
  134. package/esm2022/lib/angular/footer/footer.module.mjs +17 -0
  135. package/esm2022/lib/angular/icon/amadeus-icon.mjs +79 -0
  136. package/esm2022/lib/angular/icon/icon.module.mjs +17 -0
  137. package/esm2022/lib/angular/icon/insert/insert-icon.directive.mjs +47 -0
  138. package/esm2022/lib/angular/icon/insert/insert-icon.module.mjs +17 -0
  139. package/esm2022/lib/angular/inputs/click/trigger-click.directive.mjs +28 -0
  140. package/esm2022/lib/angular/inputs/icon/inputicon.directive.mjs +95 -0
  141. package/esm2022/lib/angular/inputs/input-advanced.module.mjs +19 -0
  142. package/esm2022/lib/angular/mediaqueries/ifMedia.directive.mjs +52 -0
  143. package/esm2022/lib/angular/mediaqueries/media.module.mjs +17 -0
  144. package/esm2022/lib/angular/mediaqueries/media.service.mjs +46 -0
  145. package/esm2022/lib/angular/mediaqueries/mediaUtils.service.mjs +185 -0
  146. package/esm2022/lib/angular/modal/modal.service.mjs +36 -0
  147. package/esm2022/lib/angular/popover/config/popover.config.mjs +16 -0
  148. package/esm2022/lib/angular/popover/popover.module.mjs +17 -0
  149. package/esm2022/lib/angular/progressbar/progressbar.component.mjs +158 -0
  150. package/esm2022/lib/angular/progressbar/progressbar.module.mjs +18 -0
  151. package/esm2022/lib/angular/progressindicator/default/default-spinner.component.mjs +23 -0
  152. package/esm2022/lib/angular/progressindicator/progressindicator-backdrop.component.mjs +29 -0
  153. package/esm2022/lib/angular/progressindicator/progressindicator-config.mjs +25 -0
  154. package/esm2022/lib/angular/progressindicator/progressindicator-container.component.mjs +52 -0
  155. package/esm2022/lib/angular/progressindicator/progressindicator-ref.mjs +8 -0
  156. package/esm2022/lib/angular/progressindicator/progressindicator.directive.mjs +39 -0
  157. package/esm2022/lib/angular/progressindicator/progressindicator.module.mjs +45 -0
  158. package/esm2022/lib/angular/progressindicator/progressindicator.service.mjs +170 -0
  159. package/esm2022/lib/angular/right-to-left/directionDetection.service.mjs +32 -0
  160. package/esm2022/lib/angular/selects/events/manage-badge-events.directive.mjs +65 -0
  161. package/esm2022/lib/angular/selects/nav/manage-nav-select.directive.mjs +108 -0
  162. package/esm2022/lib/angular/selects/option-highlight.directive.mjs +59 -0
  163. package/esm2022/lib/angular/selects/select.model.mjs +2 -0
  164. package/esm2022/lib/angular/selects/select.module.mjs +22 -0
  165. package/esm2022/lib/angular/sidenav/dfSideNavAnimation.mjs +73 -0
  166. package/esm2022/lib/angular/sidenav/dfSideNavCollapse.mjs +94 -0
  167. package/esm2022/lib/angular/sidenav/dfSideNavCollapse.module.mjs +18 -0
  168. package/esm2022/lib/angular/sidenav/dfSideNavCollapse.service.mjs +37 -0
  169. package/esm2022/lib/angular/sidenav/dfSideNavCollapseConfig.mjs +27 -0
  170. package/esm2022/lib/angular/sidenav/excludeTrap.directive.mjs +55 -0
  171. package/esm2022/lib/angular/sidenav/manage-sidenav.directive.mjs +26 -0
  172. package/esm2022/lib/angular/sidenav/sidenav-config.mjs +25 -0
  173. package/esm2022/lib/angular/sidenav/sidenav.component.mjs +86 -0
  174. package/esm2022/lib/angular/sidenav/sidenav.module.mjs +52 -0
  175. package/esm2022/lib/angular/sidenav/sidenav.service.mjs +315 -0
  176. package/esm2022/lib/angular/sidenav/sidenavlist.component.mjs +50 -0
  177. package/esm2022/lib/angular/slider/direction/sliderdirection.directive.mjs +33 -0
  178. package/esm2022/lib/angular/slider/lib/change-context.mjs +3 -0
  179. package/esm2022/lib/angular/slider/lib/compatibility-helper.mjs +15 -0
  180. package/esm2022/lib/angular/slider/lib/event-listener-helper.mjs +77 -0
  181. package/esm2022/lib/angular/slider/lib/event-listener.mjs +3 -0
  182. package/esm2022/lib/angular/slider/lib/math-helper.mjs +15 -0
  183. package/esm2022/lib/angular/slider/lib/options.mjs +123 -0
  184. package/esm2022/lib/angular/slider/lib/pointer-type.mjs +9 -0
  185. package/esm2022/lib/angular/slider/lib/slider-element.directive.mjs +187 -0
  186. package/esm2022/lib/angular/slider/lib/slider-handle.directive.mjs +62 -0
  187. package/esm2022/lib/angular/slider/lib/slider-label.directive.mjs +38 -0
  188. package/esm2022/lib/angular/slider/lib/slider.component.mjs +2020 -0
  189. package/esm2022/lib/angular/slider/lib/tooltip-wrapper.component.mjs +20 -0
  190. package/esm2022/lib/angular/slider/lib/value-helper.mjs +50 -0
  191. package/esm2022/lib/angular/slider/slider.module.mjs +29 -0
  192. package/esm2022/lib/angular/toast/toast.module.mjs +17 -0
  193. package/esm2022/lib/angular/tooltip/tooltip.module.mjs +18 -0
  194. package/esm2022/lib/angular/tooltip/truncate/tooltipTruncate.directive.mjs +33 -0
  195. package/esm2022/lib/angular/utils/scrollbar.service.mjs +79 -0
  196. package/esm2022/lib/index.mjs +172 -0
  197. package/fesm2022/design-factory.mjs +5664 -0
  198. package/fesm2022/design-factory.mjs.map +1 -0
  199. package/index.d.ts +4 -0
  200. package/lib/angular/accessibility/accessibility.module.d.ts +10 -0
  201. package/lib/angular/accessibility/components/skip-links-container/skip-links-container.component.d.ts +13 -0
  202. package/lib/angular/accessibility/directives/skip-link.directive.d.ts +15 -0
  203. package/lib/angular/alert/alert.module.d.ts +8 -0
  204. package/lib/angular/animation/ngbTransition.d.ts +16 -0
  205. package/lib/angular/animation/util.d.ts +14 -0
  206. package/lib/angular/card/card-advanced.module.d.ts +8 -0
  207. package/lib/angular/card/manage-card-selection.directive.d.ts +13 -0
  208. package/lib/angular/datepicker/closedatepicker.directive.d.ts +10 -0
  209. package/lib/angular/datepicker/datepicker-keyboard-nav.service.d.ts +7 -0
  210. package/lib/angular/datepicker/datepicker-range.directive.d.ts +31 -0
  211. package/lib/angular/datepicker/datepicker-range.service.d.ts +32 -0
  212. package/lib/angular/datepicker/datepicker.module.d.ts +12 -0
  213. package/lib/angular/footer/footer.module.d.ts +8 -0
  214. package/lib/angular/icon/amadeus-icon.d.ts +5 -0
  215. package/lib/angular/icon/icon.module.d.ts +8 -0
  216. package/lib/angular/icon/insert/insert-icon.directive.d.ts +12 -0
  217. package/lib/angular/icon/insert/insert-icon.module.d.ts +8 -0
  218. package/lib/angular/inputs/click/trigger-click.directive.d.ts +9 -0
  219. package/lib/angular/inputs/icon/inputicon.directive.d.ts +28 -0
  220. package/lib/angular/inputs/input-advanced.module.d.ts +10 -0
  221. package/lib/angular/mediaqueries/ifMedia.directive.d.ts +26 -0
  222. package/lib/angular/mediaqueries/media.module.d.ts +8 -0
  223. package/lib/angular/mediaqueries/media.service.d.ts +24 -0
  224. package/lib/angular/mediaqueries/mediaUtils.service.d.ts +75 -0
  225. package/lib/angular/modal/modal.service.d.ts +13 -0
  226. package/lib/angular/popover/config/popover.config.d.ts +8 -0
  227. package/lib/angular/popover/popover.module.d.ts +7 -0
  228. package/lib/angular/progressbar/progressbar.component.d.ts +71 -0
  229. package/lib/angular/progressbar/progressbar.module.d.ts +9 -0
  230. package/lib/angular/progressindicator/default/default-spinner.component.d.ts +8 -0
  231. package/lib/angular/progressindicator/progressindicator-backdrop.component.d.ts +8 -0
  232. package/lib/angular/progressindicator/progressindicator-config.d.ts +54 -0
  233. package/lib/angular/progressindicator/progressindicator-container.component.d.ts +13 -0
  234. package/lib/angular/progressindicator/progressindicator-ref.d.ts +9 -0
  235. package/lib/angular/progressindicator/progressindicator.directive.d.ts +18 -0
  236. package/lib/angular/progressindicator/progressindicator.module.d.ts +15 -0
  237. package/lib/angular/progressindicator/progressindicator.service.d.ts +33 -0
  238. package/lib/angular/right-to-left/directionDetection.service.d.ts +12 -0
  239. package/lib/angular/selects/events/manage-badge-events.directive.d.ts +16 -0
  240. package/lib/angular/selects/nav/manage-nav-select.directive.d.ts +20 -0
  241. package/lib/angular/selects/option-highlight.directive.d.ts +19 -0
  242. package/lib/angular/selects/select.model.d.ts +1 -0
  243. package/lib/angular/selects/select.module.d.ts +13 -0
  244. package/lib/angular/sidenav/dfSideNavAnimation.d.ts +7 -0
  245. package/lib/angular/sidenav/dfSideNavCollapse.d.ts +48 -0
  246. package/lib/angular/sidenav/dfSideNavCollapse.module.d.ts +9 -0
  247. package/lib/angular/sidenav/dfSideNavCollapse.service.d.ts +24 -0
  248. package/lib/angular/sidenav/dfSideNavCollapseConfig.d.ts +17 -0
  249. package/lib/angular/sidenav/excludeTrap.directive.d.ts +30 -0
  250. package/lib/angular/sidenav/manage-sidenav.directive.d.ts +10 -0
  251. package/lib/angular/sidenav/sidenav-config.d.ts +17 -0
  252. package/lib/angular/sidenav/sidenav.component.d.ts +43 -0
  253. package/lib/angular/sidenav/sidenav.module.d.ts +14 -0
  254. package/lib/angular/sidenav/sidenav.service.d.ts +178 -0
  255. package/lib/angular/sidenav/sidenavlist.component.d.ts +25 -0
  256. package/lib/angular/slider/direction/sliderdirection.directive.d.ts +12 -0
  257. package/lib/angular/slider/lib/change-context.d.ts +6 -0
  258. package/lib/angular/slider/lib/compatibility-helper.d.ts +7 -0
  259. package/lib/angular/slider/lib/event-listener-helper.d.ts +13 -0
  260. package/lib/angular/slider/lib/event-listener.d.ts +7 -0
  261. package/lib/angular/slider/lib/math-helper.d.ts +6 -0
  262. package/lib/angular/slider/lib/options.d.ts +241 -0
  263. package/lib/angular/slider/lib/pointer-type.d.ts +7 -0
  264. package/lib/angular/slider/lib/slider-element.directive.d.ts +47 -0
  265. package/lib/angular/slider/lib/slider-handle.directive.d.ts +19 -0
  266. package/lib/angular/slider/lib/slider-label.directive.d.ts +11 -0
  267. package/lib/angular/slider/lib/slider.component.d.ts +190 -0
  268. package/lib/angular/slider/lib/tooltip-wrapper.component.d.ts +10 -0
  269. package/lib/angular/slider/lib/value-helper.d.ts +13 -0
  270. package/lib/angular/slider/slider.module.d.ts +12 -0
  271. package/lib/angular/toast/toast.module.d.ts +8 -0
  272. package/lib/angular/tooltip/tooltip.module.d.ts +9 -0
  273. package/lib/angular/tooltip/truncate/tooltipTruncate.directive.d.ts +17 -0
  274. package/lib/angular/utils/scrollbar.service.d.ts +46 -0
  275. package/lib/index.d.ts +82 -0
  276. package/package.json +44 -0
  277. package/schematics/collection.json +10 -0
  278. package/schematics/migrations/15_0_0/remove-ngx-slider/index.d.ts +2 -0
  279. package/schematics/migrations/15_0_0/remove-ngx-slider/index.js +113 -0
  280. package/schematics/migrations/15_0_0/remove-ngx-slider/index.js.map +1 -0
  281. package/schematics/migrations/helpers.d.ts +13 -0
  282. package/schematics/migrations/helpers.js +33 -0
  283. package/schematics/migrations/helpers.js.map +1 -0
  284. package/schematics/migrations/migration.json +10 -0
  285. package/schematics/migrations/utils/project_tsconfig_paths.d.ts +16 -0
  286. package/schematics/migrations/utils/project_tsconfig_paths.js +91 -0
  287. package/schematics/migrations/utils/project_tsconfig_paths.js.map +1 -0
  288. package/schematics/migrations/utils/typescript/compiler_host.d.ts +44 -0
  289. package/schematics/migrations/utils/typescript/compiler_host.js +86 -0
  290. package/schematics/migrations/utils/typescript/compiler_host.js.map +1 -0
  291. package/schematics/migrations/utils/typescript/parse_tsconfig.d.ts +9 -0
  292. package/schematics/migrations/utils/typescript/parse_tsconfig.js +30 -0
  293. package/schematics/migrations/utils/typescript/parse_tsconfig.js.map +1 -0
  294. package/schematics/ng-add/index.d.ts +3 -0
  295. package/schematics/ng-add/index.js +84 -0
  296. package/schematics/ng-add/index.js.map +1 -0
  297. package/schematics/ng-add/schema.d.ts +6 -0
  298. package/schematics/ng-add/schema.js +3 -0
  299. package/schematics/ng-add/schema.js.map +1 -0
  300. package/schematics/ng-add/schema.json +15 -0
  301. package/styles/scss/_common.mixins.scss +19 -0
  302. package/styles/scss/_common.scss +57 -0
  303. package/styles/scss/_common.variables.scss +62 -0
  304. package/styles/scss/_variables.scss +56 -0
  305. package/styles/scss/bootstrap/_maps.scss +50 -0
  306. package/styles/scss/bootstrap/_mixins-override.scss +69 -0
  307. package/styles/scss/bootstrap/_rtl-styles-override.scss +125 -0
  308. package/styles/scss/bootstrap/_utilities-override.scss +19 -0
  309. package/styles/scss/bootstrap/_variables.scss +1684 -0
  310. package/styles/scss/components/.gitkeep +0 -0
  311. package/styles/scss/components/accordion/_accordion.scss +87 -0
  312. package/styles/scss/components/accordion/_accordion.variables.scss +8 -0
  313. package/styles/scss/components/alert/_alert.scss +301 -0
  314. package/styles/scss/components/alert/_alert.variables.scss +70 -0
  315. package/styles/scss/components/badge/_badge.scss +160 -0
  316. package/styles/scss/components/badge/_badge.variables.scss +10 -0
  317. package/styles/scss/components/brand-color/_brand-color.mixins.scss +11 -0
  318. package/styles/scss/components/brand-color/_brand-color.scss +18 -0
  319. package/styles/scss/components/brand-color/_brand-color.variables.scss +158 -0
  320. package/styles/scss/components/breadcrumbs/_breadcrumbs.scss +91 -0
  321. package/styles/scss/components/breadcrumbs/_breadcrumbs.variables.scss +13 -0
  322. package/styles/scss/components/button/_button.scss +249 -0
  323. package/styles/scss/components/button/_button.utils.scss +16 -0
  324. package/styles/scss/components/button/_button.variables.scss +27 -0
  325. package/styles/scss/components/button/_button_container.scss +66 -0
  326. package/styles/scss/components/card/_card.scss +73 -0
  327. package/styles/scss/components/card/_card.variables.scss +22 -0
  328. package/styles/scss/components/carousel/_carousel.scss +52 -0
  329. package/styles/scss/components/carousel/_carousel.variables.scss +11 -0
  330. package/styles/scss/components/checkbox/_checkbox.scss +37 -0
  331. package/styles/scss/components/checkbox/_checkbox.variables.scss +6 -0
  332. package/styles/scss/components/collapse/_collapse.scss +35 -0
  333. package/styles/scss/components/collapse/_collapse.variables.scss +7 -0
  334. package/styles/scss/components/datepicker/_datepicker.scss +251 -0
  335. package/styles/scss/components/datepicker/_datepicker.variables.scss +52 -0
  336. package/styles/scss/components/dropdown/_dropdown.mixins.scss +26 -0
  337. package/styles/scss/components/dropdown/_dropdown.scss +81 -0
  338. package/styles/scss/components/dropdown/_dropdown.variables.scss +18 -0
  339. package/styles/scss/components/fieldset/_fieldset.scss +6 -0
  340. package/styles/scss/components/fieldset/_fieldset.variables.scss +2 -0
  341. package/styles/scss/components/fonts/_font-faces.mixins.scss +525 -0
  342. package/styles/scss/components/fonts/_fonts-family.scss +98 -0
  343. package/styles/scss/components/fonts/_fonts.scss +83 -0
  344. package/styles/scss/components/fonts/_fonts.variables.scss +31 -0
  345. package/styles/scss/components/fonts/_icon-font.scss +5107 -0
  346. package/styles/scss/components/fonts/_icon-font.variables.scss +14 -0
  347. package/styles/scss/components/fonts/_multi-lang.mixins.scss +8 -0
  348. package/styles/scss/components/fonts/multi-lang/_arabic.mixins.scss +8 -0
  349. package/styles/scss/components/fonts/multi-lang/_chinese.mixins.scss +12 -0
  350. package/styles/scss/components/fonts/multi-lang/_cyrillic-extended.mixins.scss +11 -0
  351. package/styles/scss/components/fonts/multi-lang/_cyrillic.mixins.scss +10 -0
  352. package/styles/scss/components/fonts/multi-lang/_georgian.mixins.scss +9 -0
  353. package/styles/scss/components/fonts/multi-lang/_hebrew.mixins.scss +9 -0
  354. package/styles/scss/components/fonts/multi-lang/_japanese.mixins.scss +23 -0
  355. package/styles/scss/components/fonts/multi-lang/_korean.mixins.scss +10 -0
  356. package/styles/scss/components/footer/_footer.scss +23 -0
  357. package/styles/scss/components/footer/_footer.variables.scss +13 -0
  358. package/styles/scss/components/form/_form.scss +104 -0
  359. package/styles/scss/components/form/_form.variables.scss +23 -0
  360. package/styles/scss/components/icon/_amadeus-icon.scss +39 -0
  361. package/styles/scss/components/icon/_amadeus-icon.variables.scss +3 -0
  362. package/styles/scss/components/inputs/_inputs.mixin.scss +51 -0
  363. package/styles/scss/components/inputs/_inputs.scss +290 -0
  364. package/styles/scss/components/inputs/_inputs.variables.scss +41 -0
  365. package/styles/scss/components/link/_link.mixins.scss +190 -0
  366. package/styles/scss/components/link/_link.scss +88 -0
  367. package/styles/scss/components/link/_link.variables.scss +55 -0
  368. package/styles/scss/components/list/_list.scss +15 -0
  369. package/styles/scss/components/list/_list.variables.scss +4 -0
  370. package/styles/scss/components/list-group/_list-group.scss +61 -0
  371. package/styles/scss/components/list-group/_list-group.variables.scss +14 -0
  372. package/styles/scss/components/media/_media.scss +42 -0
  373. package/styles/scss/components/media/_media.variables.scss +7 -0
  374. package/styles/scss/components/modal/_modal.scss +147 -0
  375. package/styles/scss/components/modal/_modal.variables.scss +23 -0
  376. package/styles/scss/components/navbar/_navbar.scss +253 -0
  377. package/styles/scss/components/navbar/_navbar.variables.scss +62 -0
  378. package/styles/scss/components/pagination/_pagination.scss +195 -0
  379. package/styles/scss/components/pagination/_pagination.variables.scss +27 -0
  380. package/styles/scss/components/pagination/_pagination_container.scss +14 -0
  381. package/styles/scss/components/popover/_popover.mixin.scss +57 -0
  382. package/styles/scss/components/popover/_popover.scss +25 -0
  383. package/styles/scss/components/popover/_popover.variables.scss +18 -0
  384. package/styles/scss/components/popover/_popover_container.scss +156 -0
  385. package/styles/scss/components/progressbar/_progressbar.scss +74 -0
  386. package/styles/scss/components/progressbar/_progressbar.variables.scss +13 -0
  387. package/styles/scss/components/radio/_radio.scss +25 -0
  388. package/styles/scss/components/radio/_radio.variables.scss +3 -0
  389. package/styles/scss/components/rating/_rating.scss +81 -0
  390. package/styles/scss/components/rating/_rating.variables.scss +20 -0
  391. package/styles/scss/components/scrollspy/_scrollspy.scss +34 -0
  392. package/styles/scss/components/scrollspy/_scrollspy.variables.scss +11 -0
  393. package/styles/scss/components/select/_select.scss +734 -0
  394. package/styles/scss/components/select/_select.variables.scss +85 -0
  395. package/styles/scss/components/separator/_separator.scss +8 -0
  396. package/styles/scss/components/separator/_separator.variables.scss +1 -0
  397. package/styles/scss/components/sidenav/_sidenav.scss +259 -0
  398. package/styles/scss/components/sidenav/_sidenav.variables.scss +87 -0
  399. package/styles/scss/components/skip-links/_skip-links.scss +24 -0
  400. package/styles/scss/components/skip-links/_skip-links.variables.scss +7 -0
  401. package/styles/scss/components/slider/_slider.scss +407 -0
  402. package/styles/scss/components/slider/_slider.variables.scss +58 -0
  403. package/styles/scss/components/speechbubble/_speechbubble.scss +127 -0
  404. package/styles/scss/components/speechbubble/_speechbubble.variables.scss +19 -0
  405. package/styles/scss/components/spinner/_spinner.scss +88 -0
  406. package/styles/scss/components/spinner/_spinner.variables.scss +21 -0
  407. package/styles/scss/components/spinner/_spinner_container.scss +43 -0
  408. package/styles/scss/components/stepper/_stepper.mixins.scss +193 -0
  409. package/styles/scss/components/stepper/_stepper.scss +130 -0
  410. package/styles/scss/components/stepper/_stepper.variables.scss +63 -0
  411. package/styles/scss/components/table/_advancedtables.scss +229 -0
  412. package/styles/scss/components/table/_table.scss +7 -0
  413. package/styles/scss/components/table/_table.variables.scss +24 -0
  414. package/styles/scss/components/tabs/_tabs.scss +123 -0
  415. package/styles/scss/components/tabs/_tabs.variables.scss +32 -0
  416. package/styles/scss/components/toast/_toast.scss +189 -0
  417. package/styles/scss/components/toast/_toast.variables.scss +13 -0
  418. package/styles/scss/components/toggle/_toggle.scss +93 -0
  419. package/styles/scss/components/toggle/_toggle.variables.scss +17 -0
  420. package/styles/scss/components/tooltip/_tooltip.scss +3 -0
  421. package/styles/scss/components/tooltip/_tooltip.variables.scss +5 -0
  422. package/styles/scss/components/tooltip/_tooltip_container.scss +112 -0
  423. package/styles/scss/components/typeahead/_typeahead.scss +45 -0
  424. package/styles/scss/components/typeahead/_typeahead.variables.scss +10 -0
  425. package/styles/scss/df-styles-namespace.scss +160 -0
  426. package/styles/scss/df-styles.scss +107 -0
  427. package/styles/scss/utilities/_common.utilities.scss +70 -0
  428. package/styles/scss/utilities/_form.mixins.scss +26 -0
@@ -0,0 +1,50 @@
1
+ import { Component, Input, inject } from '@angular/core';
2
+ import { DfSideNavService } from './sidenav.service';
3
+ import { CommonModule } from '@angular/common';
4
+ import { NgbCollapseModule } from '@ng-bootstrap/ng-bootstrap';
5
+ import { RouterModule } from '@angular/router';
6
+ import { DfMediaModule } from '../mediaqueries/media.module';
7
+ import { DfSideNavCollapseModule } from './dfSideNavCollapse.module';
8
+ import { DfManageSideNavDirective } from './manage-sidenav.directive';
9
+ import * as i0 from "@angular/core";
10
+ import * as i1 from "@angular/common";
11
+ import * as i2 from "@ng-bootstrap/ng-bootstrap";
12
+ import * as i3 from "@angular/router";
13
+ import * as i4 from "../mediaqueries/ifMedia.directive";
14
+ let uniqueId = 0;
15
+ /**
16
+ * SideNav is a component to provide navigation feature with a panel on the side of your page
17
+ *
18
+ * It supports several options as:
19
+ * - Being in an overlay menu or not
20
+ * - Being collapsed or not
21
+ * - Can be used with or without Angular Router
22
+ * - Can be used with media queries to adjust behavior to different breakpoints (see media section)
23
+ */
24
+ export class DfSideNavListComponent {
25
+ constructor() {
26
+ this.controlledUniqueId = this.getControlledUniqueId();
27
+ this.sideNavService = inject(DfSideNavService);
28
+ }
29
+ getControlledUniqueId() {
30
+ uniqueId++;
31
+ return `df-sidenav-id-${uniqueId};`;
32
+ }
33
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.1.4", ngImport: i0, type: DfSideNavListComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
34
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.1.4", type: DfSideNavListComponent, isStandalone: true, selector: "df-sidenavlist", inputs: { items: "items", tplIcon: "tplIcon", tplItem: "tplItem", currentItem: "currentItem", id: "id" }, ngImport: i0, template: "<ul class=\"df-sidenav-list\" [ngbCollapse]=\"currentItem?.isCollapsed ?? false\" [attr.id]=\"id\">\n <li *ngFor=\"let item of items; let i = index\" [ngSwitch]=\"item.type\" dfManageSideNav>\n <ng-container *ngSwitchCase=\"sideNavService.type.subMenus\">\n <ng-template #subMenus>\n <button\n class=\"df-sidenav-item d-flex align-items-center\"\n (click)=\"sideNavService.toggle(item)\"\n type=\"button\"\n [attr.aria-expanded]=\"!item.isCollapsed\"\n [attr.aria-controls]=\"'sidenavControl' + controlledUniqueId.toString() + '-' + i\"\n [class.df-sidenav-item-withicon]=\"item.icon\"\n >\n <ng-template\n *ngIf=\"tplIcon && item.icon; else elseIcon\"\n [ngTemplateOutlet]=\"tplIcon.templateRef\"\n [ngTemplateOutletContext]=\"{ $implicit: item }\"\n ></ng-template>\n <ng-template #elseIcon>\n <span *ngIf=\"item.icon\" aria-hidden=\"true\" class=\"{{ item.icon }} df-sidenav-icon\"></span>\n </ng-template>\n <span class=\"flex-grow-1 text-nowrap text-truncate\">{{ item.title }}</span>\n <span\n class=\"ms-3\"\n [class.icon-chevron-down]=\"item.isCollapsed\"\n [class.icon-chevron-up]=\"!item.isCollapsed\"\n ></span>\n <!-- put the chevron as icon directly in the menu -->\n <!-- todo the icon and the minimized -->\n </button>\n <!-- we don't pass the icons as they are not suppose to have ones ??-->\n <df-sidenavlist\n [items]=\"item.subMenus ?? []\"\n [tplItem]=\"tplItem\"\n [currentItem]=\"item\"\n [id]=\"'sidenavControl' + controlledUniqueId.toString() + '-' + i\"\n ></df-sidenavlist>\n </ng-template>\n <ng-container *ngIf=\"!item.breakpoints; else elseSubMenus\">\n <ng-container *ngTemplateOutlet=\"subMenus\"></ng-container>\n </ng-container>\n <ng-template #elseSubMenus>\n <ng-container *dfIfMedia=\"item.breakpoints!\">\n <ng-container *ngTemplateOutlet=\"subMenus\"></ng-container>\n </ng-container>\n </ng-template>\n </ng-container>\n <ng-template #dfSideNavItemContent>\n <ng-template\n *ngIf=\"tplIcon && item.icon; else elseIcon\"\n [ngTemplateOutlet]=\"tplIcon.templateRef\"\n [ngTemplateOutletContext]=\"{ $implicit: item }\"\n ></ng-template>\n <ng-template #elseIcon>\n <span *ngIf=\"item.icon\" aria-hidden=\"true\" class=\"{{ item.icon }} df-sidenav-icon me-5\"></span>\n </ng-template>\n <span class=\"flex-grow-1 text-nowrap text-truncate\">{{ item.title }}</span>\n </ng-template>\n <ng-container *ngSwitchCase=\"sideNavService.type.actionButton\">\n <ng-template #dfSideNavItemButton>\n <button\n class=\"df-sidenav-item d-flex align-items-center flex-nowrap\"\n (click)=\"sideNavService.activeItem(item)\"\n [class.active]=\"item.isActive\"\n >\n <ng-container *ngTemplateOutlet=\"dfSideNavItemContent\"></ng-container>\n </button>\n </ng-template>\n <ng-container *ngIf=\"!item.breakpoints; else elseAction\">\n <ng-container *ngTemplateOutlet=\"dfSideNavItemButton\"></ng-container>\n </ng-container>\n <ng-template #elseAction>\n <ng-container *dfIfMedia=\"item.breakpoints!\">\n <ng-container *ngTemplateOutlet=\"dfSideNavItemButton\"></ng-container>\n </ng-container>\n </ng-template>\n </ng-container>\n <ng-template #dfRouterTemplate>\n <a\n class=\"df-sidenav-item d-flex align-items-center flex-nowrap\"\n routerLinkActive=\"active\"\n routerLink=\"{{ item.value }}\"\n ariaCurrentWhenActive=\"page\"\n >\n <ng-container *ngTemplateOutlet=\"dfSideNavItemContent\"></ng-container>\n </a>\n </ng-template>\n <ng-container *ngSwitchCase=\"sideNavService.type.routerLink\">\n <ng-container *ngIf=\"!item.breakpoints; else elseRouterLink\">\n <ng-container *ngTemplateOutlet=\"dfRouterTemplate\"></ng-container>\n </ng-container>\n <ng-template #elseRouterLink>\n <ng-container *dfIfMedia=\"item.breakpoints!\">\n <ng-container *ngTemplateOutlet=\"dfRouterTemplate\"></ng-container>\n </ng-container>\n </ng-template>\n </ng-container>\n <ng-container *ngSwitchCase=\"sideNavService.type.separator\">\n <ng-template #dfSeparatorTmp>\n <hr class=\"spacing-01\" />\n </ng-template>\n <ng-container *ngIf=\"!item.breakpoints; else elseSeparator\">\n <ng-container *ngTemplateOutlet=\"dfSeparatorTmp\"></ng-container>\n </ng-container>\n <ng-template #elseSeparator>\n <ng-container *dfIfMedia=\"item.breakpoints!\">\n <ng-container *ngTemplateOutlet=\"dfSeparatorTmp\"></ng-container>\n </ng-container>\n </ng-template>\n </ng-container>\n <ng-container *ngSwitchCase=\"sideNavService.type.template\">\n <ng-template\n *ngIf=\"tplItem\"\n [ngTemplateOutlet]=\"tplItem.templateRef\"\n [ngTemplateOutletContext]=\"{ $implicit: item }\"\n ></ng-template>\n </ng-container>\n <ng-container *ngSwitchCase=\"sideNavService.type.title\">\n <ng-template #dfTitleTmp>\n <div class=\"df-sidenav-item df-sidenav-title d-flex align-items-center flex-grow-1\">\n <span class=\"text-nowrap text-truncate text-uppercase text-muted\">{{ item.title }}</span>\n </div>\n </ng-template>\n <ng-container *ngIf=\"!item.breakpoints; else elseTitle\">\n <ng-container *ngTemplateOutlet=\"dfTitleTmp\"></ng-container>\n </ng-container>\n <ng-template #elseTitle>\n <ng-container *dfIfMedia=\"item.breakpoints!\">\n <ng-container *ngTemplateOutlet=\"dfTitleTmp\"></ng-container>\n </ng-container>\n </ng-template>\n </ng-container>\n <ng-container *ngSwitchDefault>\n <ng-template #dfLinkDefaultTmp>\n <a\n class=\"df-sidenav-item d-flex align-items-center flex-nowrap\"\n href=\"{{ item.value }}\"\n [class.active]=\"item.isActive && item.type === sideNavService.type.link\"\n [attr.target]=\"item.type === sideNavService.type.externalLink ? '_blank' : ''\"\n >\n <ng-container *ngTemplateOutlet=\"dfSideNavItemContent\"></ng-container>\n </a>\n </ng-template>\n <ng-container *ngIf=\"!item.breakpoints; else elseDefault\">\n <ng-container *ngTemplateOutlet=\"dfLinkDefaultTmp\"></ng-container>\n </ng-container>\n <ng-template #elseDefault>\n <ng-container *dfIfMedia=\"item.breakpoints!\">\n <ng-container *ngTemplateOutlet=\"dfLinkDefaultTmp\"></ng-container>\n </ng-container>\n </ng-template>\n </ng-container>\n </li>\n</ul>\n", dependencies: [{ kind: "component", type: DfSideNavListComponent, selector: "df-sidenavlist", inputs: ["items", "tplIcon", "tplItem", "currentItem", "id"] }, { kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: i1.NgSwitch, selector: "[ngSwitch]", inputs: ["ngSwitch"] }, { kind: "directive", type: i1.NgSwitchCase, selector: "[ngSwitchCase]", inputs: ["ngSwitchCase"] }, { kind: "directive", type: i1.NgSwitchDefault, selector: "[ngSwitchDefault]" }, { kind: "ngmodule", type: NgbCollapseModule }, { kind: "directive", type: i2.NgbCollapse, selector: "[ngbCollapse]", inputs: ["animation", "ngbCollapse", "horizontal"], outputs: ["ngbCollapseChange", "shown", "hidden"], exportAs: ["ngbCollapse"] }, { kind: "ngmodule", type: RouterModule }, { kind: "directive", type: i3.RouterLink, selector: "[routerLink]", inputs: ["target", "queryParams", "fragment", "queryParamsHandling", "state", "relativeTo", "preserveFragment", "skipLocationChange", "replaceUrl", "routerLink"] }, { kind: "directive", type: i3.RouterLinkActive, selector: "[routerLinkActive]", inputs: ["routerLinkActiveOptions", "ariaCurrentWhenActive", "routerLinkActive"], outputs: ["isActiveChange"], exportAs: ["routerLinkActive"] }, { kind: "ngmodule", type: DfMediaModule }, { kind: "directive", type: i4.DfIfMediaDirective, selector: "[dfIfMedia]", inputs: ["dfIfMedia"] }, { kind: "ngmodule", type: DfSideNavCollapseModule }, { kind: "directive", type: DfManageSideNavDirective, selector: "[dfManageSideNav]" }] }); }
35
+ }
36
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.4", ngImport: i0, type: DfSideNavListComponent, decorators: [{
37
+ type: Component,
38
+ args: [{ selector: 'df-sidenavlist', standalone: true, imports: [CommonModule, NgbCollapseModule, RouterModule, DfMediaModule, DfSideNavCollapseModule, DfManageSideNavDirective], template: "<ul class=\"df-sidenav-list\" [ngbCollapse]=\"currentItem?.isCollapsed ?? false\" [attr.id]=\"id\">\n <li *ngFor=\"let item of items; let i = index\" [ngSwitch]=\"item.type\" dfManageSideNav>\n <ng-container *ngSwitchCase=\"sideNavService.type.subMenus\">\n <ng-template #subMenus>\n <button\n class=\"df-sidenav-item d-flex align-items-center\"\n (click)=\"sideNavService.toggle(item)\"\n type=\"button\"\n [attr.aria-expanded]=\"!item.isCollapsed\"\n [attr.aria-controls]=\"'sidenavControl' + controlledUniqueId.toString() + '-' + i\"\n [class.df-sidenav-item-withicon]=\"item.icon\"\n >\n <ng-template\n *ngIf=\"tplIcon && item.icon; else elseIcon\"\n [ngTemplateOutlet]=\"tplIcon.templateRef\"\n [ngTemplateOutletContext]=\"{ $implicit: item }\"\n ></ng-template>\n <ng-template #elseIcon>\n <span *ngIf=\"item.icon\" aria-hidden=\"true\" class=\"{{ item.icon }} df-sidenav-icon\"></span>\n </ng-template>\n <span class=\"flex-grow-1 text-nowrap text-truncate\">{{ item.title }}</span>\n <span\n class=\"ms-3\"\n [class.icon-chevron-down]=\"item.isCollapsed\"\n [class.icon-chevron-up]=\"!item.isCollapsed\"\n ></span>\n <!-- put the chevron as icon directly in the menu -->\n <!-- todo the icon and the minimized -->\n </button>\n <!-- we don't pass the icons as they are not suppose to have ones ??-->\n <df-sidenavlist\n [items]=\"item.subMenus ?? []\"\n [tplItem]=\"tplItem\"\n [currentItem]=\"item\"\n [id]=\"'sidenavControl' + controlledUniqueId.toString() + '-' + i\"\n ></df-sidenavlist>\n </ng-template>\n <ng-container *ngIf=\"!item.breakpoints; else elseSubMenus\">\n <ng-container *ngTemplateOutlet=\"subMenus\"></ng-container>\n </ng-container>\n <ng-template #elseSubMenus>\n <ng-container *dfIfMedia=\"item.breakpoints!\">\n <ng-container *ngTemplateOutlet=\"subMenus\"></ng-container>\n </ng-container>\n </ng-template>\n </ng-container>\n <ng-template #dfSideNavItemContent>\n <ng-template\n *ngIf=\"tplIcon && item.icon; else elseIcon\"\n [ngTemplateOutlet]=\"tplIcon.templateRef\"\n [ngTemplateOutletContext]=\"{ $implicit: item }\"\n ></ng-template>\n <ng-template #elseIcon>\n <span *ngIf=\"item.icon\" aria-hidden=\"true\" class=\"{{ item.icon }} df-sidenav-icon me-5\"></span>\n </ng-template>\n <span class=\"flex-grow-1 text-nowrap text-truncate\">{{ item.title }}</span>\n </ng-template>\n <ng-container *ngSwitchCase=\"sideNavService.type.actionButton\">\n <ng-template #dfSideNavItemButton>\n <button\n class=\"df-sidenav-item d-flex align-items-center flex-nowrap\"\n (click)=\"sideNavService.activeItem(item)\"\n [class.active]=\"item.isActive\"\n >\n <ng-container *ngTemplateOutlet=\"dfSideNavItemContent\"></ng-container>\n </button>\n </ng-template>\n <ng-container *ngIf=\"!item.breakpoints; else elseAction\">\n <ng-container *ngTemplateOutlet=\"dfSideNavItemButton\"></ng-container>\n </ng-container>\n <ng-template #elseAction>\n <ng-container *dfIfMedia=\"item.breakpoints!\">\n <ng-container *ngTemplateOutlet=\"dfSideNavItemButton\"></ng-container>\n </ng-container>\n </ng-template>\n </ng-container>\n <ng-template #dfRouterTemplate>\n <a\n class=\"df-sidenav-item d-flex align-items-center flex-nowrap\"\n routerLinkActive=\"active\"\n routerLink=\"{{ item.value }}\"\n ariaCurrentWhenActive=\"page\"\n >\n <ng-container *ngTemplateOutlet=\"dfSideNavItemContent\"></ng-container>\n </a>\n </ng-template>\n <ng-container *ngSwitchCase=\"sideNavService.type.routerLink\">\n <ng-container *ngIf=\"!item.breakpoints; else elseRouterLink\">\n <ng-container *ngTemplateOutlet=\"dfRouterTemplate\"></ng-container>\n </ng-container>\n <ng-template #elseRouterLink>\n <ng-container *dfIfMedia=\"item.breakpoints!\">\n <ng-container *ngTemplateOutlet=\"dfRouterTemplate\"></ng-container>\n </ng-container>\n </ng-template>\n </ng-container>\n <ng-container *ngSwitchCase=\"sideNavService.type.separator\">\n <ng-template #dfSeparatorTmp>\n <hr class=\"spacing-01\" />\n </ng-template>\n <ng-container *ngIf=\"!item.breakpoints; else elseSeparator\">\n <ng-container *ngTemplateOutlet=\"dfSeparatorTmp\"></ng-container>\n </ng-container>\n <ng-template #elseSeparator>\n <ng-container *dfIfMedia=\"item.breakpoints!\">\n <ng-container *ngTemplateOutlet=\"dfSeparatorTmp\"></ng-container>\n </ng-container>\n </ng-template>\n </ng-container>\n <ng-container *ngSwitchCase=\"sideNavService.type.template\">\n <ng-template\n *ngIf=\"tplItem\"\n [ngTemplateOutlet]=\"tplItem.templateRef\"\n [ngTemplateOutletContext]=\"{ $implicit: item }\"\n ></ng-template>\n </ng-container>\n <ng-container *ngSwitchCase=\"sideNavService.type.title\">\n <ng-template #dfTitleTmp>\n <div class=\"df-sidenav-item df-sidenav-title d-flex align-items-center flex-grow-1\">\n <span class=\"text-nowrap text-truncate text-uppercase text-muted\">{{ item.title }}</span>\n </div>\n </ng-template>\n <ng-container *ngIf=\"!item.breakpoints; else elseTitle\">\n <ng-container *ngTemplateOutlet=\"dfTitleTmp\"></ng-container>\n </ng-container>\n <ng-template #elseTitle>\n <ng-container *dfIfMedia=\"item.breakpoints!\">\n <ng-container *ngTemplateOutlet=\"dfTitleTmp\"></ng-container>\n </ng-container>\n </ng-template>\n </ng-container>\n <ng-container *ngSwitchDefault>\n <ng-template #dfLinkDefaultTmp>\n <a\n class=\"df-sidenav-item d-flex align-items-center flex-nowrap\"\n href=\"{{ item.value }}\"\n [class.active]=\"item.isActive && item.type === sideNavService.type.link\"\n [attr.target]=\"item.type === sideNavService.type.externalLink ? '_blank' : ''\"\n >\n <ng-container *ngTemplateOutlet=\"dfSideNavItemContent\"></ng-container>\n </a>\n </ng-template>\n <ng-container *ngIf=\"!item.breakpoints; else elseDefault\">\n <ng-container *ngTemplateOutlet=\"dfLinkDefaultTmp\"></ng-container>\n </ng-container>\n <ng-template #elseDefault>\n <ng-container *dfIfMedia=\"item.breakpoints!\">\n <ng-container *ngTemplateOutlet=\"dfLinkDefaultTmp\"></ng-container>\n </ng-container>\n </ng-template>\n </ng-container>\n </li>\n</ul>\n" }]
39
+ }], propDecorators: { items: [{
40
+ type: Input
41
+ }], tplIcon: [{
42
+ type: Input
43
+ }], tplItem: [{
44
+ type: Input
45
+ }], currentItem: [{
46
+ type: Input
47
+ }], id: [{
48
+ type: Input
49
+ }] } });
50
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2lkZW5hdmxpc3QuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZGVzaWduLWZhY3Rvcnkvc3JjL2xpYi9hbmd1bGFyL3NpZGVuYXYvc2lkZW5hdmxpc3QuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZGVzaWduLWZhY3Rvcnkvc3JjL2xpYi9hbmd1bGFyL3NpZGVuYXYvc2lkZW5hdmxpc3QuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFDLE1BQU0sZUFBZSxDQUFDO0FBQ3hELE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBQ3JELE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvQyxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQztBQUMvRCxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLDhCQUE4QixDQUFDO0FBQzdELE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBR3JFLE9BQU8sRUFBRSx3QkFBd0IsRUFBRSxNQUFNLDRCQUE0QixDQUFDOzs7Ozs7QUFFdEUsSUFBSSxRQUFRLEdBQUcsQ0FBQyxDQUFDO0FBRWpCOzs7Ozs7OztHQVFHO0FBT0gsTUFBTSxPQUFPLHNCQUFzQjtJQU5uQztRQVlFLHVCQUFrQixHQUFHLElBQUksQ0FBQyxxQkFBcUIsRUFBRSxDQUFDO1FBQ2xELG1CQUFjLEdBQUcsTUFBTSxDQUFDLGdCQUFnQixDQUFDLENBQUM7S0FNM0M7SUFKQyxxQkFBcUI7UUFDbkIsUUFBUSxFQUFFLENBQUE7UUFDVixPQUFPLGlCQUFpQixRQUFRLEdBQUcsQ0FBQTtJQUNyQyxDQUFDOzhHQVpVLHNCQUFzQjtrR0FBdEIsc0JBQXNCLG9MQzVCbkMscXhOQXlKQSw0Q0Q3SGEsc0JBQXNCLHdIQUZ2QixZQUFZLGtyQkFBRSxpQkFBaUIsd09BQUUsWUFBWSx3ZUFBRSxhQUFhLGtJQUFFLHVCQUF1QiwrQkFBRSx3QkFBd0I7OzJGQUU5RyxzQkFBc0I7a0JBTmxDLFNBQVM7K0JBQ0UsZ0JBQWdCLGNBRWQsSUFBSSxXQUNQLENBQUMsWUFBWSxFQUFFLGlCQUFpQixFQUFFLFlBQVksRUFBRSxhQUFhLEVBQUUsdUJBQXVCLEVBQUUsd0JBQXdCLENBQUM7OEJBR2pILEtBQUs7c0JBQWIsS0FBSztnQkFDRyxPQUFPO3NCQUFmLEtBQUs7Z0JBQ0csT0FBTztzQkFBZixLQUFLO2dCQUNHLFdBQVc7c0JBQW5CLEtBQUs7Z0JBQ0csRUFBRTtzQkFBVixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBJbnB1dCwgaW5qZWN0fSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IERmU2lkZU5hdlNlcnZpY2UgfSBmcm9tICcuL3NpZGVuYXYuc2VydmljZSc7XG5pbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHsgTmdiQ29sbGFwc2VNb2R1bGUgfSBmcm9tICdAbmctYm9vdHN0cmFwL25nLWJvb3RzdHJhcCc7XG5pbXBvcnQgeyBSb3V0ZXJNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9yb3V0ZXInO1xuaW1wb3J0IHsgRGZNZWRpYU1vZHVsZSB9IGZyb20gJy4uL21lZGlhcXVlcmllcy9tZWRpYS5tb2R1bGUnO1xuaW1wb3J0IHsgRGZTaWRlTmF2Q29sbGFwc2VNb2R1bGUgfSBmcm9tICcuL2RmU2lkZU5hdkNvbGxhcHNlLm1vZHVsZSc7XG5pbXBvcnQgdHlwZSB7IERmU2lkZU5hdkl0ZW0gfSBmcm9tICcuL3NpZGVuYXYuc2VydmljZSc7XG5pbXBvcnQgeyBEZlNpZGVOYXZJY29uRGlyZWN0aXZlLCBEZlNpZGVOYXZJdGVtRGlyZWN0aXZlIH0gZnJvbSAnLi9zaWRlbmF2LmNvbXBvbmVudCc7XG5pbXBvcnQgeyBEZk1hbmFnZVNpZGVOYXZEaXJlY3RpdmUgfSBmcm9tICcuL21hbmFnZS1zaWRlbmF2LmRpcmVjdGl2ZSc7XG5cbmxldCB1bmlxdWVJZCA9IDA7XG5cbi8qKlxuICogU2lkZU5hdiBpcyBhIGNvbXBvbmVudCB0byBwcm92aWRlIG5hdmlnYXRpb24gZmVhdHVyZSB3aXRoIGEgcGFuZWwgb24gdGhlIHNpZGUgb2YgeW91ciBwYWdlXG4gKlxuICogSXQgc3VwcG9ydHMgc2V2ZXJhbCBvcHRpb25zIGFzOlxuICogIC0gQmVpbmcgaW4gYW4gb3ZlcmxheSBtZW51IG9yIG5vdFxuICogIC0gQmVpbmcgY29sbGFwc2VkIG9yIG5vdFxuICogIC0gQ2FuIGJlIHVzZWQgd2l0aCBvciB3aXRob3V0IEFuZ3VsYXIgUm91dGVyXG4gKiAgLSBDYW4gYmUgdXNlZCB3aXRoIG1lZGlhIHF1ZXJpZXMgdG8gYWRqdXN0IGJlaGF2aW9yIHRvIGRpZmZlcmVudCBicmVha3BvaW50cyAoc2VlIG1lZGlhIHNlY3Rpb24pXG4gKi9cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2RmLXNpZGVuYXZsaXN0JyxcbiAgdGVtcGxhdGVVcmw6ICcuL3NpZGVuYXZsaXN0LmNvbXBvbmVudC5odG1sJyxcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgaW1wb3J0czogW0NvbW1vbk1vZHVsZSwgTmdiQ29sbGFwc2VNb2R1bGUsIFJvdXRlck1vZHVsZSwgRGZNZWRpYU1vZHVsZSwgRGZTaWRlTmF2Q29sbGFwc2VNb2R1bGUsIERmTWFuYWdlU2lkZU5hdkRpcmVjdGl2ZV1cbn0pXG5leHBvcnQgY2xhc3MgRGZTaWRlTmF2TGlzdENvbXBvbmVudCB7XG4gIEBJbnB1dCgpIGl0ZW1zICE6IERmU2lkZU5hdkl0ZW1bXTtcbiAgQElucHV0KCkgdHBsSWNvbiAhOiBEZlNpZGVOYXZJY29uRGlyZWN0aXZlO1xuICBASW5wdXQoKSB0cGxJdGVtICE6IERmU2lkZU5hdkl0ZW1EaXJlY3RpdmU7XG4gIEBJbnB1dCgpIGN1cnJlbnRJdGVtIDogRGZTaWRlTmF2SXRlbSB8IHVuZGVmaW5lZDtcbiAgQElucHV0KCkgaWQgOiBzdHJpbmcgfCB1bmRlZmluZWQ7XG4gIGNvbnRyb2xsZWRVbmlxdWVJZCA9IHRoaXMuZ2V0Q29udHJvbGxlZFVuaXF1ZUlkKCk7XG4gIHNpZGVOYXZTZXJ2aWNlID0gaW5qZWN0KERmU2lkZU5hdlNlcnZpY2UpO1xuXG4gIGdldENvbnRyb2xsZWRVbmlxdWVJZCgpIDogc3RyaW5nIHsgXG4gICAgdW5pcXVlSWQrK1xuICAgIHJldHVybiBgZGYtc2lkZW5hdi1pZC0ke3VuaXF1ZUlkfTtgXG4gIH1cbn1cbiIsIjx1bCBjbGFzcz1cImRmLXNpZGVuYXYtbGlzdFwiIFtuZ2JDb2xsYXBzZV09XCJjdXJyZW50SXRlbT8uaXNDb2xsYXBzZWQgPz8gZmFsc2VcIiBbYXR0ci5pZF09XCJpZFwiPlxuICA8bGkgKm5nRm9yPVwibGV0IGl0ZW0gb2YgaXRlbXM7IGxldCBpID0gaW5kZXhcIiBbbmdTd2l0Y2hdPVwiaXRlbS50eXBlXCIgZGZNYW5hZ2VTaWRlTmF2PlxuICAgIDxuZy1jb250YWluZXIgKm5nU3dpdGNoQ2FzZT1cInNpZGVOYXZTZXJ2aWNlLnR5cGUuc3ViTWVudXNcIj5cbiAgICAgIDxuZy10ZW1wbGF0ZSAjc3ViTWVudXM+XG4gICAgICAgIDxidXR0b25cbiAgICAgICAgICBjbGFzcz1cImRmLXNpZGVuYXYtaXRlbSBkLWZsZXggYWxpZ24taXRlbXMtY2VudGVyXCJcbiAgICAgICAgICAoY2xpY2spPVwic2lkZU5hdlNlcnZpY2UudG9nZ2xlKGl0ZW0pXCJcbiAgICAgICAgICB0eXBlPVwiYnV0dG9uXCJcbiAgICAgICAgICBbYXR0ci5hcmlhLWV4cGFuZGVkXT1cIiFpdGVtLmlzQ29sbGFwc2VkXCJcbiAgICAgICAgICBbYXR0ci5hcmlhLWNvbnRyb2xzXT1cIidzaWRlbmF2Q29udHJvbCcgKyBjb250cm9sbGVkVW5pcXVlSWQudG9TdHJpbmcoKSArICctJyArIGlcIlxuICAgICAgICAgIFtjbGFzcy5kZi1zaWRlbmF2LWl0ZW0td2l0aGljb25dPVwiaXRlbS5pY29uXCJcbiAgICAgICAgPlxuICAgICAgICAgIDxuZy10ZW1wbGF0ZVxuICAgICAgICAgICAgKm5nSWY9XCJ0cGxJY29uICYmIGl0ZW0uaWNvbjsgZWxzZSBlbHNlSWNvblwiXG4gICAgICAgICAgICBbbmdUZW1wbGF0ZU91dGxldF09XCJ0cGxJY29uLnRlbXBsYXRlUmVmXCJcbiAgICAgICAgICAgIFtuZ1RlbXBsYXRlT3V0bGV0Q29udGV4dF09XCJ7ICRpbXBsaWNpdDogaXRlbSB9XCJcbiAgICAgICAgICA+PC9uZy10ZW1wbGF0ZT5cbiAgICAgICAgICA8bmctdGVtcGxhdGUgI2Vsc2VJY29uPlxuICAgICAgICAgICAgPHNwYW4gKm5nSWY9XCJpdGVtLmljb25cIiBhcmlhLWhpZGRlbj1cInRydWVcIiBjbGFzcz1cInt7IGl0ZW0uaWNvbiB9fSBkZi1zaWRlbmF2LWljb25cIj48L3NwYW4+XG4gICAgICAgICAgPC9uZy10ZW1wbGF0ZT5cbiAgICAgICAgICA8c3BhbiBjbGFzcz1cImZsZXgtZ3Jvdy0xIHRleHQtbm93cmFwIHRleHQtdHJ1bmNhdGVcIj57eyBpdGVtLnRpdGxlIH19PC9zcGFuPlxuICAgICAgICAgIDxzcGFuXG4gICAgICAgICAgICBjbGFzcz1cIm1zLTNcIlxuICAgICAgICAgICAgW2NsYXNzLmljb24tY2hldnJvbi1kb3duXT1cIml0ZW0uaXNDb2xsYXBzZWRcIlxuICAgICAgICAgICAgW2NsYXNzLmljb24tY2hldnJvbi11cF09XCIhaXRlbS5pc0NvbGxhcHNlZFwiXG4gICAgICAgICAgPjwvc3Bhbj5cbiAgICAgICAgICA8IS0tIHB1dCB0aGUgY2hldnJvbiBhcyBpY29uIGRpcmVjdGx5IGluIHRoZSBtZW51IC0tPlxuICAgICAgICAgIDwhLS0gdG9kbyB0aGUgaWNvbiBhbmQgdGhlIG1pbmltaXplZCAtLT5cbiAgICAgICAgPC9idXR0b24+XG4gICAgICAgIDwhLS0gd2UgZG9uJ3QgcGFzcyB0aGUgaWNvbnMgYXMgdGhleSBhcmUgbm90IHN1cHBvc2UgdG8gaGF2ZSBvbmVzID8/LS0+XG4gICAgICAgIDxkZi1zaWRlbmF2bGlzdFxuICAgICAgICAgIFtpdGVtc109XCJpdGVtLnN1Yk1lbnVzID8/IFtdXCJcbiAgICAgICAgICBbdHBsSXRlbV09XCJ0cGxJdGVtXCJcbiAgICAgICAgICBbY3VycmVudEl0ZW1dPVwiaXRlbVwiXG4gICAgICAgICAgW2lkXT1cIidzaWRlbmF2Q29udHJvbCcgKyBjb250cm9sbGVkVW5pcXVlSWQudG9TdHJpbmcoKSArICctJyArIGlcIlxuICAgICAgICA+PC9kZi1zaWRlbmF2bGlzdD5cbiAgICAgIDwvbmctdGVtcGxhdGU+XG4gICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiIWl0ZW0uYnJlYWtwb2ludHM7IGVsc2UgZWxzZVN1Yk1lbnVzXCI+XG4gICAgICAgIDxuZy1jb250YWluZXIgKm5nVGVtcGxhdGVPdXRsZXQ9XCJzdWJNZW51c1wiPjwvbmctY29udGFpbmVyPlxuICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgICA8bmctdGVtcGxhdGUgI2Vsc2VTdWJNZW51cz5cbiAgICAgICAgPG5nLWNvbnRhaW5lciAqZGZJZk1lZGlhPVwiaXRlbS5icmVha3BvaW50cyFcIj5cbiAgICAgICAgICA8bmctY29udGFpbmVyICpuZ1RlbXBsYXRlT3V0bGV0PVwic3ViTWVudXNcIj48L25nLWNvbnRhaW5lcj5cbiAgICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgICA8L25nLXRlbXBsYXRlPlxuICAgIDwvbmctY29udGFpbmVyPlxuICAgIDxuZy10ZW1wbGF0ZSAjZGZTaWRlTmF2SXRlbUNvbnRlbnQ+XG4gICAgICA8bmctdGVtcGxhdGVcbiAgICAgICAgKm5nSWY9XCJ0cGxJY29uICYmIGl0ZW0uaWNvbjsgZWxzZSBlbHNlSWNvblwiXG4gICAgICAgIFtuZ1RlbXBsYXRlT3V0bGV0XT1cInRwbEljb24udGVtcGxhdGVSZWZcIlxuICAgICAgICBbbmdUZW1wbGF0ZU91dGxldENvbnRleHRdPVwieyAkaW1wbGljaXQ6IGl0ZW0gfVwiXG4gICAgICA+PC9uZy10ZW1wbGF0ZT5cbiAgICAgIDxuZy10ZW1wbGF0ZSAjZWxzZUljb24+XG4gICAgICAgIDxzcGFuICpuZ0lmPVwiaXRlbS5pY29uXCIgYXJpYS1oaWRkZW49XCJ0cnVlXCIgY2xhc3M9XCJ7eyBpdGVtLmljb24gfX0gZGYtc2lkZW5hdi1pY29uIG1lLTVcIj48L3NwYW4+XG4gICAgICA8L25nLXRlbXBsYXRlPlxuICAgICAgPHNwYW4gY2xhc3M9XCJmbGV4LWdyb3ctMSB0ZXh0LW5vd3JhcCB0ZXh0LXRydW5jYXRlXCI+e3sgaXRlbS50aXRsZSB9fTwvc3Bhbj5cbiAgICA8L25nLXRlbXBsYXRlPlxuICAgIDxuZy1jb250YWluZXIgKm5nU3dpdGNoQ2FzZT1cInNpZGVOYXZTZXJ2aWNlLnR5cGUuYWN0aW9uQnV0dG9uXCI+XG4gICAgICA8bmctdGVtcGxhdGUgI2RmU2lkZU5hdkl0ZW1CdXR0b24+XG4gICAgICAgIDxidXR0b25cbiAgICAgICAgICBjbGFzcz1cImRmLXNpZGVuYXYtaXRlbSBkLWZsZXggYWxpZ24taXRlbXMtY2VudGVyIGZsZXgtbm93cmFwXCJcbiAgICAgICAgICAoY2xpY2spPVwic2lkZU5hdlNlcnZpY2UuYWN0aXZlSXRlbShpdGVtKVwiXG4gICAgICAgICAgW2NsYXNzLmFjdGl2ZV09XCJpdGVtLmlzQWN0aXZlXCJcbiAgICAgICAgPlxuICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nVGVtcGxhdGVPdXRsZXQ9XCJkZlNpZGVOYXZJdGVtQ29udGVudFwiPjwvbmctY29udGFpbmVyPlxuICAgICAgICA8L2J1dHRvbj5cbiAgICAgIDwvbmctdGVtcGxhdGU+XG4gICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiIWl0ZW0uYnJlYWtwb2ludHM7IGVsc2UgZWxzZUFjdGlvblwiPlxuICAgICAgICA8bmctY29udGFpbmVyICpuZ1RlbXBsYXRlT3V0bGV0PVwiZGZTaWRlTmF2SXRlbUJ1dHRvblwiPjwvbmctY29udGFpbmVyPlxuICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgICA8bmctdGVtcGxhdGUgI2Vsc2VBY3Rpb24+XG4gICAgICAgIDxuZy1jb250YWluZXIgKmRmSWZNZWRpYT1cIml0ZW0uYnJlYWtwb2ludHMhXCI+XG4gICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdUZW1wbGF0ZU91dGxldD1cImRmU2lkZU5hdkl0ZW1CdXR0b25cIj48L25nLWNvbnRhaW5lcj5cbiAgICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgICA8L25nLXRlbXBsYXRlPlxuICAgIDwvbmctY29udGFpbmVyPlxuICAgIDxuZy10ZW1wbGF0ZSAjZGZSb3V0ZXJUZW1wbGF0ZT5cbiAgICAgIDxhXG4gICAgICAgIGNsYXNzPVwiZGYtc2lkZW5hdi1pdGVtIGQtZmxleCBhbGlnbi1pdGVtcy1jZW50ZXIgZmxleC1ub3dyYXBcIlxuICAgICAgICByb3V0ZXJMaW5rQWN0aXZlPVwiYWN0aXZlXCJcbiAgICAgICAgcm91dGVyTGluaz1cInt7IGl0ZW0udmFsdWUgfX1cIlxuICAgICAgICBhcmlhQ3VycmVudFdoZW5BY3RpdmU9XCJwYWdlXCJcbiAgICAgID5cbiAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdUZW1wbGF0ZU91dGxldD1cImRmU2lkZU5hdkl0ZW1Db250ZW50XCI+PC9uZy1jb250YWluZXI+XG4gICAgICA8L2E+XG4gICAgPC9uZy10ZW1wbGF0ZT5cbiAgICA8bmctY29udGFpbmVyICpuZ1N3aXRjaENhc2U9XCJzaWRlTmF2U2VydmljZS50eXBlLnJvdXRlckxpbmtcIj5cbiAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCIhaXRlbS5icmVha3BvaW50czsgZWxzZSBlbHNlUm91dGVyTGlua1wiPlxuICAgICAgICA8bmctY29udGFpbmVyICpuZ1RlbXBsYXRlT3V0bGV0PVwiZGZSb3V0ZXJUZW1wbGF0ZVwiPjwvbmctY29udGFpbmVyPlxuICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgICA8bmctdGVtcGxhdGUgI2Vsc2VSb3V0ZXJMaW5rPlxuICAgICAgICA8bmctY29udGFpbmVyICpkZklmTWVkaWE9XCJpdGVtLmJyZWFrcG9pbnRzIVwiPlxuICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nVGVtcGxhdGVPdXRsZXQ9XCJkZlJvdXRlclRlbXBsYXRlXCI+PC9uZy1jb250YWluZXI+XG4gICAgICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgPC9uZy10ZW1wbGF0ZT5cbiAgICA8L25nLWNvbnRhaW5lcj5cbiAgICA8bmctY29udGFpbmVyICpuZ1N3aXRjaENhc2U9XCJzaWRlTmF2U2VydmljZS50eXBlLnNlcGFyYXRvclwiPlxuICAgICAgPG5nLXRlbXBsYXRlICNkZlNlcGFyYXRvclRtcD5cbiAgICAgICAgPGhyIGNsYXNzPVwic3BhY2luZy0wMVwiIC8+XG4gICAgICA8L25nLXRlbXBsYXRlPlxuICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cIiFpdGVtLmJyZWFrcG9pbnRzOyBlbHNlIGVsc2VTZXBhcmF0b3JcIj5cbiAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdUZW1wbGF0ZU91dGxldD1cImRmU2VwYXJhdG9yVG1wXCI+PC9uZy1jb250YWluZXI+XG4gICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgIDxuZy10ZW1wbGF0ZSAjZWxzZVNlcGFyYXRvcj5cbiAgICAgICAgPG5nLWNvbnRhaW5lciAqZGZJZk1lZGlhPVwiaXRlbS5icmVha3BvaW50cyFcIj5cbiAgICAgICAgICA8bmctY29udGFpbmVyICpuZ1RlbXBsYXRlT3V0bGV0PVwiZGZTZXBhcmF0b3JUbXBcIj48L25nLWNvbnRhaW5lcj5cbiAgICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgICA8L25nLXRlbXBsYXRlPlxuICAgIDwvbmctY29udGFpbmVyPlxuICAgIDxuZy1jb250YWluZXIgKm5nU3dpdGNoQ2FzZT1cInNpZGVOYXZTZXJ2aWNlLnR5cGUudGVtcGxhdGVcIj5cbiAgICAgIDxuZy10ZW1wbGF0ZVxuICAgICAgICAqbmdJZj1cInRwbEl0ZW1cIlxuICAgICAgICBbbmdUZW1wbGF0ZU91dGxldF09XCJ0cGxJdGVtLnRlbXBsYXRlUmVmXCJcbiAgICAgICAgW25nVGVtcGxhdGVPdXRsZXRDb250ZXh0XT1cInsgJGltcGxpY2l0OiBpdGVtIH1cIlxuICAgICAgPjwvbmctdGVtcGxhdGU+XG4gICAgPC9uZy1jb250YWluZXI+XG4gICAgPG5nLWNvbnRhaW5lciAqbmdTd2l0Y2hDYXNlPVwic2lkZU5hdlNlcnZpY2UudHlwZS50aXRsZVwiPlxuICAgICAgPG5nLXRlbXBsYXRlICNkZlRpdGxlVG1wPlxuICAgICAgICA8ZGl2IGNsYXNzPVwiZGYtc2lkZW5hdi1pdGVtIGRmLXNpZGVuYXYtdGl0bGUgZC1mbGV4IGFsaWduLWl0ZW1zLWNlbnRlciBmbGV4LWdyb3ctMVwiPlxuICAgICAgICAgIDxzcGFuIGNsYXNzPVwidGV4dC1ub3dyYXAgdGV4dC10cnVuY2F0ZSB0ZXh0LXVwcGVyY2FzZSB0ZXh0LW11dGVkXCI+e3sgaXRlbS50aXRsZSB9fTwvc3Bhbj5cbiAgICAgICAgPC9kaXY+XG4gICAgICA8L25nLXRlbXBsYXRlPlxuICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cIiFpdGVtLmJyZWFrcG9pbnRzOyBlbHNlIGVsc2VUaXRsZVwiPlxuICAgICAgICA8bmctY29udGFpbmVyICpuZ1RlbXBsYXRlT3V0bGV0PVwiZGZUaXRsZVRtcFwiPjwvbmctY29udGFpbmVyPlxuICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgICA8bmctdGVtcGxhdGUgI2Vsc2VUaXRsZT5cbiAgICAgICAgPG5nLWNvbnRhaW5lciAqZGZJZk1lZGlhPVwiaXRlbS5icmVha3BvaW50cyFcIj5cbiAgICAgICAgICA8bmctY29udGFpbmVyICpuZ1RlbXBsYXRlT3V0bGV0PVwiZGZUaXRsZVRtcFwiPjwvbmctY29udGFpbmVyPlxuICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgIDwvbmctdGVtcGxhdGU+XG4gICAgPC9uZy1jb250YWluZXI+XG4gICAgPG5nLWNvbnRhaW5lciAqbmdTd2l0Y2hEZWZhdWx0PlxuICAgICAgPG5nLXRlbXBsYXRlICNkZkxpbmtEZWZhdWx0VG1wPlxuICAgICAgICA8YVxuICAgICAgICAgIGNsYXNzPVwiZGYtc2lkZW5hdi1pdGVtIGQtZmxleCBhbGlnbi1pdGVtcy1jZW50ZXIgZmxleC1ub3dyYXBcIlxuICAgICAgICAgIGhyZWY9XCJ7eyBpdGVtLnZhbHVlIH19XCJcbiAgICAgICAgICBbY2xhc3MuYWN0aXZlXT1cIml0ZW0uaXNBY3RpdmUgJiYgaXRlbS50eXBlID09PSBzaWRlTmF2U2VydmljZS50eXBlLmxpbmtcIlxuICAgICAgICAgIFthdHRyLnRhcmdldF09XCJpdGVtLnR5cGUgPT09IHNpZGVOYXZTZXJ2aWNlLnR5cGUuZXh0ZXJuYWxMaW5rID8gJ19ibGFuaycgOiAnJ1wiXG4gICAgICAgID5cbiAgICAgICAgICA8bmctY29udGFpbmVyICpuZ1RlbXBsYXRlT3V0bGV0PVwiZGZTaWRlTmF2SXRlbUNvbnRlbnRcIj48L25nLWNvbnRhaW5lcj5cbiAgICAgICAgPC9hPlxuICAgICAgPC9uZy10ZW1wbGF0ZT5cbiAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCIhaXRlbS5icmVha3BvaW50czsgZWxzZSBlbHNlRGVmYXVsdFwiPlxuICAgICAgICA8bmctY29udGFpbmVyICpuZ1RlbXBsYXRlT3V0bGV0PVwiZGZMaW5rRGVmYXVsdFRtcFwiPjwvbmctY29udGFpbmVyPlxuICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgICA8bmctdGVtcGxhdGUgI2Vsc2VEZWZhdWx0PlxuICAgICAgICA8bmctY29udGFpbmVyICpkZklmTWVkaWE9XCJpdGVtLmJyZWFrcG9pbnRzIVwiPlxuICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nVGVtcGxhdGVPdXRsZXQ9XCJkZkxpbmtEZWZhdWx0VG1wXCI+PC9uZy1jb250YWluZXI+XG4gICAgICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgPC9uZy10ZW1wbGF0ZT5cbiAgICA8L25nLWNvbnRhaW5lcj5cbiAgPC9saT5cbjwvdWw+XG4iXX0=
@@ -0,0 +1,33 @@
1
+ import { Directive, Input, Optional } from '@angular/core';
2
+ import { RightToLeftDirectionEnum } from '../../right-to-left/directionDetection.service';
3
+ import * as i0 from "@angular/core";
4
+ import * as i1 from "../../right-to-left/directionDetection.service";
5
+ export class DfSliderDirectionDirective {
6
+ constructor(elementRef, rtlDirectionService) {
7
+ this.elementRef = elementRef;
8
+ this.rtlDirectionService = rtlDirectionService;
9
+ }
10
+ ngOnInit() {
11
+ if (this.rtlDirectionService) {
12
+ const direction = this.rtlDirectionService.getPageDirection(this.elementRef);
13
+ if (direction === RightToLeftDirectionEnum.RightToLeft) {
14
+ this.host.options.rightToLeft = true;
15
+ }
16
+ }
17
+ }
18
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.1.4", ngImport: i0, type: DfSliderDirectionDirective, deps: [{ token: i0.ElementRef }, { token: i1.DfDirectionDetectionService, optional: true }], target: i0.ɵɵFactoryTarget.Directive }); }
19
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "16.1.4", type: DfSliderDirectionDirective, isStandalone: true, selector: "[dfSliderDirection]", inputs: { host: ["dfSliderDirection", "host"] }, ngImport: i0 }); }
20
+ }
21
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.4", ngImport: i0, type: DfSliderDirectionDirective, decorators: [{
22
+ type: Directive,
23
+ args: [{
24
+ selector: '[dfSliderDirection]',
25
+ standalone: true
26
+ }]
27
+ }], ctorParameters: function () { return [{ type: i0.ElementRef }, { type: i1.DfDirectionDetectionService, decorators: [{
28
+ type: Optional
29
+ }] }]; }, propDecorators: { host: [{
30
+ type: Input,
31
+ args: ['dfSliderDirection']
32
+ }] } });
33
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2xpZGVyZGlyZWN0aW9uLmRpcmVjdGl2ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2Rlc2lnbi1mYWN0b3J5L3NyYy9saWIvYW5ndWxhci9zbGlkZXIvZGlyZWN0aW9uL3NsaWRlcmRpcmVjdGlvbi5kaXJlY3RpdmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBc0IsS0FBSyxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMvRSxPQUFPLEVBQStCLHdCQUF3QixFQUFFLE1BQU0sZ0RBQWdELENBQUM7OztBQU12SCxNQUFNLE9BQU8sMEJBQTBCO0lBS3JDLFlBQ21CLFVBQXNCLEVBQ1YsbUJBQWdEO1FBRDVELGVBQVUsR0FBVixVQUFVLENBQVk7UUFDVix3QkFBbUIsR0FBbkIsbUJBQW1CLENBQTZCO0lBQzVFLENBQUM7SUFFSixRQUFRO1FBQ04sSUFBSSxJQUFJLENBQUMsbUJBQW1CLEVBQUU7WUFDNUIsTUFBTSxTQUFTLEdBQUcsSUFBSSxDQUFDLG1CQUFtQixDQUFDLGdCQUFnQixDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsQ0FBQztZQUU3RSxJQUFJLFNBQVMsS0FBSyx3QkFBd0IsQ0FBQyxXQUFXLEVBQUU7Z0JBQ3RELElBQUksQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLFdBQVcsR0FBRyxJQUFJLENBQUM7YUFDdEM7U0FDRjtJQUNILENBQUM7OEdBbEJVLDBCQUEwQjtrR0FBMUIsMEJBQTBCOzsyRkFBMUIsMEJBQTBCO2tCQUp0QyxTQUFTO21CQUFDO29CQUNULFFBQVEsRUFBRSxxQkFBcUI7b0JBQy9CLFVBQVUsRUFBRSxJQUFJO2lCQUNqQjs7MEJBUUksUUFBUTs0Q0FKSixJQUFJO3NCQURWLEtBQUs7dUJBQUMsbUJBQW1CIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRGlyZWN0aXZlLCBFbGVtZW50UmVmLCBPbkluaXQsIElucHV0LCBPcHRpb25hbCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgRGZEaXJlY3Rpb25EZXRlY3Rpb25TZXJ2aWNlLCBSaWdodFRvTGVmdERpcmVjdGlvbkVudW0gfSBmcm9tICcuLi8uLi9yaWdodC10by1sZWZ0L2RpcmVjdGlvbkRldGVjdGlvbi5zZXJ2aWNlJztcblxuQERpcmVjdGl2ZSh7XG4gIHNlbGVjdG9yOiAnW2RmU2xpZGVyRGlyZWN0aW9uXScsXG4gIHN0YW5kYWxvbmU6IHRydWVcbn0pXG5leHBvcnQgY2xhc3MgRGZTbGlkZXJEaXJlY3Rpb25EaXJlY3RpdmUgaW1wbGVtZW50cyBPbkluaXQge1xuICAvLyBXb3JrYXJvdW5kIGR1ZSB0byBiYWQgZXhwb3J0IG9uIEBhbmd1bGFyLXNsaWRlci9uZ3gtc2xpZGVyIGFuZCBodHRwczovL2dpdGh1Yi5jb20vYW5ndWxhci9hbmd1bGFyL2lzc3Vlcy84Mjc3XG4gIEBJbnB1dCgnZGZTbGlkZXJEaXJlY3Rpb24nKVxuICBwdWJsaWMgaG9zdDogYW55O1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHByaXZhdGUgcmVhZG9ubHkgZWxlbWVudFJlZjogRWxlbWVudFJlZixcbiAgICBAT3B0aW9uYWwoKSBwcml2YXRlIHJlYWRvbmx5IHJ0bERpcmVjdGlvblNlcnZpY2U6IERmRGlyZWN0aW9uRGV0ZWN0aW9uU2VydmljZVxuICApIHt9XG5cbiAgbmdPbkluaXQoKSB7XG4gICAgaWYgKHRoaXMucnRsRGlyZWN0aW9uU2VydmljZSkge1xuICAgICAgY29uc3QgZGlyZWN0aW9uID0gdGhpcy5ydGxEaXJlY3Rpb25TZXJ2aWNlLmdldFBhZ2VEaXJlY3Rpb24odGhpcy5lbGVtZW50UmVmKTtcblxuICAgICAgaWYgKGRpcmVjdGlvbiA9PT0gUmlnaHRUb0xlZnREaXJlY3Rpb25FbnVtLlJpZ2h0VG9MZWZ0KSB7XG4gICAgICAgIHRoaXMuaG9zdC5vcHRpb25zLnJpZ2h0VG9MZWZ0ID0gdHJ1ZTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbiJdfQ==
@@ -0,0 +1,3 @@
1
+ export class ChangeContext {
2
+ }
3
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2hhbmdlLWNvbnRleHQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9kZXNpZ24tZmFjdG9yeS9zcmMvbGliL2FuZ3VsYXIvc2xpZGVyL2xpYi9jaGFuZ2UtY29udGV4dC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFFQSxNQUFNLE9BQU8sYUFBYTtDQUl6QiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFBvaW50ZXJUeXBlIH0gZnJvbSAnLi9wb2ludGVyLXR5cGUnO1xuXG5leHBvcnQgY2xhc3MgQ2hhbmdlQ29udGV4dCB7XG4gIHZhbHVlPzogbnVtYmVyO1xuICBoaWdoVmFsdWU/OiBudW1iZXI7XG4gIHBvaW50ZXJUeXBlPzogUG9pbnRlclR5cGU7XG59Il19
@@ -0,0 +1,15 @@
1
+ /** Helper with compatibility functions to support different browsers */
2
+ export class CompatibilityHelper {
3
+ /** Workaround for TouchEvent constructor sadly not being available on all browsers (e.g. Firefox, Safari) */
4
+ static isTouchEvent(event) {
5
+ if (window.TouchEvent !== undefined) {
6
+ return event instanceof TouchEvent;
7
+ }
8
+ return event.touches !== undefined;
9
+ }
10
+ /** Detect presence of ResizeObserver API */
11
+ static isResizeObserverAvailable() {
12
+ return window.ResizeObserver !== undefined;
13
+ }
14
+ }
15
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29tcGF0aWJpbGl0eS1oZWxwZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9kZXNpZ24tZmFjdG9yeS9zcmMvbGliL2FuZ3VsYXIvc2xpZGVyL2xpYi9jb21wYXRpYmlsaXR5LWhlbHBlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFNQSx3RUFBd0U7QUFDeEUsTUFBTSxPQUFPLG1CQUFtQjtJQUM5Qiw2R0FBNkc7SUFDdEcsTUFBTSxDQUFDLFlBQVksQ0FBQyxLQUFVO1FBQ25DLElBQUssTUFBYyxDQUFDLFVBQVUsS0FBSyxTQUFTLEVBQUU7WUFDNUMsT0FBTyxLQUFLLFlBQVksVUFBVSxDQUFDO1NBQ3BDO1FBRUQsT0FBTyxLQUFLLENBQUMsT0FBTyxLQUFLLFNBQVMsQ0FBQztJQUNyQyxDQUFDO0lBRUQsNENBQTRDO0lBQ3JDLE1BQU0sQ0FBQyx5QkFBeUI7UUFDckMsT0FBUSxNQUFjLENBQUMsY0FBYyxLQUFLLFNBQVMsQ0FBQztJQUN0RCxDQUFDO0NBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyJcbi8vIERlY2xhcmF0aW9uIGZvciBSZXNpemVPYnNlcnZlciBhIG5ldyBBUEkgYXZhaWxhYmxlIGluIHNvbWUgb2YgbmV3ZXN0IGJyb3dzZXJzOlxuLy8gaHR0cHM6Ly9kZXZlbG9wZXIubW96aWxsYS5vcmcvZW4tVVMvZG9jcy9XZWIvQVBJL1Jlc2l6ZU9ic2VydmVyXG5kZWNsYXJlIGNsYXNzIFJlc2l6ZU9ic2VydmVyIHtcbn1cblxuLyoqIEhlbHBlciB3aXRoIGNvbXBhdGliaWxpdHkgZnVuY3Rpb25zIHRvIHN1cHBvcnQgZGlmZmVyZW50IGJyb3dzZXJzICovXG5leHBvcnQgY2xhc3MgQ29tcGF0aWJpbGl0eUhlbHBlciB7XG4gIC8qKiBXb3JrYXJvdW5kIGZvciBUb3VjaEV2ZW50IGNvbnN0cnVjdG9yIHNhZGx5IG5vdCBiZWluZyBhdmFpbGFibGUgb24gYWxsIGJyb3dzZXJzIChlLmcuIEZpcmVmb3gsIFNhZmFyaSkgKi9cbiAgcHVibGljIHN0YXRpYyBpc1RvdWNoRXZlbnQoZXZlbnQ6IGFueSk6IGJvb2xlYW4ge1xuICAgIGlmICgod2luZG93IGFzIGFueSkuVG91Y2hFdmVudCAhPT0gdW5kZWZpbmVkKSB7XG4gICAgICByZXR1cm4gZXZlbnQgaW5zdGFuY2VvZiBUb3VjaEV2ZW50O1xuICAgIH1cblxuICAgIHJldHVybiBldmVudC50b3VjaGVzICE9PSB1bmRlZmluZWQ7XG4gIH1cblxuICAvKiogRGV0ZWN0IHByZXNlbmNlIG9mIFJlc2l6ZU9ic2VydmVyIEFQSSAqL1xuICBwdWJsaWMgc3RhdGljIGlzUmVzaXplT2JzZXJ2ZXJBdmFpbGFibGUoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuICh3aW5kb3cgYXMgYW55KS5SZXNpemVPYnNlcnZlciAhPT0gdW5kZWZpbmVkO1xuICB9XG59Il19
@@ -0,0 +1,77 @@
1
+ import { Subject } from 'rxjs';
2
+ import { throttleTime, tap } from 'rxjs/operators';
3
+ import { EventListener } from './event-listener';
4
+ import { ValueHelper } from './value-helper';
5
+ const w = typeof window !== 'undefined' ? window : { screen: {}, navigator: {} };
6
+ let passiveOptionAccessed = false;
7
+ const options = {
8
+ get passive() {
9
+ return (passiveOptionAccessed = true);
10
+ }
11
+ };
12
+ const noop = () => { };
13
+ w.addEventListener && w.addEventListener('p', noop, options);
14
+ w.removeEventListener && w.removeEventListener('p', noop, false);
15
+ export const supportsPassiveEvents = passiveOptionAccessed;
16
+ /**
17
+ * Helper class to attach event listeners to DOM elements with debounce support using rxjs
18
+ */
19
+ export class EventListenerHelper {
20
+ constructor(renderer) {
21
+ this.renderer = renderer;
22
+ }
23
+ attachPassiveEventListener(nativeElement, eventName, callback, throttleInterval) {
24
+ // Only use passive event listeners if the browser supports it
25
+ if (supportsPassiveEvents !== true) {
26
+ return this.attachEventListener(nativeElement, eventName, callback, throttleInterval);
27
+ }
28
+ // Angular doesn't support passive event handlers (yet), so we need to roll our own code using native functions
29
+ const listener = new EventListener();
30
+ listener.eventName = eventName;
31
+ listener.events = new Subject();
32
+ const observerCallback = (event) => {
33
+ listener.events?.next(event);
34
+ };
35
+ nativeElement.addEventListener(eventName, observerCallback, { passive: true, capture: false });
36
+ listener.teardownCallback = () => {
37
+ nativeElement.removeEventListener(eventName, observerCallback, { passive: true, capture: false });
38
+ };
39
+ listener.eventsSubscription = listener.events
40
+ .pipe((!ValueHelper.isNullOrUndefined(throttleInterval))
41
+ ? throttleTime(throttleInterval, undefined, { leading: true, trailing: true })
42
+ : tap(() => { }) // no-op
43
+ )
44
+ .subscribe((event) => {
45
+ callback(event);
46
+ });
47
+ return listener;
48
+ }
49
+ detachEventListener(eventListener) {
50
+ if (!ValueHelper.isNullOrUndefined(eventListener.eventsSubscription)) {
51
+ eventListener.eventsSubscription?.unsubscribe();
52
+ }
53
+ if (!ValueHelper.isNullOrUndefined(eventListener.events)) {
54
+ eventListener.events?.complete();
55
+ }
56
+ if (!ValueHelper.isNullOrUndefined(eventListener.teardownCallback)) {
57
+ eventListener.teardownCallback?.();
58
+ }
59
+ }
60
+ attachEventListener(nativeElement, eventName, callback, throttleInterval) {
61
+ const listener = new EventListener();
62
+ listener.eventName = eventName;
63
+ listener.events = new Subject();
64
+ const observerCallback = (event) => {
65
+ listener.events?.next(event);
66
+ };
67
+ listener.teardownCallback = this.renderer.listen(nativeElement, eventName, observerCallback);
68
+ listener.eventsSubscription = listener.events
69
+ .pipe((!ValueHelper.isNullOrUndefined(throttleInterval))
70
+ ? throttleTime(throttleInterval, undefined, { leading: true, trailing: true })
71
+ : tap(() => { }) // no-op
72
+ )
73
+ .subscribe((event) => { callback(event); });
74
+ return listener;
75
+ }
76
+ }
77
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXZlbnQtbGlzdGVuZXItaGVscGVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZGVzaWduLWZhY3Rvcnkvc3JjL2xpYi9hbmd1bGFyL3NsaWRlci9saWIvZXZlbnQtbGlzdGVuZXItaGVscGVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDL0IsT0FBTyxFQUFFLFlBQVksRUFBRSxHQUFHLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUNuRCxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sa0JBQWtCLENBQUM7QUFDakQsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBRTdDLE1BQU0sQ0FBQyxHQUNMLE9BQU8sTUFBTSxLQUFLLFdBQVcsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxFQUFFLE1BQU0sRUFBRSxFQUFFLEVBQUUsU0FBUyxFQUFFLEVBQUUsRUFBRSxDQUFDO0FBRXpFLElBQUkscUJBQXFCLEdBQUcsS0FBSyxDQUFDO0FBQ2xDLE1BQU0sT0FBTyxHQUFHO0lBQ2QsSUFBSSxPQUFPO1FBQ1QsT0FBTyxDQUFDLHFCQUFxQixHQUFHLElBQUksQ0FBQyxDQUFDO0lBQ3hDLENBQUM7Q0FDRixDQUFDO0FBQ0YsTUFBTSxJQUFJLEdBQUcsR0FBRyxFQUFFLEdBQUUsQ0FBQyxDQUFDO0FBQ3RCLENBQUMsQ0FBQyxnQkFBZ0IsSUFBSSxDQUFDLENBQUMsZ0JBQWdCLENBQUMsR0FBRyxFQUFFLElBQUksRUFBRSxPQUFPLENBQUMsQ0FBQztBQUM3RCxDQUFDLENBQUMsbUJBQW1CLElBQUksQ0FBQyxDQUFDLG1CQUFtQixDQUFDLEdBQUcsRUFBRSxJQUFJLEVBQUUsS0FBSyxDQUFDLENBQUM7QUFFakUsTUFBTSxDQUFDLE1BQU0scUJBQXFCLEdBQVkscUJBQXFCLENBQUM7QUFFcEU7O0dBRUc7QUFDSCxNQUFNLE9BQU8sbUJBQW1CO0lBQzlCLFlBQW9CLFFBQW1CO1FBQW5CLGFBQVEsR0FBUixRQUFRLENBQVc7SUFDdkMsQ0FBQztJQUVNLDBCQUEwQixDQUFDLGFBQWtCLEVBQUUsU0FBaUIsRUFBRSxRQUE4QixFQUNuRyxnQkFBeUI7UUFDM0IsOERBQThEO1FBQzlELElBQUkscUJBQXFCLEtBQUssSUFBSSxFQUFFO1lBQ2xDLE9BQU8sSUFBSSxDQUFDLG1CQUFtQixDQUFDLGFBQWEsRUFBRSxTQUFTLEVBQUUsUUFBUSxFQUFFLGdCQUFnQixDQUFDLENBQUM7U0FDdkY7UUFFRCwrR0FBK0c7UUFDL0csTUFBTSxRQUFRLEdBQWtCLElBQUksYUFBYSxFQUFFLENBQUM7UUFDcEQsUUFBUSxDQUFDLFNBQVMsR0FBRyxTQUFTLENBQUM7UUFDL0IsUUFBUSxDQUFDLE1BQU0sR0FBRyxJQUFJLE9BQU8sRUFBUyxDQUFDO1FBRXZDLE1BQU0sZ0JBQWdCLEdBQTJCLENBQUMsS0FBWSxFQUFRLEVBQUU7WUFDdEUsUUFBUSxDQUFDLE1BQU0sRUFBRSxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDL0IsQ0FBQyxDQUFDO1FBQ0YsYUFBYSxDQUFDLGdCQUFnQixDQUFDLFNBQVMsRUFBRSxnQkFBZ0IsRUFBRSxFQUFDLE9BQU8sRUFBRSxJQUFJLEVBQUUsT0FBTyxFQUFFLEtBQUssRUFBQyxDQUFDLENBQUM7UUFFN0YsUUFBUSxDQUFDLGdCQUFnQixHQUFHLEdBQVMsRUFBRTtZQUNyQyxhQUFhLENBQUMsbUJBQW1CLENBQUMsU0FBUyxFQUFFLGdCQUFnQixFQUFFLEVBQUMsT0FBTyxFQUFFLElBQUksRUFBRSxPQUFPLEVBQUUsS0FBSyxFQUFDLENBQUMsQ0FBQztRQUNsRyxDQUFDLENBQUM7UUFFRixRQUFRLENBQUMsa0JBQWtCLEdBQUcsUUFBUSxDQUFDLE1BQU07YUFDMUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxXQUFXLENBQUMsaUJBQWlCLENBQUMsZ0JBQWdCLENBQUMsQ0FBQztZQUN0RCxDQUFDLENBQUMsWUFBWSxDQUFDLGdCQUFpQixFQUFFLFNBQVMsRUFBRSxFQUFFLE9BQU8sRUFBRSxJQUFJLEVBQUUsUUFBUSxFQUFFLElBQUksRUFBQyxDQUFDO1lBQzlFLENBQUMsQ0FBQyxHQUFHLENBQUMsR0FBRyxFQUFFLEdBQUUsQ0FBQyxDQUFDLENBQUMsUUFBUTtTQUN6QjthQUNBLFNBQVMsQ0FBQyxDQUFDLEtBQVksRUFBRSxFQUFFO1lBQzFCLFFBQVEsQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUNsQixDQUFDLENBQUMsQ0FBQztRQUVMLE9BQU8sUUFBUSxDQUFDO0lBQ2xCLENBQUM7SUFFTSxtQkFBbUIsQ0FBQyxhQUE0QjtRQUNyRCxJQUFJLENBQUMsV0FBVyxDQUFDLGlCQUFpQixDQUFDLGFBQWEsQ0FBQyxrQkFBa0IsQ0FBQyxFQUFFO1lBQ3BFLGFBQWEsQ0FBQyxrQkFBa0IsRUFBRSxXQUFXLEVBQUUsQ0FBQztTQUNqRDtRQUVELElBQUksQ0FBQyxXQUFXLENBQUMsaUJBQWlCLENBQUMsYUFBYSxDQUFDLE1BQU0sQ0FBQyxFQUFFO1lBQ3hELGFBQWEsQ0FBQyxNQUFNLEVBQUUsUUFBUSxFQUFFLENBQUM7U0FDbEM7UUFFRCxJQUFJLENBQUMsV0FBVyxDQUFDLGlCQUFpQixDQUFDLGFBQWEsQ0FBQyxnQkFBZ0IsQ0FBQyxFQUFFO1lBQ2xFLGFBQWEsQ0FBQyxnQkFBZ0IsRUFBRSxFQUFFLENBQUM7U0FDcEM7SUFDSCxDQUFDO0lBRU0sbUJBQW1CLENBQUMsYUFBa0IsRUFBRSxTQUFpQixFQUFFLFFBQThCLEVBQzVGLGdCQUF5QjtRQUMzQixNQUFNLFFBQVEsR0FBa0IsSUFBSSxhQUFhLEVBQUUsQ0FBQztRQUNwRCxRQUFRLENBQUMsU0FBUyxHQUFHLFNBQVMsQ0FBQztRQUMvQixRQUFRLENBQUMsTUFBTSxHQUFHLElBQUksT0FBTyxFQUFTLENBQUM7UUFFdkMsTUFBTSxnQkFBZ0IsR0FBMkIsQ0FBQyxLQUFZLEVBQVEsRUFBRTtZQUN0RSxRQUFRLENBQUMsTUFBTSxFQUFFLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUMvQixDQUFDLENBQUM7UUFFRixRQUFRLENBQUMsZ0JBQWdCLEdBQUcsSUFBSSxDQUFDLFFBQVEsQ0FBQyxNQUFNLENBQUMsYUFBYSxFQUFFLFNBQVMsRUFBRSxnQkFBZ0IsQ0FBQyxDQUFDO1FBRTdGLFFBQVEsQ0FBQyxrQkFBa0IsR0FBRyxRQUFRLENBQUMsTUFBTTthQUMxQyxJQUFJLENBQUMsQ0FBQyxDQUFDLFdBQVcsQ0FBQyxpQkFBaUIsQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDO1lBQ3BELENBQUMsQ0FBQyxZQUFZLENBQUMsZ0JBQWlCLEVBQUUsU0FBUyxFQUFFLEVBQUUsT0FBTyxFQUFFLElBQUksRUFBRSxRQUFRLEVBQUUsSUFBSSxFQUFDLENBQUM7WUFDOUUsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxHQUFHLEVBQUUsR0FBRSxDQUFDLENBQUMsQ0FBQyxRQUFRO1NBQzNCO2FBQ0EsU0FBUyxDQUFDLENBQUMsS0FBWSxFQUFFLEVBQUUsR0FBRyxRQUFRLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUVyRCxPQUFPLFFBQVEsQ0FBQztJQUNsQixDQUFDO0NBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBSZW5kZXJlcjIgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFN1YmplY3QgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IHRocm90dGxlVGltZSwgdGFwIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuaW1wb3J0IHsgRXZlbnRMaXN0ZW5lciB9IGZyb20gJy4vZXZlbnQtbGlzdGVuZXInO1xuaW1wb3J0IHsgVmFsdWVIZWxwZXIgfSBmcm9tICcuL3ZhbHVlLWhlbHBlcic7XG5cbmNvbnN0IHc6IFdpbmRvdyB8IGFueSA9XG4gIHR5cGVvZiB3aW5kb3cgIT09ICd1bmRlZmluZWQnID8gd2luZG93IDogeyBzY3JlZW46IHt9LCBuYXZpZ2F0b3I6IHt9IH07XG5cbmxldCBwYXNzaXZlT3B0aW9uQWNjZXNzZWQgPSBmYWxzZTtcbmNvbnN0IG9wdGlvbnMgPSB7XG4gIGdldCBwYXNzaXZlKCkge1xuICAgIHJldHVybiAocGFzc2l2ZU9wdGlvbkFjY2Vzc2VkID0gdHJ1ZSk7XG4gIH1cbn07XG5jb25zdCBub29wID0gKCkgPT4ge307XG53LmFkZEV2ZW50TGlzdGVuZXIgJiYgdy5hZGRFdmVudExpc3RlbmVyKCdwJywgbm9vcCwgb3B0aW9ucyk7XG53LnJlbW92ZUV2ZW50TGlzdGVuZXIgJiYgdy5yZW1vdmVFdmVudExpc3RlbmVyKCdwJywgbm9vcCwgZmFsc2UpO1xuXG5leHBvcnQgY29uc3Qgc3VwcG9ydHNQYXNzaXZlRXZlbnRzOiBib29sZWFuID0gcGFzc2l2ZU9wdGlvbkFjY2Vzc2VkO1xuXG4vKipcbiAqIEhlbHBlciBjbGFzcyB0byBhdHRhY2ggZXZlbnQgbGlzdGVuZXJzIHRvIERPTSBlbGVtZW50cyB3aXRoIGRlYm91bmNlIHN1cHBvcnQgdXNpbmcgcnhqc1xuICovXG5leHBvcnQgY2xhc3MgRXZlbnRMaXN0ZW5lckhlbHBlciB7XG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgcmVuZGVyZXI6IFJlbmRlcmVyMikge1xuICB9XG5cbiAgcHVibGljIGF0dGFjaFBhc3NpdmVFdmVudExpc3RlbmVyKG5hdGl2ZUVsZW1lbnQ6IGFueSwgZXZlbnROYW1lOiBzdHJpbmcsIGNhbGxiYWNrOiAoZXZlbnQ6IGFueSkgPT4gdm9pZCxcbiAgICAgIHRocm90dGxlSW50ZXJ2YWw/OiBudW1iZXIpOiBFdmVudExpc3RlbmVyIHtcbiAgICAvLyBPbmx5IHVzZSBwYXNzaXZlIGV2ZW50IGxpc3RlbmVycyBpZiB0aGUgYnJvd3NlciBzdXBwb3J0cyBpdFxuICAgIGlmIChzdXBwb3J0c1Bhc3NpdmVFdmVudHMgIT09IHRydWUpIHtcbiAgICAgIHJldHVybiB0aGlzLmF0dGFjaEV2ZW50TGlzdGVuZXIobmF0aXZlRWxlbWVudCwgZXZlbnROYW1lLCBjYWxsYmFjaywgdGhyb3R0bGVJbnRlcnZhbCk7XG4gICAgfVxuXG4gICAgLy8gQW5ndWxhciBkb2Vzbid0IHN1cHBvcnQgcGFzc2l2ZSBldmVudCBoYW5kbGVycyAoeWV0KSwgc28gd2UgbmVlZCB0byByb2xsIG91ciBvd24gY29kZSB1c2luZyBuYXRpdmUgZnVuY3Rpb25zXG4gICAgY29uc3QgbGlzdGVuZXI6IEV2ZW50TGlzdGVuZXIgPSBuZXcgRXZlbnRMaXN0ZW5lcigpO1xuICAgIGxpc3RlbmVyLmV2ZW50TmFtZSA9IGV2ZW50TmFtZTtcbiAgICBsaXN0ZW5lci5ldmVudHMgPSBuZXcgU3ViamVjdDxFdmVudD4oKTtcblxuICAgIGNvbnN0IG9ic2VydmVyQ2FsbGJhY2s6IChldmVudDogRXZlbnQpID0+IHZvaWQgPSAoZXZlbnQ6IEV2ZW50KTogdm9pZCA9PiB7XG4gICAgICBsaXN0ZW5lci5ldmVudHM/Lm5leHQoZXZlbnQpO1xuICAgIH07XG4gICAgbmF0aXZlRWxlbWVudC5hZGRFdmVudExpc3RlbmVyKGV2ZW50TmFtZSwgb2JzZXJ2ZXJDYWxsYmFjaywge3Bhc3NpdmU6IHRydWUsIGNhcHR1cmU6IGZhbHNlfSk7XG5cbiAgICBsaXN0ZW5lci50ZWFyZG93bkNhbGxiYWNrID0gKCk6IHZvaWQgPT4ge1xuICAgICAgbmF0aXZlRWxlbWVudC5yZW1vdmVFdmVudExpc3RlbmVyKGV2ZW50TmFtZSwgb2JzZXJ2ZXJDYWxsYmFjaywge3Bhc3NpdmU6IHRydWUsIGNhcHR1cmU6IGZhbHNlfSk7XG4gICAgfTtcblxuICAgIGxpc3RlbmVyLmV2ZW50c1N1YnNjcmlwdGlvbiA9IGxpc3RlbmVyLmV2ZW50c1xuICAgICAgLnBpcGUoKCFWYWx1ZUhlbHBlci5pc051bGxPclVuZGVmaW5lZCh0aHJvdHRsZUludGVydmFsKSlcbiAgICAgICAgPyB0aHJvdHRsZVRpbWUodGhyb3R0bGVJbnRlcnZhbCEsIHVuZGVmaW5lZCwgeyBsZWFkaW5nOiB0cnVlLCB0cmFpbGluZzogdHJ1ZX0pXG4gICAgICAgIDogdGFwKCgpID0+IHt9KSAvLyBuby1vcFxuICAgICAgKVxuICAgICAgLnN1YnNjcmliZSgoZXZlbnQ6IEV2ZW50KSA9PiB7XG4gICAgICAgIGNhbGxiYWNrKGV2ZW50KTtcbiAgICAgIH0pO1xuXG4gICAgcmV0dXJuIGxpc3RlbmVyO1xuICB9XG5cbiAgcHVibGljIGRldGFjaEV2ZW50TGlzdGVuZXIoZXZlbnRMaXN0ZW5lcjogRXZlbnRMaXN0ZW5lcik6IHZvaWQge1xuICAgIGlmICghVmFsdWVIZWxwZXIuaXNOdWxsT3JVbmRlZmluZWQoZXZlbnRMaXN0ZW5lci5ldmVudHNTdWJzY3JpcHRpb24pKSB7XG4gICAgICBldmVudExpc3RlbmVyLmV2ZW50c1N1YnNjcmlwdGlvbj8udW5zdWJzY3JpYmUoKTtcbiAgICB9XG5cbiAgICBpZiAoIVZhbHVlSGVscGVyLmlzTnVsbE9yVW5kZWZpbmVkKGV2ZW50TGlzdGVuZXIuZXZlbnRzKSkge1xuICAgICAgZXZlbnRMaXN0ZW5lci5ldmVudHM/LmNvbXBsZXRlKCk7XG4gICAgfVxuXG4gICAgaWYgKCFWYWx1ZUhlbHBlci5pc051bGxPclVuZGVmaW5lZChldmVudExpc3RlbmVyLnRlYXJkb3duQ2FsbGJhY2spKSB7XG4gICAgICBldmVudExpc3RlbmVyLnRlYXJkb3duQ2FsbGJhY2s/LigpO1xuICAgIH1cbiAgfVxuXG4gIHB1YmxpYyBhdHRhY2hFdmVudExpc3RlbmVyKG5hdGl2ZUVsZW1lbnQ6IGFueSwgZXZlbnROYW1lOiBzdHJpbmcsIGNhbGxiYWNrOiAoZXZlbnQ6IGFueSkgPT4gdm9pZCxcbiAgICAgIHRocm90dGxlSW50ZXJ2YWw/OiBudW1iZXIpOiBFdmVudExpc3RlbmVyIHtcbiAgICBjb25zdCBsaXN0ZW5lcjogRXZlbnRMaXN0ZW5lciA9IG5ldyBFdmVudExpc3RlbmVyKCk7XG4gICAgbGlzdGVuZXIuZXZlbnROYW1lID0gZXZlbnROYW1lO1xuICAgIGxpc3RlbmVyLmV2ZW50cyA9IG5ldyBTdWJqZWN0PEV2ZW50PigpO1xuXG4gICAgY29uc3Qgb2JzZXJ2ZXJDYWxsYmFjazogKGV2ZW50OiBFdmVudCkgPT4gdm9pZCA9IChldmVudDogRXZlbnQpOiB2b2lkID0+IHtcbiAgICAgIGxpc3RlbmVyLmV2ZW50cz8ubmV4dChldmVudCk7XG4gICAgfTtcblxuICAgIGxpc3RlbmVyLnRlYXJkb3duQ2FsbGJhY2sgPSB0aGlzLnJlbmRlcmVyLmxpc3RlbihuYXRpdmVFbGVtZW50LCBldmVudE5hbWUsIG9ic2VydmVyQ2FsbGJhY2spO1xuXG4gICAgbGlzdGVuZXIuZXZlbnRzU3Vic2NyaXB0aW9uID0gbGlzdGVuZXIuZXZlbnRzXG4gICAgICAucGlwZSgoIVZhbHVlSGVscGVyLmlzTnVsbE9yVW5kZWZpbmVkKHRocm90dGxlSW50ZXJ2YWwpKVxuICAgICAgICAgID8gdGhyb3R0bGVUaW1lKHRocm90dGxlSW50ZXJ2YWwhLCB1bmRlZmluZWQsIHsgbGVhZGluZzogdHJ1ZSwgdHJhaWxpbmc6IHRydWV9KVxuICAgICAgICAgIDogdGFwKCgpID0+IHt9KSAvLyBuby1vcFxuICAgICAgKVxuICAgICAgLnN1YnNjcmliZSgoZXZlbnQ6IEV2ZW50KSA9PiB7IGNhbGxiYWNrKGV2ZW50KTsgfSk7XG5cbiAgICByZXR1cm4gbGlzdGVuZXI7XG4gIH1cbn0iXX0=
@@ -0,0 +1,3 @@
1
+ export class EventListener {
2
+ }
3
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXZlbnQtbGlzdGVuZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9kZXNpZ24tZmFjdG9yeS9zcmMvbGliL2FuZ3VsYXIvc2xpZGVyL2xpYi9ldmVudC1saXN0ZW5lci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFFQSxNQUFNLE9BQU8sYUFBYTtDQUt6QiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFN1YmplY3QsIFN1YnNjcmlwdGlvbiB9IGZyb20gJ3J4anMnO1xuXG5leHBvcnQgY2xhc3MgRXZlbnRMaXN0ZW5lciB7XG4gIGV2ZW50TmFtZT86IHN0cmluZztcbiAgZXZlbnRzPzogU3ViamVjdDxFdmVudD47XG4gIGV2ZW50c1N1YnNjcmlwdGlvbj86IFN1YnNjcmlwdGlvbjtcbiAgdGVhcmRvd25DYWxsYmFjaz86ICgpID0+IHZvaWQ7XG59Il19
@@ -0,0 +1,15 @@
1
+ /** Helper with mathematical functions */
2
+ export class MathHelper {
3
+ /* Round numbers to a given number of significant digits */
4
+ static roundToPrecisionLimit(value, precisionLimit) {
5
+ return +(value.toPrecision(precisionLimit));
6
+ }
7
+ static isModuloWithinPrecisionLimit(value, modulo, precisionLimit) {
8
+ const limit = Math.pow(10, -precisionLimit);
9
+ return Math.abs(value % modulo) <= limit || Math.abs(Math.abs(value % modulo) - modulo) <= limit;
10
+ }
11
+ static clampToRange(value, floor, ceil) {
12
+ return Math.min(Math.max(value, floor), ceil);
13
+ }
14
+ }
15
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWF0aC1oZWxwZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9kZXNpZ24tZmFjdG9yeS9zcmMvbGliL2FuZ3VsYXIvc2xpZGVyL2xpYi9tYXRoLWhlbHBlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSx5Q0FBeUM7QUFDekMsTUFBTSxPQUFPLFVBQVU7SUFDckIsMkRBQTJEO0lBQzNELE1BQU0sQ0FBQyxxQkFBcUIsQ0FBQyxLQUFhLEVBQUUsY0FBc0I7UUFDaEUsT0FBTyxDQUFDLENBQUUsS0FBSyxDQUFDLFdBQVcsQ0FBQyxjQUFjLENBQUMsQ0FBRSxDQUFDO0lBQ2hELENBQUM7SUFFRCxNQUFNLENBQUMsNEJBQTRCLENBQUMsS0FBYSxFQUFFLE1BQWMsRUFBRSxjQUFzQjtRQUN2RixNQUFNLEtBQUssR0FBVyxJQUFJLENBQUMsR0FBRyxDQUFDLEVBQUUsRUFBRSxDQUFDLGNBQWMsQ0FBQyxDQUFDO1FBQ3BELE9BQU8sSUFBSSxDQUFDLEdBQUcsQ0FBQyxLQUFLLEdBQUcsTUFBTSxDQUFDLElBQUksS0FBSyxJQUFJLElBQUksQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxLQUFLLEdBQUcsTUFBTSxDQUFDLEdBQUcsTUFBTSxDQUFDLElBQUksS0FBSyxDQUFDO0lBQ25HLENBQUM7SUFFRCxNQUFNLENBQUMsWUFBWSxDQUFDLEtBQWEsRUFBRSxLQUFhLEVBQUUsSUFBWTtRQUM1RCxPQUFPLElBQUksQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxLQUFLLEVBQUUsS0FBSyxDQUFDLEVBQUUsSUFBSSxDQUFDLENBQUM7SUFDaEQsQ0FBQztDQUNGIiwic291cmNlc0NvbnRlbnQiOlsiLyoqIEhlbHBlciB3aXRoIG1hdGhlbWF0aWNhbCBmdW5jdGlvbnMgKi9cbmV4cG9ydCBjbGFzcyBNYXRoSGVscGVyIHtcbiAgLyogUm91bmQgbnVtYmVycyB0byBhIGdpdmVuIG51bWJlciBvZiBzaWduaWZpY2FudCBkaWdpdHMgKi9cbiAgc3RhdGljIHJvdW5kVG9QcmVjaXNpb25MaW1pdCh2YWx1ZTogbnVtYmVyLCBwcmVjaXNpb25MaW1pdDogbnVtYmVyKTogbnVtYmVyIHtcbiAgICByZXR1cm4gKyggdmFsdWUudG9QcmVjaXNpb24ocHJlY2lzaW9uTGltaXQpICk7XG4gIH1cblxuICBzdGF0aWMgaXNNb2R1bG9XaXRoaW5QcmVjaXNpb25MaW1pdCh2YWx1ZTogbnVtYmVyLCBtb2R1bG86IG51bWJlciwgcHJlY2lzaW9uTGltaXQ6IG51bWJlcik6IGJvb2xlYW4ge1xuICAgIGNvbnN0IGxpbWl0OiBudW1iZXIgPSBNYXRoLnBvdygxMCwgLXByZWNpc2lvbkxpbWl0KTtcbiAgICByZXR1cm4gTWF0aC5hYnModmFsdWUgJSBtb2R1bG8pIDw9IGxpbWl0IHx8IE1hdGguYWJzKE1hdGguYWJzKHZhbHVlICUgbW9kdWxvKSAtIG1vZHVsbykgPD0gbGltaXQ7XG4gIH1cblxuICBzdGF0aWMgY2xhbXBUb1JhbmdlKHZhbHVlOiBudW1iZXIsIGZsb29yOiBudW1iZXIsIGNlaWw6IG51bWJlcik6IG51bWJlciB7XG4gICAgcmV0dXJuIE1hdGgubWluKE1hdGgubWF4KHZhbHVlLCBmbG9vciksIGNlaWwpO1xuICB9XG59Il19
@@ -0,0 +1,123 @@
1
+ /** Label type */
2
+ export var LabelType;
3
+ (function (LabelType) {
4
+ /** Label above low pointer */
5
+ LabelType[LabelType["Low"] = 0] = "Low";
6
+ /** Label above high pointer */
7
+ LabelType[LabelType["High"] = 1] = "High";
8
+ /** Label for minimum slider value */
9
+ LabelType[LabelType["Floor"] = 2] = "Floor";
10
+ /** Label for maximum slider value */
11
+ LabelType[LabelType["Ceil"] = 3] = "Ceil";
12
+ /** Label below legend tick */
13
+ LabelType[LabelType["TickValue"] = 4] = "TickValue";
14
+ })(LabelType || (LabelType = {}));
15
+ /** Slider options */
16
+ export class Options {
17
+ constructor() {
18
+ /** Minimum value for a slider.
19
+ Not applicable when using stepsArray. */
20
+ this.floor = 0;
21
+ /** Step between each value.
22
+ Not applicable when using stepsArray. */
23
+ this.step = 1;
24
+ /** Set to true to have a push behavior. When the min handle goes above the max,
25
+ the max is moved as well (and vice-versa). The range between min and max is
26
+ defined by the step option (defaults to 1) and can also be overriden by
27
+ the minRange option. Applies to range slider only. */
28
+ this.pushRange = false;
29
+ /** Set to true to bind the index of the selected item to value model and valueHigh model. */
30
+ this.bindIndexForStepsArray = false;
31
+ /** When set to true and using a range slider, the range can be dragged by the selection bar.
32
+ Applies to range slider only. */
33
+ this.draggableRange = false;
34
+ /** Same as draggableRange but the slider range can't be changed.
35
+ Applies to range slider only. */
36
+ this.draggableRangeOnly = false;
37
+ /** Set to true to always show the selection bar before the slider handle. */
38
+ this.showSelectionBar = false;
39
+ /** Set to true to always show the selection bar after the slider handle. */
40
+ this.showSelectionBarEnd = false;
41
+ /** Only for range slider. Set to true to visualize in different colour the areas
42
+ on the left/right (top/bottom for vertical range slider) of selection bar between the handles. */
43
+ this.showOuterSelectionBars = false;
44
+ /** Set to true to hide pointer labels */
45
+ this.hidePointerLabels = false;
46
+ /** Set to true to hide min / max labels */
47
+ this.hideLimitLabels = false;
48
+ /** Set to false to disable the auto-hiding behavior of the limit labels. */
49
+ this.autoHideLimitLabels = true;
50
+ /** Set to true to make the slider read-only. */
51
+ this.readOnly = false;
52
+ /** Set to true to disable the slider. */
53
+ this.disabled = false;
54
+ /** Set to true to display a tick for each step of the slider. */
55
+ this.showTicks = false;
56
+ /** Set to true to display a tick and the step value for each step of the slider.. */
57
+ this.showTicksValues = false;
58
+ /** Set to true to display the slider vertically.
59
+ The slider will take the full height of its parent.
60
+ Changing this value at runtime is not currently supported. */
61
+ this.vertical = false;
62
+ /** Handles are focusable (on click or with tab) and can be modified using the following keyboard controls:
63
+ Left/bottom arrows: -1
64
+ Right/top arrows: +1
65
+ Page-down: -10%
66
+ Page-up: +10%
67
+ Home: minimum value
68
+ End: maximum value
69
+ */
70
+ this.keyboardSupport = true;
71
+ /** If you display the slider in an element that uses transform: scale(0.5), set the scale value to 2
72
+ so that the slider is rendered properly and the events are handled correctly. */
73
+ this.scale = 1;
74
+ /** If you display the slider in an element that uses transform: rotate(90deg), set the rotate value to 90
75
+ so that the slider is rendered properly and the events are handled correctly. Value is in degrees. */
76
+ this.rotate = 0;
77
+ /** Set to true to force the value(s) to be rounded to the step, even when modified from the outside.
78
+ When set to false, if the model values are modified from outside the slider, they are not rounded
79
+ and can be between two steps. */
80
+ this.enforceStep = true;
81
+ /** Set to true to force the value(s) to be normalised to allowed range (floor to ceil), even when modified from the outside.
82
+ When set to false, if the model values are modified from outside the slider, and they are outside allowed range,
83
+ the slider may be rendered incorrectly. However, setting this to false may be useful if you want to perform custom normalisation. */
84
+ this.enforceRange = true;
85
+ /** Set to true to force the value(s) to be rounded to the nearest step value, even when modified from the outside.
86
+ When set to false, if the model values are modified from outside the slider, and they are outside allowed range,
87
+ the slider may be rendered incorrectly. However, setting this to false may be useful if you want to perform custom normalisation. */
88
+ this.enforceStepsArray = true;
89
+ /** Set to true to prevent to user from switching the min and max handles. Applies to range slider only. */
90
+ this.noSwitching = false;
91
+ /** Set to true to only bind events on slider handles. */
92
+ this.onlyBindHandles = false;
93
+ /** Set to true to show graphs right to left.
94
+ If vertical is true it will be from top to bottom and left / right arrow functions reversed. */
95
+ this.rightToLeft = false;
96
+ /** Set to true to reverse keyboard navigation:
97
+ Right/top arrows: -1
98
+ Left/bottom arrows: +1
99
+ Page-up: -10%
100
+ Page-down: +10%
101
+ End: minimum value
102
+ Home: maximum value
103
+ */
104
+ this.reversedControls = false;
105
+ /** Set to true to keep the slider labels inside the slider bounds. */
106
+ this.boundPointerLabels = true;
107
+ /** Set to true to use a logarithmic scale to display the slider. */
108
+ this.logScale = false;
109
+ /** Precision limit for calculated values.
110
+ Values used in calculations will be rounded to this number of significant digits
111
+ to prevent accumulating small floating-point errors. */
112
+ this.precisionLimit = 12;
113
+ /** Use to add a label directly to the slider for accessibility. Adds the aria-label attribute. */
114
+ this.ariaLabel = 'ngx-slider';
115
+ /** Use to add a label directly to the slider range for accessibility. Adds the aria-label attribute. */
116
+ this.ariaLabelHigh = 'ngx-slider-max';
117
+ /** Enable/disable CSS animations */
118
+ this.animate = true;
119
+ /** Enable/disable CSS animations while moving the slider */
120
+ this.animateOnMove = false;
121
+ }
122
+ }
123
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib3B0aW9ucy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2Rlc2lnbi1mYWN0b3J5L3NyYy9saWIvYW5ndWxhci9zbGlkZXIvbGliL29wdGlvbnMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBRUEsaUJBQWlCO0FBQ2pCLE1BQU0sQ0FBTixJQUFZLFNBV1g7QUFYRCxXQUFZLFNBQVM7SUFDbkIsOEJBQThCO0lBQzlCLHVDQUFHLENBQUE7SUFDSCwrQkFBK0I7SUFDL0IseUNBQUksQ0FBQTtJQUNKLHFDQUFxQztJQUNyQywyQ0FBSyxDQUFBO0lBQ0wscUNBQXFDO0lBQ3JDLHlDQUFJLENBQUE7SUFDSiw4QkFBOEI7SUFDOUIsbURBQVMsQ0FBQTtBQUNYLENBQUMsRUFYVyxTQUFTLEtBQVQsU0FBUyxRQVdwQjtBQTRCRCxxQkFBcUI7QUFDckIsTUFBTSxPQUFPLE9BQU87SUFBcEI7UUFDRTtrREFDMEM7UUFDMUMsVUFBSyxHQUFZLENBQUMsQ0FBQztRQU1uQjtrREFDMEM7UUFDMUMsU0FBSSxHQUFZLENBQUMsQ0FBQztRQVlsQjs7OytEQUd1RDtRQUN2RCxjQUFTLEdBQWEsS0FBSyxDQUFDO1FBMEM1Qiw2RkFBNkY7UUFDN0YsMkJBQXNCLEdBQWEsS0FBSyxDQUFDO1FBRXpDOzBDQUNrQztRQUNsQyxtQkFBYyxHQUFhLEtBQUssQ0FBQztRQUVqQzswQ0FDa0M7UUFDbEMsdUJBQWtCLEdBQWEsS0FBSyxDQUFDO1FBRXJDLDZFQUE2RTtRQUM3RSxxQkFBZ0IsR0FBYSxLQUFLLENBQUM7UUFFbkMsNEVBQTRFO1FBQzVFLHdCQUFtQixHQUFhLEtBQUssQ0FBQztRQU10QzsyR0FDbUc7UUFDbkcsMkJBQXNCLEdBQWEsS0FBSyxDQUFDO1FBRXpDLHlDQUF5QztRQUN6QyxzQkFBaUIsR0FBYSxLQUFLLENBQUM7UUFFcEMsNENBQTRDO1FBQzVDLG9CQUFlLEdBQWEsS0FBSyxDQUFDO1FBRWxDLDRFQUE0RTtRQUM1RSx3QkFBbUIsR0FBYSxJQUFJLENBQUM7UUFFckMsZ0RBQWdEO1FBQ2hELGFBQVEsR0FBYSxLQUFLLENBQUM7UUFFM0IseUNBQXlDO1FBQ3pDLGFBQVEsR0FBYSxLQUFLLENBQUM7UUFFM0IsaUVBQWlFO1FBQ2pFLGNBQVMsR0FBYSxLQUFLLENBQUM7UUFFNUIscUZBQXFGO1FBQ3JGLG9CQUFlLEdBQWEsS0FBSyxDQUFDO1FBc0JsQzs7dUVBRStEO1FBQy9ELGFBQVEsR0FBYSxLQUFLLENBQUM7UUFzQjNCOzs7Ozs7O1dBT0c7UUFDSCxvQkFBZSxHQUFhLElBQUksQ0FBQztRQUVqQzswRkFDa0Y7UUFDbEYsVUFBSyxHQUFZLENBQUMsQ0FBQztRQUVuQjs4R0FDc0c7UUFDdEcsV0FBTSxHQUFZLENBQUMsQ0FBQztRQUVwQjs7MENBRWtDO1FBQ2xDLGdCQUFXLEdBQWEsSUFBSSxDQUFDO1FBRTdCOzs4SUFFc0k7UUFDdEksaUJBQVksR0FBYSxJQUFJLENBQUM7UUFFOUI7OzhJQUVzSTtRQUN0SSxzQkFBaUIsR0FBYSxJQUFJLENBQUM7UUFFbkMsMkdBQTJHO1FBQzNHLGdCQUFXLEdBQWEsS0FBSyxDQUFDO1FBRTlCLHlEQUF5RDtRQUN6RCxvQkFBZSxHQUFhLEtBQUssQ0FBQztRQUVsQzt5R0FDaUc7UUFDakcsZ0JBQVcsR0FBYSxLQUFLLENBQUM7UUFFOUI7Ozs7Ozs7V0FPRztRQUNILHFCQUFnQixHQUFhLEtBQUssQ0FBQztRQUVuQyxzRUFBc0U7UUFDdEUsdUJBQWtCLEdBQWEsSUFBSSxDQUFDO1FBRXBDLHFFQUFxRTtRQUNyRSxhQUFRLEdBQWEsS0FBSyxDQUFDO1FBWTNCOztpRUFFeUQ7UUFDekQsbUJBQWMsR0FBWSxFQUFFLENBQUM7UUFNN0Isa0dBQWtHO1FBQ2xHLGNBQVMsR0FBWSxZQUFZLENBQUM7UUFNbEMsd0dBQXdHO1FBQ3hHLGtCQUFhLEdBQVksZ0JBQWdCLENBQUM7UUFZMUMsb0NBQW9DO1FBQ3BDLFlBQU8sR0FBYSxJQUFJLENBQUM7UUFFekIsNERBQTREO1FBQzVELGtCQUFhLEdBQWEsS0FBSyxDQUFDO0lBQ2xDLENBQUM7Q0FBQSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFBvaW50ZXJUeXBlIH0gZnJvbSAnLi9wb2ludGVyLXR5cGUnO1xuXG4vKiogTGFiZWwgdHlwZSAqL1xuZXhwb3J0IGVudW0gTGFiZWxUeXBlIHtcbiAgLyoqIExhYmVsIGFib3ZlIGxvdyBwb2ludGVyICovXG4gIExvdyxcbiAgLyoqIExhYmVsIGFib3ZlIGhpZ2ggcG9pbnRlciAqL1xuICBIaWdoLFxuICAvKiogTGFiZWwgZm9yIG1pbmltdW0gc2xpZGVyIHZhbHVlICovXG4gIEZsb29yLFxuICAvKiogTGFiZWwgZm9yIG1heGltdW0gc2xpZGVyIHZhbHVlICovXG4gIENlaWwsXG4gIC8qKiBMYWJlbCBiZWxvdyBsZWdlbmQgdGljayAqL1xuICBUaWNrVmFsdWVcbn1cblxuLyoqIEZ1bmN0aW9uIHRvIHRyYW5zbGF0ZSBsYWJlbCB2YWx1ZSBpbnRvIHRleHQgKi9cbmV4cG9ydCB0eXBlIFRyYW5zbGF0ZUZ1bmN0aW9uID0gKHZhbHVlOiBudW1iZXIsIGxhYmVsOiBMYWJlbFR5cGUpID0+IHN0cmluZztcbi8qKiBGdW5jdGlvbiB0byBjb21iaW5kICovXG5leHBvcnQgdHlwZSBDb21iaW5lTGFiZWxzRnVuY3Rpb24gPSAobWluTGFiZWw6IHN0cmluZywgbWF4TGFiZWw6IHN0cmluZykgPT4gc3RyaW5nO1xuLyoqIEZ1bmN0aW9uIHRvIHByb3ZpZGUgbGVnZW5kICAqL1xuZXhwb3J0IHR5cGUgR2V0TGVnZW5kRnVuY3Rpb24gPSAodmFsdWU6IG51bWJlcikgPT4gc3RyaW5nO1xuZXhwb3J0IHR5cGUgR2V0U3RlcExlZ2VuZEZ1bmN0aW9uID0gKHN0ZXA6IEN1c3RvbVN0ZXBEZWZpbml0aW9uKSA9PiBzdHJpbmc7XG5cbi8qKiBGdW5jdGlvbiBjb252ZXJ0aW5nIHNsaWRlciB2YWx1ZSB0byBzbGlkZXIgcG9zaXRpb24gKi9cbmV4cG9ydCB0eXBlIFZhbHVlVG9Qb3NpdGlvbkZ1bmN0aW9uID0gKHZhbDogbnVtYmVyLCBtaW5WYWw6IG51bWJlciwgbWF4VmFsOiBudW1iZXIpID0+IG51bWJlcjtcblxuLyoqIEZ1bmN0aW9uIGNvbnZlcnRpbmcgc2xpZGVyIHBvc2l0aW9uIHRvIHNsaWRlciB2YWx1ZSAqL1xuZXhwb3J0IHR5cGUgUG9zaXRpb25Ub1ZhbHVlRnVuY3Rpb24gPSAocGVyY2VudDogbnVtYmVyLCBtaW5WYWw6IG51bWJlciwgbWF4VmFsOiBudW1iZXIpID0+IG51bWJlcjtcblxuLyoqXG4gKiBDdXN0b20gc3RlcCBkZWZpbml0aW9uXG4gKlxuICogVGhpcyBjYW4gYmUgdXNlZCB0byBzcGVjaWZ5IGN1c3RvbSB2YWx1ZXMgYW5kIGxlZ2VuZCB2YWx1ZXMgZm9yIHNsaWRlciB0aWNrc1xuICovXG5leHBvcnQgaW50ZXJmYWNlIEN1c3RvbVN0ZXBEZWZpbml0aW9uIHtcbiAgLyoqIFZhbHVlICovXG4gIHZhbHVlOiBudW1iZXI7XG4gIC8qKiBMZWdlbmQgKGxhYmVsIGZvciB0aGUgdmFsdWUpICovXG4gIGxlZ2VuZD86IHN0cmluZztcbn1cblxuLyoqIFNsaWRlciBvcHRpb25zICovXG5leHBvcnQgY2xhc3MgT3B0aW9ucyB7XG4gIC8qKiBNaW5pbXVtIHZhbHVlIGZvciBhIHNsaWRlci5cbiAgICBOb3QgYXBwbGljYWJsZSB3aGVuIHVzaW5nIHN0ZXBzQXJyYXkuICovXG4gIGZsb29yPzogbnVtYmVyID0gMDtcblxuICAvKiogTWF4aW11bSB2YWx1ZSBmb3IgYSBzbGlkZXIuXG4gICAgTm90IGFwcGxpY2FibGUgd2hlbiB1c2luZyBzdGVwc0FycmF5LiAqL1xuICBjZWlsPzogbnVtYmVyO1xuXG4gIC8qKiBTdGVwIGJldHdlZW4gZWFjaCB2YWx1ZS5cbiAgICBOb3QgYXBwbGljYWJsZSB3aGVuIHVzaW5nIHN0ZXBzQXJyYXkuICovXG4gIHN0ZXA/OiBudW1iZXIgPSAxO1xuXG4gIC8qKiBUaGUgbWluaW11bSByYW5nZSBhdXRob3JpemVkIG9uIHRoZSBzbGlkZXIuXG4gICAgQXBwbGllcyB0byByYW5nZSBzbGlkZXIgb25seS5cbiAgICBXaGVuIHVzaW5nIHN0ZXBzQXJyYXksIGV4cHJlc3NlZCBhcyBpbmRleCBpbnRvIHN0ZXBzQXJyYXkuICovXG4gIG1pblJhbmdlPzogbnVtYmVyO1xuXG4gIC8qKiBUaGUgbWF4aW11bSByYW5nZSBhdXRob3JpemVkIG9uIHRoZSBzbGlkZXIuXG4gICAgQXBwbGllcyB0byByYW5nZSBzbGlkZXIgb25seS5cbiAgICBXaGVuIHVzaW5nIHN0ZXBzQXJyYXksIGV4cHJlc3NlZCBhcyBpbmRleCBpbnRvIHN0ZXBzQXJyYXkuICovXG4gIG1heFJhbmdlPzogbnVtYmVyO1xuXG4gIC8qKiBTZXQgdG8gdHJ1ZSB0byBoYXZlIGEgcHVzaCBiZWhhdmlvci4gV2hlbiB0aGUgbWluIGhhbmRsZSBnb2VzIGFib3ZlIHRoZSBtYXgsXG4gICAgdGhlIG1heCBpcyBtb3ZlZCBhcyB3ZWxsIChhbmQgdmljZS12ZXJzYSkuIFRoZSByYW5nZSBiZXR3ZWVuIG1pbiBhbmQgbWF4IGlzXG4gICAgZGVmaW5lZCBieSB0aGUgc3RlcCBvcHRpb24gKGRlZmF1bHRzIHRvIDEpIGFuZCBjYW4gYWxzbyBiZSBvdmVycmlkZW4gYnlcbiAgICB0aGUgbWluUmFuZ2Ugb3B0aW9uLiBBcHBsaWVzIHRvIHJhbmdlIHNsaWRlciBvbmx5LiAqL1xuICBwdXNoUmFuZ2U/OiBib29sZWFuID0gZmFsc2U7XG5cbiAgLyoqIFRoZSBtaW5pbXVtIHZhbHVlIGF1dGhvcml6ZWQgb24gdGhlIHNsaWRlci5cbiAgICBXaGVuIHVzaW5nIHN0ZXBzQXJyYXksIGV4cHJlc3NlZCBhcyBpbmRleCBpbnRvIHN0ZXBzQXJyYXkuICovXG4gIG1pbkxpbWl0PzogbnVtYmVyO1xuXG4gIC8qKiBUaGUgbWF4aW11bSB2YWx1ZSBhdXRob3JpemVkIG9uIHRoZSBzbGlkZXIuXG4gICAgV2hlbiB1c2luZyBzdGVwc0FycmF5LCBleHByZXNzZWQgYXMgaW5kZXggaW50byBzdGVwc0FycmF5LiAqL1xuICBtYXhMaW1pdD86IG51bWJlcjtcblxuICAvKiogQ3VzdG9tIHRyYW5zbGF0ZSBmdW5jdGlvbi4gVXNlIHRoaXMgaWYgeW91IHdhbnQgdG8gdHJhbnNsYXRlIHZhbHVlcyBkaXNwbGF5ZWRcbiAgICAgIG9uIHRoZSBzbGlkZXIuICovXG4gIHRyYW5zbGF0ZT86IFRyYW5zbGF0ZUZ1bmN0aW9uO1xuXG4gIC8qKiBDdXN0b20gZnVuY3Rpb24gZm9yIGNvbWJpbmluZyBvdmVybGFwcGluZyBsYWJlbHMgaW4gcmFuZ2Ugc2xpZGVyLlxuICAgICAgSXQgdGFrZXMgdGhlIG1pbiBhbmQgbWF4IHZhbHVlcyAoYWxyZWFkeSB0cmFuc2xhdGVkIHdpdGggdHJhbnNsYXRlIGZ1Y3Rpb24pXG4gICAgICBhbmQgc2hvdWxkIHJldHVybiBob3cgdGhlc2UgdHdvIHZhbHVlcyBzaG91bGQgYmUgY29tYmluZWQuXG4gICAgICBJZiBub3QgcHJvdmlkZWQsIHRoZSBkZWZhdWx0IGZ1bmN0aW9uIHdpbGwgam9pbiB0aGUgdHdvIHZhbHVlcyB3aXRoXG4gICAgICAnIC0gJyBhcyBzZXBhcmF0b3IuICovXG4gIGNvbWJpbmVMYWJlbHM/OiBDb21iaW5lTGFiZWxzRnVuY3Rpb247XG5cbiAgLyoqIFVzZSB0byBkaXNwbGF5IGxlZ2VuZCB1bmRlciB0aWNrcyAodGh1cywgaXQgbmVlZHMgdG8gYmUgdXNlZCBhbG9uZyB3aXRoXG4gICAgIHNob3dUaWNrcyBvciBzaG93VGlja3NWYWx1ZXMpLiBUaGUgZnVuY3Rpb24gd2lsbCBiZSBjYWxsZWQgd2l0aCBlYWNoIHRpY2tcbiAgICAgdmFsdWUgYW5kIHJldHVybmVkIGNvbnRlbnQgd2lsbCBiZSBkaXNwbGF5ZWQgdW5kZXIgdGhlIHRpY2sgYXMgYSBsZWdlbmQuXG4gICAgIElmIHRoZSByZXR1cm5lZCB2YWx1ZSBpcyBudWxsLCB0aGVuIG5vIGxlZ2VuZCBpcyBkaXNwbGF5ZWQgdW5kZXJcbiAgICAgdGhlIGNvcnJlc3BvbmRpbmcgdGljay5Zb3UgY2FuIGFsc28gZGlyZWN0bHkgcHJvdmlkZSB0aGUgbGVnZW5kIHZhbHVlc1xuICAgICBpbiB0aGUgc3RlcHNBcnJheSBvcHRpb24uICovXG4gIGdldExlZ2VuZD86IEdldExlZ2VuZEZ1bmN0aW9uO1xuXG4gICAvKiogVXNlIHRvIGRpc3BsYXkgYSBjdXN0b20gbGVnZW5kIG9mIGEgc3RlcEl0ZW0gZnJvbSBzdGVwc0FycmF5LlxuICAgIEl0IHdpbGwgYmUgdGhlIHNhbWUgYXMgZ2V0TGVnZW5kIGJ1dCBmb3Igc3RlcHNBcnJheS4gKi9cbiAgZ2V0U3RlcExlZ2VuZD86IEdldFN0ZXBMZWdlbmRGdW5jdGlvbjtcblxuICAvKiogSWYgeW91IHdhbnQgdG8gZGlzcGxheSBhIHNsaWRlciB3aXRoIG5vbiBsaW5lYXIvbnVtYmVyIHN0ZXBzLlxuICAgICBKdXN0IHBhc3MgYW4gYXJyYXkgd2l0aCBlYWNoIHNsaWRlciB2YWx1ZSBhbmQgdGhhdCdzIGl0OyB0aGUgZmxvb3IsIGNlaWwgYW5kIHN0ZXAgc2V0dGluZ3NcbiAgICAgb2YgdGhlIHNsaWRlciB3aWxsIGJlIGNvbXB1dGVkIGF1dG9tYXRpY2FsbHkuXG4gICAgIEJ5IGRlZmF1bHQsIHRoZSB2YWx1ZSBtb2RlbCBhbmQgdmFsdWVIaWdoIG1vZGVsIHZhbHVlcyB3aWxsIGJlIHRoZSB2YWx1ZSBvZiB0aGUgc2VsZWN0ZWQgaXRlbVxuICAgICBpbiB0aGUgc3RlcHNBcnJheS5cbiAgICAgVGhleSBjYW4gYWxzbyBiZSBib3VuZCB0byB0aGUgaW5kZXggb2YgdGhlIHNlbGVjdGVkIGl0ZW0gYnkgc2V0dGluZyB0aGUgYmluZEluZGV4Rm9yU3RlcHNBcnJheVxuICAgICBvcHRpb24gdG8gdHJ1ZS4gKi9cbiAgc3RlcHNBcnJheT86IEN1c3RvbVN0ZXBEZWZpbml0aW9uW107XG5cbiAgLyoqIFNldCB0byB0cnVlIHRvIGJpbmQgdGhlIGluZGV4IG9mIHRoZSBzZWxlY3RlZCBpdGVtIHRvIHZhbHVlIG1vZGVsIGFuZCB2YWx1ZUhpZ2ggbW9kZWwuICovXG4gIGJpbmRJbmRleEZvclN0ZXBzQXJyYXk/OiBib29sZWFuID0gZmFsc2U7XG5cbiAgLyoqIFdoZW4gc2V0IHRvIHRydWUgYW5kIHVzaW5nIGEgcmFuZ2Ugc2xpZGVyLCB0aGUgcmFuZ2UgY2FuIGJlIGRyYWdnZWQgYnkgdGhlIHNlbGVjdGlvbiBiYXIuXG4gICAgQXBwbGllcyB0byByYW5nZSBzbGlkZXIgb25seS4gKi9cbiAgZHJhZ2dhYmxlUmFuZ2U/OiBib29sZWFuID0gZmFsc2U7XG5cbiAgLyoqIFNhbWUgYXMgZHJhZ2dhYmxlUmFuZ2UgYnV0IHRoZSBzbGlkZXIgcmFuZ2UgY2FuJ3QgYmUgY2hhbmdlZC5cbiAgICBBcHBsaWVzIHRvIHJhbmdlIHNsaWRlciBvbmx5LiAqL1xuICBkcmFnZ2FibGVSYW5nZU9ubHk/OiBib29sZWFuID0gZmFsc2U7XG5cbiAgLyoqIFNldCB0byB0cnVlIHRvIGFsd2F5cyBzaG93IHRoZSBzZWxlY3Rpb24gYmFyIGJlZm9yZSB0aGUgc2xpZGVyIGhhbmRsZS4gKi9cbiAgc2hvd1NlbGVjdGlvbkJhcj86IGJvb2xlYW4gPSBmYWxzZTtcblxuICAvKiogU2V0IHRvIHRydWUgdG8gYWx3YXlzIHNob3cgdGhlIHNlbGVjdGlvbiBiYXIgYWZ0ZXIgdGhlIHNsaWRlciBoYW5kbGUuICovXG4gIHNob3dTZWxlY3Rpb25CYXJFbmQ/OiBib29sZWFuID0gZmFsc2U7XG5cbiAgLyoqICBTZXQgYSBudW1iZXIgdG8gZHJhdyB0aGUgc2VsZWN0aW9uIGJhciBiZXR3ZWVuIHRoaXMgdmFsdWUgYW5kIHRoZSBzbGlkZXIgaGFuZGxlLlxuICAgIFdoZW4gdXNpbmcgc3RlcHNBcnJheSwgZXhwcmVzc2VkIGFzIGluZGV4IGludG8gc3RlcHNBcnJheS4gKi9cbiAgc2hvd1NlbGVjdGlvbkJhckZyb21WYWx1ZT86IG51bWJlcjtcblxuICAvKiogIE9ubHkgZm9yIHJhbmdlIHNsaWRlci4gU2V0IHRvIHRydWUgdG8gdmlzdWFsaXplIGluIGRpZmZlcmVudCBjb2xvdXIgdGhlIGFyZWFzXG4gICAgb24gdGhlIGxlZnQvcmlnaHQgKHRvcC9ib3R0b20gZm9yIHZlcnRpY2FsIHJhbmdlIHNsaWRlcikgb2Ygc2VsZWN0aW9uIGJhciBiZXR3ZWVuIHRoZSBoYW5kbGVzLiAqL1xuICBzaG93T3V0ZXJTZWxlY3Rpb25CYXJzPzogYm9vbGVhbiA9IGZhbHNlO1xuXG4gIC8qKiBTZXQgdG8gdHJ1ZSB0byBoaWRlIHBvaW50ZXIgbGFiZWxzICovXG4gIGhpZGVQb2ludGVyTGFiZWxzPzogYm9vbGVhbiA9IGZhbHNlO1xuXG4gIC8qKiBTZXQgdG8gdHJ1ZSB0byBoaWRlIG1pbiAvIG1heCBsYWJlbHMgICovXG4gIGhpZGVMaW1pdExhYmVscz86IGJvb2xlYW4gPSBmYWxzZTtcblxuICAvKiogU2V0IHRvIGZhbHNlIHRvIGRpc2FibGUgdGhlIGF1dG8taGlkaW5nIGJlaGF2aW9yIG9mIHRoZSBsaW1pdCBsYWJlbHMuICovXG4gIGF1dG9IaWRlTGltaXRMYWJlbHM/OiBib29sZWFuID0gdHJ1ZTtcblxuICAvKiogU2V0IHRvIHRydWUgdG8gbWFrZSB0aGUgc2xpZGVyIHJlYWQtb25seS4gKi9cbiAgcmVhZE9ubHk/OiBib29sZWFuID0gZmFsc2U7XG5cbiAgLyoqIFNldCB0byB0cnVlIHRvIGRpc2FibGUgdGhlIHNsaWRlci4gKi9cbiAgZGlzYWJsZWQ/OiBib29sZWFuID0gZmFsc2U7XG5cbiAgLyoqIFNldCB0byB0cnVlIHRvIGRpc3BsYXkgYSB0aWNrIGZvciBlYWNoIHN0ZXAgb2YgdGhlIHNsaWRlci4gKi9cbiAgc2hvd1RpY2tzPzogYm9vbGVhbiA9IGZhbHNlO1xuXG4gIC8qKiBTZXQgdG8gdHJ1ZSB0byBkaXNwbGF5IGEgdGljayBhbmQgdGhlIHN0ZXAgdmFsdWUgZm9yIGVhY2ggc3RlcCBvZiB0aGUgc2xpZGVyLi4gKi9cbiAgc2hvd1RpY2tzVmFsdWVzPzogYm9vbGVhbiA9IGZhbHNlO1xuXG4gIC8qIFRoZSBzdGVwIGJldHdlZW4gZWFjaCB0aWNrIHRvIGRpc3BsYXkuIElmIG5vdCBzZXQsIHRoZSBzdGVwIHZhbHVlIGlzIHVzZWQuXG4gICAgTm90IHVzZWQgd2hlbiB0aWNrc0FycmF5IGlzIHNwZWNpZmllZC4gKi9cbiAgdGlja1N0ZXA/OiBudW1iZXI7XG5cbiAgLyogVGhlIHN0ZXAgYmV0d2VlbiBkaXNwbGF5aW5nIGVhY2ggdGljayBzdGVwIHZhbHVlLlxuICAgIElmIG5vdCBzZXQsIHRoZW4gdGlja1N0ZXAgb3Igc3RlcCBpcyB1c2VkLCBkZXBlbmRpbmcgb24gd2hpY2ggb25lIGlzIHNldC4gKi9cbiAgdGlja1ZhbHVlU3RlcD86IG51bWJlcjtcblxuICAvKiogVXNlIHRvIGRpc3BsYXkgdGlja3MgYXQgc3BlY2lmaWMgcG9zaXRpb25zLlxuICAgIFRoZSBhcnJheSBjb250YWlucyB0aGUgaW5kZXggb2YgdGhlIHRpY2tzIHRoYXQgc2hvdWxkIGJlIGRpc3BsYXllZC5cbiAgICBGb3IgZXhhbXBsZSwgWzAsIDEsIDVdIHdpbGwgZGlzcGxheSBhIHRpY2sgZm9yIHRoZSBmaXJzdCwgc2Vjb25kIGFuZCBzaXh0aCB2YWx1ZXMuICovXG4gIHRpY2tzQXJyYXk/OiBudW1iZXJbXTtcblxuICAvKiogVXNlZCB0byBkaXNwbGF5IGEgdG9vbHRpcCB3aGVuIGEgdGljayBpcyBob3ZlcmVkLlxuICAgIFNldCB0byBhIGZ1bmN0aW9uIHRoYXQgcmV0dXJucyB0aGUgdG9vbHRpcCBjb250ZW50IGZvciBhIGdpdmVuIHZhbHVlLiAqL1xuICB0aWNrc1Rvb2x0aXA/OiAodmFsdWU6IG51bWJlcikgPT4gc3RyaW5nO1xuXG4gIC8qKiBTYW1lIGFzIHRpY2tzVG9vbHRpcCBidXQgZm9yIHRpY2tzIHZhbHVlcy4gKi9cbiAgdGlja3NWYWx1ZXNUb29sdGlwPzogKHZhbHVlOiBudW1iZXIpID0+IHN0cmluZztcblxuICAvKiogU2V0IHRvIHRydWUgdG8gZGlzcGxheSB0aGUgc2xpZGVyIHZlcnRpY2FsbHkuXG4gICAgVGhlIHNsaWRlciB3aWxsIHRha2UgdGhlIGZ1bGwgaGVpZ2h0IG9mIGl0cyBwYXJlbnQuXG4gICAgQ2hhbmdpbmcgdGhpcyB2YWx1ZSBhdCBydW50aW1lIGlzIG5vdCBjdXJyZW50bHkgc3VwcG9ydGVkLiAqL1xuICB2ZXJ0aWNhbD86IGJvb2xlYW4gPSBmYWxzZTtcblxuICAvKiogRnVuY3Rpb24gdGhhdCByZXR1cm5zIHRoZSBjdXJyZW50IGNvbG9yIG9mIHRoZSBzZWxlY3Rpb24gYmFyLlxuICAgIElmIHlvdXIgY29sb3Igd29uJ3QgY2hhbmdlLCBkb24ndCB1c2UgdGhpcyBvcHRpb24gYnV0IHNldCBpdCB0aHJvdWdoIENTUy5cbiAgICBJZiB0aGUgcmV0dXJuZWQgY29sb3IgZGVwZW5kcyBvbiBhIG1vZGVsIHZhbHVlIChlaXRoZXIgdmFsdWUgb3IgdmFsdWVIaWdoKSxcbiAgICB5b3Ugc2hvdWxkIHVzZSB0aGUgYXJndW1lbnQgcGFzc2VkIHRvIHRoZSBmdW5jdGlvbi5cbiAgICBJbmRlZWQsIHdoZW4gdGhlIGZ1bmN0aW9uIGlzIGNhbGxlZCwgdGhlcmUgaXMgbm8gY2VydGFpbnR5IHRoYXQgdGhlIG1vZGVsXG4gICAgaGFzIGFscmVhZHkgYmVlbiB1cGRhdGVkLiovXG4gIGdldFNlbGVjdGlvbkJhckNvbG9yPzogKG1pblZhbHVlOiBudW1iZXIsIG1heFZhbHVlPzogbnVtYmVyKSA9PiBzdHJpbmc7XG5cbiAgLyoqIEZ1bmN0aW9uIHRoYXQgcmV0dXJucyB0aGUgY29sb3Igb2YgYSB0aWNrLiBzaG93VGlja3MgbXVzdCBiZSBlbmFibGVkLiAqL1xuICBnZXRUaWNrQ29sb3I/OiAodmFsdWU6IG51bWJlcikgPT4gc3RyaW5nO1xuXG4gIC8qKiBGdW5jdGlvbiB0aGF0IHJldHVybnMgdGhlIGN1cnJlbnQgY29sb3Igb2YgYSBwb2ludGVyLlxuICAgIElmIHlvdXIgY29sb3Igd29uJ3QgY2hhbmdlLCBkb24ndCB1c2UgdGhpcyBvcHRpb24gYnV0IHNldCBpdCB0aHJvdWdoIENTUy5cbiAgICBJZiB0aGUgcmV0dXJuZWQgY29sb3IgZGVwZW5kcyBvbiBhIG1vZGVsIHZhbHVlIChlaXRoZXIgdmFsdWUgb3IgdmFsdWVIaWdoKSxcbiAgICB5b3Ugc2hvdWxkIHVzZSB0aGUgYXJndW1lbnQgcGFzc2VkIHRvIHRoZSBmdW5jdGlvbi5cbiAgICBJbmRlZWQsIHdoZW4gdGhlIGZ1bmN0aW9uIGlzIGNhbGxlZCwgdGhlcmUgaXMgbm8gY2VydGFpbnR5IHRoYXQgdGhlIG1vZGVsIGhhcyBhbHJlYWR5IGJlZW4gdXBkYXRlZC5cbiAgICBUbyBoYW5kbGUgcmFuZ2Ugc2xpZGVyIHBvaW50ZXJzIGluZGVwZW5kZW50bHksIHlvdSBzaG91bGQgZXZhbHVhdGUgcG9pbnRlclR5cGUgd2l0aGluIHRoZSBnaXZlblxuICAgIGZ1bmN0aW9uIHdoZXJlIFwibWluXCIgc3RhbmRzIGZvciB2YWx1ZSBtb2RlbCBhbmQgXCJtYXhcIiBmb3IgdmFsdWVIaWdoIG1vZGVsIHZhbHVlcy4gKi9cbiAgZ2V0UG9pbnRlckNvbG9yPzogKHZhbHVlOiBudW1iZXIsIHBvaW50ZXJUeXBlOiBQb2ludGVyVHlwZSkgPT4gc3RyaW5nO1xuXG4gIC8qKiBIYW5kbGVzIGFyZSBmb2N1c2FibGUgKG9uIGNsaWNrIG9yIHdpdGggdGFiKSBhbmQgY2FuIGJlIG1vZGlmaWVkIHVzaW5nIHRoZSBmb2xsb3dpbmcga2V5Ym9hcmQgY29udHJvbHM6XG4gICAgTGVmdC9ib3R0b20gYXJyb3dzOiAtMVxuICAgIFJpZ2h0L3RvcCBhcnJvd3M6ICsxXG4gICAgUGFnZS1kb3duOiAtMTAlXG4gICAgUGFnZS11cDogKzEwJVxuICAgIEhvbWU6IG1pbmltdW0gdmFsdWVcbiAgICBFbmQ6IG1heGltdW0gdmFsdWVcbiAgICovXG4gIGtleWJvYXJkU3VwcG9ydD86IGJvb2xlYW4gPSB0cnVlO1xuXG4gIC8qKiBJZiB5b3UgZGlzcGxheSB0aGUgc2xpZGVyIGluIGFuIGVsZW1lbnQgdGhhdCB1c2VzIHRyYW5zZm9ybTogc2NhbGUoMC41KSwgc2V0IHRoZSBzY2FsZSB2YWx1ZSB0byAyXG4gICAgc28gdGhhdCB0aGUgc2xpZGVyIGlzIHJlbmRlcmVkIHByb3Blcmx5IGFuZCB0aGUgZXZlbnRzIGFyZSBoYW5kbGVkIGNvcnJlY3RseS4gKi9cbiAgc2NhbGU/OiBudW1iZXIgPSAxO1xuXG4gIC8qKiBJZiB5b3UgZGlzcGxheSB0aGUgc2xpZGVyIGluIGFuIGVsZW1lbnQgdGhhdCB1c2VzIHRyYW5zZm9ybTogcm90YXRlKDkwZGVnKSwgc2V0IHRoZSByb3RhdGUgdmFsdWUgdG8gOTBcbiAgIHNvIHRoYXQgdGhlIHNsaWRlciBpcyByZW5kZXJlZCBwcm9wZXJseSBhbmQgdGhlIGV2ZW50cyBhcmUgaGFuZGxlZCBjb3JyZWN0bHkuIFZhbHVlIGlzIGluIGRlZ3JlZXMuICovXG4gIHJvdGF0ZT86IG51bWJlciA9IDA7XG5cbiAgLyoqIFNldCB0byB0cnVlIHRvIGZvcmNlIHRoZSB2YWx1ZShzKSB0byBiZSByb3VuZGVkIHRvIHRoZSBzdGVwLCBldmVuIHdoZW4gbW9kaWZpZWQgZnJvbSB0aGUgb3V0c2lkZS5cbiAgICBXaGVuIHNldCB0byBmYWxzZSwgaWYgdGhlIG1vZGVsIHZhbHVlcyBhcmUgbW9kaWZpZWQgZnJvbSBvdXRzaWRlIHRoZSBzbGlkZXIsIHRoZXkgYXJlIG5vdCByb3VuZGVkXG4gICAgYW5kIGNhbiBiZSBiZXR3ZWVuIHR3byBzdGVwcy4gKi9cbiAgZW5mb3JjZVN0ZXA/OiBib29sZWFuID0gdHJ1ZTtcblxuICAvKiogU2V0IHRvIHRydWUgdG8gZm9yY2UgdGhlIHZhbHVlKHMpIHRvIGJlIG5vcm1hbGlzZWQgdG8gYWxsb3dlZCByYW5nZSAoZmxvb3IgdG8gY2VpbCksIGV2ZW4gd2hlbiBtb2RpZmllZCBmcm9tIHRoZSBvdXRzaWRlLlxuICAgIFdoZW4gc2V0IHRvIGZhbHNlLCBpZiB0aGUgbW9kZWwgdmFsdWVzIGFyZSBtb2RpZmllZCBmcm9tIG91dHNpZGUgdGhlIHNsaWRlciwgYW5kIHRoZXkgYXJlIG91dHNpZGUgYWxsb3dlZCByYW5nZSxcbiAgICB0aGUgc2xpZGVyIG1heSBiZSByZW5kZXJlZCBpbmNvcnJlY3RseS4gSG93ZXZlciwgc2V0dGluZyB0aGlzIHRvIGZhbHNlIG1heSBiZSB1c2VmdWwgaWYgeW91IHdhbnQgdG8gcGVyZm9ybSBjdXN0b20gbm9ybWFsaXNhdGlvbi4gKi9cbiAgZW5mb3JjZVJhbmdlPzogYm9vbGVhbiA9IHRydWU7XG5cbiAgLyoqIFNldCB0byB0cnVlIHRvIGZvcmNlIHRoZSB2YWx1ZShzKSB0byBiZSByb3VuZGVkIHRvIHRoZSBuZWFyZXN0IHN0ZXAgdmFsdWUsIGV2ZW4gd2hlbiBtb2RpZmllZCBmcm9tIHRoZSBvdXRzaWRlLlxuICAgIFdoZW4gc2V0IHRvIGZhbHNlLCBpZiB0aGUgbW9kZWwgdmFsdWVzIGFyZSBtb2RpZmllZCBmcm9tIG91dHNpZGUgdGhlIHNsaWRlciwgYW5kIHRoZXkgYXJlIG91dHNpZGUgYWxsb3dlZCByYW5nZSxcbiAgICB0aGUgc2xpZGVyIG1heSBiZSByZW5kZXJlZCBpbmNvcnJlY3RseS4gSG93ZXZlciwgc2V0dGluZyB0aGlzIHRvIGZhbHNlIG1heSBiZSB1c2VmdWwgaWYgeW91IHdhbnQgdG8gcGVyZm9ybSBjdXN0b20gbm9ybWFsaXNhdGlvbi4gKi9cbiAgZW5mb3JjZVN0ZXBzQXJyYXk/OiBib29sZWFuID0gdHJ1ZTtcblxuICAvKiogU2V0IHRvIHRydWUgdG8gcHJldmVudCB0byB1c2VyIGZyb20gc3dpdGNoaW5nIHRoZSBtaW4gYW5kIG1heCBoYW5kbGVzLiBBcHBsaWVzIHRvIHJhbmdlIHNsaWRlciBvbmx5LiAqL1xuICBub1N3aXRjaGluZz86IGJvb2xlYW4gPSBmYWxzZTtcblxuICAvKiogU2V0IHRvIHRydWUgdG8gb25seSBiaW5kIGV2ZW50cyBvbiBzbGlkZXIgaGFuZGxlcy4gKi9cbiAgb25seUJpbmRIYW5kbGVzPzogYm9vbGVhbiA9IGZhbHNlO1xuXG4gIC8qKiBTZXQgdG8gdHJ1ZSB0byBzaG93IGdyYXBocyByaWdodCB0byBsZWZ0LlxuICAgIElmIHZlcnRpY2FsIGlzIHRydWUgaXQgd2lsbCBiZSBmcm9tIHRvcCB0byBib3R0b20gYW5kIGxlZnQgLyByaWdodCBhcnJvdyBmdW5jdGlvbnMgcmV2ZXJzZWQuICovXG4gIHJpZ2h0VG9MZWZ0PzogYm9vbGVhbiA9IGZhbHNlO1xuXG4gIC8qKiBTZXQgdG8gdHJ1ZSB0byByZXZlcnNlIGtleWJvYXJkIG5hdmlnYXRpb246XG4gICAgUmlnaHQvdG9wIGFycm93czogLTFcbiAgICBMZWZ0L2JvdHRvbSBhcnJvd3M6ICsxXG4gICAgUGFnZS11cDogLTEwJVxuICAgIFBhZ2UtZG93bjogKzEwJVxuICAgIEVuZDogbWluaW11bSB2YWx1ZVxuICAgIEhvbWU6IG1heGltdW0gdmFsdWVcbiAgICovXG4gIHJldmVyc2VkQ29udHJvbHM/OiBib29sZWFuID0gZmFsc2U7XG5cbiAgLyoqIFNldCB0byB0cnVlIHRvIGtlZXAgdGhlIHNsaWRlciBsYWJlbHMgaW5zaWRlIHRoZSBzbGlkZXIgYm91bmRzLiAqL1xuICBib3VuZFBvaW50ZXJMYWJlbHM/OiBib29sZWFuID0gdHJ1ZTtcblxuICAvKiogU2V0IHRvIHRydWUgdG8gdXNlIGEgbG9nYXJpdGhtaWMgc2NhbGUgdG8gZGlzcGxheSB0aGUgc2xpZGVyLiAgKi9cbiAgbG9nU2NhbGU/OiBib29sZWFuID0gZmFsc2U7XG5cbiAgLyoqIEZ1bmN0aW9uIHRoYXQgcmV0dXJucyB0aGUgcG9zaXRpb24gb24gdGhlIHNsaWRlciBmb3IgYSBnaXZlbiB2YWx1ZS5cbiAgICBUaGUgcG9zaXRpb24gbXVzdCBiZSBhIHBlcmNlbnRhZ2UgYmV0d2VlbiAwIGFuZCAxLlxuICAgIFRoZSBmdW5jdGlvbiBzaG91bGQgYmUgbW9ub3RvbmljYWxseSBpbmNyZWFzaW5nIG9yIGRlY3JlYXNpbmc7IG90aGVyd2lzZSB0aGUgc2xpZGVyIG1heSBiZWhhdmUgaW5jb3JyZWN0bHkuICovXG4gIGN1c3RvbVZhbHVlVG9Qb3NpdGlvbj86IFZhbHVlVG9Qb3NpdGlvbkZ1bmN0aW9uO1xuXG4gIC8qKiBGdW5jdGlvbiB0aGF0IHJldHVybnMgdGhlIHZhbHVlIGZvciBhIGdpdmVuIHBvc2l0aW9uIG9uIHRoZSBzbGlkZXIuXG4gICAgVGhlIHBvc2l0aW9uIGlzIGEgcGVyY2VudGFnZSBiZXR3ZWVuIDAgYW5kIDEuXG4gICAgVGhlIGZ1bmN0aW9uIHNob3VsZCBiZSBtb25vdG9uaWNhbGx5IGluY3JlYXNpbmcgb3IgZGVjcmVhc2luZzsgb3RoZXJ3aXNlIHRoZSBzbGlkZXIgbWF5IGJlaGF2ZSBpbmNvcnJlY3RseS4gKi9cbiAgY3VzdG9tUG9zaXRpb25Ub1ZhbHVlPzogUG9zaXRpb25Ub1ZhbHVlRnVuY3Rpb247XG5cbiAgLyoqIFByZWNpc2lvbiBsaW1pdCBmb3IgY2FsY3VsYXRlZCB2YWx1ZXMuXG4gICAgVmFsdWVzIHVzZWQgaW4gY2FsY3VsYXRpb25zIHdpbGwgYmUgcm91bmRlZCB0byB0aGlzIG51bWJlciBvZiBzaWduaWZpY2FudCBkaWdpdHNcbiAgICB0byBwcmV2ZW50IGFjY3VtdWxhdGluZyBzbWFsbCBmbG9hdGluZy1wb2ludCBlcnJvcnMuICovXG4gIHByZWNpc2lvbkxpbWl0PzogbnVtYmVyID0gMTI7XG5cbiAgLyoqIFVzZSB0byBkaXNwbGF5IHRoZSBzZWxlY3Rpb24gYmFyIGFzIGEgZ3JhZGllbnQuXG4gICAgVGhlIGdpdmVuIG9iamVjdCBtdXN0IGNvbnRhaW4gZnJvbSBhbmQgdG8gcHJvcGVydGllcyB3aGljaCBhcmUgY29sb3JzLiAqL1xuICBzZWxlY3Rpb25CYXJHcmFkaWVudD86IHtmcm9tOiBzdHJpbmcsIHRvOiBzdHJpbmd9O1xuXG4gIC8qKiBVc2UgdG8gYWRkIGEgbGFiZWwgZGlyZWN0bHkgdG8gdGhlIHNsaWRlciBmb3IgYWNjZXNzaWJpbGl0eS4gQWRkcyB0aGUgYXJpYS1sYWJlbCBhdHRyaWJ1dGUuICovXG4gIGFyaWFMYWJlbD86IHN0cmluZyA9ICduZ3gtc2xpZGVyJztcblxuICAvKiogVXNlIGluc3RlYWQgb2YgYXJpYUxhYmVsIHRvIHJlZmVyZW5jZSB0aGUgaWQgb2YgYW4gZWxlbWVudCB3aGljaCB3aWxsIGJlIHVzZWQgdG8gbGFiZWwgdGhlIHNsaWRlci5cbiAgICBBZGRzIHRoZSBhcmlhLWxhYmVsbGVkYnkgYXR0cmlidXRlLiAqL1xuICBhcmlhTGFiZWxsZWRCeT86IHN0cmluZztcblxuICAvKiogVXNlIHRvIGFkZCBhIGxhYmVsIGRpcmVjdGx5IHRvIHRoZSBzbGlkZXIgcmFuZ2UgZm9yIGFjY2Vzc2liaWxpdHkuIEFkZHMgdGhlIGFyaWEtbGFiZWwgYXR0cmlidXRlLiAqL1xuICBhcmlhTGFiZWxIaWdoPzogc3RyaW5nID0gJ25neC1zbGlkZXItbWF4JztcblxuICAvKiogVXNlIGluc3RlYWQgb2YgYXJpYUxhYmVsSGlnaCB0byByZWZlcmVuY2UgdGhlIGlkIG9mIGFuIGVsZW1lbnQgd2hpY2ggd2lsbCBiZSB1c2VkIHRvIGxhYmVsIHRoZSBzbGlkZXIgcmFuZ2UuXG4gICAgQWRkcyB0aGUgYXJpYS1sYWJlbGxlZGJ5IGF0dHJpYnV0ZS4gKi9cbiAgYXJpYUxhYmVsbGVkQnlIaWdoPzogc3RyaW5nO1xuXG4gIC8qKiBVc2UgdG8gaW5jcmVhc2UgcmVuZGVyaW5nIHBlcmZvcm1hbmNlLiBJZiB0aGUgdmFsdWUgaXMgbm90IHByb3ZpZGVkLCB0aGUgc2xpZGVyIGNhbGN1bGF0ZXMgdGhlIHdpdGgvaGVpZ2h0IG9mIHRoZSBoYW5kbGUgKi9cbiAgaGFuZGxlRGltZW5zaW9uPzogbnVtYmVyO1xuXG4gIC8qKiBVc2UgdG8gaW5jcmVhc2UgcmVuZGVyaW5nIHBlcmZvcm1hbmNlLiBJZiB0aGUgdmFsdWUgaXMgbm90IHByb3ZpZGVkLCB0aGUgc2xpZGVyIGNhbGN1bGF0ZXMgdGhlIHdpdGgvaGVpZ2h0IG9mIHRoZSBiYXIgKi9cbiAgYmFyRGltZW5zaW9uPzogbnVtYmVyO1xuXG4gIC8qKiBFbmFibGUvZGlzYWJsZSBDU1MgYW5pbWF0aW9ucyAqL1xuICBhbmltYXRlPzogYm9vbGVhbiA9IHRydWU7XG5cbiAgLyoqIEVuYWJsZS9kaXNhYmxlIENTUyBhbmltYXRpb25zIHdoaWxlIG1vdmluZyB0aGUgc2xpZGVyICovXG4gIGFuaW1hdGVPbk1vdmU/OiBib29sZWFuID0gZmFsc2U7XG59Il19
@@ -0,0 +1,9 @@
1
+ /** Pointer type */
2
+ export var PointerType;
3
+ (function (PointerType) {
4
+ /** Low pointer */
5
+ PointerType[PointerType["Min"] = 0] = "Min";
6
+ /** High pointer */
7
+ PointerType[PointerType["Max"] = 1] = "Max";
8
+ })(PointerType || (PointerType = {}));
9
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicG9pbnRlci10eXBlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZGVzaWduLWZhY3Rvcnkvc3JjL2xpYi9hbmd1bGFyL3NsaWRlci9saWIvcG9pbnRlci10eXBlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLG1CQUFtQjtBQUNuQixNQUFNLENBQU4sSUFBWSxXQUtYO0FBTEQsV0FBWSxXQUFXO0lBQ3JCLGtCQUFrQjtJQUNsQiwyQ0FBRyxDQUFBO0lBQ0gsbUJBQW1CO0lBQ25CLDJDQUFHLENBQUE7QUFDTCxDQUFDLEVBTFcsV0FBVyxLQUFYLFdBQVcsUUFLdEIiLCJzb3VyY2VzQ29udGVudCI6WyIvKiogUG9pbnRlciB0eXBlICovXG5leHBvcnQgZW51bSBQb2ludGVyVHlwZSB7XG4gIC8qKiBMb3cgcG9pbnRlciAqL1xuICBNaW4sXG4gIC8qKiBIaWdoIHBvaW50ZXIgKi9cbiAgTWF4XG59Il19