{"version":3,"sources":["webpack:///./src/components/familyPortal/checkout/stepper/Stepper.vue?ac9c","webpack:///./src/components/familyPortal/checkout/stepper/Stepper.vue?3f64","webpack:///./src/components/familyPortal/checkout/stepper/Stepper.vue?4c3d","webpack:///./src/components/familyPortal/checkout/stepper/Stepper.vue","webpack:///./src/components/familyPortal/checkout/steps/CheckoutReview.vue?231d","webpack:///./src/components/familyPortal/checkout/steps/CheckoutReview.vue?d883","webpack:///./src/components/familyPortal/checkout/steps/CheckoutReview.vue?ef02","webpack:///./src/components/familyPortal/checkout/steps/CheckoutReview.vue?fb19","webpack:///./src/components/familyPortal/checkout/steps/CheckoutReview.vue","webpack:///./src/components/familyPortal/checkout/stepper/Stepper.vue?aacf"],"names":["CheckoutStep","render","_vm","this","_h","$createElement","_c","_self","staticClass","attrs","Review","getState","_v","_s","screenText","getScreenText","Apply","activeStep","isLoadingCartApplicationsData","isFetchingCart","isReloadingCart","APP_CONST","STYLE","COLOR","NEUTRAL_900","currentApplicationDisplay","applicationsTotal","_e","Submit","submitStepText","Done","staticRenderFns","StepState","Step","ScreenText","step","Complete","Active","Inactive","prototype","$eventHub","$on","CART_IS_RELOADING_EVENT","onReloadCartEvent","$off","attachExternalListeners","detachExternalListeners","subtotal","commonEntry","accountDesignDetails","accentColor","isUpdatingCart","isDeleting","currentlySelectedApplicationIndex","cartApplications","cartItemApplicationData","length","type","Number","required","components","Spinner","component","isInitializingCart","designColor","class","mobile","isMobile","isCartEmpty","isAutomaticDiscountEnabled","isMultiparticipantDiscountEnabled","multiparticipantDiscountName","multiparticipantDiscountDescription","mutiparticipantTooltipDescription","disableNextButton","style","background","on","$event","onClickNext","checkoutSubtotalText","cartStore","subtotalCost","_l","item","key","session","sessionId","cartItemIds","isEarlyRegistrationDiscountEnabled","$set","borderColor","color","onClickTrackGoToCatalogEvent","checkoutSubtotalTerms","APP_ROUTES","scrubComplete","getFeatureFlag","FEATURE_KEYS","automaticDiscounts","automaticDiscountFlag","invalidItemsRemoved","activeCartId","applicationStore","scrubScholarIds","then","fetchCartForUser","segmentTrackEvent","SEGMENT_EVENTS","SHOPPING_CART_REVIEW","reviewChildSelection","$router","push","CHECKOUT_APPLY","path","viewCatalogFromCart","PROGRAMS","cartItems","cartItemsBySession","map","e","items","i","cartItemId","currencyFmt","format","immediate","BouncingPreloader","Stepper","ReviewCard","MultiParticipantDiscountBadge"],"mappings":"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","file":"js/chunk-111fba21.6c1235a4.js","sourcesContent":["var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"uk-flex uk-flex-around\"},[_c('div',{staticClass:\"stepper uk-flex uk-flex-top uk-flex-between uk-width-expand\"},[_c('Step',{attrs:{\"index\":_vm.CheckoutStep.Review,\"state\":_vm.getState(_vm.CheckoutStep.Review)}},[_vm._v(\" \"+_vm._s(_vm.screenText.getScreenText('CHECKOUT_STEP_REVIEW'))+\" \")]),_c('Step',{attrs:{\"index\":_vm.CheckoutStep.Apply,\"state\":_vm.getState(_vm.CheckoutStep.Apply)}},[_c('div',[_vm._v(\" \"+_vm._s(_vm.screenText.getScreenText('CHECKOUT_STEP_APPLY'))+\" \")]),(_vm.activeStep == _vm.CheckoutStep.Apply)?_c('div',[(_vm.isLoadingCartApplicationsData || _vm.isFetchingCart || _vm.isReloadingCart)?_c('span',[_c('Spinner',{attrs:{\"spinnerRatio\":.621,\"spinnerColor\":_vm.APP_CONST.STYLE.COLOR.NEUTRAL_900}})],1):_c('span',[_vm._v(_vm._s(_vm.currentApplicationDisplay)+\"/\"+_vm._s(_vm.applicationsTotal))])]):_vm._e()]),_c('Step',{attrs:{\"index\":_vm.CheckoutStep.Submit,\"state\":_vm.getState(_vm.CheckoutStep.Submit)}},[_vm._v(\" \"+_vm._s(_vm.submitStepText)+\" \")]),_c('Step',{attrs:{\"index\":_vm.CheckoutStep.Done,\"state\":_vm.getState(_vm.CheckoutStep.Done)}},[_vm._v(\" \"+_vm._s(_vm.screenText.getScreenText('CHECKOUT_STEP_DONE'))+\" \")])],1)])}\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\nimport { PropType } from 'vue';\nimport { Component, Prop, Vue } from 'vue-property-decorator';\nimport Spinner from '@/commoncomponents/spinner/Spinner.vue';\nimport Step, { StepState } from '@/components/familyPortal/checkout/stepper/Step.vue';\nimport { ScreenText } from '@/lang/ScreenText';\nimport cart from '@/store/modules/checkout/cart/module';\nimport APP_CONST from '@/constants/AppConst';\nimport commonEntry from '@/store/modules/commonEntry';\n\nexport enum CheckoutStep {\n Review = 1,\n Apply = 2,\n Submit = 3,\n Done = 4,\n}\n\n@Component({\n components: {\n Spinner,\n Step,\n }\n})\nexport default class Stepper extends Vue {\n public readonly StepState = StepState;\n public readonly CheckoutStep = CheckoutStep;\n public readonly screenText = new ScreenText();\n public isReloadingCart = false;\n APP_CONST = APP_CONST;\n\n @Prop({ type: Number as PropType, required: true }) readonly activeStep!: CheckoutStep;\n\n get cartHasPrice(): boolean {\n return cart.subtotal > 0;\n }\n\n get designColor(): string {\n return commonEntry.accountDesignDetails.accentColor;\n }\n\n get isLoadingCartApplicationsData(): boolean {\n return cart.isLoadingCartApplicationsData;\n }\n\n get isFetchingCart(): boolean {\n return cart.isFetchingCart || cart.isUpdatingCart || cart.isDeleting;\n }\n\n get currentApplicationDisplay(): number {\n return cart.currentlySelectedApplicationIndex + 1;\n }\n\n get applicationsTotal(): number {\n return cart.cartApplications\n ? cart.cartApplications.cartItemApplicationData.length\n : 0;\n }\n\n get submitStepText(): string {\n return this.screenText.getScreenText('CHECKOUT_STEP_SUBMIT');\n }\n\n public onReloadCartEvent(isReloadingCart: boolean) {\n this.isReloadingCart = isReloadingCart;\n }\n\n public getState(step: CheckoutStep): StepState {\n if (step < this.activeStep) {\n return StepState.Complete;\n }\n else if (step == this.activeStep) {\n if (step == CheckoutStep.Done) {\n // \"Done\" step is special -- should be marked complete when active.\n return StepState.Complete;\n }\n else {\n return StepState.Active;\n }\n }\n else {\n return StepState.Inactive;\n }\n }\n\n private attachExternalListeners() {\n Vue.prototype.$eventHub.$on(APP_CONST.CART_IS_RELOADING_EVENT, this.onReloadCartEvent);\n }\n\n private detachExternalListeners() {\n Vue.prototype.$eventHub.$off(APP_CONST.CART_IS_RELOADING_EVENT, this.onReloadCartEvent);\n }\n\n created() {\n this.attachExternalListeners();\n }\n\n destroyed() {\n this.detachExternalListeners();\n }\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!./Stepper.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!./Stepper.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./Stepper.vue?vue&type=template&id=4f12800c&scoped=true&\"\nimport script from \"./Stepper.vue?vue&type=script&lang=ts&\"\nexport * from \"./Stepper.vue?vue&type=script&lang=ts&\"\nimport style0 from \"./Stepper.vue?vue&type=style&index=0&id=4f12800c&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 \"4f12800c\",\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!./CheckoutReview.vue?vue&type=style&index=0&id=f2a0c7b0&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!./CheckoutReview.vue?vue&type=style&index=0&id=f2a0c7b0&lang=less&scoped=true&\"","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',[(_vm.isFetchingCart || _vm.isInitializingCart)?_c('BouncingPreloader',{attrs:{\"spinnerColor\":_vm.designColor,\"marginTop\":188,\"hideLoadingText\":true,\"data-testid\":\"componentSpinner\"}}):_c('div',{staticClass:\"checkout-review uk-flex uk-flex-column uk-flex-stretch\",class:{ mobile: _vm.isMobile }},[(_vm.isCartEmpty && !_vm.isFetchingCart && !_vm.isInitializingCart)?_c('div',{staticClass:\"empty-cart uk-flex uk-flex-column uk-flex-middle uk-text-center\",attrs:{\"data-testid\":\"emptyCart\"}},[_c('i',{staticClass:\"fa-solid fa-cart-shopping\",class:[_vm.isMobile && 'fa-8x' || 'fa-10x'],style:({ color: _vm.accentColor })}),_c('div',{staticClass:\"empty-cart-heading\"},[_vm._v(\" \"+_vm._s(_vm.screenText.getScreenText('CHECKOUT_EMPTY_HEADING'))+\" \")]),_c('div',{staticClass:\"empty-cart-message\"},[_vm._v(\" \"+_vm._s(_vm.screenText.getScreenText('CHECKOUT_EMPTY_MESSAGE'))+\" \")]),_c('button',{staticClass:\"uk-button catalog-btn-primary\",style:({ background: _vm.accentColor }),on:{\"click\":_vm.onClickTrackGoToCatalogEvent}},[_vm._v(\" \"+_vm._s(_vm.screenText.getScreenText('CHECKOUT_EMPTY_GO_TO_CATALOG'))+\" \")])]):[_c('Stepper',{staticClass:\"uk-margin\",attrs:{\"activeStep\":_vm.CheckoutStep.Review}}),_c('div',{staticClass:\"checkout-review-content uk-flex uk-flex-column uk-flex-bottom\",class:[_vm.isMobile ? 'uk-padding-remove' : 'catalog-card']},[(_vm.isAutomaticDiscountEnabled && _vm.isMultiparticipantDiscountEnabled)?_c('MultiParticipantDiscountBadge',{attrs:{\"discount-name\":_vm.multiparticipantDiscountName,\"discount-description\":_vm.multiparticipantDiscountDescription,\"tooltip-description\":_vm.mutiparticipantTooltipDescription,\"isMobile\":_vm.isMobile}}):_vm._e(),_c('div',{staticClass:\"nav-controls uk-flex uk-flex-between uk-width-expand\"},[_c('button',{staticClass:\"uk-button\",class:[\n _vm.disableNextButton ? 'catalog-btn-disabled' : 'catalog-btn-primary'\n ],style:([_vm.disableNextButton ? {} : { background: _vm.accentColor }]),attrs:{\"disabled\":_vm.disableNextButton,\"data-testid\":\"next-btn-top\"},on:{\"click\":function($event){return _vm.onClickNext()}}},[_vm._v(\" \"+_vm._s(_vm.screenText.getScreenText('BTN_NEXT'))+\" \"),_c('i',{staticClass:\"fa-solid fa-arrow-right\"})])]),(_vm.isMobile)?_c('div',{staticClass:\"uk-width-expand\"},[_c('h3',{staticClass:\"checkout-subtotal uk-flex uk-flex-between uk-margin-remove\"},[_c('span',[_vm._v(_vm._s(_vm.checkoutSubtotalText)+\":\")]),(_vm.cartStore.isUpdatingCart)?_c('Spinner',{attrs:{\"spinnerRatio\":0.784,\"spinnerColor\":_vm.designColor}}):_c('span',[_vm._v(_vm._s(_vm.subtotalCost))])],1)]):_vm._e(),_c('div',{staticClass:\"checkout-review-cart-list uk-flex uk-flex-column uk-width-expand\"},_vm._l((_vm.sortedCartItems),function(item){return _c('ReviewCard',{key:item.session.sessionId,attrs:{\"session\":item.session,\"cartChildren\":item.cartItemIds.length,\"isAutomaticDiscountEnabled\":_vm.isAutomaticDiscountEnabled,\"isEarlyRegistrationDiscountEnabled\":_vm.isEarlyRegistrationDiscountEnabled},on:{\"update:cartChildren\":function($event){return _vm.$set(item.cartItemIds, \"length\", $event)},\"update:cart-children\":function($event){return _vm.$set(item.cartItemIds, \"length\", $event)},\"update:isAutomaticDiscountEnabled\":function($event){_vm.isAutomaticDiscountEnabled=$event},\"update:is-automatic-discount-enabled\":function($event){_vm.isAutomaticDiscountEnabled=$event},\"update:isEarlyRegistrationDiscountEnabled\":function($event){_vm.isEarlyRegistrationDiscountEnabled=$event},\"update:is-early-registration-discount-enabled\":function($event){_vm.isEarlyRegistrationDiscountEnabled=$event}}})}),1),(!_vm.isMobile)?_c('div',[(_vm.cartStore.isUpdatingCart)?_c('Spinner',{staticClass:\"uk-margin-small-right\",attrs:{\"spinnerRatio\":0.784,\"spinnerColor\":_vm.designColor}}):_c('h3',{staticClass:\"checkout-subtotal uk-margin-top uk-margin-remove\"},[_vm._v(\" \"+_vm._s(_vm.checkoutSubtotalText)+\": \"+_vm._s(_vm.subtotalCost)+\"* \")])],1):_vm._e(),_c('div',{staticClass:\"nav-controls uk-flex uk-flex-between uk-width-expand\"},[_c('button',{staticClass:\"uk-button\",class:[\n _vm.disableNextButton ? 'catalog-btn-disabled' : 'catalog-btn-primary'\n ],style:([_vm.disableNextButton ? {} : { background: _vm.accentColor }]),attrs:{\"disabled\":_vm.disableNextButton,\"data-testid\":\"next-btn-bottom\"},on:{\"click\":function($event){return _vm.onClickNext()}}},[_vm._v(\" \"+_vm._s(_vm.screenText.getScreenText('BTN_NEXT'))+\" \"),_c('i',{staticClass:\"fa-solid fa-arrow-right\"})]),_c('button',{staticClass:\"uk-button catalog-btn-secondary-open\",style:({ borderColor: _vm.accentColor, color: _vm.accentColor }),on:{\"click\":function($event){return _vm.onClickTrackGoToCatalogEvent()}}},[_vm._v(\" \"+_vm._s(_vm.screenText.getScreenText('CHECKOUT_REVIEW_BROWSE_CATALOG'))+\" \")])])],1),(!_vm.isMobile)?_c('div',{staticClass:\"checkout-subtotal-terms\"},[_vm._v(_vm._s(_vm.checkoutSubtotalTerms))]):_vm._e()]],2)],1)}\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\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, Watch, PropSync } from 'vue-property-decorator';\nimport DeviceWidthCheckerMixin from '@/mixins/deviceWidthChecker.mixin';\nimport { ScreenText } from '@/lang/ScreenText';\nimport AccountSettings from '@/mixins/accountSettings.mixin';\nimport APP_CONST from '@/constants/AppConst';\nimport Stepper, { CheckoutStep } from '@/components/familyPortal/checkout/stepper/Stepper.vue';\nimport ReviewCard from '@/components/familyPortal/checkout/checkoutReviewCard/ReviewCard.vue';\nimport cartStore from '@/store/modules/checkout/cart/module';\nimport applicationStore from '@/store/modules/applications/applicationStore';\nimport BouncingPreloader from '@/commoncomponents/bouncingpreloadercomponent/BouncingPreloaderComponent.vue';\nimport Spinner from '@/commoncomponents/spinner/Spinner.vue';\nimport APP_UTILITIES from '@/utilities/commonFunctions';\nimport { CatalogSession } from '@/Model/sessions/catalogTypes';\nimport commonEntry from '@/store/modules/commonEntry';\nimport MultiParticipantDiscountBadge from '@/components/familyPortal/sessionCard/MultiParticipantDiscountBadge.vue';\n\ninterface ReviewCartItem {\n session: CatalogSession;\n cartItemIds: number[];\n}\n\n@Component({\n components: {\n Spinner,\n BouncingPreloader,\n Stepper,\n ReviewCard,\n MultiParticipantDiscountBadge\n }\n})\nexport default class CheckoutReview extends Mixins(DeviceWidthCheckerMixin, AccountSettings) {\n public readonly CheckoutStep = CheckoutStep;\n public readonly screenText = new ScreenText();\n public readonly APP_ROUTES = APP_CONST.APP_ROUTES;\n public scrubComplete = false;\n\n /*\n TODO: this should be replaced with the actual values from the discount configuration object as soon as the BE is done\n these are mocked values for the banner message related to multiparticipant discounts\n */\n multiparticipantDiscountName = 'Sibling Discount';\n multiparticipantDiscountDescription = '15% off when you register 2 participants, 20% off when you register 3 or more participants.';\n mutiparticipantTooltipDescription = 'Discounts will be applied after you complete applications for each participant.';\n\n isAutomaticDiscountEnabled = false;\n\n //TODO: These two values should come from the backend. With this we will know if the discount is enabled or not\n isMultiparticipantDiscountEnabled = true;\n isEarlyRegistrationDiscountEnabled = true;\n\n async created() {\n //FF: Automatic Discounts\n const automaticDiscountFlag = await APP_UTILITIES.getFeatureFlag(APP_CONST.FEATURE_KEYS.automaticDiscounts);\n this.isAutomaticDiscountEnabled = automaticDiscountFlag;\n }\n\n cartStore = cartStore;\n\n @Watch('activeCartId', { immediate: true })\n onActiveCartChange() {\n // this watcher will fetch the cart on component load because of cartStore.activeCartId\n // this will get destroyed when going through checkout steps and run everytime\n // this method is used for proper cart validation as well\n if (!cartStore.invalidItemsRemoved && !this.scrubComplete\n && cartStore && cartStore.activeCartId !== 0) {\n applicationStore.scrubScholarIds(cartStore.activeCartId).then(() => {\n cartStore.fetchCartForUser();\n this.scrubComplete = true;\n });\n }\n }\n\n get isCartEmpty(): boolean {\n return cartStore.cartItems.length == 0;\n }\n\n get activeCartId() {\n return cartStore.activeCartId;\n }\n\n get sortedCartItems(): ReviewCartItem[] {\n return cartStore.cartItemsBySession\n .map(e => ({ session: e.session, cartItemIds: e.items.map(i => i.cartItemId) }));\n }\n\n get checkoutSubtotalTerms(): string {\n return this.screenText.getScreenText('CHECKOUT_SUBTOTAL_TERMS');\n }\n\n get checkoutSubtotalText(): string {\n return this.screenText.getScreenText('CHECKOUT_SUBTOTAL_TEXT');\n }\n\n get subtotalCost(): string {\n return APP_UTILITIES.currencyFmt.format(cartStore.subtotal);\n }\n\n get isFetchingCart(): boolean {\n return cartStore.isFetchingCart;\n }\n\n get isInitializingCart(): boolean {\n return cartStore.isInitializingCart;\n }\n\n get disableNextButton(): boolean {\n return cartStore.isUpdatingCart || cartStore.isDeleting;\n }\n\n get designColor(): string {\n return commonEntry.accountDesignDetails.accentColor;\n }\n\n onClickNext() {\n APP_UTILITIES.segmentTrackEvent(APP_CONST.SEGMENT_EVENTS.SHOPPING_CART_REVIEW.reviewChildSelection);\n this.$router.push(APP_CONST.APP_ROUTES.CHECKOUT_APPLY.path);\n }\n\n onClickTrackGoToCatalogEvent() {\n APP_UTILITIES.segmentTrackEvent(APP_CONST.SEGMENT_EVENTS.SHOPPING_CART_REVIEW.viewCatalogFromCart);\n this.$router.push(this.APP_ROUTES.PROGRAMS.path);\n }\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!./CheckoutReview.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!./CheckoutReview.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./CheckoutReview.vue?vue&type=template&id=f2a0c7b0&scoped=true&\"\nimport script from \"./CheckoutReview.vue?vue&type=script&lang=ts&\"\nexport * from \"./CheckoutReview.vue?vue&type=script&lang=ts&\"\nimport style0 from \"./CheckoutReview.vue?vue&type=style&index=0&id=f2a0c7b0&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 \"f2a0c7b0\",\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!./Stepper.vue?vue&type=style&index=0&id=4f12800c&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!./Stepper.vue?vue&type=style&index=0&id=4f12800c&lang=less&scoped=true&\""],"sourceRoot":""}