@norwegian/core-components 6.49.0 → 6.50.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (324) hide show
  1. package/assets/icons/flags/en.svg +2 -2
  2. package/assets/icons/icon-arrow-left.svg +1 -2
  3. package/assets/icons/icon-arrow-right.svg +1 -1
  4. package/assets/icons/icon-chevron-left-outlined.svg +2 -2
  5. package/assets/icons/icon-chevron-right-outlined.svg +2 -2
  6. package/assets/icons/icon-dropdown-arrow.svg +1 -1
  7. package/assets/icons/icon-flight-direct.svg +3 -3
  8. package/assets/icons/icon-flight-one-stop.svg +3 -3
  9. package/assets/icons/icon-flight-two-stops.svg +4 -4
  10. package/assets/icons/icon-geolocation.svg +6 -6
  11. package/assets/icons/icon-goto.svg +1 -1
  12. package/assets/icons/icon-home.svg +1 -1
  13. package/assets/icons/icon-marker--light.svg +1 -1
  14. package/assets/icons/icon-marker.svg +1 -1
  15. package/assets/icons/icon-ol_li.svg +1 -1
  16. package/assets/icons/icon-one-stop-arrow.svg +4 -4
  17. package/assets/icons/icon-passenger--children.svg +1 -1
  18. package/assets/icons/icon-passenger--infant.svg +1 -1
  19. package/assets/icons/icon-share_facebook.svg +1 -1
  20. package/assets/icons/icon-share_instagram.svg +1 -1
  21. package/assets/icons/icon-share_twitter.svg +1 -1
  22. package/assets/icons/icon-share_youtube.svg +1 -1
  23. package/assets/icons/icon-switch--secondary.svg +1 -1
  24. package/assets/icons/icon-switch.svg +1 -1
  25. package/assets/icons/icon-two-stops-arrow.svg +6 -6
  26. package/assets/icons/icon-vector--light.svg +6 -0
  27. package/assets/icons/icon-vector.svg +6 -0
  28. package/assets/icons/information.svg +1 -1
  29. package/assets/icons/large/baggage-hand-baggage.svg +1 -1
  30. package/assets/icons/large/baggage.svg +1 -1
  31. package/assets/icons/large/car-rentals.svg +1 -1
  32. package/assets/icons/large/cashpoints.svg +3 -3
  33. package/assets/icons/large/celebration.svg +2 -2
  34. package/assets/icons/large/central-airports.svg +1 -1
  35. package/assets/icons/large/customer-service.svg +1 -1
  36. package/assets/icons/large/destinations.svg +1 -1
  37. package/assets/icons/large/direct-flights.svg +1 -1
  38. package/assets/icons/large/entertainment.svg +1 -1
  39. package/assets/icons/large/family.svg +1 -1
  40. package/assets/icons/large/fast-track.svg +1 -1
  41. package/assets/icons/large/food.svg +1 -1
  42. package/assets/icons/large/from-a-to-b.svg +1 -1
  43. package/assets/icons/large/hotels.svg +1 -1
  44. package/assets/icons/large/lounge.svg +1 -1
  45. package/assets/icons/large/new-aircrafts.svg +1 -1
  46. package/assets/icons/large/personnel.svg +1 -1
  47. package/assets/icons/large/premium.svg +1 -1
  48. package/assets/icons/large/wifi.svg +1 -1
  49. package/assets/icons/medium/accommodation.svg +3 -3
  50. package/assets/icons/medium/alert.svg +1 -1
  51. package/assets/icons/medium/arrow-down.svg +2 -2
  52. package/assets/icons/medium/arrow-left.svg +2 -2
  53. package/assets/icons/medium/arrow-right.svg +2 -2
  54. package/assets/icons/medium/arrow-up.svg +2 -2
  55. package/assets/icons/medium/baggage-checked-in.svg +7 -7
  56. package/assets/icons/medium/baggage-hand-baggage.svg +5 -5
  57. package/assets/icons/medium/baggage-special-baggage.svg +5 -5
  58. package/assets/icons/medium/baggage-sports-equipment.svg +1 -1
  59. package/assets/icons/medium/baggage.svg +1 -1
  60. package/assets/icons/medium/baggages.svg +1 -1
  61. package/assets/icons/medium/car-rental.svg +5 -5
  62. package/assets/icons/medium/card.svg +9 -9
  63. package/assets/icons/medium/cashpoints.svg +8 -8
  64. package/assets/icons/medium/central-airports.svg +2 -2
  65. package/assets/icons/medium/customer-service.svg +5 -5
  66. package/assets/icons/medium/direct-flights.svg +9 -9
  67. package/assets/icons/medium/direct-to-gate.svg +8 -8
  68. package/assets/icons/medium/docs.svg +5 -5
  69. package/assets/icons/medium/email.svg +1 -1
  70. package/assets/icons/medium/facebook.svg +1 -1
  71. package/assets/icons/medium/family.svg +7 -7
  72. package/assets/icons/medium/fast-track.svg +8 -8
  73. package/assets/icons/medium/flexible-tickets.svg +1 -1
  74. package/assets/icons/medium/flight-arrival.svg +2 -2
  75. package/assets/icons/medium/flight-departure.svg +2 -2
  76. package/assets/icons/medium/flight-oneway.svg +2 -2
  77. package/assets/icons/medium/flight-outbound.svg +2 -2
  78. package/assets/icons/medium/flight-return-trip.svg +2 -2
  79. package/assets/icons/medium/flight-return.svg +2 -2
  80. package/assets/icons/medium/flight-tickets.svg +1 -1
  81. package/assets/icons/medium/food.svg +3 -3
  82. package/assets/icons/medium/frequent-departures.svg +3 -3
  83. package/assets/icons/medium/from-a-to-b.svg +8 -8
  84. package/assets/icons/medium/google+.svg +1 -1
  85. package/assets/icons/medium/in-flight-entertainment.svg +10 -10
  86. package/assets/icons/medium/instagram.svg +1 -1
  87. package/assets/icons/medium/linkedin--light.svg +2 -2
  88. package/assets/icons/medium/linkedin.svg +1 -1
  89. package/assets/icons/medium/lounge.svg +5 -5
  90. package/assets/icons/medium/messenger.svg +1 -1
  91. package/assets/icons/medium/mobile.svg +1 -1
  92. package/assets/icons/medium/my-profile-female--light.svg +2 -2
  93. package/assets/icons/medium/my-profile-male--light.svg +1 -1
  94. package/assets/icons/medium/new-airplanes.svg +2 -2
  95. package/assets/icons/medium/personnel.svg +5 -5
  96. package/assets/icons/medium/phone.svg +6 -6
  97. package/assets/icons/medium/pinterest.svg +1 -1
  98. package/assets/icons/medium/premium.svg +1 -1
  99. package/assets/icons/medium/printer.svg +1 -1
  100. package/assets/icons/medium/relax.svg +1 -1
  101. package/assets/icons/medium/rewards-fast-track.svg +2 -2
  102. package/assets/icons/medium/rewards-luggage.svg +4 -4
  103. package/assets/icons/medium/rewards-seat.svg +4 -4
  104. package/assets/icons/medium/rewards.svg +3 -3
  105. package/assets/icons/medium/route-network.svg +15 -15
  106. package/assets/icons/medium/seat-reservation.svg +4 -4
  107. package/assets/icons/medium/special-needs.svg +4 -4
  108. package/assets/icons/medium/tiktok--light.svg +1 -1
  109. package/assets/icons/medium/tiktok.svg +1 -1
  110. package/assets/icons/medium/transit-stop.svg +12 -12
  111. package/assets/icons/medium/trash.svg +4 -4
  112. package/assets/icons/medium/travel-deals.svg +7 -7
  113. package/assets/icons/medium/twitter-x.svg +1 -1
  114. package/assets/icons/medium/type-africa-and-middle-east.svg +3 -3
  115. package/assets/icons/medium/type-asia.svg +1 -1
  116. package/assets/icons/medium/type-city-vibes.svg +1 -1
  117. package/assets/icons/medium/type-greece.svg +1 -1
  118. package/assets/icons/medium/type-norway.svg +5 -5
  119. package/assets/icons/medium/type-scandinavia.svg +3 -3
  120. package/assets/icons/medium/type-shopping.svg +3 -3
  121. package/assets/icons/medium/type-skiing.svg +8 -8
  122. package/assets/icons/medium/type-spain.svg +1 -1
  123. package/assets/icons/medium/type-sun-and-sea.svg +14 -14
  124. package/assets/icons/medium/type-usa.svg +16 -16
  125. package/assets/icons/medium/wifi.svg +4 -4
  126. package/assets/icons/medium/youtube.svg +1 -1
  127. package/assets/icons/mobile-landscape.svg +1 -1
  128. package/assets/icons/mobile-portrait.svg +1 -1
  129. package/assets/icons/small/accommodation.svg +5 -5
  130. package/assets/icons/small/alert.svg +1 -1
  131. package/assets/icons/small/arrow-down.svg +2 -2
  132. package/assets/icons/small/arrow-left.svg +2 -2
  133. package/assets/icons/small/arrow-right.svg +2 -2
  134. package/assets/icons/small/arrow-up.svg +2 -2
  135. package/assets/icons/small/baggage-checked-in.svg +6 -6
  136. package/assets/icons/small/baggage-hand-baggage.svg +2 -2
  137. package/assets/icons/small/baggage-special-baggage.svg +5 -5
  138. package/assets/icons/small/baggage-sports-equipment.svg +1 -1
  139. package/assets/icons/small/baggage.svg +1 -1
  140. package/assets/icons/small/baggages--light.svg +1 -1
  141. package/assets/icons/small/baggages.svg +1 -1
  142. package/assets/icons/small/calendar.svg +2 -2
  143. package/assets/icons/small/car-rental.svg +1 -1
  144. package/assets/icons/small/cashpoints.svg +1 -1
  145. package/assets/icons/small/central-airports.svg +2 -2
  146. package/assets/icons/small/check-in--light.svg +1 -1
  147. package/assets/icons/small/check-in.svg +1 -1
  148. package/assets/icons/small/customer-service.svg +5 -5
  149. package/assets/icons/small/destination.svg +1 -1
  150. package/assets/icons/small/direct-flights.svg +6 -6
  151. package/assets/icons/small/docs.svg +5 -5
  152. package/assets/icons/small/duty-free.svg +4 -4
  153. package/assets/icons/small/email.svg +1 -1
  154. package/assets/icons/small/facebook.svg +1 -1
  155. package/assets/icons/small/family.svg +5 -5
  156. package/assets/icons/small/fast-track.svg +6 -6
  157. package/assets/icons/small/flexible-tickets.svg +1 -1
  158. package/assets/icons/small/flight-arrival.svg +1 -1
  159. package/assets/icons/small/flight-departure-ground.svg +2 -2
  160. package/assets/icons/small/flight-departure-left.svg +1 -1
  161. package/assets/icons/small/flight-departure.svg +1 -1
  162. package/assets/icons/small/flight-outbound.svg +2 -2
  163. package/assets/icons/small/flight-return.svg +2 -2
  164. package/assets/icons/small/flight-tickets.svg +3 -3
  165. package/assets/icons/small/food.svg +3 -3
  166. package/assets/icons/small/from-a-to-b.svg +8 -8
  167. package/assets/icons/small/google+.svg +1 -1
  168. package/assets/icons/small/google-plus--light.svg +1 -1
  169. package/assets/icons/small/google-plus.svg +1 -1
  170. package/assets/icons/small/hotel.svg +1 -1
  171. package/assets/icons/small/in-flight-entertainment.svg +2 -2
  172. package/assets/icons/small/info--light--light.svg +1 -1
  173. package/assets/icons/small/info--light.svg +1 -1
  174. package/assets/icons/small/info--outlined.svg +2 -2
  175. package/assets/icons/small/instagram.svg +1 -1
  176. package/assets/icons/small/left.svg +1 -1
  177. package/assets/icons/small/linkedin--light.svg +2 -2
  178. package/assets/icons/small/linkedin.svg +1 -1
  179. package/assets/icons/small/lounge.svg +5 -5
  180. package/assets/icons/small/mail.svg +1 -1
  181. package/assets/icons/small/messenger.svg +1 -1
  182. package/assets/icons/small/mobile.svg +1 -1
  183. package/assets/icons/small/my-profile-compact.svg +1 -1
  184. package/assets/icons/small/my-profile-female--dark.svg +1 -1
  185. package/assets/icons/small/my-profile-female--light.svg +5 -5
  186. package/assets/icons/small/my-profile-male--dark.svg +1 -1
  187. package/assets/icons/small/my-profile-male--light.svg +5 -5
  188. package/assets/icons/small/my-profile.svg +3 -3
  189. package/assets/icons/small/new-airplanes.svg +2 -2
  190. package/assets/icons/small/personnel.svg +5 -5
  191. package/assets/icons/small/pinterest.svg +1 -1
  192. package/assets/icons/small/pintrest--light.svg +1 -1
  193. package/assets/icons/small/pintrest.svg +1 -1
  194. package/assets/icons/small/premium.svg +1 -1
  195. package/assets/icons/small/print.svg +1 -1
  196. package/assets/icons/small/reddit--light.svg +1 -1
  197. package/assets/icons/small/reddit.svg +1 -1
  198. package/assets/icons/small/rewards-fast-track.svg +2 -2
  199. package/assets/icons/small/rewards-luggage.svg +4 -4
  200. package/assets/icons/small/rewards-seat.svg +4 -4
  201. package/assets/icons/small/rewards.svg +3 -3
  202. package/assets/icons/small/right.svg +1 -1
  203. package/assets/icons/small/route-network.svg +15 -15
  204. package/assets/icons/small/search.svg +2 -2
  205. package/assets/icons/small/seat-reservation.svg +3 -3
  206. package/assets/icons/small/skis.svg +7 -7
  207. package/assets/icons/small/special-needs.svg +4 -4
  208. package/assets/icons/small/tiktok--light.svg +1 -1
  209. package/assets/icons/small/tiktok.svg +1 -1
  210. package/assets/icons/small/transit-stop.svg +5 -5
  211. package/assets/icons/small/trash.svg +4 -4
  212. package/assets/icons/small/travel-deals.svg +1 -1
  213. package/assets/icons/small/twitter-x.svg +1 -1
  214. package/assets/icons/small/type-africa-and-middle-east.svg +3 -3
  215. package/assets/icons/small/type-asia.svg +1 -1
  216. package/assets/icons/small/type-city-vibes.svg +1 -1
  217. package/assets/icons/small/type-greece.svg +1 -1
  218. package/assets/icons/small/type-norway.svg +5 -5
  219. package/assets/icons/small/type-scandinavia.svg +3 -3
  220. package/assets/icons/small/type-shopping.svg +3 -3
  221. package/assets/icons/small/type-skiing.svg +4 -4
  222. package/assets/icons/small/type-spain.svg +1 -1
  223. package/assets/icons/small/type-sun-and-sea.svg +13 -13
  224. package/assets/icons/small/type-usa.svg +8 -8
  225. package/assets/icons/small/wifi.svg +3 -3
  226. package/assets/icons/small/youtube.svg +1 -1
  227. package/assets/icons/tablet-landscape.svg +1 -1
  228. package/assets/icons/tablet-portrait.svg +1 -1
  229. package/assets/icons/weather/humidity.svg +1 -1
  230. package/assets/icons/weather/sun.svg +1 -1
  231. package/assets/icons/weather/sunrise.svg +1 -1
  232. package/assets/icons/weather/sunset.svg +1 -1
  233. package/assets/icons/weather/temperature.svg +1 -1
  234. package/assets/icons/weather/weather--cloud.svg +1 -1
  235. package/assets/icons/weather/weather--rain-sun.svg +1 -1
  236. package/assets/icons/weather/weather--rain.svg +1 -1
  237. package/assets/icons/weather/weather--storm.svg +1 -1
  238. package/assets/icons/weather/weather--sun-cloud.svg +1 -1
  239. package/assets/icons/weather/weather--sun.svg +1 -1
  240. package/assets/icons/xsmall/left.svg +1 -1
  241. package/assets/icons/xsmall/right.svg +1 -1
  242. package/assets/images/logo--mobile.svg +1 -1
  243. package/assets/images/logo-reward.svg +1 -1
  244. package/assets/images/logo.svg +2 -2
  245. package/esm2022/lib/components/accordion/accordion.component.mjs +2 -2
  246. package/esm2022/lib/components/airport-select/airport-select-dropdown/airport-select-dropdown.component.mjs +3 -3
  247. package/esm2022/lib/components/airport-select/airport-select.component.mjs +3 -3
  248. package/esm2022/lib/components/alert/alert.component.mjs +2 -2
  249. package/esm2022/lib/components/autocomplete/autocomplete.component.mjs +2 -2
  250. package/esm2022/lib/components/backdrop/backdrop.component.mjs +2 -2
  251. package/esm2022/lib/components/box/box.component.mjs +2 -2
  252. package/esm2022/lib/components/button/button.component.mjs +2 -2
  253. package/esm2022/lib/components/button-new/button-new.component.mjs +2 -2
  254. package/esm2022/lib/components/campaign-header/campaign-header.component.mjs +2 -2
  255. package/esm2022/lib/components/checkbox/checkbox.component.mjs +2 -2
  256. package/esm2022/lib/components/checkbox-new/checkbox-new.component.mjs +2 -2
  257. package/esm2022/lib/components/cover/cover.component.mjs +2 -2
  258. package/esm2022/lib/components/datepicker/calendar/calendar.component.mjs +2 -2
  259. package/esm2022/lib/components/datepicker/datepicker.component.mjs +2 -2
  260. package/esm2022/lib/components/datepicker/index.mjs +1 -2
  261. package/esm2022/lib/components/datepicker-combo/datepicker-combo.component.mjs +2 -2
  262. package/esm2022/lib/components/datepicker-combo-new/datepicker-combo-new.component.mjs +371 -0
  263. package/esm2022/lib/components/datepicker-combo-new/datepicker-combo-new.module.mjs +31 -0
  264. package/esm2022/lib/components/datepicker-combo-new/index.mjs +3 -0
  265. package/esm2022/lib/components/datepicker-new/calendar-new/calendar-date.model.mjs +2 -0
  266. package/esm2022/lib/components/datepicker-new/calendar-new/calendar-new.component.mjs +594 -0
  267. package/esm2022/lib/components/datepicker-new/calendar-new/enums/week-start.enum.mjs +6 -0
  268. package/esm2022/lib/components/datepicker-new/calendar-new/models/day.model.mjs +2 -0
  269. package/esm2022/lib/components/datepicker-new/calendar-new/models/select-option.model.mjs +2 -0
  270. package/esm2022/lib/components/datepicker-new/calendar-new/models/week.model.mjs +2 -0
  271. package/esm2022/lib/components/datepicker-new/datepicker-new.component.mjs +571 -0
  272. package/esm2022/lib/components/datepicker-new/datepicker-new.module.mjs +55 -0
  273. package/esm2022/lib/components/datepicker-new/index.mjs +5 -0
  274. package/esm2022/lib/components/datepicker-new/services/calendar.service.mjs +215 -0
  275. package/esm2022/lib/components/divider/divider.component.mjs +2 -2
  276. package/esm2022/lib/components/dropdown/dropdown.component.mjs +2 -2
  277. package/esm2022/lib/components/filter/filter.component.mjs +2 -2
  278. package/esm2022/lib/components/icon/icon.component.mjs +2 -2
  279. package/esm2022/lib/components/index.mjs +3 -1
  280. package/esm2022/lib/components/info/info.component.mjs +2 -2
  281. package/esm2022/lib/components/input/input.component.mjs +2 -2
  282. package/esm2022/lib/components/journey-availability/journey-availability.component.mjs +2 -2
  283. package/esm2022/lib/components/journey-selection/journey-selection.component.mjs +2 -2
  284. package/esm2022/lib/components/journey-stopover/journey-stopover.component.mjs +2 -2
  285. package/esm2022/lib/components/list/list.component.mjs +2 -2
  286. package/esm2022/lib/components/modal/modal.component.mjs +2 -2
  287. package/esm2022/lib/components/number-field/number-field.component.mjs +2 -2
  288. package/esm2022/lib/components/page-header/hamburger/hamburger.component.mjs +2 -2
  289. package/esm2022/lib/components/page-header/page-header.component.mjs +3 -3
  290. package/esm2022/lib/components/page-header/search/search.component.mjs +2 -2
  291. package/esm2022/lib/components/page-header-old/old-hamburger/old-hamburger.component.mjs +2 -2
  292. package/esm2022/lib/components/page-header-old/old-search/old-search.component.mjs +2 -2
  293. package/esm2022/lib/components/page-header-old/page-header-old.component.mjs +3 -3
  294. package/esm2022/lib/components/passenger-select/passenger-select.component.mjs +2 -2
  295. package/esm2022/lib/components/phone-number/phone-number.component.mjs +2 -2
  296. package/esm2022/lib/components/radio/radio.component.mjs +2 -2
  297. package/esm2022/lib/components/select/select.component.mjs +2 -2
  298. package/esm2022/lib/components/simple-list/simple-list.component.mjs +2 -2
  299. package/esm2022/lib/components/slider/slider.component.mjs +2 -2
  300. package/esm2022/lib/components/spinner/spinner.component.mjs +3 -3
  301. package/esm2022/lib/components/tab-group/tab/tab.component.mjs +2 -2
  302. package/esm2022/lib/components/tag/tag.component.mjs +2 -2
  303. package/esm2022/lib/components/textarea/textarea.component.mjs +2 -2
  304. package/esm2022/lib/components/toggle/toggle.component.mjs +2 -2
  305. package/esm2022/lib/components/weather-icon/weather-icon.component.mjs +2 -2
  306. package/fesm2022/norwegian-core-components.mjs +1882 -103
  307. package/fesm2022/norwegian-core-components.mjs.map +1 -1
  308. package/lib/components/datepicker/index.d.ts +0 -1
  309. package/lib/components/datepicker-combo-new/datepicker-combo-new.component.d.ts +294 -0
  310. package/lib/components/datepicker-combo-new/datepicker-combo-new.module.d.ts +10 -0
  311. package/lib/components/datepicker-combo-new/index.d.ts +2 -0
  312. package/lib/components/datepicker-new/calendar-new/calendar-date.model.d.ts +5 -0
  313. package/lib/components/datepicker-new/calendar-new/calendar-new.component.d.ts +159 -0
  314. package/lib/components/datepicker-new/calendar-new/enums/week-start.enum.d.ts +4 -0
  315. package/lib/components/datepicker-new/calendar-new/models/day.model.d.ts +10 -0
  316. package/lib/components/datepicker-new/calendar-new/models/select-option.model.d.ts +4 -0
  317. package/lib/components/datepicker-new/calendar-new/models/week.model.d.ts +5 -0
  318. package/lib/components/datepicker-new/datepicker-new.component.d.ts +272 -0
  319. package/lib/components/datepicker-new/datepicker-new.module.d.ts +16 -0
  320. package/lib/components/datepicker-new/index.d.ts +4 -0
  321. package/lib/components/datepicker-new/services/calendar.service.d.ts +27 -0
  322. package/lib/components/index.d.ts +2 -0
  323. package/package.json +1 -1
  324. package/styles/1__settings/_colors.scss +1 -1
