@visitscotland/component-library 3.3.1 → 3.3.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -2063,7 +2063,7 @@
2063
2063
  "scripts/30b52393df161a18e1e4.js",
2064
2064
  "scripts/80c20d5d420f9e6d6f0d.js",
2065
2065
  "scripts/87de14e59017b3871a2c.js",
2066
- "scripts/d4660e2857cba9f451fc.js"
2066
+ "scripts/51b829ad82de902521fc.js"
2067
2067
  ],
2068
2068
  "styles": [
2069
2069
  "styles/cd7968f5815183867103.css",
@@ -2074,7 +2074,7 @@
2074
2074
  "styles/30b52393df161a18e1e4.css",
2075
2075
  "styles/80c20d5d420f9e6d6f0d.css",
2076
2076
  "styles/87de14e59017b3871a2c.css",
2077
- "styles/d4660e2857cba9f451fc.css"
2077
+ "styles/51b829ad82de902521fc.css"
2078
2078
  ]
2079
2079
  },
2080
2080
  "VsGlobalMenuDropdown": {
@@ -0,0 +1 @@
1
+ !function(e,t){"object"==typeof exports&&"object"==typeof module?module.exports=t():"function"==typeof define&&define.amd?define([],t):"object"==typeof exports?exports.VsForm=t():e.VsForm=t()}(self,(function(){return(self.webpackChunk_visitscotland_component_library=self.webpackChunk_visitscotland_component_library||[]).push([[1736],{82769:function(){},97272:function(e,t,n){"use strict";var i=n(64467),a=n(3453),r=n(34352),s=n(57536),o=n(88620),l=n(22142),d=n(51688),u=n(26358),f=n(88258),c=n(48836),g=n(13838),m=n(79122),h=n(98745);function p(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);t&&(i=i.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,i)}return n}function v(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?p(Object(n),!0).forEach((function(t){(0,i.A)(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):p(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}t.A={name:"VsForm",status:"prototype",release:"0.0.1",components:{VsInput:l.default,VsSelect:d.default,VsCheckbox:u.default,BFormGroup:r.a3,VsRecaptcha:f.default,VsButton:c.default,VsHeading:g.default,VsWarning:m.default},mixins:[h.default],props:{isMarketo:{type:Boolean,default:!0},submitUrl:{type:String,default:""},dataUrl:{type:String,required:!0},recaptchaKey:{type:String,default:(0,o.A)("RECAPTCHA_TOKEN")},recaptchaTextareaLabel:{type:String,default:"Does not need any text"},isProd:{type:Boolean,default:!1},munchkinId:{type:String,default:""},marketoInstance:{type:String,default:""},language:{type:String,default:"en"},messagingUrl:{type:String,required:!0},countryListUrl:{type:String,default:""},isTest:{type:Boolean,default:!0}},data:function(){return{submitted:!1,submitting:!1,submitError:!1,formData:{},messagingData:{},form:{},formIsInvalid:!1,showErrorMessage:!1,errorFields:[],triggerValidate:!1,recaptchaVerified:!1,conditionalFields:{},inputVal:"",reAlertErrors:!1,emailFieldName:""}},computed:{formId:function(){return this.isProd?this.formData.formLiveId:this.formData.formSandboxId},showFormHeading:function(){return!this.isUndefined(this.getTranslatedContent)&&!this.isUndefined(this.getTranslatedContent("heading"))}},created:function(){this.getFormData(),this.getGlobalMessaging()},methods:{getFormData:function(){var e=this;s.A.get(this.dataUrl).then((function(t){e.formData=t.data,e.isMarketo&&window.MktoForms2&&window.MktoForms2.loadForm(e.marketoInstance,e.munchkinId,e.formId),t.data.fields.forEach((function(t){e.form[t.name]="",t.conditional&&(e.conditionalFields[t.name]=!1)})),e.checkConditionalFields()})).catch((function(){}))},getGlobalMessaging:function(){var e=this;s.A.get(this.messagingUrl).then((function(t){e.messagingData=t.data})).catch((function(){}))},getLanguageObj:function(){return this.isUndefined(this.formData[this.language])?{}:this.formData[this.language]||void 0},getTranslatedLabel:function(e,t){var n=this.getLanguageObj(),i="";return i="en"===this.language||this.isUndefined(n[e])||this.isUndefined(n[e].label)?this.formData.fields[t].label:n[e].label,this.showOptionalText(this.formData.fields[t])&&!this.isUndefined(this.getMessagingData("optional",this.language))&&(i="".concat(i," (").concat(this.getMessagingData("optional",this.language),")")),i},getTranslatedLegend:function(e,t){var n=this.getLanguageObj();return"en"===this.language||this.isUndefined(n[e])||this.isUndefined(n[e].descriptor)?this.formData.fields[t].descriptor:n[e].descriptor},getTranslatedInfo:function(e,t){var n=this.getLanguageObj();return"en"===this.language||this.isUndefined(n[e])||this.isUndefined(n[e].info)?this.formData.fields[t].info:n[e].info},getTranslatedValidation:function(e,t){var n,i=this.getLanguageObj();return"en"!==this.language||this.isUndefined(this.formData.fields[t].validationMessages)?this.isUndefined(i[e])||this.isUndefined(i[e].validationMessages)?"en"===this.language&&(n=this.formData.fields[t].validationMessages):n=i[e].validationMessages:n=this.formData.fields[t].validationMessages,n},getTranslatedOptions:function(e,t){var n=this.getLanguageObj(),i=[];return void 0===(i="en"===this.language||this.isUndefined(n[e])||this.isUndefined([e].options)?this.formData.fields[t].options:n[e].options)&&(i=[]),i},getTranslatedHint:function(e,t){var n=this.getLanguageObj();return"en"===this.language||this.isUndefined(n[e])||this.isUndefined(n[e].hint)?this.isUndefined(this.formData.fields[t].hint)?"":this.formData.fields[t].hint:n[e].hint},getTranslatedContent:function(e){var t=this.getLanguageObj();return"en"!==this.language||this.isUndefined(this.formData.content)||this.isUndefined(this.formData.content[e])?this.isUndefined(t.content)||this.isUndefined(t.content[e])?this.getMessagingData(e,this.language):t.content[e]:this.formData.content[e]},getMessagingData:function(e,t){return Object.keys(this.messagingData).length>0?this.messagingData[t][e]:"validation"===e?{}:""},getHiddenFields:function(){var e=this.$el.querySelectorAll("input[type=hidden]"),t={};return e.forEach((function(e){t[e.name]=e.value})),t},isUndefined:function(e){return void 0===e},updateFieldData:function(e){this.form[e.field]=e.value||"",Array.isArray(e.errors)?this.formIsInvalid=e.errors.length>0:this.formIsInvalid=null!==e.errors,this.manageErrorStatus(e.field,e.errors),this.checkConditionalFields()},manageErrorStatus:function(e,t){var n=this.errorFields.indexOf(e);-1!==n?(!t||t.length<1)&&this.errorFields.splice(n,1):t&&t.length>0&&this.errorFields.push(e)},showOptionalText:function(e){return!(!this.isUndefined(e.validation)&&!this.isUndefined(e.validation.required))},needsLabel:function(e){return"radio"!==e.element&&"submit"!==e.element&&"checkbox"!==e.element},preSubmit:function(e){var t=this;e.preventDefault(),this.isTest||this.onRecaptchaVerify(),this.triggerValidate=!0;var n=this.formData.fields.filter((function(e){return e.validation&&e.validation.required}));0===n.length?this.formIsInvalid=!1:n.forEach((function(e){if(!/\S/.test(t.form[e.name])){var n=!0;e.name in t.conditionalFields&&!t.conditionalFields[e.name]&&(n=!1),t.formIsInvalid=n}})),this.showErrorMessage=this.formIsInvalid,Object.entries(this.conditionalFields).forEach((function(e){var n=(0,a.A)(e,2),i=n[0];n[1]||(t.form[i]="")})),this.errorFields.length>0&&(this.formIsInvalid=!0),!this.formIsInvalid&&this.recaptchaVerified?this.isMarketo?this.marketoSubmit():this.axiosSubmit():(this.showErrorMessage=!0,this.reAlertErrors=!0,setTimeout((function(){t.reAlertErrors=!1}),100))},marketoSubmit:function(){var e=this;this.createDataLayerObject("formsDataEvent");var t=window.MktoForms2.allForms()[0];t.addHiddenFields(this.form),window.grecaptcha&&t.addHiddenFields({lastReCAPTCHAUserFingerprint:window.grecaptcha.getResponse(),lastRecaptchaEnabledFormID:this.formId}),t.onSuccess((function(){return e.submitting=!1,e.submitted=!0,e.attachEmail(),!1})),t.onSubmit((function(){e.submitting=!0})),t.submit()},axiosSubmit:function(){var e=this;this.submitting=!0;var t="";window.grecaptcha&&(t=window.grecaptcha.getResponse());var n=this.getHiddenFields();s.A.post(this.submitUrl,v(v(v({},this.form),n),{},{formType:this.formData.content?this.formData.content.formType:"","g-recaptcha-response":t})).then((function(){return e.submitting=!1,e.submitted=!0,e.attachEmail(),!1})).catch((function(){}))},attachEmail:function(){var e=this;this.formData.fields.forEach((function(t){"email"!==t.type||e.emailFieldName||(e.emailFieldName=t.name)})),this.emailFieldName&&"undefined"!=typeof exponea&&exponea.identify({email_id:this.form[this.emailFieldName]})},onRecaptchaVerify:function(){window.grecaptcha&&"function"==typeof window.grecaptcha.getResponse&&""!==window.grecaptcha.getResponse()?this.recaptchaVerified=!0:this.recaptchaVerified=!1},checkConditionalFields:function(){var e=this;Object.keys(this.conditionalFields).forEach((function(t){var n=e.formData.fields.find((function(e){return e.name===t})),i=!0;Object.keys(n.conditional).forEach((function(a){var r=n.conditional[a];Array.isArray(r)?-1===r.indexOf(e.form[a])&&(i=!1):e.form[a]!==r&&(i=!1),i?e.conditionalFields[t]||(e.conditionalFields[t]=!0,e.$refs[t]&&e.$refs[t][0].manualValidate()):(e.manageErrorStatus(t,[]),e.conditionalFields[t]=!1)}))}))},conditionalElementClass:function(e){return!0===this.conditionalFields[e]||void 0===this.conditionalFields[e]?"":"d-none"}}}},81373:function(e,t,n){"use strict";n.d(t,{X:function(){return m}});var i=n(20641),a=n(53751),r=n(90033),s={class:"vs-form","data-test":"vs-form"},o=(0,i.Lk)("form",{class:"d-none"},null,-1),l={class:"vs-form__main-heading vs-heading--style-level-2 float-none","data-test":"vs-form__main-heading"},d={key:0},u={"aria-live":"assertive"},f={key:0},c=["innerHTML"],g={key:2};function m(e,t,n,m,h,p){var v=(0,i.g2)("VsInput"),b=(0,i.g2)("VsSelect"),y=(0,i.g2)("VsCheckbox"),D=(0,i.g2)("BFormGroup"),F=(0,i.g2)("VsRecaptcha"),k=(0,i.g2)("VsButton"),E=(0,i.g2)("VsWarning"),O=(0,i.g2)("VsHeading");return(0,i.uX)(),(0,i.CE)("div",s,[o,h.submitted?(0,i.Q3)("",!0):((0,i.uX)(),(0,i.CE)("form",{key:0,onSubmit:t[0]||(t[0]=(0,a.withModifiers)((function(){return p.preSubmit&&p.preSubmit.apply(p,arguments)}),["prevent"]))},[(0,i.Lk)("fieldset",null,[(0,i.Lk)("legend",l,(0,r.toDisplayString)(p.getTranslatedContent("heading")),1),((0,i.uX)(!0),(0,i.CE)(i.FK,null,(0,i.pI)(h.formData.fields,(function(e,t){return(0,i.uX)(),(0,i.Wv)(D,{key:e.name,label:p.needsLabel(e)?p.getTranslatedLabel(e.name,t):"","label-for":p.needsLabel(e)?e.name:"",class:(0,r.normalizeClass)(p.conditionalElementClass(e.name))},{default:(0,i.k6)((function(){return[p.isUndefined(e.descriptor)||"checkbox"!==e.element?(0,i.Q3)("",!0):((0,i.uX)(),(0,i.CE)("legend",d,(0,r.toDisplayString)(p.getTranslatedLegend(e.name,t)),1)),(0,i.Lk)("div",{class:(0,r.normalizeClass)(p.conditionalElementClass(e.name))},["input"===e.element?((0,i.uX)(),(0,i.Wv)(v,{key:0,ref_for:!0,ref:e.name,onStatusUpdate:p.updateFieldData,"field-name":e.name,type:e.type,"validation-rules":e.validation||{},"validation-messages":p.getTranslatedValidation(e.name,t)||{},"generic-validation":p.getMessagingData("validation",n.language),invalid:h.errorFields.indexOf(e.name)>-1,"trigger-validate":h.triggerValidate,"hint-text":p.getTranslatedHint(e.name,t),placeholder:e.placeholder||"","re-alert-errors":h.reAlertErrors},null,8,["onStatusUpdate","field-name","type","validation-rules","validation-messages","generic-validation","invalid","trigger-validate","hint-text","placeholder","re-alert-errors"])):(0,i.Q3)("",!0),"select"===e.element?((0,i.uX)(),(0,i.Wv)(b,{key:1,options:p.getTranslatedOptions(e.name,t),ref_for:!0,ref:e.name,onStatusUpdate:p.updateFieldData,"field-name":e.name,"validation-rules":e.validation||{},"validation-messages":p.getTranslatedValidation(e.name,t)||{},"generic-validation":p.getMessagingData("validation",n.language),invalid:h.errorFields.indexOf(e.name)>-1,"trigger-validate":h.triggerValidate,"country-list-url":n.countryListUrl,countries:e.countries,"hint-text":p.getTranslatedHint(e.name,t),"re-alert-errors":h.reAlertErrors},null,8,["options","onStatusUpdate","field-name","validation-rules","validation-messages","generic-validation","invalid","trigger-validate","country-list-url","countries","hint-text","re-alert-errors"])):(0,i.Q3)("",!0),"checkbox"===e.element?((0,i.uX)(),(0,i.Wv)(y,{key:e.name,ref_for:!0,ref:e.name,name:e.name,value:e.value,label:p.getTranslatedLabel(e.name,t),onStatusUpdate:p.updateFieldData,"field-name":e.name,"validation-rules":e.validation||{},"validation-messages":p.getTranslatedValidation(e.name,t)||{},"generic-validation":p.getMessagingData("validation",n.language),invalid:h.errorFields.indexOf(e.name)>-1,"trigger-validate":h.triggerValidate,"optional-text":p.getMessagingData("optional",n.language),"hint-text":p.getTranslatedHint(e.name,t),"info-text":p.getTranslatedInfo(e.name,t),"re-alert-errors":h.reAlertErrors},null,8,["name","value","label","onStatusUpdate","field-name","validation-rules","validation-messages","generic-validation","invalid","trigger-validate","optional-text","hint-text","info-text","re-alert-errors"])):(0,i.Q3)("",!0)],2)]})),_:2},1032,["label","label-for","class"])})),128))]),(0,i.RG)(e.$slots,"hidden-fields"),(0,i.bF)(F,{onVerified:p.onRecaptchaVerify,"site-key":n.recaptchaKey,invalid:!h.recaptchaVerified&&h.showErrorMessage,language:n.language,"error-msg":p.getMessagingData("recaptchaError",n.language),class:"mt-9","textarea-label":n.recaptchaTextareaLabel,"re-alert-errors":h.reAlertErrors},null,8,["onVerified","site-key","invalid","language","error-msg","textarea-label","re-alert-errors"]),(0,i.bF)(k,{variant:"primary",type:"submit",class:"vs-form__submit mt-9",onClick:p.preSubmit},{default:(0,i.k6)((function(){return[(0,i.eW)((0,r.toDisplayString)(p.getTranslatedContent("submit")),1)]})),_:1},8,["onClick"])],32)),(0,i.bF)(E,{class:"vs-form__no-js"},{default:(0,i.k6)((function(){return[(0,i.RG)(e.$slots,"no-js")]})),_:3}),(0,i.Lk)("div",u,[h.submitting?((0,i.uX)(),(0,i.CE)("p",f,[(0,i.RG)(e.$slots,"submitting")])):(0,i.Q3)("",!0),h.submitted?((0,i.uX)(),(0,i.CE)(i.FK,{key:1},[p.getTranslatedContent("successHeading")?((0,i.uX)(),(0,i.Wv)(O,{key:0,level:"2"},{default:(0,i.k6)((function(){return[(0,i.eW)((0,r.toDisplayString)(p.getTranslatedContent("successHeading")),1)]})),_:1})):(0,i.Q3)("",!0),(0,i.Lk)("p",{class:"vs-form__content",innerHTML:p.getTranslatedContent("successContent")},null,8,c)],64)):(0,i.Q3)("",!0),h.submitError?((0,i.uX)(),(0,i.CE)("p",g,[(0,i.RG)(e.$slots,"submit-error")])):(0,i.Q3)("",!0)])])}},83031:function(e,t,n){"use strict";var i=n(85072),a=n.n(i),r=n(97825),s=n.n(r),o=n(77659),l=n.n(o),d=n(55056),u=n.n(d),f=n(10540),c=n.n(f),g=n(41113),m=n.n(g),h=n(82769),p=n.n(h),v={};v.styleTagTransform=m(),v.setAttributes=u(),v.insert=l().bind(null,"head"),v.domAPI=s(),v.insertStyleElement=c(),a()(p(),v),p()&&p().locals&&p().locals},19464:function(e,t,n){"use strict";n.r(t);var i=n(28429),a=n(18668);n(46635);const r=(0,n(66262).A)(a.A,[["render",i.X]]);t.default=r},18668:function(e,t,n){"use strict";n.d(t,{A:function(){return i.A}});var i=n(97272)},28429:function(e,t,n){"use strict";n.d(t,{X:function(){return i.X}});var i=n(81373)},46635:function(e,t,n){"use strict";n(83031)}},function(e){return e.O(0,[641,6262,7510,3751,4352,4467,7527,8086,810,2543,3453,281,7536,7171,6422,8745,8836,3838,9122,4282,2142,1688,6358,8258],(function(){return 19464,e(e.s=19464)})),e.O()}])}));
@@ -102,6 +102,7 @@ declare const _default: import('vue').DefineComponent<{
102
102
  conditionalFields: {};
103
103
  inputVal: string;
104
104
  reAlertErrors: boolean;
105
+ emailFieldName: string;
105
106
  }, {
106
107
  formId(): any;
107
108
  showFormHeading(): boolean;
@@ -208,6 +209,11 @@ declare const _default: import('vue').DefineComponent<{
208
209
  * Submits the form using Axios, submitting a json object to the submitUrl
209
210
  */
210
211
  axiosSubmit(): void;
212
+ /**
213
+ * If exponea is present in the window (via gtm with accepted cookies), attach the
214
+ * current user to the record associated with their email address
215
+ */
216
+ attachEmail(): void;
211
217
  /**
212
218
  * Checks recaptcha response from the server
213
219
  */