@norwegian/core-components 5.18.1 → 5.18.2

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 (515) hide show
  1. package/esm2020/lib/components/accordion/accordion.component.mjs +148 -0
  2. package/esm2020/lib/components/accordion/accordion.module.mjs +20 -0
  3. package/esm2020/lib/components/airport-select/airport-select-dropdown/airport-select-dropdown.component.mjs +610 -0
  4. package/esm2020/lib/components/airport-select/airport-select.component.mjs +438 -0
  5. package/esm2020/lib/components/airport-select/airport-select.module.mjs +42 -0
  6. package/esm2020/lib/components/airport-select/services/airport-select-dropdown.service.mjs +35 -0
  7. package/esm2020/lib/components/airport-select/services/airport-select.service.mjs +38 -0
  8. package/esm2020/lib/components/autocomplete/autocomplete.component.mjs +287 -0
  9. package/esm2020/lib/components/autocomplete/autocomplete.module.mjs +43 -0
  10. package/esm2020/lib/components/backdrop/backdrop.component.mjs +56 -0
  11. package/esm2020/lib/components/backdrop/backdrop.module.mjs +24 -0
  12. package/esm2020/lib/components/box/box.component.mjs +68 -0
  13. package/esm2020/lib/components/box/box.module.mjs +19 -0
  14. package/esm2020/lib/components/button/button.component.mjs +167 -0
  15. package/esm2020/lib/components/button/button.module.mjs +20 -0
  16. package/esm2020/lib/components/checkbox/checkbox.component.mjs +148 -0
  17. package/esm2020/lib/components/checkbox/checkbox.module.mjs +20 -0
  18. package/esm2020/lib/components/chip/chip.component.mjs +53 -0
  19. package/esm2020/lib/components/chip/chip.module.mjs +24 -0
  20. package/esm2020/lib/components/container/container.component.mjs +50 -0
  21. package/esm2020/lib/components/container/container.module.mjs +19 -0
  22. package/esm2020/lib/components/continue/continue.component.mjs +194 -0
  23. package/esm2020/lib/components/continue/continue.module.mjs +34 -0
  24. package/esm2020/lib/components/cover/cover.component.mjs +75 -0
  25. package/esm2020/lib/components/cover/cover.module.mjs +21 -0
  26. package/esm2020/lib/components/datepicker/calendar/calendar.component.mjs +583 -0
  27. package/esm2020/lib/components/datepicker/datepicker.component.mjs +550 -0
  28. package/esm2020/lib/components/datepicker/datepicker.module.mjs +55 -0
  29. package/esm2020/lib/components/datepicker/services/calendar.service.mjs +213 -0
  30. package/esm2020/lib/components/datepicker-combo/datepicker-combo.component.mjs +355 -0
  31. package/esm2020/lib/components/datepicker-combo/datepicker-combo.module.mjs +31 -0
  32. package/esm2020/lib/components/divider/divider.component.mjs +61 -0
  33. package/esm2020/lib/components/divider/divider.module.mjs +20 -0
  34. package/esm2020/lib/components/dropdown/dropdown.component.mjs +169 -0
  35. package/esm2020/lib/components/dropdown/dropdown.module.mjs +32 -0
  36. package/esm2020/lib/components/filter/filter.component.mjs +1253 -0
  37. package/esm2020/lib/components/filter/filter.module.mjs +73 -0
  38. package/esm2020/lib/components/grid/col/col.component.mjs +49 -0
  39. package/esm2020/lib/components/grid/grid.component.mjs +72 -0
  40. package/esm2020/lib/components/grid/grid.module.mjs +20 -0
  41. package/esm2020/lib/components/icon/icon.component.mjs +44 -0
  42. package/esm2020/lib/components/icon/icon.module.mjs +24 -0
  43. package/esm2020/lib/components/icon-list/icon-list.component.mjs +50 -0
  44. package/esm2020/lib/components/icon-list/icon-list.module.mjs +20 -0
  45. package/esm2020/lib/components/info/info.component.mjs +106 -0
  46. package/esm2020/lib/components/info/info.module.mjs +36 -0
  47. package/esm2020/lib/components/input/input.component.mjs +179 -0
  48. package/esm2020/lib/components/input/input.module.mjs +21 -0
  49. package/esm2020/lib/components/journey/journey.component.mjs +126 -0
  50. package/esm2020/lib/components/journey/journey.module.mjs +28 -0
  51. package/esm2020/lib/components/journey-availability/journey-availability.component.mjs +126 -0
  52. package/esm2020/lib/components/journey-availability/journey-availability.module.mjs +39 -0
  53. package/esm2020/lib/components/journey-availability-list/journey-availability-list.component.mjs +185 -0
  54. package/{esm2015/lib/components/journey-availability-list/journey-availability-list.module.js → esm2020/lib/components/journey-availability-list/journey-availability-list.module.mjs} +27 -14
  55. package/esm2020/lib/components/journey-selection/journey-selection.component.mjs +112 -0
  56. package/esm2020/lib/components/journey-selection/journey-selection.module.mjs +35 -0
  57. package/esm2020/lib/components/journey-stopover/journey-stopover.component.mjs +125 -0
  58. package/esm2020/lib/components/journey-stopover/journey-stopover.module.mjs +28 -0
  59. package/esm2020/lib/components/list/list-item/list-item.component.mjs +52 -0
  60. package/esm2020/lib/components/list/list.component.mjs +78 -0
  61. package/esm2020/lib/components/list/list.module.mjs +20 -0
  62. package/esm2020/lib/components/modal/modal.component.mjs +141 -0
  63. package/esm2020/lib/components/modal/modal.module.mjs +38 -0
  64. package/esm2020/lib/components/number-field/number-field.component.mjs +135 -0
  65. package/esm2020/lib/components/number-field/number-field.module.mjs +39 -0
  66. package/esm2020/lib/components/page-footer/page-footer.component.mjs +54 -0
  67. package/esm2020/lib/components/page-footer/page-footer.module.mjs +21 -0
  68. package/esm2020/lib/components/page-header/hamburger/hamburger.component.mjs +22 -0
  69. package/esm2020/lib/components/page-header/page-header.component.mjs +142 -0
  70. package/esm2020/lib/components/page-header/page-header.module.mjs +23 -0
  71. package/esm2020/lib/components/page-header/search/search.component.mjs +49 -0
  72. package/{esm2015/lib/components/passenger-select/models/passengers.model.js → esm2020/lib/components/passenger-select/models/passengers.model.mjs} +1 -1
  73. package/esm2020/lib/components/passenger-select/passenger-select.component.mjs +225 -0
  74. package/esm2020/lib/components/passenger-select/passenger-select.module.mjs +28 -0
  75. package/esm2020/lib/components/phone-number/phone-number.component.mjs +148 -0
  76. package/esm2020/lib/components/phone-number/phone-number.module.mjs +44 -0
  77. package/esm2020/lib/components/premium-toggle/premium-toggle.component.mjs +69 -0
  78. package/esm2020/lib/components/premium-toggle/premium-toggle.module.mjs +28 -0
  79. package/esm2020/lib/components/radio/radio.component.mjs +98 -0
  80. package/esm2020/lib/components/radio/radio.module.mjs +20 -0
  81. package/esm2020/lib/components/select/optgroup/optgroup.component.mjs +29 -0
  82. package/esm2020/lib/components/select/option/option.component.mjs +26 -0
  83. package/esm2020/lib/components/select/select.component.mjs +354 -0
  84. package/esm2020/lib/components/select/select.module.mjs +30 -0
  85. package/esm2020/lib/components/simple-list/simple-list.component.mjs +48 -0
  86. package/esm2020/lib/components/simple-list/simple-list.module.mjs +19 -0
  87. package/esm2020/lib/components/slide-toggle/slide-toggle.component.mjs +111 -0
  88. package/esm2020/lib/components/slide-toggle/slide-toggle.module.mjs +31 -0
  89. package/esm2020/lib/components/slider/slider.component.mjs +501 -0
  90. package/esm2020/lib/components/slider/slider.module.mjs +28 -0
  91. package/esm2020/lib/components/sort/sort.component.mjs +93 -0
  92. package/esm2020/lib/components/sort/sort.module.mjs +36 -0
  93. package/esm2020/lib/components/spinner/spinner.component.mjs +112 -0
  94. package/esm2020/lib/components/spinner/spinner.module.mjs +19 -0
  95. package/esm2020/lib/components/subsidy-discount/subsidy-discount.component.mjs +110 -0
  96. package/esm2020/lib/components/subsidy-discount/subsidy-discount.module.mjs +36 -0
  97. package/esm2020/lib/components/suggestions/suggestions.component.mjs +43 -0
  98. package/esm2020/lib/components/suggestions/suggestions.module.mjs +28 -0
  99. package/esm2020/lib/components/tab-group/tab/tab.component.mjs +131 -0
  100. package/esm2020/lib/components/tab-group/tab-group.component.mjs +87 -0
  101. package/esm2020/lib/components/tab-group/tab-group.module.mjs +29 -0
  102. package/esm2020/lib/components/table/column/column.component.mjs +16 -0
  103. package/esm2020/lib/components/table/column-group/column-group.component.mjs +30 -0
  104. package/esm2020/lib/components/table/services/table.service.mjs +21 -0
  105. package/esm2020/lib/components/table/table-body/table-body.component.mjs +23 -0
  106. package/esm2020/lib/components/table/table-foot/table-foot.component.mjs +23 -0
  107. package/esm2020/lib/components/table/table-head/table-head.component.mjs +23 -0
  108. package/esm2020/lib/components/table/table-row/table-data/table-data.component.mjs +15 -0
  109. package/esm2020/lib/components/table/table-row/table-header/table-header.component.mjs +15 -0
  110. package/esm2020/lib/components/table/table-row/table-row.component.mjs +23 -0
  111. package/esm2020/lib/components/table/table.component.mjs +29 -0
  112. package/esm2020/lib/components/table/table.module.mjs +68 -0
  113. package/esm2020/lib/components/textarea/textarea.component.mjs +93 -0
  114. package/esm2020/lib/components/textarea/textarea.module.mjs +31 -0
  115. package/esm2020/lib/components/toggle/toggle.component.mjs +103 -0
  116. package/esm2020/lib/components/toggle/toggle.module.mjs +35 -0
  117. package/esm2020/lib/components/trip-summary/trip-summary.component.mjs +170 -0
  118. package/esm2020/lib/components/trip-summary/trip-summary.module.mjs +36 -0
  119. package/esm2020/lib/components/weather-icon/weather-icon.component.mjs +60 -0
  120. package/esm2020/lib/components/weather-icon/weather-icon.module.mjs +19 -0
  121. package/esm2020/lib/core/base/nas-component.base.mjs +47 -0
  122. package/esm2020/lib/core/directives/nas-class/nas-class.directive.mjs +80 -0
  123. package/esm2020/lib/core/directives/nas-class/nas-class.module.mjs +22 -0
  124. package/{esm2015/lib/core/extensions/html-element.extension.js → esm2020/lib/core/extensions/html-element.extension.mjs} +1 -1
  125. package/esm2020/lib/core/services/abandoned-basket/abandoned-basket.service.mjs +58 -0
  126. package/esm2020/lib/core/services/animate-helper/animate-helper.service.mjs +49 -0
  127. package/esm2020/lib/core/services/bem-helper/bem-helper.service.mjs +44 -0
  128. package/esm2020/lib/core/services/date/date-helper.service.mjs +199 -0
  129. package/esm2020/lib/core/services/device/device-helper.service.mjs +46 -0
  130. package/esm2020/lib/core/services/geolocation/geolocation.service.mjs +63 -0
  131. package/esm2020/lib/core/services/language/language-helper.service.mjs +129 -0
  132. package/esm2020/lib/core/services/sort/sort.service.mjs +22 -0
  133. package/esm2020/lib/core/services/viewport/viewport.service.mjs +32 -0
  134. package/esm2020/lib/services/get-position.service.mjs +23 -0
  135. package/esm2020/norwegian-core-components.mjs +5 -0
  136. package/fesm2015/norwegian-core-components.mjs +11843 -0
  137. package/fesm2015/norwegian-core-components.mjs.map +1 -0
  138. package/fesm2020/norwegian-core-components.mjs +11829 -0
  139. package/fesm2020/norwegian-core-components.mjs.map +1 -0
  140. package/index.d.ts +5 -0
  141. package/lib/components/accordion/accordion.component.d.ts +3 -0
  142. package/lib/components/accordion/accordion.module.d.ts +8 -0
  143. package/lib/components/airport-select/airport-select-dropdown/airport-select-dropdown.component.d.ts +5 -2
  144. package/lib/components/airport-select/airport-select.component.d.ts +5 -2
  145. package/lib/components/airport-select/airport-select.module.d.ts +11 -0
  146. package/lib/components/airport-select/services/airport-select-dropdown.service.d.ts +3 -0
  147. package/lib/components/airport-select/services/airport-select.service.d.ts +3 -0
  148. package/lib/components/autocomplete/autocomplete.component.d.ts +5 -2
  149. package/lib/components/autocomplete/autocomplete.module.d.ts +11 -0
  150. package/lib/components/backdrop/backdrop.component.d.ts +3 -0
  151. package/lib/components/backdrop/backdrop.module.d.ts +7 -0
  152. package/lib/components/box/box.component.d.ts +3 -4
  153. package/lib/components/box/box.module.d.ts +7 -0
  154. package/lib/components/button/button.component.d.ts +3 -0
  155. package/lib/components/button/button.module.d.ts +8 -0
  156. package/lib/components/checkbox/checkbox.component.d.ts +5 -2
  157. package/lib/components/checkbox/checkbox.module.d.ts +8 -0
  158. package/lib/components/chip/chip.component.d.ts +3 -0
  159. package/lib/components/chip/chip.module.d.ts +7 -0
  160. package/lib/components/container/container.component.d.ts +3 -4
  161. package/lib/components/container/container.module.d.ts +7 -0
  162. package/lib/components/continue/continue.component.d.ts +3 -0
  163. package/lib/components/continue/continue.module.d.ts +9 -0
  164. package/lib/components/cover/cover.component.d.ts +3 -0
  165. package/lib/components/cover/cover.module.d.ts +9 -0
  166. package/lib/components/datepicker/calendar/calendar.component.d.ts +5 -2
  167. package/lib/components/datepicker/datepicker.component.d.ts +5 -2
  168. package/lib/components/datepicker/datepicker.module.d.ts +14 -0
  169. package/lib/components/datepicker/services/calendar.service.d.ts +3 -0
  170. package/lib/components/datepicker-combo/datepicker-combo.component.d.ts +3 -0
  171. package/lib/components/datepicker-combo/datepicker-combo.module.d.ts +8 -0
  172. package/lib/components/divider/divider.component.d.ts +3 -4
  173. package/lib/components/divider/divider.module.d.ts +8 -0
  174. package/lib/components/dropdown/dropdown.component.d.ts +3 -0
  175. package/lib/components/dropdown/dropdown.module.d.ts +9 -0
  176. package/lib/components/filter/filter.component.d.ts +5 -2
  177. package/lib/components/filter/filter.module.d.ts +18 -0
  178. package/lib/components/grid/col/col.component.d.ts +4 -1
  179. package/lib/components/grid/grid.component.d.ts +3 -4
  180. package/lib/components/grid/grid.module.d.ts +8 -0
  181. package/lib/components/icon/icon.component.d.ts +3 -4
  182. package/lib/components/icon/icon.module.d.ts +7 -0
  183. package/lib/components/icon-list/icon-list.component.d.ts +3 -0
  184. package/lib/components/icon-list/icon-list.module.d.ts +8 -0
  185. package/lib/components/info/info.component.d.ts +3 -0
  186. package/lib/components/info/info.module.d.ts +10 -0
  187. package/lib/components/input/input.component.d.ts +5 -2
  188. package/lib/components/input/input.module.d.ts +9 -0
  189. package/lib/components/journey/journey.component.d.ts +3 -0
  190. package/lib/components/journey/journey.module.d.ts +8 -0
  191. package/lib/components/journey-availability/journey-availability.component.d.ts +3 -0
  192. package/lib/components/journey-availability/journey-availability.module.d.ts +10 -0
  193. package/lib/components/journey-availability-list/journey-availability-list.component.d.ts +3 -0
  194. package/lib/components/journey-availability-list/journey-availability-list.module.d.ts +10 -0
  195. package/lib/components/journey-selection/journey-selection.component.d.ts +3 -0
  196. package/lib/components/journey-selection/journey-selection.module.d.ts +9 -0
  197. package/lib/components/journey-stopover/journey-stopover.component.d.ts +3 -0
  198. package/lib/components/journey-stopover/journey-stopover.module.d.ts +8 -0
  199. package/lib/components/list/list-item/list-item.component.d.ts +3 -0
  200. package/lib/components/list/list.component.d.ts +4 -1
  201. package/lib/components/list/list.module.d.ts +8 -0
  202. package/lib/components/modal/modal.component.d.ts +3 -0
  203. package/lib/components/modal/modal.module.d.ts +10 -0
  204. package/lib/components/number-field/number-field.component.d.ts +5 -2
  205. package/lib/components/number-field/number-field.module.d.ts +10 -0
  206. package/lib/components/page-footer/page-footer.component.d.ts +3 -0
  207. package/lib/components/page-footer/page-footer.module.d.ts +9 -0
  208. package/lib/components/page-header/hamburger/hamburger.component.d.ts +3 -0
  209. package/lib/components/page-header/page-header.component.d.ts +3 -0
  210. package/lib/components/page-header/page-header.module.d.ts +11 -0
  211. package/lib/components/page-header/search/search.component.d.ts +3 -0
  212. package/lib/components/passenger-select/models/passengers.model.d.ts +2 -2
  213. package/lib/components/passenger-select/passenger-select.component.d.ts +5 -2
  214. package/lib/components/passenger-select/passenger-select.module.d.ts +8 -0
  215. package/lib/components/phone-number/phone-number.component.d.ts +5 -2
  216. package/lib/components/phone-number/phone-number.module.d.ts +11 -0
  217. package/lib/components/premium-toggle/premium-toggle.component.d.ts +3 -0
  218. package/lib/components/premium-toggle/premium-toggle.module.d.ts +8 -0
  219. package/lib/components/radio/radio.component.d.ts +5 -2
  220. package/lib/components/radio/radio.module.d.ts +8 -0
  221. package/lib/components/select/optgroup/optgroup.component.d.ts +3 -0
  222. package/lib/components/select/option/option.component.d.ts +3 -0
  223. package/lib/components/select/select.component.d.ts +6 -3
  224. package/lib/components/select/select.module.d.ts +10 -0
  225. package/lib/components/simple-list/simple-list.component.d.ts +4 -1
  226. package/lib/components/simple-list/simple-list.module.d.ts +7 -0
  227. package/lib/components/slide-toggle/slide-toggle.component.d.ts +5 -2
  228. package/lib/components/slide-toggle/slide-toggle.module.d.ts +8 -0
  229. package/lib/components/slider/slider.component.d.ts +5 -2
  230. package/lib/components/slider/slider.module.d.ts +8 -0
  231. package/lib/components/sort/sort.component.d.ts +3 -0
  232. package/lib/components/sort/sort.module.d.ts +10 -0
  233. package/lib/components/spinner/spinner.component.d.ts +3 -0
  234. package/lib/components/spinner/spinner.module.d.ts +7 -0
  235. package/lib/components/subsidy-discount/subsidy-discount.component.d.ts +3 -0
  236. package/lib/components/subsidy-discount/subsidy-discount.module.d.ts +10 -0
  237. package/lib/components/suggestions/suggestions.component.d.ts +3 -0
  238. package/lib/components/suggestions/suggestions.module.d.ts +8 -0
  239. package/lib/components/tab-group/tab/tab.component.d.ts +3 -0
  240. package/lib/components/tab-group/tab-group.component.d.ts +3 -0
  241. package/lib/components/tab-group/tab-group.module.d.ts +9 -0
  242. package/lib/components/table/column/column.component.d.ts +3 -0
  243. package/lib/components/table/column-group/column-group.component.d.ts +3 -0
  244. package/lib/components/table/services/table.service.d.ts +3 -0
  245. package/lib/components/table/table-body/table-body.component.d.ts +3 -0
  246. package/lib/components/table/table-foot/table-foot.component.d.ts +3 -0
  247. package/lib/components/table/table-head/table-head.component.d.ts +3 -0
  248. package/lib/components/table/table-row/table-data/table-data.component.d.ts +3 -0
  249. package/lib/components/table/table-row/table-header/table-header.component.d.ts +3 -0
  250. package/lib/components/table/table-row/table-row.component.d.ts +3 -0
  251. package/lib/components/table/table.component.d.ts +3 -0
  252. package/lib/components/table/table.module.d.ts +15 -0
  253. package/lib/components/textarea/textarea.component.d.ts +5 -2
  254. package/lib/components/textarea/textarea.module.d.ts +8 -0
  255. package/lib/components/toggle/toggle.component.d.ts +6 -3
  256. package/lib/components/toggle/toggle.module.d.ts +9 -0
  257. package/lib/components/trip-summary/trip-summary.component.d.ts +3 -0
  258. package/lib/components/trip-summary/trip-summary.module.d.ts +10 -0
  259. package/lib/components/weather-icon/weather-icon.component.d.ts +3 -0
  260. package/lib/components/weather-icon/weather-icon.module.d.ts +7 -0
  261. package/lib/core/directives/nas-class/nas-class.directive.d.ts +3 -0
  262. package/lib/core/directives/nas-class/nas-class.module.d.ts +6 -0
  263. package/lib/core/services/abandoned-basket/abandoned-basket.service.d.ts +3 -0
  264. package/lib/core/services/animate-helper/animate-helper.service.d.ts +3 -0
  265. package/lib/core/services/bem-helper/bem-helper.service.d.ts +3 -0
  266. package/lib/core/services/date/date-helper.service.d.ts +3 -0
  267. package/lib/core/services/device/device-helper.service.d.ts +3 -0
  268. package/lib/core/services/geolocation/geolocation.service.d.ts +3 -0
  269. package/lib/core/services/language/language-helper.service.d.ts +3 -0
  270. package/lib/core/services/sort/sort.service.d.ts +3 -0
  271. package/lib/core/services/viewport/viewport.service.d.ts +3 -0
  272. package/lib/services/get-position.service.d.ts +3 -0
  273. package/package.json +21 -9
  274. package/bundles/norwegian-core-components.umd.js +0 -12203
  275. package/bundles/norwegian-core-components.umd.js.map +0 -1
  276. package/esm2015/lib/components/accordion/accordion.component.js +0 -130
  277. package/esm2015/lib/components/accordion/accordion.module.js +0 -15
  278. package/esm2015/lib/components/airport-select/airport-select-dropdown/airport-select-dropdown.component.js +0 -583
  279. package/esm2015/lib/components/airport-select/airport-select.component.js +0 -400
  280. package/esm2015/lib/components/airport-select/airport-select.module.js +0 -27
  281. package/esm2015/lib/components/airport-select/services/airport-select-dropdown.service.js +0 -34
  282. package/esm2015/lib/components/airport-select/services/airport-select.service.js +0 -37
  283. package/esm2015/lib/components/autocomplete/autocomplete.component.js +0 -265
  284. package/esm2015/lib/components/autocomplete/autocomplete.module.js +0 -26
  285. package/esm2015/lib/components/backdrop/backdrop.component.js +0 -54
  286. package/esm2015/lib/components/backdrop/backdrop.module.js +0 -17
  287. package/esm2015/lib/components/box/box.component.js +0 -61
  288. package/esm2015/lib/components/box/box.module.js +0 -14
  289. package/esm2015/lib/components/button/button.component.js +0 -140
  290. package/esm2015/lib/components/button/button.module.js +0 -15
  291. package/esm2015/lib/components/checkbox/checkbox.component.js +0 -127
  292. package/esm2015/lib/components/checkbox/checkbox.module.js +0 -15
  293. package/esm2015/lib/components/chip/chip.component.js +0 -50
  294. package/esm2015/lib/components/chip/chip.module.js +0 -17
  295. package/esm2015/lib/components/container/container.component.js +0 -47
  296. package/esm2015/lib/components/container/container.module.js +0 -14
  297. package/esm2015/lib/components/continue/continue.component.js +0 -173
  298. package/esm2015/lib/components/continue/continue.module.js +0 -23
  299. package/esm2015/lib/components/cover/cover.component.js +0 -61
  300. package/esm2015/lib/components/cover/cover.module.js +0 -16
  301. package/esm2015/lib/components/datepicker/calendar/calendar.component.js +0 -560
  302. package/esm2015/lib/components/datepicker/datepicker.component.js +0 -515
  303. package/esm2015/lib/components/datepicker/datepicker.module.js +0 -34
  304. package/esm2015/lib/components/datepicker/services/calendar.service.js +0 -217
  305. package/esm2015/lib/components/datepicker-combo/datepicker-combo.component.js +0 -317
  306. package/esm2015/lib/components/datepicker-combo/datepicker-combo.module.js +0 -22
  307. package/esm2015/lib/components/divider/divider.component.js +0 -53
  308. package/esm2015/lib/components/divider/divider.module.js +0 -15
  309. package/esm2015/lib/components/dropdown/dropdown.component.js +0 -150
  310. package/esm2015/lib/components/dropdown/dropdown.module.js +0 -21
  311. package/esm2015/lib/components/filter/filter.component.js +0 -1122
  312. package/esm2015/lib/components/filter/filter.module.js +0 -44
  313. package/esm2015/lib/components/grid/col/col.component.js +0 -49
  314. package/esm2015/lib/components/grid/grid.component.js +0 -63
  315. package/esm2015/lib/components/grid/grid.module.js +0 -15
  316. package/esm2015/lib/components/icon/icon.component.js +0 -42
  317. package/esm2015/lib/components/icon/icon.module.js +0 -17
  318. package/esm2015/lib/components/icon-list/icon-list.component.js +0 -46
  319. package/esm2015/lib/components/icon-list/icon-list.module.js +0 -15
  320. package/esm2015/lib/components/info/info.component.js +0 -94
  321. package/esm2015/lib/components/info/info.module.js +0 -23
  322. package/esm2015/lib/components/input/input.component.js +0 -148
  323. package/esm2015/lib/components/input/input.module.js +0 -16
  324. package/esm2015/lib/components/journey/journey.component.js +0 -122
  325. package/esm2015/lib/components/journey/journey.module.js +0 -19
  326. package/esm2015/lib/components/journey-availability/journey-availability.component.js +0 -125
  327. package/esm2015/lib/components/journey-availability/journey-availability.module.js +0 -26
  328. package/esm2015/lib/components/journey-availability-list/journey-availability-list.component.js +0 -175
  329. package/esm2015/lib/components/journey-selection/journey-selection.component.js +0 -110
  330. package/esm2015/lib/components/journey-selection/journey-selection.module.js +0 -24
  331. package/esm2015/lib/components/journey-stopover/journey-stopover.component.js +0 -121
  332. package/esm2015/lib/components/journey-stopover/journey-stopover.module.js +0 -19
  333. package/esm2015/lib/components/list/list-item/list-item.component.js +0 -56
  334. package/esm2015/lib/components/list/list.component.js +0 -75
  335. package/esm2015/lib/components/list/list.module.js +0 -15
  336. package/esm2015/lib/components/modal/modal.component.js +0 -131
  337. package/esm2015/lib/components/modal/modal.module.js +0 -25
  338. package/esm2015/lib/components/number-field/number-field.component.js +0 -118
  339. package/esm2015/lib/components/number-field/number-field.module.js +0 -24
  340. package/esm2015/lib/components/page-footer/page-footer.component.js +0 -49
  341. package/esm2015/lib/components/page-footer/page-footer.module.js +0 -16
  342. package/esm2015/lib/components/page-header/hamburger/hamburger.component.js +0 -24
  343. package/esm2015/lib/components/page-header/page-header.component.js +0 -126
  344. package/esm2015/lib/components/page-header/page-header.module.js +0 -18
  345. package/esm2015/lib/components/page-header/search/search.component.js +0 -47
  346. package/esm2015/lib/components/passenger-select/passenger-select.component.js +0 -207
  347. package/esm2015/lib/components/passenger-select/passenger-select.module.js +0 -19
  348. package/esm2015/lib/components/phone-number/phone-number.component.js +0 -115
  349. package/esm2015/lib/components/phone-number/phone-number.module.js +0 -27
  350. package/esm2015/lib/components/premium-toggle/premium-toggle.component.js +0 -66
  351. package/esm2015/lib/components/premium-toggle/premium-toggle.module.js +0 -19
  352. package/esm2015/lib/components/radio/radio.component.js +0 -79
  353. package/esm2015/lib/components/radio/radio.module.js +0 -15
  354. package/esm2015/lib/components/select/optgroup/optgroup.component.js +0 -31
  355. package/esm2015/lib/components/select/option/option.component.js +0 -29
  356. package/esm2015/lib/components/select/select.component.js +0 -325
  357. package/esm2015/lib/components/select/select.module.js +0 -21
  358. package/esm2015/lib/components/simple-list/simple-list.component.js +0 -42
  359. package/esm2015/lib/components/simple-list/simple-list.module.js +0 -14
  360. package/esm2015/lib/components/slide-toggle/slide-toggle.component.js +0 -105
  361. package/esm2015/lib/components/slide-toggle/slide-toggle.module.js +0 -20
  362. package/esm2015/lib/components/slider/slider.component.js +0 -475
  363. package/esm2015/lib/components/slider/slider.module.js +0 -19
  364. package/esm2015/lib/components/sort/sort.component.js +0 -87
  365. package/esm2015/lib/components/sort/sort.module.js +0 -23
  366. package/esm2015/lib/components/spinner/spinner.component.js +0 -109
  367. package/esm2015/lib/components/spinner/spinner.module.js +0 -14
  368. package/esm2015/lib/components/subsidy-discount/subsidy-discount.component.js +0 -101
  369. package/esm2015/lib/components/subsidy-discount/subsidy-discount.module.js +0 -23
  370. package/esm2015/lib/components/suggestions/suggestions.component.js +0 -40
  371. package/esm2015/lib/components/suggestions/suggestions.module.js +0 -19
  372. package/esm2015/lib/components/tab-group/tab/tab.component.js +0 -123
  373. package/esm2015/lib/components/tab-group/tab-group.component.js +0 -85
  374. package/esm2015/lib/components/tab-group/tab-group.module.js +0 -20
  375. package/esm2015/lib/components/table/column/column.component.js +0 -17
  376. package/esm2015/lib/components/table/column-group/column-group.component.js +0 -34
  377. package/esm2015/lib/components/table/services/table.service.js +0 -20
  378. package/esm2015/lib/components/table/table-body/table-body.component.js +0 -27
  379. package/esm2015/lib/components/table/table-foot/table-foot.component.js +0 -27
  380. package/esm2015/lib/components/table/table-head/table-head.component.js +0 -27
  381. package/esm2015/lib/components/table/table-row/table-data/table-data.component.js +0 -15
  382. package/esm2015/lib/components/table/table-row/table-header/table-header.component.js +0 -15
  383. package/esm2015/lib/components/table/table-row/table-row.component.js +0 -27
  384. package/esm2015/lib/components/table/table.component.js +0 -29
  385. package/esm2015/lib/components/table/table.module.js +0 -45
  386. package/esm2015/lib/components/textarea/textarea.component.js +0 -73
  387. package/esm2015/lib/components/textarea/textarea.module.js +0 -20
  388. package/esm2015/lib/components/toggle/toggle.component.js +0 -86
  389. package/esm2015/lib/components/toggle/toggle.module.js +0 -22
  390. package/esm2015/lib/components/trip-summary/trip-summary.component.js +0 -152
  391. package/esm2015/lib/components/trip-summary/trip-summary.module.js +0 -23
  392. package/esm2015/lib/components/weather-icon/weather-icon.component.js +0 -56
  393. package/esm2015/lib/components/weather-icon/weather-icon.module.js +0 -14
  394. package/esm2015/lib/core/base/nas-component.base.js +0 -48
  395. package/esm2015/lib/core/directives/nas-class/nas-class.directive.js +0 -75
  396. package/esm2015/lib/core/directives/nas-class/nas-class.module.js +0 -17
  397. package/esm2015/lib/core/services/abandoned-basket/abandoned-basket.service.js +0 -55
  398. package/esm2015/lib/core/services/animate-helper/animate-helper.service.js +0 -47
  399. package/esm2015/lib/core/services/bem-helper/bem-helper.service.js +0 -41
  400. package/esm2015/lib/core/services/date/date-helper.service.js +0 -196
  401. package/esm2015/lib/core/services/device/device-helper.service.js +0 -43
  402. package/esm2015/lib/core/services/geolocation/geolocation.service.js +0 -60
  403. package/esm2015/lib/core/services/language/language-helper.service.js +0 -162
  404. package/esm2015/lib/core/services/sort/sort.service.js +0 -19
  405. package/esm2015/lib/core/services/viewport/viewport.service.js +0 -29
  406. package/esm2015/lib/services/get-position.service.js +0 -21
  407. package/esm2015/norwegian-core-components.js +0 -12
  408. package/fesm2015/norwegian-core-components.js +0 -10860
  409. package/fesm2015/norwegian-core-components.js.map +0 -1
  410. package/norwegian-core-components.d.ts +0 -11
  411. package/norwegian-core-components.metadata.json +0 -1
  412. /package/{esm2015/lib/components/accordion/index.js → esm2020/lib/components/accordion/index.mjs} +0 -0
  413. /package/{esm2015/lib/components/airport-select/index.js → esm2020/lib/components/airport-select/index.mjs} +0 -0
  414. /package/{esm2015/lib/components/airport-select/models/airport.model.js → esm2020/lib/components/airport-select/models/airport.model.mjs} +0 -0
  415. /package/{esm2015/lib/components/airport-select/models/results-labels.model.js → esm2020/lib/components/airport-select/models/results-labels.model.mjs} +0 -0
  416. /package/{esm2015/lib/components/autocomplete/index.js → esm2020/lib/components/autocomplete/index.mjs} +0 -0
  417. /package/{esm2015/lib/components/autocomplete/models/autocomplete.model.js → esm2020/lib/components/autocomplete/models/autocomplete.model.mjs} +0 -0
  418. /package/{esm2015/lib/components/backdrop/index.js → esm2020/lib/components/backdrop/index.mjs} +0 -0
  419. /package/{esm2015/lib/components/box/index.js → esm2020/lib/components/box/index.mjs} +0 -0
  420. /package/{esm2015/lib/components/button/index.js → esm2020/lib/components/button/index.mjs} +0 -0
  421. /package/{esm2015/lib/components/checkbox/index.js → esm2020/lib/components/checkbox/index.mjs} +0 -0
  422. /package/{esm2015/lib/components/chip/index.js → esm2020/lib/components/chip/index.mjs} +0 -0
  423. /package/{esm2015/lib/components/container/index.js → esm2020/lib/components/container/index.mjs} +0 -0
  424. /package/{esm2015/lib/components/continue/index.js → esm2020/lib/components/continue/index.mjs} +0 -0
  425. /package/{esm2015/lib/components/cover/index.js → esm2020/lib/components/cover/index.mjs} +0 -0
  426. /package/{esm2015/lib/components/datepicker/calendar/calendar-date.model.js → esm2020/lib/components/datepicker/calendar/calendar-date.model.mjs} +0 -0
  427. /package/{esm2015/lib/components/datepicker/calendar/enums/week-start.enum.js → esm2020/lib/components/datepicker/calendar/enums/week-start.enum.mjs} +0 -0
  428. /package/{esm2015/lib/components/datepicker/calendar/models/day.model.js → esm2020/lib/components/datepicker/calendar/models/day.model.mjs} +0 -0
  429. /package/{esm2015/lib/components/datepicker/calendar/models/select-option.model.js → esm2020/lib/components/datepicker/calendar/models/select-option.model.mjs} +0 -0
  430. /package/{esm2015/lib/components/datepicker/calendar/models/week.model.js → esm2020/lib/components/datepicker/calendar/models/week.model.mjs} +0 -0
  431. /package/{esm2015/lib/components/datepicker/index.js → esm2020/lib/components/datepicker/index.mjs} +0 -0
  432. /package/{esm2015/lib/components/datepicker-combo/index.js → esm2020/lib/components/datepicker-combo/index.mjs} +0 -0
  433. /package/{esm2015/lib/components/divider/index.js → esm2020/lib/components/divider/index.mjs} +0 -0
  434. /package/{esm2015/lib/components/dropdown/index.js → esm2020/lib/components/dropdown/index.mjs} +0 -0
  435. /package/{esm2015/lib/components/filter/enums/trip-type.enum.js → esm2020/lib/components/filter/enums/trip-type.enum.mjs} +0 -0
  436. /package/{esm2015/lib/components/filter/index.js → esm2020/lib/components/filter/index.mjs} +0 -0
  437. /package/{esm2015/lib/components/grid/index.js → esm2020/lib/components/grid/index.mjs} +0 -0
  438. /package/{esm2015/lib/components/icon/index.js → esm2020/lib/components/icon/index.mjs} +0 -0
  439. /package/{esm2015/lib/components/icon-list/icon-list.model.js → esm2020/lib/components/icon-list/icon-list.model.mjs} +0 -0
  440. /package/{esm2015/lib/components/icon-list/index.js → esm2020/lib/components/icon-list/index.mjs} +0 -0
  441. /package/{esm2015/lib/components/index.js → esm2020/lib/components/index.mjs} +0 -0
  442. /package/{esm2015/lib/components/info/index.js → esm2020/lib/components/info/index.mjs} +0 -0
  443. /package/{esm2015/lib/components/info/models/info.model.js → esm2020/lib/components/info/models/info.model.mjs} +0 -0
  444. /package/{esm2015/lib/components/input/index.js → esm2020/lib/components/input/index.mjs} +0 -0
  445. /package/{esm2015/lib/components/journey/index.js → esm2020/lib/components/journey/index.mjs} +0 -0
  446. /package/{esm2015/lib/components/journey/models/journey-flight.model.js → esm2020/lib/components/journey/models/journey-flight.model.mjs} +0 -0
  447. /package/{esm2015/lib/components/journey/models/journey.model.js → esm2020/lib/components/journey/models/journey.model.mjs} +0 -0
  448. /package/{esm2015/lib/components/journey-availability/index.js → esm2020/lib/components/journey-availability/index.mjs} +0 -0
  449. /package/{esm2015/lib/components/journey-availability-list/enums/availability-sort-option.enum.js → esm2020/lib/components/journey-availability-list/enums/availability-sort-option.enum.mjs} +0 -0
  450. /package/{esm2015/lib/components/journey-availability-list/index.js → esm2020/lib/components/journey-availability-list/index.mjs} +0 -0
  451. /package/{esm2015/lib/components/journey-selection/index.js → esm2020/lib/components/journey-selection/index.mjs} +0 -0
  452. /package/{esm2015/lib/components/journey-selection/models/journey-selection-collapsed.model.js → esm2020/lib/components/journey-selection/models/journey-selection-collapsed.model.mjs} +0 -0
  453. /package/{esm2015/lib/components/journey-selection/models/journey-selection-common.model.js → esm2020/lib/components/journey-selection/models/journey-selection-common.model.mjs} +0 -0
  454. /package/{esm2015/lib/components/journey-selection/models/journey-selection-expanded.model.js → esm2020/lib/components/journey-selection/models/journey-selection-expanded.model.mjs} +0 -0
  455. /package/{esm2015/lib/components/journey-selection/models/journey-selection.model.js → esm2020/lib/components/journey-selection/models/journey-selection.model.mjs} +0 -0
  456. /package/{esm2015/lib/components/journey-stopover/index.js → esm2020/lib/components/journey-stopover/index.mjs} +0 -0
  457. /package/{esm2015/lib/components/journey-stopover/models/stopover-time.model.js → esm2020/lib/components/journey-stopover/models/stopover-time.model.mjs} +0 -0
  458. /package/{esm2015/lib/components/list/index.js → esm2020/lib/components/list/index.mjs} +0 -0
  459. /package/{esm2015/lib/components/modal/index.js → esm2020/lib/components/modal/index.mjs} +0 -0
  460. /package/{esm2015/lib/components/number-field/index.js → esm2020/lib/components/number-field/index.mjs} +0 -0
  461. /package/{esm2015/lib/components/page-footer/index.js → esm2020/lib/components/page-footer/index.mjs} +0 -0
  462. /package/{esm2015/lib/components/page-header/index.js → esm2020/lib/components/page-header/index.mjs} +0 -0
  463. /package/{esm2015/lib/components/passenger-select/enums/passenger-type.enum.js → esm2020/lib/components/passenger-select/enums/passenger-type.enum.mjs} +0 -0
  464. /package/{esm2015/lib/components/passenger-select/index.js → esm2020/lib/components/passenger-select/index.mjs} +0 -0
  465. /package/{esm2015/lib/components/phone-number/index.js → esm2020/lib/components/phone-number/index.mjs} +0 -0
  466. /package/{esm2015/lib/components/premium-toggle/index.js → esm2020/lib/components/premium-toggle/index.mjs} +0 -0
  467. /package/{esm2015/lib/components/radio/index.js → esm2020/lib/components/radio/index.mjs} +0 -0
  468. /package/{esm2015/lib/components/select/index.js → esm2020/lib/components/select/index.mjs} +0 -0
  469. /package/{esm2015/lib/components/select/models/select-option.model.js → esm2020/lib/components/select/models/select-option.model.mjs} +0 -0
  470. /package/{esm2015/lib/components/simple-list/index.js → esm2020/lib/components/simple-list/index.mjs} +0 -0
  471. /package/{esm2015/lib/components/slide-toggle/index.js → esm2020/lib/components/slide-toggle/index.mjs} +0 -0
  472. /package/{esm2015/lib/components/slider/index.js → esm2020/lib/components/slider/index.mjs} +0 -0
  473. /package/{esm2015/lib/components/sort/index.js → esm2020/lib/components/sort/index.mjs} +0 -0
  474. /package/{esm2015/lib/components/spinner/index.js → esm2020/lib/components/spinner/index.mjs} +0 -0
  475. /package/{esm2015/lib/components/subsidy-discount/index.js → esm2020/lib/components/subsidy-discount/index.mjs} +0 -0
  476. /package/{esm2015/lib/components/subsidy-discount/models/subsidy-discount.model.js → esm2020/lib/components/subsidy-discount/models/subsidy-discount.model.mjs} +0 -0
  477. /package/{esm2015/lib/components/suggestions/index.js → esm2020/lib/components/suggestions/index.mjs} +0 -0
  478. /package/{esm2015/lib/components/tab-group/index.js → esm2020/lib/components/tab-group/index.mjs} +0 -0
  479. /package/{esm2015/lib/components/table/index.js → esm2020/lib/components/table/index.mjs} +0 -0
  480. /package/{esm2015/lib/components/textarea/index.js → esm2020/lib/components/textarea/index.mjs} +0 -0
  481. /package/{esm2015/lib/components/toggle/index.js → esm2020/lib/components/toggle/index.mjs} +0 -0
  482. /package/{esm2015/lib/components/toggle/models/options.model.js → esm2020/lib/components/toggle/models/options.model.mjs} +0 -0
  483. /package/{esm2015/lib/components/trip-summary/index.js → esm2020/lib/components/trip-summary/index.mjs} +0 -0
  484. /package/{esm2015/lib/components/weather-icon/index.js → esm2020/lib/components/weather-icon/index.mjs} +0 -0
  485. /package/{esm2015/lib/core/decorators/debounce.decorator.js → esm2020/lib/core/decorators/debounce.decorator.mjs} +0 -0
  486. /package/{esm2015/lib/core/directives/index.js → esm2020/lib/core/directives/index.mjs} +0 -0
  487. /package/{esm2015/lib/core/index.js → esm2020/lib/core/index.mjs} +0 -0
  488. /package/{esm2015/lib/core/models/abandoned-basket-item.model.js → esm2020/lib/core/models/abandoned-basket-item.model.mjs} +0 -0
  489. /package/{esm2015/lib/core/models/animate.model.js → esm2020/lib/core/models/animate.model.mjs} +0 -0
  490. /package/{esm2015/lib/core/models/class.model.js → esm2020/lib/core/models/class.model.mjs} +0 -0
  491. /package/{esm2015/lib/core/models/index.js → esm2020/lib/core/models/index.mjs} +0 -0
  492. /package/{esm2015/lib/core/models/link.model.js → esm2020/lib/core/models/link.model.mjs} +0 -0
  493. /package/{esm2015/lib/core/models/position.model.js → esm2020/lib/core/models/position.model.mjs} +0 -0
  494. /package/{esm2015/lib/core/models/utc-date.model.js → esm2020/lib/core/models/utc-date.model.mjs} +0 -0
  495. /package/{esm2015/lib/core/services/date/date-compare.enum.js → esm2020/lib/core/services/date/date-compare.enum.mjs} +0 -0
  496. /package/{esm2015/lib/core/services/geolocation/geolocation-state.enum.js → esm2020/lib/core/services/geolocation/geolocation-state.enum.mjs} +0 -0
  497. /package/{esm2015/lib/core/services/index.js → esm2020/lib/core/services/index.mjs} +0 -0
  498. /package/{esm2015/lib/index.js → esm2020/lib/index.mjs} +0 -0
  499. /package/{esm2015/lib/services/index.js → esm2020/lib/services/index.mjs} +0 -0
  500. /package/{esm2015/lib/shared/index.js → esm2020/lib/shared/index.mjs} +0 -0
  501. /package/{esm2015/lib/shared/models/flight-details.js → esm2020/lib/shared/models/flight-details.mjs} +0 -0
  502. /package/{esm2015/lib/shared/models/index.js → esm2020/lib/shared/models/index.mjs} +0 -0
  503. /package/{esm2015/lib/shared/models/journey-availability-sort.model.js → esm2020/lib/shared/models/journey-availability-sort.model.mjs} +0 -0
  504. /package/{esm2015/lib/shared/models/journey-availability.model.js → esm2020/lib/shared/models/journey-availability.model.mjs} +0 -0
  505. /package/{esm2015/lib/shared/models/journey-details.model.js → esm2020/lib/shared/models/journey-details.model.mjs} +0 -0
  506. /package/{esm2015/lib/shared/models/journey-duration.model.js → esm2020/lib/shared/models/journey-duration.model.mjs} +0 -0
  507. /package/{esm2015/lib/shared/models/journey-stopover.model.js → esm2020/lib/shared/models/journey-stopover.model.mjs} +0 -0
  508. /package/{esm2015/lib/shared/models/journey-transit-info.model.js → esm2020/lib/shared/models/journey-transit-info.model.mjs} +0 -0
  509. /package/{esm2015/lib/shared/models/operating-carrier.model.js → esm2020/lib/shared/models/operating-carrier.model.mjs} +0 -0
  510. /package/{esm2015/lib/shared/models/sort-option.model.js → esm2020/lib/shared/models/sort-option.model.mjs} +0 -0
  511. /package/{esm2015/lib/shared/models/sort.model.js → esm2020/lib/shared/models/sort.model.mjs} +0 -0
  512. /package/{esm2015/lib/shared/models/trip-item-details.model.js → esm2020/lib/shared/models/trip-item-details.model.mjs} +0 -0
  513. /package/{esm2015/lib/shared/models/trip-summary-details.model.js → esm2020/lib/shared/models/trip-summary-details.model.mjs} +0 -0
  514. /package/{esm2015/lib/shared/models/trip-summary.model.js → esm2020/lib/shared/models/trip-summary.model.mjs} +0 -0
  515. /package/{esm2015/public_api.js → esm2020/public_api.mjs} +0 -0
