AnonSec Shell
Server IP : 185.86.78.101  /  Your IP : 216.73.216.124
Web Server : Apache
System : Linux 675867-vds-valikoshka1996.gmhost.pp.ua 5.4.0-150-generic #167-Ubuntu SMP Mon May 15 17:35:05 UTC 2023 x86_64
User : www ( 1000)
PHP Version : 7.4.33
Disable Function : passthru,exec,system,putenv,chroot,chgrp,chown,shell_exec,popen,proc_open,pcntl_exec,ini_alter,ini_restore,dl,openlog,syslog,readlink,symlink,popepassthru,pcntl_alarm,pcntl_fork,pcntl_waitpid,pcntl_wait,pcntl_wifexited,pcntl_wifstopped,pcntl_wifsignaled,pcntl_wifcontinued,pcntl_wexitstatus,pcntl_wtermsig,pcntl_wstopsig,pcntl_signal,pcntl_signal_dispatch,pcntl_get_last_error,pcntl_strerror,pcntl_sigprocmask,pcntl_sigwaitinfo,pcntl_sigtimedwait,pcntl_exec,pcntl_getpriority,pcntl_setpriority,imap_open,apache_setenv
MySQL : OFF  |  cURL : ON  |  WGET : ON  |  Perl : ON  |  Python : OFF  |  Sudo : ON  |  Pkexec : OFF
Directory :  /www/wwwroot/mifepriston.org/mifepriston.org_20230623190107.bak/dist/

Upload File :
current_dir [ Writeable ] document_root [ Writeable ]

 

Command :


[ HOME ]     

