{"version":3,"sources":["webpack:///../../../src/components/VExpansionPanel/VExpansionPanels.ts","webpack:///./src/components/BaseAppStatusMarker.vue","webpack:///src/components/BaseAppStatusMarker.vue","webpack:///./src/components/BaseAppStatusMarker.vue?ed91","webpack:///./src/components/BaseAppStatusMarker.vue?4e4f","webpack:///./src/assets/png/logo.png","webpack:///./src/views/GuestReservation.vue","webpack:///src/views/GuestReservation.vue","webpack:///./src/views/GuestReservation.vue?61e9","webpack:///./src/views/GuestReservation.vue?de2a","webpack:///../../../src/components/VRadioGroup/VRadioGroup.ts","webpack:///../../../src/components/VExpansionPanel/VExpansionPanelContent.ts","webpack:///../../../src/components/VForm/VForm.ts","webpack:///../../../src/components/VRadioGroup/VRadio.ts","webpack:///./src/views/GuestReservation.vue?1831","webpack:///./src/service/status.js","webpack:///../../../src/components/VResponsive/VResponsive.ts","webpack:///../../../src/components/VResponsive/index.ts","webpack:///../../../src/components/VImg/VImg.ts","webpack:///../../../src/components/VExpansionPanel/VExpansionPanelHeader.ts","webpack:///../../../src/components/VExpansionPanel/VExpansionPanel.ts","webpack:///./src/components/BaseAppStatusMarker.vue?366a","webpack:///./src/components/BaseAppConfirmReservationDialog.vue","webpack:///src/components/BaseAppConfirmReservationDialog.vue","webpack:///./src/components/BaseAppConfirmReservationDialog.vue?c59b","webpack:///./src/components/BaseAppConfirmReservationDialog.vue?3868"],"names":["BaseItemGroup","extend","name","provide","expansionPanels","this","props","accordion","Boolean","disabled","flat","hover","focusable","inset","popout","readonly","tile","computed","classes","options","call","created","$attrs","hasOwnProperty","breaking","Array","isArray","value","length","methods","updateItem","item","index","getValue","nextValue","isActive","toggleMethod","nextIsActive","staticClass","attrs","getStatusBackgroundColor","scopedSlots","key","color","_vm","getStatusColor","_v","getStatusMessage","entity","render","staticRenderFns","default","type","Object","filled","dark","outlined","component","module","exports","_c","staticStyle","isApproved","model","callback","validateUserDetails","containerData","expression","$set","reservationType","getFormatCurrency","validate","require","directives","rawName","showConfirmDialog","JSON","selectedItems","canceledBy","components","BaseAppLineAvatar","BaseAppStatusMarker","BaseAppConfirmReservationDialog","data","temp","token","urlStatus","expanded","tos","loading","status","signed","actionIcons","localStorage","getItem","passwordShow","loginUserId","verificaitionUserId","nowDate","getLocalTime","format","rules","cell","phoneRegex","test","email","RegExp","emailRegex","scacCode","scacCodeRegex","mapGetters","mapActions","firebase","firestore","collection","where","onSnapshot","snapshotDoc","empty","doc","docs","expiryDate","moment","isSameOrAfter","reservationId","getOraganizationDetails","requesterOrgId","assign","orgId","get","then","scac","amount","formatCurrency","checkUserAccountStatus","owner","reqScac","$store","dispatch","message","error","root","create_reservation","$router","push","path","catch","sessionStorage","setItem","stringify","query","container","set","merge","reqEmail","map","val","user_id","requests","id","description","stripePaymentSuccessDetails","showStripeSuccessDialog","some","rStatus","update_reservation","closeConfirmDialogHandler","event","removeItem","undefined","redirectUrl","$route","fullPath","isAvailable","isCompleted","checkAccountStatus","_doc$data","_doc$data2","mounted","_firebase$auth","params","auth","currentUser","uid","getSelectedContainerData","getLoginUserDetails","parse","updateReservationStatus","destroyed","baseMixins","mixins","VInput","radioGroup","column","height","Number","String","row","genDefaultSlot","$createElement","role","computedId","genInputSlot","on","click","genLabel","label","for","tag","onClick","h","vnode","_b","attrs$","Bootable","Colorable","RegistrableInject","parentIsActive","expansionPanel","watch","immediate","handler","oldVal","isBooted","$nextTick","registerContent","beforeDestroy","unregisterContent","VExpandTransition","showLazyContent","setBackgroundColor","class","getSlot","open","BindsAttrs","RegistrableProvide","form","inheritAttrs","lazyValidation","inputs","watchers","errorBag","errors","values","includes","$emit","deep","watchInput","input","watcher","$watch","_uid","valid","shouldValidate","filter","reset","forEach","resetErrorBag","setTimeout","resetValidation","register","unregister","found","find","i","unwatch","$delete","novalidate","submit","e","Rippleable","GroupableFactory","Themeable","offIcon","onIcon","isFocused","isDisabled","themeClasses","groupClasses","computedColor","Selectable","computedIcon","hasLabel","hasState","_a","isReadonly","computedName","rippleState","validationState","genInput","args","VLabel","prevent","focused","genRadio","title","radioAttrs","VIcon","setTextColor","dense","genRipple","onFocus","onBlur","onChange","toggle","onKeydown","mergeListeners","listeners$","getStatusIcon","icon","Measurable","aspectRatio","contentClass","computedAspectRatio","aspectStyle","paddingBottom","__cachedSizer","style","genContent","measurableStyles","$listeners","VResponsive","hasIntersect","window","intersect","alt","contain","eager","gradient","lazySrc","rootMargin","threshold","position","sizes","src","srcset","transition","currentSrc","image","isLoading","calculatedAspectRatio","naturalWidth","hasError","normalisedSrc","aspect","__cachedImage","backgroundImage","join","backgroundPosition","mode","loadImage","init","entries","observer","isIntersecting","lazyImg","Image","pollForSize","onLoad","getSrc","endsWith","startsWith","naturalHeight","onError","onload","decode","err","consoleWarn","onerror","img","timeout","poll","complete","content","width","__genPlaceholder","slot","placeholder","appear","node","mergeData","modifiers","once","children","ripple","disableIconRotate","expandIcon","hideActions","hasMousedown","registerHeader","unregisterHeader","genIcon","VFadeTransition","tabindex","mousedown","mouseup","header","vm","$on","detail","$el","blur","fn","location","address","$$v","isCanceled","isReceived","_e","confirm","showError","required","errorMsg","downloadLoadingId","issuesList","mutableShowConfirmDialog","computedShowConfirmDialog","payload","download_agreement","$event","closeDialogHandler","clickOutsideDialogHandler","isSigning","get_is_signature_required","isDeclined","$hellosign","close","$refs","innerHTML","isIncomplete","isCanceledBySeller","originalOwner","signature","signatures","getSignatureRequestId","currentUserOrgId","get_user","emails","toLowerCase","signer_email_address","signerEmailAddress","signature_id","signatureId","signUrl","get_sign_url","allowCancel","hideHeader","skipDomainVerification","process","get_error"],"mappings":"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","file":"js/GuestReservation.js?id=60744403242f30bf5489","sourcesContent":["// Styles\nimport './VExpansionPanel.sass'\n\n// Components\nimport { BaseItemGroup, GroupableInstance } from '../VItemGroup/VItemGroup'\nimport VExpansionPanel from './VExpansionPanel'\n\n// Utilities\nimport { breaking } from '../../util/console'\n\n// Types\ninterface VExpansionPanelInstance extends InstanceType<typeof VExpansionPanel> {}\n\n/* @vue/component */\nexport default BaseItemGroup.extend({\n  name: 'v-expansion-panels',\n\n  provide (): object {\n    return {\n      expansionPanels: this,\n    }\n  },\n\n  props: {\n    accordion: Boolean,\n    disabled: Boolean,\n    flat: Boolean,\n    hover: Boolean,\n    focusable: Boolean,\n    inset: Boolean,\n    popout: Boolean,\n    readonly: Boolean,\n    tile: Boolean,\n  },\n\n  computed: {\n    classes (): object {\n      return {\n        ...BaseItemGroup.options.computed.classes.call(this),\n        'v-expansion-panels': true,\n        'v-expansion-panels--accordion': this.accordion,\n        'v-expansion-panels--flat': this.flat,\n        'v-expansion-panels--hover': this.hover,\n        'v-expansion-panels--focusable': this.focusable,\n        'v-expansion-panels--inset': this.inset,\n        'v-expansion-panels--popout': this.popout,\n        'v-expansion-panels--tile': this.tile,\n      }\n    },\n  },\n\n  created () {\n    /* istanbul ignore next */\n    if (this.$attrs.hasOwnProperty('expand')) {\n      breaking('expand', 'multiple', this)\n    }\n\n    /* istanbul ignore next */\n    if (\n      Array.isArray(this.value) &&\n      this.value.length > 0 &&\n      typeof this.value[0] === 'boolean'\n    ) {\n      breaking(':value=\"[true, false, true]\"', ':value=\"[0, 2]\"', this)\n    }\n  },\n\n  methods: {\n    updateItem (item: GroupableInstance & VExpansionPanelInstance, index: number) {\n      const value = this.getValue(item, index)\n      const nextValue = this.getValue(item, index + 1)\n\n      item.isActive = this.toggleMethod(value)\n      item.nextIsActive = this.toggleMethod(nextValue)\n    },\n  },\n})\n","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('v-chip',_vm._b({staticClass:\"rounded-sm px-2 mx-2\",attrs:{\"color\":_vm.getStatusBackgroundColor(_vm.entity)}},'v-chip',_vm.$props,false),[_c('v-tooltip',{attrs:{\"top\":\"\"},scopedSlots:_vm._u([{key:\"activator\",fn:function({ on, attrs }){return [_c('span',_vm._g(_vm._b({staticClass:\"text-truncate status-message px-2\",style:({ color: _vm.getStatusColor(_vm.entity) })},'span',attrs,false),on),[_vm._v(_vm._s(_vm.getStatusMessage(_vm.entity)))])]}}])},[_vm._v(\" \"+_vm._s(_vm.getStatusMessage(_vm.entity))+\" \")])],1)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","<template>\n  <v-chip\n    :color=\"getStatusBackgroundColor(entity)\"\n    v-bind=\"$props\"\n    class=\"rounded-sm px-2 mx-2\"\n  >\n    <v-tooltip top>\n      <template v-slot:activator=\"{ on, attrs }\">\n        <span\n          class=\"text-truncate status-message px-2\"\n          :style=\"{ color: getStatusColor(entity) }\"\n          v-bind=\"attrs\"\n          v-on=\"on\"\n          >{{ getStatusMessage(entity) }}</span\n        >\n      </template>\n      {{ getStatusMessage(entity) }}\n    </v-tooltip>\n  </v-chip>\n</template>\n\n<script>\nimport {\n  getStatusBackgroundColor,\n  getStatusColor,\n  getStatusMessage,\n} from '@/service/status';\n\nexport default {\n  name: 'BaseAppStatusMarker1',\n  props: {\n    entity: {\n      default: () => null,\n      type: Object,\n    },\n    filled: {\n      default: () => true,\n      type: Boolean,\n    },\n\n    dark: {\n      default: () => false,\n      type: Boolean,\n    },\n    outlined: {\n      default: () => false,\n      type: Boolean,\n    },\n  },\n  methods: {\n    getStatusMessage,\n    getStatusColor,\n    getStatusBackgroundColor,\n  },\n};\n</script>\n\n<style lang=\"scss\" scoped>\n.status-message::first-letter {\n  text-transform: capitalize;\n}\n</style>\n","import mod from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./BaseAppStatusMarker.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./BaseAppStatusMarker.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./BaseAppStatusMarker.vue?vue&type=template&id=115ed0e4&scoped=true\"\nimport script from \"./BaseAppStatusMarker.vue?vue&type=script&lang=js\"\nexport * from \"./BaseAppStatusMarker.vue?vue&type=script&lang=js\"\nimport style0 from \"./BaseAppStatusMarker.vue?vue&type=style&index=0&id=115ed0e4&prod&lang=scss&scoped=true\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n  script,\n  render,\n  staticRenderFns,\n  false,\n  null,\n  \"115ed0e4\",\n  null\n  \n)\n\nexport default component.exports","module.exports = __webpack_public_path__ + \"img/logo.759d3d7f.png\";","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('div',{staticClass:\"d-flex justify-center align-center full-height full-width\"},[(_vm.urlStatus == 'valid')?_c('div',[_c('v-card',{staticClass:\"pa-4 rounded-sm\",attrs:{\"width\":\"90vw\",\"elevation\":\"0\"}},[_c('v-card-title',{staticClass:\"justify-center flex-direction-column\"},[_c('v-img',{staticClass:\"shrink mr-2\",attrs:{\"position\":\"center\",\"contain\":\"\",\"src\":require(\"@/assets/png/logo.png\"),\"max-width\":\"160\"}}),_c('span',{staticClass:\"mt-5\"},[_vm._v(\" Container Reservation\")])],1),_c('v-card-text',{staticClass:\"mt-10 mb-5\",staticStyle:{\"background\":\"#efefef\"}},[_c('v-row',[_c('v-col',{attrs:{\"cols\":\"1\"}},[_c('v-icon',{staticClass:\"mr-8\",attrs:{\"color\":'#00ab55'}},[_vm._v(\" mdi-check-circle \")])],1),_c('v-col',{staticClass:\"d-flex pr-0\",attrs:{\"cols\":\"12\",\"sm\":\"12\",\"md\":\"6\",\"lg\":\"2\"}},[_c('BaseAppStatusMarker',{attrs:{\"entity\":_vm.containerData,\"outlined\":\"\"}})],1),_c('v-col',{attrs:{\"cols\":\"12\",\"sm\":\"12\",\"md\":\"6\",\"lg\":\"1\"}},[_c('span',{staticClass:\"d-block color-4 font-size-14 line-height-23\"},[_vm._v(\"Amount\")]),_c('span',[_vm._v(_vm._s(_vm.getFormatCurrency(_vm.containerData?.amount) || '--'))])]),_c('v-col',{attrs:{\"cols\":\"12\",\"sm\":\"12\",\"md\":\"6\",\"lg\":\"2\"}},[_c('span',{staticClass:\"d-block color-4 font-size-14 line-height-23\"},[_vm._v(\"Line\")]),_c('BaseAppLineAvatar',{attrs:{\"size\":20,\"line\":_vm.containerData.line}})],1),_c('v-col',{attrs:{\"cols\":\"12\",\"sm\":\"12\",\"md\":\"6\",\"lg\":\"1\"}},[_c('span',{staticClass:\"d-block color-4 font-size-14 line-height-23\"},[_vm._v(\"Size\")]),_c('span',[_vm._v(_vm._s(_vm.containerData.size || '--'))])]),_c('v-col',{attrs:{\"xs\":\"12\",\"sm\":\"12\",\"md\":\"6\",\"lg\":\"3\"}},[_c('span',{staticClass:\"d-block color-4 font-size-14 line-height-23\"},[_vm._v(\"Location\")]),_c('span',[_vm._v(_vm._s(_vm.containerData.location && _vm.containerData.location.address))])])],1)],1),_c('v-card',{attrs:{\"elevation\":\"0\"}},[(_vm.isApproved())?_c('v-card-title',[(_vm.get_is_signature_required)?_c('span',[_vm._v(\"Sign Agreement\")]):_c('span',[_vm._v(\"Complete Reservation\")])]):(_vm.isCompleted())?_c('v-card-title',[_vm._v(\"Pick Up\")]):_c('v-card-title',[_vm._v(\" Reserve Container \")]),_c('v-card-text',{staticClass:\"pb-0\"},[_c('v-divider'),_c('v-expansion-panels',{staticStyle:{\"z-index\":\"unset\"},attrs:{\"multiple\":\"\",\"accordion\":\"\"},model:{value:(_vm.expanded),callback:function ($$v) {_vm.expanded=$$v},expression:\"expanded\"}},[_c('v-expansion-panel',{staticClass:\"elevation-0\"},[_c('v-expansion-panel-header',{staticClass:\"pa-0\"},[_c('v-col',{attrs:{\"cols\":\"1\"}},[_c('v-icon',{staticClass:\"mr-8\",attrs:{\"color\":_vm.validateUserDetails() ? '#00ab55' : '#c58706'}},[_vm._v(\" \"+_vm._s(_vm.validateUserDetails() ? 'mdi-check-circle' : 'mdi-progress-clock')+\" \")])],1),_c('v-col',[_c('span',{staticClass:\"d-block color-4 font-size-14 line-height-23\"},[_vm._v(\"Email\")]),_c('span',[_vm._v(_vm._s(_vm.containerData?.reqEmail || '--'))])]),_c('v-col',[_c('span',{staticClass:\"d-block color-4 font-size-14 line-height-23\"},[_vm._v(\"SCAC Code\")]),_c('span',[_vm._v(_vm._s(_vm.containerData?.reqScac || '--'))])])],1),_c('v-expansion-panel-content',{staticClass:\"pa-0\"},[_c('v-row',[_c('v-col',{attrs:{\"xs\":\"12\",\"sm\":\"12\",\"md\":\"6\",\"lg\":\"3\"}},[_c('v-text-field',{staticClass:\"mx-3\",attrs:{\"type\":\"text\",\"rules\":[_vm.rules.email],\"label\":\"Email*\",\"disabled\":_vm.loginUserId !== undefined || !_vm.isAvailable(),\"required\":\"\"},model:{value:(_vm.containerData.reqEmail),callback:function ($$v) {_vm.$set(_vm.containerData, \"reqEmail\", $$v)},expression:\"containerData.reqEmail\"}})],1),_c('v-col',{attrs:{\"xs\":\"12\",\"sm\":\"12\",\"md\":\"6\",\"lg\":\"3\"}},[_c('v-text-field',{staticClass:\"mx-3\",attrs:{\"label\":\"SCAC Code*\",\"maxlength\":\"4\",\"rules\":[_vm.rules.scacCode],\"disabled\":_vm.loginUserId != undefined || !_vm.isAvailable(),\"required\":\"\"},on:{\"input\":(val) =>\n                          (_vm.containerData.reqScac =\n                            _vm.containerData.reqScac.toUpperCase())},model:{value:(_vm.containerData.reqScac),callback:function ($$v) {_vm.$set(_vm.containerData, \"reqScac\", $$v)},expression:\"containerData.reqScac\"}})],1)],1)],1)],1)],1)],1)],1),(_vm.isAvailable())?_c('v-card',{attrs:{\"elevation\":\"0\"}},[_c('v-card-text',{staticClass:\"pa-0\"},[_c('div',{staticClass:\"d-flex align-center px-5\"},[_c('v-radio-group',{staticClass:\"d-block color-4 font-size-14 line-height-23 pt-0 mt-0 mb-4 mx-3\",attrs:{\"row\":\"\",\"mandatory\":\"\",\"hide-details\":\"\"},model:{value:(_vm.containerData.reservationType),callback:function ($$v) {_vm.$set(_vm.containerData, \"reservationType\", $$v)},expression:\"containerData.reservationType\"}},[_c('v-radio',{attrs:{\"label\":\"Use for Street Turn\",\"value\":\"street_turn\",\"ripple\":false,\"color\":\"#5bc1c1\"}}),_c('v-radio',{attrs:{\"label\":\"Use for dual transaction\",\"value\":\"dual_transaction\",\"ripple\":false,\"color\":\"#5bc1c1\"}})],1)],1),_c('div',{staticClass:\"d-flex align-center justify-end px-4\"},[_c('strong',[_vm._v(\"Total: \"+_vm._s(_vm.getFormatCurrency(_vm.containerData.amount))+\" \")])]),_c('div',{staticClass:\"d-flex align-center px-8\"},[_c('v-simple-checkbox',{staticClass:\"mr-4\",attrs:{\"color\":\"#5bc1c1\",\"ripple\":false},model:{value:(_vm.tos),callback:function ($$v) {_vm.tos=$$v},expression:\"tos\"}}),_c('span',[_vm._v(\"By checking this box, I agree to Qualle's \"),_c('a',{attrs:{\"href\":\"https://www.qualle.co/docs/marketplace-terms\",\"target\":\"_blank\"}},[_vm._v(\"Terms of Service\")])])],1)]),_c('v-card-actions',{staticClass:\"d-flex justify-end pa-4\"},[_c('v-btn',{staticClass:\"rounded-sm width-100\",attrs:{\"color\":\"#5BC1C1\",\"elevation\":\"0\",\"ripple\":false,\"dark\":_vm.validate(),\"loading\":_vm.loading,\"disabled\":!_vm.validate()},on:{\"click\":function($event){return _vm.reserveContainer()}}},[_vm._v(\" Reserve Container \")])],1)],1):_vm._e(),(_vm.isApproved() && !this.actionIcons)?_c('v-card',{attrs:{\"elevation\":\"0\"}},[_c('v-card-text',{staticClass:\"d-flex justify-end\"},[_c('v-btn',{staticClass:\"ml-2 rounded-sm\",attrs:{\"color\":\"#FF3C5F\",\"dark\":_vm.validateUserDetails(),\"disabled\":!_vm.validateUserDetails(),\"raised\":\"\",\"normal\":\"\",\"elevation\":\"0\"},on:{\"click\":function($event){return _vm.updateReservationStatus(\n                _vm.containerData.reservationId,\n                'canceled',\n                'guest'\n              )}}},[_vm._v(\" Cancel Reservation \")]),_c('v-btn',{staticClass:\"ml-2 rounded-sm\",attrs:{\"color\":\"#5bc1c1\",\"raised\":\"\",\"normal\":\"\",\"elevation\":\"0\",\"dark\":_vm.validateUserDetails(),\"disabled\":!_vm.validateUserDetails()},on:{\"click\":function($event){return _vm.updateReservationStatus(_vm.containerData.reservationId, 'signing')}}},[(_vm.get_is_signature_required)?_c('span',[_vm._v(\"Sign Agreement\")]):_vm._e(),_c('span',[_vm._v(\"Complete Reservation\")])])],1)],1):_vm._e(),(_vm.isCompleted())?_c('v-card',{attrs:{\"elevation\":\"0\"}},[_c('v-card-text',{staticClass:\"d-flex justify-end\"},[_c('v-btn',{staticClass:\"ml-2 rounded-sm\",attrs:{\"color\":\"#FF3C5F\",\"dark\":_vm.validateUserDetails(),\"disabled\":!_vm.validateUserDetails(),\"raised\":\"\",\"normal\":\"\",\"elevation\":\"0\"},on:{\"click\":function($event){return _vm.updateReservationStatus(\n                _vm.containerData.reservationId,\n                'incomplete'\n              )}}},[_vm._v(\"Report Issue with pickup\")]),_c('v-btn',{staticClass:\"ml-2 rounded-sm\",attrs:{\"color\":\"#5bc1c1\",\"dark\":_vm.validateUserDetails(),\"disabled\":!_vm.validateUserDetails(),\"raised\":\"\",\"normal\":\"\",\"elevation\":\"0\"},on:{\"click\":function($event){return _vm.updateReservationStatus(_vm.containerData.reservationId, 'received')}}},[_vm._v(\" Report Container Received\")])],1)],1):_vm._e()],1)],1):(_vm.urlStatus == 'invalid')?_c('div',[_c('v-form',{attrs:{\"id\":\"verify-form\"}},[_c('v-card',{staticClass:\"pa-4 rounded-sm\",attrs:{\"elevation\":\"0\"}},[_c('v-card-title',{staticClass:\"justify-center flex-direction-column\"},[_c('v-img',{staticClass:\"shrink\",attrs:{\"position\":\"center\",\"contain\":\"\",\"src\":require(\"@/assets/png/logo.png\"),\"max-width\":\"160\"}}),_c('span',{staticClass:\"mt-8\"},[_vm._v(\"Bad Request - Invalid Url \")])],1),_c('v-card-text',[_c('span',[_vm._v(\"Please check the Url\")])])],1)],1)],1):_vm._e(),_c('BaseAppConfirmReservationDialog',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.showConfirmDialog),expression:\"showConfirmDialog\"}],attrs:{\"showConfirmDialog\":_vm.showConfirmDialog,\"data\":JSON.parse(JSON.stringify({ selectedItems: _vm.selectedItems, status: _vm.status, canceledBy: _vm.canceledBy }))},on:{\"onConfirm\":function($event){return _vm.handleUpdateReservation($event)},\"closeConfirmDialogHandler\":_vm.closeConfirmDialogHandler}})],1)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","<template>\n  <div class=\"d-flex justify-center align-center full-height full-width\">\n    <div v-if=\"urlStatus == 'valid'\">\n      <v-card width=\"90vw\" class=\"pa-4 rounded-sm\" elevation=\"0\">\n        <v-card-title class=\"justify-center flex-direction-column\">\n          <v-img\n            class=\"shrink mr-2\"\n            position=\"center\"\n            contain\n            src=\"@/assets/png/logo.png\"\n            max-width=\"160\"\n          />\n          <span class=\"mt-5\"> Container Reservation</span>\n        </v-card-title>\n        <v-card-text style=\"background: #efefef\" class=\"mt-10 mb-5\">\n          <v-row>\n            <v-col cols=\"1\">\n              <v-icon class=\"mr-8\" :color=\"'#00ab55'\">\n                mdi-check-circle\n              </v-icon>\n            </v-col>\n            <v-col class=\"d-flex pr-0\" cols=\"12\" sm=\"12\" md=\"6\" lg=\"2\">\n              <BaseAppStatusMarker :entity=\"containerData\" outlined />\n            </v-col>\n            <v-col cols=\"12\" sm=\"12\" md=\"6\" lg=\"1\">\n              <span class=\"d-block color-4 font-size-14 line-height-23\"\n                >Amount</span\n              >\n              <span>{{\n                getFormatCurrency(containerData?.amount) || '--'\n              }}</span>\n            </v-col>\n\n            <v-col cols=\"12\" sm=\"12\" md=\"6\" lg=\"2\">\n              <span class=\"d-block color-4 font-size-14 line-height-23\"\n                >Line</span\n              >\n              <BaseAppLineAvatar :size=\"20\" :line=\"containerData.line\" />\n            </v-col>\n            <v-col cols=\"12\" sm=\"12\" md=\"6\" lg=\"1\">\n              <span class=\"d-block color-4 font-size-14 line-height-23\"\n                >Size</span\n              >\n              <span>{{ containerData.size || '--' }}</span>\n            </v-col>\n            <v-col xs=\"12\" sm=\"12\" md=\"6\" lg=\"3\">\n              <span class=\"d-block color-4 font-size-14 line-height-23\"\n                >Location</span\n              >\n              <span>{{\n                containerData.location && containerData.location.address\n              }}</span>\n            </v-col>\n          </v-row>\n        </v-card-text>\n        <v-card elevation=\"0\">\n          <v-card-title v-if=\"isApproved()\">\n            <span v-if=\"get_is_signature_required\">Sign Agreement</span\n            ><span v-else>Complete Reservation</span></v-card-title\n          >\n          <v-card-title v-else-if=\"isCompleted()\">Pick Up</v-card-title>\n          <v-card-title v-else> Reserve Container </v-card-title>\n          <v-card-text class=\"pb-0\">\n            <v-divider></v-divider>\n            <v-expansion-panels\n              v-model=\"expanded\"\n              multiple\n              accordion\n              style=\"z-index: unset\"\n            >\n              <v-expansion-panel class=\"elevation-0\">\n                <v-expansion-panel-header class=\"pa-0\">\n                  <v-col cols=\"1\">\n                    <v-icon\n                      class=\"mr-8\"\n                      :color=\"validateUserDetails() ? '#00ab55' : '#c58706'\"\n                    >\n                      {{\n                        validateUserDetails()\n                          ? 'mdi-check-circle'\n                          : 'mdi-progress-clock'\n                      }}\n                    </v-icon>\n                  </v-col>\n                  <v-col>\n                    <span class=\"d-block color-4 font-size-14 line-height-23\"\n                      >Email</span\n                    >\n                    <span>{{ containerData?.reqEmail || '--' }}</span>\n                  </v-col>\n                  <v-col>\n                    <span class=\"d-block color-4 font-size-14 line-height-23\"\n                      >SCAC Code</span\n                    >\n                    <span>{{ containerData?.reqScac || '--' }}</span>\n                  </v-col>\n                </v-expansion-panel-header>\n                <v-expansion-panel-content class=\"pa-0\">\n                  <v-row>\n                    <v-col xs=\"12\" sm=\"12\" md=\"6\" lg=\"3\">\n                      <v-text-field\n                        class=\"mx-3\"\n                        v-model=\"containerData.reqEmail\"\n                        type=\"text\"\n                        :rules=\"[rules.email]\"\n                        label=\"Email*\"\n                        :disabled=\"loginUserId !== undefined || !isAvailable()\"\n                        required\n                      ></v-text-field>\n                    </v-col>\n                    <v-col xs=\"12\" sm=\"12\" md=\"6\" lg=\"3\">\n                      <v-text-field\n                        class=\"mx-3\"\n                        v-model=\"containerData.reqScac\"\n                        label=\"SCAC Code*\"\n                        @input=\"\n                          (val) =>\n                            (containerData.reqScac =\n                              containerData.reqScac.toUpperCase())\n                        \"\n                        maxlength=\"4\"\n                        :rules=\"[rules.scacCode]\"\n                        :disabled=\"loginUserId != undefined || !isAvailable()\"\n                        required\n                      ></v-text-field>\n                    </v-col>\n                  </v-row>\n                </v-expansion-panel-content>\n              </v-expansion-panel>\n            </v-expansion-panels>\n          </v-card-text>\n        </v-card>\n        <v-card elevation=\"0\" v-if=\"isAvailable()\">\n          <v-card-text class=\"pa-0\">\n            <div class=\"d-flex align-center px-5\">\n              <v-radio-group\n                row\n                mandatory\n                hide-details\n                v-model=\"containerData.reservationType\"\n                class=\"d-block color-4 font-size-14 line-height-23 pt-0 mt-0 mb-4 mx-3\"\n              >\n                <v-radio\n                  label=\"Use for Street Turn\"\n                  value=\"street_turn\"\n                  :ripple=\"false\"\n                  color=\"#5bc1c1\"\n                ></v-radio>\n                <v-radio\n                  label=\"Use for dual transaction\"\n                  value=\"dual_transaction\"\n                  :ripple=\"false\"\n                  color=\"#5bc1c1\"\n                ></v-radio>\n              </v-radio-group>\n            </div>\n            <div class=\"d-flex align-center justify-end px-4\">\n              <strong\n                >Total:\n                {{ getFormatCurrency(containerData.amount) }}\n              </strong>\n            </div>\n            <div class=\"d-flex align-center px-8\">\n              <v-simple-checkbox\n                color=\"#5bc1c1\"\n                class=\"mr-4\"\n                :ripple=\"false\"\n                v-model=\"tos\"\n              ></v-simple-checkbox>\n              <span\n                >By checking this box, I agree to Qualle's\n                <a\n                  href=\"https://www.qualle.co/docs/marketplace-terms\"\n                  target=\"_blank\"\n                  >Terms of Service</a\n                ></span\n              >\n            </div>\n          </v-card-text>\n          <v-card-actions class=\"d-flex justify-end pa-4\">\n            <v-btn\n              color=\"#5BC1C1\"\n              class=\"rounded-sm width-100\"\n              elevation=\"0\"\n              :ripple=\"false\"\n              :dark=\"validate()\"\n              :loading=\"loading\"\n              :disabled=\"!validate()\"\n              @click=\"reserveContainer()\"\n            >\n              Reserve Container\n            </v-btn>\n          </v-card-actions>\n        </v-card>\n        <v-card v-if=\"isApproved() && !this.actionIcons\" elevation=\"0\">\n          <v-card-text class=\"d-flex justify-end\">\n            <v-btn\n              class=\"ml-2 rounded-sm\"\n              color=\"#FF3C5F\"\n              :dark=\"validateUserDetails()\"\n              :disabled=\"!validateUserDetails()\"\n              raised\n              normal\n              elevation=\"0\"\n              @click=\"\n                updateReservationStatus(\n                  containerData.reservationId,\n                  'canceled',\n                  'guest'\n                )\n              \"\n            >\n              Cancel Reservation\n            </v-btn>\n            <v-btn\n              class=\"ml-2 rounded-sm\"\n              color=\"#5bc1c1\"\n              raised\n              normal\n              elevation=\"0\"\n              :dark=\"validateUserDetails()\"\n              :disabled=\"!validateUserDetails()\"\n              @click=\"\n                updateReservationStatus(containerData.reservationId, 'signing')\n              \"\n              ><span v-if=\"get_is_signature_required\">Sign Agreement</span\n              ><span>Complete Reservation</span></v-btn\n            >\n          </v-card-text>\n        </v-card>\n        <v-card v-if=\"isCompleted()\" elevation=\"0\">\n          <v-card-text class=\"d-flex justify-end\">\n            <v-btn\n              class=\"ml-2 rounded-sm\"\n              color=\"#FF3C5F\"\n              :dark=\"validateUserDetails()\"\n              :disabled=\"!validateUserDetails()\"\n              raised\n              normal\n              elevation=\"0\"\n              @click=\"\n                updateReservationStatus(\n                  containerData.reservationId,\n                  'incomplete'\n                )\n              \"\n              >Report Issue with pickup</v-btn\n            >\n            <v-btn\n              class=\"ml-2 rounded-sm\"\n              color=\"#5bc1c1\"\n              :dark=\"validateUserDetails()\"\n              :disabled=\"!validateUserDetails()\"\n              raised\n              normal\n              elevation=\"0\"\n              @click=\"\n                updateReservationStatus(containerData.reservationId, 'received')\n              \"\n            >\n              Report Container Received</v-btn\n            >\n          </v-card-text>\n        </v-card>\n      </v-card>\n    </div>\n    <div v-else-if=\"urlStatus == 'invalid'\">\n      <v-form id=\"verify-form\">\n        <v-card class=\"pa-4 rounded-sm\" elevation=\"0\">\n          <v-card-title class=\"justify-center flex-direction-column\">\n            <v-img\n              class=\"shrink\"\n              position=\"center\"\n              contain\n              src=\"@/assets/png/logo.png\"\n              max-width=\"160\"\n            />\n            <span class=\"mt-8\">Bad Request - Invalid Url </span>\n          </v-card-title>\n          <v-card-text>\n            <span>Please check the Url</span>\n          </v-card-text>\n        </v-card>\n      </v-form>\n    </div>\n\n    <BaseAppConfirmReservationDialog\n      v-show=\"showConfirmDialog\"\n      :showConfirmDialog=\"showConfirmDialog\"\n      :data=\"JSON.parse(JSON.stringify({ selectedItems, status, canceledBy }))\"\n      @onConfirm=\"handleUpdateReservation($event)\"\n      @closeConfirmDialogHandler=\"closeConfirmDialogHandler\"\n    />\n  </div>\n</template>\n<script>\nimport firebase from 'firebase/app';\nimport { formatCurrency } from '@qualle-admin/qutil/dist/currency';\n\nimport BaseAppLineAvatar from '@/components/BaseAppLineAvatar';\nimport BaseAppStatusMarker from '@/components/BaseAppStatusMarker';\nimport {\n  emailRegex,\n  scacCodeRegex,\n  phoneRegex,\n} from '@qualle-admin/qutil/dist/patterns';\nimport BaseAppConfirmReservationDialog from '@/components/BaseAppConfirmReservationDialog';\nimport { mapActions, mapGetters } from 'vuex';\nimport moment from 'moment';\nimport { getLocalTime } from '@qualle-admin/qutil/dist/date';\n\nexport default {\n  name: 'GuestReservation',\n  components: {\n    BaseAppLineAvatar,\n    BaseAppStatusMarker,\n    BaseAppConfirmReservationDialog,\n  },\n  data() {\n    return {\n      temp: '',\n      token: '',\n      urlStatus: null,\n      containerData: {},\n      expanded: [0],\n      tos: false,\n      loading: false,\n      canceledBy: null,\n      showConfirmDialog: false,\n      status: null,\n      selectedItems: [],\n      signed: false,\n      actionIcons: localStorage.getItem('signatureStatus') || false,\n      passwordShow: false,\n      loginUserId: null,\n      verificaitionUserId: null,\n      nowDate: getLocalTime().format(),\n      rules: {\n        cell(value) {\n          return phoneRegex.test(value) || 'Invalid phone number format';\n        },\n        email(value) {\n          return new RegExp(emailRegex).test(value) || 'Invalid e-mail';\n        },\n        scacCode(value) {\n          return (\n            new RegExp(scacCodeRegex).test(value) || 'Incorrect SCAC format'\n          );\n        },\n      },\n    };\n  },\n  computed: {\n    ...mapGetters('settings', ['get_is_signature_required']),\n  },\n  methods: {\n    ...mapActions('reservations', ['create_reservation', 'update_reservation']),\n\n    // Getting token from pending reservations and validating the url\n    async getSelectedContainerData() {\n      this.containerData = {};\n      await firebase\n        .firestore()\n        .collection('pending_reservations')\n        .where('token', '==', this.token)\n        .onSnapshot((snapshotDoc) => {\n          if (!snapshotDoc.empty) {\n            const doc = snapshotDoc.docs[0].data();\n            const { token, expiryDate, status } = doc;\n            if (\n              token === this.token &&\n              (status !== 'available' ||\n                (status === 'available' &&\n                  !moment(this.nowDate).isSameOrAfter(expiryDate)))\n            ) {\n              if (doc.reservationId) {\n                this.containerData = doc;\n                this.getOraganizationDetails(doc.requesterOrgId);\n              } else {\n                this.containerData = Object.assign(this.containerData, doc);\n              }\n              this.urlStatus = 'valid';\n            } else {\n              this.urlStatus = 'invalid';\n            }\n          } else {\n            this.urlStatus = 'invalid';\n          }\n        });\n    },\n\n    // Getting email and scac from the organization collection\n    async getOraganizationDetails(orgId) {\n      await firebase\n        .firestore()\n        .collection('organizations')\n        .doc(orgId)\n        .get()\n        .then((doc) => {\n          this.$set(this.containerData, 'reqEmail', doc.data().email);\n          this.$set(this.containerData, 'reqScac', doc.data().scac);\n        });\n    },\n    getFormatCurrency(amount) {\n      return formatCurrency(amount);\n    },\n    // creating the reservation\n    async reserveContainer() {\n      this.loading = true;\n      const data = await this.checkUserAccountStatus();\n      if (\n        this.verificaitionUserId === this.containerData.owner ||\n        this.containerData.scac === this.containerData.reqScac\n      ) {\n        this.$store.dispatch(\n          'auth/new_notification',\n          {\n            type: 'notification',\n            message: 'Container owner and seller are same',\n            error: true,\n          },\n          { root: true }\n        );\n      } else {\n        if (data === 'reserve') {\n          await this.create_reservation([this.containerData]);\n\n          this.$router.push({ path: '/status' }).catch(() => {});\n        } else if (data === 'login') {\n          sessionStorage.setItem(\n            'selectedReservationData',\n            JSON.stringify(this.containerData)\n          );\n\n          this.$router\n            .push({ path: '/login', query: { type: 'reserve' } })\n            .catch(() => {});\n        } else {\n          sessionStorage.setItem(\n            'selectedReservationData',\n            JSON.stringify(this.containerData)\n          );\n          await firebase\n            .firestore()\n            .collection('pending_reservations')\n            .doc(this.containerData.container)\n            .set(\n              { reservationType: this.containerData.reservationType },\n              { merge: true }\n            );\n          this.$router\n            .push({ path: '/register', query: { type: 'reserve' } })\n            .catch(() => {});\n        }\n      }\n      this.loading = false;\n    },\n\n    // Checking wheather the user exists with the email and scac\n    async checkUserAccountStatus() {\n      return await firebase\n        .firestore()\n        .collection('users')\n        .where('email', '==', this.containerData.reqEmail)\n        .where('scac', '==', this.containerData.reqScac)\n        .get()\n        .then((doc) => {\n          this.verificaitionUserId = null;\n          if (!doc.empty) {\n            const data = doc.docs.map((val) => val.data());\n            this.verificaitionUserId = data[0].user_id;\n            if (this.loginUserId === this.verificaitionUserId) {\n              return 'reserve';\n            } else {\n              return 'login';\n            }\n          } else {\n            return 'register';\n          }\n        });\n    },\n    // validating the details\n    validate() {\n      return this.tos && this.validateUserDetails();\n    },\n    // validating required fields and errors\n    validateUserDetails() {\n      return (\n        new RegExp(emailRegex).test(this.containerData.reqEmail) &&\n        new RegExp(scacCodeRegex).test(this.containerData.reqScac)\n      );\n    },\n    // update reservation status\n    async handleUpdateReservation({ selectedItems, status, canceledBy }) {\n      if (status) {\n        const requests = this.selectedItems.map(({ id, description }) => ({\n          id,\n          status,\n          canceledBy: canceledBy || null,\n          description: description || null,\n        }));\n\n        if (status === 'received') {\n          this.stripePaymentSuccessDetails = selectedItems;\n          this.showStripeSuccessDialog = true;\n        }\n\n        if (\n          this.selectedItems.some(({ status: rStatus }) => rStatus === status)\n        ) {\n          return this.$store.dispatch(\n            'auth/new_notification',\n            {\n              type: 'notification',\n              message: 'Reservation(s) have already been approved/declined',\n              error: true,\n            },\n            { root: true }\n          );\n        }\n\n        this.showConfirmDialog = false;\n        await this.update_reservation(requests);\n        this.$router\n          .push({ path: '/status', query: { status: status } })\n          .catch(() => {});\n      } else {\n        this.closeConfirmDialogHandler();\n      }\n    },\n\n    // Close the reserve confirm dialog and clear the details\n    closeConfirmDialogHandler(event) {\n      if (event === 'confirm') {\n        this.$store.dispatch(\n          'auth/new_notification',\n          {\n            type: 'notification',\n            message: 'Agreement signed successfully!',\n          },\n          { root: true }\n        );\n        localStorage.setItem('signatureStatus', true);\n        this.actionIcons = true;\n      }\n      this.selectedItems = [];\n      this.status = null;\n      this.canceledBy = null;\n      this.showConfirmDialog = false;\n      sessionStorage.removeItem('selectedReservationData');\n    },\n    // if user login opening confirm dialog if not navigating to the login\n    async updateReservationStatus(reservationId, status, canceledBy = null) {\n      if (this.loginUserId === undefined) {\n        sessionStorage.setItem(\n          'selectedReservationData',\n          JSON.stringify({\n            reservationId,\n            status,\n            canceledBy,\n            reqEmail: this.containerData.reqEmail,\n            redirectUrl: this.$route.fullPath,\n          })\n        );\n        this.showConfirmDialog = false;\n        this.$router\n          .push({ path: '/login', query: { type: 'reserve' } })\n          .catch(() => {});\n      } else {\n        await firebase\n          .firestore()\n          .collection('reservations')\n          .doc(reservationId)\n          .get()\n          .then((doc) => {\n            this.selectedItems.push(doc.data());\n          });\n        this.status = status;\n        this.canceledBy = canceledBy;\n        if (this.showConfirmDialog === false) {\n          this.showConfirmDialog = true;\n        }\n      }\n    },\n    isAvailable() {\n      return this.containerData.status === 'available';\n    },\n    isApproved() {\n      return this.containerData.status === 'approved';\n    },\n    isCompleted() {\n      return this.containerData.status === 'completed';\n    },\n    checkAccountStatus() {\n      return true;\n    },\n    // Getting login user details from user collection\n    async getLoginUserDetails() {\n      await firebase\n        .firestore()\n        .collection('users')\n        .doc(this.loginUserId)\n        .get()\n        .then((doc) => {\n          this.containerData.reqEmail = doc.data()?.email;\n          this.containerData.reqScac = doc.data()?.scac;\n        });\n    },\n  },\n  mounted() {\n    this.token = this.$route.params.token;\n    this.loginUserId = firebase.auth()?.currentUser?.uid;\n    this.getSelectedContainerData();\n    if (this.loginUserId) {\n      this.getLoginUserDetails();\n    }\n    const data = JSON.parse(sessionStorage.getItem('selectedReservationData'));\n    if (data?.status !== undefined && data.status !== 'available') {\n      this.updateReservationStatus(\n        data?.reservationId,\n        data?.status,\n        data?.canceledBy\n      );\n    }\n  },\n  destroyed() {\n    localStorage.removeItem('signatureStatus');\n  },\n};\n</script>\n<style lang=\"scss\" scoped>\n@import '@/assets/scss/common.scss';\n@import '@/assets/scss/auth.scss';\n</style>\n","import mod from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./GuestReservation.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./GuestReservation.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./GuestReservation.vue?vue&type=template&id=183464aa&scoped=true\"\nimport script from \"./GuestReservation.vue?vue&type=script&lang=js\"\nexport * from \"./GuestReservation.vue?vue&type=script&lang=js\"\nimport style0 from \"./GuestReservation.vue?vue&type=style&index=0&id=183464aa&prod&lang=scss&scoped=true\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n  script,\n  render,\n  staticRenderFns,\n  false,\n  null,\n  \"183464aa\",\n  null\n  \n)\n\nexport default component.exports","// Styles\nimport '../../styles/components/_selection-controls.sass'\nimport './VRadioGroup.sass'\n\n// Extensions\nimport VInput from '../VInput'\nimport { BaseItemGroup } from '../VItemGroup/VItemGroup'\n\n// Types\nimport mixins from '../../util/mixins'\nimport { PropType } from 'vue'\n\nconst baseMixins = mixins(\n  BaseItemGroup,\n  VInput\n)\n\n/* @vue/component */\nexport default baseMixins.extend({\n  name: 'v-radio-group',\n\n  provide () {\n    return {\n      radioGroup: this,\n    }\n  },\n\n  props: {\n    column: {\n      type: Boolean,\n      default: true,\n    },\n    height: {\n      type: [Number, String],\n      default: 'auto',\n    },\n    name: String,\n    row: Boolean,\n    // If no value set on VRadio\n    // will match valueComparator\n    // force default to null\n    value: null as unknown as PropType<any>,\n  },\n\n  computed: {\n    classes (): object {\n      return {\n        ...VInput.options.computed.classes.call(this),\n        'v-input--selection-controls v-input--radio-group': true,\n        'v-input--radio-group--column': this.column && !this.row,\n        'v-input--radio-group--row': this.row,\n      }\n    },\n  },\n\n  methods: {\n    genDefaultSlot () {\n      return this.$createElement('div', {\n        staticClass: 'v-input--radio-group__input',\n        attrs: {\n          id: this.id,\n          role: 'radiogroup',\n          'aria-labelledby': this.computedId,\n        },\n      }, VInput.options.methods.genDefaultSlot.call(this))\n    },\n    genInputSlot () {\n      const render = VInput.options.methods.genInputSlot.call(this)\n\n      delete render.data!.on!.click\n\n      return render\n    },\n    genLabel () {\n      const label = VInput.options.methods.genLabel.call(this)\n\n      if (!label) return null\n\n      label.data!.attrs!.id = this.computedId\n      // WAI considers this an orphaned label\n      delete label.data!.attrs!.for\n      label.tag = 'legend'\n\n      return label\n    },\n    onClick: BaseItemGroup.options.methods.onClick,\n  },\n\n  render (h) {\n    const vnode = VInput.options.render.call(this, h)\n\n    this._b(vnode.data!, 'div', this.attrs$)\n\n    return vnode\n  },\n})\n","// Components\nimport VExpansionPanel from './VExpansionPanel'\nimport { VExpandTransition } from '../transitions'\n\n// Mixins\nimport Bootable from '../../mixins/bootable'\nimport Colorable from '../../mixins/colorable'\nimport { inject as RegistrableInject } from '../../mixins/registrable'\n\n// Utilities\nimport { getSlot } from '../../util/helpers'\nimport mixins, { ExtractVue } from '../../util/mixins'\n\n// Types\nimport Vue, { VNode, VueConstructor } from 'vue'\n\nconst baseMixins = mixins(\n  Bootable,\n  Colorable,\n  RegistrableInject<'expansionPanel', VueConstructor<Vue>>('expansionPanel', 'v-expansion-panel-content', 'v-expansion-panel')\n)\n\ninterface options extends ExtractVue<typeof baseMixins> {\n  expansionPanel: InstanceType<typeof VExpansionPanel>\n}\n\n/* @vue/component */\nexport default baseMixins.extend<options>().extend({\n  name: 'v-expansion-panel-content',\n\n  data: () => ({\n    isActive: false,\n  }),\n\n  computed: {\n    parentIsActive (): boolean {\n      return this.expansionPanel.isActive\n    },\n  },\n\n  watch: {\n    parentIsActive: {\n      immediate: true,\n      handler (val, oldVal) {\n        if (val) this.isBooted = true\n\n        if (oldVal == null) this.isActive = val\n        else this.$nextTick(() => this.isActive = val)\n      },\n    },\n  },\n\n  created () {\n    this.expansionPanel.registerContent(this)\n  },\n\n  beforeDestroy () {\n    this.expansionPanel.unregisterContent()\n  },\n\n  render (h): VNode {\n    return h(VExpandTransition, this.showLazyContent(() => [\n      h('div', this.setBackgroundColor(this.color, {\n        staticClass: 'v-expansion-panel-content',\n        directives: [{\n          name: 'show',\n          value: this.isActive,\n        }],\n      }), [\n        h('div', { class: 'v-expansion-panel-content__wrap' }, getSlot(this, 'default', { open: this.isActive })),\n      ]),\n    ]))\n  },\n})\n","// Components\nimport VInput from '../VInput/VInput'\n\n// Mixins\nimport mixins from '../../util/mixins'\nimport BindsAttrs from '../../mixins/binds-attrs'\nimport { provide as RegistrableProvide } from '../../mixins/registrable'\n\n// Helpers\nimport { VNode } from 'vue'\nimport { getSlot } from '../../util/helpers'\n\ntype ErrorBag = Record<number, boolean>\ntype VInputInstance = InstanceType<typeof VInput>\ntype Watchers = {\n  _uid: number\n  valid: () => void\n  shouldValidate: () => void\n}\n\n/* @vue/component */\nexport default mixins(\n  BindsAttrs,\n  RegistrableProvide('form')\n  /* @vue/component */\n).extend({\n  name: 'v-form',\n\n  provide (): object {\n    return { form: this }\n  },\n\n  inheritAttrs: false,\n\n  props: {\n    disabled: Boolean,\n    lazyValidation: Boolean,\n    readonly: Boolean,\n    value: Boolean,\n  },\n\n  data: () => ({\n    inputs: [] as VInputInstance[],\n    watchers: [] as Watchers[],\n    errorBag: {} as ErrorBag,\n  }),\n\n  watch: {\n    errorBag: {\n      handler (val) {\n        const errors = Object.values(val).includes(true)\n\n        this.$emit('input', !errors)\n      },\n      deep: true,\n      immediate: true,\n    },\n  },\n\n  methods: {\n    watchInput (input: any): Watchers {\n      const watcher = (input: any): (() => void) => {\n        return input.$watch('hasError', (val: boolean) => {\n          this.$set(this.errorBag, input._uid, val)\n        }, { immediate: true })\n      }\n\n      const watchers: Watchers = {\n        _uid: input._uid,\n        valid: () => {},\n        shouldValidate: () => {},\n      }\n\n      if (this.lazyValidation) {\n        // Only start watching inputs if we need to\n        watchers.shouldValidate = input.$watch('shouldValidate', (val: boolean) => {\n          if (!val) return\n\n          // Only watch if we're not already doing it\n          if (this.errorBag.hasOwnProperty(input._uid)) return\n\n          watchers.valid = watcher(input)\n        })\n      } else {\n        watchers.valid = watcher(input)\n      }\n\n      return watchers\n    },\n    /** @public */\n    validate (): boolean {\n      return this.inputs.filter(input => !input.validate(true)).length === 0\n    },\n    /** @public */\n    reset (): void {\n      this.inputs.forEach(input => input.reset())\n      this.resetErrorBag()\n    },\n    resetErrorBag () {\n      if (this.lazyValidation) {\n        // Account for timeout in validatable\n        setTimeout(() => {\n          this.errorBag = {}\n        }, 0)\n      }\n    },\n    /** @public */\n    resetValidation () {\n      this.inputs.forEach(input => input.resetValidation())\n      this.resetErrorBag()\n    },\n    register (input: VInputInstance) {\n      this.inputs.push(input)\n      this.watchers.push(this.watchInput(input))\n    },\n    unregister (input: VInputInstance) {\n      const found = this.inputs.find(i => i._uid === input._uid)\n\n      if (!found) return\n\n      const unwatch = this.watchers.find(i => i._uid === found._uid)\n      if (unwatch) {\n        unwatch.valid()\n        unwatch.shouldValidate()\n      }\n\n      this.watchers = this.watchers.filter(i => i._uid !== found._uid)\n      this.inputs = this.inputs.filter(i => i._uid !== found._uid)\n      this.$delete(this.errorBag, found._uid)\n    },\n  },\n\n  render (h): VNode {\n    return h('form', {\n      staticClass: 'v-form',\n      attrs: {\n        novalidate: true,\n        ...this.attrs$,\n      },\n      on: {\n        submit: (e: Event) => this.$emit('submit', e),\n      },\n    }, getSlot(this))\n  },\n})\n","// Styles\nimport './VRadio.sass'\n\n// Components\nimport VRadioGroup from './VRadioGroup'\nimport VLabel from '../VLabel'\nimport VIcon from '../VIcon'\nimport VInput from '../VInput'\n\n// Mixins\nimport BindsAttrs from '../../mixins/binds-attrs'\nimport Colorable from '../../mixins/colorable'\nimport { factory as GroupableFactory } from '../../mixins/groupable'\nimport Rippleable from '../../mixins/rippleable'\nimport Themeable from '../../mixins/themeable'\nimport Selectable, { prevent } from '../../mixins/selectable'\n\n// Utilities\nimport { getSlot } from '../../util/helpers'\n\n// Types\nimport { VNode, VNodeData } from 'vue'\nimport mixins from '../../util/mixins'\nimport { mergeListeners } from '../../util/mergeData'\n\nconst baseMixins = mixins(\n  BindsAttrs,\n  Colorable,\n  Rippleable,\n  GroupableFactory('radioGroup'),\n  Themeable\n)\n\ninterface options extends InstanceType<typeof baseMixins> {\n  radioGroup: InstanceType<typeof VRadioGroup>\n}\n\n/* @vue/component */\nexport default baseMixins.extend<options>().extend({\n  name: 'v-radio',\n\n  inheritAttrs: false,\n\n  props: {\n    disabled: {\n      type: Boolean,\n      default: null,\n    },\n    id: String,\n    label: String,\n    name: String,\n    offIcon: {\n      type: String,\n      default: '$radioOff',\n    },\n    onIcon: {\n      type: String,\n      default: '$radioOn',\n    },\n    readonly: {\n      type: Boolean,\n      default: null,\n    },\n    value: {\n      default: null,\n    },\n  },\n\n  data: () => ({\n    isFocused: false,\n  }),\n\n  computed: {\n    classes (): object {\n      return {\n        'v-radio--is-disabled': this.isDisabled,\n        'v-radio--is-focused': this.isFocused,\n        ...this.themeClasses,\n        ...this.groupClasses,\n      }\n    },\n    computedColor (): string | undefined {\n      if (this.isDisabled) return undefined\n      return Selectable.options.computed.computedColor.call(this)\n    },\n    computedIcon (): string {\n      return this.isActive\n        ? this.onIcon\n        : this.offIcon\n    },\n    computedId (): string {\n      return VInput.options.computed.computedId.call(this)\n    },\n    hasLabel: VInput.options.computed.hasLabel,\n    hasState (): boolean {\n      return (this.radioGroup || {}).hasState\n    },\n    isDisabled (): boolean {\n      return this.disabled ?? (\n        !!this.radioGroup &&\n        this.radioGroup.isDisabled\n      )\n    },\n    isReadonly (): boolean {\n      return this.readonly ?? (\n        !!this.radioGroup &&\n        this.radioGroup.isReadonly\n      )\n    },\n    computedName (): string {\n      if (this.name || !this.radioGroup) {\n        return this.name\n      }\n\n      return this.radioGroup.name || `radio-${this.radioGroup._uid}`\n    },\n    rippleState (): string | undefined {\n      return Selectable.options.computed.rippleState.call(this)\n    },\n    validationState (): string | undefined {\n      return (this.radioGroup || {}).validationState || this.computedColor\n    },\n  },\n\n  methods: {\n    genInput (args: any) {\n      // We can't actually use the mixin directly because\n      // it's made for standalone components, but its\n      // genInput method is exactly what we need\n      return Selectable.options.methods.genInput.call(this, 'radio', args)\n    },\n    genLabel () {\n      if (!this.hasLabel) return null\n\n      return this.$createElement(VLabel, {\n        on: {\n          // Label shouldn't cause the input to focus\n          click: prevent,\n        },\n        attrs: {\n          for: this.computedId,\n        },\n        props: {\n          color: this.validationState,\n          focused: this.hasState,\n        },\n      }, getSlot(this, 'label') || this.label)\n    },\n    genRadio () {\n      const { title, ...radioAttrs } = this.attrs$\n\n      return this.$createElement('div', {\n        staticClass: 'v-input--selection-controls__input',\n      }, [\n        this.$createElement(VIcon, this.setTextColor(this.validationState, {\n          props: {\n            dense: this.radioGroup && this.radioGroup.dense,\n          },\n        }), this.computedIcon),\n        this.genInput({\n          name: this.computedName,\n          value: this.value,\n          ...radioAttrs,\n        }),\n        this.genRipple(this.setTextColor(this.rippleState)),\n      ])\n    },\n    onFocus (e: Event) {\n      this.isFocused = true\n      this.$emit('focus', e)\n    },\n    onBlur (e: Event) {\n      this.isFocused = false\n      this.$emit('blur', e)\n    },\n    onChange () {\n      if (this.isDisabled || this.isReadonly || this.isActive) return\n\n      this.toggle()\n    },\n    onKeydown: () => {}, // Override default with noop\n  },\n\n  render (h): VNode {\n    const data: VNodeData = {\n      staticClass: 'v-radio',\n      class: this.classes,\n      on: mergeListeners({\n        click: this.onChange,\n      }, this.listeners$),\n      attrs: { title: this.attrs$.title },\n    }\n\n    return h('div', data, [\n      this.genRadio(),\n      this.genLabel(),\n    ])\n  },\n})\n","export * from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--8-oneOf-1-0!../../node_modules/css-loader/dist/cjs.js??ref--8-oneOf-1-1!../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--8-oneOf-1-2!../../node_modules/sass-loader/dist/cjs.js??ref--8-oneOf-1-3!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./GuestReservation.vue?vue&type=style&index=0&id=183464aa&prod&lang=scss&scoped=true\"","export const getStatusBackgroundColor = (entity) => {\n  let color = '';\n\n  const { status } = entity;\n  switch (true) {\n    case status === 'completed' || status === 'terminated':\n      color = '#C2CFE0';\n      break;\n    case status === 'pending' ||\n      status === 'pending_signature' ||\n      status === 'reservation_pending' ||\n      status === 'in_transit':\n      color = '#FEFFDB';\n      break;\n    case status === 'available' ||\n      status === 'approved' ||\n      status === 'active' ||\n      status === 'paid' ||\n      status === 'succeeded':\n      color = '#E6FBE5';\n      break;\n    case status === 'ready' || status === 'received':\n      color = '#BBDEFB';\n      break;\n    case status === 'declined':\n      color = '#FCEAE3';\n      break;\n    case status === 'incomplete' ||\n      status === 'canceled' ||\n      status === 'failed':\n      color = '#FCEAE3';\n      break;\n    case status === 'paused':\n      color = 'F57C00';\n      break;\n    case status === 'requestScheduled':\n      color = '#e2f0f9';\n      break;\n  }\n\n  return color;\n};\nexport const getStatusColor = (entity) => {\n  let color = '';\n\n  const { status } = entity;\n\n  switch (true) {\n    case status === 'completed' || status === 'terminated':\n      color = '#2A3038';\n      break;\n    case status === 'pending' ||\n      status === 'pending_signature' ||\n      status === 'reservation_pending' ||\n      status === 'in_transit':\n      color = '#BB9614';\n      break;\n    case status === 'available' ||\n      status === 'approved' ||\n      status === 'active' ||\n      status === 'paid' ||\n      status === 'succeeded':\n      color = '#2E9422';\n      break;\n    case status === 'ready' || status === 'received':\n      color = '#1976D2';\n      break;\n    case status === 'declined':\n      color = '#D10006';\n      break;\n    case status === 'incomplete' ||\n      status === 'canceled' ||\n      status === 'failed':\n      color = '#D10006';\n      break;\n    case status === 'paused':\n      color = '#FFE0B2';\n      break;\n    case status === 'onboarded':\n      color = '#FFFFFF';\n      break;\n    case status === 'requestScheduled':\n      color = '#0ebcef';\n      break;\n  }\n\n  return color;\n};\n\nexport const getStatusIcon = (entity) => {\n  let icon = '';\n\n  const { status } = entity;\n\n  switch (true) {\n    case status === 'terminated':\n      icon = 'mdi-close-box-outline';\n      break;\n    case status === 'approved' ||\n      status === 'active' ||\n      status === 'ready' ||\n      status === 'available' ||\n      status === 'completed' ||\n      status === 'received' ||\n      status === 'paid' ||\n      status === 'succeeded' ||\n      status === 'onboarded':\n      icon = 'mdi-check-circle-outline';\n      break;\n    case status === 'pending' ||\n      status === 'pending_signature' ||\n      status === 'in_transit':\n      icon = 'mdi-progress-clock';\n      break;\n    case status === 'reservation_pending':\n      icon = 'mdi-progress-pencil';\n      break;\n    case status === 'declined' || status === 'canceled':\n      icon = 'mdi-close-circle-outline';\n      break;\n    case status === 'incomplete':\n      icon = 'mdi-minus-circle-outline';\n      break;\n    case status === 'paused':\n      icon = 'mdi-pause';\n      break;\n    case status === 'failed':\n      icon = 'mdi-close-circle-outline';\n      break;\n  }\n\n  return icon;\n};\n\nexport const getStatusMessage = (entity) => {\n  let message = '';\n\n  const { status } = entity;\n\n  switch (true) {\n    case status === 'reservation_pending':\n      message = 'awaiting signature';\n      break;\n    case status === 'booking_canceled':\n      message = 'booking canceled';\n      break;\n    case status === 'booking_full':\n      message = 'booking full';\n      break;\n    case status === 'requestScheduled':\n      message = 'Scheduled';\n      break;\n    default:\n      message = status;\n  }\n\n  return message;\n};\n","import './VResponsive.sass'\n\n// Mixins\nimport Measurable, { NumberOrNumberString } from '../../mixins/measurable'\n\n// Types\nimport { VNode } from 'vue'\n\n// Utils\nimport mixins from '../../util/mixins'\nimport { getSlot } from '../../util/helpers'\n\n/* @vue/component */\nexport default mixins(Measurable).extend({\n  name: 'v-responsive',\n\n  props: {\n    aspectRatio: [String, Number] as NumberOrNumberString,\n    contentClass: String,\n  },\n\n  computed: {\n    computedAspectRatio (): number {\n      return Number(this.aspectRatio)\n    },\n    aspectStyle (): object | undefined {\n      return this.computedAspectRatio\n        ? { paddingBottom: (1 / this.computedAspectRatio) * 100 + '%' }\n        : undefined\n    },\n    __cachedSizer (): VNode | [] {\n      if (!this.aspectStyle) return []\n\n      return this.$createElement('div', {\n        style: this.aspectStyle,\n        staticClass: 'v-responsive__sizer',\n      })\n    },\n  },\n\n  methods: {\n    genContent (): VNode {\n      return this.$createElement('div', {\n        staticClass: 'v-responsive__content',\n        class: this.contentClass,\n      }, getSlot(this))\n    },\n  },\n\n  render (h): VNode {\n    return h('div', {\n      staticClass: 'v-responsive',\n      style: this.measurableStyles,\n      on: this.$listeners,\n    }, [\n      this.__cachedSizer,\n      this.genContent(),\n    ])\n  },\n})\n","import VResponsive from './VResponsive'\n\nexport { VResponsive }\nexport default VResponsive\n","// Styles\nimport './VImg.sass'\n\n// Directives\nimport intersect from '../../directives/intersect'\n\n// Types\nimport { VNode } from 'vue'\nimport { PropValidator } from 'vue/types/options'\n\n// Components\nimport VResponsive from '../VResponsive'\n\n// Mixins\nimport Themeable from '../../mixins/themeable'\n\n// Utils\nimport mixins from '../../util/mixins'\nimport mergeData from '../../util/mergeData'\nimport { consoleWarn } from '../../util/console'\nimport { getSlot } from '../../util/helpers'\n\n// not intended for public use, this is passed in by vuetify-loader\nexport interface srcObject {\n  src: string\n  srcset?: string\n  lazySrc: string\n  aspect: number\n}\n\nconst hasIntersect = typeof window !== 'undefined' && 'IntersectionObserver' in window\n\n/* @vue/component */\nexport default mixins(\n  VResponsive,\n  Themeable,\n).extend({\n  name: 'v-img',\n\n  directives: { intersect },\n\n  props: {\n    alt: String,\n    contain: Boolean,\n    eager: Boolean,\n    gradient: String,\n    lazySrc: String,\n    options: {\n      type: Object,\n      // For more information on types, navigate to:\n      // https://developer.mozilla.org/en-US/docs/Web/API/Intersection_Observer_API\n      default: () => ({\n        root: undefined,\n        rootMargin: undefined,\n        threshold: undefined,\n      }),\n    } as PropValidator<IntersectionObserverInit>,\n    position: {\n      type: String,\n      default: 'center center',\n    },\n    sizes: String,\n    src: {\n      type: [String, Object],\n      default: '',\n    } as PropValidator<string | srcObject>,\n    srcset: String,\n    transition: {\n      type: [Boolean, String],\n      default: 'fade-transition',\n    },\n  },\n\n  data () {\n    return {\n      currentSrc: '', // Set from srcset\n      image: null as HTMLImageElement | null,\n      isLoading: true,\n      calculatedAspectRatio: undefined as number | undefined,\n      naturalWidth: undefined as number | undefined,\n      hasError: false,\n    }\n  },\n\n  computed: {\n    computedAspectRatio (): number {\n      return Number(this.normalisedSrc.aspect || this.calculatedAspectRatio)\n    },\n    normalisedSrc (): srcObject {\n      return this.src && typeof this.src === 'object'\n        ? {\n          src: this.src.src,\n          srcset: this.srcset || this.src.srcset,\n          lazySrc: this.lazySrc || this.src.lazySrc,\n          aspect: Number(this.aspectRatio || this.src.aspect),\n        } : {\n          src: this.src,\n          srcset: this.srcset,\n          lazySrc: this.lazySrc,\n          aspect: Number(this.aspectRatio || 0),\n        }\n    },\n    __cachedImage (): VNode | [] {\n      if (!(this.normalisedSrc.src || this.normalisedSrc.lazySrc || this.gradient)) return []\n\n      const backgroundImage: string[] = []\n      const src = this.isLoading ? this.normalisedSrc.lazySrc : this.currentSrc\n\n      if (this.gradient) backgroundImage.push(`linear-gradient(${this.gradient})`)\n      if (src) backgroundImage.push(`url(\"${src}\")`)\n\n      const image = this.$createElement('div', {\n        staticClass: 'v-image__image',\n        class: {\n          'v-image__image--preload': this.isLoading,\n          'v-image__image--contain': this.contain,\n          'v-image__image--cover': !this.contain,\n        },\n        style: {\n          backgroundImage: backgroundImage.join(', '),\n          backgroundPosition: this.position,\n        },\n        key: +this.isLoading,\n      })\n\n      /* istanbul ignore if */\n      if (!this.transition) return image\n\n      return this.$createElement('transition', {\n        attrs: {\n          name: this.transition,\n          mode: 'in-out',\n        },\n      }, [image])\n    },\n  },\n\n  watch: {\n    src () {\n      // Force re-init when src changes\n      if (!this.isLoading) this.init(undefined, undefined, true)\n      else this.loadImage()\n    },\n    '$vuetify.breakpoint.width': 'getSrc',\n  },\n\n  mounted () {\n    this.init()\n  },\n\n  methods: {\n    init (\n      entries?: IntersectionObserverEntry[],\n      observer?: IntersectionObserver,\n      isIntersecting?: boolean\n    ) {\n      // If the current browser supports the intersection\n      // observer api, the image is not observable, and\n      // the eager prop isn't being used, do not load\n      if (\n        hasIntersect &&\n        !isIntersecting &&\n        !this.eager\n      ) return\n\n      if (this.normalisedSrc.lazySrc) {\n        const lazyImg = new Image()\n        lazyImg.src = this.normalisedSrc.lazySrc\n        this.pollForSize(lazyImg, null)\n      }\n      /* istanbul ignore else */\n      if (this.normalisedSrc.src) this.loadImage()\n    },\n    onLoad () {\n      this.getSrc()\n      this.isLoading = false\n      this.$emit('load', this.src)\n\n      if (\n        this.image &&\n        (this.normalisedSrc.src.endsWith('.svg') || this.normalisedSrc.src.startsWith('data:image/svg+xml'))\n      ) {\n        if (this.image.naturalHeight && this.image.naturalWidth) {\n          this.naturalWidth = this.image.naturalWidth\n          this.calculatedAspectRatio = this.image.naturalWidth / this.image.naturalHeight\n        } else {\n          this.calculatedAspectRatio = 1\n        }\n      }\n    },\n    onError () {\n      this.hasError = true\n      this.$emit('error', this.src)\n    },\n    getSrc () {\n      /* istanbul ignore else */\n      if (this.image) this.currentSrc = this.image.currentSrc || this.image.src\n    },\n    loadImage () {\n      const image = new Image()\n      this.image = image\n\n      image.onload = () => {\n        /* istanbul ignore if */\n        if (image.decode) {\n          image.decode().catch((err: DOMException) => {\n            consoleWarn(\n              `Failed to decode image, trying to render anyway\\n\\n` +\n              `src: ${this.normalisedSrc.src}` +\n              (err.message ? `\\nOriginal error: ${err.message}` : ''),\n              this\n            )\n          }).then(this.onLoad)\n        } else {\n          this.onLoad()\n        }\n      }\n      image.onerror = this.onError\n\n      this.hasError = false\n      this.sizes && (image.sizes = this.sizes)\n      this.normalisedSrc.srcset && (image.srcset = this.normalisedSrc.srcset)\n      image.src = this.normalisedSrc.src\n      this.$emit('loadstart', this.normalisedSrc.src)\n\n      this.aspectRatio || this.pollForSize(image)\n      this.getSrc()\n    },\n    pollForSize (img: HTMLImageElement, timeout: number | null = 100) {\n      const poll = () => {\n        const { naturalHeight, naturalWidth } = img\n\n        if (naturalHeight || naturalWidth) {\n          this.naturalWidth = naturalWidth\n          this.calculatedAspectRatio = naturalWidth / naturalHeight\n        } else if (!img.complete && this.isLoading && !this.hasError && timeout != null) {\n          setTimeout(poll, timeout)\n        }\n      }\n\n      poll()\n    },\n    genContent () {\n      const content: VNode = VResponsive.options.methods.genContent.call(this)\n      if (this.naturalWidth) {\n        this._b(content.data!, 'div', {\n          style: { width: `${this.naturalWidth}px` },\n        })\n      }\n\n      return content\n    },\n    __genPlaceholder (): VNode | void {\n      const slot = getSlot(this, 'placeholder')\n      if (slot) {\n        const placeholder = this.isLoading\n          ? [this.$createElement('div', {\n            staticClass: 'v-image__placeholder',\n          }, slot)]\n          : []\n\n        if (!this.transition) return placeholder[0]\n\n        return this.$createElement('transition', {\n          props: {\n            appear: true,\n            name: this.transition,\n          },\n        }, placeholder)\n      }\n    },\n  },\n\n  render (h): VNode {\n    const node = VResponsive.options.render.call(this, h)\n\n    const data = mergeData(node.data!, {\n      staticClass: 'v-image',\n      attrs: {\n        'aria-label': this.alt,\n        role: this.alt ? 'img' : undefined,\n      },\n      class: this.themeClasses,\n      // Only load intersect directive if it\n      // will work in the current browser.\n      directives: hasIntersect\n        ? [{\n          name: 'intersect',\n          modifiers: { once: true },\n          value: {\n            handler: this.init,\n            options: this.options,\n          },\n        }]\n        : undefined,\n    })\n\n    node.children = [\n      this.__cachedSizer,\n      this.__cachedImage,\n      this.__genPlaceholder(),\n      this.genContent(),\n    ] as VNode[]\n\n    return h(node.tag, data, node.children)\n  },\n})\n","// Components\nimport { VFadeTransition } from '../transitions'\nimport VExpansionPanel from './VExpansionPanel'\nimport VIcon from '../VIcon'\n\n// Mixins\nimport Colorable from '../../mixins/colorable'\nimport { inject as RegistrableInject } from '../../mixins/registrable'\n\n// Directives\nimport ripple from '../../directives/ripple'\n\n// Utilities\nimport { getSlot } from '../../util/helpers'\nimport mixins, { ExtractVue } from '../../util/mixins'\n\n// Types\nimport Vue, { VNode, VueConstructor } from 'vue'\n\nconst baseMixins = mixins(\n  Colorable,\n  RegistrableInject<'expansionPanel', VueConstructor<Vue>>('expansionPanel', 'v-expansion-panel-header', 'v-expansion-panel')\n)\n\ninterface options extends ExtractVue<typeof baseMixins> {\n  $el: HTMLElement\n  expansionPanel: InstanceType<typeof VExpansionPanel>\n}\n\nexport default baseMixins.extend<options>().extend({\n  name: 'v-expansion-panel-header',\n\n  directives: { ripple },\n\n  props: {\n    disableIconRotate: Boolean,\n    expandIcon: {\n      type: String,\n      default: '$expand',\n    },\n    hideActions: Boolean,\n    ripple: {\n      type: [Boolean, Object],\n      default: false,\n    },\n  },\n\n  data: () => ({\n    hasMousedown: false,\n  }),\n\n  computed: {\n    classes (): object {\n      return {\n        'v-expansion-panel-header--active': this.isActive,\n        'v-expansion-panel-header--mousedown': this.hasMousedown,\n      }\n    },\n    isActive (): boolean {\n      return this.expansionPanel.isActive\n    },\n    isDisabled (): boolean {\n      return this.expansionPanel.isDisabled\n    },\n    isReadonly (): boolean {\n      return this.expansionPanel.isReadonly\n    },\n  },\n\n  created () {\n    this.expansionPanel.registerHeader(this)\n  },\n\n  beforeDestroy () {\n    this.expansionPanel.unregisterHeader()\n  },\n\n  methods: {\n    onClick (e: MouseEvent) {\n      this.$emit('click', e)\n    },\n    genIcon () {\n      const icon = getSlot(this, 'actions', { open: this.isActive }) ||\n        [this.$createElement(VIcon, this.expandIcon)]\n\n      return this.$createElement(VFadeTransition, [\n        this.$createElement('div', {\n          staticClass: 'v-expansion-panel-header__icon',\n          class: {\n            'v-expansion-panel-header__icon--disable-rotate': this.disableIconRotate,\n          },\n          directives: [{\n            name: 'show',\n            value: !this.isDisabled,\n          }],\n        }, icon),\n      ])\n    },\n  },\n\n  render (h): VNode {\n    return h('button', this.setBackgroundColor(this.color, {\n      staticClass: 'v-expansion-panel-header',\n      class: this.classes,\n      attrs: {\n        tabindex: this.isDisabled ? -1 : null,\n        type: 'button',\n        'aria-expanded': this.isActive,\n      },\n      directives: [{\n        name: 'ripple',\n        value: this.ripple,\n      }],\n      on: {\n        ...this.$listeners,\n        click: this.onClick,\n        mousedown: () => (this.hasMousedown = true),\n        mouseup: () => (this.hasMousedown = false),\n      },\n    }), [\n      getSlot(this, 'default', { open: this.isActive }, true),\n      this.hideActions || this.genIcon(),\n    ])\n  },\n})\n","// Components\nimport VExpansionPanels from './VExpansionPanels'\nimport VExpansionPanelHeader from './VExpansionPanelHeader'\nimport VExpansionPanelContent from './VExpansionPanelContent'\n\n// Mixins\nimport { factory as GroupableFactory } from '../../mixins/groupable'\nimport { provide as RegistrableProvide } from '../../mixins/registrable'\n\n// Utilities\nimport { getSlot } from '../../util/helpers'\nimport mixins from '../../util/mixins'\n\n// Types\nimport { VNode } from 'vue'\n\ntype VExpansionPanelHeaderInstance = InstanceType<typeof VExpansionPanelHeader>\ntype VExpansionPanelContentInstance = InstanceType<typeof VExpansionPanelContent>\n\nexport default mixins(\n  GroupableFactory<'expansionPanels', typeof VExpansionPanels>('expansionPanels', 'v-expansion-panel', 'v-expansion-panels'),\n  RegistrableProvide('expansionPanel', true)\n  /* @vue/component */\n).extend({\n  name: 'v-expansion-panel',\n\n  props: {\n    disabled: Boolean,\n    readonly: Boolean,\n  },\n\n  data () {\n    return {\n      content: null as VExpansionPanelContentInstance | null,\n      header: null as VExpansionPanelHeaderInstance | null,\n      nextIsActive: false,\n    }\n  },\n\n  computed: {\n    classes (): object {\n      return {\n        'v-expansion-panel--active': this.isActive,\n        'v-expansion-panel--next-active': this.nextIsActive,\n        'v-expansion-panel--disabled': this.isDisabled,\n        ...this.groupClasses,\n      }\n    },\n    isDisabled (): boolean {\n      return this.expansionPanels.disabled || this.disabled\n    },\n    isReadonly (): boolean {\n      return this.expansionPanels.readonly || this.readonly\n    },\n  },\n\n  methods: {\n    registerContent (vm: VExpansionPanelContentInstance) {\n      this.content = vm\n    },\n    unregisterContent () {\n      this.content = null\n    },\n    registerHeader (vm: VExpansionPanelHeaderInstance) {\n      this.header = vm\n      vm.$on('click', this.onClick)\n    },\n    unregisterHeader () {\n      this.header = null\n    },\n    onClick (e: MouseEvent) {\n      if (e.detail) this.header!.$el.blur()\n\n      this.$emit('click', e)\n\n      this.isReadonly || this.isDisabled || this.toggle()\n    },\n    toggle () {\n      this.$nextTick(() => this.$emit('change'))\n    },\n  },\n\n  render (h): VNode {\n    return h('div', {\n      staticClass: 'v-expansion-panel',\n      class: this.classes,\n      attrs: {\n        'aria-expanded': String(this.isActive),\n      },\n    }, getSlot(this))\n  },\n})\n","export * from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--8-oneOf-1-0!../../node_modules/css-loader/dist/cjs.js??ref--8-oneOf-1-1!../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--8-oneOf-1-2!../../node_modules/sass-loader/dist/cjs.js??ref--8-oneOf-1-3!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./BaseAppStatusMarker.vue?vue&type=style&index=0&id=115ed0e4&prod&lang=scss&scoped=true\"","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('v-dialog',{attrs:{\"width\":_vm.$vuetify.breakpoint.smAndDown ? '90vw' : '80vw',\"persistent\":_vm.isApproved() || _vm.isSigning(),\"eager\":\"\"},on:{\"click:outside\":_vm.clickOutsideDialogHandler},model:{value:(_vm.computedShowConfirmDialog),callback:function ($$v) {_vm.computedShowConfirmDialog=$$v},expression:\"computedShowConfirmDialog\"}},[_c('v-card',[(_vm.isIncomplete())?_c('v-card-title',[_vm._v(\" Report Issue With Pickup \")]):_c('v-card-title',[_vm._v(\" \"+_vm._s(_vm.isApproved() ? `${_vm.get_is_signature_required ? 'Sign and Confirm' : 'Confirm'}` : 'Confirm')+\" \")]),_c('v-card-text',[_c('div',{staticClass:\"mb-4\"},[_vm._v(\" \"+_vm._s(_vm.isReceived() || _vm.isCanceled() || _vm.isDeclined() || _vm.isSigning() ? 'Are you sure you wish to perform this action?' : '')+\" \")]),_c('v-row',{staticClass:\"ma-0\"},[_c('v-col',{staticClass:\"pa-0\"},[_c('v-list',_vm._l((_vm.data.selectedItems),function(item,index){return _c('v-list-item',{key:index,class:index % 2 === 0 ? 'odd' : 'even'},[_c('v-list-item-content',{staticClass:\"px-4\"},[_c('v-row',[_c('v-col',{attrs:{\"cols\":\"3\",\"lg\":\"1\"}},[_c('v-icon',{staticClass:\"mr-8\",attrs:{\"color\":_vm.signed ? '#00ab55' : '#c58706'}},[_vm._v(\" \"+_vm._s(_vm.signed ? 'mdi-check-circle' : 'mdi-progress-clock')+\" \")])],1),_c('v-col',{attrs:{\"cols\":\"3\",\"lg\":\"2\"}},[_c('span',{staticClass:\"d-block color-4 font-size-14 line-height-23 text-truncate\"},[_vm._v(\"Line\")]),_c('span',{staticClass:\"text-truncate\"},[_c('BaseAppLineAvatar',{attrs:{\"line\":item.container.line,\"size\":20}})],1)]),_c('v-col',{attrs:{\"cols\":\"8\",\"lg\":\"2\"}},[_c('span',{staticClass:\"d-block color-4 font-size-14 line-height-23\"},[_vm._v(\"Requested By\")]),_vm._v(\" \"+_vm._s(item.requesterCompany)+\" \")]),_c('v-col',[_c('span',{staticClass:\"d-block color-4 font-size-14 line-height-23 text-truncate\"},[_vm._v(\"Empty Location\")]),_c('v-tooltip',{attrs:{\"top\":\"\"},scopedSlots:_vm._u([{key:\"activator\",fn:function({ on, attrs }){return [_c('span',_vm._g(_vm._b({staticClass:\"text-truncate\"},'span',attrs,false),on),[_vm._v(\" \"+_vm._s((item.container.location && item.container.location.address) || '--')+\" \")])]}}],null,true)},[_c('span',[_vm._v(_vm._s((item.container.location && item.container.location.address) || '--'))])])],1),(_vm.get_is_signature_required)?_c('v-col',{staticClass:\"d-flex align-center\",attrs:{\"cols\":\"3\"}},[_c('v-tooltip',{attrs:{\"top\":\"\"},scopedSlots:_vm._u([{key:\"activator\",fn:function({ on, attrs }){return [_c('v-btn',_vm._g(_vm._b({staticClass:\"rounded-sm\",staticStyle:{\"background\":\"#00ab55\"},attrs:{\"dark\":\"\",\"icon\":\"\",\"loading\":_vm.downloadLoadingId == item.id}},'v-btn',attrs,false),on),[_c('v-icon',{on:{\"click\":function($event){return _vm.downloadAgreement(item.signature, item.id)}}},[_vm._v(\"mdi-file-download-outline\")])],1)]}}],null,true)},[_c('span',[_vm._v(\"Download Agreement PDF\")])]),_c('span',{staticClass:\"ml-2\"},[_vm._v(\" Download Agreement PDF \")])],1):_vm._e(),_c('v-col',{staticClass:\"d-flex justify-end pr-0\",attrs:{\"cols\":\"5\",\"lg\":\"2\"}},[_c('BaseAppStatusMarker',{attrs:{\"entity\":item,\"filled\":\"\",\"small\":\"\",\"dark\":\"\"}})],1)],1),(_vm.isIncomplete())?_c('v-row',{staticClass:\"width-100\"},[_c('v-col',{attrs:{\"cols\":\"6\"}},[_c('v-select',{staticClass:\"pa-0 rounded-sm\",attrs:{\"label\":\"Please provide reason\",\"items\":_vm.issuesList,\"item-text\":\"name\",\"item-value\":\"name\"},model:{value:(item.description),callback:function ($$v) {_vm.$set(item, \"description\", $$v)},expression:\"item.description\"}})],1)],1):_vm._e()],1)],1)}),1)],1)],1),(_vm.isApproved() || _vm.isSigning())?_c('v-divider'):_vm._e(),_c('div',{ref:\"embedded-sign\",staticClass:\"mt-4\"})],1),_c('v-card-actions',{staticClass:\"d-flex justify-end flex-wrap pa-4\"},[(_vm.isApproved() || _vm.isSigning())?_c('v-btn',{staticClass:\"rounded-lg mt-2\",attrs:{\"color\":\"#FF3C5F\",\"raised\":\"\",\"elevation\":\"0\",\"dark\":!_vm.signed && (_vm.isApproved() || _vm.isSigning()),\"disabled\":_vm.signed && (!_vm.isApproved() || !_vm.isSigning())},on:{\"click\":_vm.closeDialogHandler}},[_vm._v(\" Cancel \")]):_vm._e(),(_vm.isCanceled() || _vm.isDeclined() || _vm.isReceived() || _vm.isIncomplete())?_c('v-btn',{staticClass:\"rounded-lg mt-2\",attrs:{\"color\":\"#FF3C5F\",\"raised\":\"\",\"elevation\":\"0\",\"dark\":\"\"},on:{\"click\":_vm.closeDialogHandler}},[_vm._v(\" Cancel \")]):_vm._e(),(_vm.isApproved())?_c('v-btn',{staticClass:\"ml-2 mt-2 rounded-sm\",attrs:{\"color\":\"#00ab55\",\"raised\":\"\",\"elevation\":\"0\",\"dark\":_vm.signed,\"disabled\":!_vm.signed},on:{\"click\":function($event){return _vm.confirm(_vm.data ? _vm.data : true)}}},[_vm._v(\" Approve Reservation \")]):(_vm.isSigning() && _vm.get_is_signature_required)?_c('v-btn',{staticClass:\"ml-2 rounded-sm mt-2\",attrs:{\"color\":\"#00ab55\",\"raised\":\"\",\"elevation\":\"0\",\"dark\":_vm.signed,\"disabled\":!_vm.signed},on:{\"click\":function($event){return _vm.closeDialogHandler('confirm')}}},[_vm._v(\" Confirm \")]):_c('v-btn',{staticClass:\"ml-2 rounded-sm mt-2\",attrs:{\"color\":\"#00ab55\",\"raised\":\"\",\"elevation\":\"0\",\"dark\":\"\"},on:{\"click\":function($event){return _vm.confirm(_vm.data ? _vm.data : true)}}},[_vm._v(\" Confirm \")])],1)],1),_c('v-snackbar',{staticClass:\"custom-snackbar rounded-sm\",attrs:{\"timeout\":-1,\"color\":\"error\"},model:{value:(_vm.showError),callback:function ($$v) {_vm.showError=$$v},expression:\"showError\"}},[_vm._v(\" \"+_vm._s(_vm.errorMsg)+\" \"),_c('v-btn',{attrs:{\"text\":\"\"},on:{\"click\":function($event){_vm.showError = false}}},[_vm._v(\"Close\")])],1)],1)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","<template>\n  <v-dialog\n    v-model=\"computedShowConfirmDialog\"\n    :width=\"$vuetify.breakpoint.smAndDown ? '90vw' : '80vw'\"\n    @click:outside=\"clickOutsideDialogHandler\"\n    :persistent=\"isApproved() || isSigning()\"\n    eager\n  >\n    <v-card>\n      <v-card-title v-if=\"isIncomplete()\">\n        Report Issue With Pickup\n      </v-card-title>\n      <v-card-title v-else>\n        {{\n          isApproved()\n            ? `${get_is_signature_required ? 'Sign and Confirm' : 'Confirm'}`\n            : 'Confirm'\n        }}\n      </v-card-title>\n      <v-card-text>\n        <div class=\"mb-4\">\n          {{\n            isReceived() || isCanceled() || isDeclined() || isSigning()\n              ? 'Are you sure you wish to perform this action?'\n              : ''\n          }}\n        </div>\n        <v-row class=\"ma-0\">\n          <v-col class=\"pa-0\">\n            <v-list>\n              <v-list-item\n                v-for=\"(item, index) of data.selectedItems\"\n                :key=\"index\"\n                v-bind:class=\"index % 2 === 0 ? 'odd' : 'even'\"\n              >\n                <v-list-item-content class=\"px-4\">\n                  <v-row>\n                    <v-col cols=\"3\" lg=\"1\">\n                      <v-icon\n                        class=\"mr-8\"\n                        :color=\"signed ? '#00ab55' : '#c58706'\"\n                      >\n                        {{ signed ? 'mdi-check-circle' : 'mdi-progress-clock' }}\n                      </v-icon>\n                    </v-col>\n                    <!--<v-col>\n                      <span class=\"d-block color-4 font-size-14 line-height-23\"\n                        >Amount</span\n                      >\n                      <span>{{ getFormatCurrency(item.amount) || '--' }}</span>\n                    </v-col>-->\n                    <v-col cols=\"3\" lg=\"2\">\n                      <span\n                        class=\"d-block color-4 font-size-14 line-height-23 text-truncate\"\n                        >Line</span\n                      >\n                      <span class=\"text-truncate\">\n                        <BaseAppLineAvatar\n                          :line=\"item.container.line\"\n                          :size=\"20\"\n                        />\n                        <!-- {{\n                        item.container.line\n                      }} -->\n                      </span>\n                    </v-col>\n                    <v-col cols=\"8\" lg=\"2\">\n                      <span class=\"d-block color-4 font-size-14 line-height-23\"\n                        >Requested By</span\n                      >\n                      {{ item.requesterCompany }}\n                    </v-col>\n                    <v-col>\n                      <span\n                        class=\"d-block color-4 font-size-14 line-height-23 text-truncate\"\n                        >Empty Location</span\n                      >\n                      <v-tooltip top>\n                        <template v-slot:activator=\"{ on, attrs }\">\n                          <span class=\"text-truncate\" v-bind=\"attrs\" v-on=\"on\">\n                            {{\n                              (item.container.location &&\n                                item.container.location.address) ||\n                              '--'\n                            }}\n                          </span>\n                        </template>\n                        <span>{{\n                          (item.container.location &&\n                            item.container.location.address) ||\n                          '--'\n                        }}</span>\n                      </v-tooltip>\n                    </v-col>\n                    <v-col\n                      cols=\"3\"\n                      class=\"d-flex align-center\"\n                      v-if=\"get_is_signature_required\"\n                    >\n                      <v-tooltip top>\n                        <template v-slot:activator=\"{ on, attrs }\">\n                          <v-btn\n                            class=\"rounded-sm\"\n                            style=\"background: #00ab55\"\n                            v-on=\"on\"\n                            v-bind=\"attrs\"\n                            dark\n                            icon\n                            :loading=\"downloadLoadingId == item.id\"\n                          >\n                            <v-icon\n                              @click=\"\n                                downloadAgreement(item.signature, item.id)\n                              \"\n                              >mdi-file-download-outline</v-icon\n                            >\n                          </v-btn>\n                        </template>\n                        <span>Download Agreement PDF</span>\n                      </v-tooltip>\n                      <span class=\"ml-2\"> Download Agreement PDF </span>\n                    </v-col>\n                    <v-col class=\"d-flex justify-end pr-0\" cols=\"5\" lg=\"2\">\n                      <BaseAppStatusMarker :entity=\"item\" filled small dark />\n                    </v-col>\n                  </v-row>\n                  <v-row v-if=\"isIncomplete()\" class=\"width-100\">\n                    <v-col cols=\"6\">\n                      <v-select\n                        v-model=\"item.description\"\n                        class=\"pa-0 rounded-sm\"\n                        label=\"Please provide reason\"\n                        :items=\"issuesList\"\n                        item-text=\"name\"\n                        item-value=\"name\"\n                      />\n                    </v-col>\n                  </v-row>\n                </v-list-item-content>\n              </v-list-item>\n            </v-list>\n          </v-col>\n        </v-row>\n        <v-divider v-if=\"isApproved() || isSigning()\"></v-divider>\n        <div class=\"mt-4\" ref=\"embedded-sign\"></div>\n      </v-card-text>\n      <v-card-actions class=\"d-flex justify-end flex-wrap pa-4\">\n        <v-btn\n          v-if=\"isApproved() || isSigning()\"\n          class=\"rounded-lg mt-2\"\n          color=\"#FF3C5F\"\n          raised\n          elevation=\"0\"\n          :dark=\"!signed && (isApproved() || isSigning())\"\n          :disabled=\"signed && (!isApproved() || !isSigning())\"\n          @click=\"closeDialogHandler\"\n        >\n          Cancel\n        </v-btn>\n        <v-btn\n          v-if=\"isCanceled() || isDeclined() || isReceived() || isIncomplete()\"\n          class=\"rounded-lg mt-2\"\n          color=\"#FF3C5F\"\n          raised\n          elevation=\"0\"\n          dark\n          @click=\"closeDialogHandler\"\n        >\n          Cancel\n        </v-btn>\n        <v-btn\n          v-if=\"isApproved()\"\n          class=\"ml-2 mt-2 rounded-sm\"\n          color=\"#00ab55\"\n          raised\n          elevation=\"0\"\n          :dark=\"signed\"\n          :disabled=\"!signed\"\n          @click=\"confirm(data ? data : true)\"\n        >\n          Approve Reservation\n        </v-btn>\n        <v-btn\n          v-else-if=\"isSigning() && get_is_signature_required\"\n          class=\"ml-2 rounded-sm mt-2\"\n          color=\"#00ab55\"\n          raised\n          elevation=\"0\"\n          :dark=\"signed\"\n          :disabled=\"!signed\"\n          @click=\"closeDialogHandler('confirm')\"\n        >\n          Confirm\n        </v-btn>\n        <v-btn\n          v-else\n          class=\"ml-2 rounded-sm mt-2\"\n          color=\"#00ab55\"\n          raised\n          elevation=\"0\"\n          dark\n          @click=\"confirm(data ? data : true)\"\n        >\n          Confirm\n        </v-btn>\n      </v-card-actions>\n    </v-card>\n    <v-snackbar\n      class=\"custom-snackbar rounded-sm\"\n      v-model=\"showError\"\n      :timeout=\"-1\"\n      color=\"error\"\n    >\n      {{ errorMsg }}\n      <v-btn text @click=\"showError = false\">Close</v-btn>\n    </v-snackbar>\n  </v-dialog>\n</template>\n\n<script>\nimport { mapActions, mapGetters } from 'vuex';\nimport firebase from 'firebase/app';\nimport 'firebase/firestore';\n\nimport BaseAppStatusMarker from '@/components/BaseAppStatusMarker';\n\nimport { formatCurrency } from '@qualle-admin/qutil/dist/currency';\nimport BaseAppLineAvatar from '@/components/BaseAppLineAvatar.vue';\n\nexport default {\n  name: 'BaseAppConfirmReservationDialog',\n  components: {\n    BaseAppStatusMarker,\n    BaseAppLineAvatar,\n  },\n  props: {\n    showConfirmDialog: {\n      default: () => false,\n      type: Boolean,\n    },\n    data: {\n      default: () => null,\n      type: Object,\n      required: false,\n    },\n  },\n  data() {\n    return {\n      signed: false,\n      showError: false,\n      errorMsg: null,\n      downloadLoadingId: null,\n      issuesList: [\n        { name: 'Container was not at the yard.' },\n        { name: 'Container was not where seller said it would be.' },\n        { name: 'Time in yard was too long.' },\n      ],\n      mutableShowConfirmDialog: this.showConfirmDialog,\n    };\n  },\n  computed: {\n    ...mapGetters('auth', ['get_user']),\n    ...mapGetters('reservations', ['get_error', 'get_organization_agreements']),\n    ...mapGetters('settings', ['get_is_signature_required']),\n    computedShowConfirmDialog: {\n      get() {\n        return this.mutableShowConfirmDialog;\n      },\n      set(value) {\n        this.mutableShowConfirmDialog = value;\n      },\n    },\n  },\n  methods: {\n    ...mapActions('reservations', [\n      'confirm_payment',\n      'get_sign_url',\n      'download_agreement',\n    ]),\n\n    async downloadAgreement(payload, id) {\n      this.downloadLoadingId = id;\n\n      await this.download_agreement(payload);\n\n      this.downloadLoadingId = null;\n    },\n    confirm($event) {\n      if (this.isReceived()) {\n        // this.confirm_payment(this.data.selectedItems[0]);\n      }\n\n      this.$emit('onConfirm', $event);\n\n      if (this.signed) {\n        this.closeDialogHandler();\n      }\n    },\n    clickOutsideDialogHandler() {\n      if (\n        (!this.isApproved() && !this.isSigning()) ||\n        !this.get_is_signature_required\n      ) {\n        this.closeDialogHandler();\n      }\n    },\n    closeDialogHandler(event) {\n      if (\n        this.isApproved() ||\n        this.isSigning() ||\n        this.isCanceled() ||\n        this.isDeclined()\n      ) {\n        this.$hellosign.close();\n        this.signed = false;\n        this.$refs['embedded-sign'].innerHTML = '';\n      }\n      event === 'confirm'\n        ? this.$emit('closeConfirmDialogHandler', 'confirm')\n        : this.$emit('closeConfirmDialogHandler');\n    },\n    isApproved() {\n      return this.data.status === 'approved';\n    },\n    isReceived() {\n      return this.data.status === 'received';\n    },\n    isCanceled() {\n      return this.data.status === 'canceled';\n    },\n    isDeclined() {\n      return this.data.status === 'declined';\n    },\n    isSigning() {\n      return this.data.status === 'signing';\n    },\n    isIncomplete() {\n      return this.data.status === 'incomplete';\n    },\n    getFormatCurrency(amount) {\n      return formatCurrency(amount);\n    },\n    // Checking wheather reservation is canceled by container buyer or not\n    isCanceledBySeller() {\n      if (this.data.canceledBy === this.data.selectedItems[0].originalOwner) {\n        return true;\n      } else {\n        return false;\n      }\n    },\n  },\n  mounted() {\n    this.get_is_signature_required\n      ? this.$hellosign.on('sign', () => (this.signed = true))\n      : (this.signed = true);\n  },\n  watch: {\n    data: async function({ selectedItems }) {\n      if (\n        !this.signed &&\n        selectedItems.length &&\n        this.get_is_signature_required\n      ) {\n        if ((this.isApproved() || this.isSigning()) && !this.isCanceled()) {\n          const [\n            {\n              signature: { signatures },\n            },\n          ] = selectedItems || null;\n\n          const getSignatureRequestId = async (signatures) => {\n            const currentUserOrgId = this.get_user.orgId;\n\n            const { docs } = await firebase\n              .firestore()\n              .collection('users')\n              .where('orgId', '==', currentUserOrgId)\n              .get();\n            const emails = docs.map((doc) => doc.data().email.toLowerCase());\n\n            return signatures.find(\n              ({ signer_email_address: signerEmailAddress }) =>\n                emails.includes(signerEmailAddress.toLowerCase())\n            );\n          };\n\n          const { signature_id: signatureId } = await getSignatureRequestId(\n            signatures\n          );\n          const signUrl = await this.get_sign_url(signatureId);\n\n          if (signUrl) {\n            this.$hellosign.open(signUrl, {\n              allowCancel: false,\n              hideHeader: true,\n              container: this.$refs['embedded-sign'],\n              skipDomainVerification: process.env.NODE_ENV !== 'production',\n            });\n          }\n        }\n      }\n      if (!this.get_is_signature_required) {\n        this.signed = true;\n      }\n    },\n    showConfirmDialog(value) {\n      this.mutableShowConfirmDialog = value;\n    },\n    get_error(value) {\n      this.showError = true;\n      this.errorMsg = value;\n\n      if (\n        value === 'Agreement already signed' &&\n        (this.isApproved() || this.isSigning())\n      ) {\n        this.signed = true;\n      }\n    },\n  },\n};\n</script>\n\n<style lang=\"scss\" scoped></style>\n","import mod from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./BaseAppConfirmReservationDialog.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./BaseAppConfirmReservationDialog.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./BaseAppConfirmReservationDialog.vue?vue&type=template&id=aafa5e82&scoped=true\"\nimport script from \"./BaseAppConfirmReservationDialog.vue?vue&type=script&lang=js\"\nexport * from \"./BaseAppConfirmReservationDialog.vue?vue&type=script&lang=js\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n  script,\n  render,\n  staticRenderFns,\n  false,\n  null,\n  \"aafa5e82\",\n  null\n  \n)\n\nexport default component.exports"],"sourceRoot":""}