{"version":3,"mappings":"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","names":["dynamicFormStore","defineStore","key","value","payload","field","state","_b","_a","f","carry","_sfc_main","mapStores","mapState","_ctx","_createElementBlock","_hoisted_1","_toDisplayString","_hoisted_2","response","_hoisted_3","_createElementVNode","_hoisted_10","$options","_hoisted_4","$props","_openBlock","_hoisted_5","args","_hoisted_6","_normalizeClass","_d","_c","_f","_e","_hoisted_8","_g","_i","_h","_hoisted_9","validName","name","attachValidations","validation","additionalFieldsValidations","required","email","minLength","maxLength","lengthMax","x","lengthMin","Validations","validations","formState","Header","Footer","useVuelidate","computed","defineAsyncComponent","__variableDynamicImportRuntimeHelper","__vitePreload","Loading","slugArray","mapActions","catpcha","e","data","error","_createVNode","_component_Header","_createBlock","_resolveDynamicComponent","_component_Footer","_cache","$event"],"ignoreList":[],"sources":["../../../app/javascript/mints-components/cali-dynamic-form/stores/store.js","../../../app/javascript/mints-components/cali-dynamic-form/components/Header&Footer/Header.vue","../../../app/javascript/mints-components/cali-dynamic-form/components/Header&Footer/Footer.vue","../../../app/javascript/helpers/validator_provider.js","../../../app/javascript/mints-components/cali-dynamic-form/mixins/validations.js","../../../app/javascript/mints-components/cali-dynamic-form/App.vue"],"sourcesContent":["import { defineStore } from 'pinia'\r\n\r\nexport const dynamicFormStore = defineStore('dynamicForm', {\r\n state: () => ({\r\n form: {}, answers: {},\r\n step: 1, status: {},\r\n options: {\r\n displayTitle: true,\r\n displayDescription: true,\r\n displayAlerts: true\r\n }\r\n }),\r\n actions: {\r\n updateAnswer({ key, value }) {\r\n this.answers[key] = value\r\n },\r\n setFormData(payload) {\r\n this.form = payload\r\n },\r\n setFormOptions(payload) {\r\n this.options = {...this.options, ...payload}\r\n },\r\n nextStep() {\r\n this.step ++;\r\n },\r\n resetStep() {\r\n this.step = 1\r\n },\r\n changeStatus({ key, value }) {\r\n this.status[key] = value\r\n },\r\n resetAnswers() {\r\n this.answers = {}\r\n },\r\n verifyIfKeysHasValue() {\r\n return this.currentInputs.every(field => Boolean(this.answers[field.slug]))\r\n }\r\n },\r\n getters: {\r\n // Global getters\r\n formType: (state) => state.form?.config_json?.is_progressive_form ? 'Progressive' : 'Static',\r\n slug: (state) => state.form?.slug ? state.form.slug : null,\r\n isProgressive() { return this.formType === 'Progressive' },\r\n title: (state) => state.form?.config_json?.form_title,\r\n description: (state) => state.form?.description,\r\n fields: (state) => state.form?.config_json?.fields,\r\n inputFields() { return this.fields?.filter(f => f.data_type_enum !== 16) },\r\n labelFields() { return this.fields?.filter(f => f.data_type_enum === 16) || [] },\r\n defaultApi: (state) => state.form?.slug ? '/api/v1/forms/' + state.form.slug : '',\r\n submitStatus: (state) => state.status?.submit,\r\n allowPreFill: (state) => state.form?.config_json?.allow_pre_fill,\r\n // Footer buttons\r\n submitField() { return this.labelFields.find(f => f?.extra_parameters?.is_footer_button && f?.extra_parameters?.is_submit_button) },\r\n cancelField() { return this.labelFields.find(f => f?.extra_parameters?.is_footer_button && !f?.extra_parameters?.is_submit_button) },\r\n // Progressive form getters\r\n maxStep() {\r\n return this.inputFields?.reduce((carry, field) => {\r\n return field?.extra_parameters?.step > carry ? field.extra_parameters.step : carry\r\n }, 1)\r\n },\r\n currentInputs(state) { return this.inputFields.filter(field => field.extra_parameters?.step === state.step) },\r\n currentLabels(state) { return this.labelFields.filter(field => field.extra_parameters?.step === state.step) },\r\n displayFormTitle: (state) => state.options.displayTitle,\r\n displayFormDescription: (state) => state.options.displayDescription,\r\n displayAlerts: (state) => state.options.displayAlerts,\r\n }\r\n});\r\n","\r\n","\r\n\r\n\r\n","import { computed, reactive } from 'vue'\r\nimport useVuelidate from \"@vuelidate/core\";\r\nimport { email, required, minLength, maxLength } from \"@vuelidate/validators\";\r\n\r\nexport function validName(name) {\r\n let validNamePattern = new RegExp(\"^[a-zA-Z]+(?:[-'\\\\s][a-zA-Z]+)*$\");\r\n if (validNamePattern.test(name)) {\r\n return true;\r\n }\r\n return false\r\n}\r\n\r\nexport function attachValidations(field) {\r\n let validation = {}\r\n let additionalFieldsValidations = ['given_name','last_name','email','message']\r\n\r\n if (field.required || additionalFieldsValidations.includes(field.slug)) {\r\n validation = {...validation, required }\r\n }\r\n \r\n if ((field.validations || []).includes('email') || field.slug === 'email') {\r\n validation = {...validation, email }\r\n }\r\n \r\n if (field.data_type_enum === 15) {\r\n validation = {\r\n ...validation,\r\n ... {\r\n number: {\r\n required,\r\n minLength: minLength(9),\r\n maxLength: maxLength(10)\r\n }\r\n }\r\n }\r\n }\r\n\r\n if ((field.validations || []).includes('max:')) {\r\n let lengthMax = field.validations.find(x => x.includes('max:')).split(':')\r\n validation = {...validation, ...maxLength(lengthMax[lengthMax.length - 1]) }\r\n }\r\n\r\n if ((field.validations || []).includes('min:')) {\r\n let lengthMin = field.validations.find(x => x.includes('min:')).split(':')\r\n validation = {...validation, ...minLength(lengthMin[lengthMin.length - 1]) }\r\n\r\n }\r\n\r\n if (field.validName) {\r\n validation = {...validation,\r\n ... {\r\n name_validation: {\r\n $validator: validName,\r\n $message: 'Invalid Name. Valid name only contain letters, dashes (-) and spaces'\r\n }\r\n }\r\n }\r\n\r\n }\r\n\r\n return validation\r\n}\r\n\r\nexport const generateValidatorInstance = (form) => {\r\n const fields = form && form.config_json ? form.config_json.fields : [];\r\n\r\n let validations = {}\r\n let formState = {}\r\n fields.forEach(field => {\r\n validations[field.slug] = attachValidations(field)\r\n formState[field.slug] = null\r\n });\r\n\r\n const rules = computed(() => ({\r\n formFilled: validations,\r\n }))\r\n\r\n const state = reactive({\r\n formFilled: formState\r\n })\r\n\r\n return useVuelidate(rules, state);\r\n};","// Store\r\nimport { dynamicFormStore } from \"../stores/store\";\r\nimport { mapStores, mapState } from 'pinia'\r\nimport { attachValidations } from '@helpers/validator_provider.js';\r\n\r\nexport default {\r\n computed: {\r\n ...mapStores(dynamicFormStore),\r\n ...mapState(dynamicFormStore, ['isProgressive', 'currentInputs', 'inputFields']),\r\n validatableFields() {\r\n return this.isProgressive ? this.currentInputs : this.inputFields\r\n },\r\n customValidations() {\r\n if (!this.validatableFields) return {};\r\n \r\n let validations = {}\r\n let formState = {}\r\n \r\n \r\n this.validatableFields.forEach(field => {\r\n validations[field.slug] = attachValidations(field)\r\n formState[field.slug] = null\r\n });\r\n \r\n return { answers: validations }\r\n }\r\n },\r\n validations() {\r\n return this.customValidations\r\n }\r\n}","\r\n"],"file":"assets/App-C9JzYGTq.js"}