{"version":3,"sources":["webpack://fxsWidgets/../src/js/widgets/calendar-common/constants/gtmIds.js","webpack://fxsWidgets/../src/js/widgets/calendar-related-events/index.js","webpack://fxsWidgets/../src/js/widgets/calendar-related-events/store.js","webpack://fxsWidgets/../src/js/widgets/calendar-related-events/actions/localizationActions.js","webpack://fxsWidgets/../src/js/widgets/calendar-related-events/actions/relatedEventsAction.js","webpack://fxsWidgets/../src/js/widgets/calendar-related-events/components/RelatedEvents.js","webpack://fxsWidgets/../src/js/widgets/calendar-related-events/components/RelatedEventsContainer.js","webpack://fxsWidgets/../src/js/widgets/calendar-related-events/actions/index.js"],"names":["GTM_ID","CONFIGURATION_SOUND_ON","CONFIGURATION_SOUND_OFF","CONFIGURATION_DEFAULT_VIEW","CONFIGURATION_PREMIUM_VIEW","CONFIGURATION_BASIC_VIEW","CONFIGURATION_PREMIUM_LINK","SUBSCRIPTION_TOP_EVENTS_SUBSCRIBE","SUBSCRIPTION_TOP_EVENTS_UNSUBSCRIBE","RELATED_EVENTS","GA4EVENT","NAMES","FEATURES_CALENDAR","ELEMENTS","CalendarRelatedEventsWidget","_Component","props","_this","_callSuper","store","createStore","_inherits","key","value","h","Provider","this","RelatedEventsContainer","Component","INITIAL_STATE","config","culture","calendarApiUrl","CALENDAR_API_URL","eventId","customEventUrl","take","isFetching","fetchError","data","convertCulture","input","Object","keys","translations","includes","toLowerCase","createCustomStore","fetchLocalizations","_ref","storeCulture","getState","currentCulture","hasOwnProperty","catch","console","error","default","_x","apply","arguments","relatedEventsReceived","response","setState","RelatedEvents","translate","class","dir","concat","countryCode","events","map","event","href","replace","id","name","_classCallCheck","fetchRelatedEventsData","connectWithTranslations","relatedEventsRequested","_store$getState$confi","url","cacheFetch","then","ok","json","values","status","relatedEventsError","err"],"mappings":"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","file":"calendar-related-events.4abbba63eb66df77a295.js","sourcesContent":["export const GTM_ID = {\r\n    CONFIGURATION_SOUND_ON: 'features-calendar-configuration-soundon',\r\n    CONFIGURATION_SOUND_OFF: 'features-calendar-configuration-soundoff',\r\n    CONFIGURATION_DEFAULT_VIEW: 'features-calendar-configuration-defaultview',\r\n    CONFIGURATION_PREMIUM_VIEW: 'features-calendar-configuration-premiumview',\r\n    CONFIGURATION_BASIC_VIEW: 'features-calendar-configuration-basicview',\r\n    CONFIGURATION_PREMIUM_LINK: \"features-calendar-configuration-premiumlink\",\r\n    SUBSCRIPTION_TOP_EVENTS_SUBSCRIBE: \"features-calendar-topevents-subscription\",\r\n    SUBSCRIPTION_TOP_EVENTS_UNSUBSCRIBE: \"features-calendar-topevents-unsubscription\",\r\n    RELATED_EVENTS: \"features-calendar-related-event-{relatedEventName}\"\r\n}\r\nexport const GA4EVENT = {\r\n    NAMES: { FEATURES_CALENDAR: \"features-calendar\" },\r\n    ELEMENTS: {\r\n        CONFIGURATION_SOUND_ON: 'configuration-soundon',\r\n        CONFIGURATION_SOUND_OFF: 'configuration-soundoff',\r\n        CONFIGURATION_DEFAULT_VIEW: 'configuration-defaultview',\r\n        CONFIGURATION_PREMIUM_VIEW: 'configuration-premiumview',\r\n        CONFIGURATION_BASIC_VIEW: 'configuration-basicview',\r\n        CONFIGURATION_PREMIUM_LINK: \"configuration-premiumlink\",\r\n        SUBSCRIPTION_TOP_EVENTS_SUBSCRIBE: \"topevents-subscription\",\r\n        SUBSCRIPTION_TOP_EVENTS_UNSUBSCRIBE: \"topevents-unsubscription\",\r\n        RELATED_EVENTS: \"related-event\"\r\n    }\r\n}","import { Component } from \"preact\";\r\nimport { Provider } from \"unistore/preact\";\r\nimport RelatedEventsContainer from \"./components/RelatedEventsContainer\";\r\nimport { createStore } from './store'\r\n\r\nclass CalendarRelatedEventsWidget extends Component {\r\n    constructor(props) {\r\n        super(props);\r\n        this.store = createStore(props)\r\n    }\r\n\r\n    render(props) {\r\n        return (\r\n            <Provider store={this.store}>\r\n                <RelatedEventsContainer />\r\n            </Provider>\r\n        )\r\n    }\r\n}\r\n\r\nexport default CalendarRelatedEventsWidget","import { createCustomStore } from \"../common/helpers/storeHelpers\";\r\nimport { translations } from \"./actions/localizationActions\";\r\n\r\nconst INITIAL_STATE = {\r\n    config: {\r\n        culture: \"en\",\r\n        calendarApiUrl: CALENDAR_API_URL,\r\n        eventId: \"\",\r\n        customEventUrl: \"\",\r\n        take: 6\r\n    },\r\n    isFetching: false,\r\n    fetchError: false,\r\n    data: null,\r\n};\r\n\r\nconst convertCulture = (input) => {\r\n    const result =\r\n        input && Object.keys(translations).includes(input.toLowerCase())\r\n            ? input.toLowerCase()\r\n            : \"en\";\r\n    return result;\r\n};\r\n\r\nconst createStore = (props) => {\r\n    const result = createCustomStore(props, INITIAL_STATE, {\r\n        culture: convertCulture,\r\n    });\r\n    return result;\r\n};\r\n\r\nexport { createStore };","export const translations = {\r\n  \"ar\": () => import(/*webpackChunkName: 'calendar-related-events-t-ar'*/\"../translations/ar\"),\r\n  \"de\": () => import(/*webpackChunkName: 'calendar-related-events-t-de'*/\"../translations/de\"),\r\n  \"en\": () => import(/*webpackChunkName: 'calendar-related-events-t-en'*/\"../translations/en\"),\r\n  \"es\": () => import(/*webpackChunkName: 'calendar-related-events-t-es'*/\"../translations/es\"),\r\n  \"fr\": () => import(/*webpackChunkName: 'calendar-related-events-t-fr'*/\"../translations/fr\"),\r\n  \"id\": () => import(/*webpackChunkName: 'calendar-related-events-t-id'*/\"../translations/id\"),\r\n  \"ru\": () => import(/*webpackChunkName: 'calendar-related-events-t-ru'*/\"../translations/ru\"),\r\n  \"tr\": () => import(/*webpackChunkName: 'calendar-related-events-t-tr'*/\"../translations/tr\"),\r\n  \"zh-cht\": () => import(/*webpackChunkName: 'calendar-related-events-t-zh-cht'*/\"../translations/zh-cht\"),\r\n  \"zh-cn\": () => import(/*webpackChunkName: 'calendar-related-events-t-zh-cn'*/\"../translations/zh-cn\"),\r\n  \"vi\": () => import(/*webpackChunkName: 'calendar-related-events-t-vi'*/\"../translations/vi\"),\r\n  \"fa\": () => import(/*webpackChunkName: 'calendar-related-events-t-fa'*/\"../translations/fa\"),\r\n  \"pt\": () => import(/*webpackChunkName: 'calendar-related-events-t-pt'*/\"../translations/pt\"),\r\n  \"cs\": () => import(/*webpackChunkName: 'calendar-related-events-t-cs'*/\"../translations/cs\"),\r\n}\r\n\r\nexport const fetchLocalizations = async (store) => {\r\n  const storeCulture = store.getState().config.culture\r\n  const culture = storeCulture ? storeCulture.toLowerCase() : 'en'\r\n\r\n  const currentCulture = translations.hasOwnProperty(culture) ? culture : 'en'\r\n\r\n  const fetchedTranslations = await translations[currentCulture]()\r\n    .catch(() => {\r\n      console.error('Could not fetch translations')\r\n      return null\r\n    })\r\n\r\n  return { translations: fetchedTranslations.default }\r\n}\r\n","import { cacheFetch } from \"../../common/helpers/cacheFetchHelpers\";\r\n\r\nconst relatedEventsRequested = (store) => {\r\n    store.setState({\r\n        isFetching: true, fetchError: false, data: null,\r\n    });\r\n};\r\n\r\nconst relatedEventsError = (store) => {\r\n    store.setState({\r\n        isFetching: false, fetchError: true, data: null\r\n    });\r\n};\r\n\r\nconst relatedEventsReceived = (store, response) => {\r\n    store.setState({\r\n        isFetching: false,\r\n        fetchError: false,\r\n        data: response,\r\n    });\r\n};\r\n\r\nexport const fetchRelatedEventsData = (store) => {\r\n    relatedEventsRequested(store);\r\n\r\n    const { calendarApiUrl, culture, eventId, take } = store.getState().config;\r\n    let url = `${calendarApiUrl}/${culture}/api/v1/events/${eventId}/relatedByTags?take=${take}`;\r\n\r\n    cacheFetch(url, false)\r\n        .then((response) => {\r\n            if (response.ok) {\r\n                response\r\n                    .json()\r\n                    .then((values) => relatedEventsReceived(store, values));\r\n            } else if (response.status === 404) {\r\n                relatedEventsReceived(store, null);\r\n            } else {\r\n                relatedEventsError(store);\r\n            }\r\n        })\r\n        .catch((err) => {\r\n            console.error(err);\r\n            error(store);\r\n        });\r\n};","import { h, Component } from \"preact\";\r\nimport { GTM_ID, GA4EVENT} from \"../../calendar-common/constants\";\r\n\r\nclass RelatedEvents extends Component {\r\n    render({ isFetching, customEventUrl, data, translate }) {\r\n        return (\r\n            !isFetching &&\r\n            data && (\r\n                <div\r\n                    class=\"fxs_widget fxs_related_events\"\r\n                    dir={`${\r\n                        translate(\"IsRightToLeftOriented\") ? \"rtl\" : \"auto\"\r\n                    }`}\r\n                >\r\n                    <h2 class=\"fxs_subsectionTitle\">\r\n                        {translate(\"RelatedEventsTitle\")}\r\n                    </h2>\r\n                    <h3 class=\"fxs_subtitle\">{`${data.countryCode} ${translate(\r\n                        \"Event\"\r\n                    )}`}</h3>\r\n                    <div class=\"fxs_row\">\r\n                        {data.events.map((event) => (\r\n                            <div class=\"fxs_col fxs_col_50\">\r\n                                <h4 class=\"fxs_headline_small\">\r\n                                    <a\r\n                                        class=\"fxs_mutedLink\"\r\n                                        href={customEventUrl.replace(\r\n                                            \"{eventId}\",\r\n                                            event.id\r\n                                        )}\r\n                                        data-gtmid={GTM_ID.RELATED_EVENTS.replace(\r\n                                            \"{relatedEventName}\",\r\n                                            `${data.countryCode}-${event.name}`\r\n                                        )}\r\n                                        data-ga4event-clk-name={  GA4EVENT.NAMES.FEATURES_CALENDAR}\r\n                                        data-ga4event-element = {  GA4EVENT.ELEMENTS.RELATED_EVENTS}\r\n                                        data-ga4event-related = {data.countryCode+\"-\"+event.name}\r\n\r\n                                    >\r\n                                        {event.name}\r\n                                    </a>\r\n                                </h4>\r\n                            </div>\r\n                        ))}\r\n                    </div>\r\n                </div>\r\n            )\r\n        );\r\n    }\r\n}\r\n\r\nexport default RelatedEvents;\r\n","import { h, Component } from \"preact\";\r\nimport { connectWithTranslations } from \"../../common/helpers/translationsHelpers\";\r\nimport actions from \"../actions\";\r\nimport RelatedEvents from \"./RelatedEvents\";\r\n\r\n\r\nclass RelatedEventsContainer extends Component {\r\n    constructor(props) {\r\n        super(props);\r\n    }\r\n\r\n    componentWillMount() {\r\n        this.props.fetchRelatedEventsData();\r\n        this.props.fetchLocalizations();\r\n    }\r\n\r\n    render({ translate, data, isFetching, config }) {\r\n        return (\r\n            <RelatedEvents isFetching={isFetching} customEventUrl={config.customEventUrl} data={data} translate={translate}></RelatedEvents>\r\n        )\r\n    }\r\n}\r\n\r\nexport default connectWithTranslations(\r\n    \"config,data,isFetching,fetchError\", actions\r\n)(RelatedEventsContainer)","import { fetchLocalizations } from \"./localizationActions\";\r\nimport { fetchRelatedEventsData } from \"./relatedEventsAction\";\r\n\r\nexport default (store) => ({\r\n    fetchLocalizations: (state) => fetchLocalizations(store),\r\n    fetchRelatedEventsData: (state) => fetchRelatedEventsData(store)\r\n});"],"sourceRoot":""}