@norwegian/core-components 5.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +78 -0
- package/assets/documentation/accordion/accordion.md +1 -0
- package/assets/documentation/airport-select/airport-select.md +0 -0
- package/assets/documentation/autocomplete/autocomplete.md +1 -0
- package/assets/documentation/box/box.md +1 -0
- package/assets/documentation/button/button.md +10 -0
- package/assets/documentation/checkbox/checkbox.md +7 -0
- package/assets/documentation/chip/chip.md +1 -0
- package/assets/documentation/container/container.md +1 -0
- package/assets/documentation/continue/continue.md +1 -0
- package/assets/documentation/cover/cover.md +1 -0
- package/assets/documentation/datepicker/calendar/calendar.md +3 -0
- package/assets/documentation/datepicker/datepicker.md +3 -0
- package/assets/documentation/datepicker-combo/datepicker-combo.md +1 -0
- package/assets/documentation/dropdown/dropdown.md +3 -0
- package/assets/documentation/filter/filter.md +0 -0
- package/assets/documentation/grid/grid.md +1 -0
- package/assets/documentation/icon/icon.md +4 -0
- package/assets/documentation/icon-list/icon-list.md +1 -0
- package/assets/documentation/info/info.md +1 -0
- package/assets/documentation/input/input.md +1 -0
- package/assets/documentation/journey/journey.md +1 -0
- package/assets/documentation/journey-availability/journey-availability.md +3 -0
- package/assets/documentation/journey-availability-list/journey-availability-list.md +9 -0
- package/assets/documentation/journey-selection/journey-selection.md +1 -0
- package/assets/documentation/journey-stopover/journey-stopover.md +1 -0
- package/assets/documentation/list/list.md +1 -0
- package/assets/documentation/modal/modal.md +0 -0
- package/assets/documentation/number-field/number-field.md +1 -0
- package/assets/documentation/page-footer/page-footer.md +1 -0
- package/assets/documentation/page-header/page-header.md +1 -0
- package/assets/documentation/passenger-select/passenger-select.md +1 -0
- package/assets/documentation/phone-number/phone-number.md +2 -0
- package/assets/documentation/premium-toggle/premium-toggle.md +9 -0
- package/assets/documentation/radio/radio.md +7 -0
- package/assets/documentation/select/select.md +1 -0
- package/assets/documentation/simple-list/simple-list.md +1 -0
- package/assets/documentation/slide-toggle/slide-toggle.md +1 -0
- package/assets/documentation/slider/slider.md +1 -0
- package/assets/documentation/sort/sort.md +1 -0
- package/assets/documentation/spinner/spinner.md +1 -0
- package/assets/documentation/subsidy-discount/subsidy-discount.md +3 -0
- package/assets/documentation/suggestions/suggestions.md +1 -0
- package/assets/documentation/tab-group/tab-group.md +1 -0
- package/assets/documentation/table/table.md +8 -0
- package/assets/documentation/textarea/textarea.md +1 -0
- package/assets/documentation/toggle/toggle.md +5 -0
- package/assets/documentation/trip-summary/trip-summary.md +2 -0
- package/assets/documentation/weather-icon/weather-icon.md +1 -0
- package/assets/fonts/TiemposHeadlineWeb-Bold.eot +0 -0
- package/assets/fonts/TiemposHeadlineWeb-Bold.woff +0 -0
- package/assets/fonts/TiemposHeadlineWeb-Bold.woff2 +0 -0
- package/assets/fonts/TiemposHeadlineWeb-BoldItalic.eot +0 -0
- package/assets/fonts/TiemposHeadlineWeb-BoldItalic.woff +0 -0
- package/assets/fonts/TiemposHeadlineWeb-BoldItalic.woff2 +0 -0
- package/assets/fonts/TiemposText-Medium.eot +0 -0
- package/assets/fonts/TiemposText-Medium.woff +0 -0
- package/assets/fonts/TiemposText-Medium.woff2 +0 -0
- package/assets/fonts/TiemposTextWeb-Italic.eot +0 -0
- package/assets/fonts/TiemposTextWeb-Italic.woff +0 -0
- package/assets/fonts/TiemposTextWeb-Italic.woff2 +0 -0
- package/assets/fonts/TiemposTextWeb-Regular.eot +0 -0
- package/assets/fonts/TiemposTextWeb-Regular.woff +0 -0
- package/assets/fonts/TiemposTextWeb-Regular.woff2 +0 -0
- package/assets/fonts/apercu_bold_italic_pro-web.eot +0 -0
- package/assets/fonts/apercu_bold_italic_pro-web.svg +12420 -0
- package/assets/fonts/apercu_bold_italic_pro-web.ttf +0 -0
- package/assets/fonts/apercu_bold_italic_pro-web.woff +0 -0
- package/assets/fonts/apercu_bold_italic_pro-web.woff2 +0 -0
- package/assets/fonts/apercu_bold_italic_pro.otf +0 -0
- package/assets/fonts/apercu_bold_pro-web.eot +0 -0
- package/assets/fonts/apercu_bold_pro-web.svg +10193 -0
- package/assets/fonts/apercu_bold_pro-web.ttf +0 -0
- package/assets/fonts/apercu_bold_pro-web.woff +0 -0
- package/assets/fonts/apercu_bold_pro-web.woff2 +0 -0
- package/assets/fonts/apercu_bold_pro.otf +0 -0
- package/assets/fonts/apercu_light_italic_pro-web.eot +0 -0
- package/assets/fonts/apercu_light_italic_pro-web.svg +12831 -0
- package/assets/fonts/apercu_light_italic_pro-web.ttf +0 -0
- package/assets/fonts/apercu_light_italic_pro-web.woff +0 -0
- package/assets/fonts/apercu_light_italic_pro-web.woff2 +0 -0
- package/assets/fonts/apercu_light_pro-web.eot +0 -0
- package/assets/fonts/apercu_light_pro-web.svg +9704 -0
- package/assets/fonts/apercu_light_pro-web.ttf +0 -0
- package/assets/fonts/apercu_light_pro-web.woff +0 -0
- package/assets/fonts/apercu_light_pro-web.woff2 +0 -0
- package/assets/fonts/apercu_medium_italic_pro-web.eot +0 -0
- package/assets/fonts/apercu_medium_italic_pro-web.svg +12354 -0
- package/assets/fonts/apercu_medium_italic_pro-web.ttf +0 -0
- package/assets/fonts/apercu_medium_italic_pro-web.woff +0 -0
- package/assets/fonts/apercu_medium_italic_pro-web.woff2 +0 -0
- package/assets/fonts/apercu_medium_italic_pro.otf +0 -0
- package/assets/fonts/apercu_medium_pro-web.eot +0 -0
- package/assets/fonts/apercu_medium_pro-web.svg +12254 -0
- package/assets/fonts/apercu_medium_pro-web.ttf +0 -0
- package/assets/fonts/apercu_medium_pro-web.woff +0 -0
- package/assets/fonts/apercu_medium_pro-web.woff2 +0 -0
- package/assets/fonts/apercu_medium_pro.otf +0 -0
- package/assets/fonts/apercu_mono_pro-web.eot +0 -0
- package/assets/fonts/apercu_mono_pro-web.svg +538 -0
- package/assets/fonts/apercu_mono_pro-web.ttf +0 -0
- package/assets/fonts/apercu_mono_pro-web.woff +0 -0
- package/assets/fonts/apercu_mono_pro-web.woff2 +0 -0
- package/assets/fonts/apercu_regular_italic_pro-web.eot +0 -0
- package/assets/fonts/apercu_regular_italic_pro-web.svg +13059 -0
- package/assets/fonts/apercu_regular_italic_pro-web.ttf +0 -0
- package/assets/fonts/apercu_regular_italic_pro-web.woff +0 -0
- package/assets/fonts/apercu_regular_italic_pro-web.woff2 +0 -0
- package/assets/fonts/apercu_regular_italic_pro.otf +0 -0
- package/assets/fonts/apercu_regular_pro-web.eot +0 -0
- package/assets/fonts/apercu_regular_pro-web.svg +11356 -0
- package/assets/fonts/apercu_regular_pro-web.ttf +0 -0
- package/assets/fonts/apercu_regular_pro-web.woff +0 -0
- package/assets/fonts/apercu_regular_pro-web.woff2 +0 -0
- package/assets/fonts/apercu_regular_pro.otf +0 -0
- package/assets/icons/flags/ar.svg +20 -0
- package/assets/icons/flags/br.svg +30 -0
- package/assets/icons/flags/ca.svg +18 -0
- package/assets/icons/flags/de.svg +20 -0
- package/assets/icons/flags/dk.svg +20 -0
- package/assets/icons/flags/en.svg +20 -0
- package/assets/icons/flags/es.svg +20 -0
- package/assets/icons/flags/fi.svg +20 -0
- package/assets/icons/flags/fr.svg +20 -0
- package/assets/icons/flags/ie.svg +22 -0
- package/assets/icons/flags/it.svg +20 -0
- package/assets/icons/flags/nl.svg +20 -0
- package/assets/icons/flags/no.svg +20 -0
- package/assets/icons/flags/pl.svg +20 -0
- package/assets/icons/flags/se.svg +20 -0
- package/assets/icons/flags/uk.svg +20 -0
- package/assets/icons/flags/us.svg +20 -0
- package/assets/icons/icon-add--light.svg +11 -0
- package/assets/icons/icon-add.svg +7 -0
- package/assets/icons/icon-arrow-left--light.svg +7 -0
- package/assets/icons/icon-arrow-left.svg +7 -0
- package/assets/icons/icon-arrow-right--light.svg +7 -0
- package/assets/icons/icon-arrow-right.svg +6 -0
- package/assets/icons/icon-check.svg +7 -0
- package/assets/icons/icon-chevron-down.svg +1 -0
- package/assets/icons/icon-chevron-left--light.svg +1 -0
- package/assets/icons/icon-chevron-left-outlined.svg +4 -0
- package/assets/icons/icon-chevron-left.svg +1 -0
- package/assets/icons/icon-chevron-right--light.svg +1 -0
- package/assets/icons/icon-chevron-right-outlined.svg +4 -0
- package/assets/icons/icon-chevron-right.svg +1 -0
- package/assets/icons/icon-dropdown-arrow--disabled.svg +8 -0
- package/assets/icons/icon-dropdown-arrow--light.svg +8 -0
- package/assets/icons/icon-dropdown-arrow.svg +8 -0
- package/assets/icons/icon-error.svg +11 -0
- package/assets/icons/icon-flight-direct.svg +8 -0
- package/assets/icons/icon-flight-one-stop.svg +8 -0
- package/assets/icons/icon-flight-two-stops.svg +9 -0
- package/assets/icons/icon-geolocation--disabled.svg +8 -0
- package/assets/icons/icon-geolocation--light.svg +8 -0
- package/assets/icons/icon-geolocation.svg +8 -0
- package/assets/icons/icon-goto.svg +8 -0
- package/assets/icons/icon-home.svg +1 -0
- package/assets/icons/icon-marker.svg +8 -0
- package/assets/icons/icon-menu--dark.svg +9 -0
- package/assets/icons/icon-menu.svg +9 -0
- package/assets/icons/icon-nav_right--large.svg +7 -0
- package/assets/icons/icon-nav_right--small.svg +7 -0
- package/assets/icons/icon-nav_right.svg +7 -0
- package/assets/icons/icon-negative.svg +11 -0
- package/assets/icons/icon-ol_li.svg +7 -0
- package/assets/icons/icon-one-stop-arrow.svg +8 -0
- package/assets/icons/icon-passenger--children.svg +1 -0
- package/assets/icons/icon-passenger--female.svg +1 -0
- package/assets/icons/icon-passenger--infant.svg +1 -0
- package/assets/icons/icon-passenger--male.svg +1 -0
- package/assets/icons/icon-positive.svg +10 -0
- package/assets/icons/icon-red-circle.svg +7 -0
- package/assets/icons/icon-remove.svg +8 -0
- package/assets/icons/icon-share_facebook.svg +10 -0
- package/assets/icons/icon-share_instagram.svg +12 -0
- package/assets/icons/icon-share_twitter.svg +13 -0
- package/assets/icons/icon-share_youtube.svg +11 -0
- package/assets/icons/icon-star.svg +9 -0
- package/assets/icons/icon-subtract--light.svg +12 -0
- package/assets/icons/icon-subtract.svg +9 -0
- package/assets/icons/icon-switch--secondary.svg +1 -0
- package/assets/icons/icon-switch.svg +1 -0
- package/assets/icons/icon-two-stops-arrow.svg +10 -0
- package/assets/icons/large/baggage-hand-baggage.svg +41 -0
- package/assets/icons/large/baggage.svg +75 -0
- package/assets/icons/large/car-rentals.svg +61 -0
- package/assets/icons/large/cashpoints.svg +92 -0
- package/assets/icons/large/celebration.svg +77 -0
- package/assets/icons/large/central-airports.svg +44 -0
- package/assets/icons/large/customer-service.svg +47 -0
- package/assets/icons/large/destinations.svg +78 -0
- package/assets/icons/large/direct-flights.svg +73 -0
- package/assets/icons/large/entertainment.svg +89 -0
- package/assets/icons/large/family.svg +88 -0
- package/assets/icons/large/fast-track.svg +57 -0
- package/assets/icons/large/food.svg +48 -0
- package/assets/icons/large/from-a-to-b.svg +66 -0
- package/assets/icons/large/hotels.svg +84 -0
- package/assets/icons/large/lounge.svg +67 -0
- package/assets/icons/large/new-aircrafts.svg +60 -0
- package/assets/icons/large/personnel.svg +54 -0
- package/assets/icons/large/premium.svg +49 -0
- package/assets/icons/large/wifi.svg +112 -0
- package/assets/icons/list--journey.svg +207 -0
- package/assets/icons/medium/accommodation--light.svg +16 -0
- package/assets/icons/medium/accommodation.svg +15 -0
- package/assets/icons/medium/alert--error.svg +11 -0
- package/assets/icons/medium/alert--light.svg +10 -0
- package/assets/icons/medium/alert--success.svg +9 -0
- package/assets/icons/medium/alert.svg +11 -0
- package/assets/icons/medium/arrow-down--light.svg +11 -0
- package/assets/icons/medium/arrow-down.svg +11 -0
- package/assets/icons/medium/arrow-left--light.svg +11 -0
- package/assets/icons/medium/arrow-left.svg +11 -0
- package/assets/icons/medium/arrow-right--light.svg +11 -0
- package/assets/icons/medium/arrow-right.svg +11 -0
- package/assets/icons/medium/arrow-up--light.svg +11 -0
- package/assets/icons/medium/arrow-up.svg +11 -0
- package/assets/icons/medium/baggage--light.svg +10 -0
- package/assets/icons/medium/baggage-checked-in--light.svg +19 -0
- package/assets/icons/medium/baggage-checked-in.svg +20 -0
- package/assets/icons/medium/baggage-hand-baggage--light.svg +32 -0
- package/assets/icons/medium/baggage-hand-baggage.svg +36 -0
- package/assets/icons/medium/baggage-special-baggage--light.svg +21 -0
- package/assets/icons/medium/baggage-special-baggage.svg +23 -0
- package/assets/icons/medium/baggage-sports-equipment--light.svg +18 -0
- package/assets/icons/medium/baggage-sports-equipment.svg +21 -0
- package/assets/icons/medium/baggage.svg +11 -0
- package/assets/icons/medium/baggages--light.svg +1 -0
- package/assets/icons/medium/baggages.svg +1 -0
- package/assets/icons/medium/car-rental--light.svg +26 -0
- package/assets/icons/medium/car-rental.svg +26 -0
- package/assets/icons/medium/card--light.svg +18 -0
- package/assets/icons/medium/card.svg +18 -0
- package/assets/icons/medium/cashpoints--light.svg +29 -0
- package/assets/icons/medium/cashpoints.svg +31 -0
- package/assets/icons/medium/central-airports--light.svg +25 -0
- package/assets/icons/medium/central-airports.svg +25 -0
- package/assets/icons/medium/customer-service--light.svg +19 -0
- package/assets/icons/medium/customer-service.svg +22 -0
- package/assets/icons/medium/direct-flights--light.svg +24 -0
- package/assets/icons/medium/direct-flights.svg +25 -0
- package/assets/icons/medium/direct-to-gate--light.svg +18 -0
- package/assets/icons/medium/direct-to-gate.svg +18 -0
- package/assets/icons/medium/docs--light.svg +10 -0
- package/assets/icons/medium/docs.svg +10 -0
- package/assets/icons/medium/entertainment--light.svg +71 -0
- package/assets/icons/medium/entertainment.svg +81 -0
- package/assets/icons/medium/facebook.svg +12 -0
- package/assets/icons/medium/family.svg +29 -0
- package/assets/icons/medium/fast-track--light.svg +19 -0
- package/assets/icons/medium/fast-track.svg +23 -0
- package/assets/icons/medium/flexible-tickets--light.svg +16 -0
- package/assets/icons/medium/flexible-tickets.svg +18 -0
- package/assets/icons/medium/flight-arrival--light.svg +16 -0
- package/assets/icons/medium/flight-arrival.svg +15 -0
- package/assets/icons/medium/flight-departure--light.svg +12 -0
- package/assets/icons/medium/flight-departure.svg +12 -0
- package/assets/icons/medium/flight-oneway--light.svg +12 -0
- package/assets/icons/medium/flight-oneway.svg +13 -0
- package/assets/icons/medium/flight-outbound--light.svg +11 -0
- package/assets/icons/medium/flight-outbound.svg +11 -0
- package/assets/icons/medium/flight-return--light.svg +11 -0
- package/assets/icons/medium/flight-return-trip.svg +13 -0
- package/assets/icons/medium/flight-return.svg +11 -0
- package/assets/icons/medium/flight-tickets--light.svg +22 -0
- package/assets/icons/medium/flight-tickets.svg +21 -0
- package/assets/icons/medium/food--light.svg +16 -0
- package/assets/icons/medium/food.svg +19 -0
- package/assets/icons/medium/frequent-departures--light.svg +16 -0
- package/assets/icons/medium/frequent-departures.svg +16 -0
- package/assets/icons/medium/from-a-to-b--light.svg +17 -0
- package/assets/icons/medium/from-a-to-b.svg +17 -0
- package/assets/icons/medium/in-flight-entertainment--light.svg +20 -0
- package/assets/icons/medium/in-flight-entertainment.svg +21 -0
- package/assets/icons/medium/instagram.svg +14 -0
- package/assets/icons/medium/linkedin.svg +17 -0
- package/assets/icons/medium/lounge--light.svg +19 -0
- package/assets/icons/medium/lounge.svg +21 -0
- package/assets/icons/medium/mobile--light.svg +10 -0
- package/assets/icons/medium/mobile.svg +9 -0
- package/assets/icons/medium/my-profile-female.svg +55 -0
- package/assets/icons/medium/my-profile-male.svg +48 -0
- package/assets/icons/medium/new-airplanes--light.svg +14 -0
- package/assets/icons/medium/new-airplanes.svg +14 -0
- package/assets/icons/medium/personnel--light.svg +19 -0
- package/assets/icons/medium/personnel.svg +27 -0
- package/assets/icons/medium/phone--light.svg +15 -0
- package/assets/icons/medium/phone.svg +15 -0
- package/assets/icons/medium/premium--light.svg +23 -0
- package/assets/icons/medium/premium.svg +23 -0
- package/assets/icons/medium/print--light.svg +14 -0
- package/assets/icons/medium/printer.svg +14 -0
- package/assets/icons/medium/relax--light.svg +27 -0
- package/assets/icons/medium/relax.svg +28 -0
- package/assets/icons/medium/rewards--light.svg +19 -0
- package/assets/icons/medium/rewards-fast-track.svg +17 -0
- package/assets/icons/medium/rewards-luggage.svg +22 -0
- package/assets/icons/medium/rewards-seat.svg +21 -0
- package/assets/icons/medium/rewards.svg +19 -0
- package/assets/icons/medium/route-network--light.svg +28 -0
- package/assets/icons/medium/route-network.svg +28 -0
- package/assets/icons/medium/seat-reservation--light.svg +16 -0
- package/assets/icons/medium/seat-reservation.svg +16 -0
- package/assets/icons/medium/special-needs--light.svg +15 -0
- package/assets/icons/medium/special-needs.svg +15 -0
- package/assets/icons/medium/transit-stop--light.svg +30 -0
- package/assets/icons/medium/transit-stop.svg +33 -0
- package/assets/icons/medium/trash--light.svg +7 -0
- package/assets/icons/medium/trash.svg +7 -0
- package/assets/icons/medium/travel-deals--light.svg +24 -0
- package/assets/icons/medium/travel-deals.svg +24 -0
- package/assets/icons/medium/twitter.svg +17 -0
- package/assets/icons/medium/type-asia--light.svg +19 -0
- package/assets/icons/medium/type-asia.svg +19 -0
- package/assets/icons/medium/type-city-vibes--light.svg +14 -0
- package/assets/icons/medium/type-city-vibes.svg +14 -0
- package/assets/icons/medium/type-greece--light.svg +24 -0
- package/assets/icons/medium/type-greece.svg +28 -0
- package/assets/icons/medium/type-norway--light.svg +18 -0
- package/assets/icons/medium/type-norway.svg +18 -0
- package/assets/icons/medium/type-scandinavia--light.svg +32 -0
- package/assets/icons/medium/type-scandinavia.svg +32 -0
- package/assets/icons/medium/type-shopping--light.svg +20 -0
- package/assets/icons/medium/type-shopping.svg +20 -0
- package/assets/icons/medium/type-skiing--light.svg +32 -0
- package/assets/icons/medium/type-skiing.svg +32 -0
- package/assets/icons/medium/type-spain--light.svg +12 -0
- package/assets/icons/medium/type-spain.svg +12 -0
- package/assets/icons/medium/type-sun-and-sea--light.svg +34 -0
- package/assets/icons/medium/type-sun-and-sea.svg +34 -0
- package/assets/icons/medium/type-usa--light.svg +46 -0
- package/assets/icons/medium/type-usa.svg +46 -0
- package/assets/icons/medium/wifi--light.svg +15 -0
- package/assets/icons/medium/wifi.svg +15 -0
- package/assets/icons/medium/youtube.svg +12 -0
- package/assets/icons/mobile-landscape.svg +12 -0
- package/assets/icons/mobile-portrait.svg +12 -0
- package/assets/icons/small/accommodation--light.svg +15 -0
- package/assets/icons/small/accommodation.svg +21 -0
- package/assets/icons/small/alert--error.svg +7 -0
- package/assets/icons/small/alert--light.svg +10 -0
- package/assets/icons/small/alert.svg +10 -0
- package/assets/icons/small/arrow-down--light.svg +11 -0
- package/assets/icons/small/arrow-down.svg +11 -0
- package/assets/icons/small/arrow-left--light.svg +10 -0
- package/assets/icons/small/arrow-left.svg +10 -0
- package/assets/icons/small/arrow-right--light.svg +11 -0
- package/assets/icons/small/arrow-right.svg +11 -0
- package/assets/icons/small/arrow-up--light.svg +10 -0
- package/assets/icons/small/arrow-up.svg +10 -0
- package/assets/icons/small/baggage--light.svg +8 -0
- package/assets/icons/small/baggage-checked-in--light.svg +16 -0
- package/assets/icons/small/baggage-checked-in.svg +16 -0
- package/assets/icons/small/baggage-hand-baggage--light.svg +11 -0
- package/assets/icons/small/baggage-hand-baggage.svg +11 -0
- package/assets/icons/small/baggage-special-baggage--light.svg +20 -0
- package/assets/icons/small/baggage-special-baggage.svg +20 -0
- package/assets/icons/small/baggage-sports-equipment--light.svg +25 -0
- package/assets/icons/small/baggage-sports-equipment.svg +25 -0
- package/assets/icons/small/baggage.svg +10 -0
- package/assets/icons/small/baggages--light.svg +1 -0
- package/assets/icons/small/baggages.svg +1 -0
- package/assets/icons/small/calendar--disabled.svg +14 -0
- package/assets/icons/small/calendar--light.svg +14 -0
- package/assets/icons/small/calendar.svg +14 -0
- package/assets/icons/small/car-rental--light.svg +14 -0
- package/assets/icons/small/car-rental.svg +14 -0
- package/assets/icons/small/card--light.svg +8 -0
- package/assets/icons/small/card.svg +8 -0
- package/assets/icons/small/cashpoints--light.svg +21 -0
- package/assets/icons/small/cashpoints.svg +21 -0
- package/assets/icons/small/central-airports--light.svg +10 -0
- package/assets/icons/small/central-airports.svg +10 -0
- package/assets/icons/small/check-in--light.svg +11 -0
- package/assets/icons/small/check-in.svg +11 -0
- package/assets/icons/small/customer-service--light.svg +18 -0
- package/assets/icons/small/customer-service.svg +18 -0
- package/assets/icons/small/destination--light.svg +9 -0
- package/assets/icons/small/destination.svg +9 -0
- package/assets/icons/small/direct-flights--light.svg +16 -0
- package/assets/icons/small/direct-flights.svg +16 -0
- package/assets/icons/small/docs--light.svg +10 -0
- package/assets/icons/small/docs.svg +10 -0
- package/assets/icons/small/duty-free.svg +24 -0
- package/assets/icons/small/email.svg +1 -0
- package/assets/icons/small/facebook.svg +12 -0
- package/assets/icons/small/family.svg +24 -0
- package/assets/icons/small/fast-track--light.svg +15 -0
- package/assets/icons/small/fast-track.svg +15 -0
- package/assets/icons/small/flexible-tickets--light.svg +12 -0
- package/assets/icons/small/flexible-tickets.svg +12 -0
- package/assets/icons/small/flight-arrival--light.svg +13 -0
- package/assets/icons/small/flight-arrival.svg +16 -0
- package/assets/icons/small/flight-departure--light.svg +18 -0
- package/assets/icons/small/flight-departure-ground.svg +22 -0
- package/assets/icons/small/flight-departure-left.svg +18 -0
- package/assets/icons/small/flight-departure.svg +18 -0
- package/assets/icons/small/flight-outbound--light.svg +14 -0
- package/assets/icons/small/flight-outbound.svg +14 -0
- package/assets/icons/small/flight-return--light.svg +14 -0
- package/assets/icons/small/flight-return.svg +14 -0
- package/assets/icons/small/flight-tickets--light.svg +17 -0
- package/assets/icons/small/flight-tickets.svg +17 -0
- package/assets/icons/small/food--light.svg +15 -0
- package/assets/icons/small/food.svg +15 -0
- package/assets/icons/small/from-a-to-b--light.svg +21 -0
- package/assets/icons/small/from-a-to-b.svg +23 -0
- package/assets/icons/small/google-plus.svg +1 -0
- package/assets/icons/small/hotel--light.svg +10 -0
- package/assets/icons/small/hotel.svg +11 -0
- package/assets/icons/small/in-flight-entertainment--light.svg +10 -0
- package/assets/icons/small/in-flight-entertainment.svg +10 -0
- package/assets/icons/small/info--light.svg +4 -0
- package/assets/icons/small/info--outlined.svg +4 -0
- package/assets/icons/small/info.svg +4 -0
- package/assets/icons/small/instagram.svg +14 -0
- package/assets/icons/small/linkedin.svg +18 -0
- package/assets/icons/small/lounge--light.svg +18 -0
- package/assets/icons/small/lounge.svg +18 -0
- package/assets/icons/small/mail--light.svg +9 -0
- package/assets/icons/small/mail.svg +9 -0
- package/assets/icons/small/mobile--light.svg +8 -0
- package/assets/icons/small/mobile.svg +8 -0
- package/assets/icons/small/my-profile--light.svg +14 -0
- package/assets/icons/small/my-profile-female--light.svg +49 -0
- package/assets/icons/small/my-profile-female.svg +48 -0
- package/assets/icons/small/my-profile-male--light.svg +49 -0
- package/assets/icons/small/my-profile-male.svg +50 -0
- package/assets/icons/small/my-profile.svg +14 -0
- package/assets/icons/small/new-airplanes--light.svg +14 -0
- package/assets/icons/small/new-airplanes.svg +14 -0
- package/assets/icons/small/personnel--light.svg +14 -0
- package/assets/icons/small/personnel.svg +14 -0
- package/assets/icons/small/pintrest.svg +1 -0
- package/assets/icons/small/premium--light.svg +17 -0
- package/assets/icons/small/premium.svg +17 -0
- package/assets/icons/small/print.svg +14 -0
- package/assets/icons/small/reddit.svg +1 -0
- package/assets/icons/small/rewards--light.svg +19 -0
- package/assets/icons/small/rewards-fast-track.svg +17 -0
- package/assets/icons/small/rewards-luggage.svg +22 -0
- package/assets/icons/small/rewards-seat.svg +22 -0
- package/assets/icons/small/rewards.svg +19 -0
- package/assets/icons/small/route-network--light.svg +25 -0
- package/assets/icons/small/route-network.svg +25 -0
- package/assets/icons/small/search--light.svg +16 -0
- package/assets/icons/small/search.svg +16 -0
- package/assets/icons/small/seat-reservation--light.svg +14 -0
- package/assets/icons/small/seat-reservation.svg +14 -0
- package/assets/icons/small/skis--light.svg +24 -0
- package/assets/icons/small/skis.svg +24 -0
- package/assets/icons/small/special-needs--light.svg +16 -0
- package/assets/icons/small/special-needs.svg +16 -0
- package/assets/icons/small/sun--light.svg +17 -0
- package/assets/icons/small/sun.svg +19 -0
- package/assets/icons/small/transit-stop--light.svg +19 -0
- package/assets/icons/small/transit-stop.svg +21 -0
- package/assets/icons/small/trash--light.svg +7 -0
- package/assets/icons/small/trash.svg +7 -0
- package/assets/icons/small/travel-deals--light.svg +9 -0
- package/assets/icons/small/travel-deals.svg +9 -0
- package/assets/icons/small/twitter.svg +17 -0
- package/assets/icons/small/type-asia--light.svg +20 -0
- package/assets/icons/small/type-asia.svg +20 -0
- package/assets/icons/small/type-city-vibes--light.svg +10 -0
- package/assets/icons/small/type-city-vibes.svg +10 -0
- package/assets/icons/small/type-greece--light.svg +22 -0
- package/assets/icons/small/type-greece.svg +22 -0
- package/assets/icons/small/type-norway--light.svg +15 -0
- package/assets/icons/small/type-norway.svg +15 -0
- package/assets/icons/small/type-scandinavia--light.svg +17 -0
- package/assets/icons/small/type-scandinavia.svg +35 -0
- package/assets/icons/small/type-shopping--light.svg +13 -0
- package/assets/icons/small/type-shopping.svg +13 -0
- package/assets/icons/small/type-skiing--light.svg +18 -0
- package/assets/icons/small/type-skiing.svg +18 -0
- package/assets/icons/small/type-spain--light.svg +12 -0
- package/assets/icons/small/type-spain.svg +12 -0
- package/assets/icons/small/type-sun-and-sea--light.svg +59 -0
- package/assets/icons/small/type-sun-and-sea.svg +59 -0
- package/assets/icons/small/type-usa--light.svg +24 -0
- package/assets/icons/small/type-usa.svg +24 -0
- package/assets/icons/small/wifi--light.svg +17 -0
- package/assets/icons/small/wifi.svg +17 -0
- package/assets/icons/small/youtube.svg +11 -0
- package/assets/icons/tablet-landscape.svg +12 -0
- package/assets/icons/tablet-portrait.svg +12 -0
- package/assets/icons/upgrade.svg +8 -0
- package/assets/icons/weather/humidity.svg +1 -0
- package/assets/icons/weather/sun.svg +1 -0
- package/assets/icons/weather/sunrise.svg +1 -0
- package/assets/icons/weather/sunset.svg +1 -0
- package/assets/icons/weather/temperature.svg +1 -0
- package/assets/icons/weather/weather--cloud.svg +1 -0
- package/assets/icons/weather/weather--rain-sun.svg +1 -0
- package/assets/icons/weather/weather--rain.svg +1 -0
- package/assets/icons/weather/weather--storm.svg +1 -0
- package/assets/icons/weather/weather--sun-cloud.svg +1 -0
- package/assets/icons/weather/weather--sun.svg +1 -0
- package/assets/images/cloud-1.svg +1 -0
- package/assets/images/logo--mobile.svg +50 -0
- package/assets/images/logo.svg +135 -0
- package/assets/images/slider-bar.svg +7 -0
- package/assets/images/slider-thumb-disabled.svg +19 -0
- package/assets/images/slider-thumb.svg +14 -0
- package/bundles/norwegian-core-components.umd.js +11898 -0
- package/bundles/norwegian-core-components.umd.js.map +1 -0
- package/esm2015/lib/components/accordion/accordion.component.js +118 -0
- package/esm2015/lib/components/accordion/accordion.module.js +15 -0
- package/esm2015/lib/components/accordion/index.js +3 -0
- package/esm2015/lib/components/airport-select/airport-select-dropdown/airport-select-dropdown.component.js +583 -0
- package/esm2015/lib/components/airport-select/airport-select.component.js +400 -0
- package/esm2015/lib/components/airport-select/airport-select.module.js +27 -0
- package/esm2015/lib/components/airport-select/index.js +4 -0
- package/esm2015/lib/components/airport-select/models/airport.model.js +2 -0
- package/esm2015/lib/components/airport-select/models/results-labels.model.js +3 -0
- package/esm2015/lib/components/airport-select/services/airport-select-dropdown.service.js +34 -0
- package/esm2015/lib/components/airport-select/services/airport-select.service.js +29 -0
- package/esm2015/lib/components/autocomplete/autocomplete.component.js +265 -0
- package/esm2015/lib/components/autocomplete/autocomplete.module.js +26 -0
- package/esm2015/lib/components/autocomplete/index.js +4 -0
- package/esm2015/lib/components/autocomplete/models/autocomplete.model.js +2 -0
- package/esm2015/lib/components/backdrop/backdrop.component.js +54 -0
- package/esm2015/lib/components/backdrop/backdrop.module.js +17 -0
- package/esm2015/lib/components/backdrop/index.js +3 -0
- package/esm2015/lib/components/box/box.component.js +61 -0
- package/esm2015/lib/components/box/box.module.js +14 -0
- package/esm2015/lib/components/box/index.js +3 -0
- package/esm2015/lib/components/button/button.component.js +140 -0
- package/esm2015/lib/components/button/button.module.js +15 -0
- package/esm2015/lib/components/button/index.js +3 -0
- package/esm2015/lib/components/checkbox/checkbox.component.js +125 -0
- package/esm2015/lib/components/checkbox/checkbox.module.js +15 -0
- package/esm2015/lib/components/checkbox/index.js +3 -0
- package/esm2015/lib/components/chip/chip.component.js +50 -0
- package/esm2015/lib/components/chip/chip.module.js +17 -0
- package/esm2015/lib/components/chip/index.js +3 -0
- package/esm2015/lib/components/container/container.component.js +47 -0
- package/esm2015/lib/components/container/container.module.js +14 -0
- package/esm2015/lib/components/container/index.js +3 -0
- package/esm2015/lib/components/continue/continue.component.js +173 -0
- package/esm2015/lib/components/continue/continue.module.js +23 -0
- package/esm2015/lib/components/continue/index.js +3 -0
- package/esm2015/lib/components/cover/cover.component.js +61 -0
- package/esm2015/lib/components/cover/cover.module.js +16 -0
- package/esm2015/lib/components/cover/index.js +3 -0
- package/esm2015/lib/components/datepicker/calendar/calendar-date.model.js +2 -0
- package/esm2015/lib/components/datepicker/calendar/calendar.component.js +560 -0
- package/esm2015/lib/components/datepicker/calendar/enums/week-start.enum.js +6 -0
- package/esm2015/lib/components/datepicker/calendar/models/day.model.js +2 -0
- package/esm2015/lib/components/datepicker/calendar/models/select-option.model.js +2 -0
- package/esm2015/lib/components/datepicker/calendar/models/week.model.js +2 -0
- package/esm2015/lib/components/datepicker/datepicker.component.js +511 -0
- package/esm2015/lib/components/datepicker/datepicker.module.js +34 -0
- package/esm2015/lib/components/datepicker/index.js +5 -0
- package/esm2015/lib/components/datepicker/services/calendar.service.js +217 -0
- package/esm2015/lib/components/datepicker-combo/datepicker-combo.component.js +306 -0
- package/esm2015/lib/components/datepicker-combo/datepicker-combo.module.js +22 -0
- package/esm2015/lib/components/datepicker-combo/index.js +3 -0
- package/esm2015/lib/components/dropdown/dropdown.component.js +146 -0
- package/esm2015/lib/components/dropdown/dropdown.module.js +21 -0
- package/esm2015/lib/components/dropdown/index.js +3 -0
- package/esm2015/lib/components/filter/enums/trip-type.enum.js +8 -0
- package/esm2015/lib/components/filter/filter.component.js +1100 -0
- package/esm2015/lib/components/filter/filter.module.js +44 -0
- package/esm2015/lib/components/filter/index.js +4 -0
- package/esm2015/lib/components/grid/col/col.component.js +47 -0
- package/esm2015/lib/components/grid/grid.component.js +55 -0
- package/esm2015/lib/components/grid/grid.module.js +15 -0
- package/esm2015/lib/components/grid/index.js +4 -0
- package/esm2015/lib/components/icon/icon.component.js +42 -0
- package/esm2015/lib/components/icon/icon.module.js +17 -0
- package/esm2015/lib/components/icon/index.js +3 -0
- package/esm2015/lib/components/icon-list/icon-list.component.js +46 -0
- package/esm2015/lib/components/icon-list/icon-list.model.js +2 -0
- package/esm2015/lib/components/icon-list/icon-list.module.js +15 -0
- package/esm2015/lib/components/icon-list/index.js +4 -0
- package/esm2015/lib/components/index.js +49 -0
- package/esm2015/lib/components/info/index.js +4 -0
- package/esm2015/lib/components/info/info.component.js +81 -0
- package/esm2015/lib/components/info/info.module.js +21 -0
- package/esm2015/lib/components/info/models/info.model.js +2 -0
- package/esm2015/lib/components/input/index.js +3 -0
- package/esm2015/lib/components/input/input.component.js +139 -0
- package/esm2015/lib/components/input/input.module.js +16 -0
- package/esm2015/lib/components/journey/index.js +3 -0
- package/esm2015/lib/components/journey/journey.component.js +122 -0
- package/esm2015/lib/components/journey/journey.module.js +19 -0
- package/esm2015/lib/components/journey/models/journey-flight.model.js +2 -0
- package/esm2015/lib/components/journey/models/journey.model.js +2 -0
- package/esm2015/lib/components/journey-availability/index.js +3 -0
- package/esm2015/lib/components/journey-availability/journey-availability.component.js +125 -0
- package/esm2015/lib/components/journey-availability/journey-availability.module.js +26 -0
- package/esm2015/lib/components/journey-availability-list/enums/availability-sort-option.enum.js +7 -0
- package/esm2015/lib/components/journey-availability-list/index.js +3 -0
- package/esm2015/lib/components/journey-availability-list/journey-availability-list.component.js +175 -0
- package/esm2015/lib/components/journey-availability-list/journey-availability-list.module.js +23 -0
- package/esm2015/lib/components/journey-selection/index.js +6 -0
- package/esm2015/lib/components/journey-selection/journey-selection.component.js +110 -0
- package/esm2015/lib/components/journey-selection/journey-selection.module.js +24 -0
- package/esm2015/lib/components/journey-selection/models/journey-selection-collapsed.model.js +2 -0
- package/esm2015/lib/components/journey-selection/models/journey-selection-common.model.js +2 -0
- package/esm2015/lib/components/journey-selection/models/journey-selection-expanded.model.js +2 -0
- package/esm2015/lib/components/journey-selection/models/journey-selection.model.js +2 -0
- package/esm2015/lib/components/journey-stopover/index.js +3 -0
- package/esm2015/lib/components/journey-stopover/journey-stopover.component.js +121 -0
- package/esm2015/lib/components/journey-stopover/journey-stopover.module.js +19 -0
- package/esm2015/lib/components/journey-stopover/models/stopover-time.model.js +2 -0
- package/esm2015/lib/components/list/index.js +4 -0
- package/esm2015/lib/components/list/list-item/list-item.component.js +56 -0
- package/esm2015/lib/components/list/list.component.js +75 -0
- package/esm2015/lib/components/list/list.module.js +15 -0
- package/esm2015/lib/components/modal/index.js +3 -0
- package/esm2015/lib/components/modal/modal.component.js +131 -0
- package/esm2015/lib/components/modal/modal.module.js +25 -0
- package/esm2015/lib/components/number-field/index.js +3 -0
- package/esm2015/lib/components/number-field/number-field.component.js +118 -0
- package/esm2015/lib/components/number-field/number-field.module.js +24 -0
- package/esm2015/lib/components/page-footer/index.js +3 -0
- package/esm2015/lib/components/page-footer/page-footer.component.js +49 -0
- package/esm2015/lib/components/page-footer/page-footer.module.js +16 -0
- package/esm2015/lib/components/page-header/hamburger/hamburger.component.js +24 -0
- package/esm2015/lib/components/page-header/index.js +5 -0
- package/esm2015/lib/components/page-header/page-header.component.js +119 -0
- package/esm2015/lib/components/page-header/page-header.module.js +18 -0
- package/esm2015/lib/components/page-header/search/search.component.js +47 -0
- package/esm2015/lib/components/passenger-select/enums/passenger-type.enum.js +7 -0
- package/esm2015/lib/components/passenger-select/index.js +5 -0
- package/esm2015/lib/components/passenger-select/models/passengers.model.js +2 -0
- package/esm2015/lib/components/passenger-select/passenger-select.component.js +204 -0
- package/esm2015/lib/components/passenger-select/passenger-select.module.js +19 -0
- package/esm2015/lib/components/phone-number/index.js +3 -0
- package/esm2015/lib/components/phone-number/phone-number.component.js +115 -0
- package/esm2015/lib/components/phone-number/phone-number.module.js +27 -0
- package/esm2015/lib/components/premium-toggle/index.js +3 -0
- package/esm2015/lib/components/premium-toggle/premium-toggle.component.js +66 -0
- package/esm2015/lib/components/premium-toggle/premium-toggle.module.js +19 -0
- package/esm2015/lib/components/radio/index.js +3 -0
- package/esm2015/lib/components/radio/radio.component.js +79 -0
- package/esm2015/lib/components/radio/radio.module.js +15 -0
- package/esm2015/lib/components/select/index.js +6 -0
- package/esm2015/lib/components/select/models/select-option.model.js +2 -0
- package/esm2015/lib/components/select/optgroup/optgroup.component.js +31 -0
- package/esm2015/lib/components/select/option/option.component.js +29 -0
- package/esm2015/lib/components/select/select.component.js +316 -0
- package/esm2015/lib/components/select/select.module.js +21 -0
- package/esm2015/lib/components/simple-list/index.js +3 -0
- package/esm2015/lib/components/simple-list/simple-list.component.js +42 -0
- package/esm2015/lib/components/simple-list/simple-list.module.js +14 -0
- package/esm2015/lib/components/slide-toggle/index.js +3 -0
- package/esm2015/lib/components/slide-toggle/slide-toggle.component.js +105 -0
- package/esm2015/lib/components/slide-toggle/slide-toggle.module.js +20 -0
- package/esm2015/lib/components/slider/index.js +3 -0
- package/esm2015/lib/components/slider/slider.component.js +447 -0
- package/esm2015/lib/components/slider/slider.module.js +19 -0
- package/esm2015/lib/components/sort/index.js +3 -0
- package/esm2015/lib/components/sort/sort.component.js +87 -0
- package/esm2015/lib/components/sort/sort.module.js +23 -0
- package/esm2015/lib/components/spinner/index.js +3 -0
- package/esm2015/lib/components/spinner/spinner.component.js +57 -0
- package/esm2015/lib/components/spinner/spinner.module.js +14 -0
- package/esm2015/lib/components/subsidy-discount/index.js +4 -0
- package/esm2015/lib/components/subsidy-discount/models/subsidy-discount.model.js +2 -0
- package/esm2015/lib/components/subsidy-discount/subsidy-discount.component.js +101 -0
- package/esm2015/lib/components/subsidy-discount/subsidy-discount.module.js +23 -0
- package/esm2015/lib/components/suggestions/index.js +3 -0
- package/esm2015/lib/components/suggestions/suggestions.component.js +40 -0
- package/esm2015/lib/components/suggestions/suggestions.module.js +19 -0
- package/esm2015/lib/components/tab-group/index.js +4 -0
- package/esm2015/lib/components/tab-group/tab/tab.component.js +123 -0
- package/esm2015/lib/components/tab-group/tab-group.component.js +85 -0
- package/esm2015/lib/components/tab-group/tab-group.module.js +20 -0
- package/esm2015/lib/components/table/column/column.component.js +17 -0
- package/esm2015/lib/components/table/column-group/column-group.component.js +34 -0
- package/esm2015/lib/components/table/index.js +11 -0
- package/esm2015/lib/components/table/services/table.service.js +20 -0
- package/esm2015/lib/components/table/table-body/table-body.component.js +27 -0
- package/esm2015/lib/components/table/table-foot/table-foot.component.js +27 -0
- package/esm2015/lib/components/table/table-head/table-head.component.js +27 -0
- package/esm2015/lib/components/table/table-row/table-data/table-data.component.js +15 -0
- package/esm2015/lib/components/table/table-row/table-header/table-header.component.js +15 -0
- package/esm2015/lib/components/table/table-row/table-row.component.js +27 -0
- package/esm2015/lib/components/table/table.component.js +29 -0
- package/esm2015/lib/components/table/table.module.js +45 -0
- package/esm2015/lib/components/textarea/index.js +3 -0
- package/esm2015/lib/components/textarea/textarea.component.js +73 -0
- package/esm2015/lib/components/textarea/textarea.module.js +20 -0
- package/esm2015/lib/components/toggle/index.js +3 -0
- package/esm2015/lib/components/toggle/models/options.model.js +3 -0
- package/esm2015/lib/components/toggle/toggle.component.js +77 -0
- package/esm2015/lib/components/toggle/toggle.module.js +22 -0
- package/esm2015/lib/components/trip-summary/index.js +3 -0
- package/esm2015/lib/components/trip-summary/trip-summary.component.js +152 -0
- package/esm2015/lib/components/trip-summary/trip-summary.module.js +23 -0
- package/esm2015/lib/components/weather-icon/index.js +3 -0
- package/esm2015/lib/components/weather-icon/weather-icon.component.js +56 -0
- package/esm2015/lib/components/weather-icon/weather-icon.module.js +14 -0
- package/esm2015/lib/core/base/nas-component.base.js +48 -0
- package/esm2015/lib/core/decorators/debounce.decorator.js +12 -0
- package/esm2015/lib/core/directives/index.js +3 -0
- package/esm2015/lib/core/directives/nas-class/nas-class.directive.js +75 -0
- package/esm2015/lib/core/directives/nas-class/nas-class.module.js +17 -0
- package/esm2015/lib/core/extensions/html-element.extension.js +31 -0
- package/esm2015/lib/core/index.js +5 -0
- package/esm2015/lib/core/models/abandoned-basket-item.model.js +2 -0
- package/esm2015/lib/core/models/animate.model.js +2 -0
- package/esm2015/lib/core/models/class.model.js +2 -0
- package/esm2015/lib/core/models/index.js +7 -0
- package/esm2015/lib/core/models/link.model.js +2 -0
- package/esm2015/lib/core/models/position.model.js +2 -0
- package/esm2015/lib/core/models/utc-date.model.js +40 -0
- package/esm2015/lib/core/services/abandoned-basket/abandoned-basket.service.js +55 -0
- package/esm2015/lib/core/services/animate-helper/animate-helper.service.js +47 -0
- package/esm2015/lib/core/services/bem-helper/bem-helper.service.js +41 -0
- package/esm2015/lib/core/services/date/date-compare.enum.js +7 -0
- package/esm2015/lib/core/services/date/date-helper.service.js +196 -0
- package/esm2015/lib/core/services/device/device-helper.service.js +43 -0
- package/esm2015/lib/core/services/geolocation/geolocation-state.enum.js +8 -0
- package/esm2015/lib/core/services/geolocation/geolocation.service.js +60 -0
- package/esm2015/lib/core/services/index.js +10 -0
- package/esm2015/lib/core/services/language/language-helper.service.js +162 -0
- package/esm2015/lib/core/services/sort/sort.service.js +19 -0
- package/esm2015/lib/core/services/viewport/viewport.service.js +29 -0
- package/esm2015/lib/index.js +5 -0
- package/esm2015/lib/services/get-position.service.js +21 -0
- package/esm2015/lib/services/index.js +2 -0
- package/esm2015/lib/shared/index.js +2 -0
- package/esm2015/lib/shared/models/flight-details.js +3 -0
- package/esm2015/lib/shared/models/index.js +5 -0
- package/esm2015/lib/shared/models/journey-availability-sort.model.js +2 -0
- package/esm2015/lib/shared/models/journey-availability.model.js +2 -0
- package/esm2015/lib/shared/models/journey-details.model.js +2 -0
- package/esm2015/lib/shared/models/journey-duration.model.js +2 -0
- package/esm2015/lib/shared/models/journey-stopover.model.js +2 -0
- package/esm2015/lib/shared/models/journey-transit-info.model.js +2 -0
- package/esm2015/lib/shared/models/operating-carrier.model.js +2 -0
- package/esm2015/lib/shared/models/sort-option.model.js +2 -0
- package/esm2015/lib/shared/models/sort.model.js +2 -0
- package/esm2015/lib/shared/models/trip-item-details.model.js +2 -0
- package/esm2015/lib/shared/models/trip-summary-details.model.js +2 -0
- package/esm2015/lib/shared/models/trip-summary.model.js +2 -0
- package/esm2015/norwegian-core-components.js +12 -0
- package/esm2015/public_api.js +2 -0
- package/fesm2015/norwegian-core-components.js +10595 -0
- package/fesm2015/norwegian-core-components.js.map +1 -0
- package/lib/components/accordion/accordion.component.d.ts +205 -0
- package/lib/components/accordion/accordion.module.d.ts +2 -0
- package/lib/components/accordion/index.d.ts +2 -0
- package/lib/components/airport-select/airport-select-dropdown/airport-select-dropdown.component.d.ts +94 -0
- package/lib/components/airport-select/airport-select.component.d.ts +256 -0
- package/lib/components/airport-select/airport-select.module.d.ts +2 -0
- package/lib/components/airport-select/index.d.ts +3 -0
- package/lib/components/airport-select/models/airport.model.d.ts +10 -0
- package/lib/components/airport-select/models/results-labels.model.d.ts +7 -0
- package/lib/components/airport-select/services/airport-select-dropdown.service.d.ts +7 -0
- package/lib/components/airport-select/services/airport-select.service.d.ts +5 -0
- package/lib/components/autocomplete/autocomplete.component.d.ts +115 -0
- package/lib/components/autocomplete/autocomplete.module.d.ts +2 -0
- package/lib/components/autocomplete/index.d.ts +3 -0
- package/lib/components/autocomplete/models/autocomplete.model.d.ts +5 -0
- package/lib/components/backdrop/backdrop.component.d.ts +32 -0
- package/lib/components/backdrop/backdrop.module.d.ts +2 -0
- package/lib/components/backdrop/index.d.ts +2 -0
- package/lib/components/box/box.component.d.ts +69 -0
- package/lib/components/box/box.module.d.ts +2 -0
- package/lib/components/box/index.d.ts +2 -0
- package/lib/components/button/button.component.d.ts +238 -0
- package/lib/components/button/button.module.d.ts +2 -0
- package/lib/components/button/index.d.ts +2 -0
- package/lib/components/checkbox/checkbox.component.d.ts +119 -0
- package/lib/components/checkbox/checkbox.module.d.ts +2 -0
- package/lib/components/checkbox/index.d.ts +2 -0
- package/lib/components/chip/chip.component.d.ts +61 -0
- package/lib/components/chip/chip.module.d.ts +2 -0
- package/lib/components/chip/index.d.ts +2 -0
- package/lib/components/container/container.component.d.ts +47 -0
- package/lib/components/container/container.module.d.ts +2 -0
- package/lib/components/container/index.d.ts +2 -0
- package/lib/components/continue/continue.component.d.ts +154 -0
- package/lib/components/continue/continue.module.d.ts +2 -0
- package/lib/components/continue/index.d.ts +2 -0
- package/lib/components/cover/cover.component.d.ts +112 -0
- package/lib/components/cover/cover.module.d.ts +2 -0
- package/lib/components/cover/index.d.ts +2 -0
- package/lib/components/datepicker/calendar/calendar-date.model.d.ts +5 -0
- package/lib/components/datepicker/calendar/calendar.component.d.ts +156 -0
- package/lib/components/datepicker/calendar/enums/week-start.enum.d.ts +4 -0
- package/lib/components/datepicker/calendar/models/day.model.d.ts +9 -0
- package/lib/components/datepicker/calendar/models/select-option.model.d.ts +4 -0
- package/lib/components/datepicker/calendar/models/week.model.d.ts +5 -0
- package/lib/components/datepicker/datepicker.component.d.ts +235 -0
- package/lib/components/datepicker/datepicker.module.d.ts +2 -0
- package/lib/components/datepicker/index.d.ts +4 -0
- package/lib/components/datepicker/services/calendar.service.d.ts +24 -0
- package/lib/components/datepicker-combo/datepicker-combo.component.d.ts +246 -0
- package/lib/components/datepicker-combo/datepicker-combo.module.d.ts +2 -0
- package/lib/components/datepicker-combo/index.d.ts +2 -0
- package/lib/components/dropdown/dropdown.component.d.ts +64 -0
- package/lib/components/dropdown/dropdown.module.d.ts +2 -0
- package/lib/components/dropdown/index.d.ts +2 -0
- package/lib/components/filter/enums/trip-type.enum.d.ts +6 -0
- package/lib/components/filter/filter.component.d.ts +693 -0
- package/lib/components/filter/filter.module.d.ts +2 -0
- package/lib/components/filter/index.d.ts +3 -0
- package/lib/components/grid/col/col.component.d.ts +37 -0
- package/lib/components/grid/grid.component.d.ts +61 -0
- package/lib/components/grid/grid.module.d.ts +2 -0
- package/lib/components/grid/index.d.ts +3 -0
- package/lib/components/icon/icon.component.d.ts +57 -0
- package/lib/components/icon/icon.module.d.ts +2 -0
- package/lib/components/icon/index.d.ts +2 -0
- package/lib/components/icon-list/icon-list.component.d.ts +41 -0
- package/lib/components/icon-list/icon-list.model.d.ts +7 -0
- package/lib/components/icon-list/icon-list.module.d.ts +2 -0
- package/lib/components/icon-list/index.d.ts +3 -0
- package/lib/components/index.d.ts +48 -0
- package/lib/components/info/index.d.ts +3 -0
- package/lib/components/info/info.component.d.ts +71 -0
- package/lib/components/info/info.module.d.ts +2 -0
- package/lib/components/info/models/info.model.d.ts +7 -0
- package/lib/components/input/index.d.ts +2 -0
- package/lib/components/input/input.component.d.ts +163 -0
- package/lib/components/input/input.module.d.ts +2 -0
- package/lib/components/journey/index.d.ts +2 -0
- package/lib/components/journey/journey.component.d.ts +119 -0
- package/lib/components/journey/journey.module.d.ts +2 -0
- package/lib/components/journey/models/journey-flight.model.d.ts +10 -0
- package/lib/components/journey/models/journey.model.d.ts +5 -0
- package/lib/components/journey-availability/index.d.ts +2 -0
- package/lib/components/journey-availability/journey-availability.component.d.ts +90 -0
- package/lib/components/journey-availability/journey-availability.module.d.ts +2 -0
- package/lib/components/journey-availability-list/enums/availability-sort-option.enum.d.ts +5 -0
- package/lib/components/journey-availability-list/index.d.ts +2 -0
- package/lib/components/journey-availability-list/journey-availability-list.component.d.ts +116 -0
- package/lib/components/journey-availability-list/journey-availability-list.module.d.ts +2 -0
- package/lib/components/journey-selection/index.d.ts +5 -0
- package/lib/components/journey-selection/journey-selection.component.d.ts +70 -0
- package/lib/components/journey-selection/journey-selection.module.d.ts +2 -0
- package/lib/components/journey-selection/models/journey-selection-collapsed.model.d.ts +11 -0
- package/lib/components/journey-selection/models/journey-selection-common.model.d.ts +7 -0
- package/lib/components/journey-selection/models/journey-selection-expanded.model.d.ts +5 -0
- package/lib/components/journey-selection/models/journey-selection.model.d.ts +14 -0
- package/lib/components/journey-stopover/index.d.ts +2 -0
- package/lib/components/journey-stopover/journey-stopover.component.d.ts +132 -0
- package/lib/components/journey-stopover/journey-stopover.module.d.ts +2 -0
- package/lib/components/journey-stopover/models/stopover-time.model.d.ts +4 -0
- package/lib/components/list/index.d.ts +3 -0
- package/lib/components/list/list-item/list-item.component.d.ts +32 -0
- package/lib/components/list/list.component.d.ts +65 -0
- package/lib/components/list/list.module.d.ts +2 -0
- package/lib/components/modal/index.d.ts +2 -0
- package/lib/components/modal/modal.component.d.ts +119 -0
- package/lib/components/modal/modal.module.d.ts +2 -0
- package/lib/components/number-field/index.d.ts +2 -0
- package/lib/components/number-field/number-field.component.d.ts +96 -0
- package/lib/components/number-field/number-field.module.d.ts +2 -0
- package/lib/components/page-footer/index.d.ts +2 -0
- package/lib/components/page-footer/page-footer.component.d.ts +57 -0
- package/lib/components/page-footer/page-footer.module.d.ts +2 -0
- package/lib/components/page-header/hamburger/hamburger.component.d.ts +9 -0
- package/lib/components/page-header/index.d.ts +4 -0
- package/lib/components/page-header/page-header.component.d.ts +84 -0
- package/lib/components/page-header/page-header.module.d.ts +2 -0
- package/lib/components/page-header/search/search.component.d.ts +23 -0
- package/lib/components/passenger-select/enums/passenger-type.enum.d.ts +5 -0
- package/lib/components/passenger-select/index.d.ts +4 -0
- package/lib/components/passenger-select/models/passengers.model.d.ts +9 -0
- package/lib/components/passenger-select/passenger-select.component.d.ts +111 -0
- package/lib/components/passenger-select/passenger-select.module.d.ts +2 -0
- package/lib/components/phone-number/index.d.ts +2 -0
- package/lib/components/phone-number/phone-number.component.d.ts +278 -0
- package/lib/components/phone-number/phone-number.module.d.ts +2 -0
- package/lib/components/premium-toggle/index.d.ts +2 -0
- package/lib/components/premium-toggle/premium-toggle.component.d.ts +51 -0
- package/lib/components/premium-toggle/premium-toggle.module.d.ts +2 -0
- package/lib/components/radio/index.d.ts +2 -0
- package/lib/components/radio/radio.component.d.ts +115 -0
- package/lib/components/radio/radio.module.d.ts +2 -0
- package/lib/components/select/index.d.ts +5 -0
- package/lib/components/select/models/select-option.model.d.ts +4 -0
- package/lib/components/select/optgroup/optgroup.component.d.ts +22 -0
- package/lib/components/select/option/option.component.d.ts +21 -0
- package/lib/components/select/select.component.d.ts +156 -0
- package/lib/components/select/select.module.d.ts +2 -0
- package/lib/components/simple-list/index.d.ts +2 -0
- package/lib/components/simple-list/simple-list.component.d.ts +49 -0
- package/lib/components/simple-list/simple-list.module.d.ts +2 -0
- package/lib/components/slide-toggle/index.d.ts +2 -0
- package/lib/components/slide-toggle/slide-toggle.component.d.ts +60 -0
- package/lib/components/slide-toggle/slide-toggle.module.d.ts +2 -0
- package/lib/components/slider/index.d.ts +2 -0
- package/lib/components/slider/slider.component.d.ts +177 -0
- package/lib/components/slider/slider.module.d.ts +2 -0
- package/lib/components/sort/index.d.ts +2 -0
- package/lib/components/sort/sort.component.d.ts +47 -0
- package/lib/components/sort/sort.module.d.ts +2 -0
- package/lib/components/spinner/index.d.ts +2 -0
- package/lib/components/spinner/spinner.component.d.ts +58 -0
- package/lib/components/spinner/spinner.module.d.ts +2 -0
- package/lib/components/subsidy-discount/index.d.ts +3 -0
- package/lib/components/subsidy-discount/models/subsidy-discount.model.d.ts +4 -0
- package/lib/components/subsidy-discount/subsidy-discount.component.d.ts +57 -0
- package/lib/components/subsidy-discount/subsidy-discount.module.d.ts +2 -0
- package/lib/components/suggestions/index.d.ts +2 -0
- package/lib/components/suggestions/suggestions.component.d.ts +30 -0
- package/lib/components/suggestions/suggestions.module.d.ts +2 -0
- package/lib/components/tab-group/index.d.ts +3 -0
- package/lib/components/tab-group/tab/tab.component.d.ts +84 -0
- package/lib/components/tab-group/tab-group.component.d.ts +30 -0
- package/lib/components/tab-group/tab-group.module.d.ts +2 -0
- package/lib/components/table/column/column.component.d.ts +3 -0
- package/lib/components/table/column-group/column-group.component.d.ts +12 -0
- package/lib/components/table/index.d.ts +10 -0
- package/lib/components/table/services/table.service.d.ts +5 -0
- package/lib/components/table/table-body/table-body.component.d.ts +12 -0
- package/lib/components/table/table-foot/table-foot.component.d.ts +12 -0
- package/lib/components/table/table-head/table-head.component.d.ts +12 -0
- package/lib/components/table/table-row/table-data/table-data.component.d.ts +2 -0
- package/lib/components/table/table-row/table-header/table-header.component.d.ts +2 -0
- package/lib/components/table/table-row/table-row.component.d.ts +12 -0
- package/lib/components/table/table.component.d.ts +21 -0
- package/lib/components/table/table.module.d.ts +2 -0
- package/lib/components/textarea/index.d.ts +2 -0
- package/lib/components/textarea/textarea.component.d.ts +121 -0
- package/lib/components/textarea/textarea.module.d.ts +2 -0
- package/lib/components/toggle/index.d.ts +2 -0
- package/lib/components/toggle/models/options.model.d.ts +6 -0
- package/lib/components/toggle/toggle.component.d.ts +183 -0
- package/lib/components/toggle/toggle.module.d.ts +2 -0
- package/lib/components/trip-summary/index.d.ts +2 -0
- package/lib/components/trip-summary/trip-summary.component.d.ts +173 -0
- package/lib/components/trip-summary/trip-summary.module.d.ts +2 -0
- package/lib/components/weather-icon/index.d.ts +2 -0
- package/lib/components/weather-icon/weather-icon.component.d.ts +51 -0
- package/lib/components/weather-icon/weather-icon.module.d.ts +2 -0
- package/lib/core/base/nas-component.base.d.ts +11 -0
- package/lib/core/decorators/debounce.decorator.d.ts +1 -0
- package/lib/core/directives/index.d.ts +2 -0
- package/lib/core/directives/nas-class/nas-class.directive.d.ts +11 -0
- package/lib/core/directives/nas-class/nas-class.module.d.ts +2 -0
- package/lib/core/extensions/html-element.extension.d.ts +6 -0
- package/lib/core/index.d.ts +4 -0
- package/lib/core/models/abandoned-basket-item.model.d.ts +14 -0
- package/lib/core/models/animate.model.d.ts +6 -0
- package/lib/core/models/class.model.d.ts +6 -0
- package/lib/core/models/index.d.ts +6 -0
- package/lib/core/models/link.model.d.ts +4 -0
- package/lib/core/models/position.model.d.ts +4 -0
- package/lib/core/models/utc-date.model.d.ts +13 -0
- package/lib/core/services/abandoned-basket/abandoned-basket.service.d.ts +7 -0
- package/lib/core/services/animate-helper/animate-helper.service.d.ts +6 -0
- package/lib/core/services/bem-helper/bem-helper.service.d.ts +4 -0
- package/lib/core/services/date/date-compare.enum.d.ts +5 -0
- package/lib/core/services/date/date-helper.service.d.ts +19 -0
- package/lib/core/services/device/device-helper.service.d.ts +13 -0
- package/lib/core/services/geolocation/geolocation-state.enum.d.ts +6 -0
- package/lib/core/services/geolocation/geolocation.service.d.ts +6 -0
- package/lib/core/services/index.d.ts +9 -0
- package/lib/core/services/language/language-helper.service.d.ts +9 -0
- package/lib/core/services/sort/sort.service.d.ts +3 -0
- package/lib/core/services/viewport/viewport.service.d.ts +8 -0
- package/lib/index.d.ts +4 -0
- package/lib/services/get-position.service.d.ts +6 -0
- package/lib/services/index.d.ts +1 -0
- package/lib/shared/index.d.ts +1 -0
- package/lib/shared/models/flight-details.d.ts +22 -0
- package/lib/shared/models/index.d.ts +4 -0
- package/lib/shared/models/journey-availability-sort.model.d.ts +8 -0
- package/lib/shared/models/journey-availability.model.d.ts +25 -0
- package/lib/shared/models/journey-details.model.d.ts +8 -0
- package/lib/shared/models/journey-duration.model.d.ts +7 -0
- package/lib/shared/models/journey-stopover.model.d.ts +11 -0
- package/lib/shared/models/journey-transit-info.model.d.ts +5 -0
- package/lib/shared/models/operating-carrier.model.d.ts +4 -0
- package/lib/shared/models/sort-option.model.d.ts +11 -0
- package/lib/shared/models/sort.model.d.ts +10 -0
- package/lib/shared/models/trip-item-details.model.d.ts +12 -0
- package/lib/shared/models/trip-summary-details.model.d.ts +5 -0
- package/lib/shared/models/trip-summary.model.d.ts +4 -0
- package/norwegian-core-components.d.ts +11 -0
- package/norwegian-core-components.metadata.json +1 -0
- package/package.json +19 -0
- package/public_api.d.ts +1 -0
- package/styles/1__settings/_colors.scss +65 -0
- package/styles/1__settings/_mixins.scss +226 -0
- package/styles/1__settings/_type.scss +53 -0
- package/styles/1__settings/_vars.scss +62 -0
- package/styles/2__generic/_fonts.scss +99 -0
- package/styles/2__generic/_reset.scss +275 -0
- package/styles/3__base/_animations.scss +138 -0
- package/styles/3__base/_body.scss +23 -0
- package/styles/3__base/_fixes.scss +5 -0
- package/styles/3__base/_form.scss +18 -0
- package/styles/3__base/_grid.scss +115 -0
- package/styles/3__base/_heading.scss +110 -0
- package/styles/3__base/_hr.scss +30 -0
- package/styles/3__base/_input.scss +38 -0
- package/styles/3__base/_link.scss +48 -0
- package/styles/3__base/_table.scss +44 -0
- package/styles/3__base/_type.scss +69 -0
- package/styles/_helpers.scss +4 -0
- package/styles/_index.scss +15 -0
|
@@ -0,0 +1,196 @@
|
|
|
1
|
+
import { Injectable } from '@angular/core';
|
|
2
|
+
import { DateCompare } from './date-compare.enum';
|
|
3
|
+
import { UtcDate } from '../../models';
|
|
4
|
+
export class DateHelper {
|
|
5
|
+
utcDate(input) {
|
|
6
|
+
if (!input) {
|
|
7
|
+
input = new Date();
|
|
8
|
+
}
|
|
9
|
+
let utcDate = null;
|
|
10
|
+
if (typeof input === 'string') {
|
|
11
|
+
let inputYearMonthDate = input;
|
|
12
|
+
let inputHoursMinutes = input;
|
|
13
|
+
if (input.indexOf('T') > -1) {
|
|
14
|
+
const indexOfT = input.indexOf('T');
|
|
15
|
+
inputYearMonthDate = input.slice(0, indexOfT);
|
|
16
|
+
inputHoursMinutes = input.slice(indexOfT + 1, indexOfT + 6);
|
|
17
|
+
}
|
|
18
|
+
const yearMonthDateParts = inputYearMonthDate.split('-');
|
|
19
|
+
const year = Number(yearMonthDateParts[0]);
|
|
20
|
+
const month = Number(yearMonthDateParts[1]) - 1;
|
|
21
|
+
const date = Number(yearMonthDateParts[2]) || 1;
|
|
22
|
+
const hoursMinutesParts = inputHoursMinutes.split(':');
|
|
23
|
+
const hours = Number(hoursMinutesParts[0]);
|
|
24
|
+
const minutes = Number(hoursMinutesParts[1]);
|
|
25
|
+
utcDate = new UtcDate(year, month, date, hours, minutes);
|
|
26
|
+
}
|
|
27
|
+
if (input instanceof Date) {
|
|
28
|
+
utcDate = new UtcDate(input.getUTCFullYear(), input.getUTCMonth(), input.getUTCDate(), input.getUTCHours(), input.getUTCMinutes());
|
|
29
|
+
return utcDate;
|
|
30
|
+
}
|
|
31
|
+
return utcDate;
|
|
32
|
+
}
|
|
33
|
+
date(utcDate) {
|
|
34
|
+
if (!utcDate) {
|
|
35
|
+
return null;
|
|
36
|
+
}
|
|
37
|
+
const date = new Date(Date.UTC(utcDate.year, utcDate.month, utcDate.date, utcDate.hours, utcDate.minutes));
|
|
38
|
+
return date;
|
|
39
|
+
}
|
|
40
|
+
getWeekNumber(input) {
|
|
41
|
+
if (!input) {
|
|
42
|
+
return -1;
|
|
43
|
+
}
|
|
44
|
+
const date = new Date(input);
|
|
45
|
+
const day = new Date(Date.UTC(date.getFullYear(), date.getMonth(), date.getDate()));
|
|
46
|
+
const dayNumber = day.getUTCDay() || 7;
|
|
47
|
+
day.setUTCDate(day.getUTCDate() + 4 - dayNumber);
|
|
48
|
+
const yearStart = new Date(Date.UTC(day.getUTCFullYear(), 0, 1));
|
|
49
|
+
return Math.ceil((((day.getTime() - yearStart.getTime()) / 86400000) + 1) / 7);
|
|
50
|
+
}
|
|
51
|
+
toYearMonthDateString(date) {
|
|
52
|
+
return `${date.year}-${('0' + (date.month + 1)).slice(-2)}-${('0' + date.date).slice(-2)}`;
|
|
53
|
+
}
|
|
54
|
+
toYearMonthString(date) {
|
|
55
|
+
return `${date.year}-${('0' + (date.month + 1)).slice(-2)}`;
|
|
56
|
+
}
|
|
57
|
+
isEqual(date1, date2, ignoreDate = false, ignoreHours = false, ignoreMinutes = false) {
|
|
58
|
+
if (!date1 || !date2) {
|
|
59
|
+
return false;
|
|
60
|
+
}
|
|
61
|
+
let isEqual = false;
|
|
62
|
+
if (!date1 || !date2) {
|
|
63
|
+
isEqual = date1 === date2;
|
|
64
|
+
return isEqual;
|
|
65
|
+
}
|
|
66
|
+
isEqual = this.compare(date1, date2, ignoreDate, ignoreHours, ignoreMinutes) === DateCompare.equal;
|
|
67
|
+
return isEqual;
|
|
68
|
+
}
|
|
69
|
+
isLessThan(date1, date2, ignoreDate = false, ignoreHours = false, ignoreMinutes = false) {
|
|
70
|
+
if (!date1 || !date2) {
|
|
71
|
+
return false;
|
|
72
|
+
}
|
|
73
|
+
const isLessThan = this.compare(date1, date2, ignoreDate, ignoreHours, ignoreMinutes) === DateCompare.lessThan;
|
|
74
|
+
return isLessThan;
|
|
75
|
+
}
|
|
76
|
+
isGreaterThan(date1, date2, ignoreDate = false, ignoreHours = false, ignoreMinutes = false) {
|
|
77
|
+
if (!date1 || !date2) {
|
|
78
|
+
return false;
|
|
79
|
+
}
|
|
80
|
+
const isGreaterThan = this.compare(date1, date2, ignoreDate, ignoreHours, ignoreMinutes) === DateCompare.greaterThan;
|
|
81
|
+
return isGreaterThan;
|
|
82
|
+
}
|
|
83
|
+
isInThePast(date, ignoreDate = false, ignoreHours = false, ignoreMinutes = false) {
|
|
84
|
+
if (!date) {
|
|
85
|
+
return true;
|
|
86
|
+
}
|
|
87
|
+
const today = this.utcDate();
|
|
88
|
+
if (date.year > today.year) {
|
|
89
|
+
return false;
|
|
90
|
+
}
|
|
91
|
+
else if (date.year < today.year) {
|
|
92
|
+
return true;
|
|
93
|
+
}
|
|
94
|
+
if (date.month > today.month) {
|
|
95
|
+
return false;
|
|
96
|
+
}
|
|
97
|
+
else if (date.month < today.month) {
|
|
98
|
+
return true;
|
|
99
|
+
}
|
|
100
|
+
if (!ignoreDate) {
|
|
101
|
+
if (date.date > today.date) {
|
|
102
|
+
return false;
|
|
103
|
+
}
|
|
104
|
+
if (!ignoreHours) {
|
|
105
|
+
if (date.hours > today.hours) {
|
|
106
|
+
return false;
|
|
107
|
+
}
|
|
108
|
+
if (!ignoreMinutes) {
|
|
109
|
+
return date.minutes < today.minutes;
|
|
110
|
+
}
|
|
111
|
+
else {
|
|
112
|
+
return true;
|
|
113
|
+
}
|
|
114
|
+
}
|
|
115
|
+
else {
|
|
116
|
+
return date.date !== today.date;
|
|
117
|
+
}
|
|
118
|
+
}
|
|
119
|
+
}
|
|
120
|
+
isSameMonth(date1, date2) {
|
|
121
|
+
if (!date1 || !date2) {
|
|
122
|
+
return null;
|
|
123
|
+
}
|
|
124
|
+
return date1.year === date2.year && date1.month === date2.month;
|
|
125
|
+
}
|
|
126
|
+
isSameDate(date1, date2) {
|
|
127
|
+
if (!date1 || !date2) {
|
|
128
|
+
return false;
|
|
129
|
+
}
|
|
130
|
+
return this.compare(date1, date2, false, true, true) === DateCompare.equal;
|
|
131
|
+
}
|
|
132
|
+
getUtcNumberOfMonthBetween(date1, date2) {
|
|
133
|
+
return this.getNumberOfMonthBetween(this.date(date1), this.date(date2));
|
|
134
|
+
}
|
|
135
|
+
getUtcNumberOfDaysBetween(date1, date2) {
|
|
136
|
+
return this.getNumberOfDaysBetween(this.date(date1), this.date(date2));
|
|
137
|
+
}
|
|
138
|
+
getNumberOfDaysBetween(date1, date2) {
|
|
139
|
+
const timeDifference = date2.getTime() - date1.getTime();
|
|
140
|
+
const daysBetween = timeDifference / (1000 * 3600 * 24);
|
|
141
|
+
return daysBetween;
|
|
142
|
+
}
|
|
143
|
+
getNumberOfMonthBetween(date1, date2) {
|
|
144
|
+
let months;
|
|
145
|
+
months = (date2.getUTCFullYear() - date1.getUTCFullYear()) * 12;
|
|
146
|
+
months -= date1.getUTCMonth() + 1;
|
|
147
|
+
months += date2.getUTCMonth();
|
|
148
|
+
return months <= 0 ? 0 : months;
|
|
149
|
+
}
|
|
150
|
+
compare(date1, date2, ignoreDate = false, ignoreHours = false, ignoreMinutes = false) {
|
|
151
|
+
if (!date1 || !date2) {
|
|
152
|
+
return null;
|
|
153
|
+
}
|
|
154
|
+
if (date1.year > date2.year) {
|
|
155
|
+
return DateCompare.greaterThan;
|
|
156
|
+
}
|
|
157
|
+
else if (date1.year < date2.year) {
|
|
158
|
+
return DateCompare.lessThan;
|
|
159
|
+
}
|
|
160
|
+
if (date1.month > date2.month) {
|
|
161
|
+
return DateCompare.greaterThan;
|
|
162
|
+
}
|
|
163
|
+
else if (date1.month < date2.month) {
|
|
164
|
+
return DateCompare.lessThan;
|
|
165
|
+
}
|
|
166
|
+
if (!ignoreDate) {
|
|
167
|
+
if (date1.date > date2.date) {
|
|
168
|
+
return DateCompare.greaterThan;
|
|
169
|
+
}
|
|
170
|
+
else if (date1.date < date2.date) {
|
|
171
|
+
return DateCompare.lessThan;
|
|
172
|
+
}
|
|
173
|
+
if (!ignoreHours) {
|
|
174
|
+
if (date1.hours > date2.hours) {
|
|
175
|
+
return DateCompare.greaterThan;
|
|
176
|
+
}
|
|
177
|
+
else if (date1.hours < date2.hours) {
|
|
178
|
+
return DateCompare.lessThan;
|
|
179
|
+
}
|
|
180
|
+
if (!ignoreMinutes) {
|
|
181
|
+
if (date1.minutes > date2.minutes) {
|
|
182
|
+
return DateCompare.greaterThan;
|
|
183
|
+
}
|
|
184
|
+
else if (date1.minutes < date2.minutes) {
|
|
185
|
+
return DateCompare.lessThan;
|
|
186
|
+
}
|
|
187
|
+
}
|
|
188
|
+
}
|
|
189
|
+
}
|
|
190
|
+
return DateCompare.equal;
|
|
191
|
+
}
|
|
192
|
+
}
|
|
193
|
+
DateHelper.decorators = [
|
|
194
|
+
{ type: Injectable }
|
|
195
|
+
];
|
|
196
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0ZS1oZWxwZXIuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NvcmUtY29tcG9uZW50cy9zcmMvbGliL2NvcmUvc2VydmljZXMvZGF0ZS9kYXRlLWhlbHBlci5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFM0MsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBQ2xELE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxjQUFjLENBQUM7QUFHdkMsTUFBTSxPQUFPLFVBQVU7SUFDckIsT0FBTyxDQUFDLEtBQXFCO1FBQzNCLElBQUksQ0FBQyxLQUFLLEVBQUU7WUFDVixLQUFLLEdBQUcsSUFBSSxJQUFJLEVBQUUsQ0FBQztTQUNwQjtRQUVELElBQUksT0FBTyxHQUFHLElBQUksQ0FBQztRQUVuQixJQUFJLE9BQU8sS0FBSyxLQUFLLFFBQVEsRUFBRTtZQUM3QixJQUFJLGtCQUFrQixHQUFHLEtBQUssQ0FBQztZQUMvQixJQUFJLGlCQUFpQixHQUFHLEtBQUssQ0FBQztZQUU5QixJQUFJLEtBQUssQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDLEVBQUU7Z0JBQzNCLE1BQU0sUUFBUSxHQUFHLEtBQUssQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDLENBQUM7Z0JBQ3BDLGtCQUFrQixHQUFHLEtBQUssQ0FBQyxLQUFLLENBQUMsQ0FBQyxFQUFFLFFBQVEsQ0FBQyxDQUFDO2dCQUM5QyxpQkFBaUIsR0FBRyxLQUFLLENBQUMsS0FBSyxDQUFDLFFBQVEsR0FBRyxDQUFDLEVBQUUsUUFBUSxHQUFHLENBQUMsQ0FBQyxDQUFDO2FBQzdEO1lBRUQsTUFBTSxrQkFBa0IsR0FBRyxrQkFBa0IsQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUM7WUFDekQsTUFB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Q0Y7YUFDRjtTQUNGO1FBRUQsT0FBTyxXQUFXLENBQUMsS0FBSyxDQUFDO0lBQzNCLENBQUM7OztZQXpQRixVQUFVIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5pbXBvcnQgeyBEYXRlQ29tcGFyZSB9IGZyb20gJy4vZGF0ZS1jb21wYXJlLmVudW0nO1xuaW1wb3J0IHsgVXRjRGF0ZSB9IGZyb20gJy4uLy4uL21vZGVscyc7XG5cbkBJbmplY3RhYmxlKClcbmV4cG9ydCBjbGFzcyBEYXRlSGVscGVyIHtcbiAgdXRjRGF0ZShpbnB1dD86IERhdGUgfCBzdHJpbmcpOiBVdGNEYXRlIHwgbnVsbCB7XG4gICAgaWYgKCFpbnB1dCkge1xuICAgICAgaW5wdXQgPSBuZXcgRGF0ZSgpO1xuICAgIH1cblxuICAgIGxldCB1dGNEYXRlID0gbnVsbDtcblxuICAgIGlmICh0eXBlb2YgaW5wdXQgPT09ICdzdHJpbmcnKSB7XG4gICAgICBsZXQgaW5wdXRZZWFyTW9udGhEYXRlID0gaW5wdXQ7XG4gICAgICBsZXQgaW5wdXRIb3Vyc01pbnV0ZXMgPSBpbnB1dDtcblxuICAgICAgaWYgKGlucHV0LmluZGV4T2YoJ1QnKSA+IC0xKSB7XG4gICAgICAgIGNvbnN0IGluZGV4T2ZUID0gaW5wdXQuaW5kZXhPZignVCcpO1xuICAgICAgICBpbnB1dFllYXJNb250aERhdGUgPSBpbnB1dC5zbGljZSgwLCBpbmRleE9mVCk7XG4gICAgICAgIGlucHV0SG91cnNNaW51dGVzID0gaW5wdXQuc2xpY2UoaW5kZXhPZlQgKyAxLCBpbmRleE9mVCArIDYpO1xuICAgICAgfVxuXG4gICAgICBjb25zdCB5ZWFyTW9udGhEYXRlUGFydHMgPSBpbnB1dFllYXJNb250aERhdGUuc3BsaXQoJy0nKTtcbiAgICAgIGNvbnN0IHllYXIgPSBOdW1iZXIoeWVhck1vbnRoRGF0ZVBhcnRzWzBdKTtcbiAgICAgIGNvbnN0IG1vbnRoID0gTnVtYmVyKHllYXJNb250aERhdGVQYXJ0c1sxXSkgLSAxO1xuICAgICAgY29uc3QgZGF0ZSA9IE51bWJlcih5ZWFyTW9udGhEYXRlUGFydHNbMl0pIHx8IDE7XG5cblxuICAgICAgY29uc3QgaG91cnNNaW51dGVzUGFydHMgPSBpbnB1dEhvdXJzTWludXRlcy5zcGxpdCgnOicpO1xuICAgICAgY29uc3QgaG91cnMgPSBOdW1iZXIoaG91cnNNaW51dGVzUGFydHNbMF0pO1xuICAgICAgY29uc3QgbWludXRlcyA9IE51bWJlcihob3Vyc01pbnV0ZXNQYXJ0c1sxXSk7XG5cbiAgICAgIHV0Y0RhdGUgPSBuZXcgVXRjRGF0ZSh5ZWFyLCBtb250aCwgZGF0ZSwgaG91cnMsIG1pbnV0ZXMpO1xuICAgIH1cblxuICAgIGlmIChpbnB1dCBpbnN0YW5jZW9mIERhdGUpIHtcbiAgICAgIHV0Y0RhdGUgPSBuZXcgVXRjRGF0ZShpbnB1dC5nZXRVVENGdWxsWWVhcigpLCBpbnB1dC5nZXRVVENNb250aCgpLCBpbnB1dC5nZXRVVENEYXRlKCksIGlucHV0LmdldFVUQ0hvdXJzKCksIGlucHV0LmdldFVUQ01pbnV0ZXMoKSk7XG4gICAgICByZXR1cm4gdXRjRGF0ZTtcbiAgICB9XG5cbiAgICByZXR1cm4gdXRjRGF0ZTtcbiAgfVxuXG4gIGRhdGUodXRjRGF0ZTogVXRjRGF0ZSk6IERhdGUgfCBudWxsIHtcbiAgICBpZiAoIXV0Y0RhdGUpIHtcbiAgICAgIHJldHVybiBudWxsO1xuICAgIH1cblxuICAgIGNvbnN0IGRhdGUgPSBuZXcgRGF0ZShEYXRlLlVUQyh1dGNEYXRlLnllYXIsIHV0Y0RhdGUubW9udGgsIHV0Y0RhdGUuZGF0ZSwgdXRjRGF0ZS5ob3VycywgdXRjRGF0ZS5taW51dGVzKSk7XG4gICAgcmV0dXJuIGRhdGU7XG4gIH1cblxuICBnZXRXZWVrTnVtYmVyKGlucHV0OiBEYXRlKTogbnVtYmVyIHtcbiAgICBpZiAoIWlucHV0KSB7XG4gICAgICByZXR1cm4gLTE7XG4gICAgfVxuXG4gICAgY29uc3QgZGF0ZSA9IG5ldyBEYXRlKGlucHV0KTtcblxuICAgIGNvbnN0IGRheSA9IG5ldyBEYXRlKERhdGUuVVRDKGRhdGUuZ2V0RnVsbFllYXIoKSwgZGF0ZS5nZXRNb250aCgpLCBkYXRlLmdldERhdGUoKSkpO1xuICAgIGNvbnN0IGRheU51bWJlciA9IGRheS5nZXRVVENEYXkoKSB8fCA3O1xuICAgIGRheS5zZXRVVENEYXRlKGRheS5nZXRVVENEYXRlKCkgKyA0IC0gZGF5TnVtYmVyKTtcbiAgICBjb25zdCB5ZWFyU3RhcnQgPSBuZXcgRGF0ZShEYXRlLlVUQyhkYXkuZ2V0VVRDRnVsbFllYXIoKSwgMCwgMSkpO1xuICAgIHJldHVybiBNYXRoLmNlaWwoKCgoZGF5LmdldFRpbWUoKSAtIHllYXJTdGFydC5nZXRUaW1lKCkpIC8gODY0MDAwMDApICsgMSkgLyA3KTtcbiAgfVxuXG4gIHRvWWVhck1vbnRoRGF0ZVN0cmluZyhkYXRlOiBVdGNEYXRlKTogc3RyaW5nIHtcbiAgICByZXR1cm4gYCR7ZGF0ZS55ZWFyfS0keygnMCcgKyAoZGF0ZS5tb250aCArIDEpKS5zbGljZSgtMil9LSR7KCcwJyArIGRhdGUuZGF0ZSkuc2xpY2UoLTIpfWA7XG4gIH1cblxuICB0b1llYXJNb250aFN0cmluZyhkYXRlOiBVdGNEYXRlKTogc3RyaW5nIHtcbiAgICByZXR1cm4gYCR7ZGF0ZS55ZWFyfS0keygnMCcgKyAoZGF0ZS5tb250aCArIDEpKS5zbGljZSgtMil9YDtcbiAgfVxuXG4gIGlzRXF1YWwoXG4gICAgZGF0ZTE6IFV0Y0RhdGUsXG4gICAgZGF0ZTI6IFV0Y0RhdGUsXG4gICAgaWdub3JlRGF0ZTogYm9vbGVhbiA9IGZhbHNlLFxuICAgIGlnbm9yZUhvdXJzOiBib29sZWFuID0gZmFsc2UsXG4gICAgaWdub3JlTWludXRlczogYm9vbGVhbiA9IGZhbHNlKTogYm9vbGVhbiB7XG4gICAgaWYgKCFkYXRlMSB8fCAhZGF0ZTIpIHtcbiAgICAgIHJldHVybiBmYWxzZTtcbiAgICB9XG5cbiAgICBsZXQgaXNFcXVhbCA9IGZhbHNlO1xuXG4gICAgaWYgKCFkYXRlMSB8fCAhZGF0ZTIpIHtcbiAgICAgIGlzRXF1YWwgPSBkYXRlMSA9PT0gZGF0ZTI7XG4gICAgICByZXR1cm4gaXNFcXVhbDtcbiAgICB9XG5cbiAgICBpc0VxdWFsID0gdGhpcy5jb21wYXJlKGRhdGUxLCBkYXRlMiwgaWdub3JlRGF0ZSwgaWdub3JlSG91cnMsIGlnbm9yZU1pbnV0ZXMpID09PSBEYXRlQ29tcGFyZS5lcXVhbDtcbiAgICByZXR1cm4gaXNFcXVhbDtcbiAgfVxuXG4gIGlzTGVzc1RoYW4oXG4gICAgZGF0ZTE6IFV0Y0RhdGUsXG4gICAgZGF0ZTI6IFV0Y0RhdGUsXG4gICAgaWdub3JlRGF0ZTogYm9vbGVhbiA9IGZhbHNlLFxuICAgIGlnbm9yZUhvdXJzOiBib29sZWFuID0gZmFsc2UsXG4gICAgaWdub3JlTWludXRlczogYm9vbGVhbiA9IGZhbHNlKTogYm9vbGVhbiB7XG4gICAgaWYgKCFkYXRlMSB8fCAhZGF0ZTIpIHtcbiAgICAgIHJldHVybiBmYWxzZTtcbiAgICB9XG5cbiAgICBjb25zdCBpc0xlc3NUaGFuID0gdGhpcy5jb21wYXJlKGRhdGUxLCBkYXRlMiwgaWdub3JlRGF0ZSwgaWdub3JlSG91cnMsIGlnbm9yZU1pbnV0ZXMpID09PSBEYXRlQ29tcGFyZS5sZXNzVGhhbjtcbiAgICByZXR1cm4gaXNMZXNzVGhhbjtcbiAgfVxuXG4gIGlzR3JlYXRlclRoYW4oXG4gICAgZGF0ZTE6IFV0Y0RhdGUsXG4gICAgZGF0ZTI6IFV0Y0RhdGUsXG4gICAgaWdub3JlRGF0ZTogYm9vbGVhbiA9IGZhbHNlLFxuICAgIGlnbm9yZUhvdXJzOiBib29sZWFuID0gZmFsc2UsXG4gICAgaWdub3JlTWludXRlczogYm9vbGVhbiA9IGZhbHNlKTogYm9vbGVhbiB7XG4gICAgaWYgKCFkYXRlMSB8fCAhZGF0ZTIpIHtcbiAgICAgIHJldHVybiBmYWxzZTtcbiAgICB9XG5cbiAgICBjb25zdCBpc0dyZWF0ZXJUaGFuID0gdGhpcy5jb21wYXJlKGRhdGUxLCBkYXRlMiwgaWdub3JlRGF0ZSwgaWdub3JlSG91cnMsIGlnbm9yZU1pbnV0ZXMpID09PSBEYXRlQ29tcGFyZS5ncmVhdGVyVGhhbjtcbiAgICByZXR1cm4gaXNHcmVhdGVyVGhhbjtcbiAgfVxuXG4gIGlzSW5UaGVQYXN0KFxuICAgIGRhdGU6IFV0Y0RhdGUsXG4gICAgaWdub3JlRGF0ZTogYm9vbGVhbiA9IGZhbHNlLFxuICAgIGlnbm9yZUhvdXJzOiBib29sZWFuID0gZmFsc2UsXG4gICAgaWdub3JlTWludXRlczogYm9vbGVhbiA9IGZhbHNlKTogYm9vbGVhbiB7XG4gICAgaWYgKCFkYXRlKSB7XG4gICAgICByZXR1cm4gdHJ1ZTtcbiAgICB9XG5cbiAgICBjb25zdCB0b2RheSA9IHRoaXMudXRjRGF0ZSgpO1xuXG4gICAgaWYgKGRhdGUueWVhciA+IHRvZGF5LnllYXIpIHtcbiAgICAgIHJldHVybiBmYWxzZTtcbiAgICB9IGVsc2UgaWYgKGRhdGUueWVhciA8IHRvZGF5LnllYXIpIHtcbiAgICAgIHJldHVybiB0cnVlO1xuICAgIH1cblxuICAgIGlmIChkYXRlLm1vbnRoID4gdG9kYXkubW9udGgpIHtcbiAgICAgIHJldHVybiBmYWxzZTtcbiAgICB9IGVsc2UgaWYgKGRhdGUubW9udGggPCB0b2RheS5tb250aCkge1xuICAgICAgcmV0dXJuIHRydWU7XG4gICAgfVxuXG4gICAgaWYgKCFpZ25vcmVEYXRlKSB7XG4gICAgICBpZiAoZGF0ZS5kYXRlID4gdG9kYXkuZGF0ZSkge1xuICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgICB9XG5cbiAgICAgIGlmICghaWdub3JlSG91cnMpIHtcbiAgICAgICAgaWYgKGRhdGUuaG91cnMgPiB0b2RheS5ob3Vycykge1xuICAgICAgICAgIHJldHVybiBmYWxzZTtcbiAgICAgICAgfVxuXG4gICAgICAgIGlmICghaWdub3JlTWludXRlcykge1xuICAgICAgICAgIHJldHVybiBkYXRlLm1pbnV0ZXMgPCB0b2RheS5taW51dGVzO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIHJldHVybiB0cnVlO1xuICAgICAgICB9XG4gICAgICB9IGVsc2Uge1xuICAgICAgICByZXR1cm4gZGF0ZS5kYXRlICE9PSB0b2RheS5kYXRlO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIGlzU2FtZU1vbnRoKGRhdGUxOiBVdGNEYXRlLCBkYXRlMjogVXRjRGF0ZSk6IGJvb2xlYW4ge1xuICAgIGlmICghZGF0ZTEgfHwgIWRhdGUyKSB7XG4gICAgICByZXR1cm4gbnVsbDtcbiAgICB9XG5cbiAgICByZXR1cm4gZGF0ZTEueWVhciA9PT0gZGF0ZTIueWVhciAmJiBkYXRlMS5tb250aCA9PT0gZGF0ZTIubW9udGg7XG4gIH1cblxuICBpc1NhbWVEYXRlKGRhdGUxOiBVdGNEYXRlLCBkYXRlMjogVXRjRGF0ZSk6IGJvb2xlYW4ge1xuICAgIGlmICghZGF0ZTEgfHwgIWRhdGUyKSB7XG4gICAgICByZXR1cm4gZmFsc2U7XG4gICAgfVxuXG4gICAgcmV0dXJuIHRoaXMuY29tcGFyZShkYXRlMSwgZGF0ZTIsIGZhbHNlLCB0cnVlLCB0cnVlKSA9PT0gRGF0ZUNvbXBhcmUuZXF1YWw7XG4gIH1cblxuICBnZXRVdGNOdW1iZXJPZk1vbnRoQmV0d2VlbihkYXRlMTogVXRjRGF0ZSwgZGF0ZTI6IFV0Y0RhdGUpOiBudW1iZXIge1xuICAgIHJldHVybiB0aGlzLmdldE51bWJlck9mTW9udGhCZXR3ZWVuKHRoaXMuZGF0ZShkYXRlMSksIHRoaXMuZGF0ZShkYXRlMikpO1xuICB9XG5cbiAgZ2V0VXRjTnVtYmVyT2ZEYXlzQmV0d2VlbihkYXRlMTogVXRjRGF0ZSwgZGF0ZTI6IFV0Y0RhdGUpOiBudW1iZXIge1xuICAgIHJldHVybiB0aGlzLmdldE51bWJlck9mRGF5c0JldHdlZW4odGhpcy5kYXRlKGRhdGUxKSwgdGhpcy5kYXRlKGRhdGUyKSk7XG4gIH1cblxuICBwcml2YXRlIGdldE51bWJlck9mRGF5c0JldHdlZW4oZGF0ZTE6IERhdGUsIGRhdGUyOiBEYXRlKTogbnVtYmVyIHtcbiAgICBjb25zdCB0aW1lRGlmZmVyZW5jZSA9IGRhdGUyLmdldFRpbWUoKSAtIGRhdGUxLmdldFRpbWUoKTtcbiAgICBjb25zdCBkYXlzQmV0d2VlbiA9IHRpbWVEaWZmZXJlbmNlIC8gKDEwMDAgKiAzNjAwICogMjQpO1xuICAgIHJldHVybiBkYXlzQmV0d2VlbjtcbiAgfVxuXG4gIHByaXZhdGUgZ2V0TnVtYmVyT2ZNb250aEJldHdlZW4oZGF0ZTE6IERhdGUsIGRhdGUyOiBEYXRlKTogbnVtYmVyIHtcbiAgICBsZXQgbW9udGhzOiBudW1iZXI7XG4gICAgbW9udGhzID0gKGRhdGUyLmdldFVUQ0Z1bGxZZWFyKCkgLSBkYXRlMS5nZXRVVENGdWxsWWVhcigpKSAqIDEyO1xuICAgIG1vbnRocyAtPSBkYXRlMS5nZXRVVENNb250aCgpICsgMTtcbiAgICBtb250aHMgKz0gZGF0ZTIuZ2V0VVRDTW9udGgoKTtcbiAgICByZXR1cm4gbW9udGhzIDw9IDAgPyAwIDogbW9udGhzO1xuICB9XG5cbiAgcHJpdmF0ZSBjb21wYXJlKFxuICAgIGRhdGUxOiBVdGNEYXRlLFxuICAgIGRhdGUyOiBVdGNEYXRlLFxuICAgIGlnbm9yZURhdGU6IGJvb2xlYW4gPSBmYWxzZSxcbiAgICBpZ25vcmVIb3VyczogYm9vbGVhbiA9IGZhbHNlLFxuICAgIGlnbm9yZU1pbnV0ZXM6IGJvb2xlYW4gPSBmYWxzZSk6IERhdGVDb21wYXJlIHtcbiAgICBpZiAoIWRhdGUxIHx8ICFkYXRlMikge1xuICAgICAgcmV0dXJuIG51bGw7XG4gICAgfVxuXG4gICAgaWYgKGRhdGUxLnllYXIgPiBkYXRlMi55ZWFyKSB7XG4gICAgICByZXR1cm4gRGF0ZUNvbXBhcmUuZ3JlYXRlclRoYW47XG4gICAgfSBlbHNlIGlmIChkYXRlMS55ZWFyIDwgZGF0ZTIueWVhcikge1xuICAgICAgcmV0dXJuIERhdGVDb21wYXJlLmxlc3NUaGFuO1xuICAgIH1cblxuICAgIGlmIChkYXRlMS5tb250aCA+IGRhdGUyLm1vbnRoKSB7XG4gICAgICByZXR1cm4gRGF0ZUNvbXBhcmUuZ3JlYXRlclRoYW47XG4gICAgfSBlbHNlIGlmIChkYXRlMS5tb250aCA8IGRhdGUyLm1vbnRoKSB7XG4gICAgICByZXR1cm4gRGF0ZUNvbXBhcmUubGVzc1RoYW47XG4gICAgfVxuXG4gICAgaWYgKCFpZ25vcmVEYXRlKSB7XG4gICAgICBpZiAoZGF0ZTEuZGF0ZSA+IGRhdGUyLmRhdGUpIHtcbiAgICAgICAgcmV0dXJuIERhdGVDb21wYXJlLmdyZWF0ZXJUaGFuO1xuICAgICAgfSBlbHNlIGlmIChkYXRlMS5kYXRlIDwgZGF0ZTIuZGF0ZSkge1xuICAgICAgICByZXR1cm4gRGF0ZUNvbXBhcmUubGVzc1RoYW47XG4gICAgICB9XG5cbiAgICAgIGlmICghaWdub3JlSG91cnMpIHtcbiAgICAgICAgaWYgKGRhdGUxLmhvdXJzID4gZGF0ZTIuaG91cnMpIHtcbiAgICAgICAgICByZXR1cm4gRGF0ZUNvbXBhcmUuZ3JlYXRlclRoYW47XG4gICAgICAgIH0gZWxzZSBpZiAoZGF0ZTEuaG91cnMgPCBkYXRlMi5ob3Vycykge1xuICAgICAgICAgIHJldHVybiBEYXRlQ29tcGFyZS5sZXNzVGhhbjtcbiAgICAgICAgfVxuXG4gICAgICAgIGlmICghaWdub3JlTWludXRlcykge1xuICAgICAgICAgIGlmIChkYXRlMS5taW51dGVzID4gZGF0ZTIubWludXRlcykge1xuICAgICAgICAgICAgcmV0dXJuIERhdGVDb21wYXJlLmdyZWF0ZXJUaGFuO1xuICAgICAgICAgIH0gZWxzZSBpZiAoZGF0ZTEubWludXRlcyA8IGRhdGUyLm1pbnV0ZXMpIHtcbiAgICAgICAgICAgIHJldHVybiBEYXRlQ29tcGFyZS5sZXNzVGhhbjtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICByZXR1cm4gRGF0ZUNvbXBhcmUuZXF1YWw7XG4gIH1cbn1cbiJdfQ==
|
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
import { Injectable } from '@angular/core';
|
|
2
|
+
export class DeviceHelper {
|
|
3
|
+
constructor() {
|
|
4
|
+
this.mobileMaxWidth = 639;
|
|
5
|
+
this.tabletMaxWidth = 999;
|
|
6
|
+
}
|
|
7
|
+
isTouchScreenDevice() {
|
|
8
|
+
return 'ontouchstart' in document.documentElement;
|
|
9
|
+
}
|
|
10
|
+
isMobile() {
|
|
11
|
+
const maxWidth = 414;
|
|
12
|
+
return window.screen.width <= maxWidth && this.isTouchScreenDevice();
|
|
13
|
+
}
|
|
14
|
+
isMobileWidth() {
|
|
15
|
+
return window.innerWidth <= this.mobileMaxWidth;
|
|
16
|
+
}
|
|
17
|
+
isWidthMobile(width) {
|
|
18
|
+
return width <= this.mobileMaxWidth;
|
|
19
|
+
}
|
|
20
|
+
isTabletWidth() {
|
|
21
|
+
return !this.isMobileWidth() && window.innerWidth <= this.tabletMaxWidth;
|
|
22
|
+
}
|
|
23
|
+
isWidthTablet(width) {
|
|
24
|
+
return !this.isWidthMobile(width) && width <= this.tabletMaxWidth;
|
|
25
|
+
}
|
|
26
|
+
isWidthDesktop(width) {
|
|
27
|
+
return !this.isWidthMobile(width)
|
|
28
|
+
&& !this.isWidthTablet(width)
|
|
29
|
+
&& width > this.tabletMaxWidth;
|
|
30
|
+
}
|
|
31
|
+
isTabletWindow() {
|
|
32
|
+
const MOBILE_MAX_WIDTH = 999;
|
|
33
|
+
return MOBILE_MAX_WIDTH >= window.innerWidth || MOBILE_MAX_WIDTH >= window.innerWidth;
|
|
34
|
+
}
|
|
35
|
+
isIE() {
|
|
36
|
+
const isIEOrEdge = /msie\s|trident\/|edge\//i.test(window.navigator.userAgent);
|
|
37
|
+
return isIEOrEdge;
|
|
38
|
+
}
|
|
39
|
+
}
|
|
40
|
+
DeviceHelper.decorators = [
|
|
41
|
+
{ type: Injectable }
|
|
42
|
+
];
|
|
43
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGV2aWNlLWhlbHBlci5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY29yZS1jb21wb25lbnRzL3NyYy9saWIvY29yZS9zZXJ2aWNlcy9kZXZpY2UvZGV2aWNlLWhlbHBlci5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFHM0MsTUFBTSxPQUFPLFlBQVk7SUFEekI7UUFHbUIsbUJBQWMsR0FBRyxHQUFHLENBQUM7UUFDckIsbUJBQWMsR0FBRyxHQUFHLENBQUM7SUEwQ3hDLENBQUM7SUF4Q0MsbUJBQW1CO1FBQ2pCLE9BQU8sY0FBYyxJQUFJLFFBQVEsQ0FBQyxlQUFlLENBQUM7SUFDcEQsQ0FBQztJQUVELFFBQVE7UUFDTixNQUFNLFFBQVEsR0FBRyxHQUFHLENBQUM7UUFDckIsT0FBTyxNQUFNLENBQUMsTUFBTSxDQUFDLEtBQUssSUFBSSxRQUFRLElBQUksSUFBSSxDQUFDLG1CQUFtQixFQUFFLENBQUM7SUFDdkUsQ0FBQztJQUVELGFBQWE7UUFDWCxPQUFPLE1BQU0sQ0FBQyxVQUFVLElBQUksSUFBSSxDQUFDLGNBQWMsQ0FBQztJQUNsRCxDQUFDO0lBRUQsYUFBYSxDQUFDLEtBQWE7UUFDekIsT0FBTyxLQUFLLElBQUksSUFBSSxDQUFDLGNBQWMsQ0FBQztJQUN0QyxDQUFDO0lBRUQsYUFBYTtRQUNYLE9BQU8sQ0FBQyxJQUFJLENBQUMsYUFBYSxFQUFFLElBQUksTUFBTSxDQUFDLFVBQVUsSUFBSSxJQUFJLENBQUMsY0FBYyxDQUFDO0lBQzNFLENBQUM7SUFFRCxhQUFhLENBQUMsS0FBYTtRQUN6QixPQUFPLENBQUMsSUFBSSxDQUFDLGFBQWEsQ0FBQyxLQUFLLENBQUMsSUFBSSxLQUFLLElBQUksSUFBSSxDQUFDLGNBQWMsQ0FBQztJQUNwRSxDQUFDO0lBRUQsY0FBYyxDQUFDLEtBQWE7UUFDMUIsT0FBTyxDQUFDLElBQUksQ0FBQyxhQUFhLENBQUMsS0FBSyxDQUFDO2VBQzVCLENBQUMsSUFBSSxDQUFDLGFBQWEsQ0FBQyxLQUFLLENBQUM7ZUFDMUIsS0FBSyxHQUFHLElBQUksQ0FBQyxjQUFjLENBQUM7SUFDbkMsQ0FBQztJQUVELGNBQWM7UUFDWixNQUFNLGdCQUFnQixHQUFHLEdBQUcsQ0FBQztRQUM3QixPQUFPLGdCQUFnQixJQUFJLE1BQU0sQ0FBQyxVQUFVLElBQUksZ0JBQWdCLElBQUksTUFBTSxDQUFDLFVBQVUsQ0FBQztJQUN4RixDQUFDO0lBRUQsSUFBSTtRQUNGLE1BQU0sVUFBVSxHQUFHLDBCQUEwQixDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsU0FBUyxDQUFDLFNBQVMsQ0FBQyxDQUFDO1FBQy9FLE9BQU8sVUFBVSxDQUFDO0lBQ3BCLENBQUM7OztZQTdDRixVQUFVIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5ASW5qZWN0YWJsZSgpXG5leHBvcnQgY2xhc3MgRGV2aWNlSGVscGVyIHtcblxuICBwcml2YXRlIHJlYWRvbmx5IG1vYmlsZU1heFdpZHRoID0gNjM5O1xuICBwcml2YXRlIHJlYWRvbmx5IHRhYmxldE1heFdpZHRoID0gOTk5O1xuXG4gIGlzVG91Y2hTY3JlZW5EZXZpY2UoKSB7XG4gICAgcmV0dXJuICdvbnRvdWNoc3RhcnQnIGluIGRvY3VtZW50LmRvY3VtZW50RWxlbWVudDtcbiAgfVxuXG4gIGlzTW9iaWxlKCkge1xuICAgIGNvbnN0IG1heFdpZHRoID0gNDE0O1xuICAgIHJldHVybiB3aW5kb3cuc2NyZWVuLndpZHRoIDw9IG1heFdpZHRoICYmIHRoaXMuaXNUb3VjaFNjcmVlbkRldmljZSgpO1xuICB9XG5cbiAgaXNNb2JpbGVXaWR0aCgpIHtcbiAgICByZXR1cm4gd2luZG93LmlubmVyV2lkdGggPD0gdGhpcy5tb2JpbGVNYXhXaWR0aDtcbiAgfVxuXG4gIGlzV2lkdGhNb2JpbGUod2lkdGg6IG51bWJlcik6IGJvb2xlYW4ge1xuICAgIHJldHVybiB3aWR0aCA8PSB0aGlzLm1vYmlsZU1heFdpZHRoO1xuICB9XG5cbiAgaXNUYWJsZXRXaWR0aCgpIHtcbiAgICByZXR1cm4gIXRoaXMuaXNNb2JpbGVXaWR0aCgpICYmIHdpbmRvdy5pbm5lcldpZHRoIDw9IHRoaXMudGFibGV0TWF4V2lkdGg7XG4gIH1cblxuICBpc1dpZHRoVGFibGV0KHdpZHRoOiBudW1iZXIpOiBib29sZWFuIHtcbiAgICByZXR1cm4gIXRoaXMuaXNXaWR0aE1vYmlsZSh3aWR0aCkgJiYgd2lkdGggPD0gdGhpcy50YWJsZXRNYXhXaWR0aDtcbiAgfVxuXG4gIGlzV2lkdGhEZXNrdG9wKHdpZHRoOiBudW1iZXIpOiBib29sZWFuIHtcbiAgICByZXR1cm4gIXRoaXMuaXNXaWR0aE1vYmlsZSh3aWR0aClcbiAgICAgICYmICF0aGlzLmlzV2lkdGhUYWJsZXQod2lkdGgpXG4gICAgICAmJiB3aWR0aCA+IHRoaXMudGFibGV0TWF4V2lkdGg7XG4gIH1cblxuICBpc1RhYmxldFdpbmRvdygpIHtcbiAgICBjb25zdCBNT0JJTEVfTUFYX1dJRFRIID0gOTk5O1xuICAgIHJldHVybiBNT0JJTEVfTUFYX1dJRFRIID49IHdpbmRvdy5pbm5lcldpZHRoIHx8IE1PQklMRV9NQVhfV0lEVEggPj0gd2luZG93LmlubmVyV2lkdGg7XG4gIH1cblxuICBpc0lFKCk6IGJvb2xlYW4ge1xuICAgIGNvbnN0IGlzSUVPckVkZ2UgPSAvbXNpZVxcc3x0cmlkZW50XFwvfGVkZ2VcXC8vaS50ZXN0KHdpbmRvdy5uYXZpZ2F0b3IudXNlckFnZW50KTtcbiAgICByZXR1cm4gaXNJRU9yRWRnZTtcbiAgfVxufVxuIl19
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
export var GeolocationState;
|
|
2
|
+
(function (GeolocationState) {
|
|
3
|
+
GeolocationState[GeolocationState["granted"] = 0] = "granted";
|
|
4
|
+
GeolocationState[GeolocationState["prompt"] = 1] = "prompt";
|
|
5
|
+
GeolocationState[GeolocationState["denied"] = 2] = "denied";
|
|
6
|
+
GeolocationState[GeolocationState["unknown"] = 3] = "unknown";
|
|
7
|
+
})(GeolocationState || (GeolocationState = {}));
|
|
8
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2VvbG9jYXRpb24tc3RhdGUuZW51bS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NvcmUtY29tcG9uZW50cy9zcmMvbGliL2NvcmUvc2VydmljZXMvZ2VvbG9jYXRpb24vZ2VvbG9jYXRpb24tc3RhdGUuZW51bS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxNQUFNLENBQU4sSUFBWSxnQkFLWDtBQUxELFdBQVksZ0JBQWdCO0lBQzFCLDZEQUFXLENBQUE7SUFDWCwyREFBVSxDQUFBO0lBQ1YsMkRBQVUsQ0FBQTtJQUNWLDZEQUFXLENBQUE7QUFDYixDQUFDLEVBTFcsZ0JBQWdCLEtBQWhCLGdCQUFnQixRQUszQiIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCBlbnVtIEdlb2xvY2F0aW9uU3RhdGUge1xuICBncmFudGVkID0gMCxcbiAgcHJvbXB0ID0gMSxcbiAgZGVuaWVkID0gMixcbiAgdW5rbm93biA9IDNcbn1cbiJdfQ==
|
|
@@ -0,0 +1,60 @@
|
|
|
1
|
+
import { Injectable } from '@angular/core';
|
|
2
|
+
import { Observable } from 'rxjs';
|
|
3
|
+
import { GeolocationState } from './geolocation-state.enum';
|
|
4
|
+
export class GeolocationService {
|
|
5
|
+
getCurrentPosition() {
|
|
6
|
+
return new Observable(observer => {
|
|
7
|
+
if (window.navigator && window.navigator.geolocation) {
|
|
8
|
+
window.navigator.geolocation.getCurrentPosition((position) => {
|
|
9
|
+
observer.next(position);
|
|
10
|
+
observer.complete();
|
|
11
|
+
}, (error) => observer.error(error));
|
|
12
|
+
}
|
|
13
|
+
else {
|
|
14
|
+
observer.error('Unsupported browser');
|
|
15
|
+
}
|
|
16
|
+
});
|
|
17
|
+
}
|
|
18
|
+
getState() {
|
|
19
|
+
return new Observable(observer => {
|
|
20
|
+
if (window.navigator && window.navigator.geolocation) {
|
|
21
|
+
const permissions = window.navigator.permissions;
|
|
22
|
+
if (permissions) {
|
|
23
|
+
permissions
|
|
24
|
+
.query({ name: 'geolocation' })
|
|
25
|
+
.then((result) => {
|
|
26
|
+
if (result && result.state) {
|
|
27
|
+
switch (result.state) {
|
|
28
|
+
case 'granted':
|
|
29
|
+
observer.next(GeolocationState.granted);
|
|
30
|
+
break;
|
|
31
|
+
case 'prompt':
|
|
32
|
+
observer.next(GeolocationState.prompt);
|
|
33
|
+
break;
|
|
34
|
+
case 'denied':
|
|
35
|
+
observer.next(GeolocationState.denied);
|
|
36
|
+
break;
|
|
37
|
+
default:
|
|
38
|
+
observer.next(GeolocationState.denied);
|
|
39
|
+
break;
|
|
40
|
+
}
|
|
41
|
+
}
|
|
42
|
+
observer.complete();
|
|
43
|
+
});
|
|
44
|
+
}
|
|
45
|
+
else {
|
|
46
|
+
observer.next(GeolocationState.unknown);
|
|
47
|
+
observer.complete();
|
|
48
|
+
}
|
|
49
|
+
}
|
|
50
|
+
else {
|
|
51
|
+
observer.next(GeolocationState.unknown);
|
|
52
|
+
observer.complete();
|
|
53
|
+
}
|
|
54
|
+
});
|
|
55
|
+
}
|
|
56
|
+
}
|
|
57
|
+
GeolocationService.decorators = [
|
|
58
|
+
{ type: Injectable }
|
|
59
|
+
];
|
|
60
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2VvbG9jYXRpb24uc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NvcmUtY29tcG9uZW50cy9zcmMvbGliL2NvcmUvc2VydmljZXMvZ2VvbG9jYXRpb24vZ2VvbG9jYXRpb24uc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzNDLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDbEMsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFHNUQsTUFBTSxPQUFPLGtCQUFrQjtJQUU3QixrQkFBa0I7UUFDaEIsT0FBTyxJQUFJLFVBQVUsQ0FBQyxRQUFRLENBQUMsRUFBRTtZQUMvQixJQUFJLE1BQU0sQ0FBQyxTQUFTLElBQUksTUFBTSxDQUFDLFNBQVMsQ0FBQyxXQUFXLEVBQUU7Z0JBQ3BELE1BQU0sQ0FBQyxTQUFTLENBQUMsV0FBVyxDQUFDLGtCQUFrQixDQUM3QyxDQUFDLFFBQVEsRUFBRSxFQUFFO29CQUNYLFFBQVEsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUM7b0JBQ3hCLFFBQVEsQ0FBQyxRQUFRLEVBQUUsQ0FBQztnQkFDdEIsQ0FBQyxFQUNELENBQUMsS0FBSyxFQUFFLEVBQUUsQ0FBQyxRQUFRLENBQUMsS0FBSyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUM7YUFDckM7aUJBQU07Z0JBQ0wsUUFBUSxDQUFDLEtBQUssQ0FBQyxxQkFBcUIsQ0FBQyxDQUFDO2FBQ3ZDO1FBQ0gsQ0FBQyxDQUFDLENBQUM7SUFDTCxDQUFDO0lBRUQsUUFBUTtRQUNOLE9BQU8sSUFBSSxVQUFVLENBQUMsUUFBUSxDQUFDLEVBQUU7WUFDL0IsSUFBSSxNQUFNLENBQUMsU0FBUyxJQUFJLE1BQU0sQ0FBQyxTQUFTLENBQUMsV0FBVyxFQUFFO2dCQUNwRCxNQUFNLFdBQVcsR0FBSyxNQUFNLENBQUMsU0FBaUIsQ0FBQyxXQUFtQixDQUFDO2dCQUVuRSxJQUFJLFdBQVcsRUFBRTtvQkFDZixXQUFXO3lCQUNSLEtBQUssQ0FBQyxFQUFFLElBQUksRUFBRSxhQUFhLEVBQUUsQ0FBQzt5QkFDOUIsSUFBSSxDQUFDLENBQUMsTUFBdUIsRUFBRSxFQUFFO3dCQUNoQyxJQUFJLE1BQU0sSUFBSSxNQUFNLENBQUMsS0FBSyxFQUFFOzRCQUMxQixRQUFRLE1BQU0sQ0FBQyxLQUFLLEVBQUU7Z0NBQ3BCLEtBQUssU0FBUztvQ0FDWixRQUFRLENBQUMsSUFBSSxDQUFDLGdCQUFnQixDQUFDLE9BQU8sQ0FBQyxDQUFDO29DQUN4QyxNQUFNO2dDQUNSLEtBQUssUUFBUTtvQ0FDWCxRQUFRLENBQUMsSUFBSSxDQUFDLGdCQUFnQixDQUFDLE1BQU0sQ0FBQyxDQUFDO29DQUN2QyxNQUFNO2dDQUNSLEtBQUssUUFBUTtvQ0FDWCxRQUFRLENBQUMsSUFBSSxDQUFDLGdCQUFnQixDQUFDLE1BQU0sQ0FBQyxDQUFDO29DQUN2QyxNQUFNO2dDQUNSO29DQUNFLFFBQVEsQ0FBQyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsTUFBTSxDQUFDLENBQUM7b0NBQ3ZDLE1BQU07NkJBQ1Q7eUJBQ0Y7d0JBRUQsUUFBUSxDQUFDLFFBQVEsRUFBRSxDQUFDO29CQUN0QixDQUFDLENBQUMsQ0FBQztpQkFDTjtxQkFBTTtvQkFDTCxRQUFRLENBQUMsSUFBSSxDQUFDLGdCQUFnQixDQUFDLE9BQU8sQ0FBQyxDQUFDO29CQUN4QyxRQUFRLENBQUMsUUFBUSxFQUFFLENBQUM7aUJBQ3JCO2FBQ0Y7aUJBQU07Z0JBQ0wsUUFBUSxDQUFDLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxPQUFPLENBQUMsQ0FBQztnQkFDeEMsUUFBUSxDQUFDLFFBQVEsRUFBRSxDQUFDO2FBQ3JCO1FBQ0gsQ0FBQyxDQUFDLENBQUM7SUFDTCxDQUFDOzs7WUF2REYsVUFBVSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IE9ic2VydmFibGUgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IEdlb2xvY2F0aW9uU3RhdGUgfSBmcm9tICcuL2dlb2xvY2F0aW9uLXN0YXRlLmVudW0nO1xuXG5ASW5qZWN0YWJsZSgpXG5leHBvcnQgY2xhc3MgR2VvbG9jYXRpb25TZXJ2aWNlIHtcblxuICBnZXRDdXJyZW50UG9zaXRpb24oKTogT2JzZXJ2YWJsZTxHZW9sb2NhdGlvblBvc2l0aW9uPiB7XG4gICAgcmV0dXJuIG5ldyBPYnNlcnZhYmxlKG9ic2VydmVyID0+IHtcbiAgICAgIGlmICh3aW5kb3cubmF2aWdhdG9yICYmIHdpbmRvdy5uYXZpZ2F0b3IuZ2VvbG9jYXRpb24pIHtcbiAgICAgICAgd2luZG93Lm5hdmlnYXRvci5nZW9sb2NhdGlvbi5nZXRDdXJyZW50UG9zaXRpb24oXG4gICAgICAgICAgKHBvc2l0aW9uKSA9PiB7XG4gICAgICAgICAgICBvYnNlcnZlci5uZXh0KHBvc2l0aW9uKTtcbiAgICAgICAgICAgIG9ic2VydmVyLmNvbXBsZXRlKCk7XG4gICAgICAgICAgfSxcbiAgICAgICAgICAoZXJyb3IpID0+IG9ic2VydmVyLmVycm9yKGVycm9yKSk7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICBvYnNlcnZlci5lcnJvcignVW5zdXBwb3J0ZWQgYnJvd3NlcicpO1xuICAgICAgfVxuICAgIH0pO1xuICB9XG5cbiAgZ2V0U3RhdGUoKTogT2JzZXJ2YWJsZTxHZW9sb2NhdGlvblN0YXRlPiB7XG4gICAgcmV0dXJuIG5ldyBPYnNlcnZhYmxlKG9ic2VydmVyID0+IHtcbiAgICAgIGlmICh3aW5kb3cubmF2aWdhdG9yICYmIHdpbmRvdy5uYXZpZ2F0b3IuZ2VvbG9jYXRpb24pIHtcbiAgICAgICAgY29uc3QgcGVybWlzc2lvbnMgPSAoKHdpbmRvdy5uYXZpZ2F0b3IgYXMgYW55KS5wZXJtaXNzaW9ucyBhcyBhbnkpO1xuXG4gICAgICAgIGlmIChwZXJtaXNzaW9ucykge1xuICAgICAgICAgIHBlcm1pc3Npb25zXG4gICAgICAgICAgICAucXVlcnkoeyBuYW1lOiAnZ2VvbG9jYXRpb24nIH0pXG4gICAgICAgICAgICAudGhlbigocmVzdWx0OiB7IHN0YXRlOiBhbnk7IH0pID0+IHtcbiAgICAgICAgICAgICAgaWYgKHJlc3VsdCAmJiByZXN1bHQuc3RhdGUpIHtcbiAgICAgICAgICAgICAgICBzd2l0Y2ggKHJlc3VsdC5zdGF0ZSkge1xuICAgICAgICAgICAgICAgICAgY2FzZSAnZ3JhbnRlZCc6XG4gICAgICAgICAgICAgICAgICAgIG9ic2VydmVyLm5leHQoR2VvbG9jYXRpb25TdGF0ZS5ncmFudGVkKTtcbiAgICAgICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICAgICAgICBjYXNlICdwcm9tcHQnOlxuICAgICAgICAgICAgICAgICAgICBvYnNlcnZlci5uZXh0KEdlb2xvY2F0aW9uU3RhdGUucHJvbXB0KTtcbiAgICAgICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICAgICAgICBjYXNlICdkZW5pZWQnOlxuICAgICAgICAgICAgICAgICAgICBvYnNlcnZlci5uZXh0KEdlb2xvY2F0aW9uU3RhdGUuZGVuaWVkKTtcbiAgICAgICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICAgICAgICBkZWZhdWx0OlxuICAgICAgICAgICAgICAgICAgICBvYnNlcnZlci5uZXh0KEdlb2xvY2F0aW9uU3RhdGUuZGVuaWVkKTtcbiAgICAgICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgb2JzZXJ2ZXIuY29tcGxldGUoKTtcbiAgICAgICAgICAgIH0pO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIG9ic2VydmVyLm5leHQoR2VvbG9jYXRpb25TdGF0ZS51bmtub3duKTtcbiAgICAgICAgICBvYnNlcnZlci5jb21wbGV0ZSgpO1xuICAgICAgICB9XG4gICAgICB9IGVsc2Uge1xuICAgICAgICBvYnNlcnZlci5uZXh0KEdlb2xvY2F0aW9uU3RhdGUudW5rbm93bik7XG4gICAgICAgIG9ic2VydmVyLmNvbXBsZXRlKCk7XG4gICAgICB9XG4gICAgfSk7XG4gIH1cbn1cbiJdfQ==
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
export * from './animate-helper/animate-helper.service';
|
|
2
|
+
export * from './bem-helper/bem-helper.service';
|
|
3
|
+
export * from './device/device-helper.service';
|
|
4
|
+
export * from './sort/sort.service';
|
|
5
|
+
export * from './viewport/viewport.service';
|
|
6
|
+
export * from './date/date-helper.service';
|
|
7
|
+
export * from './language/language-helper.service';
|
|
8
|
+
export * from './abandoned-basket/abandoned-basket.service';
|
|
9
|
+
export * from './geolocation/geolocation.service';
|
|
10
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jb3JlLWNvbXBvbmVudHMvc3JjL2xpYi9jb3JlL3NlcnZpY2VzL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGNBQWMseUNBQXlDLENBQUM7QUFDeEQsY0FBYyxpQ0FBaUMsQ0FBQztBQUNoRCxjQUFjLGdDQUFnQyxDQUFDO0FBQy9DLGNBQWMscUJBQXFCLENBQUM7QUFDcEMsY0FBYyw2QkFBNkIsQ0FBQztBQUM1QyxjQUFjLDRCQUE0QixDQUFDO0FBQzNDLGNBQWMsb0NBQW9DLENBQUM7QUFDbkQsY0FBYyw2Q0FBNkMsQ0FBQztBQUM1RCxjQUFjLG1DQUFtQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSAnLi9hbmltYXRlLWhlbHBlci9hbmltYXRlLWhlbHBlci5zZXJ2aWNlJztcbmV4cG9ydCAqIGZyb20gJy4vYmVtLWhlbHBlci9iZW0taGVscGVyLnNlcnZpY2UnO1xuZXhwb3J0ICogZnJvbSAnLi9kZXZpY2UvZGV2aWNlLWhlbHBlci5zZXJ2aWNlJztcbmV4cG9ydCAqIGZyb20gJy4vc29ydC9zb3J0LnNlcnZpY2UnO1xuZXhwb3J0ICogZnJvbSAnLi92aWV3cG9ydC92aWV3cG9ydC5zZXJ2aWNlJztcbmV4cG9ydCAqIGZyb20gJy4vZGF0ZS9kYXRlLWhlbHBlci5zZXJ2aWNlJztcbmV4cG9ydCAqIGZyb20gJy4vbGFuZ3VhZ2UvbGFuZ3VhZ2UtaGVscGVyLnNlcnZpY2UnO1xuZXhwb3J0ICogZnJvbSAnLi9hYmFuZG9uZWQtYmFza2V0L2FiYW5kb25lZC1iYXNrZXQuc2VydmljZSc7XG5leHBvcnQgKiBmcm9tICcuL2dlb2xvY2F0aW9uL2dlb2xvY2F0aW9uLnNlcnZpY2UnO1xuIl19
|
|
@@ -0,0 +1,162 @@
|
|
|
1
|
+
import { Injectable } from '@angular/core';
|
|
2
|
+
import { registerLocaleData } from '@angular/common';
|
|
3
|
+
import localePt from '@angular/common/locales/pt';
|
|
4
|
+
import localeEsAr from '@angular/common/locales/es-AR';
|
|
5
|
+
import localeEnCa from '@angular/common/locales/en-CA';
|
|
6
|
+
import localeFrCa from '@angular/common/locales/fr-CA';
|
|
7
|
+
import localeDa from '@angular/common/locales/da';
|
|
8
|
+
import localeDe from '@angular/common/locales/de';
|
|
9
|
+
import localeEs from '@angular/common/locales/es';
|
|
10
|
+
import localeFi from '@angular/common/locales/fi';
|
|
11
|
+
import localeFr from '@angular/common/locales/fr';
|
|
12
|
+
import localeEnIe from '@angular/common/locales/en-IE';
|
|
13
|
+
import localeIt from '@angular/common/locales/it';
|
|
14
|
+
import localeEn from '@angular/common/locales/en';
|
|
15
|
+
import localeNo from '@angular/common/locales/nb';
|
|
16
|
+
import localePl from '@angular/common/locales/pl';
|
|
17
|
+
import localeSv from '@angular/common/locales/sv';
|
|
18
|
+
import localeEnGb from '@angular/common/locales/en-GB';
|
|
19
|
+
export class LanguageHelper {
|
|
20
|
+
languageCode() {
|
|
21
|
+
return this.languageCodeValue;
|
|
22
|
+
}
|
|
23
|
+
fallbackLanguageCode() {
|
|
24
|
+
return this.fallbackLanguageCodeValue;
|
|
25
|
+
}
|
|
26
|
+
defaultCountryCode() {
|
|
27
|
+
return this.defaultCountryValue;
|
|
28
|
+
}
|
|
29
|
+
setLanguageBasedOnMarketCode(marketCode) {
|
|
30
|
+
const englishLanguageCode = 'en';
|
|
31
|
+
const spanishLanguageCode = 'es';
|
|
32
|
+
const frenchLanguageCode = 'fr';
|
|
33
|
+
const noDefaultCountry = '';
|
|
34
|
+
this.languageCodeValue = englishLanguageCode;
|
|
35
|
+
this.fallbackLanguageCodeValue = englishLanguageCode;
|
|
36
|
+
this.defaultCountryValue = noDefaultCountry;
|
|
37
|
+
if (marketCode) {
|
|
38
|
+
switch (marketCode.toLowerCase()) {
|
|
39
|
+
case 'ar':
|
|
40
|
+
this.languageCodeValue = 'es-AR';
|
|
41
|
+
this.fallbackLanguageCodeValue = spanishLanguageCode;
|
|
42
|
+
this.defaultCountryValue = 'AR';
|
|
43
|
+
registerLocaleData(localeEsAr, this.languageCodeValue);
|
|
44
|
+
break;
|
|
45
|
+
case 'br':
|
|
46
|
+
this.languageCodeValue = 'pt-BR';
|
|
47
|
+
this.fallbackLanguageCodeValue = englishLanguageCode;
|
|
48
|
+
this.defaultCountryValue = 'BR';
|
|
49
|
+
registerLocaleData(localePt, this.languageCodeValue);
|
|
50
|
+
break;
|
|
51
|
+
case 'en-ca':
|
|
52
|
+
this.languageCodeValue = englishLanguageCode;
|
|
53
|
+
this.fallbackLanguageCodeValue = englishLanguageCode;
|
|
54
|
+
this.defaultCountryValue = 'CA';
|
|
55
|
+
registerLocaleData(localeEnCa, this.languageCodeValue);
|
|
56
|
+
break;
|
|
57
|
+
case 'fr-ca':
|
|
58
|
+
this.languageCodeValue = 'fr-CA';
|
|
59
|
+
this.fallbackLanguageCodeValue = frenchLanguageCode;
|
|
60
|
+
this.defaultCountryValue = 'CA';
|
|
61
|
+
registerLocaleData(localeFrCa, this.languageCodeValue);
|
|
62
|
+
break;
|
|
63
|
+
case 'dk':
|
|
64
|
+
this.languageCodeValue = 'da';
|
|
65
|
+
this.fallbackLanguageCodeValue = englishLanguageCode;
|
|
66
|
+
this.defaultCountryValue = 'DK';
|
|
67
|
+
registerLocaleData(localeDa, this.languageCodeValue);
|
|
68
|
+
break;
|
|
69
|
+
case 'de':
|
|
70
|
+
this.languageCodeValue = 'de';
|
|
71
|
+
this.fallbackLanguageCodeValue = englishLanguageCode;
|
|
72
|
+
this.defaultCountryValue = 'DE';
|
|
73
|
+
registerLocaleData(localeDe, this.languageCodeValue);
|
|
74
|
+
break;
|
|
75
|
+
case 'es':
|
|
76
|
+
this.languageCodeValue = spanishLanguageCode;
|
|
77
|
+
this.fallbackLanguageCodeValue = englishLanguageCode;
|
|
78
|
+
this.defaultCountryValue = 'ES';
|
|
79
|
+
registerLocaleData(localeEs, this.languageCodeValue);
|
|
80
|
+
break;
|
|
81
|
+
case 'fi':
|
|
82
|
+
this.languageCodeValue = 'fi';
|
|
83
|
+
this.fallbackLanguageCodeValue = englishLanguageCode;
|
|
84
|
+
this.defaultCountryValue = 'FI';
|
|
85
|
+
registerLocaleData(localeFi, this.languageCodeValue);
|
|
86
|
+
break;
|
|
87
|
+
case 'fr':
|
|
88
|
+
this.languageCodeValue = frenchLanguageCode;
|
|
89
|
+
this.fallbackLanguageCodeValue = englishLanguageCode;
|
|
90
|
+
this.defaultCountryValue = 'FR';
|
|
91
|
+
registerLocaleData(localeFr, this.languageCodeValue);
|
|
92
|
+
break;
|
|
93
|
+
case 'ie':
|
|
94
|
+
this.languageCodeValue = 'en-IE';
|
|
95
|
+
this.fallbackLanguageCodeValue = englishLanguageCode;
|
|
96
|
+
this.defaultCountryValue = 'IE';
|
|
97
|
+
registerLocaleData(localeEnIe, this.languageCodeValue);
|
|
98
|
+
break;
|
|
99
|
+
case 'it':
|
|
100
|
+
this.languageCodeValue = 'it';
|
|
101
|
+
this.fallbackLanguageCodeValue = englishLanguageCode;
|
|
102
|
+
this.defaultCountryValue = 'IT';
|
|
103
|
+
registerLocaleData(localeIt, this.languageCodeValue);
|
|
104
|
+
break;
|
|
105
|
+
case 'nl':
|
|
106
|
+
this.languageCodeValue = englishLanguageCode;
|
|
107
|
+
this.fallbackLanguageCodeValue = englishLanguageCode;
|
|
108
|
+
this.defaultCountryValue = 'NL';
|
|
109
|
+
registerLocaleData(localeEn, this.languageCodeValue);
|
|
110
|
+
break;
|
|
111
|
+
case 'no':
|
|
112
|
+
this.languageCodeValue = 'no';
|
|
113
|
+
this.fallbackLanguageCodeValue = englishLanguageCode;
|
|
114
|
+
this.defaultCountryValue = 'NO';
|
|
115
|
+
registerLocaleData(localeNo, this.languageCodeValue);
|
|
116
|
+
break;
|
|
117
|
+
case 'en':
|
|
118
|
+
this.languageCodeValue = englishLanguageCode;
|
|
119
|
+
this.fallbackLanguageCodeValue = englishLanguageCode;
|
|
120
|
+
this.defaultCountryValue = noDefaultCountry;
|
|
121
|
+
registerLocaleData(localeEn, this.languageCodeValue);
|
|
122
|
+
break;
|
|
123
|
+
case 'pl':
|
|
124
|
+
this.languageCodeValue = 'pl';
|
|
125
|
+
this.fallbackLanguageCodeValue = englishLanguageCode;
|
|
126
|
+
this.defaultCountryValue = 'PL';
|
|
127
|
+
registerLocaleData(localePl, this.languageCodeValue);
|
|
128
|
+
break;
|
|
129
|
+
case 'sg':
|
|
130
|
+
this.languageCodeValue = englishLanguageCode;
|
|
131
|
+
this.fallbackLanguageCodeValue = englishLanguageCode;
|
|
132
|
+
this.defaultCountryValue = 'SG';
|
|
133
|
+
registerLocaleData(localeEn, this.languageCodeValue);
|
|
134
|
+
break;
|
|
135
|
+
case 'se':
|
|
136
|
+
this.languageCodeValue = 'sv';
|
|
137
|
+
this.fallbackLanguageCodeValue = englishLanguageCode;
|
|
138
|
+
this.defaultCountryValue = 'SE';
|
|
139
|
+
registerLocaleData(localeSv, this.languageCodeValue);
|
|
140
|
+
break;
|
|
141
|
+
case 'uk':
|
|
142
|
+
this.languageCodeValue = englishLanguageCode;
|
|
143
|
+
this.fallbackLanguageCodeValue = englishLanguageCode;
|
|
144
|
+
this.defaultCountryValue = 'GB';
|
|
145
|
+
registerLocaleData(localeEnGb, this.languageCodeValue);
|
|
146
|
+
break;
|
|
147
|
+
case 'us':
|
|
148
|
+
this.languageCodeValue = englishLanguageCode;
|
|
149
|
+
this.fallbackLanguageCodeValue = englishLanguageCode;
|
|
150
|
+
this.defaultCountryValue = 'US';
|
|
151
|
+
registerLocaleData(localeEn, this.languageCodeValue);
|
|
152
|
+
break;
|
|
153
|
+
default:
|
|
154
|
+
break;
|
|
155
|
+
}
|
|
156
|
+
}
|
|
157
|
+
}
|
|
158
|
+
}
|
|
159
|
+
LanguageHelper.decorators = [
|
|
160
|
+
{ type: Injectable }
|
|
161
|
+
];
|
|
162
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGFuZ3VhZ2UtaGVscGVyLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jb3JlLWNvbXBvbmVudHMvc3JjL2xpYi9jb3JlL3NlcnZpY2VzL2xhbmd1YWdlL2xhbmd1YWdlLWhlbHBlci5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDM0MsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDckQsT0FBTyxRQUFRLE1BQU0sNEJBQTRCLENBQUM7QUFDbEQsT0FBTyxVQUFVLE1BQU0sK0JBQStCLENBQUM7QUFDdkQsT0FBTyxVQUFVLE1BQU0sK0JBQStCLENBQUM7QUFDdkQsT0FBTyxVQUFVLE1BQU0sK0JBQStCLENBQUM7QUFDdkQsT0FBTyxRQUFRLE1BQU0sNEJBQTRCLENBQUM7QUFDbEQsT0FBTyxRQUFRLE1BQU0sNEJBQTRCLENBQUM7QUFDbEQsT0FBTyxRQUFRLE1BQU0sNEJBQTRCLENBQUM7QUFDbEQsT0FBTyxRQUFRLE1BQU0sNEJBQTRCLENBQUM7QUFDbEQsT0FBTyxRQUFRLE1BQU0sNEJBQTRCLENBQUM7QUFDbEQsT0FBTyxVQUFVLE1BQU0sK0JBQStCLENBQUM7QUFDdkQsT0FBTyxRQUFRLE1BQU0sNEJBQTRCLENBQUM7QUFDbEQsT0FBTyxRQUFRLE1BQU0sNEJBQTRCLENBQUM7QUFDbEQsT0FBTyxRQUFRLE1BQU0sNEJBQTRCLENBQUM7QUFDbEQsT0FBTyxRQUFRLE1BQU0sNEJBQTRCLENBQUM7QUFDbEQsT0FBTyxRQUFRLE1BQU0sNEJBQTRCLENBQUM7QUFDbEQsT0FBTyxVQUFVLE1BQU0sK0JBQStCLENBQUM7QUFHdkQsTUFBTSxPQUFPLGNBQWM7SUFLdkIsWUFBWTtRQUNSLE9BQU8sSUFBSSxDQUFDLGlCQUFpQixDQUFDO0lBQ2xDLENBQUM7SUFFRCxv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R0FBRyxJQUFJLENBQUM7b0JBQ2hDLGtCQUFrQixDQUFDLFFBQVEsRUFBRSxJQUFJLENBQUMsaUJBQWlCLENBQUMsQ0FBQztvQkFDckQsTUFBTTtnQkFDVixLQUFLLElBQUk7b0JBQ0wsSUFBSSxDQUFDLGlCQUFpQixHQUFHLElBQUksQ0FBQztvQkFDOUIsSUFBSSxDQUFDLHlCQUF5QixHQUFHLG1CQUFtQixDQUFDO29CQUNyRCxJQUFJLENBQUMsbUJBQW1CLEdBQUcsSUFBSSxDQUFDO29CQUNoQyxrQkFBa0IsQ0FBQyxRQUFRLEVBQUUsSUFBSSxDQUFDLGlCQUFpQixDQUFDLENBQUM7b0JBQ3JELE1BQU07Z0JBQ1YsS0FBSyxJQUFJO29CQUNMLElBQUksQ0FBQyxpQkFBaUIsR0FBRyxtQkFBbUIsQ0FBQztvQkFDN0MsSUFBSSxDQUFDLHlCQUF5QixHQUFHLG1CQUFtQixDQUFDO29CQUNyRCxJQUFJLENBQUMsbUJBQW1CLEdBQUcsSUFBSSxDQUFDO29CQUNoQyxrQkFBa0IsQ0FBQyxVQUFVLEVBQUUsSUFBSSxDQUFDLGlCQUFpQixDQUFDLENBQUM7b0JBQ3ZELE1BQU07Z0JBQ1YsS0FBSyxJQUFJO29CQUNMLElBQUksQ0FBQyxpQkFBaUIsR0FBRyxtQkFBbUIsQ0FBQztvQkFDN0MsSUFBSSxDQUFDLHlCQUF5QixHQUFHLG1CQUFtQixDQUFDO29CQUNyRCxJQUFJLENBQUMsbUJBQW1CLEdBQUcsSUFBSSxDQUFDO29CQUNoQyxrQkFBa0IsQ0FBQyxRQUFRLEVBQUUsSUFBSSxDQUFDLGlCQUFpQixDQUFDLENBQUM7b0JBQ3JELE1BQU07Z0JBQ1Y7b0JBQ0ksTUFBTTthQUNiO1NBQ0o7SUFDTCxDQUFDOzs7WUFwSkosVUFBVSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IHJlZ2lzdGVyTG9jYWxlRGF0YSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgbG9jYWxlUHQgZnJvbSAnQGFuZ3VsYXIvY29tbW9uL2xvY2FsZXMvcHQnO1xuaW1wb3J0IGxvY2FsZUVzQXIgZnJvbSAnQGFuZ3VsYXIvY29tbW9uL2xvY2FsZXMvZXMtQVInO1xuaW1wb3J0IGxvY2FsZUVuQ2EgZnJvbSAnQGFuZ3VsYXIvY29tbW9uL2xvY2FsZXMvZW4tQ0EnO1xuaW1wb3J0IGxvY2FsZUZyQ2EgZnJvbSAnQGFuZ3VsYXIvY29tbW9uL2xvY2FsZXMvZnItQ0EnO1xuaW1wb3J0IGxvY2FsZURhIGZyb20gJ0Bhbmd1bGFyL2NvbW1vbi9sb2NhbGVzL2RhJztcbmltcG9ydCBsb2NhbGVEZSBmcm9tICdAYW5ndWxhci9jb21tb24vbG9jYWxlcy9kZSc7XG5pbXBvcnQgbG9jYWxlRXMgZnJvbSAnQGFuZ3VsYXIvY29tbW9uL2xvY2FsZXMvZXMnO1xuaW1wb3J0IGxvY2FsZUZpIGZyb20gJ0Bhbmd1bGFyL2NvbW1vbi9sb2NhbGVzL2ZpJztcbmltcG9ydCBsb2NhbGVGciBmcm9tICdAYW5ndWxhci9jb21tb24vbG9jYWxlcy9mcic7XG5pbXBvcnQgbG9jYWxlRW5JZSBmcm9tICdAYW5ndWxhci9jb21tb24vbG9jYWxlcy9lbi1JRSc7XG5pbXBvcnQgbG9jYWxlSXQgZnJvbSAnQGFuZ3VsYXIvY29tbW9uL2xvY2FsZXMvaXQnO1xuaW1wb3J0IGxvY2FsZUVuIGZyb20gJ0Bhbmd1bGFyL2NvbW1vbi9sb2NhbGVzL2VuJztcbmltcG9ydCBsb2NhbGVObyBmcm9tICdAYW5ndWxhci9jb21tb24vbG9jYWxlcy9uYic7XG5pbXBvcnQgbG9jYWxlUGwgZnJvbSAnQGFuZ3VsYXIvY29tbW9uL2xvY2FsZXMvcGwnO1xuaW1wb3J0IGxvY2FsZVN2IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbi9sb2NhbGVzL3N2JztcbmltcG9ydCBsb2NhbGVFbkdiIGZyb20gJ0Bhbmd1bGFyL2NvbW1vbi9sb2NhbGVzL2VuLUdCJztcblxuQEluamVjdGFibGUoKVxuZXhwb3J0IGNsYXNzIExhbmd1YWdlSGVscGVyIHtcbiAgICBwcml2YXRlIGxhbmd1YWdlQ29kZVZhbHVlOiBzdHJpbmc7XG4gICAgcHJpdmF0ZSBmYWxsYmFja0xhbmd1YWdlQ29kZVZhbHVlOiBzdHJpbmc7XG4gICAgcHJpdmF0ZSBkZWZhdWx0Q291bnRyeVZhbHVlOiBzdHJpbmc7XG5cbiAgICBsYW5ndWFnZUNvZGUoKTogc3RyaW5nIHtcbiAgICAgICAgcmV0dXJuIHRoaXMubGFuZ3VhZ2VDb2RlVmFsdWU7XG4gICAgfVxuXG4gICAgZmFsbGJhY2tMYW5ndWFnZUNvZGUoKTogc3RyaW5nIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuZmFsbGJhY2tMYW5ndWFnZUNvZGVWYWx1ZTtcbiAgICB9XG5cbiAgICBkZWZhdWx0Q291bnRyeUNvZGUoKTogc3RyaW5nIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuZGVmYXVsdENvdW50cnlWYWx1ZTtcbiAgICB9XG5cbiAgICBzZXRMYW5ndWFnZUJhc2VkT25NYXJrZXRDb2RlKG1hcmtldENvZGU6IHN0cmluZykge1xuICAgICAgICBjb25zdCBlbmdsaXNoTGFuZ3VhZ2VDb2RlID0gJ2VuJztcbiAgICAgICAgY29uc3Qgc3BhbmlzaExhbmd1YWdlQ29kZSA9ICdlcyc7XG4gICAgICAgIGNvbnN0IGZyZW5jaExhbmd1YWdlQ29kZSA9ICdmcic7XG4gICAgICAgIGNvbnN0IG5vRGVmYXVsdENvdW50cnkgPSAnJztcblxuICAgICAgICB0aGlzLmxhbmd1YWdlQ29kZVZhbHVlID0gZW5nbGlzaExhbmd1YWdlQ29kZTtcbiAgICAgICAgdGhpcy5mYWxsYmFja0xhbmd1YWdlQ29kZVZhbHVlID0gZW5nbGlzaExhbmd1YWdlQ29kZTtcbiAgICAgICAgdGhpcy5kZWZhdWx0Q291bnRyeVZhbHVlID0gbm9EZWZhdWx0Q291bnRyeTtcblxuICAgICAgICBpZiAobWFya2V0Q29kZSkge1xuICAgICAgICAgICAgc3dpdGNoIChtYXJrZXRDb2RlLnRvTG93ZXJDYXNlKCkpIHtcbiAgICAgICAgICAgICAgICBjYXNlICdhcic6XG4gICAgICAgICAgICAgICAgICAgIHRoaXMubGFuZ3VhZ2VDb2RlVmFsdWUgPSAnZXMtQVInO1xuICAgICAgICAgICAgICAgICAgICB0aGlzLmZhbGxiYWNrTGFuZ3VhZ2VDb2RlVmFsdWUgPSBzcGFuaXNoTGFuZ3VhZ2VDb2RlO1xuICAgICAgICAgICAgICAgICAgICB0aGlzLmRlZmF1bHRDb3VudHJ5VmFsdWUgPSAnQVInO1xuICAgICAgICAgICAgICAgICAgICByZWdpc3RlckxvY2FsZURhdGEobG9jYWxlRXNBciwgdGhpcy5sYW5ndWFnZUNvZGVWYWx1ZSk7XG4gICAgICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgICAgIGNhc2UgJ2JyJzpcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5sYW5ndWFnZUNvZGVWYWx1ZSA9ICdwdC1CUic7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuZmFsbGJhY2tMYW5ndWFnZUNvZGVWYWx1ZSA9IGVuZ2xpc2hMYW5ndWFnZUNvZGU7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuZGVmYXVsdENvdW50cnlWYWx1ZSA9ICdCUic7XG4gICAgICAgICAgICAgICAgICAgIHJlZ2lzdGVyTG9jYWxlRGF0YShsb2NhbGVQdCwgdGhpcy5sYW5ndWFnZUNvZGVWYWx1ZSk7XG4gICAgICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgICAgIGNhc2UgJ2VuLWNhJzpcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5sYW5ndWFnZUNvZGVWYWx1ZSA9IGVuZ2xpc2hMYW5ndWFnZUNvZGU7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuZmFsbGJhY2tMYW5ndWFnZUNvZGVWYWx1ZSA9IGVuZ2xpc2hMYW5ndWFnZUNvZGU7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuZGVmYXVsdENvdW50cnlWYWx1ZSA9ICdDQSc7XG4gICAgICAgICAgICAgICAgICAgIHJlZ2lzdGVyTG9jYWxlRGF0YShsb2NhbGVFbkNhLCB0aGlzLmxhbmd1YWdlQ29kZVZhbHVlKTtcbiAgICAgICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICAgICAgY2FzZSAnZnItY2EnOlxuICAgICAgICAgICAgICAgICAgICB0aGlzLmxhbmd1YWdlQ29kZVZhbHVlID0gJ2ZyLUNBJztcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5mYWxsYmFja0xhbmd1YWdlQ29kZVZhbHVlID0gZnJlbmNoTGFuZ3VhZ2VDb2RlO1xuICAgICAgICAgICAgICAgICAgICB0aGlzLmRlZmF1bHRDb3VudHJ5VmFsdWUgPSAnQ0EnO1xuICAgICAgICAgICAgICAgICAgICByZWdpc3RlckxvY2FsZURhdGEobG9jYWxlRnJDYSwgdGhpcy5sYW5ndWFnZUNvZGVWYWx1ZSk7XG4gICAgICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgICAgIGNhc2UgJ2RrJzpcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5sYW5ndWFnZUNvZGVWYWx1ZSA9ICdkYSc7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuZmFsbGJhY2tMYW5ndWFnZUNvZGVWYWx1ZSA9IGVuZ2xpc2hMYW5ndWFnZUNvZGU7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuZGVmYXVsdENvdW50cnlWYWx1ZSA9ICdESyc7XG4gICAgICAgICAgICAgICAgICAgIHJlZ2lzdGVyTG9jYWxlRGF0YShsb2NhbGVEYSwgdGhpcy5sYW5ndWFnZUNvZGVWYWx1ZSk7XG4gICAgICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgICAgIGNhc2UgJ2RlJzpcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5sYW5ndWFnZUNvZGVWYWx1ZSA9ICdkZSc7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuZmFsbGJhY2tMYW5ndWFnZUNvZGVWYWx1ZSA9IGVuZ2xpc2hMYW5ndWFnZUNvZGU7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuZGVmYXVsdENvdW50cnlWYWx1ZSA9ICdERSc7XG4gICAgICAgICAgICAgICAgICAgIHJlZ2lzdGVyTG9jYWxlRGF0YShsb2NhbGVEZSwgdGhpcy5sYW5ndWFnZUNvZGVWYWx1ZSk7XG4gICAgICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgICAgIGNhc2UgJ2VzJzpcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5sYW5ndWFnZUNvZGVWYWx1ZSA9IHNwYW5pc2hMYW5ndWFnZUNvZGU7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuZmFsbGJhY2tMYW5ndWFnZUNvZGVWYWx1ZSA9IGVuZ2xpc2hMYW5ndWFnZUNvZGU7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuZGVmYXVsdENvdW50cnlWYWx1ZSA9ICdFUyc7XG4gICAgICAgICAgICAgICAgICAgIHJlZ2lzdGVyTG9jYWxlRGF0YShsb2NhbGVFcywgdGhpcy5sYW5ndWFnZUNvZGVWYWx1ZSk7XG4gICAgICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgICAgIGNhc2UgJ2ZpJzpcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5sYW5ndWFnZUNvZGVWYWx1ZSA9ICdmaSc7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuZmFsbGJhY2tMYW5ndWFnZUNvZGVWYWx1ZSA9IGVuZ2xpc2hMYW5ndWFnZUNvZGU7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuZGVmYXVsdENvdW50cnlWYWx1ZSA9ICdGSSc7XG4gICAgICAgICAgICAgICAgICAgIHJlZ2lzdGVyTG9jYWxlRGF0YShsb2NhbGVGaSwgdGhpcy5sYW5ndWFnZUNvZGVWYWx1ZSk7XG4gICAgICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgICAgIGNhc2UgJ2ZyJzpcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5sYW5ndWFnZUNvZGVWYWx1ZSA9IGZyZW5jaExhbmd1YWdlQ29kZTtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5mYWxsYmFja0xhbmd1YWdlQ29kZVZhbHVlID0gZW5nbGlzaExhbmd1YWdlQ29kZTtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5kZWZhdWx0Q291bnRyeVZhbHVlID0gJ0ZSJztcbiAgICAgICAgICAgICAgICAgICAgcmVnaXN0ZXJMb2NhbGVEYXRhKGxvY2FsZUZyLCB0aGlzLmxhbmd1YWdlQ29kZVZhbHVlKTtcbiAgICAgICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICAgICAgY2FzZSAnaWUnOlxuICAgICAgICAgICAgICAgICAgICB0aGlzLmxhbmd1YWdlQ29kZVZhbHVlID0gJ2VuLUlFJztcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5mYWxsYmFja0xhbmd1YWdlQ29kZVZhbHVlID0gZW5nbGlzaExhbmd1YWdlQ29kZTtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5kZWZhdWx0Q291bnRyeVZhbHVlID0gJ0lFJztcbiAgICAgICAgICAgICAgICAgICAgcmVnaXN0ZXJMb2NhbGVEYXRhKGxvY2FsZUVuSWUsIHRoaXMubGFuZ3VhZ2VDb2RlVmFsdWUpO1xuICAgICAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgICAgICBjYXNlICdpdCc6XG4gICAgICAgICAgICAgICAgICAgIHRoaXMubGFuZ3VhZ2VDb2RlVmFsdWUgPSAnaXQnO1xuICAgICAgICAgICAgICAgICAgICB0aGlzLmZhbGxiYWNrTGFuZ3VhZ2VDb2RlVmFsdWUgPSBlbmdsaXNoTGFuZ3VhZ2VDb2RlO1xuICAgICAgICAgICAgICAgICAgICB0aGlzLmRlZmF1bHRDb3VudHJ5VmFsdWUgPSAnSVQnO1xuICAgICAgICAgICAgICAgICAgICByZWdpc3RlckxvY2FsZURhdGEobG9jYWxlSXQsIHRoaXMubGFuZ3VhZ2VDb2RlVmFsdWUpO1xuICAgICAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgICAgICBjYXNlICdubCc6XG4gICAgICAgICAgICAgICAgICAgIHRoaXMubGFuZ3VhZ2VDb2RlVmFsdWUgPSBlbmdsaXNoTGFuZ3VhZ2VDb2RlO1xuICAgICAgICAgICAgICAgICAgICB0aGlzLmZhbGxiYWNrTGFuZ3VhZ2VDb2RlVmFsdWUgPSBlbmdsaXNoTGFuZ3VhZ2VDb2RlO1xuICAgICAgICAgICAgICAgICAgICB0aGlzLmRlZmF1bHRDb3VudHJ5VmFsdWUgPSAnTkwnO1xuICAgICAgICAgICAgICAgICAgICByZWdpc3RlckxvY2FsZURhdGEobG9jYWxlRW4sIHRoaXMubGFuZ3VhZ2VDb2RlVmFsdWUpO1xuICAgICAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgICAgICBjYXNlICdubyc6XG4gICAgICAgICAgICAgICAgICAgIHRoaXMubGFuZ3VhZ2VDb2RlVmFsdWUgPSAnbm8nO1xuICAgICAgICAgICAgICAgICAgICB0aGlzLmZhbGxiYWNrTGFuZ3VhZ2VDb2RlVmFsdWUgPSBlbmdsaXNoTGFuZ3VhZ2VDb2RlO1xuICAgICAgICAgICAgICAgICAgICB0aGlzLmRlZmF1bHRDb3VudHJ5VmFsdWUgPSAnTk8nO1xuICAgICAgICAgICAgICAgICAgICByZWdpc3RlckxvY2FsZURhdGEobG9jYWxlTm8sIHRoaXMubGFuZ3VhZ2VDb2RlVmFsdWUpO1xuICAgICAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgICAgICBjYXNlICdlbic6XG4gICAgICAgICAgICAgICAgICAgIHRoaXMubGFuZ3VhZ2VDb2RlVmFsdWUgPSBlbmdsaXNoTGFuZ3VhZ2VDb2RlO1xuICAgICAgICAgICAgICAgICAgICB0aGlzLmZhbGxiYWNrTGFuZ3VhZ2VDb2RlVmFsdWUgPSBlbmdsaXNoTGFuZ3VhZ2VDb2RlO1xuICAgICAgICAgICAgICAgICAgICB0aGlzLmRlZmF1bHRDb3VudHJ5VmFsdWUgPSBub0RlZmF1bHRDb3VudHJ5O1xuICAgICAgICAgICAgICAgICAgICByZWdpc3RlckxvY2FsZURhdGEobG9jYWxlRW4sIHRoaXMubGFuZ3VhZ2VDb2RlVmFsdWUpO1xuICAgICAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgICAgICBjYXNlICdwbCc6XG4gICAgICAgICAgICAgICAgICAgIHRoaXMubGFuZ3VhZ2VDb2RlVmFsdWUgPSAncGwnO1xuICAgICAgICAgICAgICAgICAgICB0aGlzLmZhbGxiYWNrTGFuZ3VhZ2VDb2RlVmFsdWUgPSBlbmdsaXNoTGFuZ3VhZ2VDb2RlO1xuICAgICAgICAgICAgICAgICAgICB0aGlzLmRlZmF1bHRDb3VudHJ5VmFsdWUgPSAnUEwnO1xuICAgICAgICAgICAgICAgICAgICByZWdpc3RlckxvY2FsZURhdGEobG9jYWxlUGwsIHRoaXMubGFuZ3VhZ2VDb2RlVmFsdWUpO1xuICAgICAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgICAgICBjYXNlICdzZyc6XG4gICAgICAgICAgICAgICAgICAgIHRoaXMubGFuZ3VhZ2VDb2RlVmFsdWUgPSBlbmdsaXNoTGFuZ3VhZ2VDb2RlO1xuICAgICAgICAgICAgICAgICAgICB0aGlzLmZhbGxiYWNrTGFuZ3VhZ2VDb2RlVmFsdWUgPSBlbmdsaXNoTGFuZ3VhZ2VDb2RlO1xuICAgICAgICAgICAgICAgICAgICB0aGlzLmRlZmF1bHRDb3VudHJ5VmFsdWUgPSAnU0cnO1xuICAgICAgICAgICAgICAgICAgICByZWdpc3RlckxvY2FsZURhdGEobG9jYWxlRW4sIHRoaXMubGFuZ3VhZ2VDb2RlVmFsdWUpO1xuICAgICAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgICAgICBjYXNlICdzZSc6XG4gICAgICAgICAgICAgICAgICAgIHRoaXMubGFuZ3VhZ2VDb2RlVmFsdWUgPSAnc3YnO1xuICAgICAgICAgICAgICAgICAgICB0aGlzLmZhbGxiYWNrTGFuZ3VhZ2VDb2RlVmFsdWUgPSBlbmdsaXNoTGFuZ3VhZ2VDb2RlO1xuICAgICAgICAgICAgICAgICAgICB0aGlzLmRlZmF1bHRDb3VudHJ5VmFsdWUgPSAnU0UnO1xuICAgICAgICAgICAgICAgICAgICByZWdpc3RlckxvY2FsZURhdGEobG9jYWxlU3YsIHRoaXMubGFuZ3VhZ2VDb2RlVmFsdWUpO1xuICAgICAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgICAgICBjYXNlICd1ayc6XG4gICAgICAgICAgICAgICAgICAgIHRoaXMubGFuZ3VhZ2VDb2RlVmFsdWUgPSBlbmdsaXNoTGFuZ3VhZ2VDb2RlO1xuICAgICAgICAgICAgICAgICAgICB0aGlzLmZhbGxiYWNrTGFuZ3VhZ2VDb2RlVmFsdWUgPSBlbmdsaXNoTGFuZ3VhZ2VDb2RlO1xuICAgICAgICAgICAgICAgICAgICB0aGlzLmRlZmF1bHRDb3VudHJ5VmFsdWUgPSAnR0InO1xuICAgICAgICAgICAgICAgICAgICByZWdpc3RlckxvY2FsZURhdGEobG9jYWxlRW5HYiwgdGhpcy5sYW5ndWFnZUNvZGVWYWx1ZSk7XG4gICAgICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgICAgIGNhc2UgJ3VzJzpcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5sYW5ndWFnZUNvZGVWYWx1ZSA9IGVuZ2xpc2hMYW5ndWFnZUNvZGU7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuZmFsbGJhY2tMYW5ndWFnZUNvZGVWYWx1ZSA9IGVuZ2xpc2hMYW5ndWFnZUNvZGU7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuZGVmYXVsdENvdW50cnlWYWx1ZSA9ICdVUyc7XG4gICAgICAgICAgICAgICAgICAgIHJlZ2lzdGVyTG9jYWxlRGF0YShsb2NhbGVFbiwgdGhpcy5sYW5ndWFnZUNvZGVWYWx1ZSk7XG4gICAgICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgICAgIGRlZmF1bHQ6XG4gICAgICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxufVxuIl19
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import { Injectable } from '@angular/core';
|
|
2
|
+
export class SortService {
|
|
3
|
+
sortByObject(array, order, key) {
|
|
4
|
+
array.sort((a, b) => {
|
|
5
|
+
const A = a[key], B = b[key];
|
|
6
|
+
if (order.indexOf(A) > order.indexOf(B)) {
|
|
7
|
+
return 1;
|
|
8
|
+
}
|
|
9
|
+
else {
|
|
10
|
+
return -1;
|
|
11
|
+
}
|
|
12
|
+
});
|
|
13
|
+
return array;
|
|
14
|
+
}
|
|
15
|
+
}
|
|
16
|
+
SortService.decorators = [
|
|
17
|
+
{ type: Injectable }
|
|
18
|
+
];
|
|
19
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic29ydC5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY29yZS1jb21wb25lbnRzL3NyYy9saWIvY29yZS9zZXJ2aWNlcy9zb3J0L3NvcnQuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRzNDLE1BQU0sT0FBTyxXQUFXO0lBQ3RCLFlBQVksQ0FBQyxLQUFpQixFQUFFLEtBQW9CLEVBQUUsR0FBVztRQUMvRCxLQUFLLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsRUFBRSxFQUFFO1lBQ2xCLE1BQU0sQ0FBQyxHQUFHLENBQUMsQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLEdBQUcsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDO1lBRTdCLElBQUksS0FBSyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsR0FBRyxLQUFLLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxFQUFFO2dCQUN2QyxPQUFPLENBQUMsQ0FBQzthQUNWO2lCQUFNO2dCQUNMLE9BQU8sQ0FBQyxDQUFDLENBQUM7YUFDWDtRQUNILENBQUMsQ0FBQyxDQUFDO1FBRUgsT0FBTyxLQUFLLENBQUM7SUFDZixDQUFDOzs7WUFkRixVQUFVIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5ASW5qZWN0YWJsZSgpXG5leHBvcnQgY2xhc3MgU29ydFNlcnZpY2Uge1xuICBzb3J0QnlPYmplY3QoYXJyYXk6IEFycmF5PGFueT4sIG9yZGVyOiBBcnJheTxzdHJpbmc+LCBrZXk6IHN0cmluZykge1xuICAgIGFycmF5LnNvcnQoKGEsIGIpID0+IHtcbiAgICAgIGNvbnN0IEEgPSBhW2tleV0sIEIgPSBiW2tleV07XG5cbiAgICAgIGlmIChvcmRlci5pbmRleE9mKEEpID4gb3JkZXIuaW5kZXhPZihCKSkge1xuICAgICAgICByZXR1cm4gMTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHJldHVybiAtMTtcbiAgICAgIH1cbiAgICB9KTtcblxuICAgIHJldHVybiBhcnJheTtcbiAgfVxufVxuIl19
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
import { Injectable } from '@angular/core';
|
|
2
|
+
export class ViewPortService {
|
|
3
|
+
isElementInViewport(element) {
|
|
4
|
+
const rect = element.getBoundingClientRect();
|
|
5
|
+
const isInViewPort = rect.top >= 0 &&
|
|
6
|
+
rect.left >= 0 &&
|
|
7
|
+
rect.bottom <= (window.innerHeight || document.documentElement.clientHeight) &&
|
|
8
|
+
rect.right <= (window.innerWidth || document.documentElement.clientWidth);
|
|
9
|
+
return isInViewPort;
|
|
10
|
+
}
|
|
11
|
+
getElementPosition(element) {
|
|
12
|
+
let el = element;
|
|
13
|
+
let x = 0;
|
|
14
|
+
let y = 0;
|
|
15
|
+
while (el && !isNaN(el.offsetLeft) && !isNaN(el.offsetTop)) {
|
|
16
|
+
x += el.offsetLeft;
|
|
17
|
+
y += el.offsetTop;
|
|
18
|
+
el = el.offsetParent;
|
|
19
|
+
}
|
|
20
|
+
return {
|
|
21
|
+
x: x,
|
|
22
|
+
y: y,
|
|
23
|
+
};
|
|
24
|
+
}
|
|
25
|
+
}
|
|
26
|
+
ViewPortService.decorators = [
|
|
27
|
+
{ type: Injectable }
|
|
28
|
+
];
|
|
29
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidmlld3BvcnQuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NvcmUtY29tcG9uZW50cy9zcmMvbGliL2NvcmUvc2VydmljZXMvdmlld3BvcnQvdmlld3BvcnQuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRzNDLE1BQU0sT0FBTyxlQUFlO0lBQzFCLG1CQUFtQixDQUFDLE9BQW9CO1FBQ3RDLE1BQU0sSUFBSSxHQUFHLE9BQU8sQ0FBQyxxQkFBcUIsRUFBRSxDQUFDO1FBRTdDLE1BQU0sWUFBWSxHQUNoQixJQUFJLENBQUMsR0FBRyxJQUFJLENBQUM7WUFDYixJQUFJLENBQUMsSUFBSSxJQUFJLENBQUM7WUFDZCxJQUFJLENBQUMsTUFBTSxJQUFJLENBQUMsTUFBTSxDQUFDLFdBQVcsSUFBSSxRQUFRLENBQUMsZUFBZSxDQUFDLFlBQVksQ0FBQztZQUM1RSxJQUFJLENBQUMsS0FBSyxJQUFJLENBQUMsTUFBTSxDQUFDLFVBQVUsSUFBSSxRQUFRLENBQUMsZUFBZSxDQUFDLFdBQVcsQ0FBQyxDQUFDO1FBRTVFLE9BQU8sWUFBWSxDQUFDO0lBQ3RCLENBQUM7SUFFRCxrQkFBa0IsQ0FBQyxPQUFvQjtRQUNyQyxJQUFJLEVBQUUsR0FBUSxPQUFPLENBQUM7UUFDdEIsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDO1FBQ1YsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDO1FBRVYsT0FBTyxFQUFFLElBQUksQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQyxTQUFTLENBQUMsRUFBRTtZQUMxRCxDQUFDLElBQUksRUFBRSxDQUFDLFVBQVUsQ0FBQztZQUNuQixDQUFDLElBQUksRUFBRSxDQUFDLFNBQVMsQ0FBQztZQUNsQixFQUFFLEdBQUcsRUFBRSxDQUFDLFlBQVksQ0FBQztTQUN0QjtRQUVELE9BQU87WUFDTCxDQUFDLEVBQUUsQ0FBQztZQUNKLENBQUMsRUFBRSxDQUFDO1NBQ0wsQ0FBQztJQUNKLENBQUM7OztZQTdCRixVQUFVIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5ASW5qZWN0YWJsZSgpXG5leHBvcnQgY2xhc3MgVmlld1BvcnRTZXJ2aWNlIHtcbiAgaXNFbGVtZW50SW5WaWV3cG9ydChlbGVtZW50OiBIVE1MRWxlbWVudCk6IGJvb2xlYW4ge1xuICAgIGNvbnN0IHJlY3QgPSBlbGVtZW50LmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpO1xuXG4gICAgY29uc3QgaXNJblZpZXdQb3J0ID1cbiAgICAgIHJlY3QudG9wID49IDAgJiZcbiAgICAgIHJlY3QubGVmdCA+PSAwICYmXG4gICAgICByZWN0LmJvdHRvbSA8PSAod2luZG93LmlubmVySGVpZ2h0IHx8IGRvY3VtZW50LmRvY3VtZW50RWxlbWVudC5jbGllbnRIZWlnaHQpICYmXG4gICAgICByZWN0LnJpZ2h0IDw9ICh3aW5kb3cuaW5uZXJXaWR0aCB8fCBkb2N1bWVudC5kb2N1bWVudEVsZW1lbnQuY2xpZW50V2lkdGgpO1xuXG4gICAgcmV0dXJuIGlzSW5WaWV3UG9ydDtcbiAgfVxuXG4gIGdldEVsZW1lbnRQb3NpdGlvbihlbGVtZW50OiBIVE1MRWxlbWVudCk6IFBvc2l0aW9uIHtcbiAgICBsZXQgZWw6IGFueSA9IGVsZW1lbnQ7XG4gICAgbGV0IHggPSAwO1xuICAgIGxldCB5ID0gMDtcblxuICAgIHdoaWxlIChlbCAmJiAhaXNOYU4oZWwub2Zmc2V0TGVmdCkgJiYgIWlzTmFOKGVsLm9mZnNldFRvcCkpIHtcbiAgICAgIHggKz0gZWwub2Zmc2V0TGVmdDtcbiAgICAgIHkgKz0gZWwub2Zmc2V0VG9wO1xuICAgICAgZWwgPSBlbC5vZmZzZXRQYXJlbnQ7XG4gICAgfVxuXG4gICAgcmV0dXJuIHtcbiAgICAgIHg6IHgsXG4gICAgICB5OiB5LFxuICAgIH07XG4gIH1cbn1cblxuZXhwb3J0IGludGVyZmFjZSBQb3NpdGlvbiB7XG4gIHg6IG51bWJlcjtcbiAgeTogbnVtYmVyO1xufVxuIl19
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
export * from './components/index';
|
|
2
|
+
export * from './services/index';
|
|
3
|
+
export * from './core/index';
|
|
4
|
+
export * from './shared/index';
|
|
5
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wcm9qZWN0cy9jb3JlLWNvbXBvbmVudHMvc3JjL2xpYi9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxjQUFjLG9CQUFvQixDQUFDO0FBQ25DLGNBQWMsa0JBQWtCLENBQUM7QUFDakMsY0FBYyxjQUFjLENBQUM7QUFDN0IsY0FBYyxnQkFBZ0IsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCAqIGZyb20gJy4vY29tcG9uZW50cy9pbmRleCc7XG5leHBvcnQgKiBmcm9tICcuL3NlcnZpY2VzL2luZGV4JztcbmV4cG9ydCAqIGZyb20gJy4vY29yZS9pbmRleCc7XG5leHBvcnQgKiBmcm9tICcuL3NoYXJlZC9pbmRleCc7XG4iXX0=
|