{"version":3,"file":"js/8993.4d66d285.js","mappings":"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","sources":["webpack://@sunwebgroup/design-system/./shared/js/helpers/dates.js","webpack://@sunwebgroup/design-system/./shared/modules/components/label/c-label.template.js","webpack://@sunwebgroup/design-system/./shared/modules/widgets/dates-filter/main.js","webpack://@sunwebgroup/design-system/./shared/modules/widgets/destination-filter/destination-result.template.js","webpack://@sunwebgroup/design-system/./shared/modules/widgets/destination-filter/main.js","webpack://@sunwebgroup/design-system/./shared/modules/widgets/destination-multiple-filter/destination-multiple-filter.template.js","webpack://@sunwebgroup/design-system/./shared/modules/widgets/destination-multiple-filter/main.js","webpack://@sunwebgroup/design-system/./shared/modules/widgets/destination-multiple-filter/config.js","webpack://@sunwebgroup/design-system/./shared/modules/widgets/destination-multiple-filter/destination-multiple-option.template.js","webpack://@sunwebgroup/design-system/./shared/modules/components/autocomplete/autocomplete.template.js","webpack://@sunwebgroup/design-system/./shared/modules/widgets/destination-single-filter/main.js","webpack://@sunwebgroup/design-system/./shared/modules/widgets/destination-single-filter/destination-single-filter.template.js","webpack://@sunwebgroup/design-system/./shared/modules/widgets/dropdown-dynamic-filter/main.js"],"sourcesContent":["import * as namespace from '../document/namespace'\nconst helper = namespace.register('sundio.helpers.dates')\n\n/**\n * A date expressed as \"YYYY-MM-DD\" string\n * @global\n * @typedef {String} DateString\n */\n\n/**\n * Check if date is invalid\n *\n * @param {Date} date\n *\n * @returns {Boolean}\n */\nexport function isInvalidDate (date) {\n return (date instanceof Date && isNaN(date))\n}\nhelper.isInvalidDate = isInvalidDate\n\n/**\n * Check if date is a valid date object\n *\n * @param {Date} date\n *\n * @returns {Boolean}\n */\nexport function isValidDateObject (date) {\n // See: https://stackoverflow.com/a/44198641/748941 on how to detect if an object is a (valid) date instance.\n return (date && Object.prototype.toString.call(date) === '[object Date]' && !isNaN(date))\n}\nhelper.isValidDateObject = isValidDateObject\n\n/**\n * Check if date is invalid\n *\n * @param {DateString} datestring\n *\n * @returns {Boolean}\n */\nexport function isValidDateString (datestring) {\n if (typeof datestring === 'string') {\n const date = dateStringToDate(datestring)\n const month = Number(datestring.split('-')[1]) - 1\n return (date.getMonth() === month)\n } else if (datestring instanceof Date) {\n return !isInvalidDate(datestring)\n } else {\n return false\n }\n}\nhelper.isValidDateString = isValidDateString\n\n/**\n * Convert a DateString|Date to Date if needed\n *\n * @param {Date|DateString} date\n *\n * @returns {Date}\n */\nexport function dateStringToDate (date) {\n return isValidDateObject(date)\n ? date\n : (typeof date === 'string') ? new Date(fixDateString(date)) : new Date()\n}\nhelper.dateStringToDate = dateStringToDate\n\n/**\n * Fixes date for browsers like IE or Firefox\n *\n * @param {DateString} datestring\n *\n * @returns {DateString}\n */\nexport function fixDateString (datestring) {\n let [year, month, day] = datestring.split('-')\n if (!year || !month || !day) { return '' }\n\n year = (year.length === 2) ? '19' + year : year\n month = (month.length === 1) ? '0' + month : month\n day = (day.length === 1) ? '0' + day : day\n\n // We need to replace unicode characters to avoid the Invalid Date problem thrown by\n // IE 11 when performing a new Date()\n return [year, month, day].join('-').replace(/[^ -\\x7F]/g, '')\n}\nhelper.fixDateString = fixDateString\n\n/**\n * Convert a DateString|Date array to Dates array if needed\n *\n * @param {Date[]|DateString[]} dates\n *\n * @returns {Date[]}\n */\nexport function dateStringsToDates (dates) {\n return dates.map(date => dateStringToDate(date))\n}\nhelper.dateStringsToDates = dateStringsToDates\n\n/**\n * Returns the minimum (earliest) date of an array.\n * If the array is empty, no minimum is returned (it is undefined).\n *\n * @param {Date[]|DateString[]} dates=[] - Set of dates from which the minimum will be obtained. Empty array by default.\n *\n * @returns {Date|undefined} The minimum, or earliest, date of the array.\n */\nexport function getMin (dates = []) {\n if (!dates.length) return undefined\n dates = dateStringsToDates(dates)\n return new Date(Math.min(...dates))\n}\nhelper.getMin = getMin\n\n/**\n * Returns the maximum (latest) date of an array.\n * If the array is empty, no maximum is returned (it is undefined).\n *\n * @param {Date[]|DateString[]} dates=[] - Set of dates from which the maximum will be obtained. Empty array by default.\n *\n * @returns {Date|undefined} The maximum, or latest, date of the array.\n */\nexport function getMax (dates = []) {\n if (!dates.length) return undefined\n dates = dateStringsToDates(dates)\n return new Date(Math.max(...dates))\n}\nhelper.getMax = getMax\n\n/**\n * Returns the edges (first and last) dates of an array.\n * If the array is empty, empty array is returned.\n *\n * @param {Date[]|DateString[]} dates=[] - Set of dates from which the edges will be obtained. Empty array by default.\n *\n * @returns {Date[]} The edges dates of the array.\n */\nexport function getEdgeDates (dates = []) {\n if (!dates.length) return []\n dates = dateStringsToDates(dates)\n return [getMin(dates), getMax(dates)]\n}\nhelper.getEdgeDates = getEdgeDates\n\n/**\n * Returns the string representation of the date provided in the format and locale indicated.\n * The date parameter is mandatory and it needs to be provided.\n * Not all formats are supported. Currently, the formats supported are:\n * - yyyy-mm-dd (for example 2008-10-28)\n * - dd mmmm yyyy (for example 28 October 2008 - with the month in the language of the locale)\n * - d mmmm yyyy (for example 8 October 2008 - with the date not being necessarily two digits and the month in the language of the locale)\n * - mmmm yyyy (for example 2008 - with the month in the language of the locale)\n * If no format parameter is provided, the ISO date: yyyy-mm-dd is used.\n *\n * @param {Date} date - The date which string representation is desired\n * @param {string} format - The format in which the string representation is desired.\n * If not provided, the default format used is the ISO Date: yyyy-mm-dd (e.g. 2008-10-28)\n * @param {string} locale - A string indicating the locale in which to obtain the dates representation.\n * If not provided, the locale en-GB will be used.\n *\n * @returns {String|undefined} The formatted string\n */\nexport function formatDate (date, format = 'yyyy-mm-dd', locale = 'en-GB') {\n if (date) {\n switch (format) {\n case 'dd mmmm yyyy':\n return `${date.toLocaleString(locale, { day: '2-digit' })} ${date.toLocaleString(locale, { month: 'long' })} ${\n date.toLocaleString(locale, { year: 'numeric' })}`\n case 'd mmmm yyyy':\n return `${date.toLocaleString(locale, { day: 'numeric' })} ${date.toLocaleString(locale, { month: 'long' })} ${\n date.toLocaleString(locale, { year: 'numeric' })}`\n\n case 'mmmm yyyy':\n return date.toLocaleString(locale, { month: 'long', year: 'numeric' })\n\n default:\n return `${date.toLocaleString(locale, { year: 'numeric' })}-${date.toLocaleString(locale, { month: '2-digit' })\n }-${date.toLocaleString(locale, { day: '2-digit' })}`\n }\n }\n return undefined\n}\nhelper.formatDate = formatDate\n\n/**\n * Creates a Data object from a string in the provided format.\n * Not all formats are supported. Currently, the formats supported are:\n * - yyyy-mm-dd (for example 2008-10-28)\n *\n * @param {string} dateText - The string representation of the date object to create\n * @param {string} format - The format in which the string represents the date to create.\n * If not provided, the default format is 'yyyy-mm-dd'\n *\n * @returns {Date|undefined} The date object that corresponds to the provided dateText representation.\n * If format is not supported or dateText does not follows provided format, it is undefined.\n */\nexport function createDate (dateText, format = 'yyyy-mm-dd') {\n if (dateText) {\n const fixDateText = fixDateString(dateText)\n dateText = fixDateText.split('T')[0]\n switch (format) {\n case 'yyyy-mm-dd': {\n const parts = dateText.split('-')\n if (parts.length === 3) {\n const yearPart = parts[0]\n const monthPart = parts[1]\n const datePart = parts[2]\n if (yearPart.length === 4 && monthPart.length === 2 && datePart.length === 2) {\n return new Date(parseInt(yearPart), parseInt(monthPart) - 1, parseInt(datePart))\n }\n }\n }\n }\n }\n return undefined\n}\nhelper.createDate = createDate\n\n/**\n * Returns the difference between two dates.\n *\n * @param {Date|DateString} initialDate\n * @param {Date|DateString} finalDate\n * @param {string} differenceUnits - The unit in which the difference will be returned. By default is days\n * Not all difference units are supported. Currently supported are:\n * - milliseconds\n * - seconds\n * - minutes\n * - hours\n * - days\n * - weeks\n *\n * @returns {number|undefined} The difference between firstDate and secondDate in the units specified.\n */\nexport function getDatesDifference (initialDate, finalDate, differenceUnits = 'days') {\n if (initialDate && finalDate) {\n initialDate = dateStringToDate(initialDate)\n finalDate = dateStringToDate(finalDate)\n const millisecondsDifference = finalDate.getTime() - initialDate.getTime()\n switch (differenceUnits) {\n case 'milliseconds':\n return millisecondsDifference\n case 'seconds':\n return millisecondsDifference / 1000\n case 'minutes':\n return millisecondsDifference / (1000 * 60)\n case 'hours':\n return millisecondsDifference / (1000 * 60 * 60)\n case 'days':\n return millisecondsDifference / (1000 * 60 * 60 * 24)\n case 'weeks':\n return millisecondsDifference / (1000 * 60 * 60 * 24 * 7)\n }\n }\n return undefined\n}\nhelper.getDatesDifference = getDatesDifference\n\n/**\n * Returns first and last date in current month for a given date.\n *\n * @param {Date|DateString} date\n *\n * @returns {Date[]} A dates array with first and last dates in current month.\n */\nexport function getMonthEdges (date) {\n date = dateStringToDate(date)\n return [\n new Date(date.getFullYear(), date.getMonth(), 1),\n new Date(date.getFullYear(), date.getMonth() + 1, 0)\n ]\n}\nhelper.getMonthEdges = getMonthEdges\n\n/**\n * Returns all dates in current month for a given date.\n *\n * @param {Date|DateString} date\n *\n * @returns {Date[]} A dates array with all available dates in current month.\n */\nexport function getWholeMonthDays (date) {\n const monthEdges = getMonthEdges(date)\n return getConsecutivePeriod(monthEdges[0], monthEdges[1])\n}\nhelper.getWholeMonthDays = getWholeMonthDays\n\n/**\n * Returns a consecutive dates array in between given two dates.\n *\n * @param {Date|DateString} initialDate\n * @param {Date|DateString} finalDate\n *\n * @returns {Date[]} A dates array filled with missing days gaps.\n */\nexport function getConsecutivePeriod (initialDate, finalDate) {\n initialDate = dateStringToDate(initialDate)\n finalDate = dateStringToDate(finalDate)\n initialDate.setHours(0, 0, 0)\n finalDate.setHours(0, 0, 0)\n const days = []\n const newDay = new Date(initialDate)\n while (newDay.getTime() <= finalDate.getTime()) {\n days.push(new Date(newDay))\n newDay.setDate(newDay.getDate() + 1)\n newDay.setHours(0, 0, 0) // fix changes on daylight saving time over dates\n }\n return days\n}\nhelper.getConsecutivePeriod = getConsecutivePeriod\n\n/**\n * Returns a date, adding or subtracting N days to a given date\n *\n * @param {Date|DateString} date\n * @param {Number} daysToAdd - The number of days to add/subtract\n *\n * @returns {Date} Resulting date\n */\nexport function addDays (date, daysToAdd) {\n date = dateStringToDate(date)\n const newDate = new Date(date.getTime())\n newDate.setDate(date.getDate() + daysToAdd)\n return newDate\n}\nhelper.addDays = addDays\n\n/**\n * Returns a date, adding or subtracting N days to a given date\n *\n * @param {Date|DateString} date\n * @param {Object} addToDate - Whatever needs to be added (years, months, days, hours, minutes or seconds)\n *\n * @returns {Date} Resulting date\n */\nexport function add (date, addToDate = {}) {\n date = dateStringToDate(date)\n const newDate = new Date(date.getTime())\n if (addToDate.years) { newDate.setFullYear(date.getFullYear() + Number(addToDate.years)) }\n if (addToDate.months) { newDate.setMonth(date.getMonth() + Number(addToDate.months)) }\n if (addToDate.days) { newDate.setDate(date.getDate() + Number(addToDate.days)) }\n if (addToDate.hours) { newDate.setHours(date.getHours() + Number(addToDate.hours)) }\n if (addToDate.minutes) { newDate.setMinutes(date.getMinutes() + Number(addToDate.minutes)) }\n if (addToDate.seconds) { newDate.setSeconds(date.getSeconds() + Number(addToDate.seconds)) }\n\n return newDate\n}\nhelper.add = add\n\n/**\n * Returns an array of dates, resulting from adding and subtracting N days to a given date\n *\n * @param {Date|DateString} date\n * @param {Number} daysDiff - The number of days to add and subtract\n *\n * @returns {Date[]} A sorted dates array with computed calculation\n */\nexport function getNDaysBeforeAndAfter (date, daysDiff) {\n date = dateStringToDate(date)\n const days = []\n\n if (daysDiff < 1) {\n days.push(date)\n return days\n }\n\n for (let i = daysDiff; i > 0; i--) {\n const newDay = new Date(date.getTime())\n newDay.setDate(date.getDate() - i)\n days.push(newDay)\n }\n\n days.push(date)\n\n for (let i = 0; i < daysDiff; i++) {\n const newDay = new Date(date.getTime())\n newDay.setDate(date.getDate() + i + 1)\n days.push(newDay)\n }\n\n return days\n}\nhelper.getNDaysBeforeAndAfter = getNDaysBeforeAndAfter\n\n/**\n * Compare 2 dates for equality ignoring the time.\n *\n * @param {Date} date1 - First date to compare.\n * @param {Date} date2 - Second date to compare.\n *\n * @returns {Boolean} True if the date (disregarding the date) are equal.\n */\nexport function equalDates (date1, date2) {\n const d1 = new Date(date1)\n const d2 = new Date(date2)\n\n d1.setHours(0, 0, 0, 0)\n d2.setHours(0, 0, 0, 0)\n\n return d1.getTime() === d2.getTime()\n}\nhelper.equalDates = equalDates\n\n/**\n * Convert the date object into a string in ISO format (YYYY-MM-DD).\n *\n * @param {Date} date - The date to be stringified.\n *\n * @returns {DateString} The date in ISO format (YYYY-MM-DD).\n */\nexport function dateToString (date) {\n if (isInvalidDate(date)) { return '' } else {\n const mm = date.getMonth() + 1\n const dd = date.getDate()\n\n return [date.getFullYear(),\n (mm > 9 ? '' : '0') + mm,\n (dd > 9 ? '' : '0') + dd\n ].join('-')\n }\n}\nhelper.dateToString = dateToString\n/**\n * Check if both given dates are on same month\n *\n * @param {Date|DateString} date1\n * @param {Date|DateString} date2\n *\n * @returns {Boolean}\n */\nexport function areDatesInSameMonth (date1, date2) {\n date1 = dateStringToDate(date1)\n date2 = dateStringToDate(date2)\n return date1.getMonth() === date2.getMonth()\n}\nhelper.areDatesInSameMonth = areDatesInSameMonth\n\n/**\n * Check if both given dates are on same year\n *\n * @param {Date|DateString} date1\n * @param {Date|DateString} date2\n *\n * @returns {Boolean}\n */\nexport function areDatesInSameYear (date1, date2) {\n date1 = dateStringToDate(date1)\n date2 = dateStringToDate(date2)\n return date1.getFullYear() === date2.getFullYear()\n}\nhelper.areDatesInSameYear = areDatesInSameYear\n\n/**\n * Check if given edge dates are a whole month\n *\n * @param {Date|DateString} initialDate\n * @param {Date|DateString} finalDate\n *\n * @returns {Boolean}\n */\nexport function areDatesWholeMonth (initialDate, finalDate) {\n initialDate = dateStringToDate(initialDate)\n finalDate = dateStringToDate(finalDate)\n const wholeMonthDates = getWholeMonthDays(initialDate)\n return equalDates(initialDate, wholeMonthDates[0]) &&\n equalDates(finalDate, wholeMonthDates[wholeMonthDates.length - 1])\n}\nhelper.areDatesWholeMonth = areDatesWholeMonth\n\n/**\n * Returns the date in the middle, computed by days\n *\n * @param {Date|DateString} date1\n * @param {Date|DateString} date2\n *\n * @returns {Date}\n */\nexport function getCenterDate (date1, date2) {\n date1 = dateStringToDate(date1)\n date2 = dateStringToDate(date2)\n const daysDiff = getDatesDifference(date1, date2)\n return addDays(date1, parseInt(daysDiff / 2))\n}\nhelper.getCenterDate = getCenterDate\n\n/**\n * Returns the date with no timezone (YYY-MM-DDT00:00:00)\n *\n * @param {Date|DateString} date\n *\n * @returns {Date}\n */\nexport function noTimeZoneDate (datestring) {\n const date = dateStringToDate(datestring)\n return new Date(`${dateToString(date)}T00:00:00.000Z`)\n}\nhelper.noTimeZoneDate = noTimeZoneDate\n\n/**\n * Filters a list of dates in the range specified\n *\n * @param {Date|DateString} date - The date to check\n * @param {Date|DateString} [minDate] - The minimum date in range\n * @param {Date|DateString} [maxDate] - The maximum date in range\n *\n * @returns {Boolean} True if date is in range\n */\nexport function isDateInRange (date, minDate, maxDate) {\n if (!minDate && !maxDate) return false\n date = date ? dateStringToDate(date) : undefined\n minDate = minDate ? dateStringToDate(minDate) : undefined\n maxDate = maxDate ? dateStringToDate(maxDate) : undefined\n if (!minDate) return date <= maxDate\n if (!maxDate) return date >= minDate\n return date >= minDate && date <= maxDate\n}\nhelper.isDateInRange = isDateInRange\n\n/**\n * Filters a list of dates in the range specified\n *\n * @param {Date|DateString[]} dates - A list of dates\n * @param {Date|DateString} minDate - The minimum date in range\n * @param {Date|DateString} maxDate - The maximum date in range\n *\n * @returns {DateString[]} Matching dates for that range\n */\nexport function filterDatesInRange (dates = [], minDate, maxDate) {\n if (!minDate && !maxDate) return dates\n return dates\n .filter(date => isDateInRange(date, minDate, maxDate))\n}\nhelper.filterDatesInRange = filterDatesInRange\n\n/**\n * Returns the age at specific date\n *\n * @param {Date|DateString} birthdate - The birthdate\n * @param {Date|DateString} referenceDate - The date at which we want know the age. By default is today\n *\n * @returns {number} - The age\n */\nexport function getAge (birthdate, referenceDate = new Date()) {\n birthdate = dateStringToDate(birthdate)\n referenceDate = dateStringToDate(referenceDate)\n\n let age = referenceDate.getFullYear() - birthdate.getFullYear()\n const m = referenceDate.getMonth() - birthdate.getMonth()\n if (m < 0 || (m === 0 && referenceDate.getDate() < birthdate.getDate())) {\n age--\n }\n return age\n}\nhelper.getAge = getAge\n","import { encodeAttributes } from '../../../js/helpers/string'\nimport { getToken, getTokenClass } from '../../../js/helpers/tokens'\n\n// Import tokens\nconst tokensShared = require('./data/c-label__tokens.json')['c-label']\nconst tokensBrand = (() => {\n try {\n return require(`../../../../brands/${WEBPACK_BRAND}/modules/components/label/data/c-label__tokens.json`)['c-label'] // eslint-disable-line\n } catch (error) {\n return {}\n }\n})()\nconst tokens = { ...tokensShared, ...tokensBrand }\n\n// Import cross-component shared tokens\nconst tokensCollections = (() => {\n try {\n return require(`../../../../brands/${WEBPACK_BRAND}/data/ds-tokens-shared.json`)['collections'] // eslint-disable-line\n } catch (error) {\n return {}\n }\n})()\nconst tokensStates = (() => {\n try {\n return require(`../../../../brands/${WEBPACK_BRAND}/data/ds-tokens-shared.json`)['states'] // eslint-disable-line\n } catch (error) {\n return {}\n }\n})()\n\n/**\n * The Label Data contains all the data needed to hydrate a label component\n *\n * @typedef {Object} LabelData\n\n * @property {String} text - The text of the label\n * @property {String} [collection] - The collection displayed in the label\n * @property {Object} [attributes] - The attributes for the label\n * @property {String} [extraClasses] - The extraClasses for the label\n * @property {String} [variant] - The variant used for the label\n * @property {String} [size] - The size of the font using within the label\n * @property {String} [state] - The state used for the label\n * @property {String} [icon] - The icon used for the label\n * @property {String} [iconSize] - The icon size\n */\nexport const defaultLabelData = {\n text: '',\n collection: '',\n attributes: {},\n extraClasses: '',\n variant: '',\n size: '',\n state: '',\n icon: '',\n iconSize: ''\n}\n\nexport const LabelTemplate = (d) => {\n d = { ...defaultLabelData, ...d }\n\n const currentCollectionToken = d.collection\n ? getToken('collection', d.collection.toLowerCase(), tokensCollections) || undefined\n : undefined\n const currentCollectionColorScheme = currentCollectionToken\n ? currentCollectionToken.colorScheme || ''\n : ''\n\n const currentStateToken = d.state\n ? getToken('state', d.state, tokensStates) || undefined\n : undefined\n const currentStateModifier = currentStateToken\n ? currentStateToken.modifier || ''\n : ''\n const currentStateColorScheme = currentStateToken\n ? currentStateToken.colorScheme || ''\n : ''\n const currentStateColorSchemeWhite = currentStateToken\n ? currentStateToken.colorSchemeWhite || ''\n : ''\n\n return `\n\n ${d.icon\n ? ``\n : ''}\n ${d.text}\n\n `\n}\n","import Calendar from '../../components/calendar/main'\nimport CalendarDataModel from '../../components/calendar/calendar-data-model'\nimport domEventsHelper from '../../../js/document/dom-events-helper'\nimport {\n dateToString,\n getDatesDifference,\n getNDaysBeforeAndAfter,\n getWholeMonthDays,\n getEdgeDates,\n getMonthEdges,\n formatDate\n} from '../../../js/helpers/dates'\nimport registeredEvents from '../../../js/helpers/registered-events'\nimport { datesFilterEvents } from '../../../js/document/event-types'\nimport { queueFilterEvent } from '../../../js/helpers/queue-filter-event'\n\nconst widgetApi = 'w-dates-filter'\nconst widgetQueries = {\n textBox: `[data-${widgetApi}__textbox]`,\n floatingBox: `[data-${widgetApi}__floating-box]`,\n calendar: `[data-${widgetApi}__calendar]`,\n offset: `[data-${widgetApi}__offset]`,\n cancel: `[data-${widgetApi}__action=\"cancel\"]`,\n submit: `[data-${widgetApi}__action=\"submit\"]`,\n track: 'data-track',\n selectMonth: '.select-month',\n selectMonthCheckbox: '.select-month > input[type=checkbox]'\n}\n\nconst EventEmitter = require('eventemitter3')\n\nexport default class DatesFilter {\n /**\n * Creates a new DatesFilter\n *\n * @constructor\n *\n * @param {HTMLElement} element - The element where to attach DestinationsFilter\n * @param {FilterModel} filterModel - The associated FilterModel\n */\n constructor (element, filterModel) {\n this.element = element\n this.events = new EventEmitter()\n // Run the queries finding for elements\n this.textBox = this.element.querySelector(widgetQueries.textBox)\n this.textBoxInput = this.textBox.querySelector('input')\n this.floatingBox = this.element.querySelector(widgetQueries.floatingBox)\n this.calendar = this.element.querySelector(widgetQueries.calendar)\n this.offset = this.element.querySelector(widgetQueries.offset)\n this.cancel = this.element.querySelector(widgetQueries.cancel)\n this.submit = this.element.querySelector(widgetQueries.submit)\n this.selectMonthEl = this.element.querySelector(widgetQueries.selectMonth)\n this.selectMonthCheckbox = this.element.querySelector(widgetQueries.selectMonthCheckbox)\n registeredEvents.registerWidgetEvents(widgetApi, this.events, {\n ...this.element.hasAttribute(widgetQueries.track) && { track: this.element.attributes[widgetQueries.track].value }\n })\n this.element.setAttribute('data-js-component', widgetApi)\n // Access to available elements API\n this.textBoxApi = this.textBox['c-textbox']\n this.floatingBoxApi = this.floatingBox['c-floating-box']\n this.offsetApi = this.offset['c-dropdown']\n\n // Init component state\n this.isOpened = false\n\n // Bind component events\n this.textBoxApi.events.on('focus', this.onFocus, this)\n this.textBoxInput.addEventListener('focus', (ev) => {\n this.onFocus()\n ev.stopPropagation()\n })\n\n this.textBoxApi.events.on('clear', () => {\n this.selection.setAttribute('selectedDates', [])\n })\n this.offsetApi.events.on('propChanged', (prop) => {\n if (prop.name === 'value') this.onOffsetChange(prop.value)\n })\n\n // Bind DOM events\n this._domEvents = [\n [this.cancel, { click: (ev) => this.onCancel(ev) }],\n [this.submit, { click: (ev) => this.onSubmit(ev) }],\n [this.floatingBox, { mousedown: (ev) => this.stopPropagation(ev) }]\n ]\n domEventsHelper.attachEvents(this._domEvents, widgetApi)\n\n this.element[widgetApi] = {\n open: (this.onFocus).bind(this)\n }\n // Init filterModel\n this.setFilterModel(filterModel)\n\n // Initialize calendar element\n this.calendarApi = new Calendar(this.calendar, this.tempSelection, undefined, this)\n\n if (this.selectMonthEl) {\n this.nextMonthEl = element.querySelector('.flatpickr-next-month')\n this.prevMonthEl = element.querySelector('.flatpickr-prev-month')\n\n this.selectMonthEl.addEventListener('change', () => { this.selectMonth() })\n this.nextMonthEl.addEventListener('mousedown', () => { this.checkSelectMonthCheckBox(true) })\n this.prevMonthEl.addEventListener('mousedown', () => { this.checkSelectMonthCheckBox(false) })\n }\n\n this.calendarApi.setSelectionPreprocessingCallback(this.getSelectedDatesCallback)\n\n this.closeFloatingBox()\n }\n\n /**\n * Set the current filterModel\n * - Set given filterModel to filterModel self property\n * - Set props on child views\n * - Bind filter model events\n *\n * @param {FilterModel} filterModel - The associated FilterModel\n *\n * @returns {DatesFilter} self instance\n */\n setFilterModel (filterModel) {\n this.filterModel = filterModel\n\n this.selection = this.filterModel.values.calendarDataModel\n this.tempSelection = new CalendarDataModel(this.filterModel.values.calendarDataModel.attributes)\n\n this.textBoxApi.setProp('value', this.selection.humanizedSelectedDates())\n\n if (this.calendarApi) this.calendarApi.updateCalendarData(this.tempSelection)\n\n this.selection.events.on('change', this.onCalendarDataModelChange, this)\n\n this.tempSelection.events.on('change', () => {\n this.restoreOffsetFromSelection(this.tempSelection)\n })\n\n return this\n }\n\n openFloatingBox () {\n this.textBoxInput.classList.add('is-focused')\n this.floatingBoxApi.setProp('opened', true)\n this._floatingBoxEvents = [\n [document, { mousedown: (ev) => this.onDocumentClick(ev) }],\n [this.textBox, { click: (ev) => this.stopPropagation(ev) }]\n ]\n domEventsHelper.attachEvents(this._floatingBoxEvents, widgetApi)\n this.mustSelectMonthOptionCheckbox()\n }\n\n closeFloatingBox () {\n domEventsHelper.detachEvents(this._floatingBoxEvents, widgetApi)\n const closingPromise = this.floatingBoxApi.setProp('opened', false)\n this.textBoxInput.classList.remove('is-focused')\n this.textBoxInput.blur()\n return closingPromise\n }\n\n onFocus (ev) {\n if (this.isOpened) return\n this.isOpened = true\n\n const { cid, ...restoreAttributes } = this.selection.attributes\n this.tempSelection.setAttributes(restoreAttributes)\n this.restoreOffsetFromSelection()\n this.openFloatingBox()\n }\n\n onCancel (ev) {\n this.isOpened = false\n const { cid, ...restoreAttributes } = this.selection.attributes\n\n this.closeFloatingBox()\n .then(() => {\n this.tempSelection.setAttributes(restoreAttributes)\n this.restoreOffsetFromSelection()\n })\n }\n\n onSubmit (ev) {\n this.isOpened = false\n this.closeFloatingBox()\n const areSameValues = this.tempSelection.attributes.selectedDates.length === this.selection.attributes.selectedDates.length &&\n this.tempSelection.attributes.selectedDates.sort().every((v, i) => v === this.selection.attributes.selectedDates.sort()[i])\n const { cid, ...newAttributes } = this.tempSelection.attributes\n this.selection.setAttributes(newAttributes)\n if (!areSameValues) this.events.emit(datesFilterEvents.DATES_FILTERS_APPLIED, this.selection.attributes.selectedDates)\n }\n\n onCalendarDataModelChange (ev) {\n this.textBoxApi.setProp('value', this.selection.humanizedSelectedDates())\n this.restoreOffsetFromSelection()\n }\n\n onOffsetChange (offset) {\n const selectedDate = this.tempSelection.getAttribute('selectedDate')\n if (!selectedDate) {\n this.offsetApi.setProp('value', offset, { silent: true })\n return\n }\n const selectedDates = (() => {\n switch (offset) {\n case '0':\n return [selectedDate]\n default:\n return getNDaysBeforeAndAfter(selectedDate, parseInt(offset)).map(d => dateToString(d))\n }\n })()\n this.tempSelection.setAttribute('selectedDates', selectedDates)\n }\n\n onDocumentClick (ev) {\n const closestResult = (el, lastParentToCheck) => {\n do {\n if (el === lastParentToCheck) return el\n el = el.parentElement || el.parentNode\n } while (el !== null && el !== lastParentToCheck.parentElement && el.nodeType === 1)\n return null\n }\n const delegateTarget = closestResult(ev.target, this.element)\n if (!delegateTarget) {\n const shouldEmit = !(this.tempSelection.attributes.selectedDates.length === this.selection.attributes.selectedDates.length &&\n this.tempSelection.attributes.selectedDates.sort().every((v, i) => v === this.selection.attributes.selectedDates.sort()[i]))\n queueFilterEvent(ev, this.element, this.onSubmit.bind(this), shouldEmit)\n }\n }\n\n stopPropagation (ev) {\n ev.stopPropagation()\n }\n\n restoreOffsetFromSelection (selection = this.selection) {\n if (this.selectingWholeMonth) return\n\n const selectedDates = selection.getAttribute('selectedDates')\n\n // Single or empty date\n if (selectedDates.length <= 1) {\n this.offsetApi.setProp('value', '0', { silent: true })\n if (!this.selectingWholeMonth) {\n this.unselectMonth()\n }\n return this\n }\n\n // Try with days difference\n const selectedDate = selection.getAttribute('selectedDate')\n const daysDifference = getDatesDifference(selectedDates[0], selectedDate)\n this.offsetApi.setProp('value', daysDifference.toString(), { silent: true })\n .then(() => {\n return this\n })\n .catch((e) => {\n this.offsetApi.setProp('value', '0', { silent: true })\n .then(() => {\n return this\n })\n })\n\n if (!this.selectingWholeMonth) {\n this.unselectMonth()\n }\n return this\n }\n\n checkSelectMonthCheckBox (checkNextMonth) {\n const { currentMonth } = this.calendarApi.flatpickr\n\n // Check for December and January\n const month = checkNextMonth\n ? currentMonth === 11 ? 0 : currentMonth + 1\n : currentMonth === 0 ? 11 : currentMonth - 1\n\n if (this.selectedMonth === month) {\n this.selectMonthCheckbox.checked = true\n } else {\n this.unselectMonth(undefined, false)\n }\n }\n\n mustSelectMonthOptionCheckbox () {\n if (!this.selection || !this.selectMonthEl) return\n\n const { currentMonth, currentYear } = this.calendarApi.flatpickr\n\n const selectedDates = this.selection.getAttribute('selectedDates')\n\n const firstAviableDayForMonth = this.filterModel.values.getFirstAvailableDateForMonth(currentMonth, currentYear)\n if (!firstAviableDayForMonth) return\n\n const aviableEdges = [\n firstAviableDayForMonth,\n dateToString(getMonthEdges(firstAviableDayForMonth)[1])\n ]\n\n const selectedEdges = getEdgeDates(selectedDates).map(d => dateToString(d))\n\n // Whole month\n if (JSON.stringify(aviableEdges) === JSON.stringify(selectedEdges)) {\n this.selectMonthCheckbox.checked = true\n this.selectedMonth = currentMonth\n }\n }\n\n selectMonth () {\n if (!this.selectMonthEl) return\n if (this.selectMonthCheckbox.checked) {\n const { currentMonth, currentYear } = this.calendarApi.flatpickr\n if (this.selectedMonth !== currentMonth) {\n this.selectingWholeMonth = true\n this.isMonthSelectChecked = true\n // select first day of month\n const newDate = this.filterModel.values.getFirstAvailableDateForMonth(currentMonth, currentYear)\n this.tempSelection.setAttribute('selectedDate', newDate)\n // select whole month\n const selectedDates = getWholeMonthDays(newDate).map(d => dateToString(d))\n this.tempSelection.setAttribute('selectedDates', selectedDates)\n this.selectedMonth = currentMonth\n this.selectingWholeMonth = false\n }\n } else {\n this.unselectMonth(true)\n }\n }\n\n unselectMonth (resetSelection = false, forgetSelectedMonth = true) {\n if (!this.selectMonthEl) return\n if (resetSelection) {\n const selectedDate = this.tempSelection.getAttribute('selectedDate')\n const offset = this.offsetApi.getProp('value')\n switch (offset) {\n case 0:\n this.tempSelection.setAttribute('selectedDates', [selectedDate])\n break\n default: {\n const selectedDates = getNDaysBeforeAndAfter(selectedDate, parseInt(offset))\n this.tempSelection.setAttribute('selectedDates', selectedDates)\n break\n }\n }\n this.selectedMonth = null\n } else if (forgetSelectedMonth) {\n this.selectMonthCheckbox.checked = false\n this.selectedMonth = null\n } else {\n this.selectMonthCheckbox.checked = false\n }\n }\n\n getSelectedDatesCallback (selectedDate, parentInstance) {\n const offset = parentInstance.offsetApi.getProp('value')\n let selectedDates = []\n let mode\n switch (offset) {\n case '0':\n mode = 'single'\n selectedDates = selectedDate\n break\n default:\n mode = 'multiple'\n selectedDates = getNDaysBeforeAndAfter(formatDate(selectedDate), parseInt(offset))\n break\n }\n\n const result =\n {\n mode,\n selectedDate,\n selectedDates\n }\n return result\n }\n}\n","import { destinationIcons } from '../../../js/data/filters/destinations/icons-config'\n\nexport const DestinationResultTemplate = (d, options) => {\n return `