{"version":3,"file":"js/user-sign-in-page-1a7d53146ee5c5a185d9.chunk.js","mappings":"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","sources":["webpack://agra/./node_modules/lodash/kebabCase.js","webpack://agra/./node_modules/vue-loader/dist/exportHelper.js","webpack://agra/./app/javascript/components/buttons/submit-button.vue","webpack://agra/./app/javascript/components/buttons/submit-button.vue?ffe8","webpack://agra/./app/javascript/components/inputs/authenticity-token-field.vue","webpack://agra/./app/javascript/components/inputs/authenticity-token-field.vue?6a8d","webpack://agra/./app/javascript/components/modal.vue","webpack://agra/./app/javascript/components/modal.vue?daec","webpack://agra/./app/javascript/users/facebook-sign-in.vue","webpack://agra/./app/javascript/users/facebook-sign-in.vue?95ae","webpack://agra/./app/javascript/users/google-sign-in.vue","webpack://agra/./app/javascript/users/google-sign-in.vue?7bc3","webpack://agra/./app/javascript/users/sign-in-page.vue","webpack://agra/./app/javascript/users/sign-in-page.vue?8ae9"],"sourcesContent":["var createCompounder = require('./_createCompounder');\n\n/**\n * Converts `string` to\n * [kebab case](https://en.wikipedia.org/wiki/Letter_case#Special_case_styles).\n *\n * @static\n * @memberOf _\n * @since 3.0.0\n * @category String\n * @param {string} [string=''] The string to convert.\n * @returns {string} Returns the kebab cased string.\n * @example\n *\n * _.kebabCase('Foo Bar');\n * // => 'foo-bar'\n *\n * _.kebabCase('fooBar');\n * // => 'foo-bar'\n *\n * _.kebabCase('__FOO_BAR__');\n * // => 'foo-bar'\n */\nvar kebabCase = createCompounder(function(result, word, index) {\n return result + (index ? '-' : '') + word.toLowerCase();\n});\n\nmodule.exports = kebabCase;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\n// runtime helper for setting properties on components\n// in a tree-shakable way\nexports.default = (sfc, props) => {\n const target = sfc.__vccOpts || sfc;\n for (const [key, val] of props) {\n target[key] = val;\n }\n return target;\n};\n","<template>\n <button ref=\"button\" type=\"submit\"\n :disabled=\"buttonDisabled\"\n class=\"btn btn-primary\"\n @click.prevent=\"$emit('click', $event)\">\n <!-- Q: Why set type=submit if we're going to prevent the default behavior of submitting the form?\n A: Having a submit button at all changes the form behavior by enabling \"Enter to submit\" on text fields -->\n {{ buttonText }}\n </button>\n</template>\n\n<script>\nimport { inject } from 'vue'\nimport PrimaryButton from './primary-button'\n\nexport default {\n extends: PrimaryButton,\n\n props: {\n formValid: {\n type: Boolean,\n required: false,\n default: true\n },\n\n submitInProgress: {\n type: Boolean,\n required: false,\n default: false\n },\n\n submittingLabel: {\n type: String,\n required: false,\n default: function() { return inject('i18n').t('submitting') }\n }\n },\n\n emits: ['click'],\n\n computed: {\n buttonDisabled() {\n return !this.formValid || this.submitInProgress\n },\n\n buttonText() {\n if (this.submitInProgress) {\n return this.submittingLabel\n } else {\n return this.label\n }\n }\n },\n\n methods: {\n click() {\n this.$refs.button.click()\n },\n\n focus() {\n this.$refs.button.focus()\n }\n }\n}\n</script>\n","import { render } from \"./submit-button.vue?vue&type=template&id=4ae84733\"\nimport script from \"./submit-button.vue?vue&type=script&lang=js\"\nexport * from \"./submit-button.vue?vue&type=script&lang=js\"\n\nimport exportComponent from \"../../../../node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render]])\n\nexport default __exports__","<template>\n <input type=\"hidden\" name=\"authenticity_token\" :value=\"csrfToken\">\n</template>\n\n<script>\nexport default {\n data() {\n return {\n csrfToken: null\n }\n },\n\n mounted() {\n const tokenElement = document.querySelector('meta[name=\"csrf-token\"]')\n if (tokenElement) {\n this.csrfToken = tokenElement.getAttribute('content')\n }\n }\n}\n</script>\n","import { render } from \"./authenticity-token-field.vue?vue&type=template&id=51a10cfc\"\nimport script from \"./authenticity-token-field.vue?vue&type=script&lang=js\"\nexport * from \"./authenticity-token-field.vue?vue&type=script&lang=js\"\n\nimport exportComponent from \"../../../../node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render]])\n\nexport default __exports__","<template>\n <div :id=\"modalId\" ref=\"root\" tabindex=\"-1\" role=\"dialog\" class=\"modal fade\">\n <div class=\"modal-dialog\" :class=\"modalSizeClass\" role=\"document\">\n <div class=\"modal-content\">\n <div v-if=\"!headerless\" class=\"modal-header\">\n <slot name=\"header\">\n <h4 v-if=\"title\" class=\"modal-title mt-0\">\n <slot name=\"title\">\n {{ title }}\n </slot>\n </h4>\n <button type=\"button\" class=\"btn-close\" :aria-label=\"i18n.t('close')\" @click=\"close\" />\n </slot>\n </div>\n <div class=\"sub-heading\">\n <slot name=\"sub-heading\" />\n </div>\n <div class=\"modal-body\" :class=\"{'paddingless-body': paddinglessBody}\">\n <slot name=\"body\" />\n </div>\n <div v-if=\"hasFooterSlot\" class=\"modal-footer\">\n <slot name=\"footer\" />\n </div>\n </div>\n </div>\n\n <slot name=\"outer-navigation\" />\n </div>\n</template>\n\n<script>\nimport { Modal } from 'bootstrap'\n\nexport default {\n props: {\n modalId: {\n type: String,\n required: true\n },\n title: {\n type: String,\n required: false\n },\n showOnMount: {\n type: Boolean,\n required: false,\n default: false\n },\n size: {\n type: String,\n required: false,\n default: 'lg'\n },\n clickOutsideToClose: {\n type: Boolean,\n required: false,\n default: true\n },\n headerless: {\n type: Boolean,\n required: false,\n default: false\n },\n paddinglessBody: {\n type: Boolean,\n required: false,\n default: false\n }\n },\n\n emits: ['visibility-changed'],\n\n data() {\n return {\n bootstrapModal: null,\n transitionInProgress: false,\n visibility: 'hidden'\n }\n },\n\n computed: {\n backdropSetting() {\n if (this.clickOutsideToClose) {\n return true\n } else {\n return 'static'\n }\n },\n\n hasFooterSlot() {\n return Object.keys(this.$slots).includes('footer')\n },\n\n modalSizeClass() {\n return `modal-${this.size}`\n }\n },\n\n watch: {\n clickOutsideToClose: function() {\n // Update the settings on the live Bootstrap modal to change whether clicks on the backdrop close the modal.\n // This relies on an undocumented internal data structure, and will need to be updated at our next major version\n // upgrade of bootstrap. Unfortunately, there is no supported API for changing this attribute of an already-open\n // modal.\n this.bootstrapModal._config.backdrop = this.backdropSetting\n }\n },\n\n mounted() {\n const vm = this\n const rootElement = this.$refs.root\n\n rootElement.addEventListener('hidden.bs.modal', function () {\n vm.transitionInProgress = false\n vm.visibility = 'hidden'\n vm.$emit('visibility-changed', 'hidden')\n })\n\n rootElement.addEventListener('shown.bs.modal', function () {\n vm.transitionInProgress = false\n vm.visibility = 'shown'\n vm.$emit('visibility-changed', 'shown')\n })\n\n this.bootstrapModal = Modal.getOrCreateInstance(this.$refs.root, {backdrop: this.backdropSetting})\n if (this.showOnMount) {\n this.open()\n }\n },\n\n beforeUnmount() {\n if (this.visibility === 'shown') {\n // When a bootstrap modal opens, it adds `overflow: hidden` and `padding-right: 0px` to the body.\n // Closing the modal normally removes those, but if we open another modal right away, a timing issue\n // can prevent these styles from clearing when we close the second modal; this then\n // prevents the page from scrolling. To avoid this issue, clear the body style ourselves.\n document.body.attributeStyleMap.delete('overflow')\n document.body.attributeStyleMap.delete('padding-right')\n }\n\n // If we call dispose() while there is a hide-modal transition in progress, then the callback at the end of the\n // transition will not be able to complete properly, causing a JS console error.\n if (!this.transitionInProgress) {\n this.bootstrapModal.dispose()\n }\n },\n\n methods: {\n close() {\n this.transitionInProgress = true\n this.bootstrapModal.hide()\n },\n\n open() {\n this.transitionInProgress = true\n this.bootstrapModal.show()\n }\n }\n\n}\n</script>\n\n<style lang=\"scss\" scoped>\n .paddingless-body {\n padding-left: 0;\n padding-right: 0;\n }\n</style>\n\n","import { render } from \"./modal.vue?vue&type=template&id=149afa11&scoped=true\"\nimport script from \"./modal.vue?vue&type=script&lang=js\"\nexport * from \"./modal.vue?vue&type=script&lang=js\"\n\nimport \"./modal.vue?vue&type=style&index=0&id=149afa11&lang=scss&scoped=true\"\n\nimport exportComponent from \"../../../node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__scopeId',\"data-v-149afa11\"]])\n\nexport default __exports__","<template>\n <form :action=\"loginUrl\" method=\"post\" class=\"d-grid\">\n <authenticity-token-field />\n <button type=\"submit\" class=\"btn\">\n <img src=\"../images/icons/facebook.svg\">\n <span>{{ i18n.t('users.shared.facebook_login.log_in_with_facebook') }}</span>\n </button>\n </form>\n</template>\n\n<script>\nimport AuthenticityTokenField from '../components/inputs/authenticity-token-field'\n\nexport default {\n components: { AuthenticityTokenField },\n\n props: {\n loginUrl: {\n type: String,\n required: true\n }\n }\n}\n</script>\n\n<style lang=\"scss\" scoped>\n$facebook-blue: #1977f2;\n\nbutton {\n background-color: $facebook-blue;\n color: white;\n border-color: $facebook-blue;\n text-transform: none;\n height: 50px;\n font-size: 16px;\n font-weight: 500;\n\n &:hover, &:active, &:focus {\n color: white !important;\n background-color: $facebook-blue !important;\n }\n}\n\nimg {\n height: 20px;\n padding-right: 16px;\n margin-top: -4px; // center icon with text\n}\n</style>\n","import { render } from \"./facebook-sign-in.vue?vue&type=template&id=20b6af62&scoped=true\"\nimport script from \"./facebook-sign-in.vue?vue&type=script&lang=js\"\nexport * from \"./facebook-sign-in.vue?vue&type=script&lang=js\"\n\nimport \"./facebook-sign-in.vue?vue&type=style&index=0&id=20b6af62&lang=scss&scoped=true\"\n\nimport exportComponent from \"../../../node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__scopeId',\"data-v-20b6af62\"]])\n\nexport default __exports__","<template>\n <form :action=\"loginUrl\" method=\"post\" class=\"d-grid\">\n <authenticity-token-field />\n <button type=\"submit\" class=\"btn btn-light\">\n <img src=\"../images/icons/google-sign-in.svg\">\n <span>{{ i18n.t('users.shared.google_login.sign_in_with_google') }}</span>\n </button>\n </form>\n</template>\n\n<script>\nimport AuthenticityTokenField from '../components/inputs/authenticity-token-field'\n\nexport default {\n components: { AuthenticityTokenField },\n\n props: {\n loginUrl: {\n type: String,\n required: true\n }\n }\n}\n</script>\n\n<style lang=\"scss\" scoped>\nbutton {\n text-transform: none;\n height: 50px;\n font-size: 16px;\n font-weight: 500;\n}\n\nimg {\n height: 20px;\n padding-right: 16px;\n margin-top: -2px; // center icon with text\n}\n</style>\n","import { render } from \"./google-sign-in.vue?vue&type=template&id=287396a8&scoped=true\"\nimport script from \"./google-sign-in.vue?vue&type=script&lang=js\"\nexport * from \"./google-sign-in.vue?vue&type=script&lang=js\"\n\nimport \"./google-sign-in.vue?vue&type=style&index=0&id=287396a8&lang=scss&scoped=true\"\n\nimport exportComponent from \"../../../node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__scopeId',\"data-v-287396a8\"]])\n\nexport default __exports__","<template>\n <div class=\"row\">\n <div class=\"col-md-8 offset-md-2 bg-light\">\n <div v-if=\"enableFacebookLogin || enableGoogleLogin\" class=\"row pt-4\">\n <div class=\"col-md-8 offset-md-2 px-3\">\n <facebook-sign-in v-if=\"enableFacebookLogin\" :login-url=\"facebookLoginUrl\" class=\"mb-3\" />\n <google-sign-in v-if=\"enableGoogleLogin\" :login-url=\"googleLoginUrl\" class=\"mb-3\" />\n </div>\n </div>\n\n <sign-in-form :enable-forgot-password=\"enableForgotPassword\"\n :forgot-password-url=\"forgotPasswordUrl\" :organisation-id=\"organisationId\" :sign-in-path=\"signInPath\"\n :submit-button-text=\"signInButtonText\" class=\"px-3 px-md-4\"\n @authenticity-token-updated=\"authenticityTokenUpdated\"\n @authenticated=\"authenticated\" @mfa-setup-required=\"mfaSetupRequired\" @mfa-token-required=\"mfaTokenRequired\"\n @missing-info-required=\"missingInfoRequired\" />\n\n <verify-mfa-token-modal v-if=\"showMfaTokenModal\" v-bind=\"mfaTokenModalProps\"\n @authenticity-token-updated=\"authenticityTokenUpdated\"\n @authenticated=\"authenticated\" @missing-info-required=\"missingInfoRequired\" />\n <missing-info-modal v-if=\"showMissingInfoModal\" v-bind=\"missingInfoModalProps\" @completed=\"missingInfoCompleted\" />\n </div>\n </div>\n</template>\n\n<script>\nimport FacebookSignIn from './facebook-sign-in'\nimport GoogleSignIn from './google-sign-in'\nimport { inject } from 'vue'\nimport MissingInfoModal from './missing-info-modal'\nimport SignInForm from './sign-in-form'\nimport VerifyMfaTokenModal from './verify-mfa-token-modal'\n\nconst DEFAULT_FORGOT_PASSWORD_URL = '/users/password/new'\nconst DEFAULT_SIGN_IN_PATH = '/users/sign_in'\n\nexport default {\n components: { FacebookSignIn, GoogleSignIn, MissingInfoModal, SignInForm, VerifyMfaTokenModal },\n\n props: {\n enableFacebookLogin: {\n type: Boolean,\n required: false,\n default: false\n },\n\n enableForgotPassword: {\n type: Boolean,\n required: false,\n default: true\n },\n\n enableGoogleLogin: {\n type: Boolean,\n required: false,\n default: false\n },\n\n facebookLoginUrl: {\n type: String,\n required: false\n },\n\n forgotPasswordUrl: {\n type: String,\n required: false,\n default: DEFAULT_FORGOT_PASSWORD_URL\n },\n\n googleLoginUrl: {\n type: String,\n required: false\n },\n\n organisationId: {\n type: Number,\n required: true\n },\n\n signInButtonText: {\n type: String,\n required: false,\n default: function() { return inject('i18n').t('member.account.authentication_modal.sign_in_submit') }\n },\n\n signInPath: {\n type: String,\n required: false,\n default: DEFAULT_SIGN_IN_PATH\n }\n },\n\n data() {\n return {\n mfaTokenModalProps: {\n statusCheckPath: null,\n supportsRecoveryCodes: false,\n supportsSms: false,\n tokenHelpText: null,\n userId: null,\n useRecoveryCodePath: null,\n verifyTokenPath: null\n },\n missingInfoModalProps: {\n requiredFields: [],\n additionalFieldConfigs: [],\n euDataProcessingConsentData: {},\n phoneNumberLabel: '',\n postcodeLabel: ''\n },\n showMfaTokenModal: false,\n showMissingInfoModal: false\n }\n },\n\n methods: {\n authenticated({ afterSignInRedirect }) {\n window.location.href = afterSignInRedirect\n },\n\n authenticityTokenUpdated(newAuthenticityToken) {\n const tokenElement = document.querySelector('meta[name=\"csrf-token\"]')\n tokenElement.setAttribute('content', newAuthenticityToken)\n },\n\n mfaSetupRequired({ enableMfaPath }) {\n window.location.href = enableMfaPath\n },\n\n mfaTokenRequired(mfaParameters) {\n this.showMfaTokenModal = true\n this.mfaTokenModalProps = mfaParameters\n },\n\n missingInfoCompleted({ redirectUrl }) {\n this.authenticated({ afterSignInRedirect: redirectUrl })\n },\n\n missingInfoRequired({\n requiredFields, additionalFieldConfigs, euDataProcessingConsentData, phoneNumberLabel, postcodeLabel\n }) {\n this.showMissingInfoModal = true\n this.missingInfoModalProps = { requiredFields, additionalFieldConfigs, euDataProcessingConsentData,\n phoneNumberLabel, postcodeLabel }\n }\n }\n}\n</script>\n","import { render } from \"./sign-in-page.vue?vue&type=template&id=95dc8364\"\nimport script from \"./sign-in-page.vue?vue&type=script&lang=js\"\nexport * from \"./sign-in-page.vue?vue&type=script&lang=js\"\n\nimport exportComponent from \"../../../node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render]])\n\nexport default __exports__"],"names":["kebabCase","createCompounder","result","word","index","toLowerCase","module","exports","sfc","props","target","__vccOpts","key","val","extends","PrimaryButton","formValid","type","Boolean","required","default","submitInProgress","submittingLabel","String","inject","t","emits","computed","buttonDisabled","this","buttonText","label","methods","click","$refs","button","focus","_createElementBlock","ref","disabled","$options","class","onClick","_cache","_withModifiers","$event","_ctx","$emit","_hoisted_1","data","csrfToken","mounted","tokenElement","document","querySelector","getAttribute","name","value","$data","modalId","title","showOnMount","size","clickOutsideToClose","headerless","paddinglessBody","bootstrapModal","transitionInProgress","visibility","backdropSetting","hasFooterSlot","Object","keys","$slots","includes","modalSizeClass","watch","_config","backdrop","vm","rootElement","root","addEventListener","Modal","getOrCreateInstance","open","beforeUnmount","body","attributeStyleMap","delete","dispose","close","hide","show","id","$props","tabindex","role","_createElementVNode","_normalizeClass","_hoisted_2","_createCommentVNode","_hoisted_3","_renderSlot","_hoisted_4","_createTextVNode","_toDisplayString","i18n","args","_hoisted_5","_hoisted_6","undefined","_hoisted_7","components","AuthenticityTokenField","loginUrl","action","method","_createVNode","_component_authenticity_token_field","src","_imports_0","FacebookSignIn","GoogleSignIn","MissingInfoModal","SignInForm","VerifyMfaTokenModal","enableFacebookLogin","enableForgotPassword","enableGoogleLogin","facebookLoginUrl","forgotPasswordUrl","googleLoginUrl","organisationId","Number","signInButtonText","signInPath","mfaTokenModalProps","statusCheckPath","supportsRecoveryCodes","supportsSms","tokenHelpText","userId","useRecoveryCodePath","verifyTokenPath","missingInfoModalProps","requiredFields","additionalFieldConfigs","euDataProcessingConsentData","phoneNumberLabel","postcodeLabel","showMfaTokenModal","showMissingInfoModal","authenticated","afterSignInRedirect","window","location","href","authenticityTokenUpdated","newAuthenticityToken","setAttribute","mfaSetupRequired","enableMfaPath","mfaTokenRequired","mfaParameters","missingInfoCompleted","redirectUrl","missingInfoRequired","_createBlock","_component_facebook_sign_in","_component_google_sign_in","_component_sign_in_form","onAuthenticityTokenUpdated","onAuthenticated","onMfaSetupRequired","onMfaTokenRequired","onMissingInfoRequired","_component_verify_mfa_token_modal","_mergeProps","_component_missing_info_modal","onCompleted"],"sourceRoot":""}