Current File : /www/wwwroot/mifepriston.org/mifepriston.org_20230623190107.bak/dist/5-35b582201514644cfeeb.js.map
{"version":3,"sources":["webpack:///./src/Cart.vue","webpack:///src/Cart.vue","webpack:///./src/Cart.vue?f8ae","webpack:///./src/Cart.vue?530e","webpack:///./src/Cart.vue?243d"],"names":["__webpack_require__","r","__webpack_exports__","_babel_loader_node_modules_vue_loader_lib_selector_type_script_index_0_Cart_vue__WEBPACK_IMPORTED_MODULE_0__","_babel_loader_node_modules_vue_loader_lib_selector_type_script_index_0_Cart_vue__WEBPACK_IMPORTED_MODULE_0___default","n","__WEBPACK_IMPORT_KEY__","key","d","_node_modules_vue_loader_lib_template_compiler_index_id_data_v_50e6d3c6_hasScoped_false_optionsId_0_buble_transforms_node_modules_vue_loader_lib_selector_type_template_index_0_Cart_vue__WEBPACK_IMPORTED_MODULE_1__","_node_modules_vue_loader_lib_runtime_component_normalizer__WEBPACK_IMPORTED_MODULE_2__","Component","Object","a","context","options","__file","data","productName","price","currency","quantity","translation","visible","name","phone","email","shipment_id","address","comment","shipMethods","orderPlaced","invalid","minQuantity","maxQuantity","methods","t","txt","this","$data","addToCart","count","Number","decCount","incCount","placeOrder","_this","attrs","formValid","_iteratorNormalCompletion","_didIteratorError","_iteratorError","_step","_iterator","Symbol","iterator","next","done","attr","value","validate","err","return","formData","FormData","set","csrfParam","csrfToken","lang","_iteratorNormalCompletion2","_didIteratorError2","_iteratorError2","_step2","_iterator2","_attr","_axios2","default","post","placeOrderUrl","headers","Content-Type","then","response","result","alert","catch","error","resetForm","id","resetAllHelpers","resetHelper","field","trim","valid","substring","match","replace","test","console","mounted","_this2","get","getTranslationUrl","params","category","getShippingUrl","map","row","content","module","i","locals","exports","push","version","sources","names","mappings","file","sourcesContent","sourceRoot","render","staticRenderFns","_vm","_h","$createElement","_c","_self","staticClass","class","is-active","on","click","$event","_v","_s","aria-label","type","domProps","href","xmlns","height","viewBox","directives","rawName","expression","is-danger","input","target","composing","blur","_e","readonly","placeholder","staticStyle","fill","change","$$selectedVal","Array","prototype","filter","call","o","selected","_value","multiple","_l","preventDefault","_withStripped"],"mappings":"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","file":"5-35b582201514644cfeeb.js","sourcesContent":["var disposed = false\nfunction injectStyle (context) {\n  if (disposed) return\n  require(\"!!vue-style-loader!css-loader?sourceMap!../node_modules/vue-loader/lib/style-compiler/index?{\\\"optionsId\\\":\\\"0\\\",\\\"vue\\\":true,\\\"scoped\\\":false,\\\"sourceMap\\\":true}!../node_modules/vue-loader/lib/selector?type=styles&index=0!./Cart.vue\")\n}\n/* script */\nexport * from \"!!babel-loader!../node_modules/vue-loader/lib/selector?type=script&index=0!./Cart.vue\"\nimport __vue_script__ from \"!!babel-loader!../node_modules/vue-loader/lib/selector?type=script&index=0!./Cart.vue\"\n/* template */\nimport {render as __vue_render__, staticRenderFns as __vue_static_render_fns__} from \"!!../node_modules/vue-loader/lib/template-compiler/index?{\\\"id\\\":\\\"data-v-50e6d3c6\\\",\\\"hasScoped\\\":false,\\\"optionsId\\\":\\\"0\\\",\\\"buble\\\":{\\\"transforms\\\":{}}}!../node_modules/vue-loader/lib/selector?type=template&index=0!./Cart.vue\"\n/* template functional */\nvar __vue_template_functional__ = false\n/* styles */\nvar __vue_styles__ = injectStyle\n/* scopeId */\nvar __vue_scopeId__ = null\n/* moduleIdentifier (server only) */\nvar __vue_module_identifier__ = null\nimport normalizeComponent from \"!../node_modules/vue-loader/lib/runtime/component-normalizer\"\nvar Component = normalizeComponent(\n  __vue_script__,\n  __vue_render__,\n  __vue_static_render_fns__,\n  __vue_template_functional__,\n  __vue_styles__,\n  __vue_scopeId__,\n  __vue_module_identifier__\n)\nComponent.options.__file = \"src\\\\Cart.vue\"\n\n/* hot reload */\nif (module.hot) {(function () {\n  var hotAPI = require(\"vue-hot-reload-api\")\n  hotAPI.install(require(\"vue\"), false)\n  if (!hotAPI.compatible) return\n  module.hot.accept()\n  if (!module.hot.data) {\n    hotAPI.createRecord(\"data-v-50e6d3c6\", Component.options)\n  } else {\n    hotAPI.reload(\"data-v-50e6d3c6\", Component.options)\n  }\n  module.hot.dispose(function (data) {\n    disposed = true\n  })\n})()}\n\nexport default Component.exports\n","<template>\n<div>\n    <div class=\"modal\" :class=\"{ 'is-active': visible }\">\n        <div class=\"modal-background\" @click=\"visible = false\"></div>\n        <div class=\"modal-card\">\n            <header class=\"modal-card-head\">\n                <p class=\"modal-card-title\">{{ t('Shopping Cart') }}</p>\n                <button class=\"delete\" aria-label=\"close\" @click=\"visible = false\"></button>\n            </header>\n            <section class=\"modal-card-body\">\n                <!-- Product name -->\n                <div class=\"is-size-5\">\n                    {{ t(\"You're purchasing\") }} <span class=\"has-text-info\">{{ productName }}</span>\n                    <input type=\"hidden\" name=\"price\" :value=\"price\">\n                </div><br>\n\n                <div class=\"columns is-mobile\">\n                    <div class=\"column\">\n                        <!-- Quantity -->\n                        <div class=\"field is-horizontal\">\n                            <div class=\"field-label\">\n                                <label class=\"label\">{{ t('Quantity') }}</label>\n                            </div>\n                            <div class=\"field-body\">\n                                <div class=\"field is-expanded\">\n                                    <div class=\"field has-addons\">\n                                        <p class=\"control\">\n                                            <a href=\"#\" class=\"button\" @click=\"decCount()\"><svg xmlns=\"http://www.w3.org/2000/svg\" height=\"1em\" viewBox=\"0 0 448 512\"><!--! Font Awesome Free 6.4.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license (Commercial License) Copyright 2023 Fonticons, Inc. --><path d=\"M432 256c0 17.7-14.3 32-32 32L48 288c-17.7 0-32-14.3-32-32s14.3-32 32-32l352 0c17.7 0 32 14.3 32 32z\"/></svg></a>\n                                        </p>\n                                        <p class=\"control is-expanded\">\n                                            <input class=\"input\" :class=\"{'is-danger': invalid.quantity}\" name=\"quantity\" type=\"number\" v-model=\"quantity\" @input=\"resetHelper('quantity')\"  @blur=\"validate('quantity')\">\n                                        </p>\n                                        <p class=\"control\">\n                                            <a href=\"#\" class=\"button\" @click=\"incCount()\"><svg xmlns=\"http://www.w3.org/2000/svg\" height=\"1em\" viewBox=\"0 0 448 512\"><!--! Font Awesome Free 6.4.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license (Commercial License) Copyright 2023 Fonticons, Inc. --><path d=\"M256 80c0-17.7-14.3-32-32-32s-32 14.3-32 32V224H48c-17.7 0-32 14.3-32 32s14.3 32 32 32H192V432c0 17.7 14.3 32 32 32s32-14.3 32-32V288H400c17.7 0 32-14.3 32-32s-14.3-32-32-32H256V80z\"/></svg></a>\n                                        </p>\n                                    </div>\n                                    <p v-if=\"invalid.quantity\" class=\"help is-danger\">{{ t('Input a number between') }} {{ minQuantity }} {{ t('and') }} {{ maxQuantity }}</p>\n                                </div>\n                            </div>\n                        </div>\n                    </div>\n                    <div class=\"column\">\n                        <!-- Cost -->\n                        <div class=\"field is-horizontal\">\n                            <div class=\"field-label is-normal\">\n                                <label class=\"label\">{{ t('Cost') }}</label>\n                            </div>\n                            <div class=\"field-body\">\n                                <div class=\"field has-addons\">\n                                    <p class=\"control\">\n                                        <input class=\"input\" name=\"cost\" type=\"text\" readonly :value=\"quantity * price\">\n                                    </p>\n                                    <p class=\"control\">\n                                        <span class=\"button is-static\">{{ currency }}</span>\n                                    </p>\n                                </div>\n                            </div>\n                        </div>\n                    </div>\n                </div>\n\n                <!-- Name -->\n                <div class=\"field is-horizontal\">\n                    <div class=\"field-label is-normal\">\n                        <label class=\"label\">{{ t('Your name') }}</label>\n                    </div>\n                    <div class=\"field-body\">\n                        <div class=\"field\">\n                            <div class=\"control\">\n                                <input class=\"input\" :class=\"{'is-danger': invalid.name}\" type=\"text\" name=\"name\" v-model=\"name\" :placeholder=\"t('Input your name')\" @input=\"resetHelper('name')\"  @blur=\"validate('name')\">\n                            </div>\n                            <p v-if=\"invalid.name\" class=\"help is-danger\">{{ t('Name is required') }}</p>\n                        </div>\n                    </div>\n                </div>\n\n                <!-- Phone -->\n                <div class=\"field is-horizontal\">\n                    <div class=\"field-label is-normal\">\n                        <label class=\"label\">{{ t('Your phone') }}</label>\n                    </div>\n                    <div class=\"field-body\">\n                        <div class=\"field\">\n                            <div class=\"control\">\n                                <input class=\"input\" :class=\"{'is-danger': invalid.phone}\" type=\"tel\" name=\"phone\" :placeholder=\"t('In international format')\" v-model=\"phone\" @input=\"resetHelper('phone')\"  @blur=\"validate('phone')\">\n                            </div>\n                            <p v-if=\"invalid.phone\" class=\"help is-danger\">{{ t('Phone is required') }}</p>\n                        </div>\n                    </div>\n                </div>\n\n                <!-- Email -->\n                <div class=\"field is-horizontal\">\n                    <div class=\"field-label is-normal\">\n                        <label class=\"label\">{{ t('Email') }}</label>\n                    </div>\n                    <div class=\"field-body\">\n                        <div class=\"field\">\n                            <div class=\"control has-icons-left\">\n                                <input class=\"input\" :class=\"{'is-danger': invalid.email}\" type=\"email\" name=\"email\" v-model=\"email\" placeholder=\"you@email.com\" @input=\"resetHelper('email')\"  @blur=\"validate('email')\">\n                                <span class=\"icon is-small is-left\">\n                                    <svg style=\"fill: #DBDBDB\" xmlns=\"http://www.w3.org/2000/svg\" height=\"1em\" viewBox=\"0 0 512 512\"><!--! Font Awesome Free 6.4.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license (Commercial License) Copyright 2023 Fonticons, Inc. --><path d=\"M48 64C21.5 64 0 85.5 0 112c0 15.1 7.1 29.3 19.2 38.4L236.8 313.6c11.4 8.5 27 8.5 38.4 0L492.8 150.4c12.1-9.1 19.2-23.3 19.2-38.4c0-26.5-21.5-48-48-48H48zM0 176V384c0 35.3 28.7 64 64 64H448c35.3 0 64-28.7 64-64V176L294.4 339.2c-22.8 17.1-54 17.1-76.8 0L0 176z\"/></svg>\n                                </span>\n                            </div>\n                            <p v-if=\"invalid.email\" class=\"help is-danger\">{{ t('This email is invalid') }}</p>\n                        </div>\n                    </div>\n                </div>\n\n                <!-- Shipment -->\n                <div class=\"field is-horizontal\">\n                    <div class=\"field-label is-normal\">\n                        <label class=\"label\">{{ t('Ship to') }}</label>\n                    </div>\n                    <div class=\"field-body\">\n                        <div class=\"field is-narrow\">\n                            <div class=\"control\">\n                                <div class=\"select is-fullwidth\">\n                                <select name=\"shipment_id\" v-model=\"shipment_id\">\n                                    <option v-for=\"row of shipMethods\" :key=\"row.id\" :value=\"row.id\">{{ row.name }}</option>\n                                </select>\n                                </div>\n                            </div>\n                        </div>\n                    </div>\n                </div>\n\n                <!-- Address -->\n                <div class=\"field is-horizontal\">\n                    <div class=\"field-label is-normal\">\n                        <label class=\"label\">{{ t('Shipping address') }}</label>\n                    </div>\n                    <div class=\"field-body\">\n                        <div class=\"field\">\n                            <div class=\"control\">\n                                <textarea class=\"textarea\" :class=\"{'is-danger': invalid.address}\" name=\"address\" v-model=\"address\" :placeholder=\"t('Please input shipping address carefully')\" @input=\"resetHelper('address')\"  @blur=\"validate('address')\"></textarea>\n                            </div>\n                            <p v-if=\"invalid.address\" class=\"help is-danger\">{{ t('Address is required') }}</p>\n                        </div>\n                    </div>\n                </div>\n\n                <!-- Comment -->\n                <div class=\"field is-horizontal\">\n                    <div class=\"field-label is-normal\">\n                        <label class=\"label\">{{ t('Comment') }}</label>\n                    </div>\n                    <div class=\"field-body\">\n                        <div class=\"field\">\n                            <div class=\"control\">\n                                <textarea class=\"textarea\" name=\"comment\" v-model=\"comment\" :placeholder=\"t('Additional information (optional)')\"></textarea>\n                            </div>\n                        </div>\n                    </div>\n                </div>\n\n            </section>\n            <footer class=\"modal-card-foot\">\n                <button class=\"button is-primary\" @click.prevent=\"placeOrder()\">{{ t('Place order') }}</button>\n                <button class=\"button\" @click=\"visible = false\">{{  t('Cancel') }}</button>\n                <button class=\"button\" @click=\"resetForm()\">{{  t('Reset form') }}</button>\n            </footer>\n        </div>\n    </div>\n\n    <div class=\"modal\" :class=\"{ 'is-active': orderPlaced }\">\n        <div class=\"modal-background\" @click=\"orderPlaced = false\"></div>\n        <div class=\"modal-content\">\n            <div class=\"box\" @click=\"orderPlaced = false\">\n                {{ t('You have placed the order successfully') }}.<br>\n                {{ t('Our employee will contact you as soon as possible') }}.\n            </div>\n        </div>\n        <button class=\"modal-close is-large\" aria-label=\"close\" @click=\"orderPlaced = false\"></button>\n    </div>\n</div>\n</template>\n\n<script>\nimport axios from 'axios';\n\nexport default {\n    data() {\n        return {\n            productName: productName,\n            price: price,\n            currency: currency,\n            quantity: 0,\n            translation: {},\n            visible: false,\n            name: '',\n            phone: '',\n            email: '',\n            shipment_id: 0,\n            address: '',\n            comment: '',\n            shipMethods: [],\n            orderPlaced: false,\n            invalid: {},\n            minQuantity: 1,\n            maxQuantity: 20,\n        }\n    },\n\n    methods: {\n        t(txt) {\n            return this.$data.translation[txt] || txt;\n        },\n\n        addToCart(count) {\n            if (Number(count)) this.quantity += Number(count);\n            else this.quantity = this.quantity || 1;\n            this.orderPlaced = false;\n            this.visible = true;\n        },\n\n        decCount() {\n            this.quantity--;\n            if (this.quantity < this.minQuantity) this.quantity = this.minQuantity;\n        },\n\n        incCount() {\n            this.quantity++;\n            if (this.quantity > this.maxQuantity) this.quantity = this.maxQuantity;\n        },\n\n        placeOrder() {\n            const attrs = ['quantity', 'price', 'name', 'phone', 'email', 'shipment_id', 'address', 'comment'];\n            let formValid = true;\n            for (let attr of attrs) formValid = this.validate(attr) && formValid;\n            if (! formValid) return;\n            const formData = new FormData;\n            formData.set(csrfParam, csrfToken);\n            formData.set('Order[lang]', lang);\n            for (let attr of attrs) formData.set('Order[' + attr + ']', this[attr]);\n            axios.post(placeOrderUrl, formData, { headers: {'Content-Type': 'multipart/form-data' } })\n            .then( response => {\n                if (response.data.result === 'OK') {\n                    this.visible = false;\n                    this.quantity = 0;\n                    this.orderPlaced = true;\n                } else {\n                    alert(this.t('An error occured'));\n                }\n            })\n            .catch( error => {\n                alert(this.t('An error occured'));\n            });\n        },\n\n        resetForm() {\n            this.quantity = 1;\n            this.name = '';\n            this.phone = '';\n            this.email = '';\n            this.shipment_id = this.shipMethods[0].id;\n            this.address = '';\n            this.comment = '';\n            this.resetAllHelpers();\n        },\n\n        resetHelper(field) {\n            this.invalid[field] = false;\n        },\n\n        resetAllHelpers() {\n            this.invalid = {\n                quantity: false,\n                name: false,\n                phone: false,\n                email: false,\n                address: false,\n            }\n        },\n\n        validate(attr) {\n            if (typeof this[attr] === 'string') {\n                this[attr] = this[attr].trim();\n            }\n            let valid = true;\n            switch (attr) {\n                case 'quantity':\n                    valid = typeof this.quantity === 'number' && this.quantity >= this.minQuantity && this.quantity <= this.maxQuantity;\n                    break;\n                case 'price':\n                    break;\n                case 'name':\n                    this.name = this.name.substring(0, 50);\n                    valid = this.name.match(/^\\S+\\s+\\S+/);\n                    break;\n                case 'phone':\n                    this.phone = this.phone.replace(/\\D/g, '');\n                    valid = /^(38)?0\\d{9}$/.test(this.phone) || /^7\\d{10}$/.test(this.phone);\n                    break;\n                case 'email':\n                    this.email = this.email.substring(0, 50);\n                    valid = this.email === '' || this.email.match(/^\\S+@\\S+$/);\n                    break;\n                case 'shipment_id':\n                    break;\n                case 'address':\n                    this.address = this.address.substring(0, 200);\n                    valid = this.address !== '';\n                    break;\n                case 'comment':\n                    this.comment = this.comment.substring(0, 300);\n                    break;\n                default:\n                    console.error('Unknown attribute: ' + attr);\n                    valid = false;\n            }\n            this.invalid[attr] = ! valid;\n            return valid;\n        }\n    },\n\n    mounted() {\n        axios.get(getTranslationUrl, { params: {lang: lang, category: 'cart'} })\n        .then( response => {\n            this.$data.translation = response.data;\n        });\n        axios.get(getShippingUrl, { params: {lang: lang} })\n        .then( response => {\n            this.$data.shipMethods = response.data.map(row => { return {id: Number(row.id), name: row.name} });\n            this.$data.shipment_id = this.$data.shipMethods[0].id;\n        });\n        this.resetAllHelpers();\n    }\n}\n</script>\n\n<style>\ninput::-webkit-outer-spin-button,\ninput::-webkit-inner-spin-button {\n    /* display: none; <- Crashes Chrome on hover */\n    -webkit-appearance: none;\n    margin: 0; /* <-- Apparently some margin are still there even though it's hidden */\n}\n\ninput[type=number] {\n    -moz-appearance:textfield; /* Firefox */\n}\n</style>\n","// style-loader: Adds some css to the DOM by adding a <style> tag\n\n// load the styles\nvar content = require(\"!!../node_modules/css-loader/index.js?sourceMap!../node_modules/vue-loader/lib/style-compiler/index.js?{\\\"optionsId\\\":\\\"0\\\",\\\"vue\\\":true,\\\"scoped\\\":false,\\\"sourceMap\\\":true}!../node_modules/vue-loader/lib/selector.js?type=styles&index=0!./Cart.vue\");\nif(typeof content === 'string') content = [[module.id, content, '']];\nif(content.locals) module.exports = content.locals;\n// add the styles to the DOM\nvar add = require(\"!../node_modules/vue-style-loader/lib/addStylesClient.js\").default\nvar update = add(\"871a3bcc\", content, false, {});\n// Hot Module Replacement\nif(module.hot) {\n // When the styles change, update the <style> tags\n if(!content.locals) {\n   module.hot.accept(\"!!../node_modules/css-loader/index.js?sourceMap!../node_modules/vue-loader/lib/style-compiler/index.js?{\\\"optionsId\\\":\\\"0\\\",\\\"vue\\\":true,\\\"scoped\\\":false,\\\"sourceMap\\\":true}!../node_modules/vue-loader/lib/selector.js?type=styles&index=0!./Cart.vue\", function() {\n     var newContent = require(\"!!../node_modules/css-loader/index.js?sourceMap!../node_modules/vue-loader/lib/style-compiler/index.js?{\\\"optionsId\\\":\\\"0\\\",\\\"vue\\\":true,\\\"scoped\\\":false,\\\"sourceMap\\\":true}!../node_modules/vue-loader/lib/selector.js?type=styles&index=0!./Cart.vue\");\n     if(typeof newContent === 'string') newContent = [[module.id, newContent, '']];\n     update(newContent);\n   });\n }\n // When the module is disposed, remove the <style> tags\n module.hot.dispose(function() { update(); });\n}","exports = module.exports = require(\"../node_modules/css-loader/lib/css-base.js\")(true);\n// imports\n\n\n// module\nexports.push([module.id, \"\\ninput::-webkit-outer-spin-button,\\ninput::-webkit-inner-spin-button{\\n    -webkit-appearance:none;\\n    margin:0;\\n}\\ninput[type=number]{\\n    -moz-appearance:textfield;\\n}\\n\", \"\", {\"version\":3,\"sources\":[\"C:/OpenServer/domains/mifepriston/src/src/Cart.vue\"],\"names\":[],\"mappings\":\";AA4UA;;IAGA,wBAAA;IACA,SAAA;CACA;AAEA;IACA,0BAAA;CACA\",\"file\":\"Cart.vue\",\"sourcesContent\":[\"<template>\\n<div>\\n    <div class=\\\"modal\\\" :class=\\\"{ 'is-active': visible }\\\">\\n        <div class=\\\"modal-background\\\" @click=\\\"visible = false\\\"></div>\\n        <div class=\\\"modal-card\\\">\\n            <header class=\\\"modal-card-head\\\">\\n                <p class=\\\"modal-card-title\\\">{{ t('Shopping Cart') }}</p>\\n                <button class=\\\"delete\\\" aria-label=\\\"close\\\" @click=\\\"visible = false\\\"></button>\\n            </header>\\n            <section class=\\\"modal-card-body\\\">\\n                <!-- Product name -->\\n                <div class=\\\"is-size-5\\\">\\n                    {{ t(\\\"You're purchasing\\\") }} <span class=\\\"has-text-info\\\">{{ productName }}</span>\\n                    <input type=\\\"hidden\\\" name=\\\"price\\\" :value=\\\"price\\\">\\n                </div><br>\\n\\n                <div class=\\\"columns is-mobile\\\">\\n                    <div class=\\\"column\\\">\\n                        <!-- Quantity -->\\n                        <div class=\\\"field is-horizontal\\\">\\n                            <div class=\\\"field-label\\\">\\n                                <label class=\\\"label\\\">{{ t('Quantity') }}</label>\\n                            </div>\\n                            <div class=\\\"field-body\\\">\\n                                <div class=\\\"field is-expanded\\\">\\n                                    <div class=\\\"field has-addons\\\">\\n                                        <p class=\\\"control\\\">\\n                                            <a href=\\\"#\\\" class=\\\"button\\\" @click=\\\"decCount()\\\"><svg xmlns=\\\"http://www.w3.org/2000/svg\\\" height=\\\"1em\\\" viewBox=\\\"0 0 448 512\\\"><!--! Font Awesome Free 6.4.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license (Commercial License) Copyright 2023 Fonticons, Inc. --><path d=\\\"M432 256c0 17.7-14.3 32-32 32L48 288c-17.7 0-32-14.3-32-32s14.3-32 32-32l352 0c17.7 0 32 14.3 32 32z\\\"/></svg></a>\\n                                        </p>\\n                                        <p class=\\\"control is-expanded\\\">\\n                                            <input class=\\\"input\\\" :class=\\\"{'is-danger': invalid.quantity}\\\" name=\\\"quantity\\\" type=\\\"number\\\" v-model=\\\"quantity\\\" @input=\\\"resetHelper('quantity')\\\"  @blur=\\\"validate('quantity')\\\">\\n                                        </p>\\n                                        <p class=\\\"control\\\">\\n                                            <a href=\\\"#\\\" class=\\\"button\\\" @click=\\\"incCount()\\\"><svg xmlns=\\\"http://www.w3.org/2000/svg\\\" height=\\\"1em\\\" viewBox=\\\"0 0 448 512\\\"><!--! Font Awesome Free 6.4.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license (Commercial License) Copyright 2023 Fonticons, Inc. --><path d=\\\"M256 80c0-17.7-14.3-32-32-32s-32 14.3-32 32V224H48c-17.7 0-32 14.3-32 32s14.3 32 32 32H192V432c0 17.7 14.3 32 32 32s32-14.3 32-32V288H400c17.7 0 32-14.3 32-32s-14.3-32-32-32H256V80z\\\"/></svg></a>\\n                                        </p>\\n                                    </div>\\n                                    <p v-if=\\\"invalid.quantity\\\" class=\\\"help is-danger\\\">{{ t('Input a number between') }} {{ minQuantity }} {{ t('and') }} {{ maxQuantity }}</p>\\n                                </div>\\n                            </div>\\n                        </div>\\n                    </div>\\n                    <div class=\\\"column\\\">\\n                        <!-- Cost -->\\n                        <div class=\\\"field is-horizontal\\\">\\n                            <div class=\\\"field-label is-normal\\\">\\n                                <label class=\\\"label\\\">{{ t('Cost') }}</label>\\n                            </div>\\n                            <div class=\\\"field-body\\\">\\n                                <div class=\\\"field has-addons\\\">\\n                                    <p class=\\\"control\\\">\\n                                        <input class=\\\"input\\\" name=\\\"cost\\\" type=\\\"text\\\" readonly :value=\\\"quantity * price\\\">\\n                                    </p>\\n                                    <p class=\\\"control\\\">\\n                                        <span class=\\\"button is-static\\\">{{ currency }}</span>\\n                                    </p>\\n                                </div>\\n                            </div>\\n                        </div>\\n                    </div>\\n                </div>\\n\\n                <!-- Name -->\\n                <div class=\\\"field is-horizontal\\\">\\n                    <div class=\\\"field-label is-normal\\\">\\n                        <label class=\\\"label\\\">{{ t('Your name') }}</label>\\n                    </div>\\n                    <div class=\\\"field-body\\\">\\n                        <div class=\\\"field\\\">\\n                            <div class=\\\"control\\\">\\n                                <input class=\\\"input\\\" :class=\\\"{'is-danger': invalid.name}\\\" type=\\\"text\\\" name=\\\"name\\\" v-model=\\\"name\\\" :placeholder=\\\"t('Input your name')\\\" @input=\\\"resetHelper('name')\\\"  @blur=\\\"validate('name')\\\">\\n                            </div>\\n                            <p v-if=\\\"invalid.name\\\" class=\\\"help is-danger\\\">{{ t('Name is required') }}</p>\\n                        </div>\\n                    </div>\\n                </div>\\n\\n                <!-- Phone -->\\n                <div class=\\\"field is-horizontal\\\">\\n                    <div class=\\\"field-label is-normal\\\">\\n                        <label class=\\\"label\\\">{{ t('Your phone') }}</label>\\n                    </div>\\n                    <div class=\\\"field-body\\\">\\n                        <div class=\\\"field\\\">\\n                            <div class=\\\"control\\\">\\n                                <input class=\\\"input\\\" :class=\\\"{'is-danger': invalid.phone}\\\" type=\\\"tel\\\" name=\\\"phone\\\" :placeholder=\\\"t('In international format')\\\" v-model=\\\"phone\\\" @input=\\\"resetHelper('phone')\\\"  @blur=\\\"validate('phone')\\\">\\n                            </div>\\n                            <p v-if=\\\"invalid.phone\\\" class=\\\"help is-danger\\\">{{ t('Phone is required') }}</p>\\n                        </div>\\n                    </div>\\n                </div>\\n\\n                <!-- Email -->\\n                <div class=\\\"field is-horizontal\\\">\\n                    <div class=\\\"field-label is-normal\\\">\\n                        <label class=\\\"label\\\">{{ t('Email') }}</label>\\n                    </div>\\n                    <div class=\\\"field-body\\\">\\n                        <div class=\\\"field\\\">\\n                            <div class=\\\"control has-icons-left\\\">\\n                                <input class=\\\"input\\\" :class=\\\"{'is-danger': invalid.email}\\\" type=\\\"email\\\" name=\\\"email\\\" v-model=\\\"email\\\" placeholder=\\\"you@email.com\\\" @input=\\\"resetHelper('email')\\\"  @blur=\\\"validate('email')\\\">\\n                                <span class=\\\"icon is-small is-left\\\">\\n                                    <svg style=\\\"fill: #DBDBDB\\\" xmlns=\\\"http://www.w3.org/2000/svg\\\" height=\\\"1em\\\" viewBox=\\\"0 0 512 512\\\"><!--! Font Awesome Free 6.4.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license (Commercial License) Copyright 2023 Fonticons, Inc. --><path d=\\\"M48 64C21.5 64 0 85.5 0 112c0 15.1 7.1 29.3 19.2 38.4L236.8 313.6c11.4 8.5 27 8.5 38.4 0L492.8 150.4c12.1-9.1 19.2-23.3 19.2-38.4c0-26.5-21.5-48-48-48H48zM0 176V384c0 35.3 28.7 64 64 64H448c35.3 0 64-28.7 64-64V176L294.4 339.2c-22.8 17.1-54 17.1-76.8 0L0 176z\\\"/></svg>\\n                                </span>\\n                            </div>\\n                            <p v-if=\\\"invalid.email\\\" class=\\\"help is-danger\\\">{{ t('This email is invalid') }}</p>\\n                        </div>\\n                    </div>\\n                </div>\\n\\n                <!-- Shipment -->\\n                <div class=\\\"field is-horizontal\\\">\\n                    <div class=\\\"field-label is-normal\\\">\\n                        <label class=\\\"label\\\">{{ t('Ship to') }}</label>\\n                    </div>\\n                    <div class=\\\"field-body\\\">\\n                        <div class=\\\"field is-narrow\\\">\\n                            <div class=\\\"control\\\">\\n                                <div class=\\\"select is-fullwidth\\\">\\n                                <select name=\\\"shipment_id\\\" v-model=\\\"shipment_id\\\">\\n                                    <option v-for=\\\"row of shipMethods\\\" :key=\\\"row.id\\\" :value=\\\"row.id\\\">{{ row.name }}</option>\\n                                </select>\\n                                </div>\\n                            </div>\\n                        </div>\\n                    </div>\\n                </div>\\n\\n                <!-- Address -->\\n                <div class=\\\"field is-horizontal\\\">\\n                    <div class=\\\"field-label is-normal\\\">\\n                        <label class=\\\"label\\\">{{ t('Shipping address') }}</label>\\n                    </div>\\n                    <div class=\\\"field-body\\\">\\n                        <div class=\\\"field\\\">\\n                            <div class=\\\"control\\\">\\n                                <textarea class=\\\"textarea\\\" :class=\\\"{'is-danger': invalid.address}\\\" name=\\\"address\\\" v-model=\\\"address\\\" :placeholder=\\\"t('Please input shipping address carefully')\\\" @input=\\\"resetHelper('address')\\\"  @blur=\\\"validate('address')\\\"></textarea>\\n                            </div>\\n                            <p v-if=\\\"invalid.address\\\" class=\\\"help is-danger\\\">{{ t('Address is required') }}</p>\\n                        </div>\\n                    </div>\\n                </div>\\n\\n                <!-- Comment -->\\n                <div class=\\\"field is-horizontal\\\">\\n                    <div class=\\\"field-label is-normal\\\">\\n                        <label class=\\\"label\\\">{{ t('Comment') }}</label>\\n                    </div>\\n                    <div class=\\\"field-body\\\">\\n                        <div class=\\\"field\\\">\\n                            <div class=\\\"control\\\">\\n                                <textarea class=\\\"textarea\\\" name=\\\"comment\\\" v-model=\\\"comment\\\" :placeholder=\\\"t('Additional information (optional)')\\\"></textarea>\\n                            </div>\\n                        </div>\\n                    </div>\\n                </div>\\n\\n            </section>\\n            <footer class=\\\"modal-card-foot\\\">\\n                <button class=\\\"button is-primary\\\" @click.prevent=\\\"placeOrder()\\\">{{ t('Place order') }}</button>\\n                <button class=\\\"button\\\" @click=\\\"visible = false\\\">{{  t('Cancel') }}</button>\\n                <button class=\\\"button\\\" @click=\\\"resetForm()\\\">{{  t('Reset form') }}</button>\\n            </footer>\\n        </div>\\n    </div>\\n\\n    <div class=\\\"modal\\\" :class=\\\"{ 'is-active': orderPlaced }\\\">\\n        <div class=\\\"modal-background\\\" @click=\\\"orderPlaced = false\\\"></div>\\n        <div class=\\\"modal-content\\\">\\n            <div class=\\\"box\\\" @click=\\\"orderPlaced = false\\\">\\n                {{ t('You have placed the order successfully') }}.<br>\\n                {{ t('Our employee will contact you as soon as possible') }}.\\n            </div>\\n        </div>\\n        <button class=\\\"modal-close is-large\\\" aria-label=\\\"close\\\" @click=\\\"orderPlaced = false\\\"></button>\\n    </div>\\n</div>\\n</template>\\n\\n<script>\\nimport axios from 'axios';\\n\\nexport default {\\n    data() {\\n        return {\\n            productName: productName,\\n            price: price,\\n            currency: currency,\\n            quantity: 0,\\n            translation: {},\\n            visible: false,\\n            name: '',\\n            phone: '',\\n            email: '',\\n            shipment_id: 0,\\n            address: '',\\n            comment: '',\\n            shipMethods: [],\\n            orderPlaced: false,\\n            invalid: {},\\n            minQuantity: 1,\\n            maxQuantity: 20,\\n        }\\n    },\\n\\n    methods: {\\n        t(txt) {\\n            return this.$data.translation[txt] || txt;\\n        },\\n\\n        addToCart(count) {\\n            if (Number(count)) this.quantity += Number(count);\\n            else this.quantity = this.quantity || 1;\\n            this.orderPlaced = false;\\n            this.visible = true;\\n        },\\n\\n        decCount() {\\n            this.quantity--;\\n            if (this.quantity < this.minQuantity) this.quantity = this.minQuantity;\\n        },\\n\\n        incCount() {\\n            this.quantity++;\\n            if (this.quantity > this.maxQuantity) this.quantity = this.maxQuantity;\\n        },\\n\\n        placeOrder() {\\n            const attrs = ['quantity', 'price', 'name', 'phone', 'email', 'shipment_id', 'address', 'comment'];\\n            let formValid = true;\\n            for (let attr of attrs) formValid = this.validate(attr) && formValid;\\n            if (! formValid) return;\\n            const formData = new FormData;\\n            formData.set(csrfParam, csrfToken);\\n            formData.set('Order[lang]', lang);\\n            for (let attr of attrs) formData.set('Order[' + attr + ']', this[attr]);\\n            axios.post(placeOrderUrl, formData, { headers: {'Content-Type': 'multipart/form-data' } })\\n            .then( response => {\\n                if (response.data.result === 'OK') {\\n                    this.visible = false;\\n                    this.quantity = 0;\\n                    this.orderPlaced = true;\\n                } else {\\n                    alert(this.t('An error occured'));\\n                }\\n            })\\n            .catch( error => {\\n                alert(this.t('An error occured'));\\n            });\\n        },\\n\\n        resetForm() {\\n            this.quantity = 1;\\n            this.name = '';\\n            this.phone = '';\\n            this.email = '';\\n            this.shipment_id = this.shipMethods[0].id;\\n            this.address = '';\\n            this.comment = '';\\n            this.resetAllHelpers();\\n        },\\n\\n        resetHelper(field) {\\n            this.invalid[field] = false;\\n        },\\n\\n        resetAllHelpers() {\\n            this.invalid = {\\n                quantity: false,\\n                name: false,\\n                phone: false,\\n                email: false,\\n                address: false,\\n            }\\n        },\\n\\n        validate(attr) {\\n            if (typeof this[attr] === 'string') {\\n                this[attr] = this[attr].trim();\\n            }\\n            let valid = true;\\n            switch (attr) {\\n                case 'quantity':\\n                    valid = typeof this.quantity === 'number' && this.quantity >= this.minQuantity && this.quantity <= this.maxQuantity;\\n                    break;\\n                case 'price':\\n                    break;\\n                case 'name':\\n                    this.name = this.name.substring(0, 50);\\n                    valid = this.name.match(/^\\\\S+\\\\s+\\\\S+/);\\n                    break;\\n                case 'phone':\\n                    this.phone = this.phone.replace(/\\\\D/g, '');\\n                    valid = /^(38)?0\\\\d{9}$/.test(this.phone) || /^7\\\\d{10}$/.test(this.phone);\\n                    break;\\n                case 'email':\\n                    this.email = this.email.substring(0, 50);\\n                    valid = this.email === '' || this.email.match(/^\\\\S+@\\\\S+$/);\\n                    break;\\n                case 'shipment_id':\\n                    break;\\n                case 'address':\\n                    this.address = this.address.substring(0, 200);\\n                    valid = this.address !== '';\\n                    break;\\n                case 'comment':\\n                    this.comment = this.comment.substring(0, 300);\\n                    break;\\n                default:\\n                    console.error('Unknown attribute: ' + attr);\\n                    valid = false;\\n            }\\n            this.invalid[attr] = ! valid;\\n            return valid;\\n        }\\n    },\\n\\n    mounted() {\\n        axios.get(getTranslationUrl, { params: {lang: lang, category: 'cart'} })\\n        .then( response => {\\n            this.$data.translation = response.data;\\n        });\\n        axios.get(getShippingUrl, { params: {lang: lang} })\\n        .then( response => {\\n            this.$data.shipMethods = response.data.map(row => { return {id: Number(row.id), name: row.name} });\\n            this.$data.shipment_id = this.$data.shipMethods[0].id;\\n        });\\n        this.resetAllHelpers();\\n    }\\n}\\n</script>\\n\\n<style>\\ninput::-webkit-outer-spin-button,\\ninput::-webkit-inner-spin-button {\\n    /* display: none; <- Crashes Chrome on hover */\\n    -webkit-appearance: none;\\n    margin: 0; /* <-- Apparently some margin are still there even though it's hidden */\\n}\\n\\ninput[type=number] {\\n    -moz-appearance:textfield; /* Firefox */\\n}\\n</style>\\n\"],\"sourceRoot\":\"\"}]);\n\n// exports\n","var render = function() {\n  var _vm = this\n  var _h = _vm.$createElement\n  var _c = _vm._self._c || _h\n  return _c(\"div\", [\n    _c(\"div\", { staticClass: \"modal\", class: { \"is-active\": _vm.visible } }, [\n      _c(\"div\", {\n        staticClass: \"modal-background\",\n        on: {\n          click: function($event) {\n            _vm.visible = false\n          }\n        }\n      }),\n      _vm._v(\" \"),\n      _c(\"div\", { staticClass: \"modal-card\" }, [\n        _c(\"header\", { staticClass: \"modal-card-head\" }, [\n          _c(\"p\", { staticClass: \"modal-card-title\" }, [\n            _vm._v(_vm._s(_vm.t(\"Shopping Cart\")))\n          ]),\n          _vm._v(\" \"),\n          _c(\"button\", {\n            staticClass: \"delete\",\n            attrs: { \"aria-label\": \"close\" },\n            on: {\n              click: function($event) {\n                _vm.visible = false\n              }\n            }\n          })\n        ]),\n        _vm._v(\" \"),\n        _c(\"section\", { staticClass: \"modal-card-body\" }, [\n          _c(\"div\", { staticClass: \"is-size-5\" }, [\n            _vm._v(\n              \"\\n                    \" +\n                _vm._s(_vm.t(\"You're purchasing\")) +\n                \" \"\n            ),\n            _c(\"span\", { staticClass: \"has-text-info\" }, [\n              _vm._v(_vm._s(_vm.productName))\n            ]),\n            _vm._v(\" \"),\n            _c(\"input\", {\n              attrs: { type: \"hidden\", name: \"price\" },\n              domProps: { value: _vm.price }\n            })\n          ]),\n          _c(\"br\"),\n          _vm._v(\" \"),\n          _c(\"div\", { staticClass: \"columns is-mobile\" }, [\n            _c(\"div\", { staticClass: \"column\" }, [\n              _c(\"div\", { staticClass: \"field is-horizontal\" }, [\n                _c(\"div\", { staticClass: \"field-label\" }, [\n                  _c(\"label\", { staticClass: \"label\" }, [\n                    _vm._v(_vm._s(_vm.t(\"Quantity\")))\n                  ])\n                ]),\n                _vm._v(\" \"),\n                _c(\"div\", { staticClass: \"field-body\" }, [\n                  _c(\"div\", { staticClass: \"field is-expanded\" }, [\n                    _c(\"div\", { staticClass: \"field has-addons\" }, [\n                      _c(\"p\", { staticClass: \"control\" }, [\n                        _c(\n                          \"a\",\n                          {\n                            staticClass: \"button\",\n                            attrs: { href: \"#\" },\n                            on: {\n                              click: function($event) {\n                                return _vm.decCount()\n                              }\n                            }\n                          },\n                          [\n                            _c(\n                              \"svg\",\n                              {\n                                attrs: {\n                                  xmlns: \"http://www.w3.org/2000/svg\",\n                                  height: \"1em\",\n                                  viewBox: \"0 0 448 512\"\n                                }\n                              },\n                              [\n                                _c(\"path\", {\n                                  attrs: {\n                                    d:\n                                      \"M432 256c0 17.7-14.3 32-32 32L48 288c-17.7 0-32-14.3-32-32s14.3-32 32-32l352 0c17.7 0 32 14.3 32 32z\"\n                                  }\n                                })\n                              ]\n                            )\n                          ]\n                        )\n                      ]),\n                      _vm._v(\" \"),\n                      _c(\"p\", { staticClass: \"control is-expanded\" }, [\n                        _c(\"input\", {\n                          directives: [\n                            {\n                              name: \"model\",\n                              rawName: \"v-model\",\n                              value: _vm.quantity,\n                              expression: \"quantity\"\n                            }\n                          ],\n                          staticClass: \"input\",\n                          class: { \"is-danger\": _vm.invalid.quantity },\n                          attrs: { name: \"quantity\", type: \"number\" },\n                          domProps: { value: _vm.quantity },\n                          on: {\n                            input: [\n                              function($event) {\n                                if ($event.target.composing) {\n                                  return\n                                }\n                                _vm.quantity = $event.target.value\n                              },\n                              function($event) {\n                                return _vm.resetHelper(\"quantity\")\n                              }\n                            ],\n                            blur: function($event) {\n                              return _vm.validate(\"quantity\")\n                            }\n                          }\n                        })\n                      ]),\n                      _vm._v(\" \"),\n                      _c(\"p\", { staticClass: \"control\" }, [\n                        _c(\n                          \"a\",\n                          {\n                            staticClass: \"button\",\n                            attrs: { href: \"#\" },\n                            on: {\n                              click: function($event) {\n                                return _vm.incCount()\n                              }\n                            }\n                          },\n                          [\n                            _c(\n                              \"svg\",\n                              {\n                                attrs: {\n                                  xmlns: \"http://www.w3.org/2000/svg\",\n                                  height: \"1em\",\n                                  viewBox: \"0 0 448 512\"\n                                }\n                              },\n                              [\n                                _c(\"path\", {\n                                  attrs: {\n                                    d:\n                                      \"M256 80c0-17.7-14.3-32-32-32s-32 14.3-32 32V224H48c-17.7 0-32 14.3-32 32s14.3 32 32 32H192V432c0 17.7 14.3 32 32 32s32-14.3 32-32V288H400c17.7 0 32-14.3 32-32s-14.3-32-32-32H256V80z\"\n                                  }\n                                })\n                              ]\n                            )\n                          ]\n                        )\n                      ])\n                    ]),\n                    _vm._v(\" \"),\n                    _vm.invalid.quantity\n                      ? _c(\"p\", { staticClass: \"help is-danger\" }, [\n                          _vm._v(\n                            _vm._s(_vm.t(\"Input a number between\")) +\n                              \" \" +\n                              _vm._s(_vm.minQuantity) +\n                              \" \" +\n                              _vm._s(_vm.t(\"and\")) +\n                              \" \" +\n                              _vm._s(_vm.maxQuantity)\n                          )\n                        ])\n                      : _vm._e()\n                  ])\n                ])\n              ])\n            ]),\n            _vm._v(\" \"),\n            _c(\"div\", { staticClass: \"column\" }, [\n              _c(\"div\", { staticClass: \"field is-horizontal\" }, [\n                _c(\"div\", { staticClass: \"field-label is-normal\" }, [\n                  _c(\"label\", { staticClass: \"label\" }, [\n                    _vm._v(_vm._s(_vm.t(\"Cost\")))\n                  ])\n                ]),\n                _vm._v(\" \"),\n                _c(\"div\", { staticClass: \"field-body\" }, [\n                  _c(\"div\", { staticClass: \"field has-addons\" }, [\n                    _c(\"p\", { staticClass: \"control\" }, [\n                      _c(\"input\", {\n                        staticClass: \"input\",\n                        attrs: { name: \"cost\", type: \"text\", readonly: \"\" },\n                        domProps: { value: _vm.quantity * _vm.price }\n                      })\n                    ]),\n                    _vm._v(\" \"),\n                    _c(\"p\", { staticClass: \"control\" }, [\n                      _c(\"span\", { staticClass: \"button is-static\" }, [\n                        _vm._v(_vm._s(_vm.currency))\n                      ])\n                    ])\n                  ])\n                ])\n              ])\n            ])\n          ]),\n          _vm._v(\" \"),\n          _c(\"div\", { staticClass: \"field is-horizontal\" }, [\n            _c(\"div\", { staticClass: \"field-label is-normal\" }, [\n              _c(\"label\", { staticClass: \"label\" }, [\n                _vm._v(_vm._s(_vm.t(\"Your name\")))\n              ])\n            ]),\n            _vm._v(\" \"),\n            _c(\"div\", { staticClass: \"field-body\" }, [\n              _c(\"div\", { staticClass: \"field\" }, [\n                _c(\"div\", { staticClass: \"control\" }, [\n                  _c(\"input\", {\n                    directives: [\n                      {\n                        name: \"model\",\n                        rawName: \"v-model\",\n                        value: _vm.name,\n                        expression: \"name\"\n                      }\n                    ],\n                    staticClass: \"input\",\n                    class: { \"is-danger\": _vm.invalid.name },\n                    attrs: {\n                      type: \"text\",\n                      name: \"name\",\n                      placeholder: _vm.t(\"Input your name\")\n                    },\n                    domProps: { value: _vm.name },\n                    on: {\n                      input: [\n                        function($event) {\n                          if ($event.target.composing) {\n                            return\n                          }\n                          _vm.name = $event.target.value\n                        },\n                        function($event) {\n                          return _vm.resetHelper(\"name\")\n                        }\n                      ],\n                      blur: function($event) {\n                        return _vm.validate(\"name\")\n                      }\n                    }\n                  })\n                ]),\n                _vm._v(\" \"),\n                _vm.invalid.name\n                  ? _c(\"p\", { staticClass: \"help is-danger\" }, [\n                      _vm._v(_vm._s(_vm.t(\"Name is required\")))\n                    ])\n                  : _vm._e()\n              ])\n            ])\n          ]),\n          _vm._v(\" \"),\n          _c(\"div\", { staticClass: \"field is-horizontal\" }, [\n            _c(\"div\", { staticClass: \"field-label is-normal\" }, [\n              _c(\"label\", { staticClass: \"label\" }, [\n                _vm._v(_vm._s(_vm.t(\"Your phone\")))\n              ])\n            ]),\n            _vm._v(\" \"),\n            _c(\"div\", { staticClass: \"field-body\" }, [\n              _c(\"div\", { staticClass: \"field\" }, [\n                _c(\"div\", { staticClass: \"control\" }, [\n                  _c(\"input\", {\n                    directives: [\n                      {\n                        name: \"model\",\n                        rawName: \"v-model\",\n                        value: _vm.phone,\n                        expression: \"phone\"\n                      }\n                    ],\n                    staticClass: \"input\",\n                    class: { \"is-danger\": _vm.invalid.phone },\n                    attrs: {\n                      type: \"tel\",\n                      name: \"phone\",\n                      placeholder: _vm.t(\"In international format\")\n                    },\n                    domProps: { value: _vm.phone },\n                    on: {\n                      input: [\n                        function($event) {\n                          if ($event.target.composing) {\n                            return\n                          }\n                          _vm.phone = $event.target.value\n                        },\n                        function($event) {\n                          return _vm.resetHelper(\"phone\")\n                        }\n                      ],\n                      blur: function($event) {\n                        return _vm.validate(\"phone\")\n                      }\n                    }\n                  })\n                ]),\n                _vm._v(\" \"),\n                _vm.invalid.phone\n                  ? _c(\"p\", { staticClass: \"help is-danger\" }, [\n                      _vm._v(_vm._s(_vm.t(\"Phone is required\")))\n                    ])\n                  : _vm._e()\n              ])\n            ])\n          ]),\n          _vm._v(\" \"),\n          _c(\"div\", { staticClass: \"field is-horizontal\" }, [\n            _c(\"div\", { staticClass: \"field-label is-normal\" }, [\n              _c(\"label\", { staticClass: \"label\" }, [\n                _vm._v(_vm._s(_vm.t(\"Email\")))\n              ])\n            ]),\n            _vm._v(\" \"),\n            _c(\"div\", { staticClass: \"field-body\" }, [\n              _c(\"div\", { staticClass: \"field\" }, [\n                _c(\"div\", { staticClass: \"control has-icons-left\" }, [\n                  _c(\"input\", {\n                    directives: [\n                      {\n                        name: \"model\",\n                        rawName: \"v-model\",\n                        value: _vm.email,\n                        expression: \"email\"\n                      }\n                    ],\n                    staticClass: \"input\",\n                    class: { \"is-danger\": _vm.invalid.email },\n                    attrs: {\n                      type: \"email\",\n                      name: \"email\",\n                      placeholder: \"you@email.com\"\n                    },\n                    domProps: { value: _vm.email },\n                    on: {\n                      input: [\n                        function($event) {\n                          if ($event.target.composing) {\n                            return\n                          }\n                          _vm.email = $event.target.value\n                        },\n                        function($event) {\n                          return _vm.resetHelper(\"email\")\n                        }\n                      ],\n                      blur: function($event) {\n                        return _vm.validate(\"email\")\n                      }\n                    }\n                  }),\n                  _vm._v(\" \"),\n                  _c(\"span\", { staticClass: \"icon is-small is-left\" }, [\n                    _c(\n                      \"svg\",\n                      {\n                        staticStyle: { fill: \"#DBDBDB\" },\n                        attrs: {\n                          xmlns: \"http://www.w3.org/2000/svg\",\n                          height: \"1em\",\n                          viewBox: \"0 0 512 512\"\n                        }\n                      },\n                      [\n                        _c(\"path\", {\n                          attrs: {\n                            d:\n                              \"M48 64C21.5 64 0 85.5 0 112c0 15.1 7.1 29.3 19.2 38.4L236.8 313.6c11.4 8.5 27 8.5 38.4 0L492.8 150.4c12.1-9.1 19.2-23.3 19.2-38.4c0-26.5-21.5-48-48-48H48zM0 176V384c0 35.3 28.7 64 64 64H448c35.3 0 64-28.7 64-64V176L294.4 339.2c-22.8 17.1-54 17.1-76.8 0L0 176z\"\n                          }\n                        })\n                      ]\n                    )\n                  ])\n                ]),\n                _vm._v(\" \"),\n                _vm.invalid.email\n                  ? _c(\"p\", { staticClass: \"help is-danger\" }, [\n                      _vm._v(_vm._s(_vm.t(\"This email is invalid\")))\n                    ])\n                  : _vm._e()\n              ])\n            ])\n          ]),\n          _vm._v(\" \"),\n          _c(\"div\", { staticClass: \"field is-horizontal\" }, [\n            _c(\"div\", { staticClass: \"field-label is-normal\" }, [\n              _c(\"label\", { staticClass: \"label\" }, [\n                _vm._v(_vm._s(_vm.t(\"Ship to\")))\n              ])\n            ]),\n            _vm._v(\" \"),\n            _c(\"div\", { staticClass: \"field-body\" }, [\n              _c(\"div\", { staticClass: \"field is-narrow\" }, [\n                _c(\"div\", { staticClass: \"control\" }, [\n                  _c(\"div\", { staticClass: \"select is-fullwidth\" }, [\n                    _c(\n                      \"select\",\n                      {\n                        directives: [\n                          {\n                            name: \"model\",\n                            rawName: \"v-model\",\n                            value: _vm.shipment_id,\n                            expression: \"shipment_id\"\n                          }\n                        ],\n                        attrs: { name: \"shipment_id\" },\n                        on: {\n                          change: function($event) {\n                            var $$selectedVal = Array.prototype.filter\n                              .call($event.target.options, function(o) {\n                                return o.selected\n                              })\n                              .map(function(o) {\n                                var val = \"_value\" in o ? o._value : o.value\n                                return val\n                              })\n                            _vm.shipment_id = $event.target.multiple\n                              ? $$selectedVal\n                              : $$selectedVal[0]\n                          }\n                        }\n                      },\n                      _vm._l(_vm.shipMethods, function(row) {\n                        return _c(\n                          \"option\",\n                          { key: row.id, domProps: { value: row.id } },\n                          [_vm._v(_vm._s(row.name))]\n                        )\n                      }),\n                      0\n                    )\n                  ])\n                ])\n              ])\n            ])\n          ]),\n          _vm._v(\" \"),\n          _c(\"div\", { staticClass: \"field is-horizontal\" }, [\n            _c(\"div\", { staticClass: \"field-label is-normal\" }, [\n              _c(\"label\", { staticClass: \"label\" }, [\n                _vm._v(_vm._s(_vm.t(\"Shipping address\")))\n              ])\n            ]),\n            _vm._v(\" \"),\n            _c(\"div\", { staticClass: \"field-body\" }, [\n              _c(\"div\", { staticClass: \"field\" }, [\n                _c(\"div\", { staticClass: \"control\" }, [\n                  _c(\"textarea\", {\n                    directives: [\n                      {\n                        name: \"model\",\n                        rawName: \"v-model\",\n                        value: _vm.address,\n                        expression: \"address\"\n                      }\n                    ],\n                    staticClass: \"textarea\",\n                    class: { \"is-danger\": _vm.invalid.address },\n                    attrs: {\n                      name: \"address\",\n                      placeholder: _vm.t(\n                        \"Please input shipping address carefully\"\n                      )\n                    },\n                    domProps: { value: _vm.address },\n                    on: {\n                      input: [\n                        function($event) {\n                          if ($event.target.composing) {\n                            return\n                          }\n                          _vm.address = $event.target.value\n                        },\n                        function($event) {\n                          return _vm.resetHelper(\"address\")\n                        }\n                      ],\n                      blur: function($event) {\n                        return _vm.validate(\"address\")\n                      }\n                    }\n                  })\n                ]),\n                _vm._v(\" \"),\n                _vm.invalid.address\n                  ? _c(\"p\", { staticClass: \"help is-danger\" }, [\n                      _vm._v(_vm._s(_vm.t(\"Address is required\")))\n                    ])\n                  : _vm._e()\n              ])\n            ])\n          ]),\n          _vm._v(\" \"),\n          _c(\"div\", { staticClass: \"field is-horizontal\" }, [\n            _c(\"div\", { staticClass: \"field-label is-normal\" }, [\n              _c(\"label\", { staticClass: \"label\" }, [\n                _vm._v(_vm._s(_vm.t(\"Comment\")))\n              ])\n            ]),\n            _vm._v(\" \"),\n            _c(\"div\", { staticClass: \"field-body\" }, [\n              _c(\"div\", { staticClass: \"field\" }, [\n                _c(\"div\", { staticClass: \"control\" }, [\n                  _c(\"textarea\", {\n                    directives: [\n                      {\n                        name: \"model\",\n                        rawName: \"v-model\",\n                        value: _vm.comment,\n                        expression: \"comment\"\n                      }\n                    ],\n                    staticClass: \"textarea\",\n                    attrs: {\n                      name: \"comment\",\n                      placeholder: _vm.t(\"Additional information (optional)\")\n                    },\n                    domProps: { value: _vm.comment },\n                    on: {\n                      input: function($event) {\n                        if ($event.target.composing) {\n                          return\n                        }\n                        _vm.comment = $event.target.value\n                      }\n                    }\n                  })\n                ])\n              ])\n            ])\n          ])\n        ]),\n        _vm._v(\" \"),\n        _c(\"footer\", { staticClass: \"modal-card-foot\" }, [\n          _c(\n            \"button\",\n            {\n              staticClass: \"button is-primary\",\n              on: {\n                click: function($event) {\n                  $event.preventDefault()\n                  return _vm.placeOrder()\n                }\n              }\n            },\n            [_vm._v(_vm._s(_vm.t(\"Place order\")))]\n          ),\n          _vm._v(\" \"),\n          _c(\n            \"button\",\n            {\n              staticClass: \"button\",\n              on: {\n                click: function($event) {\n                  _vm.visible = false\n                }\n              }\n            },\n            [_vm._v(_vm._s(_vm.t(\"Cancel\")))]\n          ),\n          _vm._v(\" \"),\n          _c(\n            \"button\",\n            {\n              staticClass: \"button\",\n              on: {\n                click: function($event) {\n                  return _vm.resetForm()\n                }\n              }\n            },\n            [_vm._v(_vm._s(_vm.t(\"Reset form\")))]\n          )\n        ])\n      ])\n    ]),\n    _vm._v(\" \"),\n    _c(\n      \"div\",\n      { staticClass: \"modal\", class: { \"is-active\": _vm.orderPlaced } },\n      [\n        _c(\"div\", {\n          staticClass: \"modal-background\",\n          on: {\n            click: function($event) {\n              _vm.orderPlaced = false\n            }\n          }\n        }),\n        _vm._v(\" \"),\n        _c(\"div\", { staticClass: \"modal-content\" }, [\n          _c(\n            \"div\",\n            {\n              staticClass: \"box\",\n              on: {\n                click: function($event) {\n                  _vm.orderPlaced = false\n                }\n              }\n            },\n            [\n              _vm._v(\n                \"\\n                \" +\n                  _vm._s(_vm.t(\"You have placed the order successfully\")) +\n                  \".\"\n              ),\n              _c(\"br\"),\n              _vm._v(\n                \"\\n                \" +\n                  _vm._s(\n                    _vm.t(\"Our employee will contact you as soon as possible\")\n                  ) +\n                  \".\\n            \"\n              )\n            ]\n          )\n        ]),\n        _vm._v(\" \"),\n        _c(\"button\", {\n          staticClass: \"modal-close is-large\",\n          attrs: { \"aria-label\": \"close\" },\n          on: {\n            click: function($event) {\n              _vm.orderPlaced = false\n            }\n          }\n        })\n      ]\n    )\n  ])\n}\nvar staticRenderFns = []\nrender._withStripped = true\nexport { render, staticRenderFns }\nif (module.hot) {\n  module.hot.accept()\n  if (module.hot.data) {\n    require(\"vue-hot-reload-api\")      .rerender(\"data-v-50e6d3c6\", { render: render, staticRenderFns: staticRenderFns })\n  }\n}"],"sourceRoot":""}

Anon7 - 2022
AnonSec Team