{"version":3,"sources":["webpack:///./src/components/familyPortal/checkout/infoAlert/InfoAlert.vue?8716","webpack:///./src/assets/images/checkout/info.svg","webpack:///./src/components/familyPortal/checkout/CheckoutPaymentPlanSelector.vue?47a6","webpack:///./src/components/familyPortal/checkout/CheckoutPaymentPlanSelector.vue?bb0f","webpack:///./src/components/familyPortal/checkout/CheckoutPaymentPlanSelector.vue?2902","webpack:///./src/components/familyPortal/checkout/CheckoutPaymentPlanSelector.vue","webpack:///./src/utilities/paymentPlanInterval.ts","webpack:///./src/components/familyPortal/checkout/infoAlert/InfoAlert.vue?e7fa","webpack:///./src/components/familyPortal/checkout/infoAlert/InfoAlert.vue?54b8","webpack:///./src/components/familyPortal/checkout/infoAlert/InfoAlert.vue?3ba6","webpack:///./src/components/familyPortal/checkout/infoAlert/InfoAlert.vue","webpack:///./src/components/familyPortal/checkout/CheckoutPaymentPlanSelector.vue?850b"],"names":["module","exports","render","_vm","this","_h","$createElement","_c","_self","staticClass","_v","sessionsStatus","hasWaitlist","hasManualEnroll","attrs","APP_CONST","MAX_PAYMENT_PLAN_SELECTOR_INFO_ALERT_CHARACTERS","_e","infoAlertTitle","infoAlertDescription","_l","paymentPlanInfo","paymentPlanItem","paymentPlanIndex","key","cartPaymentPlanId","class","currentPaymentPlanSelectionSync","isBelowMinOrderAmount","directives","name","rawName","value","expression","domProps","_q","on","$event","_s","title","paymentPlanSubtitle","subtitle","shouldShowPaymentSchedule","style","color","accentColor","dueNow","amount","toFixed","sessionPriceDecimalPrecision","futurePayments","frequency","openPaymentScheduleModal","staticRenderFns","paymentIntervalStrings","Weekly","BiWeekly","Monthly","SESSION_PRICE_DECIMAL_PRECISION","paymentFrequency","schedule","length","paymentInterval","$emit","hasWaitlistSessions","hasNonWaitlist","cartItems","some","item","session","sessionEnrollmentStatus","Waitlist","hasAutoEnroll","hasAutoEnrollmentSessions","hasManualSessions","minOrderAmount","type","Number","components","InfoAlert","component","PaymentPlanInterval","getPaymentPlanIntervalI18nKey","interval","_m","readMoreEnabled","description","slice","descriptionMaxCharacterCount","onChangeReadMore","MAX_CHARACTER_COUNT","option","maxCharacters","String","Boolean","default"],"mappings":"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","file":"js/chunk-0a7d1c57.1664fa79.js","sourcesContent":["import mod from \"-!../../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--10-oneOf-1-0!../../../../../node_modules/css-loader/dist/cjs.js??ref--10-oneOf-1-1!../../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../../node_modules/postcss-loader/src/index.js??ref--10-oneOf-1-2!../../../../../node_modules/less-loader/dist/cjs.js??ref--10-oneOf-1-3!../../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./InfoAlert.vue?vue&type=style&index=0&id=3e15fbf2&lang=less&scoped=true&\"; export default mod; export * from \"-!../../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--10-oneOf-1-0!../../../../../node_modules/css-loader/dist/cjs.js??ref--10-oneOf-1-1!../../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../../node_modules/postcss-loader/src/index.js??ref--10-oneOf-1-2!../../../../../node_modules/less-loader/dist/cjs.js??ref--10-oneOf-1-3!../../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./InfoAlert.vue?vue&type=style&index=0&id=3e15fbf2&lang=less&scoped=true&\"","module.exports = __webpack_public_path__ + \"img/info.c534d077.svg\";","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return (_vm.paymentPlanInfo)?_c('div',{staticClass:\"uk-margin-top\"},[_c('h3',{staticClass:\"choose-payment-method-text\"},[_vm._v(\"Payment Plan\")]),(_vm.sessionsStatus.hasWaitlist && _vm.sessionsStatus.hasManualEnroll)?_c('InfoAlert',{attrs:{\"title\":\"Payment schedule\",\"description\":\"First payment will be due when enrolled by the program admin.\",\"isTitleLineBreakEnabled\":true,\"maxCharacters\":_vm.APP_CONST.MAX_PAYMENT_PLAN_SELECTOR_INFO_ALERT_CHARACTERS}}):_vm._e(),(_vm.shouldShowInfoAlert)?_c('InfoAlert',{attrs:{\"title\":_vm.infoAlertTitle,\"description\":_vm.infoAlertDescription,\"isTitleLineBreakEnabled\":true,\"maxCharacters\":_vm.APP_CONST.MAX_PAYMENT_PLAN_SELECTOR_INFO_ALERT_CHARACTERS}}):_vm._e(),_c('div',{staticClass:\"payment-plan\"},_vm._l((_vm.paymentPlanInfo.paymentPlans),function(paymentPlanItem,paymentPlanIndex){return _c('div',{key:paymentPlanItem.cartPaymentPlanId,staticClass:\"payment-plan__option-item uk-form-controls\",class:{\n 'payment-plan__option-item--active':\n _vm.currentPaymentPlanSelectionSync === paymentPlanItem.cartPaymentPlanId,\n 'payment-plan__option-item--disabled':\n _vm.paymentPlanInfo.isBelowMinOrderAmount && paymentPlanIndex > 0\n }},[_c('label',{staticClass:\"payment-plan__custom-radio-container\",attrs:{\"for\":paymentPlanItem.cartPaymentPlanId}},[_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.currentPaymentPlanSelectionSync),expression:\"currentPaymentPlanSelectionSync\"}],staticClass:\"uk-radio\",class:{\n 'uk-radio--disabled': _vm.paymentPlanInfo.isBelowMinOrderAmount && paymentPlanIndex > 0\n },attrs:{\"id\":paymentPlanItem.cartPaymentPlanId,\"type\":\"radio\",\"name\":\"payment-plan-option\",\"disabled\":_vm.paymentPlanInfo.isBelowMinOrderAmount && paymentPlanIndex > 0},domProps:{\"value\":paymentPlanItem.cartPaymentPlanId,\"checked\":_vm.currentPaymentPlanSelectionSync === paymentPlanItem.cartPaymentPlanId,\"checked\":_vm._q(_vm.currentPaymentPlanSelectionSync,paymentPlanItem.cartPaymentPlanId)},on:{\"change\":function($event){_vm.currentPaymentPlanSelectionSync=paymentPlanItem.cartPaymentPlanId}}}),_c('span',{staticClass:\"payment-plan__title\",class:{\n 'payment-plan__title--active':\n _vm.currentPaymentPlanSelectionSync === paymentPlanItem.cartPaymentPlanId\n }},[_vm._v(_vm._s(paymentPlanItem.title))]),_c('br'),_c('span',{staticClass:\"payment-plan__subtitle\"},[_vm._v(_vm._s(paymentPlanIndex > 0 ? _vm.paymentPlanSubtitle(paymentPlanItem) : paymentPlanItem.subtitle))])]),_c('div',{directives:[{name:\"show\",rawName:\"v-show\",value:(\n _vm.currentPaymentPlanSelectionSync === paymentPlanItem.cartPaymentPlanId &&\n !_vm.paymentPlanInfo.isBelowMinOrderAmount &&\n _vm.shouldShowPaymentSchedule\n ),expression:\"\\n currentPaymentPlanSelectionSync === paymentPlanItem.cartPaymentPlanId &&\\n !paymentPlanInfo.isBelowMinOrderAmount &&\\n shouldShowPaymentSchedule\\n \"}],staticClass:\"uk-margin-top\"},[_c('div',[_c('i',{staticClass:\"fa-solid fa-hand-holding-dollar payment-plan-icon\",style:({ color: _vm.accentColor })}),_c('span',[_vm._v(\"Due now\")]),_c('span',{staticClass:\"payment-plan__price\"},[_vm._v(_vm._s((\"$\" + (paymentPlanItem.dueNow.amount.toFixed(_vm.sessionPriceDecimalPrecision)))))])]),(paymentPlanItem.futurePayments)?_c('div',{staticClass:\"uk-margin-top\"},[_c('i',{staticClass:\"fa-solid fa-repeat payment-plan-icon\",style:({ color: _vm.accentColor })}),_c('span',[_vm._v(\"Future payments\")]),_c('span',{staticClass:\"payment-plan__price\"},[_c('span',{staticClass:\"payment-plan__installments\"},[_vm._v(_vm._s(paymentPlanItem.futurePayments.frequency))]),_vm._v(_vm._s((\"$\" + (paymentPlanItem.futurePayments.amount.toFixed(_vm.sessionPriceDecimalPrecision)))))]),_c('button',{staticClass:\"uk-margin-top payment-plan__action-btn\",style:({ color: _vm.accentColor }),attrs:{\"type\":\"button\"},on:{\"click\":function($event){return _vm.openPaymentScheduleModal(paymentPlanItem)}}},[_vm._v(\" View payment schedule \")])]):_vm._e()])])}),0)],1):_vm._e()}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nimport { Component, Mixins, PropSync } from 'vue-property-decorator'\nimport InfoAlert from '@/components/familyPortal/checkout/infoAlert/InfoAlert.vue'\nimport APP_CONST from '@/constants/AppConst'\nimport { PaymentPlanInfo, PaymentPlans } from '@/Model/checkout/cart/types'\nimport { PaymentPlanInterval } from '@/utilities/paymentPlanInterval'\nimport { SessionEnrollmentStatus } from '@/Model/sessions/catalogTypes'\nimport AccountSettings from '@/mixins/accountSettings.mixin'\nimport cartStore from '@/store/modules/checkout/cart/module'\n\nconst paymentIntervalStrings: Record = {\n [PaymentPlanInterval.Weekly]: 'weekly',\n [PaymentPlanInterval.BiWeekly]: 'bi-weekly',\n [PaymentPlanInterval.Monthly]: 'monthly'\n}\n\n@Component({\n components: {\n InfoAlert\n }\n})\nexport default class CheckoutPaymentPlanSelector extends Mixins(AccountSettings) {\n @PropSync('currentPaymentPlanSelection', { type: Number })\n currentPaymentPlanSelectionSync!: number\n public sessionPriceDecimalPrecision = APP_CONST.SESSION_PRICE_DECIMAL_PRECISION\n APP_CONST = APP_CONST\n\n get paymentPlanInfo(): PaymentPlanInfo | undefined {\n return cartStore.paymentPlanInfo\n }\n\n get sessionsStatus(): {\n hasWaitlist: boolean\n hasNonWaitlist: boolean\n hasAutoEnroll: boolean\n hasManualEnroll: boolean\n isBelowMinOrderAmount: boolean\n } {\n const hasWaitlist: boolean = this.paymentPlanInfo\n ? this.paymentPlanInfo.hasWaitlistSessions\n : false\n const hasNonWaitlist: boolean = cartStore.cartItems.some(\n (item) => item.session.sessionEnrollmentStatus !== SessionEnrollmentStatus.Waitlist\n )\n const hasAutoEnroll: boolean = this.paymentPlanInfo\n ? this.paymentPlanInfo.hasAutoEnrollmentSessions\n : false\n const hasManualEnroll: boolean = this.paymentPlanInfo\n ? this.paymentPlanInfo.hasManualSessions\n : false\n const isBelowMinOrderAmount: boolean = this.paymentPlanInfo\n ? this.paymentPlanInfo.isBelowMinOrderAmount\n : false\n\n return { hasWaitlist, hasNonWaitlist, hasAutoEnroll, hasManualEnroll, isBelowMinOrderAmount }\n }\n\n get infoAlertTitle(): string {\n if (this.paymentPlanInfo) {\n switch (true) {\n case this.sessionsStatus.isBelowMinOrderAmount:\n return 'Payment plans unavailable'\n case this.sessionsStatus.hasWaitlist:\n return 'Waitlist'\n case this.sessionsStatus.hasManualEnroll:\n return 'Payment schedule'\n }\n }\n return ''\n }\n\n get infoAlertDescription(): string {\n if (this.paymentPlanInfo) {\n switch (true) {\n case this.sessionsStatus.isBelowMinOrderAmount:\n return `Payment plans unavailable for orders under $${this.paymentPlanInfo && this.paymentPlanInfo.minOrderAmount}.`\n case this.sessionsStatus.hasWaitlist:\n return 'If enrolled in a session, your first payment will be due.'\n case this.sessionsStatus.hasManualEnroll:\n return 'First payment will be due when enrolled by the program admin.'\n }\n }\n return ''\n }\n\n get shouldShowInfoAlert(): boolean {\n return (\n this.sessionsStatus.isBelowMinOrderAmount ||\n this.sessionsStatus.hasWaitlist ||\n this.sessionsStatus.hasManualEnroll\n )\n }\n\n get shouldShowPaymentSchedule(): boolean {\n if (this.paymentPlanInfo) {\n return (\n this.sessionsStatus.hasNonWaitlist &&\n this.sessionsStatus.hasAutoEnroll &&\n !this.sessionsStatus.hasManualEnroll\n )\n }\n return false\n }\n\n paymentPlanSubtitle(paymentPlanItem: PaymentPlans): string {\n const paymentFrequency: number = paymentPlanItem.schedule ? paymentPlanItem.schedule.length : 0\n const paymentInterval: PaymentPlanInterval =\n paymentPlanItem.paymentInterval || PaymentPlanInterval.Weekly\n return this.shouldShowPaymentSchedule\n ? paymentPlanItem.subtitle\n : `Split the cost into ${paymentFrequency} ${paymentIntervalStrings[paymentInterval]} payments`\n }\n\n openPaymentScheduleModal(paymentPlanItem: PaymentPlans) {\n this.$emit('openPaymentScheduleModal', paymentPlanItem)\n }\n}\n","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??ref--13-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./CheckoutPaymentPlanSelector.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??ref--13-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./CheckoutPaymentPlanSelector.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./CheckoutPaymentPlanSelector.vue?vue&type=template&id=4a8d3079&\"\nimport script from \"./CheckoutPaymentPlanSelector.vue?vue&type=script&lang=ts&\"\nexport * from \"./CheckoutPaymentPlanSelector.vue?vue&type=script&lang=ts&\"\nimport style0 from \"./CheckoutPaymentPlanSelector.vue?vue&type=style&index=0&lang=less&\"\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 * Enum representing payment plan intervals.\n */\nexport enum PaymentPlanInterval {\n Weekly = 1,\n BiWeekly = 2,\n Monthly = 3\n}\n\n/**\n * Gets the i18n key for the payment plan interval.\n * @param interval The payment plan interval.\n * @returns The i18n key for the payment plan interval.\n */\nexport function getPaymentPlanIntervalI18nKey(interval: PaymentPlanInterval): string {\n switch (interval) {\n case PaymentPlanInterval.Weekly:\n return 'PAYMENT_PLAN_INTERVAL_WEEKLY'\n case PaymentPlanInterval.BiWeekly:\n return 'PAYMENT_PLAN_INTERVAL_BI_WEEKLY'\n case PaymentPlanInterval.Monthly:\n return 'PAYMENT_PLAN_INTERVAL_MONTHLY'\n default:\n return ''\n }\n}\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"alert-container\"},[_vm._m(0),_c('div',{staticClass:\"alert-container__text\"},[_c('p',{staticClass:\"alert-container__main-text\"},[_vm._v(\" \"+_vm._s(_vm.title)+\" \"),(_vm.isTitleLineBreakEnabled)?_c('br'):_vm._e(),(!_vm.readMoreEnabled)?_c('span',{staticClass:\"alert-container__sub-text\"},[_vm._v(\" \"+_vm._s(_vm.description.slice(0, _vm.descriptionMaxCharacterCount))+\" \"),(_vm.description.length >= _vm.descriptionMaxCharacterCount)?_c('span',[_vm._v(\"...\")]):_vm._e(),(!_vm.readMoreEnabled && _vm.description.length >= _vm.descriptionMaxCharacterCount)?_c('a',{staticClass:\"alert-container__view-more\",attrs:{\"href\":\"#\"},on:{\"click\":function($event){return _vm.onChangeReadMore(true)}}},[_vm._v(\" View more \")]):_vm._e()]):_vm._e(),(_vm.readMoreEnabled)?_c('span',{staticClass:\"alert-container__sub-text\"},[_vm._v(\" \"+_vm._s(_vm.description)+\" \"),(_vm.readMoreEnabled)?_c('a',{staticClass:\"alert-container__view-more\",attrs:{\"href\":\"#\"},on:{\"click\":function($event){return _vm.onChangeReadMore(false)}}},[_vm._v(\" View less \")]):_vm._e()]):_vm._e()])])])}\nvar staticRenderFns = [function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"alert-container__icon\"},[_c('img',{staticClass:\"info-icon\",attrs:{\"bx-attr\":\"info-icon\",\"src\":require(\"@/assets/images/checkout/info.svg\"),\"alt\":\"info-icon\"}})])}]\n\nexport { render, staticRenderFns }","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nimport { Component, Prop, Vue } from 'vue-property-decorator'\n\n@Component\nexport default class InfoAlert extends Vue {\n @(Prop(String)!) title!: string\n @(Prop(String)!) description!: string\n @Prop({ type: Boolean, default: false }) isTitleLineBreakEnabled!: boolean\n @Prop(Number) maxCharacters?: number\n\n readMoreEnabled = false\n readonly MAX_CHARACTER_COUNT = 55\n\n get descriptionMaxCharacterCount() {\n return this.maxCharacters ? this.maxCharacters : this.MAX_CHARACTER_COUNT\n }\n\n onChangeReadMore(option: boolean) {\n this.readMoreEnabled = option\n }\n}\n","import mod from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/ts-loader/index.js??ref--13-3!../../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./InfoAlert.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/ts-loader/index.js??ref--13-3!../../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./InfoAlert.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./InfoAlert.vue?vue&type=template&id=3e15fbf2&scoped=true&\"\nimport script from \"./InfoAlert.vue?vue&type=script&lang=ts&\"\nexport * from \"./InfoAlert.vue?vue&type=script&lang=ts&\"\nimport style0 from \"./InfoAlert.vue?vue&type=style&index=0&id=3e15fbf2&lang=less&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 \"3e15fbf2\",\n null\n \n)\n\nexport default component.exports","import mod from \"-!../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--10-oneOf-1-0!../../../../node_modules/css-loader/dist/cjs.js??ref--10-oneOf-1-1!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/postcss-loader/src/index.js??ref--10-oneOf-1-2!../../../../node_modules/less-loader/dist/cjs.js??ref--10-oneOf-1-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./CheckoutPaymentPlanSelector.vue?vue&type=style&index=0&lang=less&\"; export default mod; export * from \"-!../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--10-oneOf-1-0!../../../../node_modules/css-loader/dist/cjs.js??ref--10-oneOf-1-1!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/postcss-loader/src/index.js??ref--10-oneOf-1-2!../../../../node_modules/less-loader/dist/cjs.js??ref--10-oneOf-1-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./CheckoutPaymentPlanSelector.vue?vue&type=style&index=0&lang=less&\""],"sourceRoot":""}