{"version":3,"sources":["webpack:///webpack/bootstrap","webpack:///./app/javascript/querySelectorRequired.js","webpack:///./app/javascript/WrapsElement.js","webpack:///./app/javascript/onboarding/welcomePage/NextButton.js","webpack:///./app/javascript/HeapEventProxy.js","webpack:///./app/javascript/onboarding/welcomePageConditions/ConditionsSelectorMobile.js","webpack:///./app/javascript/onboarding/welcomePageConditions/ConditionsSelector.js","webpack:///./app/javascript/onboarding/welcomePageConditions/ConditionsSelectorArrow.js","webpack:///./app/javascript/onboarding/welcomePageConditions/ConditionsCheckboxes.js","webpack:///./app/javascript/onboarding/welcomePageConditions/ConditionsSelectorLabel.js","webpack:///./app/javascript/Animator.js","webpack:///./app/javascript/onboarding/welcomePage/addRemoveCssClasses.js","webpack:///./app/javascript/onboarding/welcomePage/EmailField.js","webpack:///./app/javascript/onboarding/welcomePage/FullNameField.js","webpack:///./app/javascript/onboarding/welcomePage/PhoneNumberField.js","webpack:///./app/javascript/onboarding/welcomePage/Step1.js","webpack:///./app/javascript/onboarding/welcomePage/Step2.js","webpack:///./app/javascript/onboarding/welcomePage/TermsCheckbox.js","webpack:///./app/javascript/onboarding/welcomePage/Welcome.js","webpack:///./app/javascript/EventManager.js","webpack:///./app/javascript/onboarding/welcomePageConditions/Condition.js","webpack:///./app/javascript/onboarding/welcomePage/ValidatedField.js","webpack:///./app/javascript/AnimatorPreferences.js","webpack:///./app/javascript/onboarding/welcomePage/NavBackLink.js","webpack:///./app/javascript/onboarding/welcomePage/NavLogo.js","webpack:///./app/javascript/onboarding/welcomePage/SocialProofMobile.js","webpack:///./app/javascript/onboarding/welcomePage/DetailsLink.js","webpack:///./app/javascript/packs/onboarding/organic/welcomePage.js","webpack:///./app/javascript/onboarding/organic/welcomePage/Step1Form.js","webpack:///./app/javascript/onboarding/organic/welcomePage/FormForAllData.js","webpack:///./app/javascript/onboarding/organic/welcomePage/UsStateSelector.js","webpack:///./app/javascript/onboarding/organic/welcomePage/index.js"],"names":["installedModules","__webpack_require__","moduleId","exports","module","i","l","modules","call","m","c","d","name","getter","o","Object","defineProperty","enumerable","get","r","Symbol","toStringTag","value","t","mode","__esModule","ns","create","key","bind","n","object","property","prototype","hasOwnProperty","p","s","querySelectorRequired","relativeToElement","selector","element","querySelector","concat","tagName","classList","querySelectorsRequired","elements","querySelectorAll","size","WrapsElement","_createClass","_classCallCheck","this","NextButton","_WrapsElement","_inherits","_super","_createSuper","_this","clickEventManager","EventManager","addEventListener","event","preventDefault","disabled","fireEvent","enabledColor","disabledColor","animator","Animator","duration","styles","backgroundColor","from","to","borderColor","listener","addListener","setForwardNow","animateForward","animateBackward","HeapEventProxy","document","window","event_name","properties","heap","track","createElement","dataset","heapEventSent","body","appendChild","ConditionsSelectorMobile","selectedListeners","clearedListeners","selectedOptions","length","forEach","_conditionsFromSelectedOptions","push","Set","Array","map","option","Condition","undefined","ConditionsSelector","openedListeners","closedListeners","opened","selectorIsClosing","close","ConditionsSelectorArrow","transform","ConditionsCheckboxes","conditionsCheckboxesCheckboxElements","conditionsSelected","Map","opacity","checkbox","updateConditions","condition","_conditionFromCheckboxElement","checked","isNone","_uncheckAllOthers","clear","noneCondition","_uncheckNone","label","set","notifyListeners","_this2","_this3","then","style","pointerEvents","conditionsCheckboxesFullyHidden","_this4","conditionsCheckboxesFullyShown","zIndex","_this5","keepChecked","otherCheckbox","ConditionsSelectorLabel","labelWhenNothingSelected","labelWhenSomethingSelected","remove","add","innerText","values","join","_ref","easing","animatorPreferences","AnimatorPreferences","whenDoneForward","whenDoneBackward","entries","entry","styleName","styleFromTo","durationOverride","immediateAlways","Promise","resolve","animate","finished","f","setBackwardNow","splitCssClasses","cssClassesAsString","split","removeCss","cssClass","addCss","EmailField","_ValidatedField","apply","arguments","match","ValidatedField","FullNameField","trim","Step1","speed","Step2","TermsCheckbox","checkedEventManager","uncheckedEventManager","Welcome","step2EventManager","step","listeners","_len","args","_key","currentValue","valueBlankEventManager","valueValidEventManager","valueInvalidEventManager","target","_valueValid","prefersReducedMotion","matchMedia","matches","documentForcingNoAnimations","animatorImmediate","NavBackLink","shown","NavLogo","SocialProofMobile","require","Step1Form","form","email","accepted_terms","emailElement","formValidEventManager","formInvalidEventManager","newEmail","_ensureString","_checkValidity","newAcceptedTerms","submit","String","FormForAllData","full_name","phone","us_state_id","conditions","service_selected","serviceSelectedElement","acceptedTermsElement","newService","newFullName","newPhone","newUsState","newConditions","_ensureSet","UsStateSelector","selectedEventManager","unselectedEventManager","setupDesktop","conditionsCheckboxes","welcomeElement","welcomeComponent","step1","emailField","termsCheckbox","nextButton","step1Form","step2","fullNameField","phoneField","PhoneNumberField","bookButton","usStateSelector","whatIsMoodLink","heapEventProxy","setupStep2","conditionsSelector","conditionsSelectorArrow","conditionsSelectorLabel","onOpened","show","raise","pointUp","onClosed","hide","lower","pointDown","onSelected","showSomethingSelected","onCleared","showNothingSelected","setupConditionsSelector","step2FullyShown","disableImmediately","onStep2Shown","slideUpAndOut","slideUpAndIn","onClick","showStep2","onValueValid","newValue","onValueBlank","onChecked","acceptedTerms","onUnchecked","onValid","enable","onInvalid","disable","fullName","usStateId","usState","onUnselected","socialProof","slideOut"],"mappings":"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","file":"js/onboarding/organic/welcomePage-dbe053c0ccc2ef3d87b0.js","sourcesContent":[" \t// The module cache\n \tvar installedModules = {};\n\n \t// The require function\n \tfunction __webpack_require__(moduleId) {\n\n \t\t// Check if module is in cache\n \t\tif(installedModules[moduleId]) {\n \t\t\treturn installedModules[moduleId].exports;\n \t\t}\n \t\t// Create a new module (and put it into the cache)\n \t\tvar module = installedModules[moduleId] = {\n \t\t\ti: moduleId,\n \t\t\tl: false,\n \t\t\texports: {}\n \t\t};\n\n \t\t// Execute the module function\n \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n \t\t// Flag the module as loaded\n \t\tmodule.l = true;\n\n \t\t// Return the exports of the module\n \t\treturn module.exports;\n \t}\n\n\n \t// expose the modules object (__webpack_modules__)\n \t__webpack_require__.m = modules;\n\n \t// expose the module cache\n \t__webpack_require__.c = installedModules;\n\n \t// define getter function for harmony exports\n \t__webpack_require__.d = function(exports, name, getter) {\n \t\tif(!__webpack_require__.o(exports, name)) {\n \t\t\tObject.defineProperty(exports, name, { enumerable: true, get: getter });\n \t\t}\n \t};\n\n \t// define __esModule on exports\n \t__webpack_require__.r = function(exports) {\n \t\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n \t\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n \t\t}\n \t\tObject.defineProperty(exports, '__esModule', { value: true });\n \t};\n\n \t// create a fake namespace object\n \t// mode & 1: value is a module id, require it\n \t// mode & 2: merge all properties of value into the ns\n \t// mode & 4: return value when already ns object\n \t// mode & 8|1: behave like require\n \t__webpack_require__.t = function(value, mode) {\n \t\tif(mode & 1) value = __webpack_require__(value);\n \t\tif(mode & 8) return value;\n \t\tif((mode & 4) && typeof value === 'object' && value && value.__esModule) return value;\n \t\tvar ns = Object.create(null);\n \t\t__webpack_require__.r(ns);\n \t\tObject.defineProperty(ns, 'default', { enumerable: true, value: value });\n \t\tif(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key));\n \t\treturn ns;\n \t};\n\n \t// getDefaultExport function for compatibility with non-harmony modules\n \t__webpack_require__.n = function(module) {\n \t\tvar getter = module && module.__esModule ?\n \t\t\tfunction getDefault() { return module['default']; } :\n \t\t\tfunction getModuleExports() { return module; };\n \t\t__webpack_require__.d(getter, 'a', getter);\n \t\treturn getter;\n \t};\n\n \t// Object.prototype.hasOwnProperty.call\n \t__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };\n\n \t// __webpack_public_path__\n \t__webpack_require__.p = \"https://assets.moodhealth.com/packs/\";\n\n\n \t// Load entry module and return exports\n \treturn __webpack_require__(__webpack_require__.s = 923);\n","const querySelectorRequired = (relativeToElement,selector) => {\n const element = relativeToElement.querySelector(selector)\n if (!element) {\n throw `Problem: No element with selector '${selector}' inside '${relativeToElement.tagName}' '${relativeToElement.classList}'`\n }\n return element\n}\nconst querySelectorsRequired = (relativeToElement,selector) => {\n const elements = relativeToElement.querySelectorAll(selector)\n if (elements.size == 0) {\n throw `Problem: No elements with selector '${selector}' inside '${relativeToElement.tagName}' '${relativeToElement.classList}'`\n }\n return elements\n}\n\nexport { querySelectorRequired, querySelectorsRequired }\n","/** Useful subclass for anything that wraps a DOM element */\nclass WrapsElement {\n constructor(element) {\n this.element = element\n }\n}\nexport default WrapsElement\n","import EventManager from \"../../EventManager\"\nimport Animator from \"../../Animator\"\nimport WrapsElement from \"../../WrapsElement\"\n\nclass NextButton extends WrapsElement {\n constructor(element) {\n super(element)\n this.clickEventManager = new EventManager()\n this.element.addEventListener(\"click\", (event) => {\n event.preventDefault()\n if (!this.element.disabled) {\n this.clickEventManager.fireEvent()\n }\n })\n this.enabledColor = \"#6CA37F\" // 'green' from design system\n this.disabledColor = \"#d9d9d9\"\n this.animator = new Animator(element, {\n duration: 100,\n styles: {\n backgroundColor: {\n from: this.enabledColor,\n to: this.disabledColor,\n },\n borderColor: {\n from: this.enabledColor,\n to: this.disabledColor,\n },\n }\n })\n }\n\n onClick(listener) { this.clickEventManager.addListener(listener) }\n\n disableImmediately() {\n if (!this.element.disabled) {\n this.element.disabled = true\n this.animator.setForwardNow()\n }\n }\n\n disable() {\n if (!this.element.disabled) {\n this.element.disabled = true\n this.animator.animateForward()\n }\n }\n enable() {\n if (this.element.disabled) {\n this.animator.animateBackward()\n this.element.disabled = false\n }\n }\n}\nexport default NextButton\n","/* This exists to both send heap events from JavaScript, but\n * will also update the DOM when the events are sent so that tests can\n * assert these events happened by examining the DOM\n */\nclass HeapEventProxy {\n\n // You cannot pass heap into this and have to reference it when needed\n // https://github.com/segmentio/analytics.js/issues/605#issuecomment-605464507\n constructor(document, window) {\n this.document = document\n this.window = window\n }\n\n track(event_name, properties) {\n this.window.heap.track(event_name,properties)\n\n const element = this.document.createElement(\"span\")\n element.dataset.heapEventSent=event_name\n this.document.body.appendChild(element)\n }\n}\n\nexport default HeapEventProxy\n","import WrapsElement from \"../../WrapsElement\"\nimport Condition from \"./Condition\"\n\nclass ConditionsSelectorMobile extends WrapsElement {\n constructor(element) {\n super(element)\n this.selectedListeners = []\n this.clearedListeners = []\n\n this.element.addEventListener(\"change\", () => {\n if (this.element.selectedOptions.length === 0) {\n this.clearedListeners.forEach( (listener) => listener() )\n }\n else {\n this.selectedListeners.forEach( (listener) => listener(this._conditionsFromSelectedOptions()) )\n }\n })\n }\n\n onSelected(listener) {\n this.selectedListeners.push(listener)\n }\n onCleared(listener) {\n this.clearedListeners.push(listener)\n }\n\n _conditionsFromSelectedOptions() {\n return new Set(\n Array.from(this.element.selectedOptions).map( (option) => {\n return new Condition(\n option.value,\n option.dataset[\"none\"] !== undefined\n )\n })\n )\n }\n}\n\nexport default ConditionsSelectorMobile\n","import WrapsElement from \"../../WrapsElement\"\n\nclass ConditionsSelector extends WrapsElement {\n constructor(element) {\n super(element)\n this.openedListeners = []\n this.closedListeners = []\n this.opened = false\n\n this.element.addEventListener(\"click\", (event) => {\n const selectorIsClosing = this.opened\n\n event.preventDefault()\n\n if (selectorIsClosing) {\n this.close()\n }\n else {\n this.openedListeners.forEach( (listener) => listener() )\n this.opened = true\n }\n })\n }\n onOpened(listener) { this.openedListeners.push(listener) }\n onClosed(listener) { this.closedListeners.push(listener) }\n\n close() { \n this.closedListeners.forEach( (listener) => listener() )\n this.opened = false\n }\n}\n\nexport default ConditionsSelector\n","import WrapsElement from \"../../WrapsElement\"\nimport Animator from \"../../Animator\"\n\nclass ConditionsSelectorArrow extends WrapsElement {\n constructor(element) {\n super(element)\n this.animator = new Animator(element,{\n styles: {\n transform: {\n from: \"rotate(0)\",\n to: \"rotate(180deg)\",\n }\n }\n })\n }\n\n pointUp() { this.animator.animateForward() }\n pointDown() { this.animator.animateBackward() }\n}\n\nexport default ConditionsSelectorArrow\n","import { querySelectorsRequired } from \"../../querySelectorRequired\"\nimport WrapsElement from \"../../WrapsElement\"\nimport Animator from \"../../Animator\"\n\nimport Condition from \"./Condition\"\n\nclass ConditionsCheckboxes extends WrapsElement {\n constructor(element) {\n super(element)\n this.selectedListeners = []\n this.clearedListeners = []\n this.conditionsCheckboxesCheckboxElements = querySelectorsRequired(this.element,\"input[type=checkbox]\")\n\n this.conditionsSelected = new Map() // labels to objects\n\n this.animator = new Animator(element,{\n duration: 250,\n styles: {\n opacity: {\n from: 0,\n to: 1,\n }\n }\n })\n\n this.conditionsCheckboxesCheckboxElements.forEach( (checkbox) => {\n const updateConditions = (checkbox) => {\n const condition = this._conditionFromCheckboxElement(checkbox)\n\n if (checkbox.checked) {\n if (condition.isNone) {\n this._uncheckAllOthers(checkbox)\n this.conditionsSelected.clear()\n }\n else {\n const noneCondition = this._uncheckNone()\n this.conditionsSelected.delete(noneCondition.label)\n }\n this.conditionsSelected.set(condition.label,condition)\n }\n else {\n this.conditionsSelected.delete(condition.label)\n }\n }\n updateConditions(checkbox)\n checkbox.addEventListener(\"change\", () => {\n updateConditions(checkbox)\n this.notifyListeners()\n })\n })\n }\n\n notifyListeners() {\n if (this.conditionsSelected.size == 0) {\n this.clearedListeners.forEach( (listener) => listener() )\n }\n else {\n this.selectedListeners.forEach( (listener) => listener(this.conditionsSelected) )\n }\n }\n\n show() {\n this.animator.animateForward().then( () => {\n this.element.style.pointerEvents = \"auto\"\n this.element.dataset[\"conditionsCheckboxesFullyShown\"] = \"true\"\n delete this.element.dataset.conditionsCheckboxesFullyHidden\n })\n }\n\n hide() {\n this.animator.animateBackward().then( () => {\n this.element.style.pointerEvents = \"none\"\n this.element.dataset[\"conditionsCheckboxesFullyHidden\"] = \"true\"\n delete this.element.dataset.conditionsCheckboxesFullyShown\n })\n }\n\n raise() { this.element.style.zIndex = 5 }\n lower() { this.element.style.zIndex = -1 }\n\n onSelected(listener) { this.selectedListeners.push(listener) }\n onCleared(listener) { this.clearedListeners.push(listener) }\n\n _conditionFromCheckboxElement(checkbox) {\n return new Condition(\n checkbox.dataset[\"label\"],\n checkbox.dataset[\"none\"] !== undefined\n )\n }\n\n _uncheckNone() {\n let noneCondition = undefined\n this.conditionsCheckboxesCheckboxElements.forEach( (checkbox) => {\n const condition = this._conditionFromCheckboxElement(checkbox)\n if (condition.isNone) {\n checkbox.checked = false\n noneCondition = condition\n }\n })\n return noneCondition\n }\n\n _uncheckAllOthers(keepChecked) {\n this.conditionsCheckboxesCheckboxElements.forEach( (otherCheckbox) => {\n if (otherCheckbox !== keepChecked) {\n otherCheckbox.checked = false\n }\n })\n }\n}\nexport default ConditionsCheckboxes\n","import WrapsElement from \"../../WrapsElement\"\n\nclass ConditionsSelectorLabel {\n constructor(labelWhenNothingSelected, labelWhenSomethingSelected) {\n this.labelWhenNothingSelected = labelWhenNothingSelected\n this.labelWhenSomethingSelected = labelWhenSomethingSelected\n }\n showNothingSelected() {\n this.labelWhenNothingSelected.classList.remove(\"dn\")\n this.labelWhenNothingSelected.classList.add(\"db\")\n this.labelWhenSomethingSelected.classList.add(\"dn\")\n this.labelWhenSomethingSelected.classList.remove(\"db\")\n }\n showSomethingSelected(conditionsSelected) {\n this.labelWhenNothingSelected.classList.remove(\"db\")\n this.labelWhenNothingSelected.classList.add(\"dn\")\n this.labelWhenSomethingSelected.classList.add(\"db\")\n this.labelWhenSomethingSelected.classList.remove(\"dn\")\n this.labelWhenSomethingSelected.innerText = Array.from(conditionsSelected.values()).map( (condition) => condition.label ).join(\", \")\n }\n}\n\nexport default ConditionsSelectorLabel\n","import AnimatorPreferences from \"./AnimatorPreferences\"\n\n/*\n * Simplified abstraction over the Element.animate() method, useful for\n * animations where you are animating to certain styles and you want those\n * styles to persist after the animation, e.g. for hiding elements.\n */\nclass Animator {\n /*\n * Create an Animator that can animate the given element forward and backward.\n *\n * element:: The Element that will be animated\n * duration:: a number representing the ms for the animation. Default is 500\n * easing:: An easing value for the animation. Default is \"ease-in\"\n * styles:: An object where the keys are styles that can be animated. Each key's\n * value should be an object with the keys \"from\" and \"to\". For forward\n * animations, the element will be animated from the \"from\" to the \"to\"\n * and the \"to\" styles will be applied at the end. For backwards animation\n * it uses \"to\" as the starting point and \"from\" as the end, with the\n * \"from\" styles being applied.\n */\n constructor(element, { duration, easing, styles }) {\n this.element = element\n this.duration = duration || 500\n this.easing = easing || \"ease-in\"\n\n this.animatorPreferences = new AnimatorPreferences()\n\n this.from = {}\n this.to = {}\n this.whenDoneForward = []\n this.whenDoneBackward = []\n\n Object.entries(styles).forEach( (entry) => {\n const styleName = entry[0]\n const styleFromTo = entry[1]\n\n this.from[styleName] = styleFromTo.from\n this.to[styleName] = styleFromTo.to\n this.whenDoneForward.push( () => {\n this.element.style[styleName] = styleFromTo.to\n })\n this.whenDoneBackward.push( () => {\n this.element.style[styleName] = styleFromTo.from\n })\n })\n }\n\n /**\n * Animate the element forward, with \"from\" at the start and\n * \"to\" at the end.\n *\n * durationOverride:: Set this to override the duration used in the constructor.\n *\n * returns a Promise on which you can call then() to perform additional\n * functions after the animation completes\n *\n * Note when animation is skipped, the 'from' state is set immediately on the element,\n * but the promise is still returned\n */\n animateForward(durationOverride) {\n if (this.animatorPreferences.immediateAlways) {\n this.setForwardNow()\n return new Promise( (resolve) => {\n resolve()\n })\n }\n else {\n return this.element.animate(\n [\n this.from,\n this.to,\n ],\n {\n duration: durationOverride || this.duration,\n easing: this.easing,\n }\n ).finished.then( () => {\n this.whenDoneForward.forEach( (f) => f() )\n })\n }\n }\n\n /**\n * Set the element to its completed-after-forward-animation state\n * immediately. This is useful if you want to style a component\n * in its pre-animated state, but being the UI with the forward\n * animation completed.\n */\n setForwardNow() {\n this.whenDoneForward.forEach( (f) => f() )\n }\n\n /**\n * Animate the element backwaord, with \"to\" at the start and\n * \"from\" at the end.\n *\n * durationOverride:: Set this to override the duration used in the constructor.\n *\n * returns a Promise on which you can call then() to perform additional\n * functions after the animation completes\n */\n animateBackward(durationOverride) {\n if (this.animatorPreferences.immediateAlways) {\n this.setBackwardNow()\n return new Promise( (resolve) => {\n resolve()\n })\n }\n else {\n return this.element.animate(\n [\n this.to,\n this.from,\n ],\n {\n duration: durationOverride || this.duration,\n easing: this.easing,\n }\n ).finished.then( () => {\n this.whenDoneBackward.forEach( (f) => f() )\n })\n }\n }\n\n /**\n * Set the element to its completed-after-backward-animation state\n * immediately. This is useful if you want to style a component\n * in its pre-animated state, but being the UI with the forward\n * animation completed.\n */\n setBackwardNow() {\n this.whenDoneBackward.forEach( (f) => f() )\n }\n\n}\n\nexport default Animator\n","const splitCssClasses = (cssClassesAsString) => {\n return (cssClassesAsString || \"\").split(\" \")\n}\n\nconst removeCss = (element,cssClassesAsString) => {\n splitCssClasses(cssClassesAsString).forEach( (cssClass) => {\n element.classList.remove(cssClass)\n })\n}\n\nconst addCss = (element,cssClassesAsString) => {\n splitCssClasses(cssClassesAsString).forEach( (cssClass) => {\n element.classList.add(cssClass)\n })\n}\n\nexport { removeCss, addCss }\n","import ValidatedField from \"./ValidatedField\"\n\nclass EmailField extends ValidatedField {\n _valueValid(value) {\n // Backend will do a better check, but this is fine to catch most issues\n return !!value.match(/^[\\S]+@[\\S]+\\.[\\S]+$/)\n }\n}\n\nexport default EmailField\n","import ValidatedField from \"./ValidatedField\"\n\nclass FullNameField extends ValidatedField {\n _valueValid(value) {\n return value.trim() !== \"\"\n }\n}\n\nexport default FullNameField\n\n","import ValidatedField from \"./ValidatedField\"\n\nclass PhoneNumberField extends ValidatedField {\n _valueValid(value) {\n const onlyNumbers = value.replace(/\\D/g,\"\")\n return onlyNumbers.length === 10\n }\n}\n\nexport default ValidatedField\n","import Animator from \"../../Animator\"\nimport WrapsElement from \"../../WrapsElement\"\n\nclass Step1 extends WrapsElement {\n constructor(element) {\n super(element)\n this.animator = new Animator(this.element,{\n duration: 600,\n styles: {\n opacity: {\n from: 1,\n to: 0,\n },\n transform: {\n from: \"translateY(0)\",\n to: \"translateY(-100%)\",\n }\n }\n })\n }\n\n slideUpAndOut(speed) {\n if (speed === \"now\") {\n this.animator.setForwardNow()\n }\n else {\n this.animator.animateForward()\n }\n }\n}\nexport default Step1\n","import Animator from \"../../Animator\"\nimport WrapsElement from \"../../WrapsElement\"\n\nclass Step2 extends WrapsElement {\n constructor(element) {\n super(element)\n this.animator = new Animator(this.element,{\n duration: 750,\n styles: {\n opacity: {\n from: 0,\n to: 1,\n },\n transform: {\n from: \"translateY(100%)\",\n to: \"translateY(0)\",\n }\n }\n })\n }\n slideUpAndIn(speed) {\n if (speed === \"now\") {\n this.animator.setForwardNow()\n }\n else {\n this.animator.animateForward()\n }\n }\n}\nexport default Step2\n","import EventManager from \"../../EventManager\"\nimport WrapsElement from \"../../WrapsElement\"\n\nclass TermsCheckbox extends WrapsElement {\n constructor(element) {\n super(element)\n\n this.checkedEventManager = new EventManager()\n this.uncheckedEventManager = new EventManager()\n\n this.element.addEventListener(\"change\", () => {\n this.notifyListeners()\n })\n }\n onChecked(listener) { this.checkedEventManager.addListener(listener) }\n onUnchecked(listener) { this.uncheckedEventManager.addListener(listener) }\n notifyListeners() { \n if (this.element.checked) {\n this.checkedEventManager.fireEvent()\n }\n else {\n this.uncheckedEventManager.fireEvent()\n }\n }\n}\n\nexport default TermsCheckbox\n","import EventManager from \"../../EventManager\"\nimport WrapsElement from \"../../WrapsElement\"\n\nclass Welcome extends WrapsElement {\n constructor(element) {\n super(element)\n this.step2EventManager = new EventManager()\n\n this.step = 1\n\n }\n\n onStep2Shown(listener) { this.step2EventManager.addListener(listener) }\n\n showStep2() {\n if (this.step === 1) {\n this.step2EventManager.fireEvent() \n this.element.classList.remove(\"overflow-y-hidden\")\n }\n }\n showStep2Immediately() {\n if (this.step === 1) {\n this.step2EventManager.fireEvent(\"now\") \n this.element.classList.remove(\"overflow-y-hidden\")\n }\n }\n}\nexport default Welcome\n","/** Helper for allow a class to register listeners to custom events and then fire those events */\nclass EventManager {\n constructor() {\n this.listeners = new Set()\n }\n\n /** Add a listener for this event.\n * \n * listener:: A function that will receive whatever args are given to fireEvent\n */\n addListener(listener) { this.listeners.add(listener) }\n removeListener(listener) { return this.listeners.delete(listener) }\n\n /** Fire the event to all listeners, passing along the args, if any */\n fireEvent(...args) {\n this.listeners.forEach( (listener) => {\n listener(...args)\n })\n }\n}\n\nexport default EventManager\n","class Condition {\n constructor(label, isNone) {\n this.label = label\n this.isNone = isNone\n }\n}\nexport default Condition\n","import EventManager from \"../../EventManager\"\nimport WrapsElement from \"../../WrapsElement\"\n\nclass ValidatedField extends WrapsElement {\n constructor(element) {\n super(element)\n this.currentValue = this.element.value\n\n this.valueBlankEventManager = new EventManager()\n this.valueValidEventManager = new EventManager()\n this.valueInvalidEventManager = new EventManager()\n\n this.element.addEventListener(\"input\", (event) => {\n this.notifyListeners(event)\n })\n }\n onValueBlank(listener) { this.valueBlankEventManager.addListener(listener) }\n onValueValid(listener) { this.valueValidEventManager.addListener(listener) }\n onValueInvalid(listener) { this.valueInvalidEventManager.addListener(listener) }\n\n notifyListeners(event) {\n const currentValue = ( (event ? event.target.value : this.element.value) || \"\").trim()\n if (currentValue === \"\") {\n this.valueBlankEventManager.fireEvent(currentValue)\n }\n else if (this._valueValid(currentValue)) {\n this.valueValidEventManager.fireEvent(currentValue)\n }\n else {\n this.valueInvalidEventManager.fireEvent(currentValue)\n }\n }\n\n _valueValid() { return true }\n}\n\nexport default ValidatedField\n","class AnimatorPreferences {\n constructor() {\n const prefersReducedMotion = window.matchMedia(\"(prefers-reduced-motion)\").matches\n const documentForcingNoAnimations = document.body.dataset.animatorImmediate === \"true\"\n this.immediateAlways = documentForcingNoAnimations || prefersReducedMotion\n }\n}\n\nexport default AnimatorPreferences\n","import Animator from \"../../Animator\"\nimport EventManager from \"../../EventManager\"\nimport WrapsElement from \"../../WrapsElement\"\n\nclass NavBackLink extends WrapsElement {\n constructor(element) {\n super(element)\n this.animator = new Animator(element,{\n duration: 250,\n styles: {\n opacity: {\n from: 0,\n to: 1,\n },\n }\n })\n this.clickEventManager = new EventManager()\n this.shown = false\n this.element.addEventListener(\"click\", (event) => {\n event.preventDefault()\n if (this.shown) {\n this.clickEventManager.fireEvent()\n }\n })\n }\n\n onClick(listener) { this.clickEventManager.addListener(listener) }\n\n show() { this.animator.animateForward().then( () => this.shown = true ) }\n hide() { this.animator.animateBackward().then( () => this.shown = false ) }\n}\n\nexport default NavBackLink\n","import Animator from \"../../Animator\"\nimport WrapsElement from \"../../WrapsElement\"\n\nclass NavLogo extends WrapsElement {\n constructor(element) {\n super(element)\n this.animator = new Animator(element, {\n duration: 500,\n styles: {\n transform: {\n from: \"translateX(0)\",\n to: \"translateX(-200%)\",\n },\n opacity: {\n from: 1,\n to: 0,\n },\n }\n })\n }\n hide() { this.animator.animateForward() }\n show() { this.animator.animateBackward() }\n}\nexport default NavLogo\n","import Animator from \"../../Animator\"\nimport WrapsElement from \"../../WrapsElement\"\nclass SocialProofMobile extends WrapsElement {\n constructor(element) {\n super(element)\n this.animator = new Animator(element, {\n duration: 400,\n styles: {\n transform: {\n from: \"translateX(0)\",\n to: \"translateX(-100%)\",\n },\n opacity: {\n from: 1,\n to: 0,\n },\n }\n })\n }\n slideOut() {\n this.animator.animateForward().then( () => this.element.remove() )\n }\n}\n\nexport default SocialProofMobile\n","import { querySelectorRequired } from \"../../querySelectorRequired\"\nimport Animator from \"../../Animator\"\nimport WrapsElement from \"../../WrapsElement\"\n\nclass DetailsLink extends WrapsElement {\n constructor(element) {\n super(element)\n this.hideAnimator = new Animator(querySelectorRequired(this.element,\"[data-chooser-details-link-text]\"),{\n easing: \"ease-out\",\n duration: 100,\n styles: {\n opacity: { \n from: 1,\n to: 0,\n }\n }\n })\n this.rotateAnimator = new Animator(querySelectorRequired(this.element,\"[data-chooser-details-link-chevron]\"),{\n easing: \"ease-in\",\n styles: {\n transform: { \n from: \"rotate(0)\",\n to: \"rotate(180deg)\",\n }\n }\n })\n }\n showCloseLink() {\n this.rotateAnimator.animateForward().then( () => {\n this.hideAnimator.animateForward()\n })\n }\n showOpenLink() {\n this.hideAnimator.animateBackward().then( () => {\n this.rotateAnimator.animateBackward(200)\n })\n }\n}\n\nexport default DetailsLink\n","require(\"onboarding/organic/welcomePage\")\n","import { querySelectorRequired } from \"../../../querySelectorRequired\"\nimport EventManager from \"../../../EventManager\"\nimport WrapsElement from \"../../../WrapsElement\"\n\nclass Step1Form extends WrapsElement {\n\n set email(newEmail) {\n this.form.email = this._ensureString(newEmail)\n this.emailElement.value = this.form.email\n this._checkValidity()\n }\n set acceptedTerms(newAcceptedTerms) { this.form.accepted_terms = !!newAcceptedTerms ; this._checkValidity() }\n\n constructor(element) {\n super(element)\n this.form = {\n email: \"\",\n accepted_terms: true,\n }\n\n this.emailElement = querySelectorRequired(this.element,\"[name='organic_potential_customer[email]']\")\n this.formValidEventManager = new EventManager()\n this.formInvalidEventManager = new EventManager()\n }\n\n onValid(listener) { this.formValidEventManager.addListener(listener) }\n onInvalid(listener) { this.formInvalidEventManager.addListener(listener) }\n\n submit() {\n this.element.submit()\n }\n\n _checkValidity() {\n const valid = (this.form.email !== \"\") && (this.form.accepted_terms)\n if (valid) {\n this.formValidEventManager.fireEvent()\n }\n else {\n this.formInvalidEventManager.fireEvent()\n }\n }\n\n _ensureString(value) {\n if (value) {\n return new String(value).trim()\n }\n else {\n return \"\"\n }\n }\n}\nexport default Step1Form\n","import { querySelectorRequired } from \"../../../querySelectorRequired\"\nimport EventManager from \"../../../EventManager\"\nimport WrapsElement from \"../../../WrapsElement\"\n\nclass FormForAllData extends WrapsElement {\n\n set email(newEmail) {\n this.form.email = this._ensureString(newEmail)\n this.emailElement.value = this.form.email\n this._checkValidity()\n }\n\n set service(newService) {\n this.form.service_selected = this._ensureString(newService)\n this.serviceSelectedElement.value = this.form.service_selected\n this._checkValidity()\n }\n\n set acceptedTerms(newAcceptedTerms)\n {\n this.form.accepted_terms = !!newAcceptedTerms\n this.acceptedTermsElement.value = this.form.accepted_terms ? \"1\" : \"0\"\n this._checkValidity()\n }\n\n set fullName(newFullName) { this.form.full_name = this._ensureString(newFullName) ; this._checkValidity() }\n set phone(newPhone) { this.form.phone = this._ensureString(newPhone) ; this._checkValidity() }\n set usState(newUsState) { this.form.us_state_id = newUsState ; this._checkValidity() }\n set conditions(newConditions) { this.form.conditions = this._ensureSet(newConditions) ; this._checkValidity() }\n\n constructor(element) {\n super(element)\n this.form = {\n email: \"\",\n full_name: \"\",\n phone: \"\",\n us_state_id: undefined,\n conditions: new Set(),\n accepted_terms: true,\n service_selected: \"first-visit\",\n }\n\n this.emailElement = querySelectorRequired(this.element,\"[name='organic_potential_customer[email]']\")\n this.serviceSelectedElement = querySelectorRequired(this.element,\"input[name='organic_potential_customer[service_selected]']\")\n this.acceptedTermsElement = querySelectorRequired(this.element,\"input[name='organic_potential_customer[accepted_terms]']\")\n this.formValidEventManager = new EventManager()\n this.formInvalidEventManager = new EventManager()\n }\n\n onValid(listener) { this.formValidEventManager.addListener(listener) }\n onInvalid(listener) { this.formInvalidEventManager.addListener(listener) }\n\n submit() {\n this.element.submit()\n }\n\n _checkValidity() {\n const valid = (this.form.email !== \"\") &&\n (this.form.full_name !== \"\") &&\n (this.form.phone !== \"\") &&\n (this.form.us_state_id) &&\n (this.form.service_selected !== \"\") &&\n (this.form.conditions.size > 0) &&\n (this.form.accepted_terms)\n if (valid) {\n this.formValidEventManager.fireEvent()\n }\n else {\n this.formInvalidEventManager.fireEvent()\n }\n }\n\n _ensureString(value) {\n if (value) {\n return new String(value).trim()\n }\n else {\n return \"\"\n }\n }\n\n _ensureSet(set) {\n if (set instanceof Set) {\n return set\n }\n else {\n return new Set(set)\n }\n }\n\n}\nexport default FormForAllData\n","import EventManager from \"../../../EventManager\"\nimport WrapsElement from \"../../../WrapsElement\"\n\nclass UsStateSelector extends WrapsElement {\n constructor(element) {\n super(element)\n\n this.selectedEventManager = new EventManager()\n this.unselectedEventManager = new EventManager()\n\n this.element.addEventListener(\"change\", () => {\n this.notifyListeners()\n })\n }\n onSelected(listener) { this.selectedEventManager.addListener(listener) }\n onUnselected(listener) { this.unselectedEventManager.addListener(listener) }\n\n notifyListeners() { \n if (this.element.value && this.element.value !== \"unselected\") {\n this.selectedEventManager.fireEvent(this.element.value)\n }\n else {\n this.unselectedEventManager.fireEvent()\n }\n }\n}\n\nexport default UsStateSelector\n","import { querySelectorRequired, querySelectorsRequired } from \"../../../querySelectorRequired\"\nimport Animator from \"../../../Animator\"\nimport AnimatorPreferences from \"../../../AnimatorPreferences\"\nimport EventManager from \"../../../EventManager\"\nimport WrapsElement from \"../../../WrapsElement\"\nimport HeapEventProxy from \"../../../HeapEventProxy\"\n\nimport Condition from \"../../welcomePageConditions/Condition\"\nimport ConditionsSelectorMobile from \"../../welcomePageConditions/ConditionsSelectorMobile\"\nimport ConditionsSelector from \"../../welcomePageConditions/ConditionsSelector\"\nimport ConditionsSelectorArrow from \"../../welcomePageConditions/ConditionsSelectorArrow\"\nimport ConditionsCheckboxes from \"../../welcomePageConditions/ConditionsCheckboxes\"\nimport ConditionsSelectorLabel from \"../../welcomePageConditions/ConditionsSelectorLabel\"\n\nimport { removeCss, addCss } from \"../../welcomePage/addRemoveCssClasses\"\nimport DetailsLink from \"../../welcomePage/DetailsLink\"\nimport EmailField from \"../../welcomePage/EmailField\"\nimport FullNameField from \"../../welcomePage/FullNameField\"\nimport NavBackLink from \"../../welcomePage/NavBackLink\"\nimport NavLogo from \"../../welcomePage/NavLogo\"\nimport NextButton from \"../../welcomePage/NextButton\"\nimport PhoneNumberField from \"../../welcomePage/PhoneNumberField\"\nimport SocialProofMobile from \"../../welcomePage/SocialProofMobile\"\nimport Step1 from \"../../welcomePage/Step1\"\nimport Step2 from \"../../welcomePage/Step2\"\nimport TermsCheckbox from \"../../welcomePage/TermsCheckbox\"\nimport Welcome from \"../../welcomePage/Welcome\"\n\nimport Step1Form from \"./Step1Form\"\nimport FormForAllData from \"./FormForAllData\"\nimport UsStateSelector from \"./UsStateSelector\"\n\n\nconst setupConditionsSelector = () => {\n const conditionsSelector = new ConditionsSelector(querySelectorRequired(document,\"[data-conditions-select]\"))\n const conditionsSelectorArrow = new ConditionsSelectorArrow(querySelectorRequired(document,\"[data-conditions-select-arrow]\"))\n const conditionsCheckboxes = new ConditionsCheckboxes(querySelectorRequired(document, \"[data-conditions-checkboxes]\"))\n const conditionsSelectorLabel = new ConditionsSelectorLabel(\n querySelectorRequired(document, \"[data-conditions-selected-nothing]\"),\n querySelectorRequired(document, \"[data-conditions-selected-something]\")\n )\n conditionsSelector.onOpened( () => { conditionsCheckboxes.show(); conditionsCheckboxes.raise() } )\n conditionsSelector.onOpened( () => { conditionsSelectorArrow.pointUp() })\n\n conditionsSelector.onClosed( () => { conditionsCheckboxes.hide(); conditionsCheckboxes.lower() } )\n conditionsSelector.onClosed( () => { conditionsSelectorArrow.pointDown() })\n\n conditionsCheckboxes.onSelected( (conditionsSelected) => conditionsSelectorLabel.showSomethingSelected(conditionsSelected) )\n conditionsCheckboxes.onSelected( (conditionsSelected) => {\n if (conditionsSelected.size == 1) {\n const conditionSelected = Array.from(conditionsSelected.values())[0]\n if (conditionSelected.isNone) {\n conditionsSelector.close()\n }\n }\n })\n conditionsCheckboxes.onCleared( () => conditionsSelectorLabel.showNothingSelected() )\n\n return conditionsCheckboxes\n}\n\n\nconst setupDesktop = () => {\n const welcomeElement = querySelectorRequired(document, \"[data-step-container-desktop]\")\n\n const welcomeComponent = new Welcome(welcomeElement)\n const step1 = new Step1(querySelectorRequired(welcomeElement, \"[data-step1]\"))\n const emailField = new EmailField(querySelectorRequired(welcomeElement,\"#desktop_email\"))\n const termsCheckbox = new TermsCheckbox(querySelectorRequired(welcomeElement,\"#desktop_accepted_terms\"))\n const nextButton = new NextButton(querySelectorRequired(welcomeElement, \"[data-next-step]\"))\n const step1Form = new Step1Form(querySelectorRequired(welcomeElement,\"[data-step1-form]\"))\n const step2 = new Step2(querySelectorRequired(welcomeElement, \"[data-step2]\"))\n\n const fullNameField = new FullNameField(querySelectorRequired(welcomeElement,\"#desktop_full_name\"))\n const phoneField = new PhoneNumberField(querySelectorRequired(welcomeElement,\"#desktop_phone\"))\n const bookButton = new NextButton(querySelectorRequired(welcomeElement,\"[data-book-button]\"))\n const usStateSelector = new UsStateSelector(querySelectorRequired(welcomeElement,\"#desktop_us_state_id\"))\n const whatIsMoodLink = querySelectorRequired(welcomeElement, \"[data-what-is-mood-link]\")\n const form = new FormForAllData(querySelectorRequired(welcomeElement,\"[data-form='desktop']\"))\n const heapEventProxy = new HeapEventProxy(document,window)\n\n let conditionsCheckboxes\n\n const setupStep2 = () => {\n conditionsCheckboxes = setupConditionsSelector()\n\n conditionsCheckboxes.onSelected( (conditionsSelected) => {\n form.conditions = new Set(conditionsSelected)\n })\n conditionsCheckboxes.onCleared( () => {\n form.conditions = new Set()\n })\n emailField.notifyListeners()\n fullNameField.notifyListeners()\n phoneField.notifyListeners()\n termsCheckbox.notifyListeners()\n usStateSelector.notifyListeners()\n conditionsCheckboxes.notifyListeners()\n addCss(whatIsMoodLink,\"dn\")\n removeCss(whatIsMoodLink,\"db db-ns db-m db-l\")\n welcomeElement.dataset.step2FullyShown = true\n heapEventProxy.track(\"view_organic_demographics\")\n }\n\n nextButton.disableImmediately()\n bookButton.disableImmediately()\n\n welcomeComponent.onStep2Shown( (speed) => step1.slideUpAndOut(speed) )\n welcomeComponent.onStep2Shown( (speed) => step2.slideUpAndIn(speed) )\n welcomeComponent.onStep2Shown( () => setupStep2() )\n\n nextButton.onClick( () => welcomeComponent.showStep2() )\n\n emailField.onValueValid( (newValue) => step1Form.email = newValue )\n emailField.onValueBlank( () => step1Form.email = undefined )\n termsCheckbox.onChecked( () => step1Form.acceptedTerms = true )\n termsCheckbox.onUnchecked( () => step1Form.acceptedTerms = false )\n step1Form.onValid( () => nextButton.enable())\n step1Form.onInvalid( () => nextButton.disable())\n\n emailField.onValueValid( (newValue) => form.email = newValue)\n fullNameField.onValueValid( (newValue) => form.fullName = newValue)\n phoneField.onValueValid( (newValue) => form.phone = newValue)\n termsCheckbox.onChecked( () => form.acceptedTerms = true )\n termsCheckbox.onUnchecked( () => form.acceptedTerms = false )\n usStateSelector.onSelected( (usStateId) => form.usState = usStateId )\n usStateSelector.onUnselected( () => form.usState = undefined )\n\n form.onValid( () => bookButton.enable())\n form.onInvalid( () => bookButton.disable())\n bookButton.onClick( () => form.submit() )\n\n\n if (document.querySelectorAll(\"[data-show-step2-initially]\").length > 0) {\n setupStep2()\n welcomeComponent.step = 2\n }\n}\n\nconst setupMobile = () => {\n const welcomeElement = querySelectorRequired(document, \"[data-step-container-mobile]\")\n\n const welcomeComponent = new Welcome(welcomeElement)\n const step1 = new Step1(querySelectorRequired(welcomeElement, \"[data-step1]\"))\n const emailField = new EmailField(querySelectorRequired(welcomeElement,\"#mobile_email\"))\n const nextButton = new NextButton(querySelectorRequired(welcomeElement, \"[data-next-step]\"))\n const step1Form = new Step1Form(querySelectorRequired(welcomeElement,\"[data-step1-form]\"))\n const step2 = new Step2(querySelectorRequired(welcomeElement, \"[data-step2]\"))\n\n const fullNameField = new FullNameField(querySelectorRequired(welcomeElement,\"#mobile_full_name\"))\n const phoneField = new PhoneNumberField(querySelectorRequired(welcomeElement,\"#mobile_phone\"))\n const bookButton = new NextButton(querySelectorRequired(welcomeElement,\"[data-book-button]\"))\n const conditionsSelector = new ConditionsSelectorMobile(querySelectorRequired(welcomeElement,\"[data-conditions-mobile-select]\"))\n const usStateSelector = new UsStateSelector(querySelectorRequired(welcomeElement,\"#mobile_us_state_id\"))\n const termsCheckbox = new TermsCheckbox(querySelectorRequired(welcomeElement,\"#mobile_accepted_terms\"))\n const form = new FormForAllData(querySelectorRequired(welcomeElement,\"[data-form='mobile']\"))\n const socialProof = new SocialProofMobile(querySelectorRequired(document, \"[data-mobile-social-proof]\"))\n const logoNavLogo = new NavLogo(querySelectorRequired(document, \"[data-mood-logo-nav-logo]\"))\n const logoNavBackLink = new NavBackLink(querySelectorRequired(document, \"[data-mood-logo-nav-back]\"))\n const heapEventProxy = new HeapEventProxy(document,window)\n\n const setupStep2 = () => {\n\n\n conditionsSelector.onSelected( (conditionsSelected) => {\n form.conditions = conditionsSelected\n })\n\n conditionsSelector.onCleared( () => {\n form.conditions = new Set()\n })\n\n\n emailField.notifyListeners()\n fullNameField.notifyListeners()\n phoneField.notifyListeners()\n usStateSelector.notifyListeners()\n termsCheckbox.notifyListeners()\n welcomeElement.dataset.step2FullyShown = true\n heapEventProxy.track(\"view_organic_demographics\")\n }\n\n nextButton.disableImmediately()\n bookButton.disableImmediately()\n\n welcomeComponent.onStep2Shown( (speed) => step1.slideUpAndOut(speed) )\n welcomeComponent.onStep2Shown( (speed) => step2.slideUpAndIn(speed) )\n welcomeComponent.onStep2Shown( () => setupStep2() )\n welcomeComponent.onStep2Shown( () => socialProof.slideOut() )\n\n\n nextButton.onClick( () => welcomeComponent.showStep2() )\n\n emailField.onValueValid( (newValue) => step1Form.email = newValue )\n emailField.onValueBlank( () => step1Form.email = undefined )\n termsCheckbox.onChecked( () => step1Form.acceptedTerms = true )\n termsCheckbox.onUnchecked( () => step1Form.acceptedTerms = false )\n step1Form.onValid( () => nextButton.enable())\n step1Form.onInvalid( () => nextButton.disable())\n\n emailField.onValueValid( (newValue) => form.email = newValue)\n fullNameField.onValueValid( (newValue) => form.fullName = newValue)\n phoneField.onValueValid( (newValue) => form.phone = newValue)\n termsCheckbox.onChecked( () => form.acceptedTerms = true )\n termsCheckbox.onUnchecked( () => form.acceptedTerms = false )\n usStateSelector.onSelected( (usStateId) => form.usState = usStateId )\n usStateSelector.onUnselected( () => form.usState = undefined )\n\n form.onValid( () => bookButton.enable())\n form.onInvalid( () => bookButton.disable())\n bookButton.onClick( () => form.submit() )\n\n if (document.querySelectorAll(\"[data-show-step2-initially]\").length > 0) {\n setupStep2()\n welcomeComponent.step = 2\n }\n}\n\ndocument.addEventListener(\"DOMContentLoaded\", () => {\n setupDesktop()\n setupMobile()\n})\n"],"sourceRoot":""}