{"version":3,"file":"mobile.base.newsletter.js","mappings":"yBAAA,EACA,EAGMA,E,8FCJN,M,wbAAA,W,ozCAKgC,SAACC,GAAU,MAKrCA,EAHFC,cAAAA,OAFuC,WAKrCD,EAFFE,iBAAAA,OAHuC,MAFzC,2DAEyC,IAKrCF,EADFG,uBAAAA,OAJuC,MAId,SAJc,OAML,EAAAC,EAAAA,UAAS,IANJ,GAMlCC,EANkC,KAMtBC,EANsB,UAOD,EAAAF,EAAAA,WAAS,GAPR,GAOlCG,EAPkC,KAOpBC,EAPoB,UAQH,EAAAJ,EAAAA,UAAS,MARN,GAQlCK,EARkC,KAQrBC,EARqB,UASP,EAAAN,EAAAA,WAAS,GATF,GASlCO,EATkC,KASvBC,EATuB,KAWnCC,EAAY,CAChB,mBAAoB,GAApB,OAAuBF,EAAY,UAAY,QAA/C,aAEEG,EAAgBC,SAASC,eAAe,wBAE5C,EAAAC,EAAAA,YAAU,WACJV,IAAiBI,IACnBE,EAAU,iBAAkB,EAE/B,GAAE,CAACN,EAAcI,IAElB,IAAMO,EAAqB,SAACC,GAA8B,IAArBR,IAAqB,yDACxDS,QAAQC,IAAI,UAAWF,GACvBT,EAAeS,GACfP,EAAaD,GACbH,GAAgB,GAChBc,MAAMC,YAAYT,EAAe,SAClC,EAgCD,OACE,gCAAMU,UAAU,aAAaC,SA/Bb,SAASC,GACzBA,EAAEC,iBAEF,IAAMC,EAAO,CACXC,WAAYxB,EACZyB,iBAAkB,eAGpBC,EAAEC,KAAK,CACLC,IAAK,mBACLC,SAAU,OACVC,KAAM,OACNC,QAAS,IACTR,KAAMA,EACNS,QAAS,SAAST,GAChBV,EAAmBU,EAAKT,QACzB,EACDmB,MAAO,SAASC,EAAKC,EAAYC,GAC/BvB,EAAmBqB,EAAIG,aAAavB,SAAS,EAC9C,GAEJ,GAWG,8BACEwB,GAAG,oBACHnB,UAAU,oBACVoB,KAAK,gBAEL,8BAAIpB,UAAU,4BAA4BmB,GAAG,qBAC1CzC,GAEH,8BAAIsB,UAAU,oBACZ,6BAAGA,UAAU,kBAAkBmB,GAAG,eAAlC,4BAGA,mCACE,aAAW,eACXnB,UAAU,yBACVW,KAAK,OACLQ,GAAG,QACHE,YAAY,2BACZ,kBAAgB,gCAChBC,SA5BgB,SAACpB,GACzBlB,GAAgB,GAChBE,EAAe,IACfJ,EAAcoB,EAAEqB,OAAOC,OACvB1B,MAAM2B,SAASnC,EAAe,SAC/B,EAwBSkC,MAAO3C,GACHQ,IAEN,kCACEsB,KAAK,SACL,aAAW,gBACXX,UAAS,UACPvB,EAAgB,QAAU,GADnB,sCAGT0C,GAAG,YACHO,UAAW7C,GAEVF,IAGL,8BAAIwC,GAAG,sBAAsBnB,UAAU,8BACrC,gCACEmB,GAAE,UAAKhC,EAAY,UAAY,QAA7B,YACFa,UAAS,UAAKb,EAAY,UAAY,QAA7B,YACTiC,KAAK,SACL,YAAU,SACV,gBAAc,aAEbnC,KAMZ,C,YCpHD0C,EAAOC,QAAU9B,MAAM8B,QAAQC,K,YCA/BF,EAAOC,QAAU9B,MAAM8B,QAAQE,Q,GCC3BC,EAA2B,CAAC,EAGhC,SAASC,EAAoBC,GAE5B,IAAIC,EAAeH,EAAyBE,GAC5C,QAAqBE,IAAjBD,EACH,OAAOA,EAAaN,QAGrB,IAAID,EAASI,EAAyBE,GAAY,CAGjDL,QAAS,CAAC,GAOX,OAHAQ,EAAoBH,GAAUN,EAAQA,EAAOC,QAASI,GAG/CL,EAAOC,OACf,CJtBA,G,EAAA,W,2BACA,YAGMrD,EAAOgB,SAASC,eAAe,4BAEnCsC,EAAAA,QAASO,OACP,oBAAC,EAAAC,iBAAD,CACE7D,eAAgB8D,OAAOC,eACvB7D,uBAAwB,YACxBD,iBAPmB,uDASrBH,E","sources":["webpack://evite/./assets/js/footer/newsletter_signup.js","webpack://evite/./assets/js/ViewInvitationReinvention/common/Footer/NewsletterSignup.js","webpack://evite/external var \"evite.exports.React\"","webpack://evite/external var \"evite.exports.ReactDom\"","webpack://evite/webpack/bootstrap"],"sourcesContent":["import ReactDom from 'react-dom';\nimport {NewsletterSignup} from '~/ViewInvitationReinvention/common/Footer/NewsletterSignup';\n\nconst subscribeMessage = 'Join the party by signing up for our mailing list:';\nconst root = document.getElementById('newsletter-signup-root');\nif (root) {\n  ReactDom.render(\n    <NewsletterSignup\n      isSmallButton={!window.is_mobile_site}\n      subscribeButtonMessage={'Subscribe'}\n      subscribeMessage={subscribeMessage}\n    />,\n    root\n  );\n}\n","import React, {useState, useEffect} from 'react';\n\nconst defaultSubscribeMessage =\n  'Join our email list for party tips, updates, and offers.';\n\nexport const NewsletterSignup = (props) => {\n  const {\n    isSmallButton = false,\n    subscribeMessage = defaultSubscribeMessage,\n    subscribeButtonMessage = 'Submit',\n  } = props;\n  const [inputValue, setInputValue] = useState('');\n  const [showFeedback, setShowFeedback] = useState(false);\n  const [messageText, setMessageText] = useState(null);\n  const [isSuccess, setIsSuccess] = useState(false);\n\n  const ariaProps = {\n    'aria-describedby': `${isSuccess ? 'success' : 'error'}_message`,\n  };\n  let feedbackBlock = document.getElementById('newsletter-feedback');\n\n  useEffect(() => {\n    if (showFeedback && !isSuccess) {\n      ariaProps['aria-invalid'] = true;\n    }\n  }, [showFeedback, isSuccess]);\n\n  const handleAjaxResponse = (message, isSuccess = true) => {\n    console.log('message', message);\n    setMessageText(message);\n    setIsSuccess(isSuccess);\n    setShowFeedback(true);\n    evite.removeClass(feedbackBlock, 'hidden');\n  };\n\n  const subscribe = function(e) {\n    e.preventDefault();\n\n    const data = {\n      email_addr: inputValue,\n      marketing_source: 'site_footer',\n    };\n\n    $.ajax({\n      url: '/ajax/subscribe/',\n      dataType: 'json',\n      type: 'POST',\n      timeout: 10000,\n      data: data,\n      success: function(data) {\n        handleAjaxResponse(data.message);\n      },\n      error: function(xhr, textStatus, errorThrown) {\n        handleAjaxResponse(xhr.responseJSON.message, false);\n      },\n    });\n  };\n\n  const handleInputChange = (e) => {\n    setShowFeedback(false);\n    setMessageText('');\n    setInputValue(e.target.value);\n    evite.addClass(feedbackBlock, 'hidden');\n  };\n\n  return (\n    <form className=\"evite-form\" onSubmit={subscribe}>\n      <ul\n        id=\"newsletter-signup\"\n        className=\"newsletter-signup\"\n        role=\"presentation\"\n      >\n        <li className=\"font_28 subscribe-message\" id=\"subscribe_message\">\n          {subscribeMessage}\n        </li>\n        <li className=\"newsletter-email\">\n          <p className=\"visually-hidden\" id=\"enter_email\">\n            Enter your email address\n          </p>\n          <input\n            data-qa-id=\"footer_email\"\n            className=\"newsletter-email-input\"\n            type=\"text\"\n            id=\"email\"\n            placeholder=\"Enter your email address\"\n            aria-labelledby=\"subscribe_message enter_email\"\n            onChange={handleInputChange}\n            value={inputValue}\n            {...ariaProps}\n          />\n          <button\n            type=\"submit\"\n            data-qa-id=\"footer_submit\"\n            className={`${\n              isSmallButton ? 'small' : ''\n            } secondary-button button secondary`}\n            id=\"subscribe\"\n            disabled={!inputValue}\n          >\n            {subscribeButtonMessage}\n          </button>\n        </li>\n        <li id=\"newsletter-feedback\" className=\"newsletter-feedback hidden\">\n          <span\n            id={`${isSuccess ? 'success' : 'error'}_message`}\n            className={`${isSuccess ? 'success' : 'error'}-message`}\n            role=\"region\"\n            aria-live=\"polite\"\n            aria-relevant=\"additions\"\n          >\n            {messageText}\n          </span>\n        </li>\n      </ul>\n    </form>\n  );\n};\n","module.exports = evite.exports.React;","module.exports = evite.exports.ReactDom;","// The module cache\nvar __webpack_module_cache__ = {};\n\n// The require function\nfunction __webpack_require__(moduleId) {\n\t// Check if module is in cache\n\tvar cachedModule = __webpack_module_cache__[moduleId];\n\tif (cachedModule !== undefined) {\n\t\treturn cachedModule.exports;\n\t}\n\t// Create a new module (and put it into the cache)\n\tvar module = __webpack_module_cache__[moduleId] = {\n\t\t// no module.id needed\n\t\t// no module.loaded needed\n\t\texports: {}\n\t};\n\n\t// Execute the module function\n\t__webpack_modules__[moduleId](module, module.exports, __webpack_require__);\n\n\t// Return the exports of the module\n\treturn module.exports;\n}\n\n"],"names":["root","props","isSmallButton","subscribeMessage","subscribeButtonMessage","useState","inputValue","setInputValue","showFeedback","setShowFeedback","messageText","setMessageText","isSuccess","setIsSuccess","ariaProps","feedbackBlock","document","getElementById","useEffect","handleAjaxResponse","message","console","log","evite","removeClass","className","onSubmit","e","preventDefault","data","email_addr","marketing_source","$","ajax","url","dataType","type","timeout","success","error","xhr","textStatus","errorThrown","responseJSON","id","role","placeholder","onChange","target","value","addClass","disabled","module","exports","React","ReactDom","__webpack_module_cache__","__webpack_require__","moduleId","cachedModule","undefined","__webpack_modules__","render","NewsletterSignup","window","is_mobile_site"],"sourceRoot":""}