@@ -0,0 +1,35 @@
1
+ import { Injectable } from '@angular/core';
2
+ import * as i0 from "@angular/core";
3
+ export class AirportSelectDropdownService {
4
+ constructor() { }
5
+ hasLatestSearches(displayLatestSearches, latestSearches) {
6
+ if (!displayLatestSearches || !latestSearches) {
7
+ return false;
8
+ }
9
+ const hasLatestSearches = latestSearches.length > 0;
10
+ return hasLatestSearches;
11
+ }
12
+ hasClosestAirports(displayClosestAirports, closestAirports) {
13
+ if (!displayClosestAirports || !closestAirports) {
14
+ return false;
15
+ }
16
+ const hasClosestAirports = closestAirports.length > 0;
17
+ return hasClosestAirports;
18
+ }
19
+ isIndexInClosestAirports(focusedClosestAirportIndex, closestAirports) {
20
+ if (!closestAirports || closestAirports.length === 0) {
21
+ return false;
22
+ }
23
+ const isIndexInClosestAirports = focusedClosestAirportIndex < closestAirports.length - 1;
24
+ return isIndexInClosestAirports;
25
+ }
26
+ }
27
+ AirportSelectDropdownService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: AirportSelectDropdownService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
28
+ AirportSelectDropdownService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: AirportSelectDropdownService, providedIn: 'root' });
29
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: AirportSelectDropdownService, decorators: [{
30
+ type: Injectable,
31
+ args: [{
32
+ providedIn: 'root'
33
+ }]
34
+ }], ctorParameters: function () { return []; } });
35
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWlycG9ydC1zZWxlY3QtZHJvcGRvd24uc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NvcmUtY29tcG9uZW50cy9zcmMvbGliL2NvbXBvbmVudHMvYWlycG9ydC1zZWxlY3Qvc2VydmljZXMvYWlycG9ydC1zZWxlY3QtZHJvcGRvd24uc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDOztBQU0zQyxNQUFNLE9BQU8sNEJBQTRCO0lBRXZDLGdCQUFnQixDQUFDO0lBRWpCLGlCQUFpQixDQUFDLHFCQUE4QixFQUFFLGNBQW1DO1FBQ25GLElBQUksQ0FBQyxxQkFBcUIsSUFBSSxDQUFDLGNBQWMsRUFBRTtZQUM3QyxPQUFPLEtBQUssQ0FBQztTQUNkO1FBQ0QsTUFBTSxpQkFBaUIsR0FBRyxjQUFjLENBQUMsTUFBTSxHQUFHLENBQUMsQ0FBQztRQUNwRCxPQUFPLGlCQUFpQixDQUFDO0lBQzNCLENBQUM7SUFFRCxrQkFBa0IsQ0FBQyxzQkFBK0IsRUFBRSxlQUFvQztRQUN0RixJQUFJLENBQUMsc0JBQXNCLElBQUksQ0FBQyxlQUFlLEVBQUU7WUFDL0MsT0FBTyxLQUFLLENBQUM7U0FDZDtRQUNELE1BQU0sa0JBQWtCLEdBQUcsZUFBZSxDQUFDLE1BQU0sR0FBRyxDQUFDLENBQUM7UUFDdEQsT0FBTyxrQkFBa0IsQ0FBQztJQUM1QixDQUFDO0lBRUQsd0JBQXdCLENBQUMsMEJBQWtDLEVBQUUsZUFBb0M7UUFDL0YsSUFBSSxDQUFDLGVBQWUsSUFBSSxlQUFlLENBQUMsTUFBTSxLQUFLLENBQUMsRUFBRTtZQUNwRCxPQUFPLEtBQUssQ0FBQztTQUNkO1FBRUQsTUFBTSx3QkFBd0IsR0FBRywwQkFBMEIsR0FBRyxlQUFlLENBQUMsTUFBTSxHQUFHLENBQUMsQ0FBQztRQUN6RixPQUFPLHdCQUF3QixDQUFDO0lBQ2xDLENBQUM7O3lIQTNCVSw0QkFBNEI7NkhBQTVCLDRCQUE0QixjQUYzQixNQUFNOzJGQUVQLDRCQUE0QjtrQkFIeEMsVUFBVTttQkFBQztvQkFDVixVQUFVLEVBQUUsTUFBTTtpQkFDbkIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBBaXJwb3J0TW9kZWwgfSBmcm9tICcuLi9tb2RlbHMvYWlycG9ydC5tb2RlbCc7XG5cbkBJbmplY3RhYmxlKHtcbiAgcHJvdmlkZWRJbjogJ3Jvb3QnXG59KVxuZXhwb3J0IGNsYXNzIEFpcnBvcnRTZWxlY3REcm9wZG93blNlcnZpY2Uge1xuXG4gIGNvbnN0cnVjdG9yKCkgeyB9XG5cbiAgaGFzTGF0ZXN0U2VhcmNoZXMoZGlzcGxheUxhdGVzdFNlYXJjaGVzOiBib29sZWFuLCBsYXRlc3RTZWFyY2hlczogQXJyYXk8QWlycG9ydE1vZGVsPik6IGJvb2xlYW4ge1xuICAgIGlmICghZGlzcGxheUxhdGVzdFNlYXJjaGVzIHx8ICFsYXRlc3RTZWFyY2hlcykge1xuICAgICAgcmV0dXJuIGZhbHNlO1xuICAgIH1cbiAgICBjb25zdCBoYXNMYXRlc3RTZWFyY2hlcyA9IGxhdGVzdFNlYXJjaGVzLmxlbmd0aCA+IDA7XG4gICAgcmV0dXJuIGhhc0xhdGVzdFNlYXJjaGVzO1xuICB9XG5cbiAgaGFzQ2xvc2VzdEFpcnBvcnRzKGRpc3BsYXlDbG9zZXN0QWlycG9ydHM6IGJvb2xlYW4sIGNsb3Nlc3RBaXJwb3J0czogQXJyYXk8QWlycG9ydE1vZGVsPik6IGJvb2xlYW4ge1xuICAgIGlmICghZGlzcGxheUNsb3Nlc3RBaXJwb3J0cyB8fCAhY2xvc2VzdEFpcnBvcnRzKSB7XG4gICAgICByZXR1cm4gZmFsc2U7XG4gICAgfVxuICAgIGNvbnN0IGhhc0Nsb3Nlc3RBaXJwb3J0cyA9IGNsb3Nlc3RBaXJwb3J0cy5sZW5ndGggPiAwO1xuICAgIHJldHVybiBoYXNDbG9zZXN0QWlycG9ydHM7XG4gIH1cblxuICBpc0luZGV4SW5DbG9zZXN0QWlycG9ydHMoZm9jdXNlZENsb3Nlc3RBaXJwb3J0SW5kZXg6IG51bWJlciwgY2xvc2VzdEFpcnBvcnRzOiBBcnJheTxBaXJwb3J0TW9kZWw+KTogYm9vbGVhbiB7XG4gICAgaWYgKCFjbG9zZXN0QWlycG9ydHMgfHwgY2xvc2VzdEFpcnBvcnRzLmxlbmd0aCA9PT0gMCkge1xuICAgICAgcmV0dXJuIGZhbHNlO1xuICAgIH1cblxuICAgIGNvbnN0IGlzSW5kZXhJbkNsb3Nlc3RBaXJwb3J0cyA9IGZvY3VzZWRDbG9zZXN0QWlycG9ydEluZGV4IDwgY2xvc2VzdEFpcnBvcnRzLmxlbmd0aCAtIDE7XG4gICAgcmV0dXJuIGlzSW5kZXhJbkNsb3Nlc3RBaXJwb3J0cztcbiAgfVxufVxuIl19
@@ -0,0 +1,38 @@
1
+ import { Injectable } from '@angular/core';
2
+ import * as i0 from "@angular/core";
3
+ export class AirportSelectService {
4
+ constructor() { }
5
+ filter(airports, name) {
6
+ if (!name || !airports) {
7
+ return airports;
8
+ }
9
+ const inputValue = name.trim().toLowerCase();
10
+ const filters = [
11
+ (airport) => airport.name?.toLowerCase().startsWith(inputValue),
12
+ (airport) => airport.airportName?.toLowerCase().startsWith(inputValue),
13
+ (airport) => airport.displayName?.toLowerCase().startsWith(inputValue),
14
+ (airport) => airport.normalizedAirportName?.toLowerCase().startsWith(inputValue),
15
+ (airport) => airport.code?.toLowerCase() === inputValue,
16
+ (airport) => airport.countryName?.toLowerCase().startsWith(inputValue),
17
+ ];
18
+ const results = [];
19
+ for (const filter of filters) {
20
+ const matched = airports.filter(filter);
21
+ results.push(...matched);
22
+ airports = airports.filter(airport => !matched.includes(airport));
23
+ }
24
+ if (results.length === 0) {
25
+ return airports;
26
+ }
27
+ return results;
28
+ }
29
+ }
30
+ AirportSelectService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: AirportSelectService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
31
+ AirportSelectService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: AirportSelectService, providedIn: 'root' });
32
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: AirportSelectService, decorators: [{
33
+ type: Injectable,
34
+ args: [{
35
+ providedIn: 'root'
36
+ }]
37
+ }], ctorParameters: function () { return []; } });
38
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWlycG9ydC1zZWxlY3Quc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NvcmUtY29tcG9uZW50cy9zcmMvbGliL2NvbXBvbmVudHMvYWlycG9ydC1zZWxlY3Qvc2VydmljZXMvYWlycG9ydC1zZWxlY3Quc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDOztBQU0zQyxNQUFNLE9BQU8sb0JBQW9CO0lBRS9CLGdCQUFnQixDQUFDO0lBRWpCLE1BQU0sQ0FBQyxRQUF3QixFQUFFLElBQVk7UUFDM0MsSUFBSSxDQUFDLElBQUksSUFBSSxDQUFDLFFBQVEsRUFBRTtZQUN0QixPQUFPLFFBQVEsQ0FBQztTQUNqQjtRQUVELE1BQU0sVUFBVSxHQUFHLElBQUksQ0FBQyxJQUFJLEVBQUUsQ0FBQyxXQUFXLEVBQUUsQ0FBQztRQUU3QyxNQUFNLE9BQU8sR0FBRztZQUNkLENBQUMsT0FBcUIsRUFBRSxFQUFFLENBQUMsT0FBTyxDQUFDLElBQUksRUFBRSxXQUFXLEVBQUUsQ0FBQyxVQUFVLENBQUMsVUFBVSxDQUFDO1lBQzdFLENBQUMsT0FBcUIsRUFBRSxFQUFFLENBQUMsT0FBTyxDQUFDLFdBQVcsRUFBRSxXQUFXLEVBQUUsQ0FBQyxVQUFVLENBQUMsVUFBVSxDQUFDO1lBQ3BGLENBQUMsT0FBcUIsRUFBRSxFQUFFLENBQUMsT0FBTyxDQUFDLFdBQVcsRUFBRSxXQUFXLEVBQUUsQ0FBQyxVQUFVLENBQUMsVUFBVSxDQUFDO1lBQ3BGLENBQUMsT0FBcUIsRUFBRSxFQUFFLENBQUMsT0FBTyxDQUFDLHFCQUFxQixFQUFFLFdBQVcsRUFBRSxDQUFDLFVBQVUsQ0FBQyxVQUFVLENBQUM7WUFDOUYsQ0FBQyxPQUFxQixFQUFFLEVBQUUsQ0FBQyxPQUFPLENBQUMsSUFBSSxFQUFFLFdBQVcsRUFBRSxLQUFLLFVBQVU7WUFDckUsQ0FBQyxPQUFxQixFQUFFLEVBQUUsQ0FBQyxPQUFPLENBQUMsV0FBVyxFQUFFLFdBQVcsRUFBRSxDQUFDLFVBQVUsQ0FBQyxVQUFVLENBQUM7U0FDckYsQ0FBQztRQUVGLE1BQU0sT0FBTyxHQUFHLEVBQUUsQ0FBQztRQUVuQixLQUFLLE1BQU0sTUFBTSxJQUFJLE9BQU8sRUFBRTtZQUM1QixNQUFNLE9BQU8sR0FBRyxRQUFRLENBQUMsTUFBTSxDQUFDLE1BQU0sQ0FBQyxDQUFDO1lBQ3hDLE9BQU8sQ0FBQyxJQUFJLENBQUMsR0FBRyxPQUFPLENBQUMsQ0FBQztZQUN6QixRQUFRLEdBQUcsUUFBUSxDQUFDLE1BQU0sQ0FBQyxPQUFPLENBQUMsRUFBRSxDQUFDLENBQUMsT0FBTyxDQUFDLFFBQVEsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDO1NBQ25FO1FBRUQsSUFBSSxPQUFPLENBQUMsTUFBTSxLQUFLLENBQUMsRUFBRTtZQUN4QixPQUFPLFFBQVEsQ0FBQztTQUNqQjtRQUVELE9BQU8sT0FBTyxDQUFDO0lBQ2pCLENBQUM7O2lIQWpDVSxvQkFBb0I7cUhBQXBCLG9CQUFvQixjQUZuQixNQUFNOzJGQUVQLG9CQUFvQjtrQkFIaEMsVUFBVTttQkFBQztvQkFDVixVQUFVLEVBQUUsTUFBTTtpQkFDbkIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBBaXJwb3J0TW9kZWwgfSBmcm9tICcuLi9tb2RlbHMvYWlycG9ydC5tb2RlbCc7XG5cbkBJbmplY3RhYmxlKHtcbiAgcHJvdmlkZWRJbjogJ3Jvb3QnXG59KVxuZXhwb3J0IGNsYXNzIEFpcnBvcnRTZWxlY3RTZXJ2aWNlIHtcblxuICBjb25zdHJ1Y3RvcigpIHsgfVxuXG4gIGZpbHRlcihhaXJwb3J0czogQWlycG9ydE1vZGVsW10sIG5hbWU6IHN0cmluZyk6IEFpcnBvcnRNb2RlbFtdIHtcbiAgICBpZiAoIW5hbWUgfHwgIWFpcnBvcnRzKSB7XG4gICAgICByZXR1cm4gYWlycG9ydHM7XG4gICAgfVxuXG4gICAgY29uc3QgaW5wdXRWYWx1ZSA9IG5hbWUudHJpbSgpLnRvTG93ZXJDYXNlKCk7XG5cbiAgICBjb25zdCBmaWx0ZXJzID0gW1xuICAgICAgKGFpcnBvcnQ6IEFpcnBvcnRNb2RlbCkgPT4gYWlycG9ydC5uYW1lPy50b0xvd2VyQ2FzZSgpLnN0YXJ0c1dpdGgoaW5wdXRWYWx1ZSksXG4gICAgICAoYWlycG9ydDogQWlycG9ydE1vZGVsKSA9PiBhaXJwb3J0LmFpcnBvcnROYW1lPy50b0xvd2VyQ2FzZSgpLnN0YXJ0c1dpdGgoaW5wdXRWYWx1ZSksXG4gICAgICAoYWlycG9ydDogQWlycG9ydE1vZGVsKSA9PiBhaXJwb3J0LmRpc3BsYXlOYW1lPy50b0xvd2VyQ2FzZSgpLnN0YXJ0c1dpdGgoaW5wdXRWYWx1ZSksXG4gICAgICAoYWlycG9ydDogQWlycG9ydE1vZGVsKSA9PiBhaXJwb3J0Lm5vcm1hbGl6ZWRBaXJwb3J0TmFtZT8udG9Mb3dlckNhc2UoKS5zdGFydHNXaXRoKGlucHV0VmFsdWUpLFxuICAgICAgKGFpcnBvcnQ6IEFpcnBvcnRNb2RlbCkgPT4gYWlycG9ydC5jb2RlPy50b0xvd2VyQ2FzZSgpID09PSBpbnB1dFZhbHVlLFxuICAgICAgKGFpcnBvcnQ6IEFpcnBvcnRNb2RlbCkgPT4gYWlycG9ydC5jb3VudHJ5TmFtZT8udG9Mb3dlckNhc2UoKS5zdGFydHNXaXRoKGlucHV0VmFsdWUpLFxuICAgIF07XG5cbiAgICBjb25zdCByZXN1bHRzID0gW107XG5cbiAgICBmb3IgKGNvbnN0IGZpbHRlciBvZiBmaWx0ZXJzKSB7XG4gICAgICBjb25zdCBtYXRjaGVkID0gYWlycG9ydHMuZmlsdGVyKGZpbHRlcik7XG4gICAgICByZXN1bHRzLnB1c2goLi4ubWF0Y2hlZCk7XG4gICAgICBhaXJwb3J0cyA9IGFpcnBvcnRzLmZpbHRlcihhaXJwb3J0ID0+ICFtYXRjaGVkLmluY2x1ZGVzKGFpcnBvcnQpKTtcbiAgICB9XG5cbiAgICBpZiAocmVzdWx0cy5sZW5ndGggPT09IDApIHtcbiAgICAgIHJldHVybiBhaXJwb3J0cztcbiAgICB9XG5cbiAgICByZXR1cm4gcmVzdWx0cztcbiAgfVxufVxuIl19
@@ -0,0 +1,287 @@
1
+ import { Component, EventEmitter, Inject, Input, Output, ViewChild } from '@angular/core';
2
+ import { DOCUMENT } from '@angular/common';
3
+ import { NasComponentBase } from '../../core';
4
+ import * as i0 from "@angular/core";
5
+ import * as i1 from "@angular/common";
6
+ import * as i2 from "../../core/directives/nas-class/nas-class.directive";
7
+ import * as i3 from "@angular/forms";
8
+ import * as i4 from "../icon/icon.component";
9
+ import * as i5 from "../backdrop/backdrop.component";
10
+ let nextId = 0;
11
+ /**
12
+ * @description
13
+ * Norwegian Airport Select Component | Form Controls
14
+ */
15
+ export class AutocompleteComponent extends NasComponentBase {
16
+ get showBackdrop() {
17
+ return !this.exists(this.disableBackdrop) && this.open;
18
+ }
19
+ set showBackdrop(value) {
20
+ if (!value) {
21
+ this.blur();
22
+ }
23
+ }
24
+ /**
25
+ * @description
26
+ * An array of items that will appear inside the dropdown list.
27
+ */
28
+ get items() {
29
+ return this.itemsValue;
30
+ }
31
+ set items(items) {
32
+ if (!items || items.length <= 0) {
33
+ return;
34
+ }
35
+ this.itemsValue = items;
36
+ this.filter();
37
+ }
38
+ /**
39
+ * @description
40
+ * Can set and listen to wheather the dropdown list is or should be open or not.
41
+ */
42
+ get open() {
43
+ return this.openValue;
44
+ }
45
+ set open(open) {
46
+ if (this.open === open || !this.items) {
47
+ return;
48
+ }
49
+ this.openValue = open;
50
+ this.openChange.emit(open);
51
+ }
52
+ /**
53
+ * @description
54
+ * Can set and listen to changes in the model of the text field.
55
+ */
56
+ get model() {
57
+ return this.modelValue;
58
+ }
59
+ set model(model) {
60
+ if (this.modelValue === model) {
61
+ return;
62
+ }
63
+ this.modelValue = model;
64
+ if (model && this.filteredItems) {
65
+ this.index = this.filteredItems.findIndex(x => x.title === model);
66
+ }
67
+ this.pathReactiveFormControl(model);
68
+ this.modelChange.emit(model);
69
+ }
70
+ constructor(document) {
71
+ super('nas-autocomplete');
72
+ this.document = document;
73
+ this.filteredItems = this.items;
74
+ /**
75
+ * @description
76
+ * A placeholder that will appear inside the text field.
77
+ */
78
+ this.placeholder = '';
79
+ /**
80
+ * @description
81
+ * Is fired when the next element should be focused.
82
+ */
83
+ this.focusOnNext = new EventEmitter();
84
+ /**
85
+ * @description
86
+ * Is fired when the user selects an item in the dropdown list.
87
+ */
88
+ this.selectedChange = new EventEmitter();
89
+ this.openChange = new EventEmitter();
90
+ this.modelChange = new EventEmitter();
91
+ this.index = -1;
92
+ this.openValue = false;
93
+ this.componentId = nextId++;
94
+ }
95
+ ngOnInit() {
96
+ if (!this.ariaLabelClear) {
97
+ this.warnMissingAccessibiltyInput('ariaLabelClear');
98
+ }
99
+ if (!this.ariaLabelBackdrop) {
100
+ this.warnMissingAccessibiltyInput('ariaLabelBackdrop');
101
+ }
102
+ }
103
+ getResultsId() {
104
+ return `nas-autocomplete-results-${this.componentId}`;
105
+ }
106
+ getLabelId() {
107
+ return `nas-autocomplete-label-${this.componentId}`;
108
+ }
109
+ getInputId() {
110
+ return `nas-autocomplete-input-${this.componentId}`;
111
+ }
112
+ setOpen() {
113
+ this.input.nativeElement.select();
114
+ this.open = true;
115
+ }
116
+ filter() {
117
+ if (!this.items) {
118
+ return;
119
+ }
120
+ if (!this.model && (!this.nasFormGroup || !this.nasFormControlName)) {
121
+ this.filteredItems = this.items;
122
+ return;
123
+ }
124
+ let currentModel = this.model;
125
+ if (this.nasFormGroup && this.nasFormControlName) {
126
+ const control = this.nasFormGroup.get(this.nasFormControlName);
127
+ currentModel = control.value;
128
+ }
129
+ this.filteredItems = this.items.filter(x => (x.title && x.title.toLowerCase().includes(currentModel.toLowerCase())) ||
130
+ (x.preamble && x.preamble.toLowerCase().includes(currentModel.toLowerCase())));
131
+ if (currentModel === '' || this.input.nativeElement.value === '') {
132
+ this.filteredItems = this.items;
133
+ }
134
+ this.index = 0;
135
+ if (this.filteredItems) {
136
+ this.focused = this.filteredItems[this.index];
137
+ this.open = true;
138
+ }
139
+ else {
140
+ this.open = false;
141
+ }
142
+ }
143
+ onKeyDown(event) {
144
+ switch (event.key) {
145
+ case 'Escape':
146
+ this.open = false;
147
+ this.blur();
148
+ break;
149
+ case 'Tab':
150
+ case 'Enter':
151
+ if (!event.shiftKey) {
152
+ event.preventDefault();
153
+ this.focusOnNext.emit(event);
154
+ }
155
+ if (this.focused) {
156
+ this.modelValue = this.focused.title;
157
+ this.selectedChange.emit(this.focused);
158
+ this.pathReactiveFormControl(this.modelValue);
159
+ }
160
+ this.blur();
161
+ break;
162
+ case 'ArrowDown':
163
+ case 'Down':
164
+ this.focusDown();
165
+ break;
166
+ case 'ArrowUp':
167
+ case 'Up':
168
+ this.focusUp();
169
+ break;
170
+ default:
171
+ break;
172
+ }
173
+ }
174
+ clearSelected(event) {
175
+ event.preventDefault();
176
+ this.focused = null;
177
+ this.filteredItems = this.items;
178
+ this.model = '';
179
+ this.open = true;
180
+ this.index = -1;
181
+ this.input.nativeElement.focus();
182
+ }
183
+ select(item) {
184
+ this.focused = item;
185
+ this.model = item.title;
186
+ this.selectedChange.emit(item);
187
+ if (this.filteredItems) {
188
+ this.index = this.filteredItems.findIndex(x => x.id === item.id);
189
+ }
190
+ this.open = false;
191
+ this.focusOnNext.emit();
192
+ }
193
+ blur() {
194
+ this.open = false;
195
+ this.openChange.emit(false);
196
+ }
197
+ focusDown() {
198
+ ++this.index;
199
+ if (this.filteredItems) {
200
+ if (!this.filteredItems[this.index]) {
201
+ this.index = 0;
202
+ }
203
+ this.focused = this.filteredItems[this.index];
204
+ }
205
+ if (this.index === 0) {
206
+ this.autoScroll(0);
207
+ }
208
+ else {
209
+ this.autoScroll(131);
210
+ }
211
+ }
212
+ focusUp() {
213
+ --this.index;
214
+ if (this.index < 0) {
215
+ this.index = 0;
216
+ this.blur();
217
+ return;
218
+ }
219
+ if (this.filteredItems) {
220
+ this.focused = this.filteredItems[this.index];
221
+ }
222
+ this.autoScroll(0);
223
+ }
224
+ pathReactiveFormControl(model) {
225
+ if (this.nasFormGroup && this.nasFormControlName) {
226
+ const formControl = this.nasFormGroup.get(this.nasFormControlName);
227
+ formControl.patchValue(model);
228
+ }
229
+ }
230
+ autoScroll(extraOffset) {
231
+ if (!this.results) {
232
+ return;
233
+ }
234
+ const results = this.results.nativeElement;
235
+ const focusedItem = this.document.querySelector('.nas-autocomplete__list-item--focus');
236
+ if (focusedItem) {
237
+ results.scrollTo(0, 0);
238
+ results.scrollTo(0, focusedItem.offsetTop + extraOffset - results.clientHeight);
239
+ }
240
+ }
241
+ }
242
+ AutocompleteComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: AutocompleteComponent, deps: [{ token: DOCUMENT }], target: i0.ɵɵFactoryTarget.Component });
243
+ AutocompleteComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.9", type: AutocompleteComponent, selector: "nas-autocomplete", inputs: { label: "label", placeholder: "placeholder", icon: "icon", items: "items", open: "open", model: "model", disableBackdrop: "disableBackdrop", nasFormControlName: "nasFormControlName", nasFormGroup: "nasFormGroup", ariaLabelBackdrop: "ariaLabelBackdrop", ariaLabelClear: "ariaLabelClear" }, outputs: { focusOnNext: "focusOnNext", selectedChange: "selectedChange", openChange: "openChange", modelChange: "modelChange" }, viewQueries: [{ propertyName: "input", first: true, predicate: ["input"], descendants: true }, { propertyName: "results", first: true, predicate: ["results"], descendants: true }], usesInheritance: true, ngImport: i0, template: "<ng-container *ngIf=\"!nasFormControlName; else reactiveForm\">\n <label [id]=\"getLabelId()\"\n [attr.aria-label]=\"label\"\n [nasClass]=\"getClass('wrapper')\">\n <span [nasClass]=\"getClass('label')\">{{label}}</span>\n <input #input\n type=\"text\"\n role=\"combobox\"\n aria-haspopup=\"true\"\n aria-autocomplete=\"none\"\n autocomplete=\"off\"\n [id]=\"getInputId()\"\n [attr.aria-controls]=\"getResultsId()\"\n [attr.aria-expanded]=\"open ? 'true' : 'false'\"\n [attr.aria-owns]=\"getResultsId()\"\n [nasClass]=\"getClass('input')\"\n [(ngModel)]=\"model\"\n [placeholder]=\"placeholder\"\n (focus)=\"setOpen()\"\n (input)=\"filter()\"\n (click)=\"setOpen()\"\n (keydown)=\"onKeyDown($event)\" />\n <span [nasClass]=\"getClass('icon')\">\n <button type=\"button\"\n role=\"button\"\n tabindex=\"-1\"\n *ngIf=\"model; else isEmpty\"\n [attr.aria-label]=\"ariaLabelClear\"\n (click)=\"clearSelected($event)\">\n <nas-icon [type]=\"'remove'\"></nas-icon>\n </button>\n <ng-template #isEmpty>\n <nas-icon [type]=\"'small'\"\n [icon]=\"icon\"></nas-icon>\n </ng-template>\n </span>\n <span [nasClass]=\"getClass('input-line')\"></span>\n </label>\n</ng-container>\n<ng-template #reactiveForm>\n <label [id]=\"getLabelId()\"\n [attr.aria-label]=\"label\"\n [nasClass]=\"getClass('wrapper')\"\n [formGroup]=\"nasFormGroup\">\n <span [nasClass]=\"getClass('label')\">{{label}}</span>\n <input #input\n type=\"text\"\n role=\"combobox\"\n aria-autocomplete=\"none\"\n autocomplete=\"off\"\n [id]=\"getInputId()\"\n [attr.aria-controls]=\"getResultsId()\"\n [attr.aria-expanded]=\"open ? 'true' : 'false'\"\n [attr.aria-owns]=\"getResultsId()\"\n [formControlName]=\"nasFormControlName\"\n [nasClass]=\"getClass('input')\"\n [placeholder]=\"placeholder\"\n (focus)=\"setOpen()\"\n (input)=\"filter()\"\n (click)=\"setOpen()\"\n (keydown)=\"onKeyDown($event)\" />\n <span [nasClass]=\"getClass('icon')\">\n <button type=\"button\"\n role=\"button\"\n tabindex=\"-1\"\n *ngIf=\"model; else isEmpty\"\n [attr.aria-label]=\"ariaLabelClear\"\n (click)=\"clearSelected($event)\">\n <nas-icon [type]=\"'remove'\"></nas-icon>\n </button>\n <ng-template #isEmpty>\n <nas-icon [type]=\"'small'\"\n [icon]=\"icon\"></nas-icon>\n </ng-template>\n </span>\n <span [nasClass]=\"getClass('input-line')\"></span>\n </label>\n</ng-template>\n<div [id]=\"getResultsId()\"\n [nasClass]=\"getClass('results-wrapper')\"\n [attr.aria-expanded]=\"open ? 'true' : 'false'\">\n <ul #results\n role=\"listbox\"\n *ngIf=\"open\"\n [attr.aria-labelledby]=\"getLabelId()\"\n [nasClass]=\"getClass('results')\">\n <li role=\"option\"\n *ngFor=\"let item of filteredItems\"\n [id]=\"item.id\"\n [nasClass]=\"getClass('list-item', item.id === focused?.id && 'focus')\">\n <button type=\"button\"\n [nasClass]=\"getClass('item', item.id === focused?.id && 'focus')\"\n (click)=\"select(item)\"\n tabindex=\"-1\">\n <span [nasClass]=\"getClass('title')\">{{item.title}}</span>\n <span [nasClass]=\"getClass('preamble')\">{{item.preamble}}</span>\n </button>\n </li>\n </ul>\n</div>\n\n<nas-backdrop *ngIf=\"!exists(disableBackdrop)\"\n [ariaLabelBackdrop]=\"ariaLabelBackdrop\"\n [(showBackdrop)]=\"showBackdrop\"></nas-backdrop>", styles: ["@keyframes fade-in{0%{opacity:0}}@keyframes fade-in-down{0%{opacity:0;transform:translateY(-30px)}}@keyframes fade-in-left{0%{opacity:0;transform:translate(-30px)}}@keyframes fade-in-right{0%{opacity:0;transform:translate(30px)}}@keyframes fade-out{to{opacity:0}}@keyframes flip-in{0%{opacity:0;transform:rotateX(-90deg)}40%{opacity:1;transform:rotateX(10deg)}}@keyframes flip-out{to{opacity:0;transform:rotateX(-90deg)}}@keyframes pop-in-from-top{0%{transform:matrix3d(1,0,0,0,0,1,0,0,0,0,1,0,0,-100,1,1);opacity:0}6.67%{transform:matrix3d(1,0,0,0,0,1,0,0,0,0,1,0,0,-30.227,1,1)}13.33%{transform:matrix3d(1,0,0,0,0,1,0,0,0,0,1,0,0,1.76,1,1)}20%{transform:matrix3d(1,0,0,0,0,1,0,0,0,0,1,0,0,7.08,1,1)}26.67%{transform:matrix3d(1,0,0,0,0,1,0,0,0,0,1,0,0,3.838,1,1)}33.33%{transform:matrix3d(1,0,0,0,0,1,0,0,0,0,1,0,0,.902,1,1);opacity:1}40%{transform:matrix3d(1,0,0,0,0,1,0,0,0,0,1,0,0,-.237,1,1)}46.67%{transform:matrix3d(1,0,0,0,0,1,0,0,0,0,1,0,0,-.312,1,1)}53.33%{transform:matrix3d(1,0,0,0,0,1,0,0,0,0,1,0,0,-.141,1,1)}60%{transform:matrix3d(1,0,0,0,0,1,0,0,0,0,1,0,0,-.021,1,1)}66.67%{transform:matrix3d(1,0,0,0,0,1,0,0,0,0,1,0,0,.015,1,1)}73.33%{transform:matrix3d(1,0,0,0,0,1,0,0,0,0,1,0,0,.013,1,1)}80%{transform:matrix3d(1,0,0,0,0,1,0,0,0,0,1,0,0,.005,1,1)}86.67%{transform:matrix3d(1,0,0,0,0,1,0,0,0,0,1,0,0,0,1,1)}93.33%{transform:matrix3d(1,0,0,0,0,1,0,0,0,0,1,0,0,-.001,1,1);-webkit-transform:translate3d(0,0,0)}to{transform:matrix3d(1,0,0,0,0,1,0,0,0,0,1,0,0,-.001,1,1);-webkit-transform:translate3d(0,0,0)}}.nas-autocomplete__wrapper{position:relative;display:block;z-index:3}.nas-autocomplete__label{font-family:Apercu,Helvetica Neue,Helvetica,Arial,sans-serif;font-weight:700;font-size:14px;line-height:20px;display:block;position:relative;z-index:3;padding:9px 16px 0;background-color:#fff;margin-bottom:auto}.nas-autocomplete__input{height:35px;position:relative;z-index:3;line-height:1;margin:0}.nas-autocomplete__input[type=text]{padding:0 16px 9px}.nas-autocomplete__input:focus~.nas-autocomplete__input-line{border-color:#003251}.nas-autocomplete__icon{position:absolute;z-index:4;right:24px;bottom:24px}.nas-autocomplete__input-line{display:block;position:relative;z-index:3;margin-top:3px;margin-bottom:-9px;border-top:3px solid #c3c3c3}.nas-autocomplete__results-wrapper{position:relative;z-index:4;perspective:1000px;margin-top:6px}.nas-autocomplete__results{position:absolute;z-index:3;width:100%;left:0;max-height:50vh;overflow-x:hidden;overflow-y:auto;-webkit-overflow-scrolling:touch;border:3px solid #003251;background-color:#fff;transform-origin:center top;transform-style:preserve-3d;-webkit-backface-visibility:hidden;backface-visibility:hidden;animation:results .65s ease both}.nas-autocomplete__backdrop{display:block;position:fixed;z-index:2;top:0;left:0;width:100%;height:100%;color:transparent;background-color:#0019292b;animation:backdrop .7s ease-out both}.nas-autocomplete__item{display:block;position:relative;z-index:2;width:100%;text-align:left;padding:12px;margin-top:-1px;outline:0}.nas-autocomplete__item--focus,.nas-autocomplete__item:hover,.nas-autocomplete__item:focus{background-color:#003251}.nas-autocomplete__item--focus,.nas-autocomplete__item--focus .nas-autocomplete__title,.nas-autocomplete__item--focus .nas-autocomplete__preamble,.nas-autocomplete__item:hover,.nas-autocomplete__item:hover .nas-autocomplete__title,.nas-autocomplete__item:hover .nas-autocomplete__preamble,.nas-autocomplete__item:focus,.nas-autocomplete__item:focus .nas-autocomplete__title,.nas-autocomplete__item:focus .nas-autocomplete__preamble{color:#fff}.nas-autocomplete__title{display:inline-block;font-family:Apercu,Helvetica Neue,Helvetica,Arial,sans-serif;font-weight:700;line-height:1;color:#003251;margin-bottom:3px}.nas-autocomplete__preamble{display:block;font-size:14px}@keyframes results{0%{transform:rotateX(-90deg)}40%{transform:rotateX(20deg)}to{transform:rotateX(0)}}@keyframes backdrop{0%{opacity:0}}\n"], dependencies: [{ 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: i2.NasClassDirective, selector: "[nasClass]", inputs: ["nasClass", "attr.class"] }, { kind: "directive", type: i3.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i3.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i3.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i3.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "component", type: i4.IconComponent, selector: "nas-icon", inputs: ["icon", "type", "isIndicator", "lightCircularBackground", "cssClass"] }, { kind: "component", type: i5.BackdropComponent, selector: "nas-backdrop", inputs: ["showBackdrop", "ariaLabelBackdrop"], outputs: ["showBackdropChange"] }, { kind: "directive", type: i3.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i3.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }] });
244
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: AutocompleteComponent, decorators: [{
245
+ type: Component,
246
+ args: [{ selector: 'nas-autocomplete', template: "<ng-container *ngIf=\"!nasFormControlName; else reactiveForm\">\n <label [id]=\"getLabelId()\"\n [attr.aria-label]=\"label\"\n [nasClass]=\"getClass('wrapper')\">\n <span [nasClass]=\"getClass('label')\">{{label}}</span>\n <input #input\n type=\"text\"\n role=\"combobox\"\n aria-haspopup=\"true\"\n aria-autocomplete=\"none\"\n autocomplete=\"off\"\n [id]=\"getInputId()\"\n [attr.aria-controls]=\"getResultsId()\"\n [attr.aria-expanded]=\"open ? 'true' : 'false'\"\n [attr.aria-owns]=\"getResultsId()\"\n [nasClass]=\"getClass('input')\"\n [(ngModel)]=\"model\"\n [placeholder]=\"placeholder\"\n (focus)=\"setOpen()\"\n (input)=\"filter()\"\n (click)=\"setOpen()\"\n (keydown)=\"onKeyDown($event)\" />\n <span [nasClass]=\"getClass('icon')\">\n <button type=\"button\"\n role=\"button\"\n tabindex=\"-1\"\n *ngIf=\"model; else isEmpty\"\n [attr.aria-label]=\"ariaLabelClear\"\n (click)=\"clearSelected($event)\">\n <nas-icon [type]=\"'remove'\"></nas-icon>\n </button>\n <ng-template #isEmpty>\n <nas-icon [type]=\"'small'\"\n [icon]=\"icon\"></nas-icon>\n </ng-template>\n </span>\n <span [nasClass]=\"getClass('input-line')\"></span>\n </label>\n</ng-container>\n<ng-template #reactiveForm>\n <label [id]=\"getLabelId()\"\n [attr.aria-label]=\"label\"\n [nasClass]=\"getClass('wrapper')\"\n [formGroup]=\"nasFormGroup\">\n <span [nasClass]=\"getClass('label')\">{{label}}</span>\n <input #input\n type=\"text\"\n role=\"combobox\"\n aria-autocomplete=\"none\"\n autocomplete=\"off\"\n [id]=\"getInputId()\"\n [attr.aria-controls]=\"getResultsId()\"\n [attr.aria-expanded]=\"open ? 'true' : 'false'\"\n [attr.aria-owns]=\"getResultsId()\"\n [formControlName]=\"nasFormControlName\"\n [nasClass]=\"getClass('input')\"\n [placeholder]=\"placeholder\"\n (focus)=\"setOpen()\"\n (input)=\"filter()\"\n (click)=\"setOpen()\"\n (keydown)=\"onKeyDown($event)\" />\n <span [nasClass]=\"getClass('icon')\">\n <button type=\"button\"\n role=\"button\"\n tabindex=\"-1\"\n *ngIf=\"model; else isEmpty\"\n [attr.aria-label]=\"ariaLabelClear\"\n (click)=\"clearSelected($event)\">\n <nas-icon [type]=\"'remove'\"></nas-icon>\n </button>\n <ng-template #isEmpty>\n <nas-icon [type]=\"'small'\"\n [icon]=\"icon\"></nas-icon>\n </ng-template>\n </span>\n <span [nasClass]=\"getClass('input-line')\"></span>\n </label>\n</ng-template>\n<div [id]=\"getResultsId()\"\n [nasClass]=\"getClass('results-wrapper')\"\n [attr.aria-expanded]=\"open ? 'true' : 'false'\">\n <ul #results\n role=\"listbox\"\n *ngIf=\"open\"\n [attr.aria-labelledby]=\"getLabelId()\"\n [nasClass]=\"getClass('results')\">\n <li role=\"option\"\n *ngFor=\"let item of filteredItems\"\n [id]=\"item.id\"\n [nasClass]=\"getClass('list-item', item.id === focused?.id && 'focus')\">\n <button type=\"button\"\n [nasClass]=\"getClass('item', item.id === focused?.id && 'focus')\"\n (click)=\"select(item)\"\n tabindex=\"-1\">\n <span [nasClass]=\"getClass('title')\">{{item.title}}</span>\n <span [nasClass]=\"getClass('preamble')\">{{item.preamble}}</span>\n </button>\n </li>\n </ul>\n</div>\n\n<nas-backdrop *ngIf=\"!exists(disableBackdrop)\"\n [ariaLabelBackdrop]=\"ariaLabelBackdrop\"\n [(showBackdrop)]=\"showBackdrop\"></nas-backdrop>", styles: ["@keyframes fade-in{0%{opacity:0}}@keyframes fade-in-down{0%{opacity:0;transform:translateY(-30px)}}@keyframes fade-in-left{0%{opacity:0;transform:translate(-30px)}}@keyframes fade-in-right{0%{opacity:0;transform:translate(30px)}}@keyframes fade-out{to{opacity:0}}@keyframes flip-in{0%{opacity:0;transform:rotateX(-90deg)}40%{opacity:1;transform:rotateX(10deg)}}@keyframes flip-out{to{opacity:0;transform:rotateX(-90deg)}}@keyframes pop-in-from-top{0%{transform:matrix3d(1,0,0,0,0,1,0,0,0,0,1,0,0,-100,1,1);opacity:0}6.67%{transform:matrix3d(1,0,0,0,0,1,0,0,0,0,1,0,0,-30.227,1,1)}13.33%{transform:matrix3d(1,0,0,0,0,1,0,0,0,0,1,0,0,1.76,1,1)}20%{transform:matrix3d(1,0,0,0,0,1,0,0,0,0,1,0,0,7.08,1,1)}26.67%{transform:matrix3d(1,0,0,0,0,1,0,0,0,0,1,0,0,3.838,1,1)}33.33%{transform:matrix3d(1,0,0,0,0,1,0,0,0,0,1,0,0,.902,1,1);opacity:1}40%{transform:matrix3d(1,0,0,0,0,1,0,0,0,0,1,0,0,-.237,1,1)}46.67%{transform:matrix3d(1,0,0,0,0,1,0,0,0,0,1,0,0,-.312,1,1)}53.33%{transform:matrix3d(1,0,0,0,0,1,0,0,0,0,1,0,0,-.141,1,1)}60%{transform:matrix3d(1,0,0,0,0,1,0,0,0,0,1,0,0,-.021,1,1)}66.67%{transform:matrix3d(1,0,0,0,0,1,0,0,0,0,1,0,0,.015,1,1)}73.33%{transform:matrix3d(1,0,0,0,0,1,0,0,0,0,1,0,0,.013,1,1)}80%{transform:matrix3d(1,0,0,0,0,1,0,0,0,0,1,0,0,.005,1,1)}86.67%{transform:matrix3d(1,0,0,0,0,1,0,0,0,0,1,0,0,0,1,1)}93.33%{transform:matrix3d(1,0,0,0,0,1,0,0,0,0,1,0,0,-.001,1,1);-webkit-transform:translate3d(0,0,0)}to{transform:matrix3d(1,0,0,0,0,1,0,0,0,0,1,0,0,-.001,1,1);-webkit-transform:translate3d(0,0,0)}}.nas-autocomplete__wrapper{position:relative;display:block;z-index:3}.nas-autocomplete__label{font-family:Apercu,Helvetica Neue,Helvetica,Arial,sans-serif;font-weight:700;font-size:14px;line-height:20px;display:block;position:relative;z-index:3;padding:9px 16px 0;background-color:#fff;margin-bottom:auto}.nas-autocomplete__input{height:35px;position:relative;z-index:3;line-height:1;margin:0}.nas-autocomplete__input[type=text]{padding:0 16px 9px}.nas-autocomplete__input:focus~.nas-autocomplete__input-line{border-color:#003251}.nas-autocomplete__icon{position:absolute;z-index:4;right:24px;bottom:24px}.nas-autocomplete__input-line{display:block;position:relative;z-index:3;margin-top:3px;margin-bottom:-9px;border-top:3px solid #c3c3c3}.nas-autocomplete__results-wrapper{position:relative;z-index:4;perspective:1000px;margin-top:6px}.nas-autocomplete__results{position:absolute;z-index:3;width:100%;left:0;max-height:50vh;overflow-x:hidden;overflow-y:auto;-webkit-overflow-scrolling:touch;border:3px solid #003251;background-color:#fff;transform-origin:center top;transform-style:preserve-3d;-webkit-backface-visibility:hidden;backface-visibility:hidden;animation:results .65s ease both}.nas-autocomplete__backdrop{display:block;position:fixed;z-index:2;top:0;left:0;width:100%;height:100%;color:transparent;background-color:#0019292b;animation:backdrop .7s ease-out both}.nas-autocomplete__item{display:block;position:relative;z-index:2;width:100%;text-align:left;padding:12px;margin-top:-1px;outline:0}.nas-autocomplete__item--focus,.nas-autocomplete__item:hover,.nas-autocomplete__item:focus{background-color:#003251}.nas-autocomplete__item--focus,.nas-autocomplete__item--focus .nas-autocomplete__title,.nas-autocomplete__item--focus .nas-autocomplete__preamble,.nas-autocomplete__item:hover,.nas-autocomplete__item:hover .nas-autocomplete__title,.nas-autocomplete__item:hover .nas-autocomplete__preamble,.nas-autocomplete__item:focus,.nas-autocomplete__item:focus .nas-autocomplete__title,.nas-autocomplete__item:focus .nas-autocomplete__preamble{color:#fff}.nas-autocomplete__title{display:inline-block;font-family:Apercu,Helvetica Neue,Helvetica,Arial,sans-serif;font-weight:700;line-height:1;color:#003251;margin-bottom:3px}.nas-autocomplete__preamble{display:block;font-size:14px}@keyframes results{0%{transform:rotateX(-90deg)}40%{transform:rotateX(20deg)}to{transform:rotateX(0)}}@keyframes backdrop{0%{opacity:0}}\n"] }]
247
+ }], ctorParameters: function () { return [{ type: undefined, decorators: [{
248
+ type: Inject,
249
+ args: [DOCUMENT]
250
+ }] }]; }, propDecorators: { input: [{
251
+ type: ViewChild,
252
+ args: ['input']
253
+ }], results: [{
254
+ type: ViewChild,
255
+ args: ['results']
256
+ }], label: [{
257
+ type: Input
258
+ }], placeholder: [{
259
+ type: Input
260
+ }], icon: [{
261
+ type: Input
262
+ }], items: [{
263
+ type: Input
264
+ }], open: [{
265
+ type: Input
266
+ }], model: [{
267
+ type: Input
268
+ }], disableBackdrop: [{
269
+ type: Input
270
+ }], nasFormControlName: [{
271
+ type: Input
272
+ }], nasFormGroup: [{
273
+ type: Input
274
+ }], ariaLabelBackdrop: [{
275
+ type: Input
276
+ }], ariaLabelClear: [{
277
+ type: Input
278
+ }], focusOnNext: [{
279
+ type: Output
280
+ }], selectedChange: [{
281
+ type: Output
282
+ }], openChange: [{
283
+ type: Output
284
+ }], modelChange: [{
285
+ type: Output
286
+ }] } });
287
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXV0b2NvbXBsZXRlLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NvcmUtY29tcG9uZW50cy9zcmMvbGliL2NvbXBvbmVudHMvYXV0b2NvbXBsZXRlL2F1dG9jb21wbGV0ZS5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jb3JlLWNvbXBvbmVudHMvc3JjL2xpYi9jb21wb25lbnRzL2F1dG9jb21wbGV0ZS9hdXRvY29tcGxldGUuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBS0EsT0FBTyxFQUNMLFNBQVMsRUFFVCxZQUFZLEVBQ1osTUFBTSxFQUNOLEtBQUssRUFDTCxNQUFNLEVBQ04sU0FBUyxFQUVWLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMzQyxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxZQUFZLENBQUM7Ozs7Ozs7QUFHOUMsSUFBSSxNQUFNLEdBQUcsQ0FBQyxDQUFDO0FBRWY7OztHQUdHO0FBTUgsTUFBTSxPQUFPLHFCQUFzQixTQUFRLGdCQUFnQjtJQUl6RCxJQUFJLFlBQVk7UUFDZCxPQUFPLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsZUFBZSxDQUFDLElBQUksSUFBSSxDQUFDLElBQUksQ0FBQztJQUN6RCxDQUFDO0lBQ0QsSUFBSSxZQUFZLENBQUMsS0FBYztRQUM3QixJQUFJLENBQUMsS0FBSyxFQUFFO1lBQ1YsSUFBSSxDQUFDLElBQUksRUFBRSxDQUFDO1NBQ2I7SUFDSCxDQUFDO0lBdUJEOzs7T0FHRztJQUNILElBQ0ksS0FBSztRQUNQLE9BQU8sSUFBSSxDQUFDLFVBQVUsQ0FBQztJQUN6QixDQUFDO0lBQ0QsSUFBSSxLQUFLLENBQUMsS0FBK0I7UUFDdkMsSUFBSSxDQUFDLEtBQUssSUFBSSxLQUFLLENBQUMsTUFBTSxJQUFJLENBQUMsRUFBRTtZQUMvQixPQUFPO1NBQ1I7UUFFRCxJQUFJLENBQUMsVUFBVSxHQUFHLEtBQUssQ0FBQztRQUV4QixJQUFJLENBQUMsTUFBTSxFQUFFLENBQUM7SUFDaEIsQ0FBQztJQUVEOzs7T0FHRztJQUNILElBQ0ksSUFBSTtRQUNOLE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQztJQUN4QixDQUFDO0lBQ0QsSUFBSSxJQUFJLENBQUMsSUFBYTtRQUNwQixJQUFJLElBQUksQ0FBQyxJQUFJLEtBQUssSUFBSSxJQUFJLENBQUMsSUFBSSxDQUFDLEtBQUssRUFBRTtZQUNyQyxPQUFPO1NBQ1I7UUFFRCxJQUFJLENBQUMsU0FBUyxHQUFHLElBQUksQ0FBQztRQUN0QixJQUFJLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUM3QixDQUFDO0lBRUQ7OztPQUdHO0lBQ0gsSUFDSSxLQUFLO1FBQ1AsT0FBTyxJQUFJLENBQUMsVUFBVSxDQUFDO0lBQ3pCLENBQUM7SUFDRCxJQUFJLEtBQUssQ0FBQyxLQUFhO1FBQ3JCLElBQUksSUFBSSxDQUFDLFVBQVUsS0FBSyxLQUFLLEVBQUU7WUFDN0IsT0FBTztTQUNSO1FBRUQsSUFBSSxDQUFDLFVBQVUsR0FBRyxLQUFLLENBQUM7UUFFeEIsSUFBSSxLQUFLLElBQUksSUFBSSxDQUFDLGFBQWEsRUFBRTtZQUMvQixJQUFJLENBQUMsS0FBSyxHQUFHLElBQUksQ0FBQyxhQUFhLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLEtBQUssS0FBSyxLQUFLLENBQUMsQ0FBQztTQUNuRTtRQUVELElBQUksQ0FBQyx1QkFBdUIsQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUVwQyxJQUFJLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUMvQixDQUFDO0lBeURELFlBQXNDLFFBQWE7UUFDakQsS0FBSyxDQUFDLGtCQUFrQixDQUFDLENBQUM7UUFEVSxhQUFRLEdBQVIsUUFBUSxDQUFLO1FBbkpuRCxrQkFBYSxHQUE2QixJQUFJLENBQUMsS0FBSyxDQUFDO1FBcUJyRDs7O1dBR0c7UUFDTSxnQkFBVyxHQUFHLEVBQUUsQ0FBQztRQXFHMUI7OztXQUdHO1FBQ08sZ0JBQVcsR0FBRyxJQUFJLFlBQVksRUFBRSxDQUFDO1FBRTNDOzs7V0FHRztRQUNPLG1CQUFjLEdBQUcsSUFBSSxZQUFZLEVBQXFCLENBQUM7UUFFdkQsZUFBVSxHQUFHLElBQUksWUFBWSxFQUFXLENBQUM7UUFDekMsZ0JBQVcsR0FBRyxJQUFJLFlBQVksRUFBVSxDQUFDO1FBRTNDLFVBQUssR0FBRyxDQUFDLENBQUMsQ0FBQztRQUNYLGNBQVMsR0FBRyxLQUFLLENBQUM7UUFPeEIsSUFBSSxDQUFDLFdBQVcsR0FBRyxNQUFNLEVBQUUsQ0FBQztJQUM5QixDQUFDO0lBRUQsUUFBUTtRQUNOLElBQUksQ0FBQyxJQUFJLENBQUMsY0FBYyxFQUFFO1lBQ3hCLElBQUksQ0FBQyw0QkFBNEIsQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDO1NBQ3JEO1FBRUQsSUFBSSxDQUFDLElBQUksQ0FBQyxpQkFBaUIsRUFBRTtZQUMzQixJQUFJLENBQUMsNEJBQTRCLENBQUMsbUJBQW1CLENBQUMsQ0FBQztTQUN4RDtJQUNILENBQUM7SUFFRCxZQUFZO1FBQ1YsT0FBTyw0QkFBNEIsSUFBSSxDQUFDLFdBQVcsRUFBRSxDQUFDO0lBQ3hELENBQUM7SUFFRCxVQUFVO1FBQ1IsT0FBTywwQkFBMEIsSUFBSSxDQUFDLFdBQVcsRUFBRSxDQUFDO0lBQ3RELENBQUM7SUFFRCxVQUFVO1FBQ1IsT0FBTywwQkFBMEIsSUFBSSxDQUFDLFdBQVcsRUFBRSxDQUFDO0lBQ3RELENBQUM7SUFFRCxPQUFPO1FBQ0wsSUFBSSxDQUFDLEtBQUssQ0FBQyxhQUFhLENBQUMsTUFBTSxFQUFFLENBQUM7UUFDbEMsSUFBSSxDQUFDLElBQUksR0FBRyxJQUFJLENBQUM7SUFDbkIsQ0FBQztJQUVELE1BQU07UUFDSixJQUFJLENBQUMsSUFBSSxDQUFDLEtBQUssRUFBRTtZQUNmLE9BQU87U0FDUjtRQUVELElBQUksQ0FBQyxJQUFJLENBQUMsS0FBSyxJQUFJLENBQUMsQ0FBQyxJQUFJLENBQUMsWUFBWSxJQUFJLENBQUMsSUFBSSxDQUFDLGtCQUFrQixDQUFDLEVBQUU7WUFDbkUsSUFBSSxDQUFDLGFBQWEsR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDO1lBQ2hDLE9BQU87U0FDUjtRQUVELElBQUksWUFBWSxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUM7UUFFOUIsSUFBSSxJQUFJLENBQUMsWUFBWSxJQUFJLElBQUksQ0FBQyxrQkFBa0IsRUFBRTtZQUNoRCxNQUFNLE9BQU8sR0FBRyxJQUFJLENBQUMsWUFBWSxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsa0JBQWtCLENBQUMsQ0FBQztZQUUvRCxZQUFZLEdBQUcsT0FBTyxDQUFDLEtBQUssQ0FBQztTQUM5QjtRQUVELElBQUksQ0FBQyxhQUFhLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FDekMsQ0FBQyxDQUFDLENBQUMsS0FBSyxJQUFJLENBQUMsQ0FBQyxLQUFLLENBQUMsV0FBVyxFQUFFLENBQUMsUUFBUSxDQUFDLFlBQVksQ0FBQyxXQUFXLEVBQUUsQ0FBQyxDQUFDO1lBQ3ZFLENBQUMsQ0FBQyxDQUFDLFFBQVEsSUFBSSxDQUFDLENBQUMsUUFBUSxDQUFDLFdBQVcsRUFBRSxDQUFDLFFBQVEsQ0FBQyxZQUFZLENBQUMsV0FBVyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFFakYsSUFBSSxZQUFZLEtBQUssRUFBRSxJQUFJLElBQUksQ0FBQyxLQUFLLENBQUMsYUFBYSxDQUFDLEtBQUssS0FBSyxFQUFFLEVBQUU7WUFDaEUsSUFBSSxDQUFDLGFBQWEsR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDO1NBQ2pDO1FBRUQsSUFBSSxDQUFDLEtBQUssR0FBRyxDQUFDLENBQUM7UUFDZixJQUFJLElBQUksQ0FBQyxhQUFhLEVBQUU7WUFDdEIsSUFBSSxDQUFDLE9BQU8sR0FBRyxJQUFJLENBQUMsYUFBYSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztZQUM5QyxJQUFJLENBQUMsSUFBSSxHQUFHLElBQUksQ0FBQztTQUNsQjthQUFNO1lBQ0wsSUFBSSxDQUFDLElBQUksR0FBRyxLQUFLLENBQUM7U0FDbkI7SUFDSCxDQUFDO0lBRUQsU0FBUyxDQUFDLEtBQW9CO1FBQzVCLFFBQVEsS0FBSyxDQUFDLEdBQUcsRUFBRTtZQUNqQixLQUFLLFFBQVE7Z0JBQ1gsSUFBSSxDQUFDLElBQUksR0FBRyxLQUFLLENBQUM7Z0JBQ2xCLElBQUksQ0FBQyxJQUFJLEVBQUUsQ0FBQztnQkFDWixNQUFNO1lBQ1IsS0FBSyxLQUFLLENBQUM7WUFDWCxLQUFLLE9BQU87Z0JBQ1YsSUFBSSxDQUFDLEtBQUssQ0FBQyxRQUFRLEVBQUU7b0JBQ25CLEtBQUssQ0FBQyxjQUFjLEVBQUUsQ0FBQztvQkFDdkIsSUFBSSxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7aUJBQzlCO2dCQUVELElBQUksSUFBSSxDQUFDLE9BQU8sRUFBRTtvQkFDaEIsSUFBSSxDQUFDLFVBQVUsR0FBRyxJQUFJLENBQUMsT0FBTyxDQUFDLEtBQUssQ0FBQztvQkFDckMsSUFBSSxDQUFDLGNBQWMsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDO29CQUN2QyxJQUFJLENBQUMsdUJBQXVCLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxDQUFDO2lCQUMvQztnQkFFRCxJQUFJLENBQUMsSUFBSSxFQUFFLENBQUM7Z0JBQ1osTUFBTTtZQUNSLEtBQUssV0FBVyxDQUFDO1lBQ2pCLEtBQUssTUFBTTtnQkFDVCxJQUFJLENBQUMsU0FBUyxFQUFFLENBQUM7Z0JBQ2pCLE1BQU07WUFDUixLQUFLLFNBQVMsQ0FBQztZQUNmLEtBQUssSUFBSTtnQkFDUCxJQUFJLENBQUMsT0FBTyxFQUFFLENBQUM7Z0JBQ2YsTUFBTTtZQUNSO2dCQUNFLE1BQU07U0FDVDtJQUNILENBQUM7SUFFRCxhQUFhLENBQUMsS0FBVTtRQUN0QixLQUFLLENBQUMsY0FBYyxFQUFFLENBQUM7UUFFdkIsSUFBSSxDQUFDLE9BQU8sR0FBRyxJQUFJLENBQUM7UUFDcEIsSUFBSSxDQUFDLGFBQWEsR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDO1FBQ2hDLElBQUksQ0FBQyxLQUFLLEdBQUcsRUFBRSxDQUFDO1FBQ2hCLElBQUksQ0FBQyxJQUFJLEdBQUcsSUFBSSxDQUFDO1FBQ2pCLElBQUksQ0FBQyxLQUFLLEdBQUcsQ0FBQyxDQUFDLENBQUM7UUFFaEIsSUFBSSxDQUFDLEtBQUssQ0FBQyxhQUFhLENBQUMsS0FBSyxFQUFFLENBQUM7SUFFbkMsQ0FBQztJQUVELE1BQU0sQ0FBQyxJQUF1QjtRQUM1QixJQUFJLENBQUMsT0FBTyxHQUFHLElBQUksQ0FBQztRQUNwQixJQUFJLENBQUMsS0FBSyxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUM7UUFDeEIsSUFBSSxDQUFDLGNBQWMsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7UUFFL0IsSUFBSSxJQUFJLENBQUMsYUFBYSxFQUFFO1lBQ3RCLElBQUksQ0FBQyxLQUFLLEdBQUcsSUFBSSxDQUFDLGFBQWEsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsRUFBRSxLQUFLLElBQUksQ0FBQyxFQUFFLENBQUMsQ0FBQztTQUNsRTtRQUVELElBQUksQ0FBQyxJQUFJLEdBQUcsS0FBSyxDQUFDO1FBQ2xCLElBQUksQ0FBQyxXQUFXLENBQUMsSUFBSSxFQUFFLENBQUM7SUFDMUIsQ0FBQztJQUVELElBQUk7UUFDRixJQUFJLENBQUMsSUFBSSxHQUFHLEtBQUssQ0FBQztRQUNsQixJQUFJLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUM5QixDQUFDO0lBRU8sU0FBUztRQUNmLEVBQUUsSUFBSSxDQUFDLEtBQUssQ0FBQztRQUViLElBQUksSUFBSSxDQUFDLGFBQWEsRUFBRTtZQUN0QixJQUFJLENBQUMsSUFBSSxDQUFDLGFBQWEsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLEVBQUU7Z0JBQ25DLElBQUksQ0FBQyxLQUFLLEdBQUcsQ0FBQyxDQUFDO2FBQ2hCO1lBRUQsSUFBSSxDQUFDLE9BQU8sR0FBRyxJQUFJLENBQUMsYUFBYSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztTQUMvQztRQUVELElBQUksSUFBSSxDQUFDLEtBQUssS0FBSyxDQUFDLEVBQUU7WUFDcEIsSUFBSSxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUMsQ0FBQztTQUNwQjthQUFNO1lBQ0wsSUFBSSxDQUFDLFVBQVUsQ0FBQyxHQUFHLENBQUMsQ0FBQztTQUN0QjtJQUNILENBQUM7SUFFTyxPQUFPO1FBQ2IsRUFBRSxJQUFJLENBQUMsS0FBSyxDQUFDO1FBRWIsSUFBSSxJQUFJLENBQUMsS0FBSyxHQUFHLENBQUMsRUFBRTtZQUNsQixJQUFJLENBQUMsS0FBSyxHQUFHLENBQUMsQ0FBQztZQUNmLElBQUksQ0FBQyxJQUFJLEVBQUUsQ0FBQztZQUNaLE9BQU87U0FDUjtRQUVELElBQUksSUFBSSxDQUFDLGFBQWEsRUFBRTtZQUN0QixJQUFJLENBQUMsT0FBTyxHQUFHLElBQUksQ0FBQyxhQUFhLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO1NBQy9DO1FBRUQsSUFBSSxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUMsQ0FBQztJQUNyQixDQUFDO0lBRU8sdUJBQXVCLENBQUMsS0FBYTtRQUMzQyxJQUFJLElBQUksQ0FBQyxZQUFZLElBQUksSUFBSSxDQUFDLGtCQUFrQixFQUFFO1lBQ2hELE1BQU0sV0FBVyxHQUFHLElBQUksQ0FBQyxZQUFZLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxDQUFDO1lBQ25FLFdBQVcsQ0FBQyxVQUFVLENBQUMsS0FBSyxDQUFDLENBQUM7U0FDL0I7SUFDSCxDQUFDO0lBRU8sVUFBVSxDQUFDLFdBQW1CO1FBQ3BDLElBQUksQ0FBQyxJQUFJLENBQUMsT0FBTyxFQUFFO1lBQ2pCLE9BQU87U0FDUjtRQUNELE1BQU0sT0FBTyxHQUFHLElBQUksQ0FBQyxPQUFPLENBQUMsYUFBYSxDQUFDO1FBQzNDLE1BQU0sV0FBVyxHQUFHLElBQUksQ0FBQyxRQUFRLENBQUMsYUFBYSxDQUFDLHFDQUFxQyxDQUFDLENBQUM7UUFFdkYsSUFBSSxXQUFXLEVBQUU7WUFDZixPQUFPLENBQUMsUUFBUSxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQztZQUN2QixPQUFPLENBQUMsUUFBUSxDQUFDLENBQUMsRUFBRSxXQUFXLENBQUMsU0FBUyxHQUFHLFdBQVcsR0FBRyxPQUFPLENBQUMsWUFBWSxDQUFDLENBQUM7U0FDakY7SUFDSCxDQUFDOztrSEE1VVUscUJBQXFCLGtCQW9KWixRQUFRO3NHQXBKakIscUJBQXFCLCtxQkM5QmxDLHNqSEF1R2lEOzJGRHpFcEMscUJBQXFCO2tCQUxqQyxTQUFTOytCQUNFLGtCQUFrQjs7MEJBd0pmLE1BQU07MkJBQUMsUUFBUTs0Q0F2SVIsS0FBSztzQkFBeEIsU0FBUzt1QkFBQyxPQUFPO2dCQUNJLE9BQU87c0JBQTVCLFNBQVM7dUJBQUMsU0FBUztnQkFNWCxLQUFLO3NCQUFiLEtBQUs7Z0JBTUcsV0FBVztzQkFBbkIsS0FBSztnQkFNRyxJQUFJO3NCQUFaLEtBQUs7Z0JBT0YsS0FBSztzQkFEUixLQUFLO2dCQW1CRixJQUFJO3NCQURQLEtBQUs7Z0JBa0JGLEtBQUs7c0JBRFIsS0FBSztnQkF3QkcsZUFBZTtzQkFBdkIsS0FBSztnQkFRRyxrQkFBa0I7c0JBQTFCLEtBQUs7Z0JBUUcsWUFBWTtzQkFBcEIsS0FBSztnQkFNRyxpQkFBaUI7c0JBQXpCLEtBQUs7Z0JBTUcsY0FBYztzQkFBdEIsS0FBSztnQkFNSSxXQUFXO3NCQUFwQixNQUFNO2dCQU1HLGNBQWM7c0JBQXZCLE1BQU07Z0JBRUcsVUFBVTtzQkFBbkIsTUFBTTtnQkFDRyxXQUFXO3NCQUFwQixNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBAbGljZW5zZVxuICogQ29weXJpZ2h0IE5vcndlZ2lhbiBBaXIgU2h1dHRsZS4gQWxsIFJpZ2h0cyBSZXNlcnZlZC5cbiAqL1xuaW1wb3J0IHsgQXV0b2NvbXBsZXRlTW9kZWwgfSBmcm9tICcuL21vZGVscy9hdXRvY29tcGxldGUubW9kZWwnO1xuaW1wb3J0IHtcbiAgQ29tcG9uZW50LFxuICBFbGVtZW50UmVmLFxuICBFdmVudEVtaXR0ZXIsXG4gIEluamVjdCxcbiAgSW5wdXQsXG4gIE91dHB1dCxcbiAgVmlld0NoaWxkLFxuICBPbkluaXRcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBET0NVTUVOVCB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgeyBOYXNDb21wb25lbnRCYXNlIH0gZnJvbSAnLi4vLi4vY29yZSc7XG5pbXBvcnQgeyBVbnR5cGVkRm9ybUdyb3VwIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuXG5sZXQgbmV4dElkID0gMDtcblxuLyoqXG4gKiBAZGVzY3JpcHRpb25cbiAqIE5vcndlZ2lhbiBBaXJwb3J0IFNlbGVjdCBDb21wb25lbnQgfCBGb3JtIENvbnRyb2xzXG4gKi9cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ25hcy1hdXRvY29tcGxldGUnLFxuICB0ZW1wbGF0ZVVybDogJy4vYXV0b2NvbXBsZXRlLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vYXV0b2NvbXBsZXRlLmNvbXBvbmVudC5zY3NzJ11cbn0pXG5leHBvcnQgY2xhc3MgQXV0b2NvbXBsZXRlQ29tcG9uZW50IGV4dGVuZHMgTmFzQ29tcG9uZW50QmFzZSBpbXBsZW1lbnRzIE9uSW5pdCB7XG4gIGZpbHRlcmVkSXRlbXM6IEFycmF5PEF1dG9jb21wbGV0ZU1vZGVsPiA9IHRoaXMuaXRlbXM7XG4gIGZvY3VzZWQ6IEF1dG9jb21wbGV0ZU1vZGVsO1xuXG4gIGdldCBzaG93QmFja2Ryb3AoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuICF0aGlzLmV4aXN0cyh0aGlzLmRpc2FibGVCYWNrZHJvcCkgJiYgdGhpcy5vcGVuO1xuICB9XG4gIHNldCBzaG93QmFja2Ryb3AodmFsdWU6IGJvb2xlYW4pIHtcbiAgICBpZiAoIXZhbHVlKSB7XG4gICAgICB0aGlzLmJsdXIoKTtcbiAgICB9XG4gIH1cblxuICBAVmlld0NoaWxkKCdpbnB1dCcpIGlucHV0OiBFbGVtZW50UmVmO1xuICBAVmlld0NoaWxkKCdyZXN1bHRzJykgcmVzdWx0czogRWxlbWVudFJlZjtcblxuICAvKipcbiAgICogQGRlc2NyaXB0aW9uXG4gICAqIEEgbGFiZWwgdGhhdCB3aWxsIGFwcGVhciBpbnNpZGUgdGhlIHRleHQgZmllbGQuXG4gICAqL1xuICBASW5wdXQoKSBsYWJlbDogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBAZGVzY3JpcHRpb25cbiAgICogQSBwbGFjZWhvbGRlciB0aGF0IHdpbGwgYXBwZWFyIGluc2lkZSB0aGUgdGV4dCBmaWVsZC5cbiAgICovXG4gIEBJbnB1dCgpIHBsYWNlaG9sZGVyID0gJyc7XG5cbiAgLyoqXG4gICAqIEBkZXNjcmlwdGlvblxuICAgKiBBbiBpY29uIHRoYXQgd2lsbCBhcHBlYXIgaW5zaWRlIHRoZSB0ZXh0IGZpZWxkLlxuICAgKi9cbiAgQElucHV0KCkgaWNvbjogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBAZGVzY3JpcHRpb25cbiAgICogQW4gYXJyYXkgb2YgaXRlbXMgdGhhdCB3aWxsIGFwcGVhciBpbnNpZGUgdGhlIGRyb3Bkb3duIGxpc3QuXG4gICAqL1xuICBASW5wdXQoKVxuICBnZXQgaXRlbXMoKTogQXJyYXk8QXV0b2NvbXBsZXRlTW9kZWw+IHtcbiAgICByZXR1cm4gdGhpcy5pdGVtc1ZhbHVlO1xuICB9XG4gIHNldCBpdGVtcyhpdGVtczogQXJyYXk8QXV0b2NvbXBsZXRlTW9kZWw+KSB7XG4gICAgaWYgKCFpdGVtcyB8fCBpdGVtcy5sZW5ndGggPD0gMCkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIHRoaXMuaXRlbXNWYWx1ZSA9IGl0ZW1zO1xuXG4gICAgdGhpcy5maWx0ZXIoKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBAZGVzY3JpcHRpb25cbiAgICogQ2FuIHNldCBhbmQgbGlzdGVuIHRvIHdoZWF0aGVyIHRoZSBkcm9wZG93biBsaXN0IGlzIG9yIHNob3VsZCBiZSBvcGVuIG9yIG5vdC5cbiAgICovXG4gIEBJbnB1dCgpXG4gIGdldCBvcGVuKCkge1xuICAgIHJldHVybiB0aGlzLm9wZW5WYWx1ZTtcbiAgfVxuICBzZXQgb3BlbihvcGVuOiBib29sZWFuKSB7XG4gICAgaWYgKHRoaXMub3BlbiA9PT0gb3BlbiB8fCAhdGhpcy5pdGVtcykge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIHRoaXMub3BlblZhbHVlID0gb3BlbjtcbiAgICB0aGlzLm9wZW5DaGFuZ2UuZW1pdChvcGVuKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBAZGVzY3JpcHRpb25cbiAgICogQ2FuIHNldCBhbmQgbGlzdGVuIHRvIGNoYW5nZXMgaW4gdGhlIG1vZGVsIG9mIHRoZSB0ZXh0IGZpZWxkLlxuICAgKi9cbiAgQElucHV0KClcbiAgZ2V0IG1vZGVsKCk6IHN0cmluZyB7XG4gICAgcmV0dXJuIHRoaXMubW9kZWxWYWx1ZTtcbiAgfVxuICBzZXQgbW9kZWwobW9kZWw6IHN0cmluZykge1xuICAgIGlmICh0aGlzLm1vZGVsVmFsdWUgPT09IG1vZGVsKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgdGhpcy5tb2RlbFZhbHVlID0gbW9kZWw7XG5cbiAgICBpZiAobW9kZWwgJiYgdGhpcy5maWx0ZXJlZEl0ZW1zKSB7XG4gICAgICB0aGlzLmluZGV4ID0gdGhpcy5maWx0ZXJlZEl0ZW1zLmZpbmRJbmRleCh4ID0+IHgudGl0bGUgPT09IG1vZGVsKTtcbiAgICB9XG5cbiAgICB0aGlzLnBhdGhSZWFjdGl2ZUZvcm1Db250cm9sKG1vZGVsKTtcblxuICAgIHRoaXMubW9kZWxDaGFuZ2UuZW1pdChtb2RlbCk7XG4gIH1cblxuICAvKipcbiAgICogQGRlc2NyaXB0aW9uXG4gICAqIERpc2FibGVzIHRoZSBiYWNrZHJvcCBvbiBmb2N1cy5cbiAgICovXG4gIEBJbnB1dCgpIGRpc2FibGVCYWNrZHJvcDogYm9vbGVhbjtcblxuICAvKipcbiAgICogQGRlc2NyaXB0aW9uXG4gICAqIFNldHMgYSBmb3JtQ29udHJvbE5hbWUgZGlyZWN0aXZlIHRvIHRoZSBpbnB1dC5cbiAgICogSXQgcmVxdWlyZXMgdGhhdCB0aGUgY29uc3VtZXIgaW5jbHVkZWQgUmVhY3RpdmVGb3Jtc01vZHVsZSBpbiBpdCdzIG1vZHVsZS5cbiAgICogSXQgcmVxdWllcnMgdGhhdCB0aGUgbmFzRm9ybUdyb3VwIGlucHV0IGlzIGZpbGxlZC5cbiAgICovXG4gIEBJbnB1dCgpIG5hc0Zvcm1Db250cm9sTmFtZTogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBAZGVzY3JpcHRpb25cbiAgICogQWRkcyB0aGUgcGFyZW50J3MgZm9ybSBncm91cC5cbiAgICogSXQgcmVxdWlyZXMgdGhhdCB0aGUgY29uc3VtZXIgaW5jbHVkZWQgUmVhY3RpdmVGb3Jtc01vZHVsZSBpbiBpdCdzIG1vZHVsZS5cbiAgICogSXQgaXMgcmVxdWllcmVkIHRvIGJlIGZpbGxlZCBpZiBuYXNGb3JtQ29udHJvbE5hbWUgYWRkZWQuXG4gICAqL1xuICBASW5wdXQoKSBuYXNGb3JtR3JvdXA6IFVudHlwZWRGb3JtR3JvdXA7XG5cbiAgLyoqXG4gICAqIEBkZXNjcmlwdGlvblxuICAgKiBBZGRzIGFuIGFyaWEtbGFiZWwgYXR0cmlidXRlIHRvIHRoZSBiYWNrZHJvcCBidXR0b24uXG4gICAqL1xuICBASW5wdXQoKSBhcmlhTGFiZWxCYWNrZHJvcDogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBAZGVzY3JpcHRpb25cbiAgICogQWRkcyAnYXJpYS1sYWJlbCcgb24gdGhlIGNsZWFyIGJ1dHRvbiBpbnNpZGUgaW5wdXQuXG4gICAqL1xuICBASW5wdXQoKSBhcmlhTGFiZWxDbGVhcjogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBAZGVzY3JpcHRpb25cbiAgICogSXMgZmlyZWQgd2hlbiB0aGUgbmV4dCBlbGVtZW50IHNob3VsZCBiZSBmb2N1c2VkLlxuICAgKi9cbiAgQE91dHB1dCgpIGZvY3VzT25OZXh0ID0gbmV3IEV2ZW50RW1pdHRlcigpO1xuXG4gIC8qKlxuICAgKiBAZGVzY3JpcHRpb25cbiAgICogSXMgZmlyZWQgd2hlbiB0aGUgdXNlciBzZWxlY3RzIGFuIGl0ZW0gaW4gdGhlIGRyb3Bkb3duIGxpc3QuXG4gICAqL1xuICBAT3V0cHV0KCkgc2VsZWN0ZWRDaGFuZ2UgPSBuZXcgRXZlbnRFbWl0dGVyPEF1dG9jb21wbGV0ZU1vZGVsPigpO1xuXG4gIEBPdXRwdXQoKSBvcGVuQ2hhbmdlID0gbmV3IEV2ZW50RW1pdHRlcjxib29sZWFuPigpO1xuICBAT3V0cHV0KCkgbW9kZWxDaGFuZ2UgPSBuZXcgRXZlbnRFbWl0dGVyPHN0cmluZz4oKTtcblxuICBwcml2YXRlIGluZGV4ID0gLTE7XG4gIHByaXZhdGUgb3BlblZhbHVlID0gZmFsc2U7XG4gIHByaXZhdGUgaXRlbXNWYWx1ZTogQXJyYXk8QXV0b2NvbXBsZXRlTW9kZWw+O1xuICBwcml2YXRlIG1vZGVsVmFsdWU6IHN0cmluZztcbiAgcHJpdmF0ZSBjb21wb25lbnRJZDogbnVtYmVyO1xuXG4gIGNvbnN0cnVjdG9yKEBJbmplY3QoRE9DVU1FTlQpIHByaXZhdGUgZG9jdW1lbnQ6IGFueSkge1xuICAgIHN1cGVyKCduYXMtYXV0b2NvbXBsZXRlJyk7XG4gICAgdGhpcy5jb21wb25lbnRJZCA9IG5leHRJZCsrO1xuICB9XG5cbiAgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgaWYgKCF0aGlzLmFyaWFMYWJlbENsZWFyKSB7XG4gICAgICB0aGlzLndhcm5NaXNzaW5nQWNjZXNzaWJpbHR5SW5wdXQoJ2FyaWFMYWJlbENsZWFyJyk7XG4gICAgfVxuXG4gICAgaWYgKCF0aGlzLmFyaWFMYWJlbEJhY2tkcm9wKSB7XG4gICAgICB0aGlzLndhcm5NaXNzaW5nQWNjZXNzaWJpbHR5SW5wdXQoJ2FyaWFMYWJlbEJhY2tkcm9wJyk7XG4gICAgfVxuICB9XG5cbiAgZ2V0UmVzdWx0c0lkKCk6IHN0cmluZyB7XG4gICAgcmV0dXJuIGBuYXMtYXV0b2NvbXBsZXRlLXJlc3VsdHMtJHt0aGlzLmNvbXBvbmVudElkfWA7XG4gIH1cblxuICBnZXRMYWJlbElkKCk6IHN0cmluZyB7XG4gICAgcmV0dXJuIGBuYXMtYXV0b2NvbXBsZXRlLWxhYmVsLSR7dGhpcy5jb21wb25lbnRJZH1gO1xuICB9XG5cbiAgZ2V0SW5wdXRJZCgpOiBzdHJpbmcge1xuICAgIHJldHVybiBgbmFzLWF1dG9jb21wbGV0ZS1pbnB1dC0ke3RoaXMuY29tcG9uZW50SWR9YDtcbiAgfVxuXG4gIHNldE9wZW4oKTogdm9pZCB7XG4gICAgdGhpcy5pbnB1dC5uYXRpdmVFbGVtZW50LnNlbGVjdCgpO1xuICAgIHRoaXMub3BlbiA9IHRydWU7XG4gIH1cblxuICBmaWx0ZXIoKTogdm9pZCB7XG4gICAgaWYgKCF0aGlzLml0ZW1zKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgaWYgKCF0aGlzLm1vZGVsICYmICghdGhpcy5uYXNGb3JtR3JvdXAgfHwgIXRoaXMubmFzRm9ybUNvbnRyb2xOYW1lKSkge1xuICAgICAgdGhpcy5maWx0ZXJlZEl0ZW1zID0gdGhpcy5pdGVtcztcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBsZXQgY3VycmVudE1vZGVsID0gdGhpcy5tb2RlbDtcblxuICAgIGlmICh0aGlzLm5hc0Zvcm1Hcm91cCAmJiB0aGlzLm5hc0Zvcm1Db250cm9sTmFtZSkge1xuICAgICAgY29uc3QgY29udHJvbCA9IHRoaXMubmFzRm9ybUdyb3VwLmdldCh0aGlzLm5hc0Zvcm1Db250cm9sTmFtZSk7XG5cbiAgICAgIGN1cnJlbnRNb2RlbCA9IGNvbnRyb2wudmFsdWU7XG4gICAgfVxuXG4gICAgdGhpcy5maWx0ZXJlZEl0ZW1zID0gdGhpcy5pdGVtcy5maWx0ZXIoeCA9PlxuICAgICAgKHgudGl0bGUgJiYgeC50aXRsZS50b0xvd2VyQ2FzZSgpLmluY2x1ZGVzKGN1cnJlbnRNb2RlbC50b0xvd2VyQ2FzZSgpKSkgfHxcbiAgICAgICh4LnByZWFtYmxlICYmIHgucHJlYW1ibGUudG9Mb3dlckNhc2UoKS5pbmNsdWRlcyhjdXJyZW50TW9kZWwudG9Mb3dlckNhc2UoKSkpKTtcblxuICAgIGlmIChjdXJyZW50TW9kZWwgPT09ICcnIHx8IHRoaXMuaW5wdXQubmF0aXZlRWxlbWVudC52YWx1ZSA9PT0gJycpIHtcbiAgICAgIHRoaXMuZmlsdGVyZWRJdGVtcyA9IHRoaXMuaXRlbXM7XG4gICAgfVxuXG4gICAgdGhpcy5pbmRleCA9IDA7XG4gICAgaWYgKHRoaXMuZmlsdGVyZWRJdGVtcykge1xuICAgICAgdGhpcy5mb2N1c2VkID0gdGhpcy5maWx0ZXJlZEl0ZW1zW3RoaXMuaW5kZXhdO1xuICAgICAgdGhpcy5vcGVuID0gdHJ1ZTtcbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy5vcGVuID0gZmFsc2U7XG4gICAgfVxuICB9XG5cbiAgb25LZXlEb3duKGV2ZW50OiBLZXlib2FyZEV2ZW50KTogdm9pZCB7XG4gICAgc3dpdGNoIChldmVudC5rZXkpIHtcbiAgICAgIGNhc2UgJ0VzY2FwZSc6XG4gICAgICAgIHRoaXMub3BlbiA9IGZhbHNlO1xuICAgICAgICB0aGlzLmJsdXIoKTtcbiAgICAgICAgYnJlYWs7XG4gICAgICBjYXNlICdUYWInOlxuICAgICAgY2FzZSAnRW50ZXInOlxuICAgICAgICBpZiAoIWV2ZW50LnNoaWZ0S2V5KSB7XG4gICAgICAgICAgZXZlbnQucHJldmVudERlZmF1bHQoKTtcbiAgICAgICAgICB0aGlzLmZvY3VzT25OZXh0LmVtaXQoZXZlbnQpO1xuICAgICAgICB9XG5cbiAgICAgICAgaWYgKHRoaXMuZm9jdXNlZCkge1xuICAgICAgICAgIHRoaXMubW9kZWxWYWx1ZSA9IHRoaXMuZm9jdXNlZC50aXRsZTtcbiAgICAgICAgICB0aGlzLnNlbGVjdGVkQ2hhbmdlLmVtaXQodGhpcy5mb2N1c2VkKTtcbiAgICAgICAgICB0aGlzLnBhdGhSZWFjdGl2ZUZvcm1Db250cm9sKHRoaXMubW9kZWxWYWx1ZSk7XG4gICAgICAgIH1cblxuICAgICAgICB0aGlzLmJsdXIoKTtcbiAgICAgICAgYnJlYWs7XG4gICAgICBjYXNlICdBcnJvd0Rvd24nOlxuICAgICAgY2FzZSAnRG93bic6XG4gICAgICAgIHRoaXMuZm9jdXNEb3duKCk7XG4gICAgICAgIGJyZWFrO1xuICAgICAgY2FzZSAnQXJyb3dVcCc6XG4gICAgICBjYXNlICdVcCc6XG4gICAgICAgIHRoaXMuZm9jdXNVcCgpO1xuICAgICAgICBicmVhaztcbiAgICAgIGRlZmF1bHQ6XG4gICAgICAgIGJyZWFrO1xuICAgIH1cbiAgfVxuXG4gIGNsZWFyU2VsZWN0ZWQoZXZlbnQ6IGFueSk6IHZvaWQge1xuICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XG5cbiAgICB0aGlzLmZvY3VzZWQgPSBudWxsO1xuICAgIHRoaXMuZmlsdGVyZWRJdGVtcyA9IHRoaXMuaXRlbXM7XG4gICAgdGhpcy5tb2RlbCA9ICcnO1xuICAgIHRoaXMub3BlbiA9IHRydWU7XG4gICAgdGhpcy5pbmRleCA9IC0xO1xuXG4gICAgdGhpcy5pbnB1dC5uYXRpdmVFbGVtZW50LmZvY3VzKCk7XG5cbiAgfVxuXG4gIHNlbGVjdChpdGVtOiBBdXRvY29tcGxldGVNb2RlbCk6IHZvaWQge1xuICAgIHRoaXMuZm9jdXNlZCA9IGl0ZW07XG4gICAgdGhpcy5tb2RlbCA9IGl0ZW0udGl0bGU7XG4gICAgdGhpcy5zZWxlY3RlZENoYW5nZS5lbWl0KGl0ZW0pO1xuXG4gICAgaWYgKHRoaXMuZmlsdGVyZWRJdGVtcykge1xuICAgICAgdGhpcy5pbmRleCA9IHRoaXMuZmlsdGVyZWRJdGVtcy5maW5kSW5kZXgoeCA9PiB4LmlkID09PSBpdGVtLmlkKTtcbiAgICB9XG5cbiAgICB0aGlzLm9wZW4gPSBmYWxzZTtcbiAgICB0aGlzLmZvY3VzT25OZXh0LmVtaXQoKTtcbiAgfVxuXG4gIGJsdXIoKTogdm9pZCB7XG4gICAgdGhpcy5vcGVuID0gZmFsc2U7XG4gICAgdGhpcy5vcGVuQ2hhbmdlLmVtaXQoZmFsc2UpO1xuICB9XG5cbiAgcHJpdmF0ZSBmb2N1c0Rvd24oKTogdm9pZCB7XG4gICAgKyt0aGlzLmluZGV4O1xuXG4gICAgaWYgKHRoaXMuZmlsdGVyZWRJdGVtcykge1xuICAgICAgaWYgKCF0aGlzLmZpbHRlcmVkSXRlbXNbdGhpcy5pbmRleF0pIHtcbiAgICAgICAgdGhpcy5pbmRleCA9IDA7XG4gICAgICB9XG5cbiAgICAgIHRoaXMuZm9jdXNlZCA9IHRoaXMuZmlsdGVyZWRJdGVtc1t0aGlzLmluZGV4XTtcbiAgICB9XG5cbiAgICBpZiAodGhpcy5pbmRleCA9PT0gMCkge1xuICAgICAgdGhpcy5hdXRvU2Nyb2xsKDApO1xuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLmF1dG9TY3JvbGwoMTMxKTtcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIGZvY3VzVXAoKTogdm9pZCB7XG4gICAgLS10aGlzLmluZGV4O1xuXG4gICAgaWYgKHRoaXMuaW5kZXggPCAwKSB7XG4gICAgICB0aGlzLmluZGV4ID0gMDtcbiAgICAgIHRoaXMuYmx1cigpO1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIGlmICh0aGlzLmZpbHRlcmVkSXRlbXMpIHtcbiAgICAgIHRoaXMuZm9jdXNlZCA9IHRoaXMuZmlsdGVyZWRJdGVtc1t0aGlzLmluZGV4XTtcbiAgICB9XG5cbiAgICB0aGlzLmF1dG9TY3JvbGwoMCk7XG4gIH1cblxuICBwcml2YXRlIHBhdGhSZWFjdGl2ZUZvcm1Db250cm9sKG1vZGVsOiBzdHJpbmcpOiB2b2lkIHtcbiAgICBpZiAodGhpcy5uYXNGb3JtR3JvdXAgJiYgdGhpcy5uYXNGb3JtQ29udHJvbE5hbWUpIHtcbiAgICAgIGNvbnN0IGZvcm1Db250cm9sID0gdGhpcy5uYXNGb3JtR3JvdXAuZ2V0KHRoaXMubmFzRm9ybUNvbnRyb2xOYW1lKTtcbiAgICAgIGZvcm1Db250cm9sLnBhdGNoVmFsdWUobW9kZWwpO1xuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgYXV0b1Njcm9sbChleHRyYU9mZnNldDogbnVtYmVyKTogdm9pZCB7XG4gICAgaWYgKCF0aGlzLnJlc3VsdHMpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG4gICAgY29uc3QgcmVzdWx0cyA9IHRoaXMucmVzdWx0cy5uYXRpdmVFbGVtZW50O1xuICAgIGNvbnN0IGZvY3VzZWRJdGVtID0gdGhpcy5kb2N1bWVudC5xdWVyeVNlbGVjdG9yKCcubmFzLWF1dG9jb21wbGV0ZV9fbGlzdC1pdGVtLS1mb2N1cycpO1xuXG4gICAgaWYgKGZvY3VzZWRJdGVtKSB7XG4gICAgICByZXN1bHRzLnNjcm9sbFRvKDAsIDApO1xuICAgICAgcmVzdWx0cy5zY3JvbGxUbygwLCBmb2N1c2VkSXRlbS5vZmZzZXRUb3AgKyBleHRyYU9mZnNldCAtIHJlc3VsdHMuY2xpZW50SGVpZ2h0KTtcbiAgICB9XG4gIH1cbn1cbiIsIjxuZy1jb250YWluZXIgKm5nSWY9XCIhbmFzRm9ybUNvbnRyb2xOYW1lOyBlbHNlIHJlYWN0aXZlRm9ybVwiPlxuICA8bGFiZWwgW2lkXT1cImdldExhYmVsSWQoKVwiXG4gICAgW2F0dHIuYXJpYS1sYWJlbF09XCJsYWJlbFwiXG4gICAgW25hc0NsYXNzXT1cImdldENsYXNzKCd3cmFwcGVyJylcIj5cbiAgICA8c3BhbiBbbmFzQ2xhc3NdPVwiZ2V0Q2xhc3MoJ2xhYmVsJylcIj57e2xhYmVsfX08L3NwYW4+XG4gICAgPGlucHV0ICNpbnB1dFxuICAgICAgdHlwZT1cInRleHRcIlxuICAgICAgcm9sZT1cImNvbWJvYm94XCJcbiAgICAgIGFyaWEtaGFzcG9wdXA9XCJ0cnVlXCJcbiAgICAgIGFyaWEtYXV0b2NvbXBsZXRlPVwibm9uZVwiXG4gICAgICBhdXRvY29tcGxldGU9XCJvZmZcIlxuICAgICAgW2lkXT1cImdldElucHV0SWQoKVwiXG4gICAgICBbYXR0ci5hcmlhLWNvbnRyb2xzXT1cImdldFJlc3VsdHNJZCgpXCJcbiAgICAgIFthdHRyLmFyaWEtZXhwYW5kZWRdPVwib3BlbiA/ICd0cnVlJyA6ICdmYWxzZSdcIlxuICAgICAgW2F0dHIuYXJpYS1vd25zXT1cImdldFJlc3VsdHNJZCgpXCJcbiAgICAgIFtuYXNDbGFzc109XCJnZXRDbGFzcygnaW5wdXQnKVwiXG4gICAgICBbKG5nTW9kZWwpXT1cIm1vZGVsXCJcbiAgICAgIFtwbGFjZWhvbGRlcl09XCJwbGFjZWhvbGRlclwiXG4gICAgICAoZm9jdXMpPVwic2V0T3BlbigpXCJcbiAgICAgIChpbnB1dCk9XCJmaWx0ZXIoKVwiXG4gICAgICAoY2xpY2spPVwic2V0T3BlbigpXCJcbiAgICAgIChrZXlkb3duKT1cIm9uS2V5RG93bigkZXZlbnQpXCIgLz5cbiAgICA8c3BhbiBbbmFzQ2xhc3NdPVwiZ2V0Q2xhc3MoJ2ljb24nKVwiPlxuICAgICAgPGJ1dHRvbiB0eXBlPVwiYnV0dG9uXCJcbiAgICAgICAgcm9sZT1cImJ1dHRvblwiXG4gICAgICAgIHRhYmluZGV4PVwiLTFcIlxuICAgICAgICAqbmdJZj1cIm1vZGVsOyBlbHNlIGlzRW1wdHlcIlxuICAgICAgICBbYXR0ci5hcmlhLWxhYmVsXT1cImFyaWFMYWJlbENsZWFyXCJcbiAgICAgICAgKGNsaWNrKT1cImNsZWFyU2VsZWN0ZWQoJGV2ZW50KVwiPlxuICAgICAgICA8bmFzLWljb24gW3R5cGVdPVwiJ3JlbW92ZSdcIj48L25hcy1pY29uPlxuICAgICAgPC9idXR0b24+XG4gICAgICA8bmctdGVtcGxhdGUgI2lzRW1wdHk+XG4gICAgICAgIDxuYXMtaWNvbiBbdHlwZV09XCInc21hbGwnXCJcbiAgICAgICAgICBbaWNvbl09XCJpY29uXCI+PC9uYXMtaWNvbj5cbiAgICAgIDwvbmctdGVtcGxhdGU+XG4gICAgPC9zcGFuPlxuICAgIDxzcGFuIFtuYXNDbGFzc109XCJnZXRDbGFzcygnaW5wdXQtbGluZScpXCI+PC9zcGFuPlxuICA8L2xhYmVsPlxuPC9uZy1jb250YWluZXI+XG48bmctdGVtcGxhdGUgI3JlYWN0aXZlRm9ybT5cbiAgPGxhYmVsIFtpZF09XCJnZXRMYWJlbElkKClcIlxuICAgIFthdHRyLmFyaWEtbGFiZWxdPVwibGFiZWxcIlxuICAgIFtuYXNDbGFzc109XCJnZXRDbGFzcygnd3JhcHBlcicpXCJcbiAgICBbZm9ybUdyb3VwXT1cIm5hc0Zvcm1Hcm91cFwiPlxuICAgIDxzcGFuIFtuYXNDbGFzc109XCJnZXRDbGFzcygnbGFiZWwnKVwiPnt7bGFiZWx9fTwvc3Bhbj5cbiAgICA8aW5wdXQgI2lucHV0XG4gICAgICB0eXBlPVwidGV4dFwiXG4gICAgICByb2xlPVwiY29tYm9ib3hcIlxuICAgICAgYXJpYS1hdXRvY29tcGxldGU9XCJub25lXCJcbiAgICAgIGF1dG9jb21wbGV0ZT1cIm9mZlwiXG4gICAgICBbaWRdPVwiZ2V0SW5wdXRJZCgpXCJcbiAgICAgIFthdHRyLmFyaWEtY29udHJvbHNdPVwiZ2V0UmVzdWx0c0lkKClcIlxuICAgICAgW2F0dHIuYXJpYS1leHBhbmRlZF09XCJvcGVuID8gJ3RydWUnIDogJ2ZhbHNlJ1wiXG4gICAgICBbYXR0ci5hcmlhLW93bnNdPVwiZ2V0UmVzdWx0c0lkKClcIlxuICAgICAgW2Zvcm1Db250cm9sTmFtZV09XCJuYXNGb3JtQ29udHJvbE5hbWVcIlxuICAgICAgW25hc0NsYXNzXT1cImdldENsYXNzKCdpbnB1dCcpXCJcbiAgICAgIFtwbGFjZWhvbGRlcl09XCJwbGFjZWhvbGRlclwiXG4gICAgICAoZm9jdXMpPVwic2V0T3BlbigpXCJcbiAgICAgIChpbnB1dCk9XCJmaWx0ZXIoKVwiXG4gICAgICAoY2xpY2spPVwic2V0T3BlbigpXCJcbiAgICAgIChrZXlkb3duKT1cIm9uS2V5RG93bigkZXZlbnQpXCIgLz5cbiAgICA8c3BhbiBbbmFzQ2xhc3NdPVwiZ2V0Q2xhc3MoJ2ljb24nKVwiPlxuICAgICAgPGJ1dHRvbiB0eXBlPVwiYnV0dG9uXCJcbiAgICAgICAgcm9sZT1cImJ1dHRvblwiXG4gICAgICAgIHRhYmluZGV4PVwiLTFcIlxuICAgICAgICAqbmdJZj1cIm1vZGVsOyBlbHNlIGlzRW1wdHlcIlxuICAgICAgICBbYXR0ci5hcmlhLWxhYmVsXT1cImFyaWFMYWJlbENsZWFyXCJcbiAgICAgICAgKGNsaWNrKT1cImNsZWFyU2VsZWN0ZWQoJGV2ZW50KVwiPlxuICAgICAgICA8bmFzLWljb24gW3R5cGVdPVwiJ3JlbW92ZSdcIj48L25hcy1pY29uPlxuICAgICAgPC9idXR0b24+XG4gICAgICA8bmctdGVtcGxhdGUgI2lzRW1wdHk+XG4gICAgICAgIDxuYXMtaWNvbiBbdHlwZV09XCInc21hbGwnXCJcbiAgICAgICAgICBbaWNvbl09XCJpY29uXCI+PC9uYXMtaWNvbj5cbiAgICAgIDwvbmctdGVtcGxhdGU+XG4gICAgPC9zcGFuPlxuICAgIDxzcGFuIFtuYXNDbGFzc109XCJnZXRDbGFzcygnaW5wdXQtbGluZScpXCI+PC9zcGFuPlxuICA8L2xhYmVsPlxuPC9uZy10ZW1wbGF0ZT5cbjxkaXYgW2lkXT1cImdldFJlc3VsdHNJZCgpXCJcbiAgW25hc0NsYXNzXT1cImdldENsYXNzKCdyZXN1bHRzLXdyYXBwZXInKVwiXG4gIFthdHRyLmFyaWEtZXhwYW5kZWRdPVwib3BlbiA/ICd0cnVlJyA6ICdmYWxzZSdcIj5cbiAgPHVsICNyZXN1bHRzXG4gICAgcm9sZT1cImxpc3Rib3hcIlxuICAgICpuZ0lmPVwib3BlblwiXG4gICAgW2F0dHIuYXJpYS1sYWJlbGxlZGJ5XT1cImdldExhYmVsSWQoKVwiXG4gICAgW25hc0NsYXNzXT1cImdldENsYXNzKCdyZXN1bHRzJylcIj5cbiAgICA8bGkgcm9sZT1cIm9wdGlvblwiXG4gICAgICAqbmdGb3I9XCJsZXQgaXRlbSBvZiBmaWx0ZXJlZEl0ZW1zXCJcbiAgICAgIFtpZF09XCJpdGVtLmlkXCJcbiAgICAgIFtuYXNDbGFzc109XCJnZXRDbGFzcygnbGlzdC1pdGVtJywgaXRlbS5pZCA9PT0gZm9jdXNlZD8uaWQgJiYgJ2ZvY3VzJylcIj5cbiAgICAgIDxidXR0b24gdHlwZT1cImJ1dHRvblwiXG4gICAgICAgIFtuYXNDbGFzc109XCJnZXRDbGFzcygnaXRlbScsIGl0ZW0uaWQgPT09IGZvY3VzZWQ/LmlkICYmICdmb2N1cycpXCJcbiAgICAgICAgKGNsaWNrKT1cInNlbGVjdChpdGVtKVwiXG4gICAgICAgIHRhYmluZGV4PVwiLTFcIj5cbiAgICAgICAgPHNwYW4gW25hc0NsYXNzXT1cImdldENsYXNzKCd0aXRsZScpXCI+e3tpdGVtLnRpdGxlfX08L3NwYW4+XG4gICAgICAgIDxzcGFuIFtuYXNDbGFzc109XCJnZXRDbGFzcygncHJlYW1ibGUnKVwiPnt7aXRlbS5wcmVhbWJsZX19PC9zcGFuPlxuICAgICAgPC9idXR0b24+XG4gICAgPC9saT5cbiAgPC91bD5cbjwvZGl2PlxuXG48bmFzLWJhY2tkcm9wICpuZ0lmPVwiIWV4aXN0cyhkaXNhYmxlQmFja2Ryb3ApXCJcbiAgW2FyaWFMYWJlbEJhY2tkcm9wXT1cImFyaWFMYWJlbEJhY2tkcm9wXCJcbiAgWyhzaG93QmFja2Ryb3ApXT1cInNob3dCYWNrZHJvcFwiPjwvbmFzLWJhY2tkcm9wPiJdfQ==
@@ -0,0 +1,43 @@
1
+ import { NgModule } from '@angular/core';
2
+ import { CommonModule } from '@angular/common';
3
+ import { FormsModule, ReactiveFormsModule } from '@angular/forms';
4
+ import { AutocompleteComponent } from './autocomplete.component';
5
+ import { IconModule } from '../icon/icon.module';
6
+ import { SpinnerModule } from '../spinner/spinner.module';
7
+ import { NasClassModule } from '../../core/directives/nas-class/nas-class.module';
8
+ import { BackdropModule } from '../backdrop/backdrop.module';
9
+ import * as i0 from "@angular/core";
10
+ export class AutocompleteModule {
11
+ }
12
+ AutocompleteModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: AutocompleteModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
13
+ AutocompleteModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "15.2.9", ngImport: i0, type: AutocompleteModule, declarations: [AutocompleteComponent], imports: [CommonModule,
14
+ NasClassModule,
15
+ FormsModule,
16
+ IconModule,
17
+ SpinnerModule,
18
+ BackdropModule,
19
+ ReactiveFormsModule], exports: [AutocompleteComponent] });
20
+ AutocompleteModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: AutocompleteModule, imports: [CommonModule,
21
+ NasClassModule,
22
+ FormsModule,
23
+ IconModule,
24
+ SpinnerModule,
25
+ BackdropModule,
26
+ ReactiveFormsModule] });
27
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: AutocompleteModule, decorators: [{
28
+ type: NgModule,
29
+ args: [{
30
+ declarations: [AutocompleteComponent],
31
+ imports: [
32
+ CommonModule,
33
+ NasClassModule,
34
+ FormsModule,
35
+ IconModule,
36
+ SpinnerModule,
37
+ BackdropModule,
38
+ ReactiveFormsModule
39
+ ],
40
+ exports: [AutocompleteComponent]
41
+ }]
42
+ }] });
43
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXV0b2NvbXBsZXRlLm1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NvcmUtY29tcG9uZW50cy9zcmMvbGliL2NvbXBvbmVudHMvYXV0b2NvbXBsZXRlL2F1dG9jb21wbGV0ZS5tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN6QyxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUFFLFdBQVcsRUFBRSxtQkFBbUIsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBRWxFLE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBQ2pFLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUNqRCxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFDMUQsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLGtEQUFrRCxDQUFDO0FBQ2xGLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSw2QkFBNkIsQ0FBQzs7QUFlN0QsTUFBTSxPQUFPLGtCQUFrQjs7K0dBQWxCLGtCQUFrQjtnSEFBbEIsa0JBQWtCLGlCQVpkLHFCQUFxQixhQUVsQyxZQUFZO1FBQ1osY0FBYztRQUNkLFdBQVc7UUFDWCxVQUFVO1FBQ1YsYUFBYTtRQUNiLGNBQWM7UUFDZCxtQkFBbUIsYUFFWCxxQkFBcUI7Z0hBRXBCLGtCQUFrQixZQVYzQixZQUFZO1FBQ1osY0FBYztRQUNkLFdBQVc7UUFDWCxVQUFVO1FBQ1YsYUFBYTtRQUNiLGNBQWM7UUFDZCxtQkFBbUI7MkZBSVYsa0JBQWtCO2tCQWI5QixRQUFRO21CQUFDO29CQUNSLFlBQVksRUFBRSxDQUFDLHFCQUFxQixDQUFDO29CQUNyQyxPQUFPLEVBQUU7d0JBQ1AsWUFBWTt3QkFDWixjQUFjO3dCQUNkLFdBQVc7d0JBQ1gsVUFBVTt3QkFDVixhQUFhO3dCQUNiLGNBQWM7d0JBQ2QsbUJBQW1CO3FCQUNwQjtvQkFDRCxPQUFPLEVBQUUsQ0FBQyxxQkFBcUIsQ0FBQztpQkFDakMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBOZ01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IEZvcm1zTW9kdWxlLCBSZWFjdGl2ZUZvcm1zTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuXG5pbXBvcnQgeyBBdXRvY29tcGxldGVDb21wb25lbnQgfSBmcm9tICcuL2F1dG9jb21wbGV0ZS5jb21wb25lbnQnO1xuaW1wb3J0IHsgSWNvbk1vZHVsZSB9IGZyb20gJy4uL2ljb24vaWNvbi5tb2R1bGUnO1xuaW1wb3J0IHsgU3Bpbm5lck1vZHVsZSB9IGZyb20gJy4uL3NwaW5uZXIvc3Bpbm5lci5tb2R1bGUnO1xuaW1wb3J0IHsgTmFzQ2xhc3NNb2R1bGUgfSBmcm9tICcuLi8uLi9jb3JlL2RpcmVjdGl2ZXMvbmFzLWNsYXNzL25hcy1jbGFzcy5tb2R1bGUnO1xuaW1wb3J0IHsgQmFja2Ryb3BNb2R1bGUgfSBmcm9tICcuLi9iYWNrZHJvcC9iYWNrZHJvcC5tb2R1bGUnO1xuXG5ATmdNb2R1bGUoe1xuICBkZWNsYXJhdGlvbnM6IFtBdXRvY29tcGxldGVDb21wb25lbnRdLFxuICBpbXBvcnRzOiBbXG4gICAgQ29tbW9uTW9kdWxlLFxuICAgIE5hc0NsYXNzTW9kdWxlLFxuICAgIEZvcm1zTW9kdWxlLFxuICAgIEljb25Nb2R1bGUsXG4gICAgU3Bpbm5lck1vZHVsZSxcbiAgICBCYWNrZHJvcE1vZHVsZSxcbiAgICBSZWFjdGl2ZUZvcm1zTW9kdWxlXG4gIF0sXG4gIGV4cG9ydHM6IFtBdXRvY29tcGxldGVDb21wb25lbnRdXG59KVxuZXhwb3J0IGNsYXNzIEF1dG9jb21wbGV0ZU1vZHVsZSB7IH1cbiJdfQ==
@@ -0,0 +1,56 @@
1
+ /**
2
+ * @license
3
+ * Copyright Norwegian Air Shuttle. All Rights Reserved.
4
+ */
5
+ import { Component, Output, EventEmitter, Input } from '@angular/core';
6
+ import { NasComponentBase } from '../../core/base/nas-component.base';
7
+ import * as i0 from "@angular/core";
8
+ import * as i1 from "@angular/common";
9
+ import * as i2 from "../../core/directives/nas-class/nas-class.directive";
10
+ /**
11
+ * @description
12
+ * Norwegian Back drop Component | Functional
13
+ */
14
+ export class BackdropComponent extends NasComponentBase {
15
+ /**
16
+ * @description
17
+ * backdrop show/hide.
18
+ */
19
+ get showBackdrop() {
20
+ return this.show;
21
+ }
22
+ set showBackdrop(value) {
23
+ this.show = value;
24
+ this.showBackdropChange.emit(value);
25
+ }
26
+ constructor() {
27
+ super('nas-backdrop');
28
+ /**
29
+ * @description
30
+ * Event emmitted when showBackdrop is changed.
31
+ */
32
+ this.showBackdropChange = new EventEmitter();
33
+ }
34
+ ngOnInit() {
35
+ if (!this.ariaLabelBackdrop) {
36
+ this.warnMissingAccessibiltyInput('ariaLabelBackdrop');
37
+ }
38
+ }
39
+ onClose(event) {
40
+ this.showBackdrop = false;
41
+ event.preventDefault();
42
+ }
43
+ }
44
+ BackdropComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: BackdropComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
45
+ BackdropComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.9", type: BackdropComponent, selector: "nas-backdrop", inputs: { showBackdrop: "showBackdrop", ariaLabelBackdrop: "ariaLabelBackdrop" }, outputs: { showBackdropChange: "showBackdropChange" }, usesInheritance: true, ngImport: i0, template: "<button type=\"button\"\n tabindex=\"0\"\n #backdrop\n [attr.aria-label]=\"ariaLabelBackdrop\"\n [nasClass]=\"getClass()\"\n (click)=\"onClose($event)\"\n *ngIf=\"show\">\n</button>", styles: ["@keyframes fade-in{0%{opacity:0}}@keyframes fade-in-down{0%{opacity:0;transform:translateY(-30px)}}@keyframes fade-in-left{0%{opacity:0;transform:translate(-30px)}}@keyframes fade-in-right{0%{opacity:0;transform:translate(30px)}}@keyframes fade-out{to{opacity:0}}@keyframes flip-in{0%{opacity:0;transform:rotateX(-90deg)}40%{opacity:1;transform:rotateX(10deg)}}@keyframes flip-out{to{opacity:0;transform:rotateX(-90deg)}}@keyframes pop-in-from-top{0%{transform:matrix3d(1,0,0,0,0,1,0,0,0,0,1,0,0,-100,1,1);opacity:0}6.67%{transform:matrix3d(1,0,0,0,0,1,0,0,0,0,1,0,0,-30.227,1,1)}13.33%{transform:matrix3d(1,0,0,0,0,1,0,0,0,0,1,0,0,1.76,1,1)}20%{transform:matrix3d(1,0,0,0,0,1,0,0,0,0,1,0,0,7.08,1,1)}26.67%{transform:matrix3d(1,0,0,0,0,1,0,0,0,0,1,0,0,3.838,1,1)}33.33%{transform:matrix3d(1,0,0,0,0,1,0,0,0,0,1,0,0,.902,1,1);opacity:1}40%{transform:matrix3d(1,0,0,0,0,1,0,0,0,0,1,0,0,-.237,1,1)}46.67%{transform:matrix3d(1,0,0,0,0,1,0,0,0,0,1,0,0,-.312,1,1)}53.33%{transform:matrix3d(1,0,0,0,0,1,0,0,0,0,1,0,0,-.141,1,1)}60%{transform:matrix3d(1,0,0,0,0,1,0,0,0,0,1,0,0,-.021,1,1)}66.67%{transform:matrix3d(1,0,0,0,0,1,0,0,0,0,1,0,0,.015,1,1)}73.33%{transform:matrix3d(1,0,0,0,0,1,0,0,0,0,1,0,0,.013,1,1)}80%{transform:matrix3d(1,0,0,0,0,1,0,0,0,0,1,0,0,.005,1,1)}86.67%{transform:matrix3d(1,0,0,0,0,1,0,0,0,0,1,0,0,0,1,1)}93.33%{transform:matrix3d(1,0,0,0,0,1,0,0,0,0,1,0,0,-.001,1,1);-webkit-transform:translate3d(0,0,0)}to{transform:matrix3d(1,0,0,0,0,1,0,0,0,0,1,0,0,-.001,1,1);-webkit-transform:translate3d(0,0,0)}}.nas-backdrop{display:block;position:fixed;top:0;left:0;width:100%;height:100%;color:transparent;background-color:#0019292b;animation:backdrop-animation .7s ease-out both}@keyframes backdrop-animation{0%{opacity:0}}\n"], dependencies: [{ kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2.NasClassDirective, selector: "[nasClass]", inputs: ["nasClass", "attr.class"] }] });
46
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: BackdropComponent, decorators: [{
47
+ type: Component,
48
+ args: [{ selector: 'nas-backdrop', template: "<button type=\"button\"\n tabindex=\"0\"\n #backdrop\n [attr.aria-label]=\"ariaLabelBackdrop\"\n [nasClass]=\"getClass()\"\n (click)=\"onClose($event)\"\n *ngIf=\"show\">\n</button>", styles: ["@keyframes fade-in{0%{opacity:0}}@keyframes fade-in-down{0%{opacity:0;transform:translateY(-30px)}}@keyframes fade-in-left{0%{opacity:0;transform:translate(-30px)}}@keyframes fade-in-right{0%{opacity:0;transform:translate(30px)}}@keyframes fade-out{to{opacity:0}}@keyframes flip-in{0%{opacity:0;transform:rotateX(-90deg)}40%{opacity:1;transform:rotateX(10deg)}}@keyframes flip-out{to{opacity:0;transform:rotateX(-90deg)}}@keyframes pop-in-from-top{0%{transform:matrix3d(1,0,0,0,0,1,0,0,0,0,1,0,0,-100,1,1);opacity:0}6.67%{transform:matrix3d(1,0,0,0,0,1,0,0,0,0,1,0,0,-30.227,1,1)}13.33%{transform:matrix3d(1,0,0,0,0,1,0,0,0,0,1,0,0,1.76,1,1)}20%{transform:matrix3d(1,0,0,0,0,1,0,0,0,0,1,0,0,7.08,1,1)}26.67%{transform:matrix3d(1,0,0,0,0,1,0,0,0,0,1,0,0,3.838,1,1)}33.33%{transform:matrix3d(1,0,0,0,0,1,0,0,0,0,1,0,0,.902,1,1);opacity:1}40%{transform:matrix3d(1,0,0,0,0,1,0,0,0,0,1,0,0,-.237,1,1)}46.67%{transform:matrix3d(1,0,0,0,0,1,0,0,0,0,1,0,0,-.312,1,1)}53.33%{transform:matrix3d(1,0,0,0,0,1,0,0,0,0,1,0,0,-.141,1,1)}60%{transform:matrix3d(1,0,0,0,0,1,0,0,0,0,1,0,0,-.021,1,1)}66.67%{transform:matrix3d(1,0,0,0,0,1,0,0,0,0,1,0,0,.015,1,1)}73.33%{transform:matrix3d(1,0,0,0,0,1,0,0,0,0,1,0,0,.013,1,1)}80%{transform:matrix3d(1,0,0,0,0,1,0,0,0,0,1,0,0,.005,1,1)}86.67%{transform:matrix3d(1,0,0,0,0,1,0,0,0,0,1,0,0,0,1,1)}93.33%{transform:matrix3d(1,0,0,0,0,1,0,0,0,0,1,0,0,-.001,1,1);-webkit-transform:translate3d(0,0,0)}to{transform:matrix3d(1,0,0,0,0,1,0,0,0,0,1,0,0,-.001,1,1);-webkit-transform:translate3d(0,0,0)}}.nas-backdrop{display:block;position:fixed;top:0;left:0;width:100%;height:100%;color:transparent;background-color:#0019292b;animation:backdrop-animation .7s ease-out both}@keyframes backdrop-animation{0%{opacity:0}}\n"] }]
49
+ }], ctorParameters: function () { return []; }, propDecorators: { showBackdropChange: [{
50
+ type: Output
51
+ }], showBackdrop: [{
52
+ type: Input
53
+ }], ariaLabelBackdrop: [{
54
+ type: Input
55
+ }] } });
56
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmFja2Ryb3AuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY29yZS1jb21wb25lbnRzL3NyYy9saWIvY29tcG9uZW50cy9iYWNrZHJvcC9iYWNrZHJvcC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jb3JlLWNvbXBvbmVudHMvc3JjL2xpYi9jb21wb25lbnRzL2JhY2tkcm9wL2JhY2tkcm9wLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOzs7R0FHRztBQUNILE9BQU8sRUFBRSxTQUFTLEVBQVUsTUFBTSxFQUFFLFlBQVksRUFBRSxLQUFLLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDL0UsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sb0NBQW9DLENBQUM7Ozs7QUFFdEU7OztHQUdHO0FBTUgsTUFBTSxPQUFPLGlCQUFrQixTQUFRLGdCQUFnQjtJQVNyRDs7O09BR0c7SUFDSCxJQUNJLFlBQVk7UUFDZCxPQUFPLElBQUksQ0FBQyxJQUFJLENBQUM7SUFDbkIsQ0FBQztJQUNELElBQUksWUFBWSxDQUFDLEtBQWM7UUFDN0IsSUFBSSxDQUFDLElBQUksR0FBRyxLQUFLLENBQUM7UUFDbEIsSUFBSSxDQUFDLGtCQUFrQixDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUN0QyxDQUFDO0lBUUQ7UUFDRSxLQUFLLENBQUMsY0FBYyxDQUFDLENBQUM7UUExQnhCOzs7V0FHRztRQUNPLHVCQUFrQixHQUFHLElBQUksWUFBWSxFQUFXLENBQUM7SUF1QjNELENBQUM7SUFFRCxRQUFRO1FBQ04sSUFBSSxDQUFDLElBQUksQ0FBQyxpQkFBaUIsRUFBRTtZQUMzQixJQUFJLENBQUMsNEJBQTRCLENBQUMsbUJBQW1CLENBQUMsQ0FBQztTQUN4RDtJQUNILENBQUM7SUFFRCxPQUFPLENBQUMsS0FBb0I7UUFDMUIsSUFBSSxDQUFDLFlBQVksR0FBRyxLQUFLLENBQUM7UUFDMUIsS0FBSyxDQUFDLGNBQWMsRUFBRSxDQUFDO0lBQ3pCLENBQUM7OzhHQXpDVSxpQkFBaUI7a0dBQWpCLGlCQUFpQixvTkNoQjlCLHlNQU9TOzJGRFNJLGlCQUFpQjtrQkFMN0IsU0FBUzsrQkFDRSxjQUFjOzBFQVdkLGtCQUFrQjtzQkFBM0IsTUFBTTtnQkFPSCxZQUFZO3NCQURmLEtBQUs7Z0JBYUcsaUJBQWlCO3NCQUF6QixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBAbGljZW5zZVxuICogQ29weXJpZ2h0IE5vcndlZ2lhbiBBaXIgU2h1dHRsZS4gQWxsIFJpZ2h0cyBSZXNlcnZlZC5cbiAqL1xuaW1wb3J0IHsgQ29tcG9uZW50LCBPbkluaXQsIE91dHB1dCwgRXZlbnRFbWl0dGVyLCBJbnB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgTmFzQ29tcG9uZW50QmFzZSB9IGZyb20gJy4uLy4uL2NvcmUvYmFzZS9uYXMtY29tcG9uZW50LmJhc2UnO1xuXG4vKipcbiAqIEBkZXNjcmlwdGlvblxuICogTm9yd2VnaWFuIEJhY2sgZHJvcCBDb21wb25lbnQgfCBGdW5jdGlvbmFsXG4gKi9cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ25hcy1iYWNrZHJvcCcsXG4gIHRlbXBsYXRlVXJsOiAnLi9iYWNrZHJvcC5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL2JhY2tkcm9wLmNvbXBvbmVudC5zY3NzJ11cbn0pXG5leHBvcnQgY2xhc3MgQmFja2Ryb3BDb21wb25lbnQgZXh0ZW5kcyBOYXNDb21wb25lbnRCYXNlIGltcGxlbWVudHMgT25Jbml0ICB7XG4gIHNob3c6IGJvb2xlYW47XG5cbiAgLyoqXG4gICAqIEBkZXNjcmlwdGlvblxuICAgKiBFdmVudCBlbW1pdHRlZCB3aGVuIHNob3dCYWNrZHJvcCBpcyBjaGFuZ2VkLlxuICAgKi9cbiAgQE91dHB1dCgpIHNob3dCYWNrZHJvcENoYW5nZSA9IG5ldyBFdmVudEVtaXR0ZXI8Ym9vbGVhbj4oKTtcblxuICAvKipcbiAgICogQGRlc2NyaXB0aW9uXG4gICAqIGJhY2tkcm9wIHNob3cvaGlkZS5cbiAgICovXG4gIEBJbnB1dCgpXG4gIGdldCBzaG93QmFja2Ryb3AoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMuc2hvdztcbiAgfVxuICBzZXQgc2hvd0JhY2tkcm9wKHZhbHVlOiBib29sZWFuKSB7XG4gICAgdGhpcy5zaG93ID0gdmFsdWU7XG4gICAgdGhpcy5zaG93QmFja2Ryb3BDaGFuZ2UuZW1pdCh2YWx1ZSk7XG4gIH1cblxuICAvKipcbiAgICogQGRlc2NyaXB0aW9uXG4gICAqIEFkZHMgYW4gYXJpYS1sYWJlbCBhdHRyaWJ1dGUgdG8gdGhlIGJ1dHRvblxuICAgKi9cbiAgQElucHV0KCkgYXJpYUxhYmVsQmFja2Ryb3A6IHN0cmluZztcblxuICBjb25zdHJ1Y3RvcigpIHtcbiAgICBzdXBlcignbmFzLWJhY2tkcm9wJyk7XG4gIH1cblxuICBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICBpZiAoIXRoaXMuYXJpYUxhYmVsQmFja2Ryb3ApIHtcbiAgICAgIHRoaXMud2Fybk1pc3NpbmdBY2Nlc3NpYmlsdHlJbnB1dCgnYXJpYUxhYmVsQmFja2Ryb3AnKTtcbiAgICB9XG4gIH1cblxuICBvbkNsb3NlKGV2ZW50OiBLZXlib2FyZEV2ZW50KTogdm9pZCB7XG4gICAgdGhpcy5zaG93QmFja2Ryb3AgPSBmYWxzZTtcbiAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xuICB9XG5cbn1cbiIsIjxidXR0b24gdHlwZT1cImJ1dHRvblwiXG4gICAgdGFiaW5kZXg9XCIwXCJcbiAgICAjYmFja2Ryb3BcbiAgICBbYXR0ci5hcmlhLWxhYmVsXT1cImFyaWFMYWJlbEJhY2tkcm9wXCJcbiAgICBbbmFzQ2xhc3NdPVwiZ2V0Q2xhc3MoKVwiXG4gICAgKGNsaWNrKT1cIm9uQ2xvc2UoJGV2ZW50KVwiXG4gICAgKm5nSWY9XCJzaG93XCI+XG48L2J1dHRvbj4iXX0=
@@ -0,0 +1,24 @@
1
+ import { NgModule } from '@angular/core';
2
+ import { CommonModule } from '@angular/common';
3
+ import { BackdropComponent } from './backdrop.component';
4
+ import { NasClassModule } from '../../core/directives/nas-class/nas-class.module';
5
+ import * as i0 from "@angular/core";
6
+ export class BackdropModule {
7
+ }
8
+ BackdropModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: BackdropModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
9
+ BackdropModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "15.2.9", ngImport: i0, type: BackdropModule, declarations: [BackdropComponent], imports: [CommonModule,
10
+ NasClassModule], exports: [BackdropComponent] });
11
+ BackdropModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: BackdropModule, imports: [CommonModule,
12
+ NasClassModule] });
13
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: BackdropModule, decorators: [{
14
+ type: NgModule,
15
+ args: [{
16
+ declarations: [BackdropComponent],
17
+ imports: [
18
+ CommonModule,
19
+ NasClassModule
20
+ ],
21
+ exports: [BackdropComponent]
22
+ }]
23
+ }] });
24
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmFja2Ryb3AubW9kdWxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY29yZS1jb21wb25lbnRzL3NyYy9saWIvY29tcG9uZW50cy9iYWNrZHJvcC9iYWNrZHJvcC5tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN6QyxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFDekQsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLGtEQUFrRCxDQUFDOztBQVdsRixNQUFNLE9BQU8sY0FBYzs7MkdBQWQsY0FBYzs0R0FBZCxjQUFjLGlCQVBWLGlCQUFpQixhQUU5QixZQUFZO1FBQ1osY0FBYyxhQUVOLGlCQUFpQjs0R0FFaEIsY0FBYyxZQUx2QixZQUFZO1FBQ1osY0FBYzsyRkFJTCxjQUFjO2tCQVIxQixRQUFRO21CQUFDO29CQUNSLFlBQVksRUFBRSxDQUFDLGlCQUFpQixDQUFDO29CQUNqQyxPQUFPLEVBQUU7d0JBQ1AsWUFBWTt3QkFDWixjQUFjO3FCQUNmO29CQUNELE9BQU8sRUFBRSxDQUFDLGlCQUFpQixDQUFDO2lCQUM3QiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE5nTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHsgQmFja2Ryb3BDb21wb25lbnQgfSBmcm9tICcuL2JhY2tkcm9wLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBOYXNDbGFzc01vZHVsZSB9IGZyb20gJy4uLy4uL2NvcmUvZGlyZWN0aXZlcy9uYXMtY2xhc3MvbmFzLWNsYXNzLm1vZHVsZSc7XG5cblxuQE5nTW9kdWxlKHtcbiAgZGVjbGFyYXRpb25zOiBbQmFja2Ryb3BDb21wb25lbnRdLFxuICBpbXBvcnRzOiBbXG4gICAgQ29tbW9uTW9kdWxlLFxuICAgIE5hc0NsYXNzTW9kdWxlXG4gIF0sXG4gIGV4cG9ydHM6IFtCYWNrZHJvcENvbXBvbmVudF1cbn0pXG5leHBvcnQgY2xhc3MgQmFja2Ryb3BNb2R1bGUgeyB9XG4iXX0=