@@ -1,4 +1,3 @@
1
1
  export * from './datepicker.component';
2
2
  export * from './calendar/calendar.component';
3
3
  export * from './datepicker.module';
4
- export * from './calendar/calendar-date.model';
@@ -0,0 +1,294 @@
1
+ /**
2
+ * @license
3
+ * Copyright Norwegian Air Shuttle. All Rights Reserved.
4
+ */
5
+ import { EventEmitter, ElementRef, AfterViewChecked, OnInit, OnDestroy } from '@angular/core';
6
+ import { FormGroup } from '@angular/forms';
7
+ import { NasComponentBase } from '../../core/base/nas-component.base';
8
+ import { ClassModel } from '../../core/models/class.model';
9
+ import { UtcDate } from '../../core/models/utc-date.model';
10
+ import { DateHelper } from '../../core/services/date/date-helper.service';
11
+ import { DeviceHelper } from '../../core/services/device/device-helper.service';
12
+ import { DatepickerComponent } from '../datepicker/datepicker.component';
13
+ import * as i0 from "@angular/core";
14
+ /**
15
+ * @description
16
+ * Norwegian Datepicker Combo Component | New design | Beta
17
+ */
18
+ export declare class DatepickerComboNewComponent extends NasComponentBase implements OnInit, AfterViewChecked, OnDestroy {
19
+ private dateService;
20
+ private deviceHelper;
21
+ inboundLowerLimitDate: UtcDate;
22
+ datepickerOutbound: DatepickerComponent;
23
+ datepickerInbound: ElementRef;
24
+ container: ElementRef;
25
+ /**
26
+ * @property Input
27
+ * @description
28
+ * Adds 'aria-label' to the backdrops.
29
+ */
30
+ ariaLabelBackdrop: string;
31
+ /**
32
+ * @property Input
33
+ * @description
34
+ * Sets outbound datepicker open.
35
+ */
36
+ get outboundOpen(): boolean;
37
+ set outboundOpen(value: boolean);
38
+ /**
39
+ * @property Input
40
+ * @description
41
+ * Sets inbound datepicker open.
42
+ */
43
+ get inboundOpen(): boolean;
44
+ set inboundOpen(value: boolean);
45
+ /**
46
+ * @property Input
47
+ * @description
48
+ * Label for no available flights.
49
+ */
50
+ noAvailableFlightsLabel: string;
51
+ /**
52
+ * @property Input
53
+ * @description
54
+ * Label for available flights.
55
+ */
56
+ availableFlightsLabel: string;
57
+ /**
58
+ * @property Input
59
+ * @description
60
+ * Disable possibility to select dates in the past.
61
+ */
62
+ disablePastSelection: boolean;
63
+ /**
64
+ * @property Input
65
+ * @description
66
+ * Disable possibility to select outbound dates.
67
+ */
68
+ outboundDisabled: boolean;
69
+ /**
70
+ * @property Input
71
+ * @description
72
+ * Disable possibility to select inbound dates.
73
+ */
74
+ inboundDisabled: boolean;
75
+ /**
76
+ * @property Input
77
+ * @description
78
+ * Remove the inbound datepicker if set.
79
+ */
80
+ outboundOnly: boolean;
81
+ /**
82
+ * @property Input
83
+ * @description
84
+ * Label for outbound datepicker.
85
+ */
86
+ outboundLabel: string;
87
+ /**
88
+ * @property Input
89
+ * @description
90
+ * Label for inbound datepicker.
91
+ */
92
+ inboundLabel: string;
93
+ /**
94
+ * @property Input
95
+ * @description
96
+ * Sets the datepickers in availability mode where available dates can be added.
97
+ */
98
+ availability: boolean;
99
+ /**
100
+ * @property Input
101
+ * @description
102
+ * Available dates for outbound calendar.
103
+ */
104
+ outboundAvailableDates: Array<UtcDate>;
105
+ /**
106
+ * @property Input
107
+ * @description
108
+ * Available dates for inbound calendar.
109
+ */
110
+ inboundAvailableDates: Array<UtcDate>;
111
+ /**
112
+ * @property Input
113
+ * @description
114
+ * If set, Enables the time dropdown selector alongside datepicker.
115
+ */
116
+ times: Array<UtcDate>;
117
+ /**
118
+ * @property Input
119
+ * @description
120
+ * The display format of the date when user has selected the date and it is being shown in the input box for the date picker.
121
+ * Please look at the angular Date pipe for valid formats and variations.
122
+ */
123
+ dateDisplayFormat: string;
124
+ /**
125
+ * @property Input
126
+ * @description
127
+ * The time display format.
128
+ */
129
+ timeDisplayFormat: string;
130
+ /**
131
+ * @property Input
132
+ * @description
133
+ * 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.
134
+ * This requires that registerLocaleData is called with the respective locale.
135
+ */
136
+ locale: string;
137
+ /**
138
+ * @property Input
139
+ * @description
140
+ * A modifier to remove the padding and margins around the element.
141
+ */
142
+ compact: boolean;
143
+ /**
144
+ * @property Input
145
+ * @description
146
+ * Adds the parent's form group.
147
+ * It requires that the consumer included ReactiveFormsModule in it's module.
148
+ * It is requiered to be filled if nasFormControlName added.
149
+ */
150
+ nasFormGroup: FormGroup;
151
+ /**
152
+ * @property Input
153
+ * @description
154
+ * Sets a formControlName directive to the input.
155
+ * It requires that the consumer included ReactiveFormsModule in it's module.
156
+ * It requiers that the nasFormGroup input is filled.
157
+ */
158
+ nasFormControlNameOutbound: string;
159
+ /**
160
+ * @property Input
161
+ * @description
162
+ * Sets a formControlName directive to the input.
163
+ * It requires that the consumer included ReactiveFormsModule in it's module.
164
+ * It requiers that the nasFormGroup input is filled.
165
+ */
166
+ nasFormControlNameInbound: string;
167
+ /**
168
+ * @property Input
169
+ * @description
170
+ * Selected datefor outbound calendar.
171
+ */
172
+ get outboundSelectedDate(): UtcDate;
173
+ set outboundSelectedDate(date: UtcDate);
174
+ /**
175
+ * @property Input
176
+ * @description
177
+ * Selected datefor inbound calendar.
178
+ */
179
+ get inboundSelectedDate(): UtcDate;
180
+ set inboundSelectedDate(date: UtcDate);
181
+ /**
182
+ * @property Input
183
+ * @description
184
+ * enable to disable backdrop.
185
+ */
186
+ disableBackdrop: boolean;
187
+ /**
188
+ * @property Input
189
+ * @description
190
+ * Sets the outbound selected time in the time selector.
191
+ */
192
+ outboundSelectedTime: UtcDate;
193
+ /**
194
+ * @property Input
195
+ * @description
196
+ * Sets the inbound selected time in the time selector.
197
+ */
198
+ inboundSelectedTime: UtcDate;
199
+ /**
200
+ * @property Input
201
+ * @description
202
+ * ARIA label for the previous month button in the calendar.
203
+ */
204
+ ariaLabelPreviousMonth: string;
205
+ /**
206
+ * @property Input
207
+ * @description
208
+ * ARIA label for the next month button in the calendar.
209
+ */
210
+ ariaLabelNextMonth: string;
211
+ /**
212
+ * @property Input
213
+ * @description
214
+ * Sets a relative number to decide when the inbound lower limit date should be based on selected outbound date.
215
+ *
216
+ * The lower limit date for inbound is set by default equal to the selected outbound date.
217
+ *
218
+ * If this number is positive, the inbound lower limit date will add the number of days to the selected outbound date.
219
+ * If this number is negative, the inbound lower limit date will subtract the number of days to the selected outbound date.
220
+ */
221
+ inboundLowerLimitDateOffset: number;
222
+ /**
223
+ * @property Output
224
+ * @description
225
+ * When selected datehas been changed on the outbound calendar.
226
+ */
227
+ outboundSelectedDateChange: EventEmitter<UtcDate>;
228
+ /**
229
+ * @property Output
230
+ * @description
231
+ * When selected datehas been changed on the inbound calendar.
232
+ */
233
+ inboundSelectedDateChange: EventEmitter<UtcDate>;
234
+ /**
235
+ * @property Output
236
+ * @description
237
+ * Outbound datepicker is open or closed.
238
+ */
239
+ outboundOpenChange: EventEmitter<boolean>;
240
+ /**
241
+ * @property Output
242
+ * @description
243
+ * Inbound datepicker is open or closed.
244
+ */
245
+ inboundOpenChange: EventEmitter<boolean>;
246
+ /**
247
+ * @property Output
248
+ * @description
249
+ * Outbound calendar changes month.
250
+ */
251
+ outboundMonthChange: EventEmitter<UtcDate>;
252
+ /**
253
+ * @property Output
254
+ * @description
255
+ * Inbound calendar changes month.
256
+ */
257
+ inboundMonthChange: EventEmitter<UtcDate>;
258
+ /**
259
+ * @property Output
260
+ * @description
261
+ * When a user has actively changed the date.
262
+ */
263
+ focusOnNextChange: EventEmitter<any>;
264
+ /**
265
+ * @property Output
266
+ * @description
267
+ * When a user has pressed shift + tab to go to previous control.
268
+ */
269
+ focusOnPreviousChange: EventEmitter<KeyboardEvent | MouseEvent>;
270
+ get inboundSelectedMonth(): UtcDate;
271
+ set inboundSelectedMonth(month: UtcDate);
272
+ private outboundSelectedDateValue;
273
+ private inboundSelectedDateValue;
274
+ private inboundSelectedMonthValue;
275
+ private inboundOpenValue;
276
+ private outboundOpenValue;
277
+ private containerWidth;
278
+ private inboundValueChangesSubscription;
279
+ private outboundValueChangesSubscription;
280
+ constructor(dateService: DateHelper, deviceHelper: DeviceHelper);
281
+ ngOnInit(): void;
282
+ ngAfterViewChecked(): void;
283
+ onFocusOnNext(event: KeyboardEvent | MouseEvent): void;
284
+ onFocusOnPrevious(event: KeyboardEvent): void;
285
+ onInboundFocusOnPrevious(): void;
286
+ onOutboundMonthChange(date: UtcDate): void;
287
+ getMainClass(): Array<ClassModel>;
288
+ checkOutboundOnly(): boolean;
289
+ checkInboundDisabled(): boolean;
290
+ ngOnDestroy(): void;
291
+ private updateContainerWidth;
292
+ static ɵfac: i0.ɵɵFactoryDeclaration<DatepickerComboNewComponent, never>;
293
+ static ɵcmp: i0.ɵɵComponentDeclaration<DatepickerComboNewComponent, "nas-datepicker-combo-new", never, { "ariaLabelBackdrop": { "alias": "ariaLabelBackdrop"; "required": false; }; "outboundOpen": { "alias": "outboundOpen"; "required": false; }; "inboundOpen": { "alias": "inboundOpen"; "required": false; }; "noAvailableFlightsLabel": { "alias": "noAvailableFlightsLabel"; "required": false; }; "availableFlightsLabel": { "alias": "availableFlightsLabel"; "required": false; }; "disablePastSelection": { "alias": "disablePastSelection"; "required": false; }; "outboundDisabled": { "alias": "outboundDisabled"; "required": false; }; "inboundDisabled": { "alias": "inboundDisabled"; "required": false; }; "outboundOnly": { "alias": "outboundOnly"; "required": false; }; "outboundLabel": { "alias": "outboundLabel"; "required": false; }; "inboundLabel": { "alias": "inboundLabel"; "required": false; }; "availability": { "alias": "availability"; "required": false; }; "outboundAvailableDates": { "alias": "outboundAvailableDates"; "required": false; }; "inboundAvailableDates": { "alias": "inboundAvailableDates"; "required": false; }; "times": { "alias": "times"; "required": false; }; "dateDisplayFormat": { "alias": "dateDisplayFormat"; "required": false; }; "timeDisplayFormat": { "alias": "timeDisplayFormat"; "required": false; }; "locale": { "alias": "locale"; "required": false; }; "compact": { "alias": "compact"; "required": false; }; "nasFormGroup": { "alias": "nasFormGroup"; "required": false; }; "nasFormControlNameOutbound": { "alias": "nasFormControlNameOutbound"; "required": false; }; "nasFormControlNameInbound": { "alias": "nasFormControlNameInbound"; "required": false; }; "outboundSelectedDate": { "alias": "outboundSelectedDate"; "required": false; }; "inboundSelectedDate": { "alias": "inboundSelectedDate"; "required": false; }; "disableBackdrop": { "alias": "disableBackdrop"; "required": false; }; "outboundSelectedTime": { "alias": "outboundSelectedTime"; "required": false; }; "inboundSelectedTime": { "alias": "inboundSelectedTime"; "required": false; }; "ariaLabelPreviousMonth": { "alias": "ariaLabelPreviousMonth"; "required": false; }; "ariaLabelNextMonth": { "alias": "ariaLabelNextMonth"; "required": false; }; "inboundLowerLimitDateOffset": { "alias": "inboundLowerLimitDateOffset"; "required": false; }; }, { "outboundSelectedDateChange": "outboundSelectedDateChange"; "inboundSelectedDateChange": "inboundSelectedDateChange"; "outboundOpenChange": "outboundOpenChange"; "inboundOpenChange": "inboundOpenChange"; "outboundMonthChange": "outboundMonthChange"; "inboundMonthChange": "inboundMonthChange"; "focusOnNextChange": "focusOnNextChange"; "focusOnPreviousChange": "focusOnPreviousChange"; }, never, never, false, never>;
294
+ }
@@ -0,0 +1,10 @@
1
+ import * as i0 from "@angular/core";
2
+ import * as i1 from "./datepicker-combo-new.component";
3
+ import * as i2 from "@angular/common";
4
+ import * as i3 from "../datepicker-new/datepicker-new.module";
5
+ import * as i4 from "../../core/directives/nas-class/nas-class.module";
6
+ export declare class DatepickerComboNewModule {
7
+ static ɵfac: i0.ɵɵFactoryDeclaration<DatepickerComboNewModule, never>;
8
+ static ɵmod: i0.ɵɵNgModuleDeclaration<DatepickerComboNewModule, [typeof i1.DatepickerComboNewComponent], [typeof i2.CommonModule, typeof i3.DatepickerNewModule, typeof i4.NasClassModule], [typeof i1.DatepickerComboNewComponent]>;
9
+ static ɵinj: i0.ɵɵInjectorDeclaration<DatepickerComboNewModule>;
10
+ }
@@ -0,0 +1,2 @@
1
+ export * from './datepicker-combo-new.component';
2
+ export * from './datepicker-combo-new.module';
@@ -0,0 +1,5 @@
1
+ import { UtcDate } from '../../../core';
2
+ export interface CalendarDateModel {
3
+ date: UtcDate;
4
+ model: string;
5
+ }
@@ -0,0 +1,159 @@
1
+ /**
2
+ * @license
3
+ * Copyright Norwegian Air Shuttle. All Rights Reserved.
4
+ */
5
+ import { DatePipe } from '@angular/common';
6
+ import { ElementRef, EventEmitter, OnInit, QueryList } from '@angular/core';
7
+ import { FormGroup } from '@angular/forms';
8
+ import { WeekStart } from './enums/week-start.enum';
9
+ import { DayModel } from './models/day.model';
10
+ import { SelectOptionModel } from './models/select-option.model';
11
+ import { WeekModel } from './models/week.model';
12
+ import { NasComponentBase } from '../../../core/base/nas-component.base';
13
+ import { ClassModel } from '../../../core/models/class.model';
14
+ import { UtcDate } from '../../../core/models/utc-date.model';
15
+ import { DateHelper } from '../../../core/services/date/date-helper.service';
16
+ import { SelectComponent } from '../../select/select.component';
17
+ import { CalendarService } from '../services/calendar.service';
18
+ import * as i0 from "@angular/core";
19
+ export declare class CalendarNewComponent extends NasComponentBase implements OnInit {
20
+ dateService: DateHelper;
21
+ datePipe: DatePipe;
22
+ private calendarService;
23
+ weeks: Array<WeekModel>;
24
+ months: SelectOptionModel[];
25
+ weekdays: string[];
26
+ isPreviousMonthDisabled: boolean;
27
+ previousMonthRef: ElementRef<HTMLButtonElement>;
28
+ nextMonthRef: ElementRef<HTMLButtonElement>;
29
+ tableCells: QueryList<ElementRef>;
30
+ dateButtons: QueryList<ElementRef>;
31
+ calendarContent: ElementRef;
32
+ monthSelectRef: SelectComponent;
33
+ /**
34
+ * @description
35
+ * Label for no available flights.
36
+ */
37
+ noAvailableFlightsLabel: string;
38
+ /**
39
+ * @description
40
+ * Label for available flights.
41
+ */
42
+ availableFlightsLabel: string;
43
+ /**
44
+ * @description
45
+ * Disable possibility to select dates in the past.
46
+ */
47
+ disablePastSelection?: boolean;
48
+ /**
49
+ * @description
50
+ * The lowest date allowed.
51
+ */
52
+ get lowerLimitDate(): UtcDate;
53
+ set lowerLimitDate(date: UtcDate);
54
+ /**
55
+ * @description
56
+ * Current month date to be displayed. It will take precedence over selected date input, if it is set.
57
+ */
58
+ date: UtcDate;
59
+ /**
60
+ * @description
61
+ * Desides if the week should start on a monday or sunday. Defaults to monday.
62
+ */
63
+ weekStart: WeekStart;
64
+ /**
65
+ * @description
66
+ * Display week numbers.
67
+ */
68
+ displayWeekNumbers: boolean;
69
+ /**
70
+ * @description
71
+ * Sets the datepicker in availability mode where available dates can be added.
72
+ */
73
+ availability: boolean;
74
+ /**
75
+ * @description
76
+ * 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.
77
+ * This requires that registerLocaleData is called with the respective locale.
78
+ */
79
+ locale: string;
80
+ /**
81
+ * @description
82
+ * An array with all the available dates of the month for seats.
83
+ */
84
+ get availableDates(): Array<UtcDate>;
85
+ set availableDates(dates: Array<UtcDate>);
86
+ /**
87
+ * @description
88
+ * Gets or sets the active date
89
+ */
90
+ get activeDate(): UtcDate;
91
+ set activeDate(date: UtcDate);
92
+ get selectedDate(): UtcDate;
93
+ set selectedDate(date: UtcDate);
94
+ nasFormGroup: FormGroup;
95
+ nasFormControlName: string;
96
+ dateDisplayFormat: string;
97
+ ariaLabelPreviousMonth: string;
98
+ ariaLabelNextMonth: string;
99
+ /**
100
+ * @description
101
+ * Month selected by the user by clicking in drop down for month selection or month navigation buttons.
102
+ */
103
+ monthChange: EventEmitter<UtcDate>;
104
+ /**
105
+ * @description
106
+ * When a user has actively changed the date.
107
+ */
108
+ focusOnNextChange: EventEmitter<KeyboardEvent | MouseEvent>;
109
+ /**
110
+ * @description
111
+ * When selected date has been changed.
112
+ */
113
+ selectedDateChange: EventEmitter<UtcDate>;
114
+ /**
115
+ * @description
116
+ * When active date has been changed.
117
+ */
118
+ activeDateChange: EventEmitter<UtcDate>;
119
+ get selectedMonth(): SelectOptionModel;
120
+ set selectedMonth(option: SelectOptionModel);
121
+ get nextMonthDisabled(): boolean;
122
+ get currentMonthModel(): string;
123
+ /**
124
+ * @description
125
+ * Is in use by DatepickerComponent
126
+ */
127
+ get activeDateCell(): HTMLElement;
128
+ private maxMonthIndex;
129
+ private activeDateValue;
130
+ private availableDatesValue;
131
+ private currentMonth;
132
+ private selectedValue;
133
+ private availableDays;
134
+ private monthNames;
135
+ private lowerLimitDateValue;
136
+ private selectedDateValue;
137
+ private shouldFocusCalendarOnAvailableDatesUpdate;
138
+ constructor(dateService: DateHelper, datePipe: DatePipe, calendarService: CalendarService);
139
+ ngOnInit(): void;
140
+ dateKeyDown(event: KeyboardEvent): void;
141
+ onPreviousMonthKeydown(event: KeyboardEvent): void;
142
+ onNextMonthKeydown(event: KeyboardEvent): void;
143
+ onNextMonthMousedown(): void;
144
+ onPreviousMonthMousedown(): void;
145
+ onMonthSelectKeydown(event: KeyboardEvent): void;
146
+ focusElement(event: KeyboardEvent, elementToFocus: HTMLElement): void;
147
+ setActiveDate(): void;
148
+ onMouseDown(date: string, event: MouseEvent): void;
149
+ onDayFocus(day: DayModel): void;
150
+ onDayClick(day: DayModel): void;
151
+ setSelectedDate(date: UtcDate): void;
152
+ getCellButtonClass(day: DayModel): ClassModel;
153
+ getNextMonth(): void;
154
+ getPreviousMonth(): void;
155
+ setPreviousMonthDisabled(): void;
156
+ private applySelectedDateChanges;
157
+ static ɵfac: i0.ɵɵFactoryDeclaration<CalendarNewComponent, never>;
158
+ static ɵcmp: i0.ɵɵComponentDeclaration<CalendarNewComponent, "nas-calendar-new", never, { "noAvailableFlightsLabel": { "alias": "noAvailableFlightsLabel"; "required": false; }; "availableFlightsLabel": { "alias": "availableFlightsLabel"; "required": false; }; "disablePastSelection": { "alias": "disablePastSelection"; "required": false; }; "lowerLimitDate": { "alias": "lowerLimitDate"; "required": false; }; "date": { "alias": "date"; "required": false; }; "weekStart": { "alias": "weekStart"; "required": false; }; "displayWeekNumbers": { "alias": "displayWeekNumbers"; "required": false; }; "availability": { "alias": "availability"; "required": false; }; "locale": { "alias": "locale"; "required": false; }; "availableDates": { "alias": "availableDates"; "required": false; }; "activeDate": { "alias": "activeDate"; "required": false; }; "selectedDate": { "alias": "selectedDate"; "required": false; }; "nasFormGroup": { "alias": "nasFormGroup"; "required": false; }; "nasFormControlName": { "alias": "nasFormControlName"; "required": false; }; "dateDisplayFormat": { "alias": "dateDisplayFormat"; "required": false; }; "ariaLabelPreviousMonth": { "alias": "ariaLabelPreviousMonth"; "required": false; }; "ariaLabelNextMonth": { "alias": "ariaLabelNextMonth"; "required": false; }; }, { "monthChange": "monthChange"; "focusOnNextChange": "focusOnNextChange"; "selectedDateChange": "selectedDateChange"; "activeDateChange": "activeDateChange"; }, never, never, false, never>;
159
+ }
@@ -0,0 +1,4 @@
1
+ export declare enum WeekStart {
2
+ monday = 0,
3
+ sunday = 1
4
+ }
@@ -0,0 +1,10 @@
1
+ export interface DayModel {
2
+ date: string;
3
+ index?: number;
4
+ isSelected?: boolean;
5
+ isEmpty?: boolean;
6
+ isDisabled?: boolean;
7
+ isAvailable?: boolean;
8
+ isActive?: boolean;
9
+ isWithinRange?: boolean;
10
+ }
@@ -0,0 +1,4 @@
1
+ export interface SelectOptionModel {
2
+ value: string;
3
+ title: string;
4
+ }
@@ -0,0 +1,5 @@
1
+ import { DayModel } from './day.model';
2
+ export interface WeekModel {
3
+ days: Array<DayModel>;
4
+ weekNumber: number;
5
+ }