@norwegian/core-components 5.18.0 → 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 +11 -4
  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 -12174
  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 -84
  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 -10835
  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,185 @@
1
+ /**
2
+ * @license
3
+ * Copyright Norwegian Air Shuttle. All Rights Reserved.
4
+ */
5
+ import { Component, Input, Output, EventEmitter } from '@angular/core';
6
+ import { NasComponentBase } from '../../core/base/nas-component.base';
7
+ import { AvailabilitySortOption } from './enums/availability-sort-option.enum';
8
+ import * as i0 from "@angular/core";
9
+ import * as i1 from "../../core/services/date/date-helper.service";
10
+ import * as i2 from "@angular/common";
11
+ import * as i3 from "../journey-availability/journey-availability.component";
12
+ import * as i4 from "../../core/directives/nas-class/nas-class.directive";
13
+ import * as i5 from "../sort/sort.component";
14
+ /**
15
+ * @description
16
+ * Norwegian Journey availability list Component | Functional
17
+ */
18
+ export class JourneyAvailabilityListComponent extends NasComponentBase {
19
+ /**
20
+ * @description
21
+ * An optional model for sort popup options.
22
+ */
23
+ set sortModel(model) {
24
+ if (!model) {
25
+ return;
26
+ }
27
+ this.sortMetaData = {
28
+ sortOptions: [
29
+ { title: model.fastestLabel, value: '1' },
30
+ { title: model.directOnlyLabel, value: '2' },
31
+ { title: model.departureTimeLabel, value: '3' }
32
+ ],
33
+ label: model.sortLabel,
34
+ right: true,
35
+ closeDropdownOnOptionChange: true,
36
+ name: model.name
37
+ };
38
+ }
39
+ /**
40
+ * @description
41
+ * set or get selected sort option.
42
+ */
43
+ get sortSelectedOption() {
44
+ return this.sortSelectedOptionObject;
45
+ }
46
+ set sortSelectedOption(option) {
47
+ if (!option) {
48
+ return;
49
+ }
50
+ this.sortChange(option);
51
+ this.sortSelectedOptionObject = option;
52
+ this.sortSelectedOptionChange.emit(option);
53
+ }
54
+ /**
55
+ *
56
+ * @description
57
+ * A number that sets the SelectedIndex from the JourneyList array in journeyAvailabilityListModel
58
+ * @example
59
+ * ```html
60
+ * <nas-journey-availability-list [(selectIndex)]="selectIndex"></nas-journey-availability-list>
61
+ * ```
62
+ */
63
+ get selectedIndex() {
64
+ return this.activeIndex;
65
+ }
66
+ set selectedIndex(index) {
67
+ this.activeIndex = index;
68
+ this.selectedIndexChange.emit(index);
69
+ }
70
+ constructor(dateService) {
71
+ super('nas-journey-availability-list');
72
+ this.dateService = dateService;
73
+ /**
74
+ * @description
75
+ * Event that fires when the sort option changes.
76
+ */
77
+ this.sortSelectedOptionChange = new EventEmitter();
78
+ /**
79
+ * @description
80
+ * A locale code for the locale format rules to use. When not supplied, uses the value of LOCALE_ID, which is en-US by default.
81
+ * This requires that registerLocaleData is called with the respective locale.
82
+ * @example
83
+ * ```html
84
+ * <nas-journey-availability-list [locale]="'es'"></nas-journey-availability-list>
85
+ */
86
+ this.locale = 'en-US';
87
+ /**
88
+ * @description
89
+ * Time display format.
90
+ * @example
91
+ * ```html
92
+ * <nas-journey-availability-list [timeDisplayFormat]="'HH:mm'"></nas-journey-availability-list>
93
+ */
94
+ this.timeDisplayFormat = 'HH:mm';
95
+ /**
96
+ *
97
+ * @description
98
+ * A JourneyModel type record the represents selected journey data;
99
+ * @example
100
+ * ```html
101
+ * <nas-journey-availability-list (selectedJourney)="onselectedJourney($event)"></nas-journey-availability-list>
102
+ * ```
103
+ */
104
+ this.selectedJourney = new EventEmitter();
105
+ /**
106
+ *
107
+ * @description
108
+ * A selected index of selected journey data;
109
+ * @example
110
+ * ```html
111
+ * <nas-journey-availability-list (selectedIndexChange)="onSelectedIndexChange($event)"></nas-journey-availability-list>
112
+ * ```
113
+ */
114
+ this.selectedIndexChange = new EventEmitter();
115
+ /**
116
+ *
117
+ * @description
118
+ * An Event which Emitts boolean when Flight info popup is toggled.
119
+ */
120
+ this.displayJourneyDetailsChange = new EventEmitter();
121
+ }
122
+ displayJourneyDetailsChanged(value) {
123
+ this.displayJourneyDetailsChange.emit(value);
124
+ }
125
+ isAvailabilityJourneySelected(journeyAvailabilityIndex) {
126
+ return this.activeIndex === journeyAvailabilityIndex;
127
+ }
128
+ emitSelected(flightIndex) {
129
+ this.selectedIndex = flightIndex;
130
+ if (!this.model || !this.model.length) {
131
+ return;
132
+ }
133
+ const selectedFlight = this.model[flightIndex];
134
+ if (selectedFlight) {
135
+ this.selectedJourney.emit(selectedFlight);
136
+ }
137
+ }
138
+ sortChange(option) {
139
+ if (!option) {
140
+ return;
141
+ }
142
+ switch (parseInt(option.value, 10)) {
143
+ case AvailabilitySortOption.fastest:
144
+ this.model = this.model.sort((a, b) => a.duration.durationInMinutes - b.duration.durationInMinutes);
145
+ break;
146
+ case AvailabilitySortOption.directOnly:
147
+ this.model = this.model.sort((a, b) => a.journeyTransitInfo.transitCount - b.journeyTransitInfo.transitCount);
148
+ break;
149
+ case AvailabilitySortOption.departureTime:
150
+ this.model = this.model.sort((a, b) => this.dateService.date(a.departureTime).getTime() - this.dateService.date(b.departureTime).getTime());
151
+ break;
152
+ default:
153
+ break;
154
+ }
155
+ }
156
+ }
157
+ JourneyAvailabilityListComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: JourneyAvailabilityListComponent, deps: [{ token: i1.DateHelper }], target: i0.ɵɵFactoryTarget.Component });
158
+ JourneyAvailabilityListComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.9", type: JourneyAvailabilityListComponent, selector: "nas-journey-availability-list", inputs: { model: "model", sortModel: "sortModel", sortSelectedOption: "sortSelectedOption", locale: "locale", noDataCaption: "noDataCaption", timeDisplayFormat: "timeDisplayFormat", selectedIndex: "selectedIndex" }, outputs: { sortSelectedOptionChange: "sortSelectedOptionChange", selectedJourney: "selectedJourney", selectedIndexChange: "selectedIndexChange", displayJourneyDetailsChange: "displayJourneyDetailsChange" }, usesInheritance: true, ngImport: i0, template: "<div [nasClass]=\"getContainerClass()\" *ngIf=\"model && model?.length\" role=\"list\">\n <div *ngIf=\"sortMetaData\" [nasClass]=\"getClass('sort-popup')\">\n <nas-sort [model]=\"sortMetaData\" (selectedOptionChange)=\"sortChange($event)\"\n [(selectedOption)]=\"sortSelectedOption\">\n </nas-sort>\n </div>\n\n <div [nasClass]=\"getClass('single-result')\"\n *ngFor=\"let journeyAvailabilityModel of model; index as journeyAvailabilityIndex\" role=\"listitem\">\n <nas-journey-availability (displayJourneyDetailsChange)=\"displayJourneyDetailsChanged($event)\"\n (journeyAvailabilityClick)=\"emitSelected(journeyAvailabilityIndex)\"\n [selected]=\"isAvailabilityJourneySelected(journeyAvailabilityIndex)\" [model]=\"journeyAvailabilityModel\"\n [timeDisplayFormat]=\"timeDisplayFormat\" [locale]=\"locale\">\n </nas-journey-availability>\n </div>\n\n <label [nasClass]=\"getClass('no-results')\" *ngIf=\"!model?.length\">\n <p>{{ noDataCaption }}</p>\n </label>\n</div>", 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-journey-availability-list__journey-list-label{margin-bottom:9px}.nas-journey-availability-list__journey-info{font-family:Apercu,Helvetica Neue,Helvetica,Arial,sans-serif;font-weight:400;font-size:16px;line-height:26px;margin-bottom:9px}.nas-journey-availability-list__journey-info-date{font-family:Apercu,Helvetica Neue,Helvetica,Arial,sans-serif;font-weight:700;margin-right:6px}.nas-journey-availability-list__journey-info-origin{margin-right:6px}.nas-journey-availability-list__journey-tabs{margin-top:12px;margin-bottom:9px;display:flex}.nas-journey-availability-list__journey-tabs-button{margin-right:6px;flex:1;background-color:#e3e3e3;padding:24px 0}.nas-journey-availability-list__journey-tabs-button:last-child{margin-right:0}.nas-journey-availability-list__journey-tabs-button--active{font-family:Apercu,Helvetica Neue,Helvetica,Arial,sans-serif;font-weight:700;background-color:#fff}.nas-journey-availability-list__journey-tabs-button:focus{outline:none;box-shadow:none}.nas-journey-availability-list__no-results{text-align:center;font-size:17px;color:#626363;padding-top:10px}.nas-journey-availability-list__single-result{margin-bottom:9px;clear:both}.nas-journey-availability-list__single-result:last-child{margin-bottom:0}.nas-journey-availability-list__sort-popup{position:relative}::ng-deep .nas-journey-availability-list__journey-list-label .nas-cover__header{border-bottom-color:#626363!important}\n"], dependencies: [{ kind: "directive", type: i2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i3.JourneyAvailabilityComponent, selector: "nas-journey-availability", inputs: ["model", "selected", "locale", "timeDisplayFormat", "timeZone", "displayJourneyDetails"], outputs: ["displayJourneyDetailsChange", "journeyAvailabilityClick"] }, { kind: "directive", type: i4.NasClassDirective, selector: "[nasClass]", inputs: ["nasClass", "attr.class"] }, { kind: "component", type: i5.SortComponent, selector: "nas-sort", inputs: ["model", "open", "selectedOption"], outputs: ["selectedOptionChange", "applyButtonClicked"] }] });
159
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: JourneyAvailabilityListComponent, decorators: [{
160
+ type: Component,
161
+ args: [{ selector: 'nas-journey-availability-list', template: "<div [nasClass]=\"getContainerClass()\" *ngIf=\"model && model?.length\" role=\"list\">\n <div *ngIf=\"sortMetaData\" [nasClass]=\"getClass('sort-popup')\">\n <nas-sort [model]=\"sortMetaData\" (selectedOptionChange)=\"sortChange($event)\"\n [(selectedOption)]=\"sortSelectedOption\">\n </nas-sort>\n </div>\n\n <div [nasClass]=\"getClass('single-result')\"\n *ngFor=\"let journeyAvailabilityModel of model; index as journeyAvailabilityIndex\" role=\"listitem\">\n <nas-journey-availability (displayJourneyDetailsChange)=\"displayJourneyDetailsChanged($event)\"\n (journeyAvailabilityClick)=\"emitSelected(journeyAvailabilityIndex)\"\n [selected]=\"isAvailabilityJourneySelected(journeyAvailabilityIndex)\" [model]=\"journeyAvailabilityModel\"\n [timeDisplayFormat]=\"timeDisplayFormat\" [locale]=\"locale\">\n </nas-journey-availability>\n </div>\n\n <label [nasClass]=\"getClass('no-results')\" *ngIf=\"!model?.length\">\n <p>{{ noDataCaption }}</p>\n </label>\n</div>", 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-journey-availability-list__journey-list-label{margin-bottom:9px}.nas-journey-availability-list__journey-info{font-family:Apercu,Helvetica Neue,Helvetica,Arial,sans-serif;font-weight:400;font-size:16px;line-height:26px;margin-bottom:9px}.nas-journey-availability-list__journey-info-date{font-family:Apercu,Helvetica Neue,Helvetica,Arial,sans-serif;font-weight:700;margin-right:6px}.nas-journey-availability-list__journey-info-origin{margin-right:6px}.nas-journey-availability-list__journey-tabs{margin-top:12px;margin-bottom:9px;display:flex}.nas-journey-availability-list__journey-tabs-button{margin-right:6px;flex:1;background-color:#e3e3e3;padding:24px 0}.nas-journey-availability-list__journey-tabs-button:last-child{margin-right:0}.nas-journey-availability-list__journey-tabs-button--active{font-family:Apercu,Helvetica Neue,Helvetica,Arial,sans-serif;font-weight:700;background-color:#fff}.nas-journey-availability-list__journey-tabs-button:focus{outline:none;box-shadow:none}.nas-journey-availability-list__no-results{text-align:center;font-size:17px;color:#626363;padding-top:10px}.nas-journey-availability-list__single-result{margin-bottom:9px;clear:both}.nas-journey-availability-list__single-result:last-child{margin-bottom:0}.nas-journey-availability-list__sort-popup{position:relative}::ng-deep .nas-journey-availability-list__journey-list-label .nas-cover__header{border-bottom-color:#626363!important}\n"] }]
162
+ }], ctorParameters: function () { return [{ type: i1.DateHelper }]; }, propDecorators: { model: [{
163
+ type: Input
164
+ }], sortModel: [{
165
+ type: Input
166
+ }], sortSelectedOption: [{
167
+ type: Input
168
+ }], sortSelectedOptionChange: [{
169
+ type: Output
170
+ }], locale: [{
171
+ type: Input
172
+ }], noDataCaption: [{
173
+ type: Input
174
+ }], timeDisplayFormat: [{
175
+ type: Input
176
+ }], selectedJourney: [{
177
+ type: Output
178
+ }], selectedIndexChange: [{
179
+ type: Output
180
+ }], selectedIndex: [{
181
+ type: Input
182
+ }], displayJourneyDetailsChange: [{
183
+ type: Output
184
+ }] } });
185
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiam91cm5leS1hdmFpbGFiaWxpdHktbGlzdC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jb3JlLWNvbXBvbmVudHMvc3JjL2xpYi9jb21wb25lbnRzL2pvdXJuZXktYXZhaWxhYmlsaXR5LWxpc3Qvam91cm5leS1hdmFpbGFiaWxpdHktbGlzdC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jb3JlLWNvbXBvbmVudHMvc3JjL2xpYi9jb21wb25lbnRzL2pvdXJuZXktYXZhaWxhYmlsaXR5LWxpc3Qvam91cm5leS1hdmFpbGFiaWxpdHktbGlzdC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7O0dBR0c7QUFDSCxPQUFPLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQUUsWUFBWSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3ZFLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLG9DQUFvQyxDQUFDO0FBTXRFLE9BQU8sRUFBRSxzQkFBc0IsRUFBRSxNQUFNLHVDQUF1QyxDQUFDOzs7Ozs7O0FBRS9FOzs7R0FHRztBQU1ILE1BQU0sT0FBTyxnQ0FBaUMsU0FBUSxnQkFBZ0I7SUFnQnBFOzs7T0FHRztJQUNILElBQ0ksU0FBUyxDQUFDLEtBQW1DO1FBQy9DLElBQUksQ0FBQyxLQUFLLEVBQUU7WUFDVixPQUFPO1NBQ1I7UUFDRCxJQUFJLENBQUMsWUFBWSxHQUFHO1lBQ2xCLFdBQVcsRUFBRTtnQkFDWCxFQUFFLEtBQUssRUFBRSxLQUFLLENBQUMsWUFBWSxFQUFFLEtBQUssRUFBRSxHQUFHLEVBQUU7Z0JBQ3pDLEVBQUUsS0FBSyxFQUFFLEtBQUssQ0FBQyxlQUFlLEVBQUUsS0FBSyxFQUFFLEdBQUcsRUFBRTtnQkFDNUMsRUFBRSxLQUFLLEVBQUUsS0FBSyxDQUFDLGtCQUFrQixFQUFFLEtBQUssRUFBRSxHQUFHLEVBQUU7YUFBQztZQUNsRCxLQUFLLEVBQUUsS0FBSyxDQUFDLFNBQVM7WUFDdEIsS0FBSyxFQUFFLElBQUk7WUFDWCwyQkFBMkIsRUFBRSxJQUFJO1lBQ2pDLElBQUksRUFBRSxLQUFLLENBQUMsSUFBSTtTQUNqQixDQUFDO0lBQ0osQ0FBQztJQUVEOzs7T0FHRztJQUNILElBQ0ksa0JBQWtCO1FBQ3BCLE9BQU8sSUFBSSxDQUFDLHdCQUF3QixDQUFDO0lBQ3ZDLENBQUM7SUFDRCxJQUFJLGtCQUFrQixDQUFDLE1BQXVCO1FBQzVDLElBQUksQ0FBQyxNQUFNLEVBQUU7WUFDWCxPQUFPO1NBQ1I7UUFDRCxJQUFJLENBQUMsVUFBVSxDQUFDLE1BQU0sQ0FBQyxDQUFDO1FBQ3hCLElBQUksQ0FBQyx3QkFBd0IsR0FBRyxNQUFNLENBQUM7UUFDdkMsSUFBSSxDQUFDLHdCQUF3QixDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQztJQUM3QyxDQUFDO0lBNEREOzs7Ozs7OztPQVFHO0lBQ0gsSUFDSSxhQUFhO1FBQ2YsT0FBTyxJQUFJLENBQUMsV0FBVyxDQUFDO0lBQzFCLENBQUM7SUFDRCxJQUFJLGFBQWEsQ0FBQyxLQUFhO1FBQzdCLElBQUksQ0FBQyxXQUFXLEdBQUcsS0FBSyxDQUFDO1FBQ3pCLElBQUksQ0FBQyxtQkFBbUIsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDdkMsQ0FBQztJQVNELFlBQW9CLFdBQXVCO1FBQ3pDLEtBQUssQ0FBQywrQkFBK0IsQ0FBQyxDQUFDO1FBRHJCLGdCQUFXLEdBQVgsV0FBVyxDQUFZO1FBbkYzQzs7O1VBR0U7UUFDUSw2QkFBd0IsR0FBRyxJQUFJLFlBQVksRUFBbUIsQ0FBQztRQUV6RTs7Ozs7OztVQU9FO1FBQ08sV0FBTSxHQUFHLE9BQU8sQ0FBQztRQWExQjs7Ozs7O1NBTUM7UUFDUSxzQkFBaUIsR0FBRyxPQUFPLENBQUM7UUFFckM7Ozs7Ozs7O1dBUUc7UUFDTyxvQkFBZSxHQUFHLElBQUksWUFBWSxFQUE0QixDQUFDO1FBRXpFOzs7Ozs7OztVQVFFO1FBQ1Esd0JBQW1CLEdBQUcsSUFBSSxZQUFZLEVBQVUsQ0FBQztRQW9CM0Q7Ozs7V0FJRztRQUNPLGdDQUEyQixHQUFHLElBQUksWUFBWSxFQUFXLENBQUM7SUFJcEUsQ0FBQztJQUVELDRCQUE0QixDQUFDLEtBQWM7UUFDekMsSUFBSSxDQUFDLDJCQUEyQixDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUMvQyxDQUFDO0lBRUQsNkJBQTZCLENBQUMsd0JBQWdDO1FBQzVELE9BQU8sSUFBSSxDQUFDLFdBQVcsS0FBSyx3QkFBd0IsQ0FBQztJQUN2RCxDQUFDO0lBRUQsWUFBWSxDQUFDLFdBQW1CO1FBQzlCLElBQUksQ0FBQyxhQUFhLEdBQUcsV0FBVyxDQUFDO1FBRWpDLElBQUksQ0FBQyxJQUFJLENBQUMsS0FBSyxJQUFJLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxNQUFNLEVBQUU7WUFDckMsT0FBTztTQUNSO1FBRUQsTUFBTSxjQUFjLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxXQUFXLENBQUMsQ0FBQztRQUUvQyxJQUFJLGNBQWMsRUFBRTtZQUNsQixJQUFJLENBQUMsZUFBZSxDQUFDLElBQUksQ0FBQyxjQUFjLENBQUMsQ0FBQztTQUMzQztJQUVILENBQUM7SUFFRCxVQUFVLENBQUMsTUFBdUI7UUFDaEMsSUFBSSxDQUFDLE1BQU0sRUFBRTtZQUNYLE9BQU87U0FDUjtRQUNELFFBQVEsUUFBUSxDQUFDLE1BQU0sQ0FBQyxLQUFLLEVBQUUsRUFBRSxDQUFDLEVBQUU7WUFDbEMsS0FBSyxzQkFBc0IsQ0FBQyxPQUFPO2dCQUNqQyxJQUFJLENBQUMsS0FBSyxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxpQkFBaUIsR0FBRyxDQUFDLENBQUMsUUFBUSxDQUFDLGlCQUFpQixDQUFDLENBQUM7Z0JBQ3BHLE1BQU07WUFFUixLQUFLLHNCQUFzQixDQUFDLFVBQVU7Z0JBQ3BDLElBQUksQ0FBQyxLQUFLLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUMsa0JBQWtCLENBQUMsWUFBWSxHQUFHLENBQUMsQ0FBQyxrQkFBa0IsQ0FBQyxZQUFZLENBQUMsQ0FBQztnQkFDOUcsTUFBTTtZQUVSLEtBQUssc0JBQXNCLENBQUMsYUFBYTtnQkFDdkMsSUFBSSxDQUFDLEtBQUssR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLEVBQUUsRUFBRSxDQUNwQyxJQUFJLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsYUFBYSxDQUFDLENBQUMsT0FBTyxFQUFFLEdBQUcsSUFBSSxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLGFBQWEsQ0FBQyxDQUFDLE9BQU8sRUFBRSxDQUFDLENBQUM7Z0JBQ3ZHLE1BQU07WUFFUjtnQkFDRSxNQUFNO1NBQ1Q7SUFDSCxDQUFDOzs2SEF6TFUsZ0NBQWdDO2lIQUFoQyxnQ0FBZ0MsbWdCQ3RCN0Msdy9CQW1CTTsyRkRHTyxnQ0FBZ0M7a0JBTDVDLFNBQVM7K0JBQ0UsK0JBQStCO2lHQWtCaEMsS0FBSztzQkFBYixLQUFLO2dCQU9GLFNBQVM7c0JBRFosS0FBSztnQkFzQkYsa0JBQWtCO3NCQURyQixLQUFLO2dCQWlCSSx3QkFBd0I7c0JBQWpDLE1BQU07Z0JBVUUsTUFBTTtzQkFBZCxLQUFLO2dCQVdHLGFBQWE7c0JBQXJCLEtBQUs7Z0JBU0csaUJBQWlCO3NCQUF6QixLQUFLO2dCQVdJLGVBQWU7c0JBQXhCLE1BQU07Z0JBV0csbUJBQW1CO3NCQUE1QixNQUFNO2dCQVlILGFBQWE7c0JBRGhCLEtBQUs7Z0JBY0ksMkJBQTJCO3NCQUFwQyxNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBAbGljZW5zZVxuICogQ29weXJpZ2h0IE5vcndlZ2lhbiBBaXIgU2h1dHRsZS4gQWxsIFJpZ2h0cyBSZXNlcnZlZC5cbiAqL1xuaW1wb3J0IHsgQ29tcG9uZW50LCBJbnB1dCwgT3V0cHV0LCBFdmVudEVtaXR0ZXIgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IE5hc0NvbXBvbmVudEJhc2UgfSBmcm9tICcuLi8uLi9jb3JlL2Jhc2UvbmFzLWNvbXBvbmVudC5iYXNlJztcbmltcG9ydCB7IEpvdXJuZXlBdmFpbGFiaWxpdHlNb2RlbCB9IGZyb20gJy4uLy4uL3NoYXJlZC9tb2RlbHMvam91cm5leS1hdmFpbGFiaWxpdHkubW9kZWwnO1xuaW1wb3J0IHsgU29ydE1vZGVsIH0gZnJvbSAnLi4vLi4vc2hhcmVkL21vZGVscy9zb3J0Lm1vZGVsJztcbmltcG9ydCB7IEpvdXJuZXlBdmFpbGFiaWxpdHlTb3J0TW9kZWwgfSBmcm9tICcuLi8uLi9zaGFyZWQvbW9kZWxzL2pvdXJuZXktYXZhaWxhYmlsaXR5LXNvcnQubW9kZWwnO1xuaW1wb3J0IHsgU29ydE9wdGlvbk1vZGVsIH0gZnJvbSAnLi4vLi4vc2hhcmVkL21vZGVscy9zb3J0LW9wdGlvbi5tb2RlbCc7XG5pbXBvcnQgeyBEYXRlSGVscGVyIH0gZnJvbSAnLi4vLi4vY29yZS9zZXJ2aWNlcy9kYXRlL2RhdGUtaGVscGVyLnNlcnZpY2UnO1xuaW1wb3J0IHsgQXZhaWxhYmlsaXR5U29ydE9wdGlvbiB9IGZyb20gJy4vZW51bXMvYXZhaWxhYmlsaXR5LXNvcnQtb3B0aW9uLmVudW0nO1xuXG4vKipcbiAqIEBkZXNjcmlwdGlvblxuICogTm9yd2VnaWFuIEpvdXJuZXkgYXZhaWxhYmlsaXR5IGxpc3QgQ29tcG9uZW50IHwgRnVuY3Rpb25hbFxuICovXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICduYXMtam91cm5leS1hdmFpbGFiaWxpdHktbGlzdCcsXG4gIHRlbXBsYXRlVXJsOiAnLi9qb3VybmV5LWF2YWlsYWJpbGl0eS1saXN0LmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vam91cm5leS1hdmFpbGFiaWxpdHktbGlzdC5jb21wb25lbnQuc2NzcyddXG59KVxuZXhwb3J0IGNsYXNzIEpvdXJuZXlBdmFpbGFiaWxpdHlMaXN0Q29tcG9uZW50IGV4dGVuZHMgTmFzQ29tcG9uZW50QmFzZSB7XG5cbiAgYWN0aXZlSW5kZXg6IG51bWJlcjtcbiAgc29ydE1ldGFEYXRhOiBTb3J0TW9kZWw7XG4gIHNvcnRTZWxlY3RlZE9wdGlvbk9iamVjdDogU29ydE9wdGlvbk1vZGVsO1xuICAvKipcbiAgICogQHJlcXVpcmVkXG4gICAqIEBkZXNjcmlwdGlvblxuICAgKiBBIHJlY29yZCBjb250YWluaW5nIGFsbCB0aGUgZGF0YSByZXF1aXJlZCB0byBzaG93IGF2YWlsYWJpbGl0eSByZXN1bHRzLCBsb29rIGF0ICdqb3VybmV5QXZhaWxhYmlsaXR5TW9kZWwnIGZvciBkZXRhaWxzLlxuICAgKiBAZXhhbXBsZVxuICAgKiBgYGBodG1sXG4gICAqIDxuYXMtam91cm5leS1hdmFpbGFiaWxpdHktbGlzdCBbbW9kZWxdPVwiam91cm5leUF2YWlsYWJpbGl0eURhdGFcIj48L25hcy1qb3VybmV5LWF2YWlsYWJpbGl0eS1saXN0PlxuICAgKiBgYGBcbiAgICovXG4gIEBJbnB1dCgpIG1vZGVsOiBBcnJheTxKb3VybmV5QXZhaWxhYmlsaXR5TW9kZWw+O1xuXG4gIC8qKlxuICAgKiBAZGVzY3JpcHRpb25cbiAgICogQW4gb3B0aW9uYWwgbW9kZWwgZm9yIHNvcnQgcG9wdXAgb3B0aW9ucy5cbiAgICovXG4gIEBJbnB1dCgpXG4gIHNldCBzb3J0TW9kZWwobW9kZWw6IEpvdXJuZXlBdmFpbGFiaWxpdHlTb3J0TW9kZWwpIHtcbiAgICBpZiAoIW1vZGVsKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuICAgIHRoaXMuc29ydE1ldGFEYXRhID0ge1xuICAgICAgc29ydE9wdGlvbnM6IFtcbiAgICAgICAgeyB0aXRsZTogbW9kZWwuZmFzdGVzdExhYmVsLCB2YWx1ZTogJzEnIH0sXG4gICAgICAgIHsgdGl0bGU6IG1vZGVsLmRpcmVjdE9ubHlMYWJlbCwgdmFsdWU6ICcyJyB9LFxuICAgICAgICB7IHRpdGxlOiBtb2RlbC5kZXBhcnR1cmVUaW1lTGFiZWwsIHZhbHVlOiAnMycgfV0sXG4gICAgICBsYWJlbDogbW9kZWwuc29ydExhYmVsLFxuICAgICAgcmlnaHQ6IHRydWUsXG4gICAgICBjbG9zZURyb3Bkb3duT25PcHRpb25DaGFuZ2U6IHRydWUsXG4gICAgICBuYW1lOiBtb2RlbC5uYW1lXG4gICAgfTtcbiAgfVxuXG4gIC8qKlxuICAgKiBAZGVzY3JpcHRpb25cbiAgICogc2V0IG9yIGdldCBzZWxlY3RlZCBzb3J0IG9wdGlvbi5cbiAgICovXG4gIEBJbnB1dCgpXG4gIGdldCBzb3J0U2VsZWN0ZWRPcHRpb24oKTogU29ydE9wdGlvbk1vZGVsIHtcbiAgICByZXR1cm4gdGhpcy5zb3J0U2VsZWN0ZWRPcHRpb25PYmplY3Q7XG4gIH1cbiAgc2V0IHNvcnRTZWxlY3RlZE9wdGlvbihvcHRpb246IFNvcnRPcHRpb25Nb2RlbCkge1xuICAgIGlmICghb3B0aW9uKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuICAgIHRoaXMuc29ydENoYW5nZShvcHRpb24pO1xuICAgIHRoaXMuc29ydFNlbGVjdGVkT3B0aW9uT2JqZWN0ID0gb3B0aW9uO1xuICAgIHRoaXMuc29ydFNlbGVjdGVkT3B0aW9uQ2hhbmdlLmVtaXQob3B0aW9uKTtcbiAgfVxuXG4gIC8qKlxuICAqIEBkZXNjcmlwdGlvblxuICAqIEV2ZW50IHRoYXQgZmlyZXMgd2hlbiB0aGUgc29ydCBvcHRpb24gY2hhbmdlcy5cbiAgKi9cbiAgQE91dHB1dCgpIHNvcnRTZWxlY3RlZE9wdGlvbkNoYW5nZSA9IG5ldyBFdmVudEVtaXR0ZXI8U29ydE9wdGlvbk1vZGVsPigpO1xuXG4gIC8qKlxuICAqIEBkZXNjcmlwdGlvblxuICAqIEEgbG9jYWxlIGNvZGUgZm9yIHRoZSBsb2NhbGUgZm9ybWF0IHJ1bGVzIHRvIHVzZS4gV2hlbiBub3Qgc3VwcGxpZWQsIHVzZXMgdGhlIHZhbHVlIG9mIExPQ0FMRV9JRCwgd2hpY2ggaXMgZW4tVVMgYnkgZGVmYXVsdC5cbiAgKiBUaGlzIHJlcXVpcmVzIHRoYXQgcmVnaXN0ZXJMb2NhbGVEYXRhIGlzIGNhbGxlZCB3aXRoIHRoZSByZXNwZWN0aXZlIGxvY2FsZS5cbiAgKiBAZXhhbXBsZVxuICAqIGBgYGh0bWxcbiAgKiA8bmFzLWpvdXJuZXktYXZhaWxhYmlsaXR5LWxpc3QgW2xvY2FsZV09XCInZXMnXCI+PC9uYXMtam91cm5leS1hdmFpbGFiaWxpdHktbGlzdD5cbiAgKi9cbiAgQElucHV0KCkgbG9jYWxlID0gJ2VuLVVTJztcblxuICAvKipcbiAqIEByZXF1aXJlZFxuICogQGRlc2NyaXB0aW9uXG4gKiBBIHN0cmluZyB0byBnaXZlIHRoZSB1c2VyIGZlZWRiYWNrIHdoZW4gdGhlcmUgbm8gZGF0YSBhdmFpbGFibGUgZm9yIHRoZSBhdmFpbGFiaWxpdHkgcmVzdWx0IGZvciBzcGVjaWZpZWQgcGFyYW1ldGVyc1xuICogQGV4YW1wbGVcbiAqIGBgYGh0bWxcbiAqIDxuYXMtam91cm5leS1hdmFpbGFiaWxpdHktbGlzdCBbbm9EYXRhQ2FwdGlvbl09XCJub0RhdGFDYXB0aW9uXCI+PC9uYXMtam91cm5leS1hdmFpbGFiaWxpdHktbGlzdD5cbiAqIGBgYFxuICovXG4gIEBJbnB1dCgpIG5vRGF0YUNhcHRpb246IHN0cmluZztcblxuICAvKipcbiAqIEBkZXNjcmlwdGlvblxuICogVGltZSBkaXNwbGF5IGZvcm1hdC5cbiAqIEBleGFtcGxlXG4gKiBgYGBodG1sXG4gKiA8bmFzLWpvdXJuZXktYXZhaWxhYmlsaXR5LWxpc3QgW3RpbWVEaXNwbGF5Rm9ybWF0XT1cIidISDptbSdcIj48L25hcy1qb3VybmV5LWF2YWlsYWJpbGl0eS1saXN0PlxuICovXG4gIEBJbnB1dCgpIHRpbWVEaXNwbGF5Rm9ybWF0ID0gJ0hIOm1tJztcblxuICAvKipcbiAgICpcbiAgICogQGRlc2NyaXB0aW9uXG4gICAqIEEgSm91cm5leU1vZGVsIHR5cGUgcmVjb3JkIHRoZSByZXByZXNlbnRzIHNlbGVjdGVkIGpvdXJuZXkgZGF0YTtcbiAgICogQGV4YW1wbGVcbiAgICogYGBgaHRtbFxuICAgKiA8bmFzLWpvdXJuZXktYXZhaWxhYmlsaXR5LWxpc3QgKHNlbGVjdGVkSm91cm5leSk9XCJvbnNlbGVjdGVkSm91cm5leSgkZXZlbnQpXCI+PC9uYXMtam91cm5leS1hdmFpbGFiaWxpdHktbGlzdD5cbiAgICogYGBgXG4gICAqL1xuICBAT3V0cHV0KCkgc2VsZWN0ZWRKb3VybmV5ID0gbmV3IEV2ZW50RW1pdHRlcjxKb3VybmV5QXZhaWxhYmlsaXR5TW9kZWw+KCk7XG5cbiAgLyoqXG4gICpcbiAgKiBAZGVzY3JpcHRpb25cbiAgKiBBIHNlbGVjdGVkIGluZGV4IG9mIHNlbGVjdGVkIGpvdXJuZXkgZGF0YTtcbiAgKiBAZXhhbXBsZVxuICAqIGBgYGh0bWxcbiAgKiA8bmFzLWpvdXJuZXktYXZhaWxhYmlsaXR5LWxpc3QgKHNlbGVjdGVkSW5kZXhDaGFuZ2UpPVwib25TZWxlY3RlZEluZGV4Q2hhbmdlKCRldmVudClcIj48L25hcy1qb3VybmV5LWF2YWlsYWJpbGl0eS1saXN0PlxuICAqIGBgYFxuICAqL1xuICBAT3V0cHV0KCkgc2VsZWN0ZWRJbmRleENoYW5nZSA9IG5ldyBFdmVudEVtaXR0ZXI8bnVtYmVyPigpO1xuXG4gIC8qKlxuICAgKlxuICAgKiBAZGVzY3JpcHRpb25cbiAgICogQSBudW1iZXIgdGhhdCBzZXRzIHRoZSBTZWxlY3RlZEluZGV4IGZyb20gdGhlIEpvdXJuZXlMaXN0IGFycmF5IGluIGpvdXJuZXlBdmFpbGFiaWxpdHlMaXN0TW9kZWxcbiAgICogQGV4YW1wbGVcbiAgICogYGBgaHRtbFxuICAgKiA8bmFzLWpvdXJuZXktYXZhaWxhYmlsaXR5LWxpc3QgWyhzZWxlY3RJbmRleCldPVwic2VsZWN0SW5kZXhcIj48L25hcy1qb3VybmV5LWF2YWlsYWJpbGl0eS1saXN0PlxuICAgKiBgYGBcbiAgICovXG4gIEBJbnB1dCgpXG4gIGdldCBzZWxlY3RlZEluZGV4KCk6IG51bWJlciB7XG4gICAgcmV0dXJuIHRoaXMuYWN0aXZlSW5kZXg7XG4gIH1cbiAgc2V0IHNlbGVjdGVkSW5kZXgoaW5kZXg6IG51bWJlcikge1xuICAgIHRoaXMuYWN0aXZlSW5kZXggPSBpbmRleDtcbiAgICB0aGlzLnNlbGVjdGVkSW5kZXhDaGFuZ2UuZW1pdChpbmRleCk7XG4gIH1cblxuICAvKipcbiAgICpcbiAgICogQGRlc2NyaXB0aW9uXG4gICAqIEFuIEV2ZW50IHdoaWNoIEVtaXR0cyBib29sZWFuIHdoZW4gRmxpZ2h0IGluZm8gcG9wdXAgaXMgdG9nZ2xlZC5cbiAgICovXG4gIEBPdXRwdXQoKSBkaXNwbGF5Sm91cm5leURldGFpbHNDaGFuZ2UgPSBuZXcgRXZlbnRFbWl0dGVyPGJvb2xlYW4+KCk7XG5cbiAgY29uc3RydWN0b3IocHJpdmF0ZSBkYXRlU2VydmljZTogRGF0ZUhlbHBlcikge1xuICAgIHN1cGVyKCduYXMtam91cm5leS1hdmFpbGFiaWxpdHktbGlzdCcpO1xuICB9XG5cbiAgZGlzcGxheUpvdXJuZXlEZXRhaWxzQ2hhbmdlZCh2YWx1ZTogYm9vbGVhbikge1xuICAgIHRoaXMuZGlzcGxheUpvdXJuZXlEZXRhaWxzQ2hhbmdlLmVtaXQodmFsdWUpO1xuICB9XG5cbiAgaXNBdmFpbGFiaWxpdHlKb3VybmV5U2VsZWN0ZWQoam91cm5leUF2YWlsYWJpbGl0eUluZGV4OiBudW1iZXIpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy5hY3RpdmVJbmRleCA9PT0gam91cm5leUF2YWlsYWJpbGl0eUluZGV4O1xuICB9XG5cbiAgZW1pdFNlbGVjdGVkKGZsaWdodEluZGV4OiBudW1iZXIpOiB2b2lkIHtcbiAgICB0aGlzLnNlbGVjdGVkSW5kZXggPSBmbGlnaHRJbmRleDtcblxuICAgIGlmICghdGhpcy5tb2RlbCB8fCAhdGhpcy5tb2RlbC5sZW5ndGgpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBjb25zdCBzZWxlY3RlZEZsaWdodCA9IHRoaXMubW9kZWxbZmxpZ2h0SW5kZXhdO1xuXG4gICAgaWYgKHNlbGVjdGVkRmxpZ2h0KSB7XG4gICAgICB0aGlzLnNlbGVjdGVkSm91cm5leS5lbWl0KHNlbGVjdGVkRmxpZ2h0KTtcbiAgICB9XG5cbiAgfVxuXG4gIHNvcnRDaGFuZ2Uob3B0aW9uOiBTb3J0T3B0aW9uTW9kZWwpOiB2b2lkIHtcbiAgICBpZiAoIW9wdGlvbikge1xuICAgICAgcmV0dXJuO1xuICAgIH1cbiAgICBzd2l0Y2ggKHBhcnNlSW50KG9wdGlvbi52YWx1ZSwgMTApKSB7XG4gICAgICBjYXNlIEF2YWlsYWJpbGl0eVNvcnRPcHRpb24uZmFzdGVzdDpcbiAgICAgICAgdGhpcy5tb2RlbCA9IHRoaXMubW9kZWwuc29ydCgoYSwgYikgPT4gYS5kdXJhdGlvbi5kdXJhdGlvbkluTWludXRlcyAtIGIuZHVyYXRpb24uZHVyYXRpb25Jbk1pbnV0ZXMpO1xuICAgICAgICBicmVhaztcblxuICAgICAgY2FzZSBBdmFpbGFiaWxpdHlTb3J0T3B0aW9uLmRpcmVjdE9ubHk6XG4gICAgICAgIHRoaXMubW9kZWwgPSB0aGlzLm1vZGVsLnNvcnQoKGEsIGIpID0+IGEuam91cm5leVRyYW5zaXRJbmZvLnRyYW5zaXRDb3VudCAtIGIuam91cm5leVRyYW5zaXRJbmZvLnRyYW5zaXRDb3VudCk7XG4gICAgICAgIGJyZWFrO1xuXG4gICAgICBjYXNlIEF2YWlsYWJpbGl0eVNvcnRPcHRpb24uZGVwYXJ0dXJlVGltZTpcbiAgICAgICAgdGhpcy5tb2RlbCA9IHRoaXMubW9kZWwuc29ydCgoYSwgYikgPT5cbiAgICAgICAgICB0aGlzLmRhdGVTZXJ2aWNlLmRhdGUoYS5kZXBhcnR1cmVUaW1lKS5nZXRUaW1lKCkgLSB0aGlzLmRhdGVTZXJ2aWNlLmRhdGUoYi5kZXBhcnR1cmVUaW1lKS5nZXRUaW1lKCkpO1xuICAgICAgICBicmVhaztcblxuICAgICAgZGVmYXVsdDpcbiAgICAgICAgYnJlYWs7XG4gICAgfVxuICB9XG59XG5cblxuXG4iLCI8ZGl2IFtuYXNDbGFzc109XCJnZXRDb250YWluZXJDbGFzcygpXCIgKm5nSWY9XCJtb2RlbCAmJiBtb2RlbD8ubGVuZ3RoXCIgcm9sZT1cImxpc3RcIj5cbiAgPGRpdiAqbmdJZj1cInNvcnRNZXRhRGF0YVwiIFtuYXNDbGFzc109XCJnZXRDbGFzcygnc29ydC1wb3B1cCcpXCI+XG4gICAgPG5hcy1zb3J0IFttb2RlbF09XCJzb3J0TWV0YURhdGFcIiAoc2VsZWN0ZWRPcHRpb25DaGFuZ2UpPVwic29ydENoYW5nZSgkZXZlbnQpXCJcbiAgICAgIFsoc2VsZWN0ZWRPcHRpb24pXT1cInNvcnRTZWxlY3RlZE9wdGlvblwiPlxuICAgIDwvbmFzLXNvcnQ+XG4gIDwvZGl2PlxuXG4gIDxkaXYgW25hc0NsYXNzXT1cImdldENsYXNzKCdzaW5nbGUtcmVzdWx0JylcIlxuICAgICpuZ0Zvcj1cImxldCBqb3VybmV5QXZhaWxhYmlsaXR5TW9kZWwgb2YgbW9kZWw7IGluZGV4IGFzIGpvdXJuZXlBdmFpbGFiaWxpdHlJbmRleFwiIHJvbGU9XCJsaXN0aXRlbVwiPlxuICAgIDxuYXMtam91cm5leS1hdmFpbGFiaWxpdHkgKGRpc3BsYXlKb3VybmV5RGV0YWlsc0NoYW5nZSk9XCJkaXNwbGF5Sm91cm5leURldGFpbHNDaGFuZ2VkKCRldmVudClcIlxuICAgICAgKGpvdXJuZXlBdmFpbGFiaWxpdHlDbGljayk9XCJlbWl0U2VsZWN0ZWQoam91cm5leUF2YWlsYWJpbGl0eUluZGV4KVwiXG4gICAgICBbc2VsZWN0ZWRdPVwiaXNBdmFpbGFiaWxpdHlKb3VybmV5U2VsZWN0ZWQoam91cm5leUF2YWlsYWJpbGl0eUluZGV4KVwiIFttb2RlbF09XCJqb3VybmV5QXZhaWxhYmlsaXR5TW9kZWxcIlxuICAgICAgW3RpbWVEaXNwbGF5Rm9ybWF0XT1cInRpbWVEaXNwbGF5Rm9ybWF0XCIgW2xvY2FsZV09XCJsb2NhbGVcIj5cbiAgICA8L25hcy1qb3VybmV5LWF2YWlsYWJpbGl0eT5cbiAgPC9kaXY+XG5cbiAgPGxhYmVsIFtuYXNDbGFzc109XCJnZXRDbGFzcygnbm8tcmVzdWx0cycpXCIgKm5nSWY9XCIhbW9kZWw/Lmxlbmd0aFwiPlxuICAgIDxwPnt7IG5vRGF0YUNhcHRpb24gfX08L3A+XG4gIDwvbGFiZWw+XG48L2Rpdj4iXX0=
@@ -5,19 +5,32 @@ import { JourneyAvailabilityModule } from '../journey-availability/journey-avail
5
5
  import { NasClassModule } from '../../core/directives/nas-class/nas-class.module';
6
6
  import { CoverModule } from '../cover/cover.module';
7
7
  import { SortModule } from '../sort/sort.module';
8
+ import * as i0 from "@angular/core";
8
9
  export class JourneyAvailabilityListModule {
9
10
  }
10
- JourneyAvailabilityListModule.decorators = [
11
- { type: NgModule, args: [{
12
- imports: [
13
- CommonModule,
14
- JourneyAvailabilityModule,
15
- NasClassModule,
16
- CoverModule,
17
- SortModule
18
- ],
19
- declarations: [JourneyAvailabilityListComponent],
20
- exports: [JourneyAvailabilityListComponent]
21
- },] }
22
- ];
23
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiam91cm5leS1hdmFpbGFiaWxpdHktbGlzdC5tb2R1bGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jb3JlLWNvbXBvbmVudHMvc3JjL2xpYi9jb21wb25lbnRzL2pvdXJuZXktYXZhaWxhYmlsaXR5LWxpc3Qvam91cm5leS1hdmFpbGFiaWxpdHktbGlzdC5tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN6QyxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUFFLGdDQUFnQyxFQUFFLE1BQU0sdUNBQXVDLENBQUM7QUFDekYsT0FBTyxFQUFFLHlCQUF5QixFQUFFLE1BQU0scURBQXFELENBQUM7QUFDaEcsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLGtEQUFrRCxDQUFDO0FBQ2xGLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUNwRCxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFhakQsTUFBTSxPQUFPLDZCQUE2Qjs7O1lBWHpDLFFBQVEsU0FBQztnQkFDUixPQUFPLEVBQUU7b0JBQ1AsWUFBWTtvQkFDWix5QkFBeUI7b0JBQ3pCLGNBQWM7b0JBQ2QsV0FBVztvQkFDWCxVQUFVO2lCQUNYO2dCQUNELFlBQVksRUFBRSxDQUFDLGdDQUFnQyxDQUFDO2dCQUNoRCxPQUFPLEVBQUUsQ0FBQyxnQ0FBZ0MsQ0FBQzthQUM1QyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE5nTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHsgSm91cm5leUF2YWlsYWJpbGl0eUxpc3RDb21wb25lbnQgfSBmcm9tICcuL2pvdXJuZXktYXZhaWxhYmlsaXR5LWxpc3QuY29tcG9uZW50JztcbmltcG9ydCB7IEpvdXJuZXlBdmFpbGFiaWxpdHlNb2R1bGUgfSBmcm9tICcuLi9qb3VybmV5LWF2YWlsYWJpbGl0eS9qb3VybmV5LWF2YWlsYWJpbGl0eS5tb2R1bGUnO1xuaW1wb3J0IHsgTmFzQ2xhc3NNb2R1bGUgfSBmcm9tICcuLi8uLi9jb3JlL2RpcmVjdGl2ZXMvbmFzLWNsYXNzL25hcy1jbGFzcy5tb2R1bGUnO1xuaW1wb3J0IHsgQ292ZXJNb2R1bGUgfSBmcm9tICcuLi9jb3Zlci9jb3Zlci5tb2R1bGUnO1xuaW1wb3J0IHsgU29ydE1vZHVsZSB9IGZyb20gJy4uL3NvcnQvc29ydC5tb2R1bGUnO1xuXG5ATmdNb2R1bGUoe1xuICBpbXBvcnRzOiBbXG4gICAgQ29tbW9uTW9kdWxlLFxuICAgIEpvdXJuZXlBdmFpbGFiaWxpdHlNb2R1bGUsXG4gICAgTmFzQ2xhc3NNb2R1bGUsXG4gICAgQ292ZXJNb2R1bGUsXG4gICAgU29ydE1vZHVsZVxuICBdLFxuICBkZWNsYXJhdGlvbnM6IFtKb3VybmV5QXZhaWxhYmlsaXR5TGlzdENvbXBvbmVudF0sXG4gIGV4cG9ydHM6IFtKb3VybmV5QXZhaWxhYmlsaXR5TGlzdENvbXBvbmVudF1cbn0pXG5leHBvcnQgY2xhc3MgSm91cm5leUF2YWlsYWJpbGl0eUxpc3RNb2R1bGUgeyB9XG5cblxuIl19
11
+ JourneyAvailabilityListModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: JourneyAvailabilityListModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
12
+ JourneyAvailabilityListModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "15.2.9", ngImport: i0, type: JourneyAvailabilityListModule, declarations: [JourneyAvailabilityListComponent], imports: [CommonModule,
13
+ JourneyAvailabilityModule,
14
+ NasClassModule,
15
+ CoverModule,
16
+ SortModule], exports: [JourneyAvailabilityListComponent] });
17
+ JourneyAvailabilityListModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: JourneyAvailabilityListModule, imports: [CommonModule,
18
+ JourneyAvailabilityModule,
19
+ NasClassModule,
20
+ CoverModule,
21
+ SortModule] });
22
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: JourneyAvailabilityListModule, decorators: [{
23
+ type: NgModule,
24
+ args: [{
25
+ imports: [
26
+ CommonModule,
27
+ JourneyAvailabilityModule,
28
+ NasClassModule,
29
+ CoverModule,
30
+ SortModule
31
+ ],
32
+ declarations: [JourneyAvailabilityListComponent],
33
+ exports: [JourneyAvailabilityListComponent]
34
+ }]
35
+ }] });
36
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiam91cm5leS1hdmFpbGFiaWxpdHktbGlzdC5tb2R1bGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jb3JlLWNvbXBvbmVudHMvc3JjL2xpYi9jb21wb25lbnRzL2pvdXJuZXktYXZhaWxhYmlsaXR5LWxpc3Qvam91cm5leS1hdmFpbGFiaWxpdHktbGlzdC5tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN6QyxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUFFLGdDQUFnQyxFQUFFLE1BQU0sdUNBQXVDLENBQUM7QUFDekYsT0FBTyxFQUFFLHlCQUF5QixFQUFFLE1BQU0scURBQXFELENBQUM7QUFDaEcsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLGtEQUFrRCxDQUFDO0FBQ2xGLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUNwRCxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0scUJBQXFCLENBQUM7O0FBYWpELE1BQU0sT0FBTyw2QkFBNkI7OzBIQUE3Qiw2QkFBNkI7MkhBQTdCLDZCQUE2QixpQkFIekIsZ0NBQWdDLGFBTjdDLFlBQVk7UUFDWix5QkFBeUI7UUFDekIsY0FBYztRQUNkLFdBQVc7UUFDWCxVQUFVLGFBR0YsZ0NBQWdDOzJIQUUvQiw2QkFBNkIsWUFUdEMsWUFBWTtRQUNaLHlCQUF5QjtRQUN6QixjQUFjO1FBQ2QsV0FBVztRQUNYLFVBQVU7MkZBS0QsNkJBQTZCO2tCQVh6QyxRQUFRO21CQUFDO29CQUNSLE9BQU8sRUFBRTt3QkFDUCxZQUFZO3dCQUNaLHlCQUF5Qjt3QkFDekIsY0FBYzt3QkFDZCxXQUFXO3dCQUNYLFVBQVU7cUJBQ1g7b0JBQ0QsWUFBWSxFQUFFLENBQUMsZ0NBQWdDLENBQUM7b0JBQ2hELE9BQU8sRUFBRSxDQUFDLGdDQUFnQyxDQUFDO2lCQUM1QyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE5nTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHsgSm91cm5leUF2YWlsYWJpbGl0eUxpc3RDb21wb25lbnQgfSBmcm9tICcuL2pvdXJuZXktYXZhaWxhYmlsaXR5LWxpc3QuY29tcG9uZW50JztcbmltcG9ydCB7IEpvdXJuZXlBdmFpbGFiaWxpdHlNb2R1bGUgfSBmcm9tICcuLi9qb3VybmV5LWF2YWlsYWJpbGl0eS9qb3VybmV5LWF2YWlsYWJpbGl0eS5tb2R1bGUnO1xuaW1wb3J0IHsgTmFzQ2xhc3NNb2R1bGUgfSBmcm9tICcuLi8uLi9jb3JlL2RpcmVjdGl2ZXMvbmFzLWNsYXNzL25hcy1jbGFzcy5tb2R1bGUnO1xuaW1wb3J0IHsgQ292ZXJNb2R1bGUgfSBmcm9tICcuLi9jb3Zlci9jb3Zlci5tb2R1bGUnO1xuaW1wb3J0IHsgU29ydE1vZHVsZSB9IGZyb20gJy4uL3NvcnQvc29ydC5tb2R1bGUnO1xuXG5ATmdNb2R1bGUoe1xuICBpbXBvcnRzOiBbXG4gICAgQ29tbW9uTW9kdWxlLFxuICAgIEpvdXJuZXlBdmFpbGFiaWxpdHlNb2R1bGUsXG4gICAgTmFzQ2xhc3NNb2R1bGUsXG4gICAgQ292ZXJNb2R1bGUsXG4gICAgU29ydE1vZHVsZVxuICBdLFxuICBkZWNsYXJhdGlvbnM6IFtKb3VybmV5QXZhaWxhYmlsaXR5TGlzdENvbXBvbmVudF0sXG4gIGV4cG9ydHM6IFtKb3VybmV5QXZhaWxhYmlsaXR5TGlzdENvbXBvbmVudF1cbn0pXG5leHBvcnQgY2xhc3MgSm91cm5leUF2YWlsYWJpbGl0eUxpc3RNb2R1bGUgeyB9XG5cblxuIl19
@@ -0,0 +1,112 @@
1
+ import { Component, EventEmitter, Input, Output, ViewChild } from '@angular/core';
2
+ import { NasComponentBase } from '../../core/base/nas-component.base';
3
+ import * as i0 from "@angular/core";
4
+ import * as i1 from "../../core/services/date/date-helper.service";
5
+ import * as i2 from "@angular/common";
6
+ import * as i3 from "../../core/services/device/device-helper.service";
7
+ import * as i4 from "@angular/platform-browser";
8
+ import * as i5 from "../../core/directives/nas-class/nas-class.directive";
9
+ import * as i6 from "../button/button.component";
10
+ import * as i7 from "../icon/icon.component";
11
+ /**
12
+ * @description
13
+ * Norwegian Journey Selection Component | Functional
14
+ */
15
+ export class JourneySelectionComponent extends NasComponentBase {
16
+ /**
17
+ * @description
18
+ * A boolean that changes how journey selection component looks/behaves based on journey selected/not-selected.
19
+ */
20
+ get collapse() {
21
+ return this.isCollapsed;
22
+ }
23
+ set collapse(value) {
24
+ if (value || typeof (this.animateDown) !== 'undefined') {
25
+ this.animateDown = !value;
26
+ }
27
+ this.isCollapsed = value;
28
+ this.collapseChange.emit(value);
29
+ }
30
+ constructor(dateService, datePipe, deviceService, sanitizer) {
31
+ super('nas-journey-selection');
32
+ this.dateService = dateService;
33
+ this.datePipe = datePipe;
34
+ this.deviceService = deviceService;
35
+ this.sanitizer = sanitizer;
36
+ this.collapseChange = new EventEmitter();
37
+ /**
38
+ * @description
39
+ * User can input the timezone to localize the date.
40
+ * Default is set to UTC and it will by default show the date exactly what is passed to it.
41
+ * @example
42
+ * ```html
43
+ * <nas-journey-availability [timeZone]="'UTC'"></nas-journey-availability>
44
+ */
45
+ this.timeZone = 'UTC';
46
+ /**
47
+ * @description
48
+ * this event emits when button is clicked or date changes by nevigation icons.
49
+ */
50
+ this.selectedDateChanged = new EventEmitter();
51
+ }
52
+ ngOnChanges(changes) {
53
+ if (this.model) {
54
+ setTimeout(() => {
55
+ this.setupBackground(this.imageMain, this.model.backgroundImageUrl);
56
+ this.setupBackground(this.destinationCode, this.model.thumbnailUrl);
57
+ });
58
+ }
59
+ }
60
+ changeFlightDate() {
61
+ this.collapse = false;
62
+ }
63
+ setupBackground(element, url) {
64
+ if (!element) {
65
+ return;
66
+ }
67
+ if (url) {
68
+ element.nativeElement.style.backgroundImage = `url(${url})`;
69
+ }
70
+ }
71
+ transformDisplayDate(format) {
72
+ if (this.model) {
73
+ return this.datePipe.transform(this.dateService.date(this.model.date), format, this.timeZone, this.model.locale);
74
+ }
75
+ }
76
+ getDestinationCode() {
77
+ if (this.model && this.model.expanded) {
78
+ if (this.model.expanded.destination && this.model.expanded.destination.length > 3) {
79
+ return this.sanitizer.bypassSecurityTrustHtml(this.model.expanded.destination.substr(0, 3)
80
+ + '<br />' + this.model.expanded.destination.substr(3));
81
+ }
82
+ return this.sanitizer.bypassSecurityTrustHtml(this.model.expanded.destination);
83
+ }
84
+ }
85
+ }
86
+ JourneySelectionComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: JourneySelectionComponent, deps: [{ token: i1.DateHelper }, { token: i2.DatePipe }, { token: i3.DeviceHelper }, { token: i4.DomSanitizer }], target: i0.ɵɵFactoryTarget.Component });
87
+ JourneySelectionComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.9", type: JourneySelectionComponent, selector: "nas-journey-selection", inputs: { model: "model", collapse: "collapse", compact: "compact", ariaLabel: "ariaLabel", timeZone: "timeZone" }, outputs: { collapseChange: "collapseChange", selectedDateChanged: "selectedDateChanged" }, viewQueries: [{ propertyName: "imageMain", first: true, predicate: ["imageMain"], descendants: true }, { propertyName: "destinationCode", first: true, predicate: ["destinationCode"], descendants: true }], usesInheritance: true, usesOnChanges: true, ngImport: i0, template: "<div [nasClass]=\"getClass()\">\n <div *ngIf=\"collapse; else expandedSelection\"\n [nasClass]=\"getClass('collapsed', [animateDown === false && 'animate-up', exists(compact) && 'compact'])\" role=\"region\" [attr.aria-label]=\"ariaLabel\">\n\n <div [nasClass]=\"getClass('destination')\">\n <div [nasClass]=\"getClass('destination-image')\" #imageMain>\n <label [nasClass]=\"getClass('destination-image-content')\">\n <ng-container *ngIf=\"!deviceService?.isMobileWidth();\">\n <ng-container *ngTemplateOutlet=\"flightInfo\"></ng-container>\n </ng-container>\n\n <div [nasClass]=\"getClass('destination-image-sm')\" *ngIf=\"deviceService?.isMobileWidth()\">\n <span [nasClass]=\"getClass('mobile-icon')\">\n <nas-icon [icon]=\"model?.icon\" [type]=\"'small'\" [lightCircularBackground]=\"true\"></nas-icon>\n </span>\n <div [nasClass]=\"getClass('airport')\">\n <span>{{model?.collapsed?.origin}}&nbsp; - &nbsp;</span>\n <span [nasClass]=\"getClass('stopover')\" *ngIf=\"model?.collapsed?.stopverAirportCodes\">\n <ng-container *ngFor=\"let stop of model?.collapsed?.stopverAirportCodes\">\n {{stop}}&nbsp;-&nbsp;\n </ng-container>\n </span>\n <span>{{model?.collapsed?.destination}}</span>\n </div>\n </div>\n </label>\n </div>\n </div>\n\n <section [nasClass]=\"getClass('flights')\">\n <div [nasClass]=\"getClass('flights-information')\">\n <div [nasClass]=\"getClass('airport')\">\n <span>{{model?.collapsed?.origin}}&nbsp; - &nbsp;</span>\n\n <span [nasClass]=\"getClass('stopover')\" *ngIf=\"model?.collapsed?.stopverAirportCodes\">\n <ng-container *ngFor=\"let stop of model?.collapsed?.stopverAirportCodes\">\n {{stop}}&nbsp;-&nbsp;\n </ng-container>\n </span>\n\n\n <span>{{model?.collapsed?.destination}}</span>\n </div>\n <div *ngIf=\"model?.collapsed?.operatingCarriers\" [nasClass]=\"getClass('operators')\">\n <label [nasClass]=\"getClass('operators', 'label')\">\n {{model?.collapsed?.operatingCarriers?.label}}&nbsp;\n </label>\n <span [nasClass]=\"getClass('operators', 'text')\">\n {{model?.collapsed?.operatingCarriers?.operators[0]}}\n </span>\n <output *ngIf=\"model?.collapsed?.operatingCarriers?.operators?.length > 1\"\n [nasClass]=\"getClass('operators', 'count')\">\n &nbsp; +{{model?.collapsed?.operatingCarriers?.operators?.length - 1}}\n </output>\n </div>\n </div>\n\n <div [nasClass]=\"getClass('change-flight')\">\n\n <label [nasClass]=\"getClass('change-flight-content')\" *ngIf=\"deviceService?.isMobileWidth()\">\n <ng-container *ngTemplateOutlet=\"flightInfo\"></ng-container>\n </label>\n\n <ng-template #flightInfo>\n <summary [nasClass]=\"getClass('destination-image-caption')\">\n <header [nasClass]=\"getClass('sub-title')\">\n {{model?.collapsed?.title}}\n </header>\n </summary>\n\n <section [nasClass]=\"getClass('journey')\">\n <legend [nasClass]=\"getClass('journey-information')\">\n\n <label>\n {{model?.collapsed?.departureLabel}}:&nbsp;\n </label>\n <time>{{transformDisplayDate(model?.dateFormat)}}</time>\n </legend>\n <div>\n <legend [nasClass]=\"getClass('journey-information')\">\n <label>{{model?.fromLabel}}:&nbsp;</label>\n <span>{{model?.collapsed?.originDisplayName}}&nbsp;({{model?.collapsed?.origin}})</span>\n </legend>\n <legend [nasClass]=\"getClass('journey-information')\">\n <label>{{model?.collapsed?.durationLabel}}:&nbsp;</label>\n <time>{{model?.collapsed?.durationTimeInfo}},&nbsp;{{model?.collapsed?.transitionInfo}} </time>\n </legend>\n </div>\n </section>\n </ng-template>\n <nas-button compact secondary (click)=\"changeFlightDate()\">{{model?.collapsed?.changeFlightLabel}}</nas-button>\n </div>\n </section>\n </div>\n\n <ng-template #expandedSelection>\n <div [nasClass]=\"getClass('expanded', [animateDown && 'animate-down', exists(compact) && 'compact'])\" role=\"region\" [attr.aria-label]=\"ariaLabel\">\n <figure [nasClass]=\"getClass('destination-code')\" #destinationCode>\n <figcaption [nasClass]=\"getClass('destination-code-value', model?.expanded?.destination?.length > 3 && 'wrap-text')\" [innerHTML]=\"getDestinationCode()\">\n </figcaption>\n </figure>\n <div [nasClass]=\"getClass('selection')\">\n <label [nasClass]=\"getClass('heading')\">\n\n <ng-container *ngIf=\"deviceService.isMobileWidth(); else desktopIcon\">\n <ng-container *ngTemplateOutlet=\"desktopIcon\"></ng-container>\n </ng-container>\n\n <header [nasClass]=\"getClass('heading-text')\">\n {{model?.expanded?.title}}\n </header>\n <span [nasClass]=\"getClass('heading-join')\">&nbsp;-&nbsp;</span>\n <time [nasClass]=\"getClass('heading-time')\">\n {{transformDisplayDate(model?.expanded?.dateFormat)}}\n </time>\n\n <ng-template #desktopIcon>\n <span [nasClass]=\"getClass('heading-icon')\">\n <nas-icon [icon]=\"model?.icon\" [type]=\"'small'\"></nas-icon>\n </span>\n </ng-template>\n\n </label>\n <summary [nasClass]=\"getClass('details')\">\n <div>\n <label [nasClass]=\"getClass('details-label')\">{{model?.fromLabel}}:</label>\n <span [nasClass]=\"getClass('details-value')\">{{model?.expanded?.originDisplayName}} ({{model?.expanded?.origin}})</span>\n <span> | </span>\n <label [nasClass]=\"getClass('details-label')\">{{model?.expanded?.toLabel}}:</label>\n <span [nasClass]=\"getClass('details-value')\">{{model?.expanded?.destinationDisplayName}} ({{model?.expanded?.destination}})</span>\n </div>\n </summary>\n </div>\n </div>\n </ng-template>\n</div>\n", 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-journey-selection__collapsed{display:flex;flex-direction:column;max-width:820px;margin:16px auto;background-color:#fff;perspective:1000px;box-shadow:0 5px 20px #0000001a}.nas-journey-selection__collapsed--animate-up{animation:collapse-animation .4s ease-out both}@media (min-width: 640px){.nas-journey-selection__collapsed{flex-direction:row}}.nas-journey-selection__collapsed--compact{margin:0 auto}.nas-journey-selection__destination{flex:1 1 50%;display:flex}.nas-journey-selection__destination-enter,.nas-journey-selection__destination-leave-active{transform-origin:center top;transform-style:preserve-3d;-webkit-backface-visibility:hidden;backface-visibility:hidden}.nas-journey-selection__destination-enter{animation:flip-in .55s ease both}.nas-journey-selection__destination-leave-active{animation:flip-out .2s ease-out both}.nas-journey-selection__destination--imagesize{height:100%;display:block}@media (min-width: 640px){.nas-journey-selection__destination--imagesize{height:300px;margin-bottom:0}}.nas-journey-selection__destination-image{position:relative;flex-shrink:0;width:100%;background-size:cover;background-position:center;background-color:#003251}.nas-journey-selection__destination-image-content{padding:24px;margin-bottom:0;display:flex;flex-direction:column;justify-content:center;height:100%}.nas-journey-selection__destination-image-content:after{content:\"\";position:absolute;bottom:0;left:0;right:0;height:100%;max-height:100%;background:linear-gradient(180deg,rgba(0,50,81,0) -12.4%,#003251 95.51%)}.nas-journey-selection__destination-image-caption{display:flex;margin-bottom:6px}@media (min-width: 640px){.nas-journey-selection__destination-image-caption{margin-bottom:0}}.nas-journey-selection__destination-image-sm{display:flex;z-index:1;flex-direction:column;width:100%;align-items:center;justify-content:center}.nas-journey-selection__destination-image-sm .nas-journey-selection__mobile-icon{height:40px;margin-top:15px}.nas-journey-selection__destination-image-sm .nas-journey-selection__airport{margin-top:12px;font-family:Apercu,Helvetica Neue,Helvetica,Arial,sans-serif;font-weight:700;font-size:24px;line-height:30px;color:#fff}.nas-journey-selection .nas-journey-selection__sub-title{z-index:1;text-align:left;font-family:Apercu,Helvetica Neue,Helvetica,Arial,sans-serif;font-weight:600;font-size:24px;line-height:30px;align-self:center;margin-bottom:6px;width:100%}@media (min-width: 640px){.nas-journey-selection .nas-journey-selection__sub-title{color:#fff}}.nas-journey-selection__journey{z-index:1}.nas-journey-selection__journey-information{margin:0;display:flex}.nas-journey-selection__journey-information time,.nas-journey-selection__journey-information span{z-index:1;font-family:Apercu,Helvetica Neue,Helvetica,Arial,sans-serif;font-weight:600;font-size:14px;line-height:20px}@media (min-width: 640px){.nas-journey-selection__journey-information time,.nas-journey-selection__journey-information span{color:#fff}}.nas-journey-selection__journey-information label{z-index:1;font-family:Apercu,Helvetica Neue,Helvetica,Arial,sans-serif;font-weight:300;font-size:14px;line-height:20px;color:#fff;display:inline-block;margin-bottom:0}.nas-journey-selection__flights{padding:6px;flex:1 1 50%;display:flex;flex-direction:column;justify-content:space-between;overflow-x:auto;background-color:#fff}.nas-journey-selection__flights-enter,.nas-journey-selection__flights-leave-active{transform-origin:center top;transform-style:preserve-3d;-webkit-backface-visibility:hidden;backface-visibility:hidden}.nas-journey-selection__flights-enter{animation:flip-in .55s ease both}.nas-journey-selection__flights-leave-active{animation:flip-out .2s ease-out both}.nas-journey-selection__flights .nas-journey-selection__airport{font-family:Apercu,Helvetica Neue,Helvetica,Arial,sans-serif;font-weight:700;font-size:24px;line-height:30px;line-height:24px;margin-bottom:0}.nas-journey-selection__flights .nas-journey-selection__airport .nas-journey-selection__stopover{position:relative;display:inline-block;color:#626363}.nas-journey-selection__flights-information{justify-content:space-between;padding-bottom:12px;border-bottom:2px solid #c3c3c3;display:flex;flex-direction:column;align-items:flex-start;display:none}.nas-journey-selection__flights-information .nas-journey-selection__operators--label,.nas-journey-selection__flights-information .nas-journey-selection__operators--text,.nas-journey-selection__flights-information .nas-journey-selection__operators--count{font-family:Apercu,Helvetica Neue,Helvetica,Arial,sans-serif;font-weight:600;font-size:14px;line-height:20px;color:#003251;display:inline}@media (min-width: 640px){.nas-journey-selection__flights-information{display:flex}}@media (min-width: 640px){.nas-journey-selection__flights{padding:24px}}.nas-journey-selection__change-flight{padding:12px}@media (min-width: 640px){.nas-journey-selection__change-flight{padding:0;margin-top:12px}}.nas-journey-selection__change-flight-content{margin-bottom:16px}@media (min-width: 640px){.nas-journey-selection__change-flight-content{margin-bottom:0}}.nas-journey-selection__change-flight-content label{color:#003251;font-family:Apercu,Helvetica Neue,Helvetica,Arial,sans-serif;font-weight:400;font-size:14px;line-height:20px;display:inline-block;margin-bottom:0}.nas-journey-selection__expanded{max-width:820px;perspective:1000px;background-color:transparent;margin:16px auto;display:flex;align-items:center}.nas-journey-selection__expanded--animate-down{animation:expand-animation .4s ease-out both}.nas-journey-selection__expanded .nas-journey-selection__destination-code{width:60px;height:60px;border-radius:50%;position:relative;margin-right:24px;background-size:cover;vertical-align:top;display:flex;align-items:center;justify-content:center;background-color:#003251}@media (min-width: 640px){.nas-journey-selection__expanded .nas-journey-selection__destination-code{vertical-align:initial}}.nas-journey-selection__expanded .nas-journey-selection__destination-code-value{font-family:Apercu,Helvetica Neue,Helvetica,Arial,sans-serif;font-weight:600;font-size:22px;line-height:28px;color:#fff;z-index:1}.nas-journey-selection__expanded .nas-journey-selection__destination-code-value--wrap-text{font-family:Apercu,Helvetica Neue,Helvetica,Arial,sans-serif;font-weight:600;font-size:16px;line-height:26px;line-height:16px}.nas-journey-selection__expanded .nas-journey-selection__destination-code:after{content:\"\";position:absolute;bottom:0;left:0;right:0;border-radius:50%;height:100%;max-height:100%;background:linear-gradient(180deg,rgba(0,50,81,0) 50%,#003251 99%)}.nas-journey-selection__expanded .nas-journey-selection__selection{width:calc(100% - 85px);display:inline-block}.nas-journey-selection__expanded .nas-journey-selection__selection .nas-journey-selection__heading{display:inline-block;font-family:Apercu,Helvetica Neue,Helvetica,Arial,sans-serif;font-weight:700;font-size:22px;line-height:28px;vertical-align:center;padding-bottom:6px;margin-bottom:0;width:100%}.nas-journey-selection__expanded .nas-journey-selection__selection .nas-journey-selection__heading-text{display:inline}.nas-journey-selection__expanded .nas-journey-selection__selection .nas-journey-selection__heading-join{display:none}@media (min-width: 640px){.nas-journey-selection__expanded .nas-journey-selection__selection .nas-journey-selection__heading-join{display:inline-block}}.nas-journey-selection__expanded .nas-journey-selection__selection .nas-journey-selection__heading-time{font-family:Apercu,Helvetica Neue,Helvetica,Arial,sans-serif;font-weight:400;font-size:22px;line-height:28px;display:block;color:#626363}@media (min-width: 640px){.nas-journey-selection__expanded .nas-journey-selection__selection .nas-journey-selection__heading-time{display:inline-block;color:#003251}}.nas-journey-selection__expanded .nas-journey-selection__selection .nas-journey-selection__heading-icon{float:initial;margin-right:11px;vertical-align:middle;position:relative}@media (min-width: 640px){.nas-journey-selection__expanded .nas-journey-selection__selection .nas-journey-selection__heading-icon{margin-right:initial;float:right}}.nas-journey-selection__expanded .nas-journey-selection__selection .nas-journey-selection__details{padding-top:6px;border-top:2px solid #e3e3e3;display:none}.nas-journey-selection__expanded .nas-journey-selection__selection .nas-journey-selection__details-label{font-family:Apercu,Helvetica Neue,Helvetica,Arial,sans-serif;font-weight:700;font-size:14px;line-height:20px;display:inline-block;margin-right:6px;color:#626363}.nas-journey-selection__expanded .nas-journey-selection__selection .nas-journey-selection__details-value{font-family:Apercu,Helvetica Neue,Helvetica,Arial,sans-serif;font-weight:400;font-size:14px;line-height:20px;display:inline-block;color:#626363}@media (min-width: 640px){.nas-journey-selection__expanded .nas-journey-selection__selection .nas-journey-selection__details{display:block}}.nas-journey-selection__expanded--compact{margin:0 auto}::ng-deep .nas-journey-selection__destination-image-caption nas-icon{z-index:10;align-self:center;margin-right:20px;display:none}@media (min-width: 640px){::ng-deep .nas-journey-selection__destination-image-caption nas-icon{display:block}}::ng-deep .nas-journey-selection .nas-icon-small--light-background:after{top:-14.5px;left:-15px;width:55px;height:55px}::ng-deep .nas-journey-selection button.nas-button--compact{margin-bottom:0}@keyframes journey-selection-animation{0%{opacity:0}}@keyframes expand-animation{0%{transform:translateY(-20px)}to{transform:translate(0)}}@keyframes collapse-animation{0%{transform:translateY(20px)}to{transform:translate(0)}}\n"], dependencies: [{ kind: "directive", type: i2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: i5.NasClassDirective, selector: "[nasClass]", inputs: ["nasClass", "attr.class"] }, { kind: "component", type: i6.ButtonComponent, selector: "nas-button", inputs: ["primary", "secondary", "link", "approve", "light", "large", "block", "flex", "compact", "right", "spaceless", "transparent", "href", "trackingvalue", "canContinueOnDisabled", "disabled", "type", "cssClass", "ariaLabel", "cssStyle", "tabindex", "overrideBaseCssClass", "useRouterLink", "id", "target"], outputs: ["clickChange"] }, { kind: "component", type: i7.IconComponent, selector: "nas-icon", inputs: ["icon", "type", "isIndicator", "lightCircularBackground", "cssClass"] }] });
88
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: JourneySelectionComponent, decorators: [{
89
+ type: Component,
90
+ args: [{ selector: 'nas-journey-selection', template: "<div [nasClass]=\"getClass()\">\n <div *ngIf=\"collapse; else expandedSelection\"\n [nasClass]=\"getClass('collapsed', [animateDown === false && 'animate-up', exists(compact) && 'compact'])\" role=\"region\" [attr.aria-label]=\"ariaLabel\">\n\n <div [nasClass]=\"getClass('destination')\">\n <div [nasClass]=\"getClass('destination-image')\" #imageMain>\n <label [nasClass]=\"getClass('destination-image-content')\">\n <ng-container *ngIf=\"!deviceService?.isMobileWidth();\">\n <ng-container *ngTemplateOutlet=\"flightInfo\"></ng-container>\n </ng-container>\n\n <div [nasClass]=\"getClass('destination-image-sm')\" *ngIf=\"deviceService?.isMobileWidth()\">\n <span [nasClass]=\"getClass('mobile-icon')\">\n <nas-icon [icon]=\"model?.icon\" [type]=\"'small'\" [lightCircularBackground]=\"true\"></nas-icon>\n </span>\n <div [nasClass]=\"getClass('airport')\">\n <span>{{model?.collapsed?.origin}}&nbsp; - &nbsp;</span>\n <span [nasClass]=\"getClass('stopover')\" *ngIf=\"model?.collapsed?.stopverAirportCodes\">\n <ng-container *ngFor=\"let stop of model?.collapsed?.stopverAirportCodes\">\n {{stop}}&nbsp;-&nbsp;\n </ng-container>\n </span>\n <span>{{model?.collapsed?.destination}}</span>\n </div>\n </div>\n </label>\n </div>\n </div>\n\n <section [nasClass]=\"getClass('flights')\">\n <div [nasClass]=\"getClass('flights-information')\">\n <div [nasClass]=\"getClass('airport')\">\n <span>{{model?.collapsed?.origin}}&nbsp; - &nbsp;</span>\n\n <span [nasClass]=\"getClass('stopover')\" *ngIf=\"model?.collapsed?.stopverAirportCodes\">\n <ng-container *ngFor=\"let stop of model?.collapsed?.stopverAirportCodes\">\n {{stop}}&nbsp;-&nbsp;\n </ng-container>\n </span>\n\n\n <span>{{model?.collapsed?.destination}}</span>\n </div>\n <div *ngIf=\"model?.collapsed?.operatingCarriers\" [nasClass]=\"getClass('operators')\">\n <label [nasClass]=\"getClass('operators', 'label')\">\n {{model?.collapsed?.operatingCarriers?.label}}&nbsp;\n </label>\n <span [nasClass]=\"getClass('operators', 'text')\">\n {{model?.collapsed?.operatingCarriers?.operators[0]}}\n </span>\n <output *ngIf=\"model?.collapsed?.operatingCarriers?.operators?.length > 1\"\n [nasClass]=\"getClass('operators', 'count')\">\n &nbsp; +{{model?.collapsed?.operatingCarriers?.operators?.length - 1}}\n </output>\n </div>\n </div>\n\n <div [nasClass]=\"getClass('change-flight')\">\n\n <label [nasClass]=\"getClass('change-flight-content')\" *ngIf=\"deviceService?.isMobileWidth()\">\n <ng-container *ngTemplateOutlet=\"flightInfo\"></ng-container>\n </label>\n\n <ng-template #flightInfo>\n <summary [nasClass]=\"getClass('destination-image-caption')\">\n <header [nasClass]=\"getClass('sub-title')\">\n {{model?.collapsed?.title}}\n </header>\n </summary>\n\n <section [nasClass]=\"getClass('journey')\">\n <legend [nasClass]=\"getClass('journey-information')\">\n\n <label>\n {{model?.collapsed?.departureLabel}}:&nbsp;\n </label>\n <time>{{transformDisplayDate(model?.dateFormat)}}</time>\n </legend>\n <div>\n <legend [nasClass]=\"getClass('journey-information')\">\n <label>{{model?.fromLabel}}:&nbsp;</label>\n <span>{{model?.collapsed?.originDisplayName}}&nbsp;({{model?.collapsed?.origin}})</span>\n </legend>\n <legend [nasClass]=\"getClass('journey-information')\">\n <label>{{model?.collapsed?.durationLabel}}:&nbsp;</label>\n <time>{{model?.collapsed?.durationTimeInfo}},&nbsp;{{model?.collapsed?.transitionInfo}} </time>\n </legend>\n </div>\n </section>\n </ng-template>\n <nas-button compact secondary (click)=\"changeFlightDate()\">{{model?.collapsed?.changeFlightLabel}}</nas-button>\n </div>\n </section>\n </div>\n\n <ng-template #expandedSelection>\n <div [nasClass]=\"getClass('expanded', [animateDown && 'animate-down', exists(compact) && 'compact'])\" role=\"region\" [attr.aria-label]=\"ariaLabel\">\n <figure [nasClass]=\"getClass('destination-code')\" #destinationCode>\n <figcaption [nasClass]=\"getClass('destination-code-value', model?.expanded?.destination?.length > 3 && 'wrap-text')\" [innerHTML]=\"getDestinationCode()\">\n </figcaption>\n </figure>\n <div [nasClass]=\"getClass('selection')\">\n <label [nasClass]=\"getClass('heading')\">\n\n <ng-container *ngIf=\"deviceService.isMobileWidth(); else desktopIcon\">\n <ng-container *ngTemplateOutlet=\"desktopIcon\"></ng-container>\n </ng-container>\n\n <header [nasClass]=\"getClass('heading-text')\">\n {{model?.expanded?.title}}\n </header>\n <span [nasClass]=\"getClass('heading-join')\">&nbsp;-&nbsp;</span>\n <time [nasClass]=\"getClass('heading-time')\">\n {{transformDisplayDate(model?.expanded?.dateFormat)}}\n </time>\n\n <ng-template #desktopIcon>\n <span [nasClass]=\"getClass('heading-icon')\">\n <nas-icon [icon]=\"model?.icon\" [type]=\"'small'\"></nas-icon>\n </span>\n </ng-template>\n\n </label>\n <summary [nasClass]=\"getClass('details')\">\n <div>\n <label [nasClass]=\"getClass('details-label')\">{{model?.fromLabel}}:</label>\n <span [nasClass]=\"getClass('details-value')\">{{model?.expanded?.originDisplayName}} ({{model?.expanded?.origin}})</span>\n <span> | </span>\n <label [nasClass]=\"getClass('details-label')\">{{model?.expanded?.toLabel}}:</label>\n <span [nasClass]=\"getClass('details-value')\">{{model?.expanded?.destinationDisplayName}} ({{model?.expanded?.destination}})</span>\n </div>\n </summary>\n </div>\n </div>\n </ng-template>\n</div>\n", 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-journey-selection__collapsed{display:flex;flex-direction:column;max-width:820px;margin:16px auto;background-color:#fff;perspective:1000px;box-shadow:0 5px 20px #0000001a}.nas-journey-selection__collapsed--animate-up{animation:collapse-animation .4s ease-out both}@media (min-width: 640px){.nas-journey-selection__collapsed{flex-direction:row}}.nas-journey-selection__collapsed--compact{margin:0 auto}.nas-journey-selection__destination{flex:1 1 50%;display:flex}.nas-journey-selection__destination-enter,.nas-journey-selection__destination-leave-active{transform-origin:center top;transform-style:preserve-3d;-webkit-backface-visibility:hidden;backface-visibility:hidden}.nas-journey-selection__destination-enter{animation:flip-in .55s ease both}.nas-journey-selection__destination-leave-active{animation:flip-out .2s ease-out both}.nas-journey-selection__destination--imagesize{height:100%;display:block}@media (min-width: 640px){.nas-journey-selection__destination--imagesize{height:300px;margin-bottom:0}}.nas-journey-selection__destination-image{position:relative;flex-shrink:0;width:100%;background-size:cover;background-position:center;background-color:#003251}.nas-journey-selection__destination-image-content{padding:24px;margin-bottom:0;display:flex;flex-direction:column;justify-content:center;height:100%}.nas-journey-selection__destination-image-content:after{content:\"\";position:absolute;bottom:0;left:0;right:0;height:100%;max-height:100%;background:linear-gradient(180deg,rgba(0,50,81,0) -12.4%,#003251 95.51%)}.nas-journey-selection__destination-image-caption{display:flex;margin-bottom:6px}@media (min-width: 640px){.nas-journey-selection__destination-image-caption{margin-bottom:0}}.nas-journey-selection__destination-image-sm{display:flex;z-index:1;flex-direction:column;width:100%;align-items:center;justify-content:center}.nas-journey-selection__destination-image-sm .nas-journey-selection__mobile-icon{height:40px;margin-top:15px}.nas-journey-selection__destination-image-sm .nas-journey-selection__airport{margin-top:12px;font-family:Apercu,Helvetica Neue,Helvetica,Arial,sans-serif;font-weight:700;font-size:24px;line-height:30px;color:#fff}.nas-journey-selection .nas-journey-selection__sub-title{z-index:1;text-align:left;font-family:Apercu,Helvetica Neue,Helvetica,Arial,sans-serif;font-weight:600;font-size:24px;line-height:30px;align-self:center;margin-bottom:6px;width:100%}@media (min-width: 640px){.nas-journey-selection .nas-journey-selection__sub-title{color:#fff}}.nas-journey-selection__journey{z-index:1}.nas-journey-selection__journey-information{margin:0;display:flex}.nas-journey-selection__journey-information time,.nas-journey-selection__journey-information span{z-index:1;font-family:Apercu,Helvetica Neue,Helvetica,Arial,sans-serif;font-weight:600;font-size:14px;line-height:20px}@media (min-width: 640px){.nas-journey-selection__journey-information time,.nas-journey-selection__journey-information span{color:#fff}}.nas-journey-selection__journey-information label{z-index:1;font-family:Apercu,Helvetica Neue,Helvetica,Arial,sans-serif;font-weight:300;font-size:14px;line-height:20px;color:#fff;display:inline-block;margin-bottom:0}.nas-journey-selection__flights{padding:6px;flex:1 1 50%;display:flex;flex-direction:column;justify-content:space-between;overflow-x:auto;background-color:#fff}.nas-journey-selection__flights-enter,.nas-journey-selection__flights-leave-active{transform-origin:center top;transform-style:preserve-3d;-webkit-backface-visibility:hidden;backface-visibility:hidden}.nas-journey-selection__flights-enter{animation:flip-in .55s ease both}.nas-journey-selection__flights-leave-active{animation:flip-out .2s ease-out both}.nas-journey-selection__flights .nas-journey-selection__airport{font-family:Apercu,Helvetica Neue,Helvetica,Arial,sans-serif;font-weight:700;font-size:24px;line-height:30px;line-height:24px;margin-bottom:0}.nas-journey-selection__flights .nas-journey-selection__airport .nas-journey-selection__stopover{position:relative;display:inline-block;color:#626363}.nas-journey-selection__flights-information{justify-content:space-between;padding-bottom:12px;border-bottom:2px solid #c3c3c3;display:flex;flex-direction:column;align-items:flex-start;display:none}.nas-journey-selection__flights-information .nas-journey-selection__operators--label,.nas-journey-selection__flights-information .nas-journey-selection__operators--text,.nas-journey-selection__flights-information .nas-journey-selection__operators--count{font-family:Apercu,Helvetica Neue,Helvetica,Arial,sans-serif;font-weight:600;font-size:14px;line-height:20px;color:#003251;display:inline}@media (min-width: 640px){.nas-journey-selection__flights-information{display:flex}}@media (min-width: 640px){.nas-journey-selection__flights{padding:24px}}.nas-journey-selection__change-flight{padding:12px}@media (min-width: 640px){.nas-journey-selection__change-flight{padding:0;margin-top:12px}}.nas-journey-selection__change-flight-content{margin-bottom:16px}@media (min-width: 640px){.nas-journey-selection__change-flight-content{margin-bottom:0}}.nas-journey-selection__change-flight-content label{color:#003251;font-family:Apercu,Helvetica Neue,Helvetica,Arial,sans-serif;font-weight:400;font-size:14px;line-height:20px;display:inline-block;margin-bottom:0}.nas-journey-selection__expanded{max-width:820px;perspective:1000px;background-color:transparent;margin:16px auto;display:flex;align-items:center}.nas-journey-selection__expanded--animate-down{animation:expand-animation .4s ease-out both}.nas-journey-selection__expanded .nas-journey-selection__destination-code{width:60px;height:60px;border-radius:50%;position:relative;margin-right:24px;background-size:cover;vertical-align:top;display:flex;align-items:center;justify-content:center;background-color:#003251}@media (min-width: 640px){.nas-journey-selection__expanded .nas-journey-selection__destination-code{vertical-align:initial}}.nas-journey-selection__expanded .nas-journey-selection__destination-code-value{font-family:Apercu,Helvetica Neue,Helvetica,Arial,sans-serif;font-weight:600;font-size:22px;line-height:28px;color:#fff;z-index:1}.nas-journey-selection__expanded .nas-journey-selection__destination-code-value--wrap-text{font-family:Apercu,Helvetica Neue,Helvetica,Arial,sans-serif;font-weight:600;font-size:16px;line-height:26px;line-height:16px}.nas-journey-selection__expanded .nas-journey-selection__destination-code:after{content:\"\";position:absolute;bottom:0;left:0;right:0;border-radius:50%;height:100%;max-height:100%;background:linear-gradient(180deg,rgba(0,50,81,0) 50%,#003251 99%)}.nas-journey-selection__expanded .nas-journey-selection__selection{width:calc(100% - 85px);display:inline-block}.nas-journey-selection__expanded .nas-journey-selection__selection .nas-journey-selection__heading{display:inline-block;font-family:Apercu,Helvetica Neue,Helvetica,Arial,sans-serif;font-weight:700;font-size:22px;line-height:28px;vertical-align:center;padding-bottom:6px;margin-bottom:0;width:100%}.nas-journey-selection__expanded .nas-journey-selection__selection .nas-journey-selection__heading-text{display:inline}.nas-journey-selection__expanded .nas-journey-selection__selection .nas-journey-selection__heading-join{display:none}@media (min-width: 640px){.nas-journey-selection__expanded .nas-journey-selection__selection .nas-journey-selection__heading-join{display:inline-block}}.nas-journey-selection__expanded .nas-journey-selection__selection .nas-journey-selection__heading-time{font-family:Apercu,Helvetica Neue,Helvetica,Arial,sans-serif;font-weight:400;font-size:22px;line-height:28px;display:block;color:#626363}@media (min-width: 640px){.nas-journey-selection__expanded .nas-journey-selection__selection .nas-journey-selection__heading-time{display:inline-block;color:#003251}}.nas-journey-selection__expanded .nas-journey-selection__selection .nas-journey-selection__heading-icon{float:initial;margin-right:11px;vertical-align:middle;position:relative}@media (min-width: 640px){.nas-journey-selection__expanded .nas-journey-selection__selection .nas-journey-selection__heading-icon{margin-right:initial;float:right}}.nas-journey-selection__expanded .nas-journey-selection__selection .nas-journey-selection__details{padding-top:6px;border-top:2px solid #e3e3e3;display:none}.nas-journey-selection__expanded .nas-journey-selection__selection .nas-journey-selection__details-label{font-family:Apercu,Helvetica Neue,Helvetica,Arial,sans-serif;font-weight:700;font-size:14px;line-height:20px;display:inline-block;margin-right:6px;color:#626363}.nas-journey-selection__expanded .nas-journey-selection__selection .nas-journey-selection__details-value{font-family:Apercu,Helvetica Neue,Helvetica,Arial,sans-serif;font-weight:400;font-size:14px;line-height:20px;display:inline-block;color:#626363}@media (min-width: 640px){.nas-journey-selection__expanded .nas-journey-selection__selection .nas-journey-selection__details{display:block}}.nas-journey-selection__expanded--compact{margin:0 auto}::ng-deep .nas-journey-selection__destination-image-caption nas-icon{z-index:10;align-self:center;margin-right:20px;display:none}@media (min-width: 640px){::ng-deep .nas-journey-selection__destination-image-caption nas-icon{display:block}}::ng-deep .nas-journey-selection .nas-icon-small--light-background:after{top:-14.5px;left:-15px;width:55px;height:55px}::ng-deep .nas-journey-selection button.nas-button--compact{margin-bottom:0}@keyframes journey-selection-animation{0%{opacity:0}}@keyframes expand-animation{0%{transform:translateY(-20px)}to{transform:translate(0)}}@keyframes collapse-animation{0%{transform:translateY(20px)}to{transform:translate(0)}}\n"] }]
91
+ }], ctorParameters: function () { return [{ type: i1.DateHelper }, { type: i2.DatePipe }, { type: i3.DeviceHelper }, { type: i4.DomSanitizer }]; }, propDecorators: { imageMain: [{
92
+ type: ViewChild,
93
+ args: ['imageMain']
94
+ }], destinationCode: [{
95
+ type: ViewChild,
96
+ args: ['destinationCode']
97
+ }], model: [{
98
+ type: Input
99
+ }], collapseChange: [{
100
+ type: Output
101
+ }], collapse: [{
102
+ type: Input
103
+ }], compact: [{
104
+ type: Input
105
+ }], ariaLabel: [{
106
+ type: Input
107
+ }], timeZone: [{
108
+ type: Input
109
+ }], selectedDateChanged: [{
110
+ type: Output
111
+ }] } });
112
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiam91cm5leS1zZWxlY3Rpb24uY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY29yZS1jb21wb25lbnRzL3NyYy9saWIvY29tcG9uZW50cy9qb3VybmV5LXNlbGVjdGlvbi9qb3VybmV5LXNlbGVjdGlvbi5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jb3JlLWNvbXBvbmVudHMvc3JjL2xpYi9jb21wb25lbnRzL2pvdXJuZXktc2VsZWN0aW9uL2pvdXJuZXktc2VsZWN0aW9uLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQU1BLE9BQU8sRUFDTCxTQUFTLEVBRVQsWUFBWSxFQUNaLEtBQUssRUFFTCxNQUFNLEVBRU4sU0FBUyxFQUNWLE1BQU0sZUFBZSxDQUFDO0FBRXZCLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLG9DQUFvQyxDQUFDOzs7Ozs7Ozs7QUFNdEU7OztHQUdHO0FBTUgsTUFBTSxPQUFPLHlCQUEwQixTQUFRLGdCQUFnQjtJQWdCN0Q7OztPQUdHO0lBQ0gsSUFDSSxRQUFRO1FBQ1YsT0FBTyxJQUFJLENBQUMsV0FBVyxDQUFDO0lBQzFCLENBQUM7SUFDRCxJQUFJLFFBQVEsQ0FBQyxLQUFjO1FBQ3pCLElBQUksS0FBSyxJQUFJLE9BQU8sQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLEtBQUssV0FBVyxFQUFFO1lBQ3RELElBQUksQ0FBQyxXQUFXLEdBQUcsQ0FBQyxLQUFLLENBQUM7U0FDM0I7UUFDRCxJQUFJLENBQUMsV0FBVyxHQUFHLEtBQUssQ0FBQztRQUN6QixJQUFJLENBQUMsY0FBYyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUNsQyxDQUFDO0lBaUNELFlBQ1UsV0FBdUIsRUFDdkIsUUFBa0IsRUFDbkIsYUFBMkIsRUFDMUIsU0FBdUI7UUFDL0IsS0FBSyxDQUFDLHVCQUF1QixDQUFDLENBQUM7UUFKdkIsZ0JBQVcsR0FBWCxXQUFXLENBQVk7UUFDdkIsYUFBUSxHQUFSLFFBQVEsQ0FBVTtRQUNuQixrQkFBYSxHQUFiLGFBQWEsQ0FBYztRQUMxQixjQUFTLEdBQVQsU0FBUyxDQUFjO1FBdER2QixtQkFBYyxHQUFHLElBQUksWUFBWSxFQUFXLENBQUM7UUFpQ3ZEOzs7Ozs7O1dBT0c7UUFDTSxhQUFRLEdBQUcsS0FBSyxDQUFDO1FBRTFCOzs7U0FHQztRQUNTLHdCQUFtQixHQUFHLElBQUksWUFBWSxFQUFXLENBQUM7SUFTNUQsQ0FBQztJQUVELFdBQVcsQ0FBQyxPQUFzQjtRQUNoQyxJQUFJLElBQUksQ0FBQyxLQUFLLEVBQUU7WUFDZCxVQUFVLENBQUMsR0FBRyxFQUFFO2dCQUNkLElBQUksQ0FBQyxlQUFlLENBQUMsSUFBSSxDQUFDLFNBQVMsRUFBRSxJQUFJLENBQUMsS0FBSyxDQUFDLGtCQUFrQixDQUFDLENBQUM7Z0JBQ3BFLElBQUksQ0FBQyxlQUFlLENBQUMsSUFBSSxDQUFDLGVBQWUsRUFBRSxJQUFJLENBQUMsS0FBSyxDQUFDLFlBQVksQ0FBQyxDQUFDO1lBQ3RFLENBQUMsQ0FBQyxDQUFDO1NBQ0o7SUFDSCxDQUFDO0lBRUQsZ0JBQWdCO1FBQ2QsSUFBSSxDQUFDLFFBQVEsR0FBRyxLQUFLLENBQUM7SUFDeEIsQ0FBQztJQUVELGVBQWUsQ0FBQyxPQUFtQixFQUFFLEdBQVc7UUFDOUMsSUFBSSxDQUFDLE9BQU8sRUFBRTtZQUNaLE9BQU87U0FDUjtRQUNELElBQUksR0FBRyxFQUFFO1lBQ1AsT0FBTyxDQUFDLGFBQWEsQ0FBQyxLQUFLLENBQUMsZUFBZSxHQUFHLE9BQU8sR0FBRyxHQUFHLENBQUM7U0FDN0Q7SUFDSCxDQUFDO0lBRUQsb0JBQW9CLENBQUMsTUFBYztRQUNqQyxJQUFJLElBQUksQ0FBQyxLQUFLLEVBQUU7WUFDZCxPQUFPLElBQUksQ0FBQyxRQUFRLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLEVBQ25FLE1BQU0sRUFBRSxJQUFJLENBQUMsUUFBUSxFQUFFLElBQUksQ0FBQyxLQUFLLENBQUMsTUFBTSxDQUFDLENBQUM7U0FDN0M7SUFDSCxDQUFDO0lBRUQsa0JBQWtCO1FBQ2hCLElBQUksSUFBSSxDQUFDLEtBQUssSUFBSSxJQUFJLENBQUMsS0FBSyxDQUFDLFFBQVEsRUFBRTtZQUNyQyxJQUFJLElBQUksQ0FBQyxLQUFLLENBQUMsUUFBUSxDQUFDLFdBQVcsSUFBSSxJQUFJLENBQUMsS0FBSyxDQUFDLFFBQVEsQ0FBQyxXQUFXLENBQUMsTUFBTSxHQUFHLENBQUMsRUFBRTtnQkFDakYsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDLHVCQUF1QixDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsUUFBUSxDQUFDLFdBQVcsQ0FBQyxNQUFNLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQztzQkFDdEYsUUFBUSxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsUUFBUSxDQUFDLFdBQVcsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQzthQUMzRDtZQUNELE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQyx1QkFBdUIsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLFFBQVEsQ0FBQyxXQUFXLENBQUMsQ0FBQztTQUNoRjtJQUNILENBQUM7O3NIQTVHVSx5QkFBeUI7MEdBQXpCLHlCQUF5QixxZ0JDaEN0Qyw0d01Bd0lBOzJGRHhHYSx5QkFBeUI7a0JBTHJDLFNBQVM7K0JBQ0UsdUJBQXVCOzhLQVFULFNBQVM7c0JBQWhDLFNBQVM7dUJBQUMsV0FBVztnQkFDUSxlQUFlO3NCQUE1QyxTQUFTO3VCQUFDLGlCQUFpQjtnQkFNbkIsS0FBSztzQkFBYixLQUFLO2dCQUVJLGNBQWM7c0JBQXZCLE1BQU07Z0JBUUgsUUFBUTtzQkFEWCxLQUFLO2dCQWdCRyxPQUFPO3NCQUFmLEtBQUs7Z0JBUUcsU0FBUztzQkFBakIsS0FBSztnQkFVRyxRQUFRO3NCQUFoQixLQUFLO2dCQU1JLG1CQUFtQjtzQkFBNUIsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogQGxpY2Vuc2VcbiAqIENvcHlyaWdodCBOb3J3ZWdpYW4gQWlyIFNodXR0bGUuIEFsbCBSaWdodHMgUmVzZXJ2ZWQuXG4gKi9cblxuaW1wb3J0IHsgRGF0ZVBpcGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHtcbiAgQ29tcG9uZW50LFxuICBFbGVtZW50UmVmLFxuICBFdmVudEVtaXR0ZXIsXG4gIElucHV0LFxuICBPbkNoYW5nZXMsXG4gIE91dHB1dCxcbiAgU2ltcGxlQ2hhbmdlcyxcbiAgVmlld0NoaWxkXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgSm91cm5leVNlbGVjdGlvbk1vZGVsIH0gZnJvbSAnLi9tb2RlbHMvam91cm5leS1zZWxlY3Rpb24ubW9kZWwnO1xuaW1wb3J0IHsgTmFzQ29tcG9uZW50QmFzZSB9IGZyb20gJy4uLy4uL2NvcmUvYmFzZS9uYXMtY29tcG9uZW50LmJhc2UnO1xuaW1wb3J0IHsgVXRjRGF0ZSB9IGZyb20gJy4uLy4uL2NvcmUvbW9kZWxzL3V0Yy1kYXRlLm1vZGVsJztcbmltcG9ydCB7IERhdGVIZWxwZXIgfSBmcm9tICcuLi8uLi9jb3JlL3NlcnZpY2VzL2RhdGUvZGF0ZS1oZWxwZXIuc2VydmljZSc7XG5pbXBvcnQgeyBEZXZpY2VIZWxwZXIgfSBmcm9tICcuLi8uLi9jb3JlL3NlcnZpY2VzL2RldmljZS9kZXZpY2UtaGVscGVyLnNlcnZpY2UnO1xuaW1wb3J0IHsgRG9tU2FuaXRpemVyLCBTYWZlSHRtbCB9IGZyb20gJ0Bhbmd1bGFyL3BsYXRmb3JtLWJyb3dzZXInO1xuXG4vKipcbiAqIEBkZXNjcmlwdGlvblxuICogTm9yd2VnaWFuIEpvdXJuZXkgU2VsZWN0aW9uIENvbXBvbmVudCB8IEZ1bmN0aW9uYWxcbiAqL1xuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnbmFzLWpvdXJuZXktc2VsZWN0aW9uJyxcbiAgdGVtcGxhdGVVcmw6ICcuL2pvdXJuZXktc2VsZWN0aW9uLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vam91cm5leS1zZWxlY3Rpb24uY29tcG9uZW50LnNjc3MnXVxufSlcbmV4cG9ydCBjbGFzcyBKb3VybmV5U2VsZWN0aW9uQ29tcG9uZW50IGV4dGVuZHMgTmFzQ29tcG9uZW50QmFzZSBpbXBsZW1lbnRzIE9uQ2hhbmdlcyB7XG5cbiAgYW5pbWF0ZURvd246IGJvb2xlYW47XG4gIGlzQ29sbGFwc2VkOiBib29sZWFuO1xuICBAVmlld0NoaWxkKCdpbWFnZU1haW4nKSBpbWFnZU1haW46IEVsZW1lbnRSZWY7XG4gIEBWaWV3Q2hpbGQoJ2Rlc3RpbmF0aW9uQ29kZScpIGRlc3RpbmF0aW9uQ29kZTogRWxlbWVudFJlZjtcblxuICAvKipcbiAgICogQGRlc2NyaXB0aW9uXG4gICAqIElucHV0IGRhdGEgcmVxdWlyZWQgdG8gYnVpbGQgdGhlIGNvbXBvbmVudC5cbiAgICovXG4gIEBJbnB1dCgpIG1vZGVsOiBKb3VybmV5U2VsZWN0aW9uTW9kZWw7XG5cbiAgQE91dHB1dCgpIGNvbGxhcHNlQ2hhbmdlID0gbmV3IEV2ZW50RW1pdHRlcjxib29sZWFuPigpO1xuXG5cbiAgLyoqXG4gICAqIEBkZXNjcmlwdGlvblxuICAgKiBBIGJvb2xlYW4gdGhhdCBjaGFuZ2VzIGhvdyBqb3VybmV5IHNlbGVjdGlvbiBjb21wb25lbnQgbG9va3MvYmVoYXZlcyBiYXNlZCBvbiBqb3VybmV5IHNlbGVjdGVkL25vdC1zZWxlY3RlZC5cbiAgICovXG4gIEBJbnB1dCgpXG4gIGdldCBjb2xsYXBzZSgpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy5pc0NvbGxhcHNlZDtcbiAgfVxuICBzZXQgY29sbGFwc2UodmFsdWU6IGJvb2xlYW4pIHtcbiAgICBpZiAodmFsdWUgfHwgdHlwZW9mICh0aGlzLmFuaW1hdGVEb3duKSAhPT0gJ3VuZGVmaW5lZCcpIHtcbiAgICAgIHRoaXMuYW5pbWF0ZURvd24gPSAhdmFsdWU7XG4gICAgfVxuICAgIHRoaXMuaXNDb2xsYXBzZWQgPSB2YWx1ZTtcbiAgICB0aGlzLmNvbGxhcHNlQ2hhbmdlLmVtaXQodmFsdWUpO1xuICB9XG5cbiAgLyoqXG4gICAqIEBkZXNjcmlwdGlvblxuICAgKiBJZiBleGlzdHMsIGl0IHJlbW92ZXMgdGhlIG1hcmluIGFjY3Jvc3MuXG4gICAqL1xuICBASW5wdXQoKSBjb21wYWN0OiBib29sZWFuO1xuXG4gIC8qKlxuICAgKiBAZGVzY3JpcHRpb25cbiAgICogQXJpYSBsYWJlbCBmb3IgdGhlIGNvbXBvbmVudC5cbiAgICogRm9yIGV4YW1wbGUsIGl0IGlzIG5lZWRlZCB0byBkaXN0aW5ndWlzaCBPdXRib3VuZCBqb3VybmV5IHNlbGVjdGlvbiBmcm9tIGluYm91bmQgam91cm5leSBzZWxlY3Rpb25cbiAgICogd2hlbiB0aGlzIGNvbXBvbmVudCBpcyB1c2VkIHR3aWNlIGluIHRoZSBwYWdlLlxuICAgKi9cbiAgQElucHV0KCkgYXJpYUxhYmVsOiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIEBkZXNjcmlwdGlvblxuICAgKiBVc2VyIGNhbiBpbnB1dCB0aGUgdGltZXpvbmUgdG8gbG9jYWxpemUgdGhlIGRhdGUuXG4gICAqIERlZmF1bHQgaXMgc2V0IHRvIFVUQyBhbmQgaXQgd2lsbCBieSBkZWZhdWx0IHNob3cgdGhlIGRhdGUgZXhhY3RseSB3aGF0IGlzIHBhc3NlZCB0byBpdC5cbiAgICogQGV4YW1wbGVcbiAgICogYGBgaHRtbFxuICAgKiA8bmFzLWpvdXJuZXktYXZhaWxhYmlsaXR5IFt0aW1lWm9uZV09XCInVVRDJ1wiPjwvbmFzLWpvdXJuZXktYXZhaWxhYmlsaXR5PlxuICAgKi9cbiAgQElucHV0KCkgdGltZVpvbmUgPSAnVVRDJztcblxuICAvKipcbiAqIEBkZXNjcmlwdGlvblxuICogdGhpcyBldmVudCBlbWl0cyB3aGVuIGJ1dHRvbiBpcyBjbGlja2VkIG9yIGRhdGUgY2hhbmdlcyBieSBuZXZpZ2F0aW9uIGljb25zLlxuICovXG4gIEBPdXRwdXQoKSBzZWxlY3RlZERhdGVDaGFuZ2VkID0gbmV3IEV2ZW50RW1pdHRlcjxVdGNEYXRlPigpO1xuXG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSBkYXRlU2VydmljZTogRGF0ZUhlbHBlcixcbiAgICBwcml2YXRlIGRhdGVQaXBlOiBEYXRlUGlwZSxcbiAgICBwdWJsaWMgZGV2aWNlU2VydmljZTogRGV2aWNlSGVscGVyLFxuICAgIHByaXZhdGUgc2FuaXRpemVyOiBEb21TYW5pdGl6ZXIpIHtcbiAgICBzdXBlcignbmFzLWpvdXJuZXktc2VsZWN0aW9uJyk7XG4gIH1cblxuICBuZ09uQ2hhbmdlcyhjaGFuZ2VzOiBTaW1wbGVDaGFuZ2VzKTogdm9pZCB7XG4gICAgaWYgKHRoaXMubW9kZWwpIHtcbiAgICAgIHNldFRpbWVvdXQoKCkgPT4ge1xuICAgICAgICB0aGlzLnNldHVwQmFja2dyb3VuZCh0aGlzLmltYWdlTWFpbiwgdGhpcy5tb2RlbC5iYWNrZ3JvdW5kSW1hZ2VVcmwpO1xuICAgICAgICB0aGlzLnNldHVwQmFja2dyb3VuZCh0aGlzLmRlc3RpbmF0aW9uQ29kZSwgdGhpcy5tb2RlbC50aHVtYm5haWxVcmwpO1xuICAgICAgfSk7XG4gICAgfVxuICB9XG5cbiAgY2hhbmdlRmxpZ2h0RGF0ZSgpOiB2b2lkIHtcbiAgICB0aGlzLmNvbGxhcHNlID0gZmFsc2U7XG4gIH1cblxuICBzZXR1cEJhY2tncm91bmQoZWxlbWVudDogRWxlbWVudFJlZiwgdXJsOiBzdHJpbmcpOiB2b2lkIHtcbiAgICBpZiAoIWVsZW1lbnQpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG4gICAgaWYgKHVybCkge1xuICAgICAgZWxlbWVudC5uYXRpdmVFbGVtZW50LnN0eWxlLmJhY2tncm91bmRJbWFnZSA9IGB1cmwoJHt1cmx9KWA7XG4gICAgfVxuICB9XG5cbiAgdHJhbnNmb3JtRGlzcGxheURhdGUoZm9ybWF0OiBzdHJpbmcpOiBzdHJpbmcge1xuICAgIGlmICh0aGlzLm1vZGVsKSB7XG4gICAgICByZXR1cm4gdGhpcy5kYXRlUGlwZS50cmFuc2Zvcm0odGhpcy5kYXRlU2VydmljZS5kYXRlKHRoaXMubW9kZWwuZGF0ZSksXG4gICAgICAgIGZvcm1hdCwgdGhpcy50aW1lWm9uZSwgdGhpcy5tb2RlbC5sb2NhbGUpO1xuICAgIH1cbiAgfVxuXG4gIGdldERlc3RpbmF0aW9uQ29kZSgpOiBTYWZlSHRtbCB7XG4gICAgaWYgKHRoaXMubW9kZWwgJiYgdGhpcy5tb2RlbC5leHBhbmRlZCkge1xuICAgICAgaWYgKHRoaXMubW9kZWwuZXhwYW5kZWQuZGVzdGluYXRpb24gJiYgdGhpcy5tb2RlbC5leHBhbmRlZC5kZXN0aW5hdGlvbi5sZW5ndGggPiAzKSB7XG4gICAgICAgIHJldHVybiB0aGlzLnNhbml0aXplci5ieXBhc3NTZWN1cml0eVRydXN0SHRtbCh0aGlzLm1vZGVsLmV4cGFuZGVkLmRlc3RpbmF0aW9uLnN1YnN0cigwLCAzKVxuICAgICAgICAgICsgJzxiciAvPicgKyB0aGlzLm1vZGVsLmV4cGFuZGVkLmRlc3RpbmF0aW9uLnN1YnN0cigzKSk7XG4gICAgICB9XG4gICAgICByZXR1cm4gdGhpcy5zYW5pdGl6ZXIuYnlwYXNzU2VjdXJpdHlUcnVzdEh0bWwodGhpcy5tb2RlbC5leHBhbmRlZC5kZXN0aW5hdGlvbik7XG4gICAgfVxuICB9XG5cbn1cbiIsIjxkaXYgW25hc0NsYXNzXT1cImdldENsYXNzKClcIj5cbiAgPGRpdiAqbmdJZj1cImNvbGxhcHNlOyBlbHNlIGV4cGFuZGVkU2VsZWN0aW9uXCJcbiAgICBbbmFzQ2xhc3NdPVwiZ2V0Q2xhc3MoJ2NvbGxhcHNlZCcsIFthbmltYXRlRG93biA9PT0gZmFsc2UgJiYgJ2FuaW1hdGUtdXAnLCBleGlzdHMoY29tcGFjdCkgJiYgJ2NvbXBhY3QnXSlcIiByb2xlPVwicmVnaW9uXCIgW2F0dHIuYXJpYS1sYWJlbF09XCJhcmlhTGFiZWxcIj5cblxuICAgIDxkaXYgW25hc0NsYXNzXT1cImdldENsYXNzKCdkZXN0aW5hdGlvbicpXCI+XG4gICAgICA8ZGl2IFtuYXNDbGFzc109XCJnZXRDbGFzcygnZGVzdGluYXRpb24taW1hZ2UnKVwiICNpbWFnZU1haW4+XG4gICAgICAgIDxsYWJlbCBbbmFzQ2xhc3NdPVwiZ2V0Q2xhc3MoJ2Rlc3RpbmF0aW9uLWltYWdlLWNvbnRlbnQnKVwiPlxuICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCIhZGV2aWNlU2VydmljZT8uaXNNb2JpbGVXaWR0aCgpO1wiPlxuICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdUZW1wbGF0ZU91dGxldD1cImZsaWdodEluZm9cIj48L25nLWNvbnRhaW5lcj5cbiAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cblxuICAgICAgICAgIDxkaXYgW25hc0NsYXNzXT1cImdldENsYXNzKCdkZXN0aW5hdGlvbi1pbWFnZS1zbScpXCIgKm5nSWY9XCJkZXZpY2VTZXJ2aWNlPy5pc01vYmlsZVdpZHRoKClcIj5cbiAgICAgICAgICAgIDxzcGFuIFtuYXNDbGFzc109XCJnZXRDbGFzcygnbW9iaWxlLWljb24nKVwiPlxuICAgICAgICAgICAgICA8bmFzLWljb24gW2ljb25dPVwibW9kZWw/Lmljb25cIiBbdHlwZV09XCInc21hbGwnXCIgW2xpZ2h0Q2lyY3VsYXJCYWNrZ3JvdW5kXT1cInRydWVcIj48L25hcy1pY29uPlxuICAgICAgICAgICAgPC9zcGFuPlxuICAgICAgICAgICAgPGRpdiBbbmFzQ2xhc3NdPVwiZ2V0Q2xhc3MoJ2FpcnBvcnQnKVwiPlxuICAgICAgICAgICAgICA8c3Bhbj57e21vZGVsPy5jb2xsYXBzZWQ/Lm9yaWdpbn19Jm5ic3A7IC0gJm5ic3A7PC9zcGFuPlxuICAgICAgICAgICAgICA8c3BhbiBbbmFzQ2xhc3NdPVwiZ2V0Q2xhc3MoJ3N0b3BvdmVyJylcIiAqbmdJZj1cIm1vZGVsPy5jb2xsYXBzZWQ/LnN0b3B2ZXJBaXJwb3J0Q29kZXNcIj5cbiAgICAgICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ0Zvcj1cImxldCBzdG9wIG9mIG1vZGVsPy5jb2xsYXBzZWQ/LnN0b3B2ZXJBaXJwb3J0Q29kZXNcIj5cbiAgICAgICAgICAgICAgICAgIHt7c3RvcH19Jm5ic3A7LSZuYnNwO1xuICAgICAgICAgICAgICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgICAgICAgICA8L3NwYW4+XG4gICAgICAgICAgICAgIDxzcGFuPnt7bW9kZWw/LmNvbGxhcHNlZD8uZGVzdGluYXRpb259fTwvc3Bhbj5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICA8L2xhYmVsPlxuICAgICAgPC9kaXY+XG4gICAgPC9kaXY+XG5cbiAgICA8c2VjdGlvbiBbbmFzQ2xhc3NdPVwiZ2V0Q2xhc3MoJ2ZsaWdodHMnKVwiPlxuICAgICAgPGRpdiBbbmFzQ2xhc3NdPVwiZ2V0Q2xhc3MoJ2ZsaWdodHMtaW5mb3JtYXRpb24nKVwiPlxuICAgICAgICA8ZGl2IFtuYXNDbGFzc109XCJnZXRDbGFzcygnYWlycG9ydCcpXCI+XG4gICAgICAgICAgPHNwYW4+e3ttb2RlbD8uY29sbGFwc2VkPy5vcmlnaW59fSZuYnNwOyAtICZuYnNwOzwvc3Bhbj5cblxuICAgICAgICAgIDxzcGFuIFtuYXNDbGFzc109XCJnZXRDbGFzcygnc3RvcG92ZXInKVwiICpuZ0lmPVwibW9kZWw/LmNvbGxhcHNlZD8uc3RvcHZlckFpcnBvcnRDb2Rlc1wiPlxuICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdGb3I9XCJsZXQgc3RvcCBvZiBtb2RlbD8uY29sbGFwc2VkPy5zdG9wdmVyQWlycG9ydENvZGVzXCI+XG4gICAgICAgICAgICAgIHt7c3RvcH19Jm5ic3A7LSZuYnNwO1xuICAgICAgICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgICAgICAgPC9zcGFuPlxuXG5cbiAgICAgICAgICA8c3Bhbj57e21vZGVsPy5jb2xsYXBzZWQ/LmRlc3RpbmF0aW9ufX08L3NwYW4+XG4gICAgICAgIDwvZGl2PlxuICAgICAgICA8ZGl2ICpuZ0lmPVwibW9kZWw/LmNvbGxhcHNlZD8ub3BlcmF0aW5nQ2FycmllcnNcIiBbbmFzQ2xhc3NdPVwiZ2V0Q2xhc3MoJ29wZXJhdG9ycycpXCI+XG4gICAgICAgICAgPGxhYmVsIFtuYXNDbGFzc109XCJnZXRDbGFzcygnb3BlcmF0b3JzJywgJ2xhYmVsJylcIj5cbiAgICAgICAgICAgIHt7bW9kZWw/LmNvbGxhcHNlZD8ub3BlcmF0aW5nQ2FycmllcnM/LmxhYmVsfX0mbmJzcDtcbiAgICAgICAgICA8L2xhYmVsPlxuICAgICAgICAgIDxzcGFuIFtuYXNDbGFzc109XCJnZXRDbGFzcygnb3BlcmF0b3JzJywgJ3RleHQnKVwiPlxuICAgICAgICAgICAge3ttb2RlbD8uY29sbGFwc2VkPy5vcGVyYXRpbmdDYXJyaWVycz8ub3BlcmF0b3JzWzBdfX1cbiAgICAgICAgICA8L3NwYW4+XG4gICAgICAgICAgPG91dHB1dCAqbmdJZj1cIm1vZGVsPy5jb2xsYXBzZWQ/Lm9wZXJhdGluZ0NhcnJpZXJzPy5vcGVyYXRvcnM/Lmxlbmd0aCA+IDFcIlxuICAgICAgICAgICAgW25hc0NsYXNzXT1cImdldENsYXNzKCdvcGVyYXRvcnMnLCAnY291bnQnKVwiPlxuICAgICAgICAgICAgJm5ic3A7ICt7e21vZGVsPy5jb2xsYXBzZWQ/Lm9wZXJhdGluZ0NhcnJpZXJzPy5vcGVyYXRvcnM/Lmxlbmd0aCAtIDF9fVxuICAgICAgICAgIDwvb3V0cHV0PlxuICAgICAgICA8L2Rpdj5cbiAgICAgIDwvZGl2PlxuXG4gICAgICA8ZGl2IFtuYXNDbGFzc109XCJnZXRDbGFzcygnY2hhbmdlLWZsaWdodCcpXCI+XG5cbiAgICAgICAgPGxhYmVsIFtuYXNDbGFzc109XCJnZXRDbGFzcygnY2hhbmdlLWZsaWdodC1jb250ZW50JylcIiAqbmdJZj1cImRldmljZVNlcnZpY2U/LmlzTW9iaWxlV2lkdGgoKVwiPlxuICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nVGVtcGxhdGVPdXRsZXQ9XCJmbGlnaHRJbmZvXCI+PC9uZy1jb250YWluZXI+XG4gICAgICAgIDwvbGFiZWw+XG5cbiAgICAgICAgPG5nLXRlbXBsYXRlICNmbGlnaHRJbmZvPlxuICAgICAgICAgIDxzdW1tYXJ5IFtuYXNDbGFzc109XCJnZXRDbGFzcygnZGVzdGluYXRpb24taW1hZ2UtY2FwdGlvbicpXCI+XG4gICAgICAgICAgICA8aGVhZGVyIFtuYXNDbGFzc109XCJnZXRDbGFzcygnc3ViLXRpdGxlJylcIj5cbiAgICAgICAgICAgICAge3ttb2RlbD8uY29sbGFwc2VkPy50aXRsZX19XG4gICAgICAgICAgICA8L2hlYWRlcj5cbiAgICAgICAgICA8L3N1bW1hcnk+XG5cbiAgICAgICAgICA8c2VjdGlvbiBbbmFzQ2xhc3NdPVwiZ2V0Q2xhc3MoJ2pvdXJuZXknKVwiPlxuICAgICAgICAgICAgPGxlZ2VuZCBbbmFzQ2xhc3NdPVwiZ2V0Q2xhc3MoJ2pvdXJuZXktaW5mb3JtYXRpb24nKVwiPlxuXG4gICAgICAgICAgICAgIDxsYWJlbD5cbiAgICAgICAgICAgICAgICB7e21vZGVsPy5jb2xsYXBzZWQ/LmRlcGFydHVyZUxhYmVsfX06Jm5ic3A7XG4gICAgICAgICAgICAgIDwvbGFiZWw+XG4gICAgICAgICAgICAgIDx0aW1lPnt7dHJhbnNmb3JtRGlzcGxheURhdGUobW9kZWw/LmRhdGVGb3JtYXQpfX08L3RpbWU+XG4gICAgICAgICAgICA8L2xlZ2VuZD5cbiAgICAgICAgICAgIDxkaXY+XG4gICAgICAgICAgICAgIDxsZWdlbmQgW25hc0NsYXNzXT1cImdldENsYXNzKCdqb3VybmV5LWluZm9ybWF0aW9uJylcIj5cbiAgICAgICAgICAgICAgICA8bGFiZWw+e3ttb2RlbD8uZnJvbUxhYmVsfX06Jm5ic3A7PC9sYWJlbD5cbiAgICAgICAgICAgICAgICA8c3Bhbj57e21vZGVsPy5jb2xsYXBzZWQ/Lm9yaWdpbkRpc3BsYXlOYW1lfX0mbmJzcDsoe3ttb2RlbD8uY29sbGFwc2VkPy5vcmlnaW59fSk8L3NwYW4+XG4gICAgICAgICAgICAgIDwvbGVnZW5kPlxuICAgICAgICAgICAgICA8bGVnZW5kIFtuYXNDbGFzc109XCJnZXRDbGFzcygnam91cm5leS1pbmZvcm1hdGlvbicpXCI+XG4gICAgICAgICAgICAgICAgPGxhYmVsPnt7bW9kZWw/LmNvbGxhcHNlZD8uZHVyYXRpb25MYWJlbH19OiZuYnNwOzwvbGFiZWw+XG4gICAgICAgICAgICAgICAgPHRpbWU+e3ttb2RlbD8uY29sbGFwc2VkPy5kdXJhdGlvblRpbWVJbmZvfX0sJm5ic3A7e3ttb2RlbD8uY29sbGFwc2VkPy50cmFuc2l0aW9uSW5mb319IDwvdGltZT5cbiAgICAgICAgICAgICAgPC9sZWdlbmQ+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICA8L3NlY3Rpb24+XG4gICAgICAgIDwvbmctdGVtcGxhdGU+XG4gICAgICAgIDxuYXMtYnV0dG9uIGNvbXBhY3Qgc2Vjb25kYXJ5IChjbGljayk9XCJjaGFuZ2VGbGlnaHREYXRlKClcIj57e21vZGVsPy5jb2xsYXBzZWQ/LmNoYW5nZUZsaWdodExhYmVsfX08L25hcy1idXR0b24+XG4gICAgICA8L2Rpdj5cbiAgICA8L3NlY3Rpb24+XG4gIDwvZGl2PlxuXG4gIDxuZy10ZW1wbGF0ZSAjZXhwYW5kZWRTZWxlY3Rpb24+XG4gICAgPGRpdiBbbmFzQ2xhc3NdPVwiZ2V0Q2xhc3MoJ2V4cGFuZGVkJywgW2FuaW1hdGVEb3duICYmICdhbmltYXRlLWRvd24nLCBleGlzdHMoY29tcGFjdCkgJiYgJ2NvbXBhY3QnXSlcIiByb2xlPVwicmVnaW9uXCIgW2F0dHIuYXJpYS1sYWJlbF09XCJhcmlhTGFiZWxcIj5cbiAgICAgIDxmaWd1cmUgW25hc0NsYXNzXT1cImdldENsYXNzKCdkZXN0aW5hdGlvbi1jb2RlJylcIiAjZGVzdGluYXRpb25Db2RlPlxuICAgICAgICA8ZmlnY2FwdGlvbiBbbmFzQ2xhc3NdPVwiZ2V0Q2xhc3MoJ2Rlc3RpbmF0aW9uLWNvZGUtdmFsdWUnLCBtb2RlbD8uZXhwYW5kZWQ/LmRlc3RpbmF0aW9uPy5sZW5ndGggPiAzICYmICd3cmFwLXRleHQnKVwiIFtpbm5lckhUTUxdPVwiZ2V0RGVzdGluYXRpb25Db2RlKClcIj5cbiAgICAgICAgPC9maWdjYXB0aW9uPlxuICAgICAgPC9maWd1cmU+XG4gICAgICA8ZGl2IFtuYXNDbGFzc109XCJnZXRDbGFzcygnc2VsZWN0aW9uJylcIj5cbiAgICAgICAgPGxhYmVsIFtuYXNDbGFzc109XCJnZXRDbGFzcygnaGVhZGluZycpXCI+XG5cbiAgICAgICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiZGV2aWNlU2VydmljZS5pc01vYmlsZVdpZHRoKCk7IGVsc2UgZGVza3RvcEljb25cIj5cbiAgICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nVGVtcGxhdGVPdXRsZXQ9XCJkZXNrdG9wSWNvblwiPjwvbmctY29udGFpbmVyPlxuICAgICAgICAgIDwvbmctY29udGFpbmVyPlxuXG4gICAgICAgICAgPGhlYWRlciBbbmFzQ2xhc3NdPVwiZ2V0Q2xhc3MoJ2hlYWRpbmctdGV4dCcpXCI+XG4gICAgICAgICAgICB7e21vZGVsPy5leHBhbmRlZD8udGl0bGV9fVxuICAgICAgICAgIDwvaGVhZGVyPlxuICAgICAgICAgIDxzcGFuIFtuYXNDbGFzc109XCJnZXRDbGFzcygnaGVhZGluZy1qb2luJylcIj4mbmJzcDstJm5ic3A7PC9zcGFuPlxuICAgICAgICAgIDx0aW1lIFtuYXNDbGFzc109XCJnZXRDbGFzcygnaGVhZGluZy10aW1lJylcIj5cbiAgICAgICAgICAgIHt7dHJhbnNmb3JtRGlzcGxheURhdGUobW9kZWw/LmV4cGFuZGVkPy5kYXRlRm9ybWF0KX19XG4gICAgICAgICAgPC90aW1lPlxuXG4gICAgICAgICAgPG5nLXRlbXBsYXRlICNkZXNrdG9wSWNvbj5cbiAgICAgICAgICAgIDxzcGFuIFtuYXNDbGFzc109XCJnZXRDbGFzcygnaGVhZGluZy1pY29uJylcIj5cbiAgICAgICAgICAgICAgPG5hcy1pY29uIFtpY29uXT1cIm1vZGVsPy5pY29uXCIgW3R5cGVdPVwiJ3NtYWxsJ1wiPjwvbmFzLWljb24+XG4gICAgICAgICAgICA8L3NwYW4+XG4gICAgICAgICAgPC9uZy10ZW1wbGF0ZT5cblxuICAgICAgICA8L2xhYmVsPlxuICAgICAgICA8c3VtbWFyeSBbbmFzQ2xhc3NdPVwiZ2V0Q2xhc3MoJ2RldGFpbHMnKVwiPlxuICAgICAgICAgIDxkaXY+XG4gICAgICAgICAgICA8bGFiZWwgW25hc0NsYXNzXT1cImdldENsYXNzKCdkZXRhaWxzLWxhYmVsJylcIj57e21vZGVsPy5mcm9tTGFiZWx9fTo8L2xhYmVsPlxuICAgICAgICAgICAgPHNwYW4gW25hc0NsYXNzXT1cImdldENsYXNzKCdkZXRhaWxzLXZhbHVlJylcIj57e21vZGVsPy5leHBhbmRlZD8ub3JpZ2luRGlzcGxheU5hbWV9fSAoe3ttb2RlbD8uZXhwYW5kZWQ/Lm9yaWdpbn19KTwvc3Bhbj5cbiAgICAgICAgICAgIDxzcGFuPiB8IDwvc3Bhbj5cbiAgICAgICAgICAgIDxsYWJlbCBbbmFzQ2xhc3NdPVwiZ2V0Q2xhc3MoJ2RldGFpbHMtbGFiZWwnKVwiPnt7bW9kZWw/LmV4cGFuZGVkPy50b0xhYmVsfX06PC9sYWJlbD5cbiAgICAgICAgICAgIDxzcGFuIFtuYXNDbGFzc109XCJnZXRDbGFzcygnZGV0YWlscy12YWx1ZScpXCI+e3ttb2RlbD8uZXhwYW5kZWQ/LmRlc3RpbmF0aW9uRGlzcGxheU5hbWV9fSAoe3ttb2RlbD8uZXhwYW5kZWQ/LmRlc3RpbmF0aW9ufX0pPC9zcGFuPlxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICA8L3N1bW1hcnk+XG4gICAgICA8L2Rpdj5cbiAgICA8L2Rpdj5cbiAgPC9uZy10ZW1wbGF0ZT5cbjwvZGl2PlxuIl19
@@ -0,0 +1,35 @@
1
+ import { CommonModule } from '@angular/common';
2
+ import { NgModule } from '@angular/core';
3
+ import { JourneySelectionComponent } from './journey-selection.component';
4
+ import { NasClassModule } from '../../core/directives/nas-class/nas-class.module';
5
+ import { DateHelper } from '../../core/services/date/date-helper.service';
6
+ import { DeviceHelper } from '../../core/services/device/device-helper.service';
7
+ import { ButtonModule } from '../button/button.module';
8
+ import { IconModule } from '../icon/icon.module';
9
+ import * as i0 from "@angular/core";
10
+ export class JourneySelectionModule {
11
+ }
12
+ JourneySelectionModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: JourneySelectionModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
13
+ JourneySelectionModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "15.2.9", ngImport: i0, type: JourneySelectionModule, declarations: [JourneySelectionComponent], imports: [CommonModule,
14
+ NasClassModule,
15
+ ButtonModule,
16
+ IconModule], exports: [JourneySelectionComponent] });
17
+ JourneySelectionModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: JourneySelectionModule, providers: [DateHelper, DeviceHelper], imports: [CommonModule,
18
+ NasClassModule,
19
+ ButtonModule,
20
+ IconModule] });
21
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: JourneySelectionModule, decorators: [{
22
+ type: NgModule,
23
+ args: [{
24
+ declarations: [JourneySelectionComponent],
25
+ imports: [
26
+ CommonModule,
27
+ NasClassModule,
28
+ ButtonModule,
29
+ IconModule
30
+ ],
31
+ exports: [JourneySelectionComponent],
32
+ providers: [DateHelper, DeviceHelper]
33
+ }]
34
+ }] });
35
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiam91cm5leS1zZWxlY3Rpb24ubW9kdWxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY29yZS1jb21wb25lbnRzL3NyYy9saWIvY29tcG9uZW50cy9qb3VybmV5LXNlbGVjdGlvbi9qb3VybmV5LXNlbGVjdGlvbi5tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDekMsT0FBTyxFQUFFLHlCQUF5QixFQUFFLE1BQU0sK0JBQStCLENBQUM7QUFDMUUsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLGtEQUFrRCxDQUFDO0FBQ2xGLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSw4Q0FBOEMsQ0FBQztBQUMxRSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sa0RBQWtELENBQUM7QUFDaEYsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBQ3ZELE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQzs7QUFhakQsTUFBTSxPQUFPLHNCQUFzQjs7bUhBQXRCLHNCQUFzQjtvSEFBdEIsc0JBQXNCLGlCQVZsQix5QkFBeUIsYUFFdEMsWUFBWTtRQUNaLGNBQWM7UUFDZCxZQUFZO1FBQ1osVUFBVSxhQUVGLHlCQUF5QjtvSEFHeEIsc0JBQXNCLGFBRnRCLENBQUMsVUFBVSxFQUFFLFlBQVksQ0FBQyxZQU5uQyxZQUFZO1FBQ1osY0FBYztRQUNkLFlBQVk7UUFDWixVQUFVOzJGQUtELHNCQUFzQjtrQkFYbEMsUUFBUTttQkFBQztvQkFDUixZQUFZLEVBQUUsQ0FBQyx5QkFBeUIsQ0FBQztvQkFDekMsT0FBTyxFQUFFO3dCQUNQLFlBQVk7d0JBQ1osY0FBYzt3QkFDZCxZQUFZO3dCQUNaLFVBQVU7cUJBQ1g7b0JBQ0QsT0FBTyxFQUFFLENBQUMseUJBQXlCLENBQUM7b0JBQ3BDLFNBQVMsRUFBRSxDQUFDLFVBQVUsRUFBRSxZQUFZLENBQUM7aUJBQ3RDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IE5nTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBKb3VybmV5U2VsZWN0aW9uQ29tcG9uZW50IH0gZnJvbSAnLi9qb3VybmV5LXNlbGVjdGlvbi5jb21wb25lbnQnO1xuaW1wb3J0IHsgTmFzQ2xhc3NNb2R1bGUgfSBmcm9tICcuLi8uLi9jb3JlL2RpcmVjdGl2ZXMvbmFzLWNsYXNzL25hcy1jbGFzcy5tb2R1bGUnO1xuaW1wb3J0IHsgRGF0ZUhlbHBlciB9IGZyb20gJy4uLy4uL2NvcmUvc2VydmljZXMvZGF0ZS9kYXRlLWhlbHBlci5zZXJ2aWNlJztcbmltcG9ydCB7IERldmljZUhlbHBlciB9IGZyb20gJy4uLy4uL2NvcmUvc2VydmljZXMvZGV2aWNlL2RldmljZS1oZWxwZXIuc2VydmljZSc7XG5pbXBvcnQgeyBCdXR0b25Nb2R1bGUgfSBmcm9tICcuLi9idXR0b24vYnV0dG9uLm1vZHVsZSc7XG5pbXBvcnQgeyBJY29uTW9kdWxlIH0gZnJvbSAnLi4vaWNvbi9pY29uLm1vZHVsZSc7XG5cbkBOZ01vZHVsZSh7XG4gIGRlY2xhcmF0aW9uczogW0pvdXJuZXlTZWxlY3Rpb25Db21wb25lbnRdLFxuICBpbXBvcnRzOiBbXG4gICAgQ29tbW9uTW9kdWxlLFxuICAgIE5hc0NsYXNzTW9kdWxlLFxuICAgIEJ1dHRvbk1vZHVsZSxcbiAgICBJY29uTW9kdWxlXG4gIF0sXG4gIGV4cG9ydHM6IFtKb3VybmV5U2VsZWN0aW9uQ29tcG9uZW50XSxcbiAgcHJvdmlkZXJzOiBbRGF0ZUhlbHBlciwgRGV2aWNlSGVscGVyXVxufSlcbmV4cG9ydCBjbGFzcyBKb3VybmV5U2VsZWN0aW9uTW9kdWxlIHsgfVxuIl19