{"version":3,"sources":["webpack:///./src/components/workspace/Layout.vue","webpack:///./src/components/workspace/Header.vue","webpack:///./src/components/workspace/HeaderNavbarDesktop.vue","webpack:///./src/components/workspace/HeaderUserButton.vue","webpack:///src/components/workspace/HeaderUserButton.vue","webpack:///./src/components/workspace/HeaderUserButton.vue?58b5","webpack:///./src/components/workspace/HeaderUserButton.vue?22a6","webpack:///src/components/workspace/HeaderNavbarDesktop.vue","webpack:///./src/components/workspace/HeaderNavbarDesktop.vue?8718","webpack:///./src/components/workspace/HeaderNavbarDesktop.vue?4529","webpack:///./src/components/workspace/HeaderNavbarMobile.vue","webpack:///src/components/workspace/HeaderNavbarMobile.vue","webpack:///./src/components/workspace/HeaderNavbarMobile.vue?021f","webpack:///./src/components/workspace/HeaderNavbarMobile.vue?56be","webpack:///src/components/workspace/Header.vue","webpack:///./src/components/workspace/Header.vue?384c","webpack:///./src/components/workspace/Header.vue?202e","webpack:///./src/components/workspace/InactivityOverlay.vue","webpack:///./src/config/layout.js","webpack:///src/components/workspace/InactivityOverlay.vue","webpack:///./src/components/workspace/InactivityOverlay.vue?df92","webpack:///./src/components/workspace/InactivityOverlay.vue?ec74","webpack:///src/components/workspace/Layout.vue","webpack:///./src/components/workspace/Layout.vue?88e9","webpack:///./src/components/workspace/Layout.vue?a3ae","webpack:///./node_modules/initialism/lib/initials.js","webpack:///./src/components/workspace/HeaderUserButton.vue?2109","webpack:///./src/components/controls/DatePicker.vue?b4db","webpack:///./node_modules/initialism/index.js","webpack:///./src/components/workspace/HeaderNavbarMobile.vue?c44a","webpack:///./src/components/controls/DatePicker.vue","webpack:///src/components/controls/DatePicker.vue","webpack:///./src/components/controls/DatePicker.vue?0a9f","webpack:///./src/components/controls/DatePicker.vue?d262","webpack:///./src/helpers/validation.js","webpack:///./src/components/workspace/Header.vue?6bcb"],"names":["render","_vm","this","_c","_self","_v","_t","isLogged","_e","staticRenderFns","staticClass","windowHeight","mobileBreakpoint","attrs","activeDashboardTab","_s","$t","activeDocumentsTab","activeAppointmentsTab","activeChatsTab","ispracticeSuiteEnable","patientPracticeSuiteId","isPayaEnable","billingTab","staticStyle","location","name","scopedSlots","_u","key","fn","initials","user","Name","patients","length","Patient","FullName","proxy","Email","on","$event","handleOpenSwitchPatientModal","closeSession","switchDialogTitle","handleOkSwitchPatient","cancel","ok","loading","loginSuccess","ref","stopPropagation","preventDefault","handleSubmitSwitchPatient","apply","arguments","modal","nameState","patientsOptions","patientIdState","handleChangeSelectedPatient","model","value","patientId","callback","$$v","$set","expression","hideDOB","Date","dob","alert","variant","show","message","components","DatePicker","data","selectedPatient","methods","bvModalEvt","AuthService","then","setTimeout","SessionService","catch","console","msgBoxConfirm","title","size","buttonSize","okTitle","cancelTitle","headerClass","footerClass","computed","filter","map","text","component","HeaderLogo","HeaderUserButton","activePaymentMethodsTab","expanded","HeaderNavbarMobile","HeaderNavbarDesktop","mounted","window","beforeDestroy","onResize","inactivity","redirectSeconds","inactivitySeconds","timerRef","eventSubscribe","document","hasActivity","startSessionTimer","clearInterval","localStorage","Math","checkInitialInactivity","inactivityBegin","readInactivity","logout","Header","InactivityOverlay","getInitials","word","substring","undefined","module","exports","words","wordsArray","split","join","splice","toUpperCase","class","squaredRight","year","day","month","errors","min","max","readonly","disabled","positionFixed","dateDisabledFn","locale","date","directives","rawName","style","inputWidth","placeholder","formattedValue","props","get","set","validateRequired","trim","validateEmail","email","re","test","String","toLowerCase","validateDateFormat","format","moment","isValid","validateDate","validateDateTime","validatePhoneNumber","phone","isValidPhoneNumber","validateSSN","ssn","justNumbers","replace","validateZipcode","zipcode","match"],"mappings":"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","file":"chunk-e0be2f6e.27451e80.js","sourcesContent":["var render = function render(){var _vm=this,_c=_vm._self._c;return _c('div',[_c('Header'),_vm._v(\" \"),_vm._t(\"default\"),_vm._v(\" \"),(_vm.isLogged)?_c('InactivityOverlay'):_vm._e()],2)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('div',{staticClass:\"home-nav pt-2\"},[(_vm.windowHeight <= _vm.mobileBreakpoint)?_c('header-navbar-mobile'):_c('header-navbar-desktop')],1)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('div',{staticClass:\"container nav-desktop\"},[_c('b-navbar',{staticClass:\"pl-0 pr-0\",attrs:{\"variant\":\"faded\",\"type\":\"light\"}},[_c('b-navbar-brand',{attrs:{\"to\":\"/\"}},[_c('HeaderLogo',{attrs:{\"inline\":true}})],1),_vm._v(\" \"),_c('b-navbar-nav',{staticClass:\"ml-auto\"},[_c('header-user-button')],1)],1),_vm._v(\" \"),_c('div',{staticClass:\"d-flex justify-content-between align-items-center position-sticky mt-4\"},[_c('b-nav',{attrs:{\"tabs\":\"\",\"pills\":\"\"}},[_c('b-nav-item',{attrs:{\"to\":\"/home\",\"active\":_vm.activeDashboardTab}},[_vm._v(\"\\n        \"+_vm._s(_vm.$t(\"layout.dashboard\"))+\"\\n      \")]),_vm._v(\" \"),_c('b-nav-item',{attrs:{\"to\":\"/documents\",\"active\":_vm.activeDocumentsTab}},[_vm._v(\"\\n        \"+_vm._s(_vm.$t(\"layout.documents\"))+\"\\n      \")]),_vm._v(\" \"),_c('b-nav-item',{attrs:{\"to\":\"/appointments\",\"active\":_vm.activeAppointmentsTab}},[_vm._v(\"\\n        \"+_vm._s(_vm.$t(\"layout.appoinments\"))+\"\\n      \")]),_vm._v(\" \"),_c('b-nav-item',{attrs:{\"to\":\"/messages\",\"active\":_vm.activeChatsTab}},[_vm._v(\"\\n        \"+_vm._s(_vm.$t(\"layout.chats\"))+\"\\n      \")]),_vm._v(\" \"),(_vm.ispracticeSuiteEnable && _vm.patientPracticeSuiteId && _vm.isPayaEnable)?_c('b-nav-item',{attrs:{\"to\":\"/billing\",\"active\":_vm.billingTab}},[_vm._v(\"\\n        \"+_vm._s(_vm.$t(\"layout.billing\"))+\"\\n      \")]):_vm._e()],1),_vm._v(\" \"),_c('strong',{staticClass:\"text-white px-2 pb-2\",staticStyle:{\"font-size\":\"1.2em\"}},[_vm._v(\"\\n      \"+_vm._s(_vm.location.name)+\"\\n    \")])],1)],1)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('b-nav-item-dropdown',{staticClass:\"header-user-button\",attrs:{\"right\":\"\"},scopedSlots:_vm._u([{key:\"button-content\",fn:function(){return [_c('div',{staticClass:\"d-flex flex-row align-items-center\"},[_c('b-avatar',{attrs:{\"variant\":\"primary\",\"text\":_vm.initials,\"size\":\"2.5em\"}}),_vm._v(\" \"),_c('div',{staticClass:\"d-flex justify-content-between align-items-center avatar-name\"},[_c('div',[_c('div',[_vm._v(_vm._s(_vm.user.Name))]),_vm._v(\" \"),(_vm.patients.length > 1)?_c('small',[_vm._v(_vm._s(_vm.$t(\"layout.patient\"))+\": \"+_vm._s(_vm.user.Patient.FullName))]):_vm._e()]),_vm._v(\" \"),_c('i',{staticClass:\"fa fa-caret-down ml-1\"})])],1)]},proxy:true}])},[_vm._v(\" \"),_c('b-dropdown-text',{staticClass:\"dropdown-header p-0\"},[_c('div',{staticClass:\"d-flex flex-row align-items-center p-0\"},[_c('div',{staticClass:\"mr-2\"},[_c('b-avatar',{attrs:{\"variant\":\"primary\",\"text\":_vm.initials,\"size\":\"4em\"}})],1),_vm._v(\" \"),_c('div',{staticStyle:{\"font-size\":\"0.9em\"}},[_vm._v(\"\\n        \"+_vm._s(_vm.user.Name)+\" \"),_c('br'),_vm._v(\"\\n        \"+_vm._s(_vm.user.Email)+\"\\n        \"),_c('small',{staticStyle:{\"display\":\"block\"}},[_vm._v(\"\\n          \"+_vm._s(_vm.$t(\"layout.patient\"))+\": \"+_vm._s(_vm.user.Patient.FullName)+\"\\n        \")])])])]),_vm._v(\" \"),_c('b-dropdown-divider'),_vm._v(\" \"),(_vm.patients.length > 1)?_c('b-dropdown-item-button',{on:{\"click\":function($event){return _vm.handleOpenSwitchPatientModal()}}},[_vm._v(\"\\n    \"+_vm._s(_vm.$t(\"layout.userButton.switchPatient\"))+\"\\n  \")]):_vm._e(),_vm._v(\" \"),(_vm.patients.length > 1)?_c('b-dropdown-divider'):_vm._e(),_vm._v(\" \"),_c('b-dropdown-item-button',{on:{\"click\":function($event){return _vm.closeSession()}}},[_vm._v(\"\\n    \"+_vm._s(_vm.$t(\"layout.userButton.signout\"))+\"\\n  \")]),_vm._v(\" \"),_c('b-modal',{attrs:{\"id\":\"modal-switch-patient\",\"no-close-on-backdrop\":\"\",\"size\":\"sm\",\"header-class\":\"border-bottom-0\",\"footer-class\":\"border-top-0\",\"body-class\":\"py-0\",\"title\":_vm.switchDialogTitle},on:{\"ok\":_vm.handleOkSwitchPatient},scopedSlots:_vm._u([{key:\"modal-footer\",fn:function({ cancel, ok }){return [(!_vm.loading && !_vm.loginSuccess)?_c('b-button',{staticClass:\"btn-sm\",on:{\"click\":function($event){return cancel()}}},[_vm._v(\"\\n        \"+_vm._s(_vm.$t(\"layout.switchPatientDialog.cancelBtn\"))+\"\\n      \")]):_vm._e(),_vm._v(\" \"),(!_vm.loading && !_vm.loginSuccess)?_c('b-button',{staticClass:\"btn-sm\",attrs:{\"variant\":\"primary\"},on:{\"click\":function($event){return ok()}}},[_vm._v(\"\\n        \"+_vm._s(_vm.$t(\"layout.switchPatientDialog.switchBtn\"))+\"\\n      \")]):_vm._e()]}}])},[(_vm.loading)?_c('div',{staticClass:\"d-flex flex-column align-items-center mt-4 mb-4\"},[_c('b-spinner',{staticStyle:{\"width\":\"4rem\",\"height\":\"4rem\"},attrs:{\"variant\":\"primary\",\"label\":\"Spinning\"}})],1):_vm._e(),_vm._v(\" \"),(!_vm.loading && !_vm.loginSuccess)?_c('form',{ref:\"form\",on:{\"submit\":function($event){$event.stopPropagation();$event.preventDefault();return _vm.handleSubmitSwitchPatient.apply(null, arguments)}}},[_c('b-form-group',{attrs:{\"label-for\":\"name-input\",\"invalid-feedback\":\"patient is required\",\"state\":_vm.modal.nameState}},[_c('b-select',{staticClass:\"form-control\",attrs:{\"name\":\"patientId\",\"options\":_vm.patientsOptions,\"state\":_vm.modal.patientIdState,\"required\":\"\"},on:{\"change\":_vm.handleChangeSelectedPatient},scopedSlots:_vm._u([{key:\"first\",fn:function(){return [_c('b-select-option',{attrs:{\"value\":null,\"disabled\":\"\"}},[_vm._v(\"\\n              \"+_vm._s(_vm.$t(\"layout.switchPatientDialog.select\"))+\"\\n            \")])]},proxy:true}],null,false,1446577764),model:{value:(_vm.modal.patientId),callback:function ($$v) {_vm.$set(_vm.modal, \"patientId\", $$v)},expression:\"modal.patientId\"}})],1),_vm._v(\" \"),(this.hideDOB === false)?_c('b-form-group',{staticClass:\"mb-0\",attrs:{\"label-for\":\"name-input\",\"invalid-feedback\":\"Name is required\",\"state\":_vm.modal.nameState}},[_c('b-label',[_vm._v(\"Choose patient's Date of Birth\")]),_vm._v(\" \"),_c('date-picker',{attrs:{\"max\":new Date()},model:{value:(_vm.modal.dob),callback:function ($$v) {_vm.$set(_vm.modal, \"dob\", $$v)},expression:\"modal.dob\"}})],1):_vm._e()],1):_vm._e(),_vm._v(\" \"),_c('b-alert',{staticClass:\"mt-4\",attrs:{\"variant\":_vm.alert.variant},model:{value:(_vm.alert.show),callback:function ($$v) {_vm.$set(_vm.alert, \"show\", $$v)},expression:\"alert.show\"}},[_vm._v(\"\\n      \"+_vm._s(_vm.alert.message)+\"\\n    \")])],1)],1)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","<template>\n  <b-nav-item-dropdown class=\"header-user-button\" right>\n    <template #button-content>\n      <div class=\"d-flex flex-row align-items-center\">\n        <b-avatar variant=\"primary\" :text=\"initials\" size=\"2.5em\"></b-avatar>\n        <div\n          class=\"d-flex justify-content-between align-items-center avatar-name\"\n        >\n          <div>\n            <div>{{ user.Name }}</div>\n            <small v-if=\"patients.length > 1\"\n              >{{ $t(\"layout.patient\") }}: {{ user.Patient.FullName }}</small\n            >\n          </div>\n          <i class=\"fa fa-caret-down ml-1\"></i>\n        </div>\n      </div>\n    </template>\n\n    <b-dropdown-text class=\"dropdown-header p-0\">\n      <div class=\"d-flex flex-row align-items-center p-0\">\n        <div class=\"mr-2\">\n          <b-avatar variant=\"primary\" :text=\"initials\" size=\"4em\"></b-avatar>\n        </div>\n        <div style=\"font-size:0.9em;\">\n          {{ user.Name }} <br />\n          {{ user.Email }}\n          <small style=\"display:block;\">\n            {{ $t(\"layout.patient\") }}: {{ user.Patient.FullName }}\n          </small>\n        </div>\n      </div>\n    </b-dropdown-text>\n    <b-dropdown-divider></b-dropdown-divider>\n\n    <b-dropdown-item-button\n      v-if=\"patients.length > 1\"\n      @click=\"handleOpenSwitchPatientModal()\"\n    >\n      {{ $t(\"layout.userButton.switchPatient\") }}\n    </b-dropdown-item-button>\n\n    <!-- <b-dropdown-text>\n      <select-language class=\"lang-select\" />\n    </b-dropdown-text> -->\n    <b-dropdown-divider v-if=\"patients.length > 1\"></b-dropdown-divider>\n\n    <b-dropdown-item-button @click=\"closeSession()\">\n      {{ $t(\"layout.userButton.signout\") }}\n    </b-dropdown-item-button>\n\n    <b-modal\n      id=\"modal-switch-patient\"\n      no-close-on-backdrop\n      size=\"sm\"\n      header-class=\"border-bottom-0\"\n      footer-class=\"border-top-0\"\n      body-class=\"py-0\"\n      :title=\"switchDialogTitle\"\n      @ok=\"handleOkSwitchPatient\"\n    >\n      <div\n        v-if=\"loading\"\n        class=\"d-flex flex-column align-items-center mt-4 mb-4\"\n      >\n        <b-spinner\n          style=\"width:4rem; height:4rem;\"\n          variant=\"primary\"\n          label=\"Spinning\"\n        ></b-spinner>\n      </div>\n\n      <form\n        v-if=\"!loading && !loginSuccess\"\n        ref=\"form\"\n        @submit.stop.prevent=\"handleSubmitSwitchPatient\"\n      >\n        <b-form-group\n          label-for=\"name-input\"\n          invalid-feedback=\"patient is required\"\n          :state=\"modal.nameState\"\n        >\n          <b-select\n            class=\"form-control\"\n            name=\"patientId\"\n            v-model=\"modal.patientId\"\n            :options=\"patientsOptions\"\n            :state=\"modal.patientIdState\"\n            @change=\"handleChangeSelectedPatient\"\n            required\n          >\n            <template #first>\n              <b-select-option :value=\"null\" disabled>\n                {{ $t(\"layout.switchPatientDialog.select\") }}\n              </b-select-option>\n            </template>\n          </b-select>\n        </b-form-group>\n\n        <b-form-group\n          label-for=\"name-input\"\n          invalid-feedback=\"Name is required\"\n          :state=\"modal.nameState\"\n          v-if=\"this.hideDOB === false\"\n          class=\"mb-0\"\n        >\n          <b-label>Choose patient's Date of Birth</b-label>\n          <date-picker v-model=\"modal.dob\" :max=\"new Date()\" />\n        </b-form-group>\n      </form>\n\n      <b-alert v-model=\"alert.show\" :variant=\"alert.variant\" class=\"mt-4\">\n        {{ alert.message }}\n      </b-alert>\n\n      <template #modal-footer=\"{ cancel, ok }\">\n        <b-button\n          class=\"btn-sm\"\n          @click=\"cancel()\"\n          v-if=\"!loading && !loginSuccess\"\n        >\n          {{ $t(\"layout.switchPatientDialog.cancelBtn\") }}\n        </b-button>\n\n        <b-button\n          class=\"btn-sm\"\n          variant=\"primary\"\n          @click=\"ok()\"\n          v-if=\"!loading && !loginSuccess\"\n        >\n          {{ $t(\"layout.switchPatientDialog.switchBtn\") }}\n        </b-button>\n      </template>\n    </b-modal>\n  </b-nav-item-dropdown>\n</template>\n\n<script>\nimport { mapGetters } from \"vuex\";\nimport initialism from \"initialism\";\n// import SelectLanguage from \"../../views/SelectLanguage.vue\";\nimport DatePicker from \"../controls/DatePicker.vue\";\nimport SessionService from \"../../server/session\";\nimport AuthService from \"../../server/auth\";\nimport { validateDate } from \"../../helpers/validation\";\n\nexport default {\n  name: \"HeaderUserButton\",\n  components: {\n    DatePicker\n    // SelectLanguage\n  },\n  data: () => {\n    return {\n      loading: false,\n      loginSuccess: false,\n      selectedPatient: null,\n      hideDOB: true,\n      modal: {\n        dob: \"\",\n        patientId: null,\n        patientIdState: null,\n        name: \"\",\n        nameState: null\n      },\n      alert: {\n        show: false,\n        message: \"\",\n        variant: \"success\"\n      }\n    };\n  },\n  methods: {\n    handleOpenSwitchPatientModal() {\n      this.hideDOB = true;\n      this.modal = { patientId: null, name: \"\", nameState: null };\n      this.alert.show = false;\n      this.$bvModal.show(\"modal-switch-patient\");\n    },\n    handleOkSwitchPatient(bvModalEvt) {\n      bvModalEvt.preventDefault();\n      this.handleSubmitSwitchPatient();\n    },\n    handleSubmitSwitchPatient() {\n      const valid = this.$refs.form.checkValidity();\n      this.modal.nameState = valid;\n      if (!valid) return;\n      if (this.modal.patientId === this.user.PatientId) {\n        this.$nextTick(() => {\n          this.$bvModal.hide(\"modal-switch-patient\");\n        });\n        return;\n      }\n\n      const patient = this.patients.find(p => p.id === this.modal.patientId);\n\n      if(!patient.verified && !validateDate(this.modal.dob)) {\n        this.alert = {\n          show: true,\n          variant: \"danger\",\n          message: `Invalid Date of Birth`\n        };\n        return;\n      }\n      \n      this.loading = true;\n      AuthService.authNewPatient(this.modal.patientId, this.modal.dob)\n        .then(res => {\n          this.loading = false;\n          this.loginSuccess = true;\n          this.alert = {\n            show: true,\n            variant: \"success\",\n            message: \"Success\"\n          };\n          setTimeout(() => {\n            this.$nextTick(() => {\n              this.$bvModal.hide(\"modal-switch-patient\");\n            });\n            SessionService.save(res.data);\n          }, 500);\n        })\n        .catch(err => {\n          console.log(err);\n          this.loading = false;\n          this.alert = {\n            show: true,\n            variant: \"danger\",\n            message: `There has been an error on confirm session! ${ err.response.data.errorCode }`\n          };\n        });\n    },\n    handleChangeSelectedPatient(value) {\n      const patient = this.patients.find(p => p.id === value);\n      this.selectedPatient = patient;\n      this.hideDOB = patient.verified;\n      this.alert.show = false;\n      this.modal.dob = null;\n    },\n    closeSession() {\n      this.$bvModal\n        .msgBoxConfirm(this.$t(\"layout.signoutDialog.message\"), {\n          title: \"OPUS Portal\",\n          size: \"sm\",\n          buttonSize: \"sm\",\n          okTitle: this.$t(\"layout.signoutDialog.okBtn\"),\n          cancelTitle: this.$t(\"layout.signoutDialog.cancelBtn\"),\n          headerClass: \"p-2 border-bottom-0\",\n          footerClass: \"p-2 border-top-0\"\n        })\n        .then(value => {\n          if (value) {\n            SessionService.logout();\n          }\n        })\n        .catch(err => {\n          console.log(err);\n        });\n    }\n  },\n  computed: {\n    ...mapGetters(\"session\", [\"user\", \"patients\"]),\n    patientsOptions() {\n      return this.patients\n        .filter(item => item.id !== this.user.PatientId)\n        .map(item => ({ text: item.name, value: item.id }));\n    },\n    switchDialogTitle() {\n      return this.$t(\"layout.switchPatientDialog.title\");\n    },\n    initials() {\n      return initialism(this.user.Name, 2);\n    }\n  }\n};\n</script>\n\n<style lang=\"scss\">\n.header-user-button {\n  .badge-primary {\n    color: #0084ff;\n    background-color: #fff;\n  }\n\n  .avatar-name {\n    color: white;\n    font-size: 0.9em;\n    background-color: transparent;\n    border-top-right-radius: 20px;\n    border-bottom-right-radius: 20px;\n    margin-left: -15px;\n    padding-left: 20px;\n    padding-right: 9px;\n    line-height: 18px;\n  }\n\n  .lang-select {\n    font-size: 0.7em;\n    margin-top: 0px;\n  }\n\n  a.nav-link::after {\n    display: none;\n  }\n\n  .dropdown-menu {\n    .dropdown-item {\n      font-size: 0.8em !important;\n    }\n\n    .dropdown-header {\n      button {\n        padding: 5px 10px;\n      }\n    }\n  }\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!./HeaderUserButton.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!./HeaderUserButton.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./HeaderUserButton.vue?vue&type=template&id=489a7ba2&\"\nimport script from \"./HeaderUserButton.vue?vue&type=script&lang=js&\"\nexport * from \"./HeaderUserButton.vue?vue&type=script&lang=js&\"\nimport style0 from \"./HeaderUserButton.vue?vue&type=style&index=0&id=489a7ba2&prod&lang=scss&\"\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  null,\n  null\n  \n)\n\nexport default component.exports","<template>\n  <div class=\"container nav-desktop\">\n    <b-navbar class=\"pl-0 pr-0\" variant=\"faded\" type=\"light\">\n      <b-navbar-brand to=\"/\">\n        <HeaderLogo :inline=\"true\" />\n      </b-navbar-brand>\n\n      <b-navbar-nav class=\"ml-auto\">\n        <header-user-button />\n      </b-navbar-nav>\n    </b-navbar>\n\n    <div\n      class=\"\n        d-flex\n        justify-content-between\n        align-items-center\n        position-sticky\n        mt-4\n      \"\n    >\n      <b-nav tabs pills>\n        <b-nav-item to=\"/home\" :active=\"activeDashboardTab\">\n          {{ $t(\"layout.dashboard\") }}\n        </b-nav-item>\n\n        <b-nav-item to=\"/documents\" :active=\"activeDocumentsTab\">\n          {{ $t(\"layout.documents\") }}\n        </b-nav-item>\n\n        <b-nav-item to=\"/appointments\" :active=\"activeAppointmentsTab\">\n          {{ $t(\"layout.appoinments\") }}\n        </b-nav-item>\n\n        <b-nav-item to=\"/messages\" :active=\"activeChatsTab\">\n          {{ $t(\"layout.chats\") }}\n        </b-nav-item>\n        <!-- <b-nav-item\n          v-if=\"ispracticeSuiteEnable && patientPracticeSuiteId\"\n          to=\"/paymentMethods\"\n          :active=\"activePaymentMethodsTab\"\n        >\n          {{ $t(\"layout.paymentMethods\") }}\n        </b-nav-item> -->\n        <b-nav-item\n          v-if=\"ispracticeSuiteEnable && patientPracticeSuiteId && isPayaEnable\"\n          to=\"/billing\"\n          :active=\"billingTab\"\n        >\n          {{ $t(\"layout.billing\") }}\n        </b-nav-item>\n      </b-nav>\n      <strong class=\"text-white px-2 pb-2\" style=\"font-size: 1.2em\">\n        {{ location.name }}\n      </strong>\n    </div>\n  </div>\n</template>\n\n<script>\nimport { mapState } from \"vuex\";\nimport HeaderUserButton from \"../workspace/HeaderUserButton.vue\";\nimport HeaderLogo from \"../../views/HeaderLogo.vue\";\n\nexport default {\n  components: {\n    HeaderLogo,\n    HeaderUserButton\n  },\n  computed: {\n    ...mapState(\"session\", {\n      location: state => state.location,\n      ispracticeSuiteEnable: state => state.systemSettings.practiceSuiteEnable,\n      isPayaEnable: state => state.systemSettings.payaEnable,\n      patientPracticeSuiteId: state => state.user.Patient.PracticeSuiteId\n    }),\n    activeDashboardTab() {\n      return this.$route.path === \"/home\";\n    },\n    activeDocumentsTab() {\n      const currentRoute = this.$route.path.toLowerCase();\n      return currentRoute.startsWith(\"/document\");\n    },\n    activeAppointmentsTab() {\n      return this.$route.path === \"/appointments\";\n    },\n    activeChatsTab() {\n      return this.$route.path === \"/messages\";\n    },\n    billingTab() {\n      return this.$route.path.startsWith(\"/billing\");\n    },\n    activePaymentMethodsTab() {\n      return this.$route.path.startsWith(\"/paymentMethod\");\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!./HeaderNavbarDesktop.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!./HeaderNavbarDesktop.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./HeaderNavbarDesktop.vue?vue&type=template&id=e505ffbe&scoped=true&\"\nimport script from \"./HeaderNavbarDesktop.vue?vue&type=script&lang=js&\"\nexport * from \"./HeaderNavbarDesktop.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  \"e505ffbe\",\n  null\n  \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('b-navbar',{staticClass:\"navbar-responsive\",attrs:{\"toggleable\":\"\",\"type\":\"light\",\"variant\":\"light\"}},[_c('b-navbar-brand',{staticClass:\"d-flex flex-row\"},[_c('b-navbar-toggle',{staticClass:\"navbar-toggle-button mr-2\",attrs:{\"target\":\"navbar-toggle-collapse\"},scopedSlots:_vm._u([{key:\"default\",fn:function({ expanded }){return [(expanded)?_c('i',{staticClass:\"fa fa-times\"}):_c('i',{staticClass:\"fa fa-bars\"})]}}])}),_vm._v(\" \"),_c('HeaderLogo',{staticClass:\"pb-2\"})],1),_vm._v(\" \"),_c('b-collapse',{attrs:{\"id\":\"navbar-toggle-collapse\",\"is-nav\":\"\"}},[_c('b-navbar-nav',{staticClass:\"ml-auto\"},[_c('b-nav-item',{attrs:{\"to\":\"/home\"}},[_vm._v(\"My Dashboard\")]),_vm._v(\" \"),_c('b-nav-item',{attrs:{\"to\":\"/documents\"}},[_vm._v(\"Documents\")]),_vm._v(\" \"),_c('b-nav-item',{attrs:{\"to\":\"/appointments\"}},[_vm._v(\"Appointments\")]),_vm._v(\" \"),_c('b-nav-item',{attrs:{\"to\":\"/messages\"}},[_vm._v(\"Messages\")]),_vm._v(\" \"),_c('b-nav-item',{attrs:{\"to\":\"/billing\"}},[_vm._v(_vm._s(_vm.$t(\"layout.billing\")))]),_vm._v(\" \"),_c('header-user-button')],1)],1)],1)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","<template>\n  <b-navbar class=\"navbar-responsive\" toggleable type=\"light\" variant=\"light\">\n    <b-navbar-brand class=\"d-flex flex-row\">\n      <b-navbar-toggle\n        class=\"navbar-toggle-button mr-2\"\n        target=\"navbar-toggle-collapse\"\n      >\n        <template #default=\"{ expanded }\">\n          <i v-if=\"expanded\" class=\"fa fa-times\"></i>\n          <i v-else class=\"fa fa-bars\"></i>\n        </template>\n      </b-navbar-toggle>\n\n      <HeaderLogo class=\"pb-2\" />\n    </b-navbar-brand>\n\n    <b-collapse id=\"navbar-toggle-collapse\" is-nav>\n      <b-navbar-nav class=\"ml-auto\">\n        <b-nav-item to=\"/home\">My Dashboard</b-nav-item>\n        <b-nav-item to=\"/documents\">Documents</b-nav-item>\n        <b-nav-item to=\"/appointments\">Appointments</b-nav-item>\n        <b-nav-item to=\"/messages\">Messages</b-nav-item>\n        <b-nav-item to=\"/billing\">{{ $t(\"layout.billing\") }}</b-nav-item>\n        <header-user-button />\n      </b-navbar-nav>\n    </b-collapse>\n  </b-navbar>\n</template>\n\n<script>\nimport HeaderLogo from \"../../views/HeaderLogo.vue\";\nimport HeaderUserButton from \"./HeaderUserButton.vue\";\n\nexport default {\n  components: {\n    HeaderLogo,\n    HeaderUserButton\n  }\n};\n</script>\n\n<style lang=\"scss\">\n.navbar-responsive {\n  background: transparent !important;\n\n  .navbar-toggle-button {\n    width: 100% !important;\n    width: 44px !important;\n    color: white;\n  }\n\n  .navbar-nav .nav-link {\n    color: white;\n\n    &.router-link-active {\n      font-weight: bold;\n    }\n  }\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!./HeaderNavbarMobile.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!./HeaderNavbarMobile.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./HeaderNavbarMobile.vue?vue&type=template&id=01df6dd8&\"\nimport script from \"./HeaderNavbarMobile.vue?vue&type=script&lang=js&\"\nexport * from \"./HeaderNavbarMobile.vue?vue&type=script&lang=js&\"\nimport style0 from \"./HeaderNavbarMobile.vue?vue&type=style&index=0&id=01df6dd8&prod&lang=scss&\"\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  null,\n  null\n  \n)\n\nexport default component.exports","<template>\n  <div class=\"home-nav pt-2\">\n    <header-navbar-mobile v-if=\"windowHeight <= mobileBreakpoint\" />\n\n    <header-navbar-desktop v-else />\n  </div>\n</template>\n\n<script>\nimport HeaderNavbarDesktop from \"./HeaderNavbarDesktop.vue\";\nimport HeaderNavbarMobile from \"./HeaderNavbarMobile.vue\";\n\nexport default {\n  components: {\n    HeaderNavbarMobile,\n    HeaderNavbarDesktop\n  },\n  data() {\n    return {\n      mobileBreakpoint: 640,\n      windowHeight: window.innerWidth\n    };\n  },\n  mounted() {\n    this.$nextTick(() => {\n      window.addEventListener(\"resize\", this.onResize);\n    });\n  },\n  beforeDestroy() {\n    window.removeEventListener(\"resize\", this.onResize);\n  },\n  methods: {\n    onResize() {\n      this.windowHeight = window.innerWidth;\n    }\n  }\n};\n</script>\n\n<style lang=\"scss\">\n@import \"../../variables.scss\";\n\n.home-nav {\n  position: sticky;\n  position: -webkit-sticky;\n  top: 0;\n  z-index: 1000;\n  background: linear-gradient(to bottom, #13609b, #208de2);\n  box-shadow: rgba(0, 0, 0, 0.2) 0px 1px 4px;\n\n  .nav.nav-tabs .nav-item .nav-link {\n    color: white;\n    font-size: 1em;\n    font-weight: initial;\n\n    &.active {\n      font-weight: bold;\n      border-bottom-color: white;\n    }\n  }\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!./Header.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!./Header.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./Header.vue?vue&type=template&id=a33836be&\"\nimport script from \"./Header.vue?vue&type=script&lang=js&\"\nexport * from \"./Header.vue?vue&type=script&lang=js&\"\nimport style0 from \"./Header.vue?vue&type=style&index=0&id=a33836be&prod&lang=scss&\"\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  null,\n  null\n  \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('div',{staticStyle:{\"display\":\"none\"}})\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","export const inactivity = {\n  redirectSeconds: 900\n};\n","<template>\n  <div style=\"display: none;\"></div>\n</template>\n\n<script>\nimport { inactivity } from \"../../config/layout\";\nimport SessionService from \"../../server/session\";\nexport default {\n  name: \"InactivityOverlay\",\n  data() {\n    return {\n      inactivitySeconds: 0,\n      timerRef: null,\n      redirectSeconds: inactivity.redirectSeconds\n    };\n  },\n  mounted() {\n    this.eventSubscribe();\n    this.startSessionTimer();\n    this.checkInitialInactivity();\n  },\n  methods: {\n    eventSubscribe() {\n      const resetFunction = e => {\n        this.hasActivity(e);\n      };\n      document.onmousemove = resetFunction;\n      document.onclick = resetFunction;\n      document.onkeypress = resetFunction;\n    },\n    hasActivity() {\n      this.startSessionTimer();\n    },\n    startSessionTimer() {\n      if (this.timerRef) {\n        clearInterval(this.timerRef);\n      }\n      this.inactivitySeconds = 0;\n      this.inactivityBegin = Math.floor(Date.now() / 1000);\n      localStorage.setItem(\"inactivityBegin\", this.inactivityBegin);\n      this.timerRef = setInterval(() => {\n        this.inactivityBegin = this.readInactivity();\n        this.inactivitySeconds =\n          Math.floor(Date.now() / 1000) - this.inactivityBegin;\n        if (this.inactivitySeconds > this.redirectSeconds) {\n          this.logout();\n        }\n      }, 1000);\n    },\n    checkInitialInactivity() {\n      const inactivityBegin = this.readInactivity();\n      const inactivitySeconds =\n        Math.floor(Date.now() / 1000) -\n        (inactivityBegin ? parseInt(inactivityBegin) : 0);\n      if (inactivitySeconds > this.redirectSeconds) {\n        this.logout();\n      }\n    },\n    readInactivity() {\n      return localStorage.getItem(\"inactivityBegin\");\n    },\n    logout() {\n      SessionService.logout();\n    }\n  }\n};\n</script>\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!./InactivityOverlay.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!./InactivityOverlay.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./InactivityOverlay.vue?vue&type=template&id=09094a58&\"\nimport script from \"./InactivityOverlay.vue?vue&type=script&lang=js&\"\nexport * from \"./InactivityOverlay.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  null,\n  null\n  \n)\n\nexport default component.exports","<template>\n  <div>\n    <Header />\n\n    <slot />\n\n    <InactivityOverlay v-if=\"isLogged\" />\n  </div>\n</template>\n\n<script>\nimport Header from \"./Header.vue\";\nimport InactivityOverlay from \"./InactivityOverlay.vue\";\nimport SessionService from \"../../server/session\";\n\nexport default {\n  name: \"Layout\",\n  components: {\n    Header,\n    InactivityOverlay\n  },\n  computed: {\n    isLogged() {\n      return SessionService.isLogged();\n    }\n  }\n};\n</script>\n\n<style></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!./Layout.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!./Layout.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./Layout.vue?vue&type=template&id=93a90ee2&\"\nimport script from \"./Layout.vue?vue&type=script&lang=js&\"\nexport * from \"./Layout.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  null,\n  null\n  \n)\n\nexport default component.exports","/**\n * @ Author: Mars Santoso (marssantoso@hotmail.com)\n * @ Create Time: 2019-10-13 01:11:49\n * @ Modified by: Mars Santoso\n * @ Modified time: 2020-08-20 14:02:02\n * @ Description: lib/initials.js\n */\n\nfunction getInitials(word, length) {\n  return word.substring(0, length === undefined ? 1 : length)\n}\n\nmodule.exports = function initials(words, length) {\n  var wordsArray, initials\n\n  wordsArray = words === undefined ? [] : words.split(' ')\n\n  if (length === undefined) {\n    initials = wordsArray.map(word => getInitials(word)).join('')\n  } else {\n    initials =\n      wordsArray.length === 1\n        ? getInitials(wordsArray[0], length)\n        : wordsArray\n          .splice(0, length)\n          .map(word => getInitials(word))\n          .join('')\n  }\n\n  return initials.toUpperCase()\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!./HeaderUserButton.vue?vue&type=style&index=0&id=489a7ba2&prod&lang=scss&\"","export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--6-oneOf-1-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./DatePicker.vue?vue&type=style&index=0&id=478c7056&prod&lang=css&\"","/**\n * @ Author: Mars Santoso (marssantoso@hotmail.com)\n * @ Create Time: 2019-10-13 01:11:49\n * @ Modified by: Mars Santoso\n * @ Modified time: 2019-10-13 03:52:34\n * @ Description: index.js\n */\n\nmodule.exports = require('./lib/initials')\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!./HeaderNavbarMobile.vue?vue&type=style&index=0&id=01df6dd8&prod&lang=scss&\"","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('div',[_c('b-input-group',{staticClass:\"bg-transparent\",class:_vm.squaredRight ? 'squared rounded-left' : 'rounded'},[_c('b-input-group-prepend',[_c('b-form-datepicker',{staticClass:\"border datepicker-button rounded-left\",attrs:{\"trim\":\"\",\"show-decade-nav\":\"\",\"button-only\":\"\",\"button-variant\":\"\",\"date-format-options\":{\n          year: 'numeric',\n          day: '2-digit',\n          month: '2-digit'\n        },\"state\":_vm.errors ? (_vm.errors.length == 0 ? null : false) : null,\"min\":_vm.min ? _vm.min : null,\"max\":_vm.max ? _vm.max : null,\"readonly\":_vm.readonly ? _vm.readonly : null,\"disabled\":_vm.disabled ? _vm.disabled : false,\"boundary\":\"viewport\",\"no-flip\":true,\"popper-opts\":{\n          positionFixed: true\n        },\"calendar-width\":\"230px\",\"size\":_vm.size,\"date-disabled-fn\":_vm.dateDisabledFn ? _vm.dateDisabledFn : null,\"locale\":_vm.locale ? _vm.locale : 'us'},scopedSlots:_vm._u([{key:\"button-content\",fn:function(){return [_c('div',{staticClass:\"d-flex align-items-center\"},[_c('i',{staticClass:\"fa fa-calendar-alt color-custom-black\",attrs:{\"aria-hidden\":\"true\"}})])]},proxy:true}]),model:{value:(_vm.date),callback:function ($$v) {_vm.date=$$v},expression:\"date\"}})],1),_vm._v(\" \"),_c('b-form-input',{directives:[{name:\"facade\",rawName:\"v-facade\",value:('##/##/####'),expression:\"'##/##/####'\"}],class:_vm.squaredRight ? 'squared' : 'rounded',style:(_vm.inputWidth ? `width:${_vm.inputWidth}px` : ''),attrs:{\"type\":\"text\",\"placeholder\":_vm.placeholder ? _vm.placeholder : 'MM/DD/YYYY',\"autocomplete\":\"off\",\"state\":_vm.errors ? (_vm.errors.length == 0 ? null : false) : null,\"readonly\":_vm.readonly ? _vm.readonly : null,\"disabled\":_vm.disabled ? _vm.disabled : false,\"size\":_vm.size},model:{value:(_vm.formattedValue),callback:function ($$v) {_vm.formattedValue=$$v},expression:\"formattedValue\"}})],1)],1)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","<template>\n  <div>\n    <b-input-group\n      class=\"bg-transparent\"\n      :class=\"squaredRight ? 'squared rounded-left' : 'rounded'\"\n    >\n      <b-input-group-prepend>\n        <b-form-datepicker\n          v-model=\"date\"\n          trim\n          show-decade-nav\n          button-only\n          button-variant=\"\"\n          :date-format-options=\"{\n            year: 'numeric',\n            day: '2-digit',\n            month: '2-digit'\n          }\"\n          :state=\"errors ? (errors.length == 0 ? null : false) : null\"\n          :min=\"min ? min : null\"\n          :max=\"max ? max : null\"\n          :readonly=\"readonly ? readonly : null\"\n          :disabled=\"disabled ? disabled : false\"\n          boundary=\"viewport\"\n          :no-flip=\"true\"\n          :popper-opts=\"{\n            positionFixed: true\n          }\"\n          calendar-width=\"230px\"\n          :size=\"size\"\n          class=\"border datepicker-button rounded-left\"\n          :date-disabled-fn=\"dateDisabledFn ? dateDisabledFn : null\"\n          :locale=\"locale ? locale : 'us'\"\n        >\n          <template #button-content>\n            <div class=\"d-flex align-items-center\">\n              <i\n                class=\"fa fa-calendar-alt color-custom-black\"\n                aria-hidden=\"true\"\n              ></i>\n            </div>\n          </template>\n        </b-form-datepicker>\n      </b-input-group-prepend>\n      <b-form-input\n        v-model=\"formattedValue\"\n        type=\"text\"\n        :placeholder=\"placeholder ? placeholder : 'MM/DD/YYYY'\"\n        autocomplete=\"off\"\n        :state=\"errors ? (errors.length == 0 ? null : false) : null\"\n        :readonly=\"readonly ? readonly : null\"\n        :disabled=\"disabled ? disabled : false\"\n        v-facade=\"'##/##/####'\"\n        :style=\"inputWidth ? `width:${inputWidth}px` : ''\"\n        :class=\"squaredRight ? 'squared' : 'rounded'\"\n        :size=\"size\"\n      ></b-form-input>\n    </b-input-group>\n  </div>\n</template>\n\n<script>\nimport {\n  formatDateOnlyMysql,\n  formatDateOnly,\n  checkDateFormat\n} from \"../../helpers/date\";\nexport default {\n  name: \"DatePicker\",\n  props: [\n    \"placeholder\",\n    \"value\",\n    \"errors\",\n    \"max\",\n    \"min\",\n    \"readonly\",\n    \"disabled\",\n    \"inputWidth\",\n    \"squaredRight\",\n    \"size\",\n    \"dateDisabledFn\",\n    \"locale\"\n  ],\n  computed: {\n    date: {\n      get() {\n        return this.value;\n      },\n      set(newValue) {\n        this.$emit(\"input\", newValue);\n      }\n    },\n    formattedValue: {\n      get() {\n        if (checkDateFormat(this.value, \"YYYY-MM-DD\")) {\n          return formatDateOnly(this.value);\n        } else {\n          return this.value;\n        }\n      },\n      set(newValue) {\n        if (checkDateFormat(newValue, \"MM/DD/YYYY\")) {\n          this.$emit(\"input\", formatDateOnlyMysql(newValue));\n        } else {\n          this.$emit(\"input\", newValue);\n        }\n      }\n    }\n  }\n};\n</script>\n\n<style>\n.datepicker-button:hover {\n  background-color: #a7aebf;\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!./DatePicker.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!./DatePicker.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./DatePicker.vue?vue&type=template&id=478c7056&\"\nimport script from \"./DatePicker.vue?vue&type=script&lang=js&\"\nexport * from \"./DatePicker.vue?vue&type=script&lang=js&\"\nimport style0 from \"./DatePicker.vue?vue&type=style&index=0&id=478c7056&prod&lang=css&\"\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  null,\n  null\n  \n)\n\nexport default component.exports","import moment from \"moment\";\nimport { isValidPhoneNumber } from \"libphonenumber-js\";\n\nexport const validateRequired = value => {\n  if (!value) return false;\n  if (typeof value == \"string\") return value.trim().length > 0;\n  return true;\n};\n\nexport const validateEmail = email => {\n  const re = /^(([^<>()[\\]\\\\.,;:\\s@\"]+(\\.[^<>()[\\]\\\\.,;:\\s@\"]+)*)|(\".+\"))@((\\[[0-9]{1,3}\\.[0-9]{1,3}\\.[0-9]{1,3}\\.[0-9]{1,3}\\])|(([a-zA-Z\\-0-9]+\\.)+[a-zA-Z]{2,}))$/;\n  return re.test(String(email).toLowerCase());\n};\n\nexport const validateDateFormat = (date, format) => {\n  return moment(date, format, true).isValid();\n};\n\nexport const validateDate = date => {\n  return moment(date, \"YYYY-MM-DD\", true).isValid();\n};\n\nexport const validateDateTime = date => {\n  return moment(date, \"YYYY-MM-DD HH:mm:ss\", true).isValid();\n};\n\nexport const validatePhoneNumber = phone => {\n  return isValidPhoneNumber(phone);\n};\n\nexport const validateSSN = ssn => {\n  if (!ssn) return false;\n  const justNumbers = ssn.replace(/[^0-9]+/g, \"\");\n  return justNumbers.length == 9;\n};\n\nexport const validateZipcode = zipcode => {\n  if (!zipcode) return false;\n  return zipcode.match(/^\\d{5}(?:-\\d{4})?$/);\n};\n\nexport const validateNumberGreaterEqualThan = (value, min) => {\n  return value >= min;\n};\n\nexport const validateNumberLessEqualThan = (value, max) => {\n  return value <= max;\n};\n\nexport const validateLengthGreaterEqualThan = (value, min) => {\n  return value.trim().length >= min;\n};\n\nexport const validateLengthLessEqualThan = (value, max) => {\n  return value.trim().length <= max;\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!./Header.vue?vue&type=style&index=0&id=a33836be&prod&lang=scss&\""],"sourceRoot":""}