{"version":3,"sources":["webpack://@verndale/toolkit/./node_modules/form-serialize/index.js","webpack://@verndale/toolkit/./node_modules/headroom.js/dist/headroom.js","webpack://@verndale/toolkit/./node_modules/js-cookie/src/js.cookie.js"],"names":["k_r_submitter","k_r_success_contrls","brackets","serialize","form","options","result","serializer","hash_serializer","str_serialize","elements","radio_store","i","element","key","val","selectOptions","isSelectedOptions","j","option","allowedEmpty","hasValue","parse_keys","string","keys","prefix","children","match","hash_assign","value","between","index","matches","existing","module","global","factory","isBrowser","passiveEventsSupported","supported","isSupported","isDocument","obj","isWindow","windowScroller","win","doc","body","html","elementScroller","createScroller","trackScroll","callback","isPassiveSupported","rafId","scrolled","scroller","lastScrollY","details","update","scrollY","height","scrollHeight","handleScroll","eventOptions","normalizeUpDown","Headroom","elem","self","scrollingDown","scrollingUp","className","cls","registeredInModuleLoader","OldCookies","api","extend","attributes","decode","s","init","converter","set","stringifiedAttributes","attributeName","get","json","jar","cookies","parts","cookie","name"],"mappings":"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","file":"Areas/SunriseSeniorLiving/Scripts/8468.50ec20d88eda1436f2db.bundle.js","sourcesContent":["// get successful control from form and assemble into object\n// http://www.w3.org/TR/html401/interact/forms.html#h-17.13.2\n\n// types which indicate a submit action and are not successful controls\n// these will be ignored\nvar k_r_submitter = /^(?:submit|button|image|reset|file)$/i;\n\n// node names which could be successful controls\nvar k_r_success_contrls = /^(?:input|select|textarea|keygen)/i;\n\n// Matches bracket notation.\nvar brackets = /(\\[[^\\[\\]]*\\])/g;\n\n// serializes form fields\n// @param form MUST be an HTMLForm element\n// @param options is an optional argument to configure the serialization. Default output\n// with no options specified is a url encoded string\n// - hash: [true | false] Configure the output type. If true, the output will\n// be a js object.\n// - serializer: [function] Optional serializer function to override the default one.\n// The function takes 3 arguments (result, key, value) and should return new result\n// hash and url encoded str serializers are provided with this module\n// - disabled: [true | false]. If true serialize disabled fields.\n// - empty: [true | false]. If true serialize empty fields\nfunction serialize(form, options) {\n if (typeof options != 'object') {\n options = { hash: !!options };\n }\n else if (options.hash === undefined) {\n options.hash = true;\n }\n\n var result = (options.hash) ? {} : '';\n var serializer = options.serializer || ((options.hash) ? hash_serializer : str_serialize);\n\n var elements = form && form.elements ? form.elements : [];\n\n //Object store each radio and set if it's empty or not\n var radio_store = Object.create(null);\n\n for (var i=0 ; i lastScrollY ? \"down\" : \"up\";\n details.distance = Math.abs(scrollY - lastScrollY);\n details.isOutOfBounds = scrollY < 0 || scrollY + height > scrollHeight;\n details.top = scrollY <= options.offset[details.direction];\n details.bottom = scrollY + height >= scrollHeight;\n details.toleranceExceeded =\n details.distance > options.tolerance[details.direction];\n\n callback(details);\n\n lastScrollY = scrollY;\n scrolled = false;\n }\n\n function handleScroll() {\n if (!scrolled) {\n scrolled = true;\n rafId = requestAnimationFrame(update);\n }\n }\n\n var eventOptions = isPassiveSupported\n ? { passive: true, capture: false }\n : false;\n\n element.addEventListener(\"scroll\", handleScroll, eventOptions);\n update();\n\n return {\n destroy: function() {\n cancelAnimationFrame(rafId);\n element.removeEventListener(\"scroll\", handleScroll, eventOptions);\n }\n };\n }\n\n function normalizeUpDown(t) {\n return t === Object(t) ? t : { down: t, up: t };\n }\n\n /**\n * UI enhancement for fixed headers.\n * Hides header when scrolling down\n * Shows header when scrolling up\n * @constructor\n * @param {DOMElement} elem the header element\n * @param {Object} options options for the widget\n */\n function Headroom(elem, options) {\n options = options || {};\n Object.assign(this, Headroom.options, options);\n this.classes = Object.assign({}, Headroom.options.classes, options.classes);\n\n this.elem = elem;\n this.tolerance = normalizeUpDown(this.tolerance);\n this.offset = normalizeUpDown(this.offset);\n this.initialised = false;\n this.frozen = false;\n }\n Headroom.prototype = {\n constructor: Headroom,\n\n /**\n * Start listening to scrolling\n * @public\n */\n init: function() {\n if (Headroom.cutsTheMustard && !this.initialised) {\n this.addClass(\"initial\");\n this.initialised = true;\n\n // defer event registration to handle browser\n // potentially restoring previous scroll position\n setTimeout(\n function(self) {\n self.scrollTracker = trackScroll(\n self.scroller,\n { offset: self.offset, tolerance: self.tolerance },\n self.update.bind(self)\n );\n },\n 100,\n this\n );\n }\n\n return this;\n },\n\n /**\n * Destroy the widget, clearing up after itself\n * @public\n */\n destroy: function() {\n this.initialised = false;\n Object.keys(this.classes).forEach(this.removeClass, this);\n this.scrollTracker.destroy();\n },\n\n /**\n * Unpin the element\n * @public\n */\n unpin: function() {\n if (this.hasClass(\"pinned\") || !this.hasClass(\"unpinned\")) {\n this.addClass(\"unpinned\");\n this.removeClass(\"pinned\");\n\n if (this.onUnpin) {\n this.onUnpin.call(this);\n }\n }\n },\n\n /**\n * Pin the element\n * @public\n */\n pin: function() {\n if (this.hasClass(\"unpinned\")) {\n this.addClass(\"pinned\");\n this.removeClass(\"unpinned\");\n\n if (this.onPin) {\n this.onPin.call(this);\n }\n }\n },\n\n /**\n * Freezes the current state of the widget\n * @public\n */\n freeze: function() {\n this.frozen = true;\n this.addClass(\"frozen\");\n },\n\n /**\n * Re-enables the default behaviour of the widget\n * @public\n */\n unfreeze: function() {\n this.frozen = false;\n this.removeClass(\"frozen\");\n },\n\n top: function() {\n if (!this.hasClass(\"top\")) {\n this.addClass(\"top\");\n this.removeClass(\"notTop\");\n\n if (this.onTop) {\n this.onTop.call(this);\n }\n }\n },\n\n notTop: function() {\n if (!this.hasClass(\"notTop\")) {\n this.addClass(\"notTop\");\n this.removeClass(\"top\");\n\n if (this.onNotTop) {\n this.onNotTop.call(this);\n }\n }\n },\n\n bottom: function() {\n if (!this.hasClass(\"bottom\")) {\n this.addClass(\"bottom\");\n this.removeClass(\"notBottom\");\n\n if (this.onBottom) {\n this.onBottom.call(this);\n }\n }\n },\n\n notBottom: function() {\n if (!this.hasClass(\"notBottom\")) {\n this.addClass(\"notBottom\");\n this.removeClass(\"bottom\");\n\n if (this.onNotBottom) {\n this.onNotBottom.call(this);\n }\n }\n },\n\n shouldUnpin: function(details) {\n var scrollingDown = details.direction === \"down\";\n\n return scrollingDown && !details.top && details.toleranceExceeded;\n },\n\n shouldPin: function(details) {\n var scrollingUp = details.direction === \"up\";\n\n return (scrollingUp && details.toleranceExceeded) || details.top;\n },\n\n addClass: function(className) {\n this.elem.classList.add.apply(\n this.elem.classList,\n this.classes[className].split(\" \")\n );\n },\n\n removeClass: function(className) {\n this.elem.classList.remove.apply(\n this.elem.classList,\n this.classes[className].split(\" \")\n );\n },\n\n hasClass: function(className) {\n return this.classes[className].split(\" \").every(function(cls) {\n return this.classList.contains(cls);\n }, this.elem);\n },\n\n update: function(details) {\n if (details.isOutOfBounds) {\n // Ignore bouncy scrolling in OSX\n return;\n }\n\n if (this.frozen === true) {\n return;\n }\n\n if (details.top) {\n this.top();\n } else {\n this.notTop();\n }\n\n if (details.bottom) {\n this.bottom();\n } else {\n this.notBottom();\n }\n\n if (this.shouldUnpin(details)) {\n this.unpin();\n } else if (this.shouldPin(details)) {\n this.pin();\n }\n }\n };\n\n /**\n * Default options\n * @type {Object}\n */\n Headroom.options = {\n tolerance: {\n up: 0,\n down: 0\n },\n offset: 0,\n scroller: isBrowser() ? window : null,\n classes: {\n frozen: \"headroom--frozen\",\n pinned: \"headroom--pinned\",\n unpinned: \"headroom--unpinned\",\n top: \"headroom--top\",\n notTop: \"headroom--not-top\",\n bottom: \"headroom--bottom\",\n notBottom: \"headroom--not-bottom\",\n initial: \"headroom\"\n }\n };\n\n Headroom.cutsTheMustard = isSupported();\n\n return Headroom;\n\n}));\n","/*!\n * JavaScript Cookie v2.2.1\n * https://github.com/js-cookie/js-cookie\n *\n * Copyright 2006, 2015 Klaus Hartl & Fagner Brack\n * Released under the MIT license\n */\n;(function (factory) {\n\tvar registeredInModuleLoader;\n\tif (typeof define === 'function' && define.amd) {\n\t\tdefine(factory);\n\t\tregisteredInModuleLoader = true;\n\t}\n\tif (typeof exports === 'object') {\n\t\tmodule.exports = factory();\n\t\tregisteredInModuleLoader = true;\n\t}\n\tif (!registeredInModuleLoader) {\n\t\tvar OldCookies = window.Cookies;\n\t\tvar api = window.Cookies = factory();\n\t\tapi.noConflict = function () {\n\t\t\twindow.Cookies = OldCookies;\n\t\t\treturn api;\n\t\t};\n\t}\n}(function () {\n\tfunction extend () {\n\t\tvar i = 0;\n\t\tvar result = {};\n\t\tfor (; i < arguments.length; i++) {\n\t\t\tvar attributes = arguments[ i ];\n\t\t\tfor (var key in attributes) {\n\t\t\t\tresult[key] = attributes[key];\n\t\t\t}\n\t\t}\n\t\treturn result;\n\t}\n\n\tfunction decode (s) {\n\t\treturn s.replace(/(%[0-9A-Z]{2})+/g, decodeURIComponent);\n\t}\n\n\tfunction init (converter) {\n\t\tfunction api() {}\n\n\t\tfunction set (key, value, attributes) {\n\t\t\tif (typeof document === 'undefined') {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tattributes = extend({\n\t\t\t\tpath: '/'\n\t\t\t}, api.defaults, attributes);\n\n\t\t\tif (typeof attributes.expires === 'number') {\n\t\t\t\tattributes.expires = new Date(new Date() * 1 + attributes.expires * 864e+5);\n\t\t\t}\n\n\t\t\t// We're using \"expires\" because \"max-age\" is not supported by IE\n\t\t\tattributes.expires = attributes.expires ? attributes.expires.toUTCString() : '';\n\n\t\t\ttry {\n\t\t\t\tvar result = JSON.stringify(value);\n\t\t\t\tif (/^[\\{\\[]/.test(result)) {\n\t\t\t\t\tvalue = result;\n\t\t\t\t}\n\t\t\t} catch (e) {}\n\n\t\t\tvalue = converter.write ?\n\t\t\t\tconverter.write(value, key) :\n\t\t\t\tencodeURIComponent(String(value))\n\t\t\t\t\t.replace(/%(23|24|26|2B|3A|3C|3E|3D|2F|3F|40|5B|5D|5E|60|7B|7D|7C)/g, decodeURIComponent);\n\n\t\t\tkey = encodeURIComponent(String(key))\n\t\t\t\t.replace(/%(23|24|26|2B|5E|60|7C)/g, decodeURIComponent)\n\t\t\t\t.replace(/[\\(\\)]/g, escape);\n\n\t\t\tvar stringifiedAttributes = '';\n\t\t\tfor (var attributeName in attributes) {\n\t\t\t\tif (!attributes[attributeName]) {\n\t\t\t\t\tcontinue;\n\t\t\t\t}\n\t\t\t\tstringifiedAttributes += '; ' + attributeName;\n\t\t\t\tif (attributes[attributeName] === true) {\n\t\t\t\t\tcontinue;\n\t\t\t\t}\n\n\t\t\t\t// Considers RFC 6265 section 5.2:\n\t\t\t\t// ...\n\t\t\t\t// 3. If the remaining unparsed-attributes contains a %x3B (\";\")\n\t\t\t\t// character:\n\t\t\t\t// Consume the characters of the unparsed-attributes up to,\n\t\t\t\t// not including, the first %x3B (\";\") character.\n\t\t\t\t// ...\n\t\t\t\tstringifiedAttributes += '=' + attributes[attributeName].split(';')[0];\n\t\t\t}\n\n\t\t\treturn (document.cookie = key + '=' + value + stringifiedAttributes);\n\t\t}\n\n\t\tfunction get (key, json) {\n\t\t\tif (typeof document === 'undefined') {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tvar jar = {};\n\t\t\t// To prevent the for loop in the first place assign an empty array\n\t\t\t// in case there are no cookies at all.\n\t\t\tvar cookies = document.cookie ? document.cookie.split('; ') : [];\n\t\t\tvar i = 0;\n\n\t\t\tfor (; i < cookies.length; i++) {\n\t\t\t\tvar parts = cookies[i].split('=');\n\t\t\t\tvar cookie = parts.slice(1).join('=');\n\n\t\t\t\tif (!json && cookie.charAt(0) === '\"') {\n\t\t\t\t\tcookie = cookie.slice(1, -1);\n\t\t\t\t}\n\n\t\t\t\ttry {\n\t\t\t\t\tvar name = decode(parts[0]);\n\t\t\t\t\tcookie = (converter.read || converter)(cookie, name) ||\n\t\t\t\t\t\tdecode(cookie);\n\n\t\t\t\t\tif (json) {\n\t\t\t\t\t\ttry {\n\t\t\t\t\t\t\tcookie = JSON.parse(cookie);\n\t\t\t\t\t\t} catch (e) {}\n\t\t\t\t\t}\n\n\t\t\t\t\tjar[name] = cookie;\n\n\t\t\t\t\tif (key === name) {\n\t\t\t\t\t\tbreak;\n\t\t\t\t\t}\n\t\t\t\t} catch (e) {}\n\t\t\t}\n\n\t\t\treturn key ? jar[key] : jar;\n\t\t}\n\n\t\tapi.set = set;\n\t\tapi.get = function (key) {\n\t\t\treturn get(key, false /* read as raw */);\n\t\t};\n\t\tapi.getJSON = function (key) {\n\t\t\treturn get(key, true /* read as json */);\n\t\t};\n\t\tapi.remove = function (key, attributes) {\n\t\t\tset(key, '', extend(attributes, {\n\t\t\t\texpires: -1\n\t\t\t}));\n\t\t};\n\n\t\tapi.defaults = {};\n\n\t\tapi.withConverter = init;\n\n\t\treturn api;\n\t}\n\n\treturn init(function () {});\n}));\n"],"sourceRoot":""}