PageSourceSearch

https://www.meadowviewregional.com/themes/acute-hospital/index.js?…5FV57q6ENBETF8g42tV9xAUXlejbKD7G5mQvoC8a7m4

js meadowviewregional.com collected 2026-10-06 18:39:17 UTC 76,458 bytes, 197 lines download raw bytes

vendor: 674 bytes, lines 1-13
1/*
2 * ATTENTION: The "eval" devtool has been used (maybe by default in mode: "development").
3 * This devtool is neither made for production nor for readable output files.
4 * It uses "eval()" calls to create a separate source file in the browser devtools.
5 * If you are trying to read the output file, select a different devtool (https://webpack.js.org/configuration/devtool/)
6 * or disable the default devtool with "devtool: false".
7 * If you are looking for production-ready output files, see mode: "production" (https://webpack.js.org/configuration/mode/).
8 */
9/******/ (() => { // webpackBootstrap
10/******/ 	"use strict";
11/******/ 	var __webpack_modules__ = ({
12
13/***/ "./
13Frontend/common/scripts/cookie-banner.ts":
14/*!**************************************************!*\
15  !*** ./Frontend/common/scripts/cookie-banner.ts ***!
16  \**************************************************/
17/***/ ((__unused_webpack_module, exports, __webpack_require__) => {
18
19eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.CookieBanner = void 0;\nvar toggleable_1 = __webpack_require__(/*! ./toggleable */ \"./Frontend/common/scripts/toggleable.ts\");\nvar cookie_manager_1 = __webpack_require__(/*! ./cookie-manager */ \"./Frontend/common/scripts/cookie-manager.ts\");\nvar CookieBanner = /** @class */ (function () {\n    function CookieBanner() {\n        this.cookieMessage = \"<p>We use cookies to make our site work, including measuring elements related to the site's performance as intended. By using our site you agree that information about you and your visit may be collected and/or sent to third parties for these purposes. We do not sell or share your information, nor do we use analytics, advertisement, or other non-necessary cookies. For more information about our online privacy practices, please visit our online <a href='/privacy-policy'>Privacy Policy</a>.</p>\";\n        this.cookieBannerClose = \"<div class='cookie-banner-close active'><svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 512 512' class='icon'><path d='M256 48a208 208 0 1 1 0 416 208 208 0 1 1 0-416zm0 464A256 256 0 1 0 256 0a256 256 0 1 0 0 512zM175 175c-9.4 9.4-9.4 24.6 0 33.9l47 47-47 47c-9.4 9.4-9.4 24.6 0 33.9s24.6 9.4 33.9 0l47-47 47 47c9.4 9.4 24.6 9.4 33.9 0s9.4-24.6 0-33.9l-47-47 47-47c9.4-9.4 9.4-24.6 0-33.9s-24.6-9.4-33.9 0l-47 47-47-47c-9.4-9.4-24.6-9.4-33.9 0z'></path></svg></div>\";\n        // Temporary: Don't load the document if this attribute is present\n        if (document.documentElement.dataset.disableBuiltInConsentBox) {\n            console.log(\"Skipping built-in consent box.\");\n            return;\n        }\n        var cookieName = \"GDPR_Cookie_Banner_Shown\";\n        var cookie = cookie_manager_1.CookieManager.getCookie(cookieName);\n        if (cookie != null) {\n            return;\n        }\n        var cookieBannerElement = document.createElement('div');\n        cookieBannerElement.classList.add('cookie-banner', 'active');\n        cookieBannerElement.innerHTML = this.cookieBannerClose + this.cookieMessage;\n        var documentBody = document.querySelector('body');\n        documentBody.appendChild(cookieBannerElement);\n        var cookieBannerClose = document.querySelector('.cookie-banner-close');\n        var cookieBanner = document.querySelector('.cookie-banner');\n        var toggleCallback = function (isActive) {\n            if (!isActive) {\n                cookie_manager_1.CookieManager.setCookie(cookieName, true);\n                cookieBanner.remove();\n            }\n        };\n        this.toggleable = new toggleable_1.Toggleable(cookieBannerClose, cookieBanner, null, toggleCallback);\n    }\n    return CookieBanner;\n}());\nexports.CookieBanner = CookieBanner;\n\n\n//# sourceURL=webpack://@lifepoint/website/./Frontend/common/scripts/cookie-banner.ts?");
20
21/***/ }),
22
23/***/ "./Frontend/common/scripts/cookie-manager.ts":
24/*!***************************************************!*\
25  !*** ./Frontend/common/scripts/cookie-manager.ts ***!
26  \***************************************************/
27/***/ ((__unused_webpack_module, exports) => {
28
29eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.CookieManager = void 0;\nvar CookieManager = /** @class */ (function () {\n    function CookieManager() {\n    }\n    CookieManager.getCookie = function (key) {\n        var name = key + \"=\";\n        var decodedCookie = decodeURIComponent(document.cookie);\n        var cookieArray = decodedCookie.split(';');\n        for (var i = 0; i < cookieArray.length; i++) {\n            var cookie = cookieArray[i];\n            while (cookie.charAt(0) == ' ') {\n                cookie = cookie.substring(1);\n            }\n            if (cookie.indexOf(name) == 0) {\n                return cookie.substring(name.length, cookie.length);\n            }\n        }\n        return null;\n    };\n    ;\n    CookieManager.setCookie = function (name, value, expDays) {\n        if (expDays === void 0) { expDays = 0; }\n        var date = new Date();\n        if (expDays === 0) {\n            document.cookie = \"\".concat(name, \"=\").concat(value, \";path=/\");\n        }\n        else {\n            date.setTime(date.getTime() + (expDays * 24 * 60 * 60 * 1000));\n            var expires = \"expires=\".concat(date.toUTCString());\n            document.cookie = \"\".concat(name, \"=\").concat(value, \";\").concat(expires, \";path=/\");\n        }\n    };\n    CookieManager.removeCookie = function (name) {\n        this.setCookie(name, \"\", -1);\n    };\n    return CookieManager;\n}());\nexports.CookieManager = CookieManager;\n\n\n//# sourceURL=webpack://@lifepoint/website/./Frontend/common/scripts/cookie-manager.ts?");
30
31/***/ }),
32
33/***/ "./Frontend/common/scripts/events-calendar.ts":
34/*!****************************************************!*\
35  !*** ./Frontend/common/scripts/events-calendar.ts ***!
36  \****************************************************/
37/***/ (function(__unused_webpack_module, exports, __webpack_require__) {
38
39eval("\nvar __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {\n    function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\n    return new (P || (P = Promise))(function (resolve, reject) {\n        function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\n        function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\n        function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\n        step((generator = generator.apply(thisArg, _arguments || [])).next());\n    });\n};\nvar __generator = (this && this.__generator) || function (thisArg, body) {\n    var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\n    return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\n    function verb(n) { return function (v) { return step([n, v]); }; }\n    function step(op) {\n        if (f) throw new TypeError(\"Generator is already executing.\");\n        while (g && (g = 0, op[0] && (_ = 0)), _) try {\n            if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\n            if (y = 0, t) op = [op[0] & 2, t.value];\n            switch (op[0]) {\n                case 0: case 1: t = op; break;\n                case 4: _.label++; return { value: op[1], done: false };\n                case 5: _.label++; y = op[1]; op = [0]; continue;\n                case 7: op = _.ops.pop(); _.trys.pop(); continue;\n                default:\n                    if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\n                    if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\n                    if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\n                    if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\n                    if (t[2]) _.ops.pop();\n                    _.trys.pop(); continue;\n            }\n            op = body.call(thisArg, _);\n        } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\n        if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\n    }\n};\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.EventsCalendar = void 0;\nvar hashing_utilities_1 = __webpack_require__(/*! ./hashing-utilities */ \"./Frontend/common/scripts/hashing-utilities.ts\");\nvar EventsCalendar = /** @class */ (function () {\n    function EventsCalendar() {\n        this.calendarTitleFormatter = new Intl.DateTimeFormat('en', { month: 'long', year: 'numeric' });\n        this.eventDayTitleFormatter = new Intl.DateTimeFormat('en', { day: 'numeric', month: 'long', year: 'numeric', timeZone: \"UTC\" });\n        this.wrapper = document.querySelector('.events-calendar-list');\n        if (!this.wrapper) {\n            return;\n        }\n        this.calendar = this.wrapper.querySelector('.calendar');\n        this.prevMonth = this.calendar.querySelector('.prev-month');\n        this.nextMonth = this.calendar.querySelector('.next-month');\n        this.title = this.calendar.querySelector('.calendar-title');\n        this.dayGrid = this.calendar.querySelector('.calendar-grid');\n        this.days = this.calendar.querySelectorAll('.calendar-day');\n        this.eventResults = this.wrapper.querySelector('.events-results');\n        this.noResults = this.wrapper.querySelector('.no-results');\n        this.prevMonth.addEventListener('click', this.movePrevMonth.bind(this));\n        this.nextMonth.addEventListener('click', this.moveNextMonth.bind(this));\n        this.dayGrid.addEventListener('click', this.selectDay.bind(this));\n        var now = new Date();\n        this.changeMonth(now.getFullYear(), now.getMonth());\n    }\n    EventsCalendar.prototype.movePrevMonth = function () {\n        return __awaiter(this, void 0, void 0, function () {\n            var newMonth;\n            return __generator(this, function (_a) {\n                switch (_a.label) {\n                    case 0:\n                        this.prevMonth.blur();\n                        newMonth = new Date(this.selectedYear, this.selectedMonth - 1, 1);\n                        return [4 /*yield*/, this.changeMonth(newMonth.getFullYear(), newMonth.getMonth())];\n                    case 1:\n                        _a.sent();\n                        return [2 /*return*/];\n                }\n            });\n        });\n    };\n    EventsCalendar.prototype.moveNextMonth = function () {\n        return __awaiter(this, void 0, void 0, function () {\n            var newMonth;\n            return __generator(this, function (_a) {\n                switch (_a.label) {\n                    case 0:\n                        this.nextMonth.blur();\n                        newMonth = new Date(this.selectedYear, this.selectedMonth + 1, 1);\n                        return [4 /*yield*/, this.changeMonth(newMonth.getFullYear(), newMonth.getMonth())];\n                    case 1:\n                        _a.sent();\n                        return [2 /*return*/];\n                }\n            });\n        });\n    };\n    EventsCalendar.prototype.selectDay = function (event) {\n        return __awaiter(this, void 0, void 0, function () {\n            var target, dayButton, dayNumber, eventResultDay;\n            return __generator(this, function (_a) {\n                target = event.target;\n                if (!target.classList.contains('calendar-day')) {\n                    return [2 /*return*/];\n                }\n                dayButton = target;\n                dayNumber = dayButton.dataset.day;\n                eventResultDay = this.eventResults.querySelector(\"[data-event-day=\\\"\".concat(dayNumber, \"\\\"].event-day\"));
39\n                if (!eventResultDay) {\n                    return [2 /*return*/];\n                }\n                eventResultDay.scrollIntoView({ behavior: 'smooth', block: 'center' });\n                return [2 /*return*/];\n            });\n        });\n    };\n    EventsCalendar.prototype.changeMonth = function (year, month) {\n        return __awaiter(this, void 0, void 0, function () {\n            var response;\n            return __generator(this, function (_a) {\n                switch (_a.label) {\n                    case 0:\n                        if (this.calendar.classList.contains('loading')) {\n                            return [2 /*return*/];\n                        }\n                        this.calendar.classList.add('loading');\n                        return [4 /*yield*/, this.getEventData(year, month)];\n                    case 1:\n                        response = _a.sent();\n                        this.eventDays = response.eventDays;\n                        this.selectedYear = year;\n                        this.selectedMonth = month;\n                        this.updateCalendarView();\n                        this.updateResultsList();\n                        this.calendar.classList.remove('loading');\n                        return [2 /*return*/];\n                }\n            });\n        });\n    };\n    EventsCalendar.prototype.getEventData = function (year, month) {\n        return __awaiter(this, void 0, void 0, function () {\n            var params, response, responseDto, error_1;\n            return __generator(this, function (_a) {\n                switch (_a.label) {\n                    case 0:\n                        params = new URLSearchParams({\n                            year: year.toString(),\n                            month: (month + 1).toString()\n                        });\n                        _a.label = 1;\n                    case 1:\n                        _a.trys.push([1, 4, , 5]);\n                        return [4 /*yield*/, fetch(\"/lp-api/events?\".concat(params), {\n                                method: \"GET\"\n                            })];\n                    case 2:\n                        response = _a.sent();\n                        if (!response.ok) {\n                            throw new Error(response.statusText);\n                        }\n                        return [4 /*yield*/, response.json()];\n                    case 3:\n                        responseDto = _a.sent();\n                        return [2 /*return*/, responseDto];\n                    case 4:\n                        error_1 = _a.sent();\n                        console.error(\"Failed to fetch Events\", error_1);\n                        return [2 /*return*/, { eventDays: [] }];\n                    case 5: return [2 /*return*/];\n                }\n            });\n        });\n    };\n    EventsCalendar.prototype.updateCalendarView = function () {\n        var newMonth = new Date(this.selectedYear, this.selectedMonth, 1);\n        this.title.innerText = this.calendarTitleFormatter.format(newMonth);\n        var startOffset = newMonth.getDay();\n        var daysInMonth = (new Date(this.selectedYear, this.selectedMonth + 1, 0)).getDate();\n        var _loop_1 = function (index) {\n            var dayNumber = index - startOffset + 1;\n            var day = this_1.days[index];\n            if (index < startOffset || dayNumber > daysInMonth) {\n                day.dataset.day = '';\n                day.innerText = '';\n                day.disabled = true;\n                return \"continue\";\n            }\n            day.innerText = dayNumber.toString();\n            day.dataset.day = dayNumber.toString();\n            var hasEvents = !this_1.eventDays.some(function (event) { return (new Date(event.date)).getUTCDate() == dayNumber; });\n            day.disabled = hasEvents;\n        };\n        var this_1 = this;\n        for (var index = 0; index < this.days.length; index++) {\n            _loop_1(index);\n        }\n    };\n    EventsCalendar.prototype.updateResultsList = function () {\n        this.eventResults.innerHTML = '';\n        if (this.eventDays.length === 0) {\n            this.noResults.classList.remove('hidden');\n            return;\n        }\n        this.noResults.classList.add('hidden');\n        //<div class=\"event-day\">\n        //    <h3 class=\"event-date\"></h3>\n        //    <ul class=\"event-items\">\n        //        <li class=\"event-item\">\n        //            <a class=\"event-title\"></a>\n        //            <div class=\"event-category\"></div>\n        //            <div class=\"event-content\"></div>\n        //            <a class=\"event-detail-link\">Read More</a>\n        //        </li>\n        //    </ul>\n        //</div>
39\n        var pagePath = this.getPagePath();\n        var resultsHtml = '';\n        for (var _i = 0, _a = this.eventDays; _i < _a.length; _i++) {\n            var eventDay = _a[_i];\n            var eventItemsHtml = '';\n            for (var _b = 0, _c = eventDay.events; _b < _c.length; _b++) {\n                var event_1 = _c[_b];\n                eventItemsHtml +=\n                    '<li class=\"event-item\">' +\n                        \"  <a class=\\\"event-title\\\" href=\\\"\".concat(pagePath, \"/\").concat(event_1.url, \"\\\">\").concat(event_1.title, \"</a>\") +\n                        \"  <div class=\\\"event-category \".concat(this.getCategoryClass(event_1.category), \"\\\">\").concat(event_1.category, \"</div>\") +\n                        \"  <div class=\\\"event-content\\\">\".concat(event_1.content, \"</div>\") +\n                        \"  <a class=\\\"event-detail-link\\\" href=\\\"\".concat(pagePath, \"/\").concat(event_1.url, \"\\\">Read More</a>\") +\n                        '</li>';\n            }\n            var date = Date.parse(eventDay.date);\n            resultsHtml +=\n                \"<div class=\\\"event-day\\\" data-event-day=\\\"\".concat(new Date(date).getDate(), \"\\\">\") +\n                    \"  <h3 class=\\\"event-date\\\">\".concat(this.eventDayTitleFormatter.format(date), \"</h3>\") +\n                    \"  <ul class=\\\"event-items\\\">\".concat(eventItemsHtml, \"</ul>\") +\n                    '</div>';\n        }\n        this.eventResults.innerHTML = resultsHtml;\n    };\n    EventsCalendar.prototype.getPagePath = function () {\n        return window.location.pathname.replace(/\\/$/, '');\n    };\n    EventsCalendar.prototype.getCategoryClass = function (category) {\n        var maxCategories = 7; // This is the max number of category-# classes in the style sheet\n        var categoryNumber = (0, hashing_utilities_1.hashCode)(category) % maxCategories + 1;\n        return \"category-\".concat(categoryNumber);\n    };\n    return EventsCalendar;\n}());\nexports.EventsCalendar = EventsCalendar;\n\n\n//# sourceURL=webpack://@lifepoint/website/./Frontend/common/scripts/events-calendar.ts?");
40
41/***/ }),
42
43/***/ "./Frontend/common/scripts/hashing-utilities.ts":
44/*!******************************************************!*\
45  !*** ./Frontend/common/scripts/hashing-utilities.ts ***!
46  \******************************************************/
47/***/ ((__unused_webpack_module, exports) => {
48
49eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.hashCode = void 0;\nfunction hashCode(input) {\n    var hash = 0, i, chr;\n    if (input.length === 0)\n        return hash;\n    for (i = 0; i < input.length; i++) {\n        chr = input.charCodeAt(i);\n        hash = ((hash << 5) - hash) + chr;\n        hash |= 0; // Convert to 32bit integer\n    }\n    return hash >>> 0;\n}\nexports.hashCode = hashCode;\n\n\n//# sourceURL=webpack://@lifepoint/website/./Frontend/common/scripts/hashing-utilities.ts?");
50
51/***/ }),
52
53/***/ "./Frontend/common/scripts/loyal-chat-manager.ts":
54/*!*******************************************************!*\
55  !*** ./Frontend/common/scripts/loyal-chat-manager.ts ***!
56  \*******************************************************/
57/***/ ((__unused_webpack_module, exports) => {
58
59eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.LoyalChatManager = void 0;\nvar LoyalChatManager = /** @class */ (function () {\n    function LoyalChatManager() {\n        document.addEventListener('click', this.handleChatOpenClickEvents.bind(this));\n    }\n    LoyalChatManager.prototype.handleChatOpenClickEvents = function (event) {\n        var _a, _b;\n        var target = event.target;\n        if (target && target.hasAttribute('data-open-loyal-chat')) {\n            event.preventDefault();\n            (_b = (_a = window.GuideSDK) === null || _a === void 0 ? void 0 : _a.bot) === null || _b === void 0 ? void 0 : _b.openWindow();\n        }\n    };\n    return LoyalChatManager;\n}());\nexports.LoyalChatManager = LoyalChatManager;\n\n\n//# sourceURL=webpack://@lifepoint/website/./Frontend/common/scripts/loyal-chat-manager.ts?");
60
61/***/ }),
62
63/***/ "./Frontend/common/scripts/main-nav.ts":
64/*!*********************************************!*\
65  !*** ./Frontend/common/scripts/main-nav.ts ***!
66  \*********************************************/
67/***/ ((__unused_webpack_module, exports, __webpack_require__) => {
68
69eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.MainNav = void 0;\nvar toggleable_1 = __webpack_require__(/*! ./toggleable */ \"./Frontend/common/scripts/toggleable.ts\");\nvar MainNav = /** @class */ (function () {\n    function MainNav(searchBarToggle) {\n        this.searchBarToggle = searchBarToggle;\n        this.toggleOptions = { handleActiveClass: 'open', contentActiveClass: 'open' };\n        var hamburgerButton = document.querySelector('.main-nav-toggle');\n        if (!hamburgerButton) {\n            console.error('MAINNAV_ERROR', 'Unable to find the main navigation hamburger element.');\n            return;\n        }\n        var mainNav = document.querySelector('.main-nav');\n        if (!mainNav) {\n            console.error('MAINNAV_ERROR', 'Unable to find the main navigation element.');\n            return;\n        }\n        this.menuToggle = this.createMenuToggle(hamburgerButton, mainNav);\n        this.subNavToggles = this.createSubNavToggles(mainNav);\n    }\n    MainNav.prototype.createMenuToggle = function (hamburgerButton, mainNavContainer) {\n        var _this = this;\n        return new toggleable_1.Toggleable(hamburgerButton, mainNavContainer, this.toggleOptions, function (active) {\n            if (active && _this.searchBarToggle) {\n                _this.searchBarToggle.ToggleInactive();\n            }\n        });\n    };\n    MainNav.prototype.createSubNavToggles = function (mainNav) {\n        var _this = this;\n        var navItems = mainNav.querySelectorAll('.nav-item:has(.subnav-list):not(.home-item)');\n        return Array.from(navItems).map(function (item) {\n            var linkIcon = item.querySelector('.nav-link-icon');\n            var subNav = item.querySelector('.subnav-list');\n            return new toggleable_1.Toggleable(linkIcon, subNav, _this.toggleOptions);\n        });\n    };\n    return MainNav;\n}());\nexports.MainNav = MainNav;\n\n\n//# sourceURL=webpack://@lifepoint/website/./Frontend/common/scripts/main-nav.ts?");
70
71/***/ }),
72
73/***/ "./Frontend/common/scripts/marketo-form-loader.ts":
74/*!********************************************************!*\
75  !*** ./Frontend/common/scripts/marketo-form-loader.ts ***!
76  \********************************************************/
77/***/ ((__unused_webpack_module, exports) => {
78
79eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.MarketoFormLoader = void 0;\nvar MarketoFormLoader = /** @class */ (function () {\n    function MarketoFormLoader() {\n        if (!MarketoFormLoader.getApi()) {\n            return;\n        }\n        var embeds = document.querySelectorAll('.marketo-form-embed');\n        Array.from(embeds).forEach(function (embed) { return MarketoFormLoader.initializeEmbed(embed); });\n    }\n    // Builds a complete embed element from raw values but does NOT initialize\n    // it. Used when the form is created dynamically (e.g. inside a modal)\n    // rather than authored inline on the page. The caller MUST call\n    // initializeEmbed() after the element is attached to the document so\n    // Marketo (and its reCAPTCHA widget) renders against a live, mounted node.\n    MarketoFormLoader.createEmbed = function (options) {\n        var embed = document.createElement('div');\n        embed.classList.add('marketo-form-embed');\n        if (options.title) {\n            var heading = document.createElement('h4');\n            heading.classList.add('marketo-form-title');\n            heading.textContent = options.title;\n            embed.appendChild(heading);\n        }\n        var wrapper = document.createElement('div');\n        wrapper.classList.add('marketo-form-wrapper');\n        wrapper.setAttribute('data-marketoformid', options.formId);\n        if (options.title) {\n            wrapper.setAttribute('data-marketoformtitle', options.title);\n        }\n        embed.appendChild(wrapper);\n        if (options.successMessage) {\n            var message = document.createElement('div');\n            message.classList.add('marketo-success-message');\n            message.style.display = 'none';\n            message.innerHTML = options.successMessage;\n            embed.appendChild(message);\n        }\n        return embed;\n    };\n    MarketoFormLoader.getApi = function () {\n        var api = window.MktoForms2;\n        return api && typeof api.loadForm === 'function' ? api : null;\n    };\n    MarketoFormLoader.initializeEmbed = function (embed) {\n        var api = MarketoFormLoader.getApi();\n        if (!api) {\n            console.error('MARKETO_ERROR', 'The MktoForms2 library is not available.');\n            return;\n        }\n        var wrapper = embed.querySelector('.marketo-form-wrapper');\n        if (!wrapper) {\n            console.error('MARKETO_ERROR', 'Unable to find the Marketo form wrapper element.');\n            return;\n        }\n        // Guard against double-initialization, which would append a second\n        // <form> and trigger a duplicate loadForm for the same id.\n        if (wrapper.getAttribute('data-marketo-initialized') === 'true') {\n            return;\n        }\n        var id = wrapper.getAttribute('data-marketoformid');\n        if (!id) {\n            console.error('MARKETO_ERROR', 'The Marketo form wrapper is missing the data-marketoformid attribute.');\n            return;\n        }\n        var title = wrapper.getAttribute('data-marketoformtitle');\n        var successMessage = embed.querySelector('.marketo-success-message');\n        var form = document.createElement('form');\n        form.id = \"mktoForm_\".concat(id);\n        wrapper.appendChild(form);\n        wrapper.setAttribute('data-marketo-initialized', 'true');\n        api.loadForm(MarketoFormLoader.baseUrl, MarketoFormLoader.munchkinId, id, function (loadedForm) {\n            MarketoFormLoader.setPageUrl(loadedForm);\n            loadedForm.onSuccess(function () {\n                MarketoFormLoader.handleSuccess(loadedForm, successMessage, id, title);\n                return false;\n            });\n        });\n    };\n    MarketoFormLoader.setPageUrl = function (form) {\n        var _a;\n        if (typeof form.vals === 'function') {\n            form.vals((_a = {}, _a[MarketoFormLoader.pageUrlFieldName] = window.location.href, _a));\n        }\n    };\n    MarketoFormLoader.handleSuccess = function (form, successMessage, id, title) {\n        var formElem = form.getFormElem()[0];\n        if (formElem) {\n            formElem.style.display = 'none';\n        }\n        if (successMessage) {\n            successMessage.style.display = 'block';\n        }\n        var dataLayer = window.dataLayer;\n        if (dataLayer && typeof dataLayer.push === 'function') {\n            dataLayer.push({\n                'event': 'Marketo Form Submit',\n                'form_id': id,\n                'form_type': title\n            });\n        }\n    };\n    MarketoFormLoader.baseUrl = '//go.kindred.com';\n    MarketoFormLoader.munchkinId = '503-VQL-317';\n    // The Marketo hidden field that receives the current page URL. This must\n    // match the field's API name in the Marketo form definition. Set on every\n    // form loaded through this class.\n    MarketoFormLoader.pageUrlFieldName = 'Website';\n    return MarketoFormLoader;\n}());\nexports.MarketoFormLoader = MarketoFormLoader;\n\n\n//# sourceURL=webpack://@lifepoint/website/./Frontend/common/scripts/marketo-form-loader.ts?");
80
81/***/ }),
82
83/***/ "./Frontend/common/scripts/modal-links-manager.ts":
84/*!********************************************************!*\
85  !*** ./Frontend/common/scripts/modal-links-manager.ts ***!
86  \********************************************************/
87/***/ ((__unused_webpack_module, exports, __webpack_require__) => {
88
89eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.ModalLinksManager = void 0;\nvar marketo_form_loader_1 = __webpack_require__(/*! ./marketo-form-loader */ \"./Frontend/common/scripts/marketo-form-loader.ts\");\nvar ModalLinksManager = /** @class */ (function () {\n    function ModalLinksManager() {\n        this.currentRestore = null;\n        this.dialog = this.getDialog();\n        if (this.dialog == null) {\n            console.error('MODAL_ERROR', 'Unable to find dialog element to initialize modal.');\n            return;\n        }\n        this.elements = this.getModalElements(this.dialog);\n        if (!this.elements.body) {\n            console.error('MODAL_ERROR', 'Unable to find modal body in dialog element to initialize modal.');\n            return;\n        }\n        this.modalNavigation = this.getModalNavigationElements();\n        if (!this.modalNavigation.navigationControls) {\n            console.error('MODAL_ERROR', 'Unable to find modal navigation in dialog element to initialize navigation.');\n            return;\n        }\n        this.handlers = this.createHandlers();\n        if (this.handlers.length === 0) {\n            console.warn(\"MODAL_WARN\", \"No modal handlers  were loaded.\");\n            return;\n        }\n        this.bindEvents();\n    }\n    ModalLinksManager.prototype.getDialog = function () {\n        return document.querySelector('dialog.modal');\n    };\n    ModalLinksManager.prototype.getModalElements = function (dialog) {\n        return {\n            body: dialog.querySelector('.modal-body'),\n            title: dialog.querySelector('.modal-title')\n        };\n    };\n    ModalLinksManager.prototype.getModalNavigationElements = function () {\n        return {\n            navigationControls: document.querySelector('.modal-navigation'),\n            navigationNext: document.querySelector('.modal-next'),\n            navigationPrev: document.querySelector('.modal-prev')\n        };\n    };\n    ModalLinksManager.prototype.createHandlers = function () {\n        return [\n            new MarketoHandler(),\n            new YouTubeHandler(),\n            new VimeoHandler(),\n            new ImageHandler(),\n            new JotFormHandler(),\n            new HtmlElementHandler(),\n            new IframeHandler()\n        ];\n    };\n    ModalLinksManager.prototype.bindEvents = function () {\n        document.addEventListener('click', this.closeHandler.bind(this));\n        document.addEventListener('click', this.linkHandler.bind(this));\n        this.modalNavigation.navigationPrev.addEventListener('click', this.navPrevHandler.bind(this));\n        this.modalNavigation.navigationNext.addEventListener('click', this.navNextHandler.bind(this));\n    };\n    ModalLinksManager.prototype.closeHandler = function (event) {\n        var target = event.target;\n        // The explicit close button always dismisses the modal.\n        if (target.closest('.modal-close')) {\n            this.closeModal();\n            return;\n        }\n        // Only a click on the backdrop should close the modal. Clicks on the\n        // modal content (e.g. an embedded form) or the navigation controls must\n        // leave it open. A backdrop click reports the dialog element itself as\n        // the target; anything else originates from inside the modal content.\n        if (target !== this.dialog) {\n            return;\n        }\n        // The dialog is also the target when its own padding is clicked, so use\n        // the bounding rect to confirm the click was truly outside the box.\n        if (this.isClickInsideDialog(event)) {\n            return;\n        }\n        this.closeModal();\n    };\n    ModalLinksManager.prototype.isClickInsideDialog = function (event) {\n        var rect = this.dialog.getBoundingClientRect();\n        return event.clientX >
89= rect.left\n            && event.clientX <= rect.right\n            && event.clientY >= rect.top\n            && event.clientY <= rect.bottom;\n    };\n    ModalLinksManager.prototype.closeModal = function () {\n        this.dialog.close();\n        this.setBody(null);\n    };\n    ModalLinksManager.prototype.linkHandler = function (event) {\n        var _a;\n        var _b;\n        var target = this.findTarget(event.target);\n        if (target == null) {\n            return;\n        }\n        var url = this.getUrl(target);\n        if (url == null) {\n            return;\n        }\n        var result = this.processHandlers(url, target);\n        if (!result.isHandled) {\n            return;\n        }\n        this.setBody(result.element);\n        this.currentRestore = (_b = result.restore) !== null && _b !== void 0 ? _b : null;\n        var title = this.getTitle(target);\n        if (title != null) {\n            this.setTitle(title);\n        }\n        var classes = target.getAttribute(\"data-modal-classes\");\n        if (classes) {\n            (_a = this.dialog.classList).add.apply(_a, classes.split(' '));\n        }\n        var navId = target.getAttribute(\"data-modal-nav\");\n        if (navId) {\n            this.initModalNav(target, navId);\n        }\n        this.dialog.showModal();\n        event.preventDefault();\n        // Run after the element is mounted and the dialog is open so content\n        // that depends on being attached/visible (e.g. reCAPTCHA) initializes\n        // correctly.\n        if (result.mounted) {\n            result.mounted();\n        }\n    };\n    ModalLinksManager.prototype.navNextHandler = function (event) {\n        event.preventDefault();\n        var nextElementIdx = this.currentNavElementIdx + 1;\n        if (nextElementIdx > (this.navElements.length - 1)) {\n            nextElementIdx = 0;\n        }\n        this.currentNavElementIdx = nextElementIdx;\n        this.setModalWithNav(this.navElements[nextElementIdx]);\n    };\n    ModalLinksManager.prototype.navPrevHandler = function (event) {\n        event.preventDefault();\n        var prevElementIdx = this.currentNavElementIdx - 1;\n        if (prevElementIdx < 0) {\n            prevElementIdx = this.navElements.length - 1;\n        }\n        this.currentNavElementIdx = prevElementIdx;\n        this.setModalWithNav(this.navElements[prevElementIdx]);\n    };\n    ModalLinksManager.prototype.findTarget = function (element) {\n        return element.closest('a[data-modal-embed]');\n    };\n    ModalLinksManager.prototype.getUrl = function (element) {\n        if (!element.dataset.modalEmbed) {\n            return null;\n        }\n        if (element.tagName !== 'A') {\n            return null;\n        }\n        var href = element.getAttribute('href');\n        if (!href) {\n            return null;\n        }\n        return href;\n    };\n    ModalLinksManager.prototype.getTitle = function (element) {\n        if (element.dataset.modalTitle) {\n            return element.dataset.modalTitle;\n        }\n        return null;\n    };\n    ModalLinksManager.prototype.processHandlers = function (url, target) {\n        for (var _i = 0, _a = this.handlers; _i < _a.length;
89 _i++) {\n            var handler = _a[_i];\n            var result = handler.execute(url, target);\n            if (result.isHandled) {\n                return result;\n            }\n        }\n        return { isHandled: false, element: null };\n    };\n    ModalLinksManager.prototype.setBody = function (element) {\n        if (!element) {\n            this.clearBody();\n            return;\n        }\n        this.elements.body.appendChild(element);\n    };\n    ModalLinksManager.prototype.clearBody = function () {\n        // A handler may have moved a live element (with bound event handlers)\n        // into the modal. Restore it to its original location before clearing\n        // so we don't destroy it and its handlers.\n        if (this.currentRestore) {\n            this.currentRestore();\n            this.currentRestore = null;\n        }\n        this.elements.body.innerHTML = '';\n    };\n    ModalLinksManager.prototype.setTitle = function (title) {\n        this.elements.title.textContent = title;\n    };\n    ModalLinksManager.prototype.setModalWithNav = function (element) {\n        var _a;\n        var url = this.getUrl(element);\n        if (url == null) {\n            return;\n        }\n        var result = this.processHandlers(url, element);\n        if (!result.isHandled) {\n            return;\n        }\n        var title = this.getTitle(element);\n        if (title != null) {\n            this.setTitle(title);\n        }\n        this.clearBody();\n        this.setBody(result.element);\n        this.currentRestore = (_a = result.restore) !== null && _a !== void 0 ? _a : null;\n        this.currentNavElement = element;\n        // The dialog is already open during navigation, so the element is now\n        // mounted; initialize any content that requires a live node.\n        if (result.mounted) {\n            result.mounted();\n        }\n    };\n    ModalLinksManager.prototype.initModalNav = function (element, navId) {\n        this.navElements = document.querySelectorAll('[data-modal-nav=\"' + navId + '\"]');\n        if (this.navElements.length > 1) {\n            this.modalNavigation.navigationControls.classList.remove('hidden');\n        }\n        else {\n            this.modalNavigation.navigationControls.classList.add('hidden');\n            return;\n        }\n        this.currentNavId = navId;\n        this.currentNavElement = element;\n        var navElementsArray = Array.from(this.navElements);\n        this.currentNavElementIdx = navElementsArray.indexOf(this.currentNavElement);\n    };\n    return ModalLinksManager;\n}());\nexports.ModalLinksManager = ModalLinksManager;\nvar HtmlElementHandler = /** @class */ (function () {\n    function HtmlElementHandler() {\n    }\n    HtmlElementHandler.prototype.execute = function (url, target) {\n        var element = this.getLinkedElement(url);\n        if (!element) {\n            return { isHandled: false, element: null };\n        }\n        // In \"copy\" mode the live node is moved into the modal so its bound\n        // event handlers and any initialized widgets stay intact, then it is\n        // restored to its original location when the modal closes. The default\n        // \"clone\" mode makes a detached copy, which strips event handlers and\n        // re-runs any initialization.\n        if (this.getMode(target, element) === 'copy') {\n            return this.moveElement(element);\n        }\n        var clonedElement = element.cloneNode(true);\n        clonedElement.classList.remove('hidden');\n        return { isHandled: true, element: clonedElement };\n    };\n    HtmlElementHandler.prototype.getMode = function (target, element) {\n        var _a;\n        var mode = (_a = target.getAttribute('data-modal-mode')) !== null && _a !== void 0 ? _a : element.getAttribute('data-modal-mode');\n        return mode === 'copy' ? 'copy' : 'clone';\n    };\n    HtmlElementHandler.prototype.moveElement = function (element) {\n        var _a;\n        // Leave a placeholder so the element can be returned to its exact\n        // original position, then move the live node by removing 'hidden'.\n        var placeholder = document.createComment('modal-content-placeholder');\n        (_a = element.parentNode) === null || _a === void 0 ? void 0 : _a.insertBefore(placeholder, element);\n        var wasHidden = element.classList.contains('hidden');\n        element.classList.remove('hidden');\n        var restore = function () {\n            if (placeholder.parentNode) {\n                placeholder.parentNode.insertBefore(element, placeholder);\n                placeholder.parentNode.removeChild(placeholder);\n            }\n            if (wasHidden) {\n                element.classList.add('hidden');\n            }\n        };\n        return { isHandled: true, element: element, restore: restore };\n    };\n    HtmlElementHandler.prototype.getLinkedElement = function (selector) {\n        if (!this.isElementIdUrl(selector)) {\
89n            return null;\n        }\n        return document.querySelector(selector);\n    };\n    HtmlElementHandler.prototype.isElementIdUrl = function (url) {\n        return /^#[a-z]+/i.test(url);\n    };\n    return HtmlElementHandler;\n}());\nvar ImageHandler = /** @class */ (function () {\n    function ImageHandler() {\n    }\n    ImageHandler.prototype.execute = function (url, target) {\n        if (!this.isImageUrl(url)) {\n            return { isHandled: false, element: null };\n        }\n        var div = document.createElement(\"div\");\n        var img = document.createElement(\"img\");\n        img.src = url;\n        div.append(img);\n        var title = target.getAttribute(\"data-title\");\n        if (title) {\n            var divTitle = document.createElement(\"div\");\n            divTitle.classList.add(\"image-caption\");\n            divTitle.innerText = title;\n            div.append(divTitle);\n        }\n        return { isHandled: true, element: div };\n    };\n    ImageHandler.prototype.isImageUrl = function (url) {\n        return /\\.(jpg|jpeg|png|gif|webp|svg)$/i.test(url);\n    };\n    return ImageHandler;\n}());\nvar YouTubeHandler = /** @class */ (function () {\n    function YouTubeHandler() {\n        this.urlRegx = /(?:youtu\\.be\\/(?<embedCode1>.+))|(?:youtube\\.com\\/watch\\?v=(?<embedCode2>.+))/i;\n    }\n    YouTubeHandler.prototype.execute = function (url, target) {\n        var embedCode = this.extractEmbedCode(url);\n        if (embedCode == null) {\n            return { isHandled: false, element: null };\n        }\n        var iframe = document.createElement('iframe');\n        iframe.setAttribute('title', '');\n        iframe.setAttribute('width', '100%');\n        iframe.setAttribute('height', '100%');\n        iframe.setAttribute('src', this.createEmbedUrl(embedCode));\n        iframe.setAttribute('frameborder', '0');\n        iframe.setAttribute('allow', 'autoplay');\n        iframe.setAttribute('allowfullscreen', '');\n        iframe.setAttribute('class', 'aspect-ratio-16x9');\n        return { isHandled: true, element: iframe };\n    };\n    YouTubeHandler.prototype.extractEmbedCode = function (url) {\n        var match = this.urlRegx.exec(url);\n        if (match == null) {\n            return null;\n        }\n        var _a = match.groups, embedCode1 = _a.embedCode1, embedCode2 = _a.embedCode2;\n        return embedCode1 || embedCode2;\n    };\n    YouTubeHandler.prototype.createEmbedUrl = function (embedCode) {\n        return \"https://www.youtube-nocookie.com/embed/\".concat(embedCode, \"?autoplay=1&rel=0&enablejsapi=1\");\n    };\n    return YouTubeHandler;\n}());\nvar VimeoHandler = /** @class */ (function () {\n    function VimeoHandler() {\n        this.urlRegex = /vimeo\\.com\\/(?<videoId>\\d+)(?:\\/?\\?h=(?<hash>[a-z0-9]+))?/i;\n    }\n    VimeoHandler.prototype.execute = function (url, target) {\n        var videoParmeters = this.extractVideoParameters(url);\n        if (videoParmeters == null) {\n            return { isHandled: false, element: null };\n        }\n        var iframe = document.createElement('iframe');\n        iframe.setAttribute('title', '');\n        iframe.setAttribute('width', '100%');\n        iframe.setAttribute('height', '100%');\n        iframe.setAttribute('src', this.createEmbedUrl(videoParmeters.videoId, videoParmeters.hash));\n        iframe.setAttribute('frameborder', '0');\n        iframe.setAttribute('allow', 'autoplay');\n        iframe.setAttribute('fullscreen', '');\n        iframe.setAttribute('picture-in-picture', '');\n        iframe.setAttribute('allowfullscreen', '');\n        iframe.setAttribute('class', 'aspect-ratio-16x9');\n        return { isHandled: true, element: iframe };\n    };\n    VimeoHandler.prototype.extractVideoParameters = function (url) {\n        var _a;\n        var match = this.urlRegex.exec(url);\n        if (match == null) {\n            return null;\n        }\n        return {\n            videoId: match.groups['videoId'],\n            hash: (_a = match.groups['hash']) !== null && _a !== void 0 ? _a : null\n        };\n    };\n    VimeoHandler.prototype.createEmbedUrl = function (videoId, hash) {\n        var hashParam = hash ? \"h=\".concat(hash, \"&\") : '';\n        return \"https://player.vimeo.com/video/\".concat(videoId, \"?\").concat(hashParam, \"auto
89play=1&api=1\");\n    };\n    return VimeoHandler;\n}());\nvar JotFormHandler = /** @class */ (function () {\n    function JotFormHandler() {\n        this.urlRegex = /lifepointhealth\\.jotform\\.com\\/(?<formId>\\d+)\\/?/i;\n    }\n    JotFormHandler.prototype.execute = function (url, target) {\n        var formId = this.extractFormId(url);\n        if (formId == null) {\n            return { isHandled: false, element: null };\n        }\n        var iframe = document.createElement('iframe');\n        iframe.setAttribute('title', '');\n        iframe.setAttribute('width', '100%');\n        iframe.setAttribute('height', '100%');\n        iframe.setAttribute('src', this.createEmbedUrl(formId));\n        iframe.setAttribute('frameborder', '0');\n        iframe.setAttribute('class', 'jotform-iframe');\n        return { isHandled: true, element: iframe };\n    };\n    JotFormHandler.prototype.extractFormId = function (url) {\n        var match = this.urlRegex.exec(url);\n        if (match == null) {\n            return null;\n        }\n        return match.groups['formId'];\n    };\n    JotFormHandler.prototype.createEmbedUrl = function (formId) {\n        return \"https://lifepointhealth.jotform.com/\".concat(formId);\n    };\n    return JotFormHandler;\n}());\nvar IframeHandler = /** @class */ (function () {\n    function IframeHandler() {\n    }\n    IframeHandler.prototype.execute = function (url, target) {\n        var iframe = document.createElement('iframe');\n        iframe.setAttribute('title', '');\n        iframe.setAttribute('width', '100%');\n        iframe.setAttribute('height', '100%');\n        iframe.setAttribute('src', url);\n        iframe.setAttribute('frameborder', '0');\n        iframe.setAttribute('class', 'aspect-ratio-4x3');\n        return { isHandled: true, element: iframe };\n    };\n    return IframeHandler;\n}());\nvar MarketoHandler = /** @class */ (function () {\n    function MarketoHandler() {\n    }\n    MarketoHandler.prototype.execute = function (url, target) {\n        var formId = target.getAttribute('data-marketo-form-id');\n        if (!formId) {\n            return { isHandled: false, element: null };\n        }\n        // Build the markup now, but defer Marketo initialization until the\n        // element is mounted in the open modal. Initializing while the node is\n        // still detached prevents reCAPTCHA from binding, leaving\n        // g-recaptcha-response empty and causing a 400 on submit. All Marketo\n        // setup (page URL, success handling, analytics) lives in\n        // MarketoFormLoader so page-inline and modal forms behave identically.\n        var container = marketo_form_loader_1.MarketoFormLoader.createEmbed({\n            formId: formId,\n            title: target.getAttribute('data-marketo-form-title'),\n            successMessage: target.getAttribute('data-marketo-success-message')\n        });\n        return {\n            isHandled: true,\n            element: container,\n            mounted: function () { return marketo_form_loader_1.MarketoFormLoader.initializeEmbed(container); }\n        };\n    };\n    return MarketoHandler;\n}());\n\n\n//# sourceURL=webpack://@lifepoint/website/./Frontend/common/scripts/modal-links-manager.ts?");
90
91/***/ }),
92
93/***/ "./Frontend/common/scripts/toggleable.ts":
94/*!***********************************************!*\
95  !*** ./Frontend/common/scripts/toggleable.ts ***!
96  \***********************************************/
97/***/ (function(__unused_webpack_module, exports) {
98
99eval("\nvar __assign = (this && this.__assign) || function () {\n    __assign = Object.assign || function(t) {\n        for (var s, i = 1, n = arguments.length; i < n; i++) {\n            s = arguments[i];\n            for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))\n                t[p] = s[p];\n        }\n        return t;\n    };\n    return __assign.apply(this, arguments);\n};\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.Toggleable = void 0;\nvar Toggleable = /** @class */ (function () {\n    function Toggleable(handle, content, options, callback) {\n        var _this = this;\n        this.options = __assign(__assign({}, ToggleableDefaultOptions), options);\n        this.handle = handle;\n        this.content = content;\n        this.callback = callback || (function (_) { });\n        this.isActive = handle.classList.contains(this.options.handleActiveClass);\n        handle.addEventListener(\"click\", function (event) {\n            if (_this.options.canToggle && !_this.options.canToggle()) {\n                return;\n            }\n            if (_this.options.preventHandleEventPropagation) {\n                event.preventDefault();\n            }\n            _this.Toggle();\n        });\n    }\n    Toggleable.prototype.ToggleActive = function () {\n        if (this.isActive) {\n            this.callback(this.isActive);\n            return;\n        }\n        this.handle.classList.add(this.options.handleActiveClass);\n        this.content.classList.add(this.options.contentActiveClass);\n        this.isActive = true;\n        this.callback(this.isActive);\n    };\n    Toggleable.prototype.ToggleInactive = function () {\n        if (!this.isActive) {\n            this.callback(this.isActive);\n            return;\n        }\n        this.handle.classList.remove(this.options.handleActiveClass);\n        this.content.classList.remove(this.options.contentActiveClass);\n        this.isActive = false;\n        this.callback(this.isActive);\n    };\n    Toggleable.prototype.Toggle = function () {\n        this.handle.classList.toggle(this.options.handleActiveClass);\n        this.content.classList.toggle(this.options.contentActiveClass);\n        this.isActive = !this.isActive;\n        this.callback(this.isActive);\n    };\n    return Toggleable;\n}());\nexports.Toggleable = Toggleable;\n;\nvar ToggleableDefaultOptions = {\n    handleActiveClass: \"active\",\n    contentActiveClass: \"active\",\n    preventHandleEventPropagation: true\n};\n\n\n//# sourceURL=webpack://@lifepoint/website/./Frontend/common/scripts/toggleable.ts?");
100
101/***/ }),
102
103/***/ "./Frontend/common/scripts/utm-parameter-forwarder.ts":
104/*!************************************************************!*\
105  !*** ./Frontend/common/scripts/utm-parameter-forwarder.ts ***!
106  \************************************************************/
107/***/ ((__unused_webpack_module, exports) => {
108
109eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.UTMParameterForwarder = void 0;\nvar UTMParameterForwarder = /** @class */ (function () {\n    function UTMParameterForwarder() {\n        var utms = this.getUrlUtms();\n        if (Object.keys(utms).length === 0) {\n            return;\n        }\n        var links = this.getLinks();\n        if (links.length === 0) {\n            return;\n        }\n        this.updateLinks(links, utms);\n    }\n    UTMParameterForwarder.prototype.getUrlUtms = function () {\n        var utmKeys = ['utm_source', 'utm_medium', 'utm_campaign', 'utm_term', 'utm_content'];\n        var urlParams = new URLSearchParams(window.location.search);\n        var utms = {};
109\n        for (var _i = 0, utmKeys_1 = utmKeys; _i < utmKeys_1.length; _i++) {\n            var key = utmKeys_1[_i];\n            if (urlParams.has(key)) {\n                utms[key] = urlParams.get(key);\n            }\n        }\n        return utms;\n    };\n    // Get local links and HRA links\n    UTMParameterForwarder.prototype.getLinks = function () {\n        return document.querySelectorAll('a[href^=\"/\"], a[href^=\"https://healthyhub.carefinder.io\"]');\n    };\n    UTMParameterForwarder.prototype.updateLinks = function (links, utms) {\n        for (var i = 0; i < links.length; i++) {\n            var link = links[i];\n            var href = link.getAttribute('href');\n            var url = new URL(href, window.location.origin);\n            for (var _i = 0, _a = Object.entries(utms); _i < _a.length; _i++) {\n                var _b = _a[_i], key = _b[0], value = _b[1];\n                url.searchParams.set(key, value);\n            }\n            // Retain the original domain for absolute (external) links\n            var isRelative = url.origin === window.location.origin && href.startsWith('/');\n            link.setAttribute('href', isRelative\n                ? url.pathname + url.search + url.hash\n                : url.href);\n        }\n    };\n    return UTMParameterForwarder;\n}());\nexports.UTMParameterForwarder = UTMParameterForwarder;\n\n\n//# sourceURL=webpack://@lifepoint/website/./Frontend/common/scripts/utm-parameter-forwarder.ts?");
110
111/***/ }),
112
113/***/ "./Frontend/themes/acute-hospital/index.ts":
114/*!*************************************************!*\
115  !*** ./Frontend/themes/acute-hospital/index.ts ***!
116  \*************************************************/
117/***/ ((__unused_webpack_module, exports, __webpack_require__) => {
118
119eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.App = void 0;\nvar search_bar_1 = __webpack_require__(/*! ./scripts/search-bar */ \"./Frontend/themes/acute-hospital/scripts/search-bar.ts\");\nvar cookie_banner_1 = __webpack_require__(/*! ../../common/scripts/cookie-banner */ \"./Frontend/common/scripts/cookie-banner.ts\");\nvar modal_links_manager_1 = __webpack_require__(/*! ../../common/scripts/modal-links-manager */ \"./Frontend/common/scripts/modal-links-manager.ts\");\nvar loyal_chat_manager_1 = __webpack_require__(/*! ../../common/scripts/loyal-chat-manager */ \"./Frontend/common/scripts/loyal-chat-manager.ts\");\nvar events_calendar_1 = __webpack_require__(/*! ../../common/scripts/events-calendar */ \"./Frontend/common/scripts/events-calendar.ts\");\nvar main_nav_1 = __webpack_require__(/*! ../../common/scripts/main-nav */ \"./Frontend/common/scripts/main-nav.ts\");\nvar mobile_nav_1 = __webpack_require__(/*! ./scripts/mobile-nav */ \"./Frontend/themes/acute-hospital/scripts/mobile-nav.ts\");\nvar side_nav_1 = __webpack_require__(/*! ./scripts/side-nav */ \"./Frontend/themes/acute-hospital/scripts/side-nav.ts\");\nvar er_wait_time_manager_1 = __webpack_require__(/*! ./scripts/er-wait-time-manager */ \"./Frontend/themes/acute-hospital/scripts/er-wait-time-manager.ts\");\nvar utm_parameter_forwarder_1 = __webpack_require__(/*! ../../common/scripts/utm-parameter-forwarder */ \"./Frontend/common/scripts/utm-parameter-forwarder.ts\");\nvar App = /** @class */ (function () {\n    function App() {\n        this.searchBar = new search_bar_1.SearchBar();\n        this.cookieBanner = new cookie_banner_1.CookieBanner();\n        this.mainNav = new main_nav_1.MainNav(this.searchBar.toggleable);\n        this.mobileNav = new mobile_nav_1.MobileNav();\n        this.sideNav = new side_nav_1.SideNav();\n        this.modalLinksManager = new modal_links_manager_1.ModalLinksManager();\n        this.loyalChatManager = new loyal_chat_manager_1.LoyalChatManager();\n        this.erWaitTimeManager = new er_wait_time_manager_1.ErWaitTimeManager();\n        this.eventsCalendar = new events_calendar_1.EventsCalendar();\n        this.utmParameterForwarder = new utm_parameter_forwarder_1.UTMParameterForwarder;\n    }\n    return App;\n}());\nexports.App = App;\nfunction documentReady(fn) {\n    if (document.readyState === \"complete\" || document.readyState === \"interactive\") {\n        setTimeout(fn, 1);\n    }\n    else {\n        document.addEventListener(\"DOMContentLoaded\", fn);\n    }\n}\ndocumentReady(function () {\n    new App();\n});\n\n\n//# sourceURL=webpack://@lifepoint/website/./Frontend/themes/acute-hospital/index.ts?");
120
121/***/ }),
122
123/***/ "./Frontend/themes/acute-hospital/scripts/er-wait-time-manager.ts":
124/*!************************************************************************!*\
125  !*** ./Frontend/themes/acute-hospital/scripts/er-wait-time-manager.ts ***!
126  \************************************************************************/
127/***/ (function(__unused_webpack_module, exports, __webpack_require__) {
128
129eval("\nvar __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {\n    function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\n    return new (P || (P = Promise))(function (resolve, reject) {\n        function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\n        function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\n        function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\n        step((generator = generator.apply(thisArg, _arguments || [])).next());\n    });\n};\nvar __generator = (this && this.__generator) || function (thisArg, body) {\n    var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\n    return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\n    function verb(n) { return function (v) { return step([n, v]); }; }\n    function step(op) {\n        if (f) throw new TypeError(\"Generator is already executing.\");\n        while (g && (g = 0, op[0] && (_ = 0)), _) try {\n            if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\n            if (y = 0, t) op = [op[0] & 2, t.value];\n            switch (op[0]) {\n                case 0: case 1: t = op; break;\n                case 4: _.label++; return { value: op[1], done: false };\n                case 5: _.label++; y = op[1]; op = [0]; continue;\n                case 7: op = _.ops.pop(); _.trys.pop(); continue;\n                default:\n                    if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\n                    if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\n                    if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\n                    if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\n                    if (t[2]) _.ops.pop();\n                    _.trys.pop(); continue;\n            }\n            op = body.call(thisArg, _);\n        } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\n        if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\n    }\n};\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.ErWaitTimeManager = void 0;\nvar toggleable_1 = __webpack_require__(/*! ../../../common/scripts/toggleable */ \"./Frontend/common/scripts/toggleable.ts\");\nvar ErWaitTimeManager = /** @class */ (function () {\n    function ErWaitTimeManager() {\n        this.refreshDurationInMs = 5 * 60 * 1000;\n        this.toggleOptions = { handleActiveClass: 'open', contentActiveClass: 'open', preventHandleEventPropagation: false };\n        this.waitTimeElements = this.getWaitTimeElements();\n        this.locationNames = this.getLocationNames(this.waitTimeElements);\n        if (this.waitTimeElements.length === 0 || this.locationNames.length === 0) {\n            console.warn(\"ER Wait Time Manager did not find any wait times to track.\", { locationNames: this.locationNames, waitTimeElements: this.waitTimeElements });\n            return;\n        }\n        var erWaitCard = document.querySelector('.er-wait-card');\n        if (!erWaitCard) {\n            console.error('ERWAITCARD_ERROR', 'Unable to find the ER wait card element.');\n            return;\n        }\n        var erWaitTimeBody = document.querySelector('.er-wait-body');\n        if (!erWaitTimeBody) {\n            console.error('ERWAITTIME_ERROR', 'Unable to find the ER wait time body element.');\n            return;\n        }\n        this.beginRefreshJob();\n        this.erWaitToggle = this.createErWaitToggle(erWaitCard, erWaitTimeBody);\n    }\n    ErWaitTimeManager.prototype.getWaitTimeElements = function () {\n        return Array.from(document.querySelectorAll('.er-wait-time[data-er-location]'));\n    };\n    ErWaitTimeManager.prototype.getLocationNames = function (elements) {\n        return Array.from(elements).map(function (element) { return element.dataset.erLocation; });\n    };\n    ErWaitTimeManager.prototype.beginRefreshJob = function () {\n        this.updateWaitTimes.apply(this);\n        setInterval(this.updateWaitTimes.bind(this), this.refreshDurationInMs);\n    };\n    ErWaitTimeManager.prototype.createErWaitToggle = function (erWaitCard, erWaitTime) {\n        return new toggleable_1.Toggleable(erWaitCard, erWaitTime, this.toggleOptions);\n    };\n    ErWaitTimeManager.prototype.updateWaitTimes = function () {\n        return __awaiter(this, void 0, void 0, function () {\n            var waitTimes, _loop_1, this_1, _i, _a, element;\n            return __generator(this, function (_b) {\n                switch (_b.label) {\n                    case 0: return [4 /*yield*/, this.getWaitTimes(this.locationNames)];\n                    case 1:\n                        waitTimes = _b.sent();\n                        _loop_1 = function (element) {\n                            var locationName = element.dataset.erLocation;\n                            var waitTime = waitTimes.find(function (item) { return item.locationName === locationName; });\n                            var waitTimeMessage = (waitTime != undefined && waitTime.waitTimeInMinutes >= 0) ? this_1.getFormattedMessage(waitTime.waitTimeInMinutes) : \"Unavailable\";\n                            element.innerText = waitTimeMessage;\n                        };\n                        this_1 = this;\n                        for (_i = 0, _a = this.waitTimeElements; _i < _a.length;
129 _i++) {\n                            element = _a[_i];\n                            _loop_1(element);\n                        }\n                        return [2 /*return*/];\n                }\n            });\n        });\n    };\n    ErWaitTimeManager.prototype.getFormattedMessage = function (waitTimeInMinutes) {\n        var units = waitTimeInMinutes === 1 ? \"minute\" : \"minutes\";\n        return \"\".concat(waitTimeInMinutes, \" \").concat(units);\n    };\n    ErWaitTimeManager.prototype.getWaitTimes = function (locationNames) {\n        return __awaiter(this, void 0, void 0, function () {\n            var requestDto, headers, response, responseDto, error_1;\n            return __generator(this, function (_a) {\n                switch (_a.label) {\n                    case 0:\n                        requestDto = {\n                            locationNames: locationNames\n                        };\n                        headers = new Headers();\n                        headers.append(\"Content-Type\", \"application/json\");\n                        _a.label = 1;\n                    case 1:\n                        _a.trys.push([1, 4, , 5]);\n                        return [4 /*yield*/, fetch(\"/lp-api/er-wait-times\", {\n                                method: \"POST\",\n                                body: JSON.stringify(requestDto),\n                                headers: headers\n                            })];\n                    case 2:\n                        response = _a.sent();\n                        if (!response.ok) {\n                            throw new Error(response.statusText);\n                        }\n                        return [4 /*yield*/, response.json()];\n                    case 3:\n                        responseDto = _a.sent();\n                        if (responseDto.waitTimes == null || responseDto.waitTimes == undefined) {\n                            console.error(\"Unexpected ER Wait Time response\", responseDto);\n                            return [2 /*return*/, []];\n                        }\n                        return [2 /*return*/, responseDto.waitTimes];\n                    case 4:\n                        error_1 = _a.sent();\n                        console.error(\"Failed to fetch ER Wait Time\", error_1);\n                        return [2 /*return*/, []];\n                    case 5: return [2 /*return*/];\n                }\n            });\n        });\n    };\n    return ErWaitTimeManager;\n}());\nexports.ErWaitTimeManager = ErWaitTimeManager;\n\n\n//# sourceURL=webpack://@lifepoint/website/./Frontend/themes/acute-hospital/scripts/er-wait-time-manager.ts?");
130
131/***/ }),
132
133/***/ "./Frontend/themes/acute-hospital/scripts/mobile-nav.ts":
134/*!**************************************************************!*\
135  !*** ./Frontend/themes/acute-hospital/scripts/mobile-nav.ts ***!
136  \**************************************************************/
137/***/ ((__unused_webpack_module, exports) => {
138
139eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.MobileNav = void 0;\nvar MobileNav = /** @class */ (function () {\n    function MobileNav() {\n        var mainNav = document.querySelector('.main-nav');\n        if (!mainNav) {\n            console.error('MAINNAV_ERROR', 'Unable to find the main navigation element.');\n            return;\n        }\n        var topNav = document.querySelector('.header-upper-links');\n        if (!topNav) {\n            console.error('TOPNAV_ERROR', 'Unable to find the top navigation element.');\n            return;\n        }\n        var mainHeader = document.querySelector('.main-header');\n        if (!mainNav) {\n            console.error('MAINHEADER_ERROR', 'Unable to find the main header element.');\n            return;\n        }\n        this.setMobileNav(mainNav, topNav);\n        this.setMobileNavVisibility(mainHeader);\n    }\n    MobileNav.prototype.setMobileNav = function (mainNav, topNav) {\n        var currentWidth = window.innerWidth;\n        if (currentWidth < 992) {\n            if (mainNav.querySelector('.top-nav')) {\n                return;\n            }\n            var topNavList = topNav.querySelector(\".nav-list\");\n            topNavList.classList.add('top-nav');\n            mainNav.prepend(topNavList.cloneNode(true));\n            topNavList.remove();\n        }\n        window.addEventListener(\"resize\", function () {\n            currentWidth = window.innerWidth;\n            if (currentWidth < 992) {\n                if (mainNav.querySelector('.top-nav')) {\n                    return;\n                }\n                var topNavList = topNav.querySelector(\".nav-list\");\n                topNavList.classList.add('top-nav');\n                mainNav.prepend(topNavList.cloneNode(true));\n                topNavList.remove();\n            }\n            else {\n                if (topNav.querySelector('.nav-list')) {\n                    return;\n                }\n                var topNavList = mainNav.querySelector(\".top-nav\");\n                topNav.querySelector('.horizontal-links-nav').appendChild(topNavList.cloneNode(true));\n                topNavList.remove();\n            }\n        });\n    };\n    MobileNav.prototype.setMobileNavVisibility = function (mainHeader) {\n        var lastScrollTop = 0;\n        window.addEventListener(\"scroll\", function () {\n            var scrollTop = window.scrollY || document.documentElement.scrollTop;\n            // Scroll down event\n            if (scrollTop > lastScrollTop && scrollTop > 156) {\n                if (!mainHeader.classList.contains('hide')) {\n                    mainHeader.classList.add('hide');\n                }\n            }\n            // Scroll up event\n            else if (scrollTop < lastScrollTop) {\n                if (mainHeader.classList.contains('hide')) {\n                    mainHeader.classList.remove('hide');\n                }\n            }\n            lastScrollTop = scrollTop <= 0 ? 0 : scrollTop; // For Mobile or negative scrolling\n        }, false);\n    };\n    return MobileNav;\n}());\nexports.MobileNav = MobileNav;\n\n\n//# sourceURL=webpack://@lifepoint/website/./Frontend/themes/acute-hospital/scripts/mobile-nav.ts?");
140
141/***/ }),
142
143/***/ "./Frontend/themes/acute-hospital/scripts/search-bar.ts":
144/*!**************************************************************!*\
145  !*** ./Frontend/themes/acute-hospital/scripts/search-bar.ts ***!
146  \**************************************************************/
147/***/ ((__unused_webpack_module, exports, __webpack_require__) => {
148
149eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.SearchBar = void 0;\nvar toggleable_1 = __webpack_require__(/*! ../../../common/scripts/toggleable */ \"./Frontend/common/scripts/toggleable.ts\");\nvar SearchBar = /** @class */ (function () {\n    function SearchBar() {\n        var handle = document.querySelector('.search-bar-toggle');\n        var container = document.querySelector('.search-bar-container');\n        if (!handle || !container) {\n            console.warn(\"SearchBar\", \"Could not find search bar handle or container.\", { handle: handle, container: container });\n            return;\n        }\n        this.toggleable = new toggleable_1.Toggleable(handle, container);\n    }\n    return SearchBar;\n}());\nexports.SearchBar = SearchBar;\n\n\n//# sourceURL=webpack://@lifepoint/website/./Frontend/themes/acute-hospital/scripts/search-bar.ts?");
150
151/***/ }),
152
153/***/ "./Frontend/themes/acute-hospital/scripts/side-nav.ts":
154/*!************************************************************!*\
155  !*** ./Frontend/themes/acute-hospital/scripts/side-nav.ts ***!
156  \************************************************************/
157/***/ ((__unused_webpack_module, exports, __webpack_require__) => {
158
159eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.SideNav = void 0;\nvar toggleable_1 = __webpack_require__(/*! ../../../common/scripts/toggleable */ \"./Frontend/common/scripts/toggleable.ts\");\nvar SideNav = /** @class */ (function () {\n    function SideNav() {\n        this.toggleOptions = { handleActiveClass: 'open', contentActiveClass: 'open' };\n        this.setMobileSideNav();\n        this.setSideNav();\n        this.setBackToTopLink();\n    }\n    SideNav.prototype.setBackToTopLink = function () {\n        var sidebar = document.querySelector('.sidebar-wrapper');\n        var backToTopWrapper = sidebar === null || sidebar === void 0 ? void 0 : sidebar.querySelector('.back-to-top-wrapper');\n        var siteHeader = document.querySelector('.site-header');\n        if (!sidebar || !backToTopWrapper) {\n            console.warn(\"SideNavMobile\", \"Could not find side nav or back to top handle.\", { sidebar: sidebar, backToTopWrapper: backToTopWrapper });\n            return;\n        }\n        window.addEventListener(\"scroll\", function () {\n            if (SideNav.isVisible(sidebar)) {\n                sidebar.classList.add('visible');\n                backToTopWrapper.classList.add('hidden');\n            }\n            else {\n                sidebar.classList.remove('visible');\n                backToTopWrapper.classList.remove('hidden');\n                backToTopWrapper.style.top = siteHeader.clientHeight + \"px\";\n            }\n        });\n    };\n    SideNav.prototype.setMobileSideNav = function () {\n        var handle = document.querySelector('.sidebar-menu-toggle');\n        var container = document.querySelector('.sidebar-nav');\n        var linkContainer = document.querySelector('.sidebar-wrapper .container-inner > .container');\n        if (!handle || !container) {\n            console.warn(\"SideNavMobile\", \"Could not find side nav menu handle or container.\", { handle: handle, container: container });\n            return;\n        }\n        this.toggleable = new toggleable_1.Toggleable(handle, container, this.toggleOptions);\n        if (linkContainer) {\n            this.contentToggleable = new toggleable_1.Toggleable(handle, linkContainer, this.toggleOptions);\n        }\n    };\n    SideNav.prototype.setSideNav = function () {\n        var _this = this;\n        var subnavToggles = document.querySelectorAll('.subnav-toggle');\n        subnavToggles.forEach(function (toggle) {\n            var handle = toggle;\n            var container = handle.closest('.has-subnav').querySelector('.subnav-list');\n            if (!handle || !container) {\n                console.warn(\"SideNav\", \"Could not find side nav toggle handle or container.\", { handle: handle, container: container });\n                return;\n            }\n            _this.toggleable = new toggleable_1.Toggleable(handle, container, _this.toggleOptions);\n        });\n    };\n    SideNav.isVisible = function (element) {\n        var rect = element.getBoundingClientRect();\n        var viewHeight = Math.max(document.documentElement.clientHeight, window.innerHeight);\n        return !(rect.bottom < 0 || rect.top - viewHeight >= 0);\n    };\n    return SideNav;\n}());\nexports.SideNav = SideNav;\n\n\n//# sourceURL=webpack://@lifepoint/website/./Frontend/themes/acute-hospital/scripts/side-nav.ts?");
160
161/***/ })
161
162
163/******/ 	});
164/************************************************************************/
165/******/ 	// The module cache
166/******/ 	var __webpack_module_cache__ = {};
167/******/ 	
168/******/ 	// The require function
169/******/ 	function __webpack_require__(moduleId) {
170/******/ 		// Check if module is in cache
171/******/ 		var cachedModule = __webpack_module_cache__[moduleId];
172/******/ 		if (cachedModule !== undefined) {
173/******/ 			return cachedModule.exports;
174/******/ 		}
175/******/ 		// Create a new module (and put it into the cache)
176/******/ 		var module = __webpack_module_cache__[moduleId] = {
177/******/ 			// no module.id needed
178/******/ 			// no module.loaded needed
179/******/ 			exports: {}
180/******/ 		};
181/******/ 	
182/******/ 		// Execute the module function
183/******/ 		__webpack_modules__[moduleId].call(module.exports, module, module.exports, __webpack_require__);
184/******/ 	
185/******/ 		// Return the exports of the module
186/******/ 		return module.exports;
187/******/ 	}
188/******/ 	
189/************************************************************************/
190/******/ 	
191/******/ 	// startup
192/******/ 	// Load entry module and return exports
193/******/ 	// This entry module can't be inlined because the eval devtool is used.
194/******/ 	var __webpack_exports__ = __webpack_require__("./Frontend/themes/acute-hospital/index.ts");
195/******/ 	
196/******/ })()
197;

Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.