{"version":3,"file":"js/5004-51a63af84197359add93.chunk.js","mappings":"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","sources":["webpack://agra/./app/javascript/helpers/is-present.js","webpack://agra/./app/javascript/mixins/has-additional-fields.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/country-select.vue","webpack://agra/./app/javascript/components/inputs/country-select.vue?8193","webpack://agra/./app/javascript/components/inputs/email-input-with-mailcheck.vue","webpack://agra/./app/javascript/forms/mailcheck-config.js","webpack://agra/./app/javascript/components/inputs/email-input-with-mailcheck.vue?6f79","webpack://agra/./app/javascript/components/inputs/email-opt-in-input.vue","webpack://agra/./app/javascript/components/inputs/email-opt-in-input.vue?eea8","webpack://agra/./app/javascript/components/inputs/sms-opt-in-input.vue","webpack://agra/./app/javascript/components/inputs/sms-opt-in-input.vue?4cbb"],"sourcesContent":["export default function(string) {\n  // TODO: add tests for this\n  return (string && string.length > 0)\n}\n","export default {\n  methods: {\n    shouldShowAdditionalField(fieldConfig) {\n      if (fieldConfig.conditionalOn) {\n        // This field should only be shown if another field is true.\n        // That 'upstream' field is likely a conditional_boolean.\n        const upstreamFieldName = fieldConfig.conditionalOn\n\n        // The `upstreamFieldName` is for an additional field.\n        // Its name is not camelCased (neither when passed in in field config `conditionalOn`,\n        // nor in the Vue(x) code implementing this mixin.\n        return !!(this.additionalFieldValue(upstreamFieldName))\n      } else if (fieldConfig.conditionalOnValue) {\n        // This field should only be shown if another field has a specific value\n        const upstreamFieldName = fieldConfig.conditionalOnValue.field\n        const expectedValue = fieldConfig.conditionalOnValue.value\n\n        return this.additionalFieldValue(upstreamFieldName) === expectedValue\n      } else {\n        return true\n      }\n    }\n  }\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  <div :class=\"['select', { 'is-invalid': showValidationError }]\">\n    <label v-if=\"showLabel\" :for=\"inputId\">\n      <required v-if=\"required\" />\n      {{ label }}\n    </label>\n    <select :id=\"calculatedInputId\" :value=\"value\" :name=\"calculatedInputName\"\n            :class=\"['form-select select', {'is-invalid': showValidationError}]\"\n            @change=\"updateValue($event.target.value)\" @focus=\"$emit('focus')\">\n      <option v-for=\"country in countryOptions\" :key=\"country[0]\" :value=\"country[1]\">\n        {{ country[0] }}\n      </option>\n    </select>\n  </div>\n</template>\n\n<script>\nimport { inject } from 'vue'\nimport isPresent from '../../helpers/is-present'\nimport Required from '../required'\nimport WithInputIdAndName from '@/components/inputs/mixins/with-input-id-and-name'\n\nexport default {\n  components: { Required },\n\n  mixins: [ WithInputIdAndName ],\n\n  props: {\n    countryOptions: {\n      type: Array,\n      required: true\n    },\n\n    geoipHostname: {\n      type: String,\n      required: false\n    },\n\n    initializeWithGeoip: {\n      type: Boolean,\n      required: false,\n      default: true\n    },\n\n    label: {\n      type: String,\n      required: false,\n      default: function() { return inject('i18n').t('country') }\n    },\n\n    required: {\n      type: Boolean,\n      required: false,\n      default: false\n    },\n\n    showLabel: {\n      type: Boolean,\n      required: false,\n      default: true\n    },\n\n    validationErrors: {\n      type: Array,\n      required: false\n    },\n\n    value: {\n      type: String,\n      required: false\n    }\n  },\n\n  emits: ['changed', 'focus'],\n\n  data() {\n    return {\n      fieldName: 'country'\n    }\n  },\n\n  computed: {\n    showValidationError() {\n      return this.validationErrors && this.validationErrors.length > 0\n    }\n  },\n\n  mounted() {\n    if (this.initializeWithGeoip && isPresent(this.geoipHostname)) {\n      // Q: Why not use our ajax helper?\n      // A: It runs into some weird CORS issue trying to make this external request\n      fetch(`https://${this.geoipHostname}/geoip`).then((resp) => {\n        resp.json().then((jsonResponse) => {\n          this.updateValue(jsonResponse.country_code.toUpperCase())\n        })\n      })\n    }\n  },\n\n  methods: {\n    updateValue(newValue) {\n      this.$emit('changed', newValue)\n    }\n  }\n}\n</script>\n","import { render } from \"./country-select.vue?vue&type=template&id=623ffa13\"\nimport script from \"./country-select.vue?vue&type=script&lang=js\"\nexport * from \"./country-select.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>\n    <text-input :label=\"label\" :value=\"value\" :show-label=\"showLabel\"\n                :disabled=\"disabled\" :readonly=\"readonly\" :required=\"required\"\n                :input-id=\"calculatedInputId\" :input-name=\"calculatedInputName\" input-type=\"email\" autocomplete=\"email\"\n                :validation-errors=\"validationErrors\" @changed=\"changed\" @blur=\"runMailcheck\" @focus=\"$emit('focus')\">\n      <template #help-text>\n        <small v-if=\"suggestion\" class=\"text-muted\" @click=\"useSuggestion\" v-html=\"helpText\" />\n      </template>\n    </text-input>\n  </div>\n</template>\n\n<script>\nimport { DOMAINS } from '../../forms/mailcheck-config'\nimport Mailcheck from 'mailcheck'\nimport { nextTick } from 'vue'\nimport TextInput from './text-input'\nimport WithInputIdAndName from '@/components/inputs/mixins/with-input-id-and-name'\n\nexport default {\n  components: { TextInput },\n\n  mixins: [ WithInputIdAndName ],\n\n  props: {\n    disabled: {\n      type: Boolean,\n      required: false,\n      default: false\n    },\n    entityName: {\n      type: String,\n      required: true\n    },\n    labelOverride: {\n      type: String,\n      required: false\n    },\n    readonly: {\n      type: Boolean,\n      required: false,\n      default: false\n    },\n    required: {\n      type: Boolean,\n      required: false,\n      default: false\n    },\n\n    showLabel: {\n      type: Boolean,\n      required: false,\n      default: true\n    },\n\n    validationErrors: {\n      type: Array,\n      required: false\n    },\n    value: {\n      type: String,\n      required: false\n    }\n  },\n\n  emits: ['changed', 'focus'],\n\n  data() {\n    return {\n      fieldName: 'email',\n      suggestion: null\n    }\n  },\n\n  computed: {\n    helpText() {\n      if (this.suggestion) {\n        // This returns a string that includes a link, like \"Did you mean foo@example.com?\"\n        // where `foo@example.com` is a link with the `.mailcheck-email-suggestion` class.\n        return this.i18n.t('components.mailcheck.suggestion_help_html', {suggestion: this.suggestion})\n      } else {\n        return null\n      }\n    },\n\n    label() {\n      return this.labelOverride || this.i18n.t('activerecord.attributes.user.email')\n    }\n  },\n\n  methods: {\n    changed(newValue) {\n      this.$emit('changed', newValue)\n    },\n\n    runMailcheck() {\n      nextTick(() => {\n        Mailcheck.run({\n          email: this.value,\n          domains: DOMAINS.domains,\n          topLevelDomains: DOMAINS.topLevelDomains,\n          secondLevelDomains: DOMAINS.secondLevelDomains,\n\n          suggested: (suggestion) => {\n            this.suggestion = suggestion.full\n          },\n\n          empty: () => {\n            this.suggestion = null\n          }\n        })\n      })\n    },\n\n    useSuggestion() {\n      this.changed(this.suggestion)\n      this.suggestion = null\n    }\n  }\n}\n</script>\n\n<style lang=\"scss\" scoped>\n::v-deep(.mailcheck-email-suggestion) {\n  cursor: pointer\n}\n</style>\n","export const DOMAINS = {\n  domains: ['hotmail.com', 'gmail.com', 'aol.com', 'yahoo.com', 'yahoo.com.au', 'yahoo.com.ar', 'bigpond.com',\n            'optusnet.com.au', 'tpg.com.au', 'iinet.net.au', 'me.com', 'mac.com', 'outlook.com',\n            'live.com', 'comcast.net', 'googlemail.com', 'msn.com', 'hotmail.co.uk', 'yahoo.co.uk',\n            'facebook.com', 'verizon.net', 'sbcglobal.net', 'att.net', 'gmx.com', 'mail.com', 'icloud.com'],\n  secondLevelDomains: ['hotmail'],\n  topLevelDomains: []\n}\n","import { render } from \"./email-input-with-mailcheck.vue?vue&type=template&id=3ed97415&scoped=true\"\nimport script from \"./email-input-with-mailcheck.vue?vue&type=script&lang=js\"\nexport * from \"./email-input-with-mailcheck.vue?vue&type=script&lang=js\"\n\nimport \"./email-input-with-mailcheck.vue?vue&type=style&index=0&id=3ed97415&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-3ed97415\"]])\n\nexport default __exports__","<template>\n  <div class=\"join-organisation-field-wrapper\">\n    <checkbox-input v-if=\"useCheckbox\" :checkbox-id=\"calculatedInputId\" :initial-value=\"preChecked\" :input-name=\"calculatedInputName\"\n                    :label=\"label\" :show-label=\"showLabel\" :validation-errors=\"validationErrors\" @change=\"checkboxChange\" @focus=\"$emit('focus')\" />\n    <input v-if=\"useHidden\" :id=\"calculatedInputId\" type=\"hidden\" :name=\"calculatedInputName\" :value=\"implicit\">\n    <radio-buttons-input v-if=\"useRadio\" :label=\"label\" :input-name=\"calculatedInputName\" :options=\"radioButtonOptions\"\n                         :initial-value=\"null\" :show-label=\"showLabel\" :validation-errors=\"validationErrors\"\n                         @change=\"checkboxChange\" @focus=\"$emit('focus')\" />\n\n    <div v-if=\"showConfirmationForNo\" class=\"radio-are-you-sure-message alert alert-warning\" v-html=\"radioSureLabel\" />\n\n    <input type=\"hidden\" :name=\"calculatedEmailOptInTypeIdInputName\" :value=\"id\">\n  </div>\n</template>\n\n<script>\nimport CheckboxInput from './checkbox-input'\nimport isPresent from '../../helpers/is-present'\nimport RadioButtonsInput from './radio-buttons-input.vue'\nimport WithInputIdAndName from '@/components/inputs/mixins/with-input-id-and-name'\n\nexport default {\n  components: { CheckboxInput, RadioButtonsInput },\n\n  mixins: [ WithInputIdAndName ],\n\n  props: {\n    emailOptInTypeData: {\n      type: Object,\n      required: true\n    },\n\n    emailOptInTypeFieldNameOverride: {\n      type: String,\n      required: false\n    },\n\n    entityName: {\n      type: String,\n      required: true\n    },\n\n    label: {\n      type: String,\n      required: false\n    },\n\n    showLabel: {\n      type: Boolean,\n      required: false,\n      default: true\n    },\n\n    validationErrors: {\n      type: Array,\n      required: false\n    }\n  },\n\n  emits: ['changed', 'focus'],\n\n  data() {\n    let initialValue = null\n    if (this.emailOptInTypeData.modality === 'checkbox') {\n      initialValue = this.emailOptInTypeData.preChecked\n    } else if (this.emailOptInTypeData.modality === 'hidden') {\n      initialValue = this.emailOptInTypeData.implicit\n    }\n\n    return {\n      modality: this.emailOptInTypeData.modality,\n      fieldName: 'join-organisation',\n      id: this.emailOptInTypeData.id,\n      implicit: this.emailOptInTypeData.implicit,\n      preChecked: this.emailOptInTypeData.preChecked,\n      radioButtonYesLabel: this.emailOptInTypeData.radioButtonYesLabel,\n      radioButtonNoLabel: this.emailOptInTypeData.radioButtonNoLabel,\n      radioSureLabel: this.emailOptInTypeData.radioSureLabel,\n      value: initialValue\n    }\n  },\n\n  computed: {\n    calculatedEmailOptInTypeIdInputName() {\n      return this.emailOptInTypeFieldNameOverride || `${this.entityName}[email_opt_in_type_id]`\n    },\n\n    showValidationError() {\n      return this.validationErrors && this.validationErrors.length > 0\n    },\n\n    useCheckbox() {\n      return this.modality === 'checkbox'\n    },\n\n    useHidden() {\n      return this.modality === 'hidden'\n    },\n\n    useRadio() {\n      return this.modality === 'radio'\n    },\n\n    radioButtonOptions() {\n      return [\n        [ this.radioButtonYesLabel, true ],\n        [ this.radioButtonNoLabel, false ]\n      ]\n    },\n\n    showConfirmationForNo() {\n      // We need to explicitly compare with false to avoid displaying the message when the user hasn't selected any option yet\n      return (this.modality === 'radio' && isPresent(this.radioSureLabel) && this.value === false)\n    }\n  },\n\n  mounted() {\n    // Need to emit so that if the user submits the form without checking/unchecking the box,\n    // the parent component will have the correct values for these fields\n    this.emitValue(true)\n  },\n\n  methods: {\n    checkboxChange(value) {\n      this.value = value\n      this.emitValue(false)\n    },\n\n    emitValue(automatedEvent) {\n      this.$emit('changed', { emailOptInTypeId: this.id, joinOrganisation: this.value, automatedEvent: automatedEvent })\n    }\n  }\n}\n</script>\n","import { render } from \"./email-opt-in-input.vue?vue&type=template&id=f66f622a\"\nimport script from \"./email-opt-in-input.vue?vue&type=script&lang=js\"\nexport * from \"./email-opt-in-input.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 class=\"sms-opt-in-field-wrapper\">\n    <checkbox-input v-if=\"useCheckbox\" v-show=\"checkboxVisible\" :checkbox-id=\"calculatedInputId\" :initial-value=\"value\"\n                    :input-name=\"calculatedInputName\" :label=\"label\" :show-label=\"showLabel\" :validation-errors=\"validationErrors\"\n                    @change=\"checkboxChanged\" @focus=\"$emit('focus')\" />\n    <template v-if=\"useHidden\">\n      <input type=\"hidden\" :name=\"inputName\" :value=\"value\">\n      <div class=\"mb-2 small-text\">\n        <span v-html=\"disclaimer\" />\n      </div>\n    </template>\n\n    <input type=\"hidden\" :name=\"`${entityName}[sms_opt_in_type_id]`\" :value=\"id\">\n  </div>\n</template>\n\n<script>\nimport CheckboxInput from './checkbox-input'\nimport WithInputIdAndName from '@/components/inputs/mixins/with-input-id-and-name'\n\nexport default {\n  components: { CheckboxInput },\n\n  mixins: [ WithInputIdAndName ],\n\n  props: {\n    entityName: {\n      type: String,\n      required: true\n    },\n\n    label: {\n      type: String,\n      required: false\n    },\n\n    phoneNumberPresent: {\n      type: Boolean,\n      required: true\n    },\n\n    showLabel: {\n      type: Boolean,\n      required: false,\n      default: true\n    },\n\n    smsOptInTypeData: {\n      type: Object,\n      required: true\n    },\n\n    validationErrors: {\n      type: Array,\n      required: false\n    }\n  },\n\n  emits: ['changed', 'focus'],\n\n  data() {\n    let initialValue = null\n    if (this.smsOptInTypeData.modality === 'hidden') {\n      initialValue = true\n    } else if (this.smsOptInTypeData.hiddenUntilPhoneFilled) {\n      initialValue = this.smsOptInTypeData.preChecked && this.phoneNumberPresent\n    } else {\n      initialValue = this.smsOptInTypeData.preChecked\n    }\n\n    return {\n      disclaimer: this.smsOptInTypeData.disclaimer,\n      fieldName: 'opt-in-sms',\n      id: this.smsOptInTypeData.id,\n      modality: this.smsOptInTypeData.modality,\n      value: initialValue\n    }\n  },\n\n  computed: {\n    checkboxVisible() {\n      if (this.smsOptInTypeData.hiddenUntilPhoneFilled) {\n        return this.phoneNumberPresent\n      } else {\n        return true\n      }\n    },\n\n    useCheckbox() {\n      return this.modality === 'checkbox'\n    },\n\n    useHidden() {\n      return this.modality === 'hidden'\n    }\n  },\n\n  watch: {\n    phoneNumberPresent() {\n      if (this.smsOptInTypeData.hiddenUntilPhoneFilled) {\n        // When the phone number becomes present, we need to update the value to true.\n        // When the phone number is removed, we need to update the value to false.\n        // Q: Why can't we just use a computed property for this?\n        // A: Because we must _emit_ the updated value when it changes.\n        this.value = this.phoneNumberPresent\n        this.emitValue(true)\n      }\n    }\n  },\n\n  mounted() {\n    // Need to emit so that if the user submits the form without checking/unchecking the box,\n    // the parent component will have the correct values for these fields\n    this.emitValue(true)\n  },\n\n  methods: {\n    checkboxChanged(value) {\n      this.value = value\n      this.emitValue(false)\n    },\n\n    emitValue(automatedEvent) {\n      this.$emit('changed', { smsOptInTypeId: this.id, optInSms: this.value, automatedEvent: automatedEvent })\n    }\n  }\n}\n</script>\n","import { render } from \"./sms-opt-in-input.vue?vue&type=template&id=74560553\"\nimport script from \"./sms-opt-in-input.vue?vue&type=script&lang=js\"\nexport * from \"./sms-opt-in-input.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":["string","length","methods","shouldShowAdditionalField","fieldConfig","conditionalOn","upstreamFieldName","this","additionalFieldValue","conditionalOnValue","field","expectedValue","value","extends","PrimaryButton","props","formValid","type","Boolean","required","default","submitInProgress","submittingLabel","String","inject","t","emits","computed","buttonDisabled","buttonText","label","click","$refs","button","focus","_createElementBlock","ref","disabled","$options","class","onClick","_cache","_withModifiers","$event","_ctx","$emit","_hoisted_1","components","Required","mixins","WithInputIdAndName","countryOptions","Array","geoipHostname","initializeWithGeoip","showLabel","validationErrors","data","fieldName","showValidationError","mounted","isPresent","fetch","then","resp","json","jsonResponse","updateValue","country_code","toUpperCase","newValue","_normalizeClass","$props","key","for","inputId","_createBlock","_component_required","_createCommentVNode","_createTextVNode","_toDisplayString","_createElementVNode","id","calculatedInputId","name","calculatedInputName","onChange","target","onFocus","_Fragment","_renderList","country","_hoisted_3","_hoisted_2","DOMAINS","domains","secondLevelDomains","topLevelDomains","TextInput","entityName","labelOverride","readonly","suggestion","helpText","i18n","changed","runMailcheck","nextTick","Mailcheck","email","suggested","full","empty","useSuggestion","_createVNode","_component_text_input","autocomplete","onChanged","onBlur","_withCtx","$data","args","innerHTML","_","CheckboxInput","RadioButtonsInput","emailOptInTypeData","Object","emailOptInTypeFieldNameOverride","initialValue","modality","preChecked","implicit","radioButtonYesLabel","radioButtonNoLabel","radioSureLabel","calculatedEmailOptInTypeIdInputName","useCheckbox","useHidden","useRadio","radioButtonOptions","showConfirmationForNo","emitValue","checkboxChange","automatedEvent","emailOptInTypeId","joinOrganisation","_component_checkbox_input","_component_radio_buttons_input","options","_hoisted_4","phoneNumberPresent","smsOptInTypeData","hiddenUntilPhoneFilled","disclaimer","checkboxVisible","watch","checkboxChanged","smsOptInTypeId","optInSms","inputName","_hoisted_5"],"sourceRoot":""}