{"version":3,"sources":["webpack:///./src/modules/TeamExpeditionFinderModule/TeamExpeditionFinderModule.store.ts","webpack:///./src/modules/TeamDirectorySearchModule/TeamDirectorySearchModule.vue?764e","webpack:///./src/modules/TeamDirectorySearchModule/TeamDirectorySearchModule.ts?64d0","webpack:///./src/modules/TeamDirectorySearchModule/TeamDirectorySearchModule.ts","webpack:///./src/modules/TeamDirectorySearchModule/TeamDirectorySearchModule.vue","webpack:///./src/assets/icons/arrow.svg","webpack:///./src/modules/TeamExpeditionFinderModule/TeamExpeditionFinderModule.api.ts","webpack:///./src/assets/icons/search.svg"],"names":["GET_ITINERARIES_REQUEST","GET_ITINERARIES_SUCCESS","GET_ITINERARIES_ERROR","GET_DATES_REQUEST","GET_DATES_SUCCESS","GET_DATES_ERROR","SET_CURRENT_DESTINATION","SET_CURRENT_ITINERARY","SET_CURRENT_DATE","CLEAR_FILTERS","SET_STAGE","actions","destinationId","commit","result","length","itineraryId","mutations","state","message","Text","Type","Warning","payload","Itinararies","Dates","DateId","ItineraryId","DestinationId","DropdownStage","getters","registerModule","data","namespaced","store","tempScrollPos","modalIsActive","searchHasFocus","showFinder","p","pushSearchValue","isValidSearchQuery","searchResults","debouncedHandleSearch","handleSearchQueryValidation","TeamFinderTitle","SearchModule","created","this","$options","modulePath","setModalActive","setVal","teamfinder","$refs","results","suggestions","$el","getBoundingClientRect","top","document","documentElement","classList","add","body","getElementById","setTimeout","window","scrollTo","remove","Math","max","pageYOffset","handleSearchFocus","isFocus","e","type","innerWidth","querySelector","handleSearchInput","input","oldVal","handleSuggestionSelected","finderToggle","value","isInBreakpoint","some","newVal","Team","handleValidSearch","then","response","clearSearch","mounted","components","LargeSearchBar","SearchResultsList","SearchPreviewCard","SearchSuggestions","TeamExpeditionFinderModule","IconArrow","extend","props","Destinations","Value","Title","Items","component","_vm","_h","$createElement","_c","_self","ref","staticClass","class","attrs","on","evt","_l","item","index","key","Link","style","_f","tag","module","exports","functional","render","_v","children","classNames","staticStyle","rest","Object","assign","concat","itineraryApiService","showLoading","cancel","returnData","departureApiService","GetItineraries","Promise","call","GetDates","GetDepartureUrl","departureId"],"mappings":"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","file":"102.ff745553e7672b88910b.js","sourcesContent":["import SelectItem from '@/common/interfaces/SelectItem';\nimport { Module, ActionTree, Store, MutationTree, GetterTree } from 'vuex';\nimport { RootState } from '@/store/types';\nimport { GetItineraries, GetDates } from './TeamExpeditionFinderModule.api';\nimport { registerSubModule } from '@/utils/vueUtils';\nimport { TeamExpeditionFinderModuleViewModel } from './TeamExpeditionFinderModule.types';\nimport { showToastMessage } from '@/utils/toastUtils';\nimport ToastType from '../../common/interfaces/enums/ToastType';\n\nexport interface TeamExpeditionFinderState {\n DestinationId: number;\n ItineraryId: number;\n DateId: number;\n Itinararies: SelectItem[];\n Dates: SelectItem[];\n DropdownStage: number;\n}\n\nexport const GET_ITINERARIES_REQUEST = 'GET_ITINERARIES_REQUEST';\nexport const GET_ITINERARIES_SUCCESS = 'GET_ITINERARIES_SUCCESS';\nexport const GET_ITINERARIES_ERROR = 'GET_ITINERARIES_ERROR';\n\nexport const GET_DATES_REQUEST = 'GET_DATES_REQUEST';\nexport const GET_DATES_SUCCESS = 'GET_DATES_SUCCESS';\nexport const GET_DATES_ERROR = 'GET_DATES_ERROR';\n\nexport const SET_CURRENT_DESTINATION = 'SET_CURRENT_DESTINATION';\nexport const SET_CURRENT_ITINERARY = 'SET_CURRENT_ITINERARY';\nexport const SET_CURRENT_DATE = 'SET_CURRENT_DATE';\nexport const CLEAR_FILTERS = 'CLEAR_FILTERS';\nexport const SET_STAGE = 'SET_STAGE';\n\nconst actions: ActionTree = {\n async [GET_ITINERARIES_REQUEST]({ state, commit }, destinationId: number) {\n try {\n const result = await GetItineraries(destinationId);\n commit(SET_CURRENT_DESTINATION, destinationId);\n commit(SET_CURRENT_DATE, null);\n commit(SET_CURRENT_ITINERARY, null);\n commit(SET_STAGE, 1);\n if (result && result.length > 0) {\n commit(GET_ITINERARIES_SUCCESS, result);\n } else {\n commit(GET_ITINERARIES_ERROR, \"Didn't find any Itineraries.\");\n }\n } catch (error) {\n commit(GET_ITINERARIES_ERROR, error);\n }\n },\n async [GET_DATES_REQUEST]({ state, commit }, itineraryId: number) {\n try {\n const result = await GetDates(itineraryId);\n commit(SET_CURRENT_ITINERARY, itineraryId);\n commit(SET_STAGE, 2);\n if (result && result.length > 0) {\n commit(GET_DATES_SUCCESS, result);\n } else {\n commit(GET_DATES_ERROR, \"Didn't find any dates.\");\n }\n } catch (error) {\n commit(GET_DATES_ERROR, error);\n }\n },\n};\n\nconst mutations: MutationTree = {\n [GET_ITINERARIES_ERROR](state, message) {\n showToastMessage([\n {\n Text: message,\n Type: ToastType.Warning,\n },\n ]);\n },\n [GET_DATES_ERROR](state, message) {\n showToastMessage([\n {\n Text: message,\n Type: ToastType.Warning,\n },\n ]);\n },\n [GET_ITINERARIES_SUCCESS](state, payload: SelectItem[]) {\n state.Itinararies = payload;\n },\n [GET_DATES_SUCCESS](state, payload: SelectItem[]) {\n state.Dates = payload;\n },\n [SET_CURRENT_DATE](state, payload: number) {\n if (payload == null) state.Dates = [];\n state.DateId = payload;\n },\n [SET_CURRENT_ITINERARY](state, payload: number) {\n state.ItineraryId = payload;\n },\n [SET_CURRENT_DESTINATION](state, payload: number) {\n state.DestinationId = payload;\n },\n [SET_STAGE](state, payload: number) {\n state.DropdownStage = payload;\n },\n [CLEAR_FILTERS](state) {\n state.DestinationId = null;\n state.ItineraryId = null;\n state.DateId = null;\n\n state.Itinararies = [];\n state.Dates = [];\n state.DropdownStage = 0;\n },\n};\n\nconst getters: GetterTree = {};\n\nconst registerModule = registerSubModule<\n TeamExpeditionFinderState,\n TeamExpeditionFinderModuleViewModel\n>((data: TeamExpeditionFinderModuleViewModel) => {\n return {\n namespaced: true,\n state: {\n Itinararies: [],\n Dates: [],\n DestinationId: null,\n ItineraryId: null,\n DateId: null,\n DropdownStage: 0,\n },\n actions,\n mutations,\n getters,\n } as Module;\n}, 'TeamExpeditionFinderModule');\n\nexport default async (store: Store, data: TeamExpeditionFinderModuleViewModel) => {\n return registerModule(store, data);\n};\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('section',{ref:\"teamfinder\",staticClass:\"search\",class:{\n 'search--expand': _vm.modalIsActive || _vm.searchHasFocus,\n }},[_c('div',{staticClass:\"search__mask\",class:{ 'search__mask--expand': _vm.modalIsActive || _vm.searchHasFocus }}),_c('div',{staticClass:\"search__background\"}),_c('div',{staticClass:\"search__action-bar\",class:{ 'search__action-bar--expand': _vm.searchHasFocus }},[_c('button',{staticClass:\"search__action-bar-close\",class:{ 'search__action-bar-close--expand': _vm.searchHasFocus },attrs:{\"type\":\"button\",\"aria-label\":\"clear search\"},on:{\"click\":_vm.clearSearch}},[_c('IconArrow')],1)]),_c('div',{staticClass:\"container\"},[_c('div',{staticClass:\"search__search-row\",class:{ 'search__search-row--finder-open': _vm.showFinder }},[_c('div',{staticClass:\"search__search-wrapper\"},[_c('LargeSearchBar',{attrs:{\"searchValue\":_vm.pushSearchValue,\"placeHolder\":\"Search by name, expertise or destination…\",\"getHintsOnInput\":true,\"hasFocus\":_vm.searchHasFocus === null},on:{\"focus\":function (evt) {\n _vm.handleSearchFocus(true, evt);\n },\"blur\":function (evt) {\n _vm.handleSearchFocus(false, evt);\n },\"searchdata\":_vm.handleSearchInput,\"cleardata\":_vm.clearSearch}}),_c('div',{staticClass:\"search__search-context\",class:{\n 'search__search-context--expand': _vm.searchHasFocus,\n 'search__search-context--expand-results': _vm.searchResults.length > 0,\n }},[_c('div',{ref:\"results\",staticClass:\"search__search-results\",class:{ 'search__search-results--expand-results': _vm.searchResults.length > 0 }},[_c('transition-group',{staticClass:\"search__search-results-list\",attrs:{\"tag\":\"div\",\"name\":\"search-results-fade\",\"appear\":\"\"}},_vm._l((_vm.searchResults),function(item,index){return _c('div',{key:item.Link,staticClass:\"search__search-results-item text--small\",style:({ '--i': index })},[_c('SearchPreviewCard',{attrs:{\"p\":item}})],1)}),0)],1),_c('SearchSuggestions',{ref:\"suggestions\",staticClass:\"search__search-suggestions search__search-suggestions_team-directory\",attrs:{\"p\":_vm.p.SearchSuggestions},on:{\"selected\":_vm.handleSuggestionSelected}})],1)],1)]),_c(_vm._f(\"ssr\")('TeamExpeditionFinderModule'),{tag:\"component\",attrs:{\"title\":_vm.TeamFinderTitle,\"destinations\":_vm.p.Destinations,\"is-expanded\":_vm.showFinder,\"is-visible\":!_vm.searchHasFocus,\"destinationId\":_vm.p.DestinationId,\"itineraryId\":_vm.p.ItineraryId},on:{\"clicked\":_vm.finderToggle}})],1)])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import mod from \"-!../../../node_modules/ts-loader/index.js??ref--0!./TeamDirectorySearchModule.ts?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../node_modules/ts-loader/index.js??ref--0!./TeamDirectorySearchModule.ts?vue&type=script&lang=ts&\"","import { getStore } from '@/store/index';\nimport { Component, Vue, Watch, Ref } from 'vue-property-decorator';\nimport { Getter } from 'vuex-class';\n\nimport { getComponentProps } from '@/utils/vueUtils';\nimport { SM } from '@/utils/breakpointUtils';\nimport SizeBreakpoints from '@/common/interfaces/SizeBreakpoints';\n\nimport { disableBodyScroll, clearAllBodyScrollLocks } from 'body-scroll-lock';\n\nimport { TeamSearchBlockViewModel } from './TeamDirectorySearchModule.types';\nimport SearchResultsCategory from '@/modules/SearchModule/SearchModule.types';\nimport LargeSearchBar from '@/components/LargeSearchBar/LargeSearchBar.vue';\nimport SearchResultsList from '@/components/SearchResultsList/SearchResultsList.vue';\nimport SearchPreviewCard from '@/components/SearchPreviewCard/SearchPreviewCard.vue';\nimport SearchSuggestions from '@/components/SearchSuggestions/SearchSuggestions.vue';\n\nimport IconArrow from '@/assets/icons/arrow.svg?inline';\nimport registerSubModule from '@/modules/TeamExpeditionFinderModule/TeamExpeditionFinderModule.store';\nimport { SearchHints } from '../NavigationModule/NavigationModule.api';\nimport debounce from 'lodash/debounce';\n\nconst SearchModuleProps = Vue.extend({\n props: getComponentProps({\n Destinations: [\n {\n Text: 'Alaska',\n Value: 1,\n },\n {\n Text: 'Amazon',\n Value: 2,\n },\n {\n Text: 'Antarctic',\n Value: 3,\n },\n ],\n SearchSuggestions: {\n Title: 'Suggested Searches',\n //Placeholder: 'Search by name, expertise or destination…', //TODO: move placeholder to TeamSearchBlockViewModel?\n Items: [\n {\n Title: 'By Expertise',\n Items: [\n 'Captains',\n 'Undersea Diving',\n 'National Geographic Photographers',\n 'Naturalists',\n ],\n },\n {\n Title: 'By Destination',\n Items: ['Antarctica', 'Galapagos'],\n },\n ],\n },\n }),\n});\n\n@Component({\n components: {\n LargeSearchBar,\n SearchResultsList,\n SearchPreviewCard,\n SearchSuggestions,\n TeamExpeditionFinderModule: () =>\n import('@/modules/TeamExpeditionFinderModule/TeamExpeditionFinderModule.vue'),\n IconArrow,\n },\n})\nexport default class SearchModule extends SearchModuleProps {\n tempScrollPos = 0;\n\n modalIsActive = false;\n searchHasFocus = false;\n showFinder = !!this.p.DestinationId;\n\n pushSearchValue = null;\n isValidSearchQuery = false;\n searchResults = [];\n debouncedHandleSearch = debounce(this.handleSearchQueryValidation, 500);\n\n // DUMMY DATA FOR THE EXPEDITION FINDER MODULE\n TeamFinderTitle = 'Find the team aboard your chosen expedition';\n\n async created() {\n (this.$options as any).modulePath = await registerSubModule(getStore(), {});\n }\n\n setModalActive(setVal: boolean) {\n let teamfinder = this.$refs.teamfinder;\n let searchResults = this.$refs.results;\n let searchSuggestions = (this.$refs.suggestions as any).$el;\n\n if (setVal === true && this.modalIsActive === false) {\n this.tempScrollPos = teamfinder.getBoundingClientRect().top - document.documentElement.getBoundingClientRect().top - 60;\n\n document.documentElement.classList.add('no-scroll', 'h-100');\n document.body.classList.add('no-scroll', 'h-100');\n document.getElementById('app').classList.add('h-100');\n\n this.modalIsActive = true;\n setTimeout(() => {\n window.scrollTo(0, 0)\n }, 100)\n } else if (setVal === false && this.modalIsActive === true) {\n document.documentElement.classList.remove('no-scroll', 'h-100');\n document.body.classList.remove('no-scroll', 'h-100');\n document.getElementById('app').classList.remove('h-100');\n\n window.scrollTo(0, Math.max(window.pageYOffset, this.tempScrollPos));\n this.modalIsActive = false;\n }\n }\n\n handleSearchFocus(isFocus: boolean, e: Event) {\n if (e.type === 'blur' && window.innerWidth <= SM) return;\n this.searchHasFocus = this.isValidSearchQuery ? true : isFocus;\n if (window.innerWidth <= SM) this.setModalActive(isFocus);\n this.pushSearchValue = this.isValidSearchQuery ? this.pushSearchValue : null;\n this.showFinder = false;\n\n if (document.querySelector('.is-search-active')) {\n this.searchHasFocus = true;\n }\n }\n\n handleSearchInput(input) {\n const oldVal = this.pushSearchValue;\n this.pushSearchValue = input;\n if (this.pushSearchValue === oldVal) {\n this.handleSearchQueryValidation(this.pushSearchValue, oldVal);\n }\n }\n\n handleSuggestionSelected(data) {\n this.pushSearchValue = data;\n }\n\n finderToggle(value) {\n if (this.showFinder !== value) {\n if (window.innerWidth <= SM) this.setModalActive(value);\n this.showFinder = value;\n }\n }\n\n @Getter isInBreakpoint!: (breakpoints: SizeBreakpoints[] | SizeBreakpoints) => boolean;\n get isMobileWidth() {\n return this.isInBreakpoint(['xs', 'sm', 'md']);\n }\n\n @Watch('pushSearchValue')\n some(newVal: string, oldVal: string) {\n this.debouncedHandleSearch(newVal, oldVal);\n }\n\n async handleSearchQueryValidation(newVal: string, oldVal: string) {\n this.isValidSearchQuery = newVal && newVal.length > 2 ? true : false;\n if (this.isValidSearchQuery) {\n //API call\n this.pushSearchValue = newVal;\n this.searchResults = await SearchHints(newVal, true, SearchResultsCategory.Team);\n if (!this.searchResults) this.searchResults = [];\n } else {\n this.searchResults = [];\n }\n }\n\n handleValidSearch(value: string) {\n SearchHints(value, true, SearchResultsCategory.Team).then(\n (response) => (this.searchResults = response),\n );\n }\n\n clearSearch() {\n this.searchHasFocus = false;\n this.pushSearchValue = null;\n if (window.innerWidth <= SM) this.setModalActive(false);\n }\n\n mounted() {\n if (document.querySelector('.is-search-active')) {\n this.searchHasFocus = true;\n }\n }\n}\n","import { render, staticRenderFns } from \"./TeamDirectorySearchModule.vue?vue&type=template&id=b65e7a7c&\"\nimport script from \"./TeamDirectorySearchModule.ts?vue&type=script&lang=ts&\"\nexport * from \"./TeamDirectorySearchModule.ts?vue&type=script&lang=ts&\"\nimport style0 from \"./TeamDirectorySearchModule.scss?vue&type=style&index=0&lang=scss&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","\n module.exports = {\n functional: true,\n render(_h, _vm) {\n const { _c, _v, data, children = [] } = _vm;\n\n const {\n class: classNames,\n staticClass,\n style,\n staticStyle,\n attrs = {},\n ...rest\n } = data;\n\n return _c(\n 'svg',\n {\n class: [classNames,staticClass],\n style: [style,staticStyle],\n attrs: Object.assign({\"aria-hidden\":\"true\",\"xmlns\":\"http://www.w3.org/2000/svg\",\"viewBox\":\"0 0 20 34\"}, attrs),\n ...rest,\n },\n children.concat([_c('path',{attrs:{\"d\":\"M19.697 9.338L9.994 0l-.725.697-.001.001-8.98 8.64a.961.961 0 00.013 1.385 1.056 1.056 0 001.439.012l7.227-6.954v29.231c0 .546.46.988 1.027.988s1.026-.442 1.026-.988V3.782l7.227 6.953c.193.186.454.29.726.29.273 0 .534-.104.726-.29a.968.968 0 00.301-.698.968.968 0 00-.301-.699\"}})])\n )\n }\n }\n ","import SelectItem from '@/common/interfaces/SelectItem';\nimport ApiService from '../../common/ApiService/ApiService';\nimport { HttpVerb } from '../../common/ApiService/HttpVerb';\n\nconst itineraryApiService = new ApiService('/api/ItineraryApiService/', {\n showLoading: false,\n cancel: true,\n returnData: true,\n});\n\nconst departureApiService = new ApiService('/api/DepartureApiService/', {\n showLoading: false,\n cancel: true,\n returnData: true,\n});\n\nexport const GetItineraries = async (destinationId: number): Promise => {\n return await itineraryApiService.call(`GetByDestinationId?destinationId=${destinationId}`);\n};\n\nexport const GetDates = async (itineraryId: number): Promise => {\n return await itineraryApiService.call(`GetDates?itineraryId=${itineraryId}`);\n};\n\nexport const GetDepartureUrl = async (departureId: number): Promise => {\n return await departureApiService.call(\n `GetDepartureItineraryHeaderUrl?departureId=${departureId}`,\n );\n};\n","\n module.exports = {\n functional: true,\n render(_h, _vm) {\n const { _c, _v, data, children = [] } = _vm;\n\n const {\n class: classNames,\n staticClass,\n style,\n staticStyle,\n attrs = {},\n ...rest\n } = data;\n\n return _c(\n 'svg',\n {\n class: [classNames,staticClass],\n style: [style,staticStyle],\n attrs: Object.assign({\"aria-hidden\":\"true\",\"xmlns\":\"http://www.w3.org/2000/svg\",\"viewBox\":\"0 0 45 45\"}, attrs),\n ...rest,\n },\n children.concat([_c('path',{attrs:{\"d\":\"M30.439 32.632A18.426 18.426 0 0118.5 37C8.283 37 0 28.717 0 18.5S8.283 0 18.5 0 37 8.283 37 18.5c0 4.55-1.643 8.717-4.368 11.939l.016.015 11.898 11.898a1.551 1.551 0 11-2.194 2.194L30.454 32.648a1.583 1.583 0 01-.015-.016zM18.5 33.42c8.24 0 14.92-6.68 14.92-14.919 0-8.24-6.68-14.92-14.92-14.92S3.58 10.26 3.58 18.5s6.68 14.92 14.92 14.92z\"}})])\n )\n }\n }\n "],"sourceRoot":""}