{"version":3,"sources":["webpack:///./src/popupcomponents/payments/ChangeFeeModal.vue?d93b","webpack:///./src/popupcomponents/payments/ChangeFeeModal.vue?981e","webpack:///./src/popupcomponents/payments/ChangeFeeModal.vue?4223","webpack:///./src/popupcomponents/payments/ChangeFeeModal.vue","webpack:///./node_modules/core-js/modules/es.regexp.flags.js","webpack:///./src/components/accountDetailsComponent/accountDataTabs/payments/CustomizeFee.vue?190b","webpack:///./src/components/accountDetailsComponent/accountDataTabs/payments/CustomizeFee.vue?c6ec","webpack:///./src/components/accountDetailsComponent/accountDataTabs/payments/CustomizeFee.vue?ac37","webpack:///./src/components/accountDetailsComponent/accountDataTabs/payments/CustomizeFee.vue?7658","webpack:///./src/components/accountDetailsComponent/accountDataTabs/payments/CustomizeFee.vue","webpack:///./src/ui-components/inputWithCharacterCounter/inputWithCharacterCounter.vue?df1e","webpack:///./node_modules/vue-currency-input/dist/vue-currency-input.esm.js","webpack:///./src/ui-components/inputWithCharacterCounter/inputWithCharacterCounter.vue?6ff3","webpack:///./src/ui-components/inputWithCharacterCounter/inputWithCharacterCounter.vue?3ebf","webpack:///./src/ui-components/inputWithCharacterCounter/inputWithCharacterCounter.vue?8c6e","webpack:///./src/ui-components/inputWithCharacterCounter/inputWithCharacterCounter.vue","webpack:///./src/commoncomponents/progressButton/progressButton.ts","webpack:///./src/popupcomponents/payments/ChangeFeeModal.vue?b417"],"names":["render","_vm","this","_h","$createElement","_c","_self","attrs","isVisibleSync","on","$event","onCancel","staticClass","_v","_s","screenText","getScreenText","onSave","staticRenderFns","ChangeFeeModal","ScreenText","$emit","Vue","tslib_1","PropSync","Component","components","BaseModal","component","DESCRIPTORS","objectDefinePropertyModule","regExpFlags","UNSUPPORTED_Y","flags","f","RegExp","prototype","configurable","get","isCustomizeFeeVisibleSync","onClose","ref","scopedSlots","_u","key","fn","handleSubmit","preventDefault","beforeOnSave","validationMode","Eager","errors","invalid","validated","directives","name","rawName","value","customFee","expression","modifiers","domProps","target","composing","$set","trim","$forceUpdate","style","visibility","percentInputVid","convenienceFeeType","Percentage","_q","feeType","displayPercentRate","percentBasedInputRules","addPercentSignToPercentInput","onPercentInputFocus","forceNumberInput","percentInput","float","isPercentRateDisplayed","fixedAmountInputVid","FixedAmount","displayFixedAmount","fixedAmountInputRules","currencyOptions","currency","locale","allowNegative","onFixedAmountBlur","model","callback","$$v","fixedAmountInput","_n","displayRadioInputError","taxDropdownOptions","onSelectTax","MAX_DESCRIPTION_LENGTH","handleDescriptionChange","saveProgressButtonState","isValidationForProgress","saveButtonText","isChangeFeeModalVisible","confirmChangeFee","closeChangeFeeModal","CustomizeFee","accountId","APP_UTILITIES","getAccountId","APP_CONST","CURRENCY_OPTIONS","nameText","toLowerCase","initialCustomFeeTemplate","id","description","status","Status","Active","feeValue","payments","paymentsModule","isFixedAmountDisplayed","ConvenienceFeeType","VeeValidateProviderMode","selectATaxRateDropdownItem","getTaxRates","selection","taxRate","oneBasedDropdownIndex","convertedZeroBasedTaxRateIndex","taxRates","error","formObserverRef","percentRadioError","fixedAmountRadioError","radioError","onCreated","registerValidators","fetchAllTaxRates","event","targetElement","percentToNumber","updatedInput","Number","resetInputs","visible","setCustomFee","validate","isSavingCustomFee","isLoadingCustomFee","valid","asKeyOf","reset","resetFeeInputs","canSave","setCustomFeeValues","updatedFee","updateCustomFee","changed","fixedAmountFeeMinValueValidator","fixedAmountFeeRequiredValidator","percentInputBetweenValidator","feeNameRequiredValidator","replace","customFeeSelectionRequiredValidator","percentInputRequiredValidator","percentInputTwoDecimalPlacesValidator","maxCharsInputValidator","fixed_amount_min_value","fixed_amount_required","percent_input_between","min","max","percent_input_required","percent_input_decimal_length","didSavingCustomFeeFail","dropdownList","selectedTaxRate","concat","map","index","zeroBasedIndex","convertedOneBasedIndexForDropdown","taxRateDropdownItemForIndex","displayName","percentage","singleSelect","showSelectLabel","type","Boolean","required","Ref","Watch","OffCanvas","DropdownList","CurrencyInput","ValidationObserver","ValidationProvider","ProgressButton","InputWithCharacterCounter","escapeRegExp","str","removeLeadingZeros","count","search","match","length","startsWith","substring","substringBefore","indexOf","DECIMAL_SYMBOLS","INTEGER_PATTERN","NumberFormat","options","precision","autoDecimalMode","valueAsInteger","numberFormat","Intl","minimumFractionDigits","ps","format","digits","i","toLocaleString","decimalSymbol","substr","undefined","groupingSymbol","minusSymbol","maximumFractionDigits","resolvedOptions","prefix","negativePrefix","suffix","lastIndexOf","parse","negative","isNegative","normalizeDigits","stripCurrencySymbol","stripMinusSymbol","fraction","stripGroupingSymbol","isValidIntegerFormat","split","number","toFixed","join","integerNumber","Object","assign","useGrouping","includes","insertCurrencySymbol","Math","abs","toFraction","onlyLocaleDigits","isFractionIncomplete","normalizeDecimalSymbol","from","this$1","forEach","s","digit","onlyDigits","DEFAULT_OPTIONS","distractionFree","valueRange","formattedValue","mergedOptions","getValue","$el","$ci","setValue","equal","a","b","keys","every","hasOwnProperty","bind","DefaultNumberMask","conformToMask","previousConformedValue","checkIncompleteValue","incompleteValue","integer","slice","integerDigits","fractionDigits","invalidFraction","invalidNegativeValue","numberValue","AutoDecimalModeNumberMask","pow","getCaretPositionAfterFormat","newValue","inputtedValue","caretPosition","decimalSymbolPosition","caretPositionFromLeft","hideCurrencySymbol","getDistractionFreeCaretPosition","result","hideGroupingSymbol","MAX_SAFE_INTEGER","NumberInput","el","callbackFns","addEventListener","init","currencyFormat","newOptions","hideNegligibleDecimalDigits","setAttribute","numberMask","setOptions","applyFixedFractionFormat","forcedChange","validateValueRange","onChange","updateInputValue","decimalSymbolInsertedAt","conformedValue","focus","onInput","selectionStart","setCaretPosition","capture","setTimeout","selectionEnd","e","start","end","setSelectionRange","directive","vnode","optionsFromBinding","inputElement","tagName","querySelector","Error","context","globalOptions","listeners","data","componentOptions","emit","componentUpdated","oldValue","h","$listeners","change","input","props","default","String","mounted","computed","watch","methods","plugin","install","componentName","directiveName","window","use","inputType","class","isOverLimit","localInputModel","_e","counterMessage","maxLength","currentCharacterCount","computedCounter","Prop","validator","prop","progressButtonWidth","buttonIndexReceived","buttonClick","obj","buttonIndex","isValidation","tempDisableButton","percent","progressButtonDelay","interval","setInterval","progressBar","clearInterval","apiResponseCode","completeButton","handleError","updateProgress","setProgressResposeDelay","emitMethod","setProgressBeforeRespose","newBttun","document","getElementById","STYLE","COLOR","PRIMARY_700","NEUTRAL_100","background","reSetprogressBar","element","classList","remove","add","complateButtonProgress","val","showDelay","deep","immediate"],"mappings":"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","file":"js/chunk-180a4734.7d4be161f1362644bc1c.1730771797376.min.js","sourcesContent":["var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('BaseModal',{attrs:{\"isVisible\":_vm.isVisibleSync},on:{\"update:isVisible\":function($event){_vm.isVisibleSync=$event},\"update:is-visible\":function($event){_vm.isVisibleSync=$event},\"closepopup\":_vm.onCancel}},[_c('div',{staticClass:\"uk-margin-bottom\"},[_c('i',{staticClass:\"fa-solid fa-triangle-exclamation fa-7x warning-icon\"})]),_c('div',{staticClass:\"change-fee-title uk-margin-auto uk-margin-bottom\"},[_vm._v(_vm._s(_vm.screenText.getScreenText('CHANGE_FEE_MODAL_TITLE'))+\" \")]),_c('div',{staticClass:\"change-fee-text uk-margin-medium-bottom\"},[_vm._v(_vm._s(_vm.screenText.getScreenText('CHANGE_FEE_MODAL_TEXT')))]),_c('div',{staticClass:\"uk-flex uk-flex-right uk-margin-remove-bottom uk-padding-remove-bottom arly-button-container\"},[_c('button',{staticClass:\"btn-secondary uk-margin-small-right uk-margin-remove-bottom\",on:{\"click\":_vm.onCancel}},[_vm._v(\" \"+_vm._s(_vm.screenText.getScreenText('BTN_GO_BACK_CAPS'))+\" \")]),_c('button',{staticClass:\"btn-primary uk-margin-remove-bottom\",on:{\"click\":_vm.onSave}},[_vm._v(\" \"+_vm._s(_vm.screenText.getScreenText('BTN_SAVE_CAPS'))+\" \")])])])}\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\nimport { Vue, Component, PropSync } from 'vue-property-decorator';\nimport BaseModal from '@/popupcomponents/BaseModal.vue';\nimport { ScreenText } from '@/lang/ScreenText';\n\n@Component({\n components: {\n BaseModal\n },\n})\nexport default class ChangeFeeModal extends Vue {\n screenText = new ScreenText();\n\n @PropSync('isVisible') isVisibleSync!: boolean;\n\n onCancel() {\n this.$emit('closepopup');\n }\n\n onSave() {\n this.$emit('confirmChangeFee');\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!./ChangeFeeModal.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!./ChangeFeeModal.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./ChangeFeeModal.vue?vue&type=template&id=3deca15a&scoped=true&\"\nimport script from \"./ChangeFeeModal.vue?vue&type=script&lang=ts&\"\nexport * from \"./ChangeFeeModal.vue?vue&type=script&lang=ts&\"\nimport style0 from \"./ChangeFeeModal.vue?vue&type=style&index=0&id=3deca15a&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 \"3deca15a\",\n null\n \n)\n\nexport default component.exports","var DESCRIPTORS = require('../internals/descriptors');\nvar objectDefinePropertyModule = require('../internals/object-define-property');\nvar regExpFlags = require('../internals/regexp-flags');\nvar UNSUPPORTED_Y = require('../internals/regexp-sticky-helpers').UNSUPPORTED_Y;\n\n// `RegExp.prototype.flags` getter\n// https://tc39.github.io/ecma262/#sec-get-regexp.prototype.flags\nif (DESCRIPTORS && (/./g.flags != 'g' || UNSUPPORTED_Y)) {\n objectDefinePropertyModule.f(RegExp.prototype, 'flags', {\n configurable: true,\n get: regExpFlags\n });\n}\n","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!./CustomizeFee.vue?vue&type=style&index=0&id=4927a63a&lang=less&scoped=true&\"","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('OffCanvas',{attrs:{\"isVisible\":_vm.isCustomizeFeeVisibleSync},on:{\"update:isVisible\":function($event){_vm.isCustomizeFeeVisibleSync=$event},\"update:is-visible\":function($event){_vm.isCustomizeFeeVisibleSync=$event},\"onClose\":_vm.onClose}},[_c('aside',{staticClass:\"add-new-sec\"},[_c('div',[_c('div',{staticClass:\"customize-fee-title uk-margin-small-bottom\"},[_vm._v(\" \"+_vm._s(_vm.screenText.getScreenText('CUSTOMIZE_FEE_TITLE'))+\" \")]),_c('div',{staticClass:\"subtitle uk-margin-small-bottom\"},[_vm._v(\" \"+_vm._s(_vm.screenText.getScreenText('CUSTOMIZE_FEE_SUBTITLE'))+\" \")]),_c('ValidationObserver',{ref:\"formObserverRef\",scopedSlots:_vm._u([{key:\"default\",fn:function(ref){\nvar handleSubmit = ref.handleSubmit;\nreturn [_c('form',{attrs:{\"autocomplete\":\"off\"},on:{\"submit\":function($event){$event.preventDefault();return handleSubmit(_vm.beforeOnSave)}}},[_c('div',{staticClass:\"form-group uk-margin-small-bottom\"},[_c('label',{staticClass:\"uk-margin-remove\",attrs:{\"for\":\"name\",\"data-testid\":\"fee-name\"}},[_vm._v(\" \"+_vm._s(_vm.screenText.getScreenText('LABEL_NAME'))),_c('span',{staticClass:\"asterisk\"},[_vm._v(\"*\")])]),_c('div',{staticClass:\"subheader\"},[_vm._v(\" \"+_vm._s(_vm.screenText.getScreenText('FEE_NAME_SUBHEADER'))+\" \")]),_c('ValidationProvider',{ref:\"nameObserverRef\",attrs:{\"rules\":\"name_required\",\"mode\":_vm.validationMode.Eager},scopedSlots:_vm._u([{key:\"default\",fn:function(ref){\nvar errors = ref.errors;\nvar invalid = ref.invalid;\nvar validated = ref.validated;\nreturn [_c('input',{directives:[{name:\"model\",rawName:\"v-model.trim\",value:(_vm.customFee.name),expression:\"customFee.name\",modifiers:{\"trim\":true}}],attrs:{\"id\":\"name\",\"type\":\"text\",\"maxlength\":\"50\"},domProps:{\"value\":(_vm.customFee.name)},on:{\"input\":function($event){if($event.target.composing){ return; }_vm.$set(_vm.customFee, \"name\", $event.target.value.trim())},\"blur\":function($event){return _vm.$forceUpdate()}}}),_c('span',{staticClass:\"form-field-error\",style:({ visibility: validated && invalid ? 'visible' : 'hidden' }),attrs:{\"data-testid\":\"name-required-error\"}},[_vm._v(\" \"+_vm._s(errors[0])+\" \")])]}}],null,true)})],1),_c('div',{staticClass:\"form-group uk-margin-small-top\"},[_c('div',[_c('label',{staticClass:\"uk-margin-remove\",attrs:{\"for\":\"percent-rate\",\"data-testid\":\"setup-header\"}},[_vm._v(\" \"+_vm._s(_vm.screenText.getScreenText('LABEL_SETUP'))),_c('span',{staticClass:\"asterisk\"},[_vm._v(\"*\")])])]),_c('div',{staticClass:\"subheader\"},[_vm._v(\" \"+_vm._s(_vm.screenText.getScreenText('FEE_SETUP_SUBHEADER'))+\" \")]),_c('div',{staticClass:\"uk-margin-remove\"},[_c('div',{staticClass:\"radio-input-wrapper\"},[_c('ValidationProvider',{attrs:{\"vid\":_vm.percentInputVid,\"rules\":\"fee_type_required\"}},[_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.customFee.feeType),expression:\"customFee.feeType\"}],attrs:{\"id\":\"percent-rate\",\"type\":\"radio\",\"name\":\"fee-type\",\"data-testid\":\"percent-rate-input\"},domProps:{\"value\":_vm.convenienceFeeType.Percentage,\"checked\":_vm._q(_vm.customFee.feeType,_vm.convenienceFeeType.Percentage)},on:{\"click\":function($event){return _vm.displayPercentRate()},\"change\":function($event){return _vm.$set(_vm.customFee, \"feeType\", _vm.convenienceFeeType.Percentage)}}})]),_c('label',{staticClass:\"subtitle\",attrs:{\"for\":\"percent-rate\"}},[_vm._v(_vm._s(_vm.screenText.getScreenText('FEE_PERCENTAGE_RATE')))])],1),_c('div',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.customFee.feeType == _vm.convenienceFeeType.Percentage),expression:\"customFee.feeType == convenienceFeeType.Percentage\"}],staticClass:\"uk-margin-small-left uk-padding-small uk-padding-remove-vertical\"},[_c('span',{staticClass:\"subheader\"},[_vm._v(_vm._s(_vm.screenText.getScreenText('FEE_PERCENT_RATE_HELPER_TEXT')))]),_c('ValidationProvider',{ref:\"percentInputObserverRef\",attrs:{\"rules\":_vm.percentBasedInputRules,\"mode\":_vm.validationMode.Eager},scopedSlots:_vm._u([{key:\"default\",fn:function(ref){\nvar errors = ref.errors;\nvar invalid = ref.invalid;\nvar validated = ref.validated;\nreturn [_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.percentInput),expression:\"percentInput\"}],attrs:{\"id\":\"percent-input\"},domProps:{\"value\":(_vm.percentInput)},on:{\"blur\":_vm.addPercentSignToPercentInput,\"focus\":_vm.onPercentInputFocus,\"keypress\":function($event){return _vm.forceNumberInput($event, true)},\"input\":function($event){if($event.target.composing){ return; }_vm.percentInput=$event.target.value}}}),_c('span',{staticClass:\"form-field-error\",style:({ visibility: validated && invalid ? 'visible' : 'hidden' }),attrs:{\"data-testid\":\"percent-input-error\"}},[_vm._v(\" \"+_vm._s(errors[0])+\" \")])]}}],null,true)})],1),_c('div',{staticClass:\"radio-input-wrapper\",style:({ float: _vm.isPercentRateDisplayed ? 'left' : 'none' })},[_c('ValidationProvider',{attrs:{\"rules\":\"fee_type_required\",\"vid\":_vm.fixedAmountInputVid}},[_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.customFee.feeType),expression:\"customFee.feeType\"}],attrs:{\"id\":\"fixed-amount\",\"type\":\"radio\",\"name\":\"fee-type\",\"data-testid\":\"fixed-amount-input\"},domProps:{\"value\":_vm.convenienceFeeType.FixedAmount,\"checked\":_vm._q(_vm.customFee.feeType,_vm.convenienceFeeType.FixedAmount)},on:{\"click\":function($event){return _vm.displayFixedAmount()},\"change\":function($event){return _vm.$set(_vm.customFee, \"feeType\", _vm.convenienceFeeType.FixedAmount)}}})]),_c('label',{staticClass:\"subtitle\",attrs:{\"for\":\"fixed-amount\"}},[_vm._v(_vm._s(_vm.screenText.getScreenText('FEE_FIXED_AMOUNT')))])],1),_c('div',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.customFee.feeType == _vm.convenienceFeeType.FixedAmount),expression:\"customFee.feeType == convenienceFeeType.FixedAmount\"}],staticClass:\"uk-margin-small-left uk-padding-small uk-padding-remove-vertical\"},[_c('span',{staticClass:\"subheader\"},[_vm._v(_vm._s(_vm.screenText.getScreenText('FEE_FIXED_AMOUNT_HELPER_TEXT')))]),_c('ValidationProvider',{ref:\"fixedAmountObserverRef\",attrs:{\"rules\":_vm.fixedAmountInputRules,\"mode\":_vm.validationMode.Eager},scopedSlots:_vm._u([{key:\"default\",fn:function(ref){\nvar errors = ref.errors;\nvar invalid = ref.invalid;\nvar validated = ref.validated;\nreturn [_c('CurrencyInput',{attrs:{\"id\":\"fixed-amount\",\"name\":\"fixed-amount-price\",\"currency\":_vm.currencyOptions.currency,\"locale\":_vm.currencyOptions.locale,\"allowNegative\":_vm.currencyOptions.allowNegative},on:{\"blur\":_vm.onFixedAmountBlur},model:{value:(_vm.fixedAmountInput),callback:function ($$v) {_vm.fixedAmountInput=_vm._n($$v)},expression:\"fixedAmountInput\"}}),_c('span',{staticClass:\"form-field-error\",style:({ visibility: validated && invalid ? 'visible' : 'hidden' }),attrs:{\"data-testid\":\"fixed-amount-error\"}},[_vm._v(\" \"+_vm._s(errors[0])+\" \")])]}}],null,true)})],1),_c('span',{directives:[{name:\"show\",rawName:\"v-show\",value:(!!_vm.displayRadioInputError()),expression:\"!!displayRadioInputError()\"}],staticClass:\"form-field-error\"},[_vm._v(\" \"+_vm._s(_vm.displayRadioInputError())+\" \")])])]),_c('div',{staticClass:\"form-group\"},[_c('label',{staticClass:\"uk-margin-remove\",attrs:{\"for\":\"tax-rate-select\",\"data-testid\":\"tax-rate\"}},[_vm._v(\" \"+_vm._s(_vm.screenText.getScreenText('LABEL_TAX_RATE'))+\" \")]),_c('div',{staticClass:\"subheader\"},[_vm._v(\" \"+_vm._s(_vm.screenText.getScreenText('TAX_RATE_FEE_DESCRIPTION'))+\" \")]),_c('ValidationProvider',[_c('DropdownList',{attrs:{\"dropdown\":_vm.taxDropdownOptions,\"autoSelectionAllowed\":true},on:{\"onSelectionChange\":_vm.onSelectTax},model:{value:(_vm.customFee.taxRate),callback:function ($$v) {_vm.$set(_vm.customFee, \"taxRate\", $$v)},expression:\"customFee.taxRate\"}})],1)],1),_c('div',{staticClass:\"form-group uk-margin-small-bottom\"},[_c('label',{staticClass:\"uk-margin-remove\",attrs:{\"for\":\"description\",\"data-testid\":\"fee-description\"}},[_vm._v(\" \"+_vm._s(_vm.screenText.getScreenText('LABEL_DESCRIPTION'))+\" \")]),_c('div',{staticClass:\"subheader\"},[_vm._v(\" \"+_vm._s(_vm.screenText.getScreenText('CUSTOMIZE_FEE_DESCRIPTION'))+\" \")]),_c('ValidationProvider',{attrs:{\"rules\":(\"max_chars:\" + _vm.MAX_DESCRIPTION_LENGTH),\"mode\":_vm.validationMode.Eager},scopedSlots:_vm._u([{key:\"default\",fn:function(ref){\nvar errors = ref.errors;\nreturn [_c('InputWithCharacterCounter',{attrs:{\"id\":\"fee-description-text\",\"input-type\":'textarea',\"max-length\":_vm.MAX_DESCRIPTION_LENGTH,\"error\":errors[0]},on:{\"input\":_vm.handleDescriptionChange},model:{value:(_vm.customFee.description),callback:function ($$v) {_vm.$set(_vm.customFee, \"description\", $$v)},expression:\"customFee.description\"}})]}}],null,true)})],1),_c('div',[_c('button',{staticClass:\"btn-secondary uk-margin-small-right\",attrs:{\"type\":\"button\"},on:{\"click\":_vm.onCancel}},[_vm._v(\" \"+_vm._s(_vm.screenText.getScreenText('BTN_CANCEL'))+\" \")]),_c('ProgressButton',{attrs:{\"bx-attr\":\"save-btn\",\"apiResponseCode\":_vm.saveProgressButtonState,\"isValidation\":_vm.isValidationForProgress,\"buttonIndex\":_vm.saveButtonText,\"buttonText\":_vm.saveButtonText,\"updateProgress\":true}})],1)]),_c('ChangeFeeModal',{attrs:{\"isVisible\":_vm.isChangeFeeModalVisible},on:{\"confirmChangeFee\":_vm.confirmChangeFee,\"closepopup\":_vm.closeChangeFeeModal}})]}}])})],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\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, PropSync, Ref, Vue, Watch } from 'vue-property-decorator'\nimport { ScreenText } from '@/lang/ScreenText'\nimport OffCanvas from '@/commoncomponents/OffCanvas.vue'\nimport DropdownList from '@/ui-components/dropdownListBx/DropdownList.vue'\nimport { CurrencyInput, CurrencyInputOptions } from 'vue-currency-input'\nimport APP_CONST from '@/constants/AppConst'\nimport APP_UTILITIES from '@/utilities/commonFunctions'\nimport { DropdownListItem, DropdownListOptions } from '@/ui-components/dropdownListBx/types'\nimport { ValidationObserver, ValidationProvider, extend } from 'vee-validate'\nimport { VeeValidateProviderMode } from '@/Model/forms/types'\nimport { ConvenienceFeeGetResponse, ConvenienceFeeType } from '@/Model/payments/types'\nimport paymentsModule from '@/store/modules/Payments/module'\nimport { Status } from '@/Model/shared/types'\nimport { ProviderInstance } from 'vee-validate/dist/types/types'\nimport ProgressButton from '@/commoncomponents/progressButton/progressButton'\nimport ChangeFeeModal from '@/popupcomponents/payments/ChangeFeeModal.vue'\nimport {\n fixedAmountFeeMinValueValidator,\n fixedAmountFeeRequiredValidator,\n feeNameRequiredValidator,\n customFeeSelectionRequiredValidator,\n percentInputRequiredValidator,\n percentInputBetweenValidator,\n percentInputTwoDecimalPlacesValidator,\n maxCharsInputValidator\n} from '@/validators/payments/validators'\nimport { percentToNumber } from '@/services/payments/helpers'\nimport InputWithCharacterCounter from '@/ui-components/inputWithCharacterCounter/inputWithCharacterCounter.vue'\n\n@Component({\n components: {\n OffCanvas,\n DropdownList,\n CurrencyInput,\n ValidationObserver,\n ValidationProvider,\n ProgressButton,\n ChangeFeeModal,\n InputWithCharacterCounter\n }\n})\nexport default class CustomizeFee extends Vue {\n @PropSync('isCustomizeFeeVisible', { type: Boolean, required: true })\n isCustomizeFeeVisibleSync!: boolean\n @Ref('formObserverRef') readonly formObserverRef?: InstanceType\n @Ref('nameObserverRef') readonly nameObserverRef?: ProviderInstance\n @Ref('percentInputObserverRef') readonly percentInputObserverRef?: ProviderInstance\n @Ref('fixedAmountObserverRef') readonly fixedAmountObserverRef?: ProviderInstance\n\n private readonly accountId = APP_UTILITIES.getAccountId()\n readonly percentInputVid = 'percentInput'\n readonly fixedAmountInputVid = 'fixedAmountInput'\n\n readonly screenText = new ScreenText()\n readonly currencyOptions: CurrencyInputOptions = APP_CONST.CURRENCY_OPTIONS\n readonly nameText = this.screenText.getScreenText('LABEL_NAME').toLowerCase()\n readonly initialCustomFeeTemplate = {\n id: 0,\n name: '',\n description: '',\n status: Status.Active,\n feeType: null,\n feeValue: 0\n } as Omit & { feeType: ConvenienceFeeType | null }\n payments = paymentsModule\n isPercentRateDisplayed = false\n isFixedAmountDisplayed = false\n isValidationForProgress = false\n convenienceFeeType = ConvenienceFeeType\n validationMode = VeeValidateProviderMode\n percentInput: number | string = 0\n fixedAmountInput: number | null = 0 //Must be nullable for the CurrencyInput, which can null the field momentarily\n customFee = { ...this.initialCustomFeeTemplate }\n isChangeFeeModalVisible = false\n MAX_DESCRIPTION_LENGTH = 100\n\n get fixedAmountInputRules(): Record {\n return {\n fixed_amount_min_value:\n this.customFee.feeType == ConvenienceFeeType.FixedAmount ? 0.01 : false,\n fixed_amount_required: this.customFee.feeType == ConvenienceFeeType.FixedAmount\n }\n }\n\n get percentBasedInputRules(): Record {\n return {\n percent_input_between:\n this.customFee.feeType == ConvenienceFeeType.Percentage ? { min: 0.01, max: 100 } : false,\n percent_input_required: this.customFee.feeType == ConvenienceFeeType.Percentage,\n percent_input_decimal_length: true\n }\n }\n\n get saveProgressButtonState(): number {\n if (!this.payments.isSavingCustomFee && !this.payments.didSavingCustomFeeFail) {\n return 200\n } else if (!this.payments.isSavingCustomFee && this.payments.didSavingCustomFeeFail) {\n return 400\n } else {\n return 0\n }\n }\n\n get saveButtonText(): string {\n return this.screenText.getScreenText('BTN_SAVE')\n }\n\n private selectATaxRateDropdownItem: DropdownListItem = {\n id: 0,\n value: this.screenText.getScreenText('SESSION_ADD_EDIT_TAX_DEFAULT')\n }\n\n async fetchAllTaxRates() {\n if (this.accountId) {\n await this.payments.getTaxRates(this.accountId)\n }\n }\n\n async onSelectTax(selection: DropdownListItem) {\n if (selection.id == 0) {\n this.customFee.taxRate = null\n } else {\n const oneBasedDropdownIndex = selection.id\n const convertedZeroBasedTaxRateIndex = oneBasedDropdownIndex - 1\n this.customFee.taxRate = this.payments.taxRates[convertedZeroBasedTaxRateIndex]\n }\n }\n\n get taxDropdownOptions(): DropdownListOptions {\n let dropdownList: Array = [this.selectATaxRateDropdownItem]\n let selectedTaxRate = this.selectATaxRateDropdownItem\n\n dropdownList = dropdownList.concat(\n this.payments.taxRates.map((taxRate, index) => {\n const zeroBasedIndex = index\n const convertedOneBasedIndexForDropdown = zeroBasedIndex + 1 // Need to have an Number id for the bx dropdown\n const taxRateDropdownItemForIndex: DropdownListItem = {\n id: convertedOneBasedIndexForDropdown,\n value: `${taxRate.displayName} ${this.screenText.getScreenText(\n 'LABEL_TAX_RATE_JOINING_TEXT'\n )} ${taxRate.percentage}%`\n }\n\n if (this.customFee.taxRate && this.customFee.taxRate.id === taxRate.id) {\n selectedTaxRate = taxRateDropdownItemForIndex\n }\n return taxRateDropdownItemForIndex\n })\n )\n\n return {\n id: selectedTaxRate.id,\n singleSelect: true,\n showSelectLabel: false,\n value: selectedTaxRate.value,\n dropdownList\n }\n }\n\n forceNumberInput = APP_UTILITIES.forceNumberInput\n\n onFixedAmountBlur() {\n if (!this.fixedAmountInput) {\n this.fixedAmountInput = 0\n }\n }\n\n displayRadioInputError(): string | null {\n let error: string | null = null\n if (this.formObserverRef) {\n const percentRadioError =\n this.formObserverRef.errors[this.percentInputVid] &&\n this.formObserverRef.errors[this.percentInputVid][0]\n const fixedAmountRadioError =\n this.formObserverRef.errors[this.fixedAmountInputVid] &&\n this.formObserverRef.errors[this.fixedAmountInputVid][0]\n const radioError = percentRadioError || fixedAmountRadioError\n if (radioError) {\n error = radioError\n }\n }\n return error\n }\n\n created() {\n this.onCreated()\n }\n\n onCreated() {\n this.registerValidators()\n this.fetchAllTaxRates()\n }\n\n onPercentInputFocus(event: FocusEvent) {\n const targetElement = event.target as HTMLInputElement\n this.percentInput = percentToNumber(targetElement.value)\n }\n\n addPercentSignToPercentInput() {\n const updatedInput = percentToNumber(`${this.percentInput}`)\n this.percentInput = `${Number(updatedInput)}%`\n }\n\n onCancel() {\n this.onClose()\n this.isCustomizeFeeVisibleSync = false\n }\n\n onClose() {\n this.resetInputs()\n }\n\n @Watch('isCustomizeFeeVisible')\n onVisibleChange(visible: boolean) {\n if (visible) {\n this.setCustomFee()\n this.addPercentSignToPercentInput()\n }\n }\n\n setCustomFeeValues() {\n if (this.isFixedAmountDisplayed) {\n this.customFee.feeValue = this.fixedAmountInput !== null ? this.fixedAmountInput : 0\n this.customFee.feeType = ConvenienceFeeType.FixedAmount\n } else {\n this.customFee.feeValue = percentToNumber(`${this.percentInput}`)\n this.customFee.feeType = ConvenienceFeeType.Percentage\n }\n\n //Sibling component FeeDetails changes the paymentsModule.customFee.status when toggled\n if (paymentsModule.customFee) {\n this.customFee.status = paymentsModule.customFee.status\n }\n }\n\n setCustomFee() {\n this.customFee = paymentsModule.customFee\n ? { ...paymentsModule.customFee }\n : { ...this.initialCustomFeeTemplate }\n\n if (this.customFee.feeType == ConvenienceFeeType.FixedAmount) {\n this.fixedAmountInput = this.customFee.feeValue\n this.percentInput = this.initialCustomFeeTemplate.feeValue\n this.isFixedAmountDisplayed = true\n this.isPercentRateDisplayed = false\n } else if (this.customFee.feeType == ConvenienceFeeType.Percentage) {\n this.percentInput = this.customFee.feeValue\n this.fixedAmountInput = this.initialCustomFeeTemplate.feeValue\n this.isFixedAmountDisplayed = false\n this.isPercentRateDisplayed = true\n }\n }\n\n private async canSave(): Promise {\n if (this.formObserverRef) {\n await this.formObserverRef.validate()\n }\n\n return (\n !(paymentsModule.isSavingCustomFee || paymentsModule.isLoadingCustomFee) &&\n !!this.formObserverRef &&\n this.formObserverRef.flags.valid\n )\n }\n\n private resetInputs() {\n for (const key in this.customFee) {\n const asKeyOf = key as keyof ConvenienceFeeGetResponse\n this.customFee = {\n ...this.customFee,\n [asKeyOf]: paymentsModule.customFee\n ? paymentsModule.customFee[asKeyOf]\n : this.initialCustomFeeTemplate[asKeyOf]\n }\n }\n\n if (this.formObserverRef) {\n this.formObserverRef.reset()\n }\n\n this.resetFeeInputs()\n }\n\n private resetFeeInputs() {\n this.percentInput =\n this.customFee.feeType == ConvenienceFeeType.Percentage ? this.customFee.feeValue : 0\n this.fixedAmountInput =\n this.customFee.feeType == ConvenienceFeeType.FixedAmount ? this.customFee.feeValue : 0\n }\n\n async onSave() {\n if (!(await this.canSave())) {\n return\n }\n\n this.isValidationForProgress = false\n\n this.setCustomFeeValues()\n\n const updatedFee = {\n ...this.customFee,\n feeType: this.customFee.feeType! //We can assert that feeType != null due to the canSave method\n } as ConvenienceFeeGetResponse\n\n await paymentsModule.updateCustomFee(updatedFee)\n\n this.setCustomFee()\n this.isValidationForProgress = false\n this.isCustomizeFeeVisibleSync = false\n }\n\n closeChangeFeeModal() {\n this.isChangeFeeModalVisible = false\n }\n\n confirmChangeFee() {\n this.closeChangeFeeModal()\n this.onSave()\n }\n\n beforeOnSave() {\n if (paymentsModule.customFee) {\n if (this.formObserverRef && this.formObserverRef.flags.changed) {\n this.isChangeFeeModalVisible = true\n } else {\n this.onCancel()\n }\n } else {\n this.onSave()\n }\n }\n\n displayPercentRate() {\n this.isPercentRateDisplayed = true\n this.isFixedAmountDisplayed = false\n }\n\n displayFixedAmount() {\n this.isFixedAmountDisplayed = true\n this.isPercentRateDisplayed = false\n }\n\n handleDescriptionChange(value: string) {\n this.customFee.description = value\n }\n\n private registerValidators() {\n fixedAmountFeeMinValueValidator(this.screenText.getScreenText('CUSTOM_FEE_FIXED_AMOUNT_ERROR'))\n fixedAmountFeeRequiredValidator(this.screenText.getScreenText('CUSTOM_FEE_FIXED_AMOUNT_ERROR'))\n percentInputBetweenValidator(this.screenText.getScreenText('CUSTOM_FEE_PERCENT_ERROR'))\n feeNameRequiredValidator(\n this.screenText.getScreenText('REQUIRED_INPUT_FIELD_ERROR').replace('{field}', this.nameText)\n )\n customFeeSelectionRequiredValidator(\n this.screenText.getScreenText('CUSTOM_FEE_SELECTION_REQUIRED_ERROR')\n )\n percentInputRequiredValidator(this.screenText.getScreenText('CUSTOM_FEE_PERCENT_ERROR'))\n percentInputTwoDecimalPlacesValidator(this.screenText.getScreenText('CUSTOM_FEE_PERCENT_ERROR'))\n maxCharsInputValidator()\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!./CustomizeFee.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!./CustomizeFee.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./CustomizeFee.vue?vue&type=template&id=4927a63a&scoped=true&\"\nimport script from \"./CustomizeFee.vue?vue&type=script&lang=ts&\"\nexport * from \"./CustomizeFee.vue?vue&type=script&lang=ts&\"\nimport style0 from \"./CustomizeFee.vue?vue&type=style&index=0&id=4927a63a&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 \"4927a63a\",\n null\n \n)\n\nexport default component.exports","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!./inputWithCharacterCounter.vue?vue&type=style&index=0&id=139c356d&lang=less&scoped=true&\"","/**\n * Vue Currency Input 1.22.6\n * (c) 2018-2021 Matthias Stiller\n * @license MIT\n */\nvar escapeRegExp = function (str) { return str.replace(/[.*+?^${}()|[\\]\\\\]/g, '\\\\$&'); };\nvar removeLeadingZeros = function (str) { return str.replace(/^0+(0$|[^0])/, '$1'); };\nvar count = function (str, search) { return (str.match(new RegExp(escapeRegExp(search), 'g')) || []).length; };\nvar startsWith = function (str, search) { return str.substring(0, search.length) === search; };\nvar substringBefore = function (str, search) { return str.substring(0, str.indexOf(search)); };\n\nvar DECIMAL_SYMBOLS = [',', '.', '٫'];\nvar INTEGER_PATTERN = '(0|[1-9]\\\\d*)';\nvar NumberFormat = function NumberFormat (options) {\n var currency = options.currency;\n var locale = options.locale;\n var precision = options.precision;\n var autoDecimalMode = options.autoDecimalMode;\n var valueAsInteger = options.valueAsInteger;\n var numberFormat = new Intl.NumberFormat(locale, typeof currency === 'string' ? { currency: currency, style: 'currency' } : { minimumFractionDigits: 1 });\n var ps = numberFormat.format(123456);\n this.locale = locale;\n this.currency = currency;\n this.digits = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9].map(function (i) { return i.toLocaleString(locale); });\n this.decimalSymbol = count(ps, this.digits[0]) ? ps.substr(ps.indexOf(this.digits[6]) + 1, 1) : undefined;\n this.groupingSymbol = ps.substr(ps.indexOf(this.digits[3]) + 1, 1);\n this.minusSymbol = substringBefore(Number(-1).toLocaleString(locale), this.digits[1]);\n if (this.decimalSymbol === undefined) {\n this.minimumFractionDigits = this.maximumFractionDigits = 0;\n } else if (typeof precision === 'number') {\n this.minimumFractionDigits = this.maximumFractionDigits = precision;\n } else if (typeof precision === 'object' && !autoDecimalMode && !valueAsInteger) {\n this.minimumFractionDigits = precision.min || 0;\n this.maximumFractionDigits = precision.max !== undefined ? precision.max : 20;\n } else if (typeof currency === 'string') {\n this.minimumFractionDigits = numberFormat.resolvedOptions().minimumFractionDigits;\n this.maximumFractionDigits = numberFormat.resolvedOptions().maximumFractionDigits;\n } else {\n this.minimumFractionDigits = this.maximumFractionDigits = 2;\n }\n if (typeof currency === 'string') {\n this.prefix = substringBefore(ps, this.digits[1]);\n this.negativePrefix = substringBefore(numberFormat.format(-1), this.digits[1]);\n this.suffix = ps.substring(ps.lastIndexOf(this.decimalSymbol ? this.digits[0] : this.digits[6]) + 1);\n } else {\n this.prefix = (currency || {}).prefix || '';\n this.negativePrefix = \"\" + (this.minusSymbol) + (this.prefix);\n this.suffix = (currency || {}).suffix || '';\n }\n};\nNumberFormat.prototype.parse = function parse (str, valueAsInteger) {\n if ( valueAsInteger === void 0 ) valueAsInteger = false;\n if (str) {\n var negative = this.isNegative(str);\n str = this.normalizeDigits(str);\n str = this.stripCurrencySymbol(str);\n str = this.stripMinusSymbol(str);\n var fraction = this.decimalSymbol ? (\"(?:\" + (escapeRegExp(this.decimalSymbol)) + \"(\\\\d*))?\") : '';\n var match = this.stripGroupingSymbol(str).match(new RegExp((\"^\" + INTEGER_PATTERN + fraction + \"$\")));\n if (match && this.isValidIntegerFormat(str.split(this.decimalSymbol)[0], Number(match[1]))) {\n var number = Number((\"\" + (negative ? '-' : '') + (match[1]) + \".\" + ((match[2] || ''))));\n return valueAsInteger ? Number(number.toFixed(this.maximumFractionDigits).split('.').join('')) : number\n }\n }\n return null\n};\nNumberFormat.prototype.isValidIntegerFormat = function isValidIntegerFormat (str, integerNumber) {\n var options = typeof this.currency === 'string'\n ? { style: 'currency', currency: this.currency, minimumFractionDigits: 0 }\n : {};\n return [\n this.stripCurrencySymbol(this.normalizeDigits(integerNumber.toLocaleString(this.locale, Object.assign({}, options, {useGrouping: true})))),\n this.stripCurrencySymbol(this.normalizeDigits(integerNumber.toLocaleString(this.locale, Object.assign({}, options, {useGrouping: false}))))\n ].includes(str)\n};\nNumberFormat.prototype.format = function format (number, options) {\n if ( options === void 0 ) options = {\n minimumFractionDigits: this.minimumFractionDigits,\n maximumFractionDigits: this.maximumFractionDigits\n};\n if (typeof this.currency === 'string') {\n return number.toLocaleString(this.locale, Object.assign({}, {style: 'currency',\n currency: this.currency},\n options))\n } else {\n return this.insertCurrencySymbol(Math.abs(number).toLocaleString(this.locale, options), number < 0 || (number === 0 && (1 / number < 0)))\n }\n};\nNumberFormat.prototype.toFraction = function toFraction (str) {\n return (\"\" + (this.digits[0]) + (this.decimalSymbol) + ((this.onlyLocaleDigits(str.substr(1)).substr(0, this.maximumFractionDigits))))\n};\nNumberFormat.prototype.isFractionIncomplete = function isFractionIncomplete (str) {\n return !!this.normalizeDigits(this.stripGroupingSymbol(str)).match(new RegExp((\"^\" + INTEGER_PATTERN + (escapeRegExp(this.decimalSymbol)) + \"$\")))\n};\nNumberFormat.prototype.isNegative = function isNegative (str) {\n return startsWith(str, this.negativePrefix) || startsWith(str.replace('-', this.minusSymbol), this.minusSymbol)\n};\nNumberFormat.prototype.insertCurrencySymbol = function insertCurrencySymbol (str, negative) {\n return (\"\" + (negative ? this.negativePrefix : this.prefix) + str + (this.suffix))\n};\nNumberFormat.prototype.stripGroupingSymbol = function stripGroupingSymbol (str) {\n return str.replace(new RegExp(escapeRegExp(this.groupingSymbol), 'g'), '')\n};\nNumberFormat.prototype.stripMinusSymbol = function stripMinusSymbol (str) {\n return str.replace('-', this.minusSymbol).replace(this.minusSymbol, '')\n};\nNumberFormat.prototype.stripCurrencySymbol = function stripCurrencySymbol (str) {\n return str.replace(this.negativePrefix, '').replace(this.prefix, '').replace(this.suffix, '')\n};\nNumberFormat.prototype.normalizeDecimalSymbol = function normalizeDecimalSymbol (str, from) {\n var this$1 = this;\n DECIMAL_SYMBOLS.forEach(function (s) {\n str = str.substr(0, from) + str.substr(from).replace(s, this$1.decimalSymbol);\n });\n return str\n};\nNumberFormat.prototype.normalizeDigits = function normalizeDigits (str) {\n if (this.digits[0] !== '0') {\n this.digits.forEach(function (digit, index) {\n str = str.replace(new RegExp(digit, 'g'), index);\n });\n }\n return str\n};\nNumberFormat.prototype.onlyDigits = function onlyDigits (str) {\n return this.normalizeDigits(str).replace(/\\D+/g, '')\n};\nNumberFormat.prototype.onlyLocaleDigits = function onlyLocaleDigits (str) {\n return str.replace(new RegExp((\"[^\" + (this.digits.join('')) + \"]*\"), 'g'), '')\n};\n\nvar DEFAULT_OPTIONS = {\n locale: undefined,\n currency: 'EUR',\n valueAsInteger: false,\n distractionFree: true,\n precision: undefined,\n autoDecimalMode: false,\n valueRange: undefined,\n allowNegative: true\n};\nvar parse = function (formattedValue, options) {\n var mergedOptions = Object.assign({}, DEFAULT_OPTIONS, options);\n return new NumberFormat(mergedOptions).parse(formattedValue, mergedOptions.valueAsInteger)\n};\nvar getValue = function (ref) { return (ref.$el || ref).$ci.getValue(); };\nvar setValue = function (ref, value) {\n (ref.$el || ref).$ci.setValue(value);\n};\n\nvar equal = function (a, b) {\n if (a === b) {\n return true\n }\n if (!a || !b || typeof a !== 'object' || typeof b !== 'object') {\n return false\n }\n var keys = Object.keys(a);\n if (keys.length !== Object.keys(b).length) {\n return false\n }\n if (!keys.every(Object.prototype.hasOwnProperty.bind(b))) {\n return false\n }\n return keys.every(function (key) { return equal(a[key], b[key]); })\n};\n\nvar DefaultNumberMask = function DefaultNumberMask (numberFormat) {\n this.numberFormat = numberFormat;\n};\nDefaultNumberMask.prototype.conformToMask = function conformToMask (str, previousConformedValue) {\n var this$1 = this;\n if ( previousConformedValue === void 0 ) previousConformedValue = '';\n var negative = this.numberFormat.isNegative(str);\n var checkIncompleteValue = function (str) {\n if (str === '' && negative && previousConformedValue !== this$1.numberFormat.negativePrefix) {\n return ''\n } else if (this$1.numberFormat.maximumFractionDigits > 0) {\n if (this$1.numberFormat.isFractionIncomplete(str)) {\n return str\n } else if (startsWith(str, this$1.numberFormat.decimalSymbol)) {\n return this$1.numberFormat.toFraction(str)\n }\n }\n return null\n };\n var value = str;\n value = this.numberFormat.stripCurrencySymbol(value);\n value = this.numberFormat.stripMinusSymbol(value);\n var incompleteValue = checkIncompleteValue(value);\n if (incompleteValue != null) {\n return this.numberFormat.insertCurrencySymbol(incompleteValue, negative)\n }\n var ref = value.split(this.numberFormat.decimalSymbol);\n var integer = ref[0];\n var fraction = ref.slice(1);\n var integerDigits = removeLeadingZeros(this.numberFormat.onlyDigits(integer));\n var fractionDigits = this.numberFormat.onlyDigits(fraction.join('')).substr(0, this.numberFormat.maximumFractionDigits);\n var invalidFraction = fraction.length > 0 && fractionDigits.length === 0;\n var invalidNegativeValue = integerDigits === '' && negative && (previousConformedValue === str.slice(0, -1) || previousConformedValue !== this.numberFormat.negativePrefix);\n if (invalidFraction || invalidNegativeValue) {\n return previousConformedValue\n } else if (integerDigits.match(/\\d+/)) {\n return {\n numberValue: Number((\"\" + (negative ? '-' : '') + integerDigits + \".\" + fractionDigits)),\n fractionDigits: fractionDigits\n }\n } else {\n return ''\n }\n};\nvar AutoDecimalModeNumberMask = function AutoDecimalModeNumberMask (numberFormat) {\n this.numberFormat = numberFormat;\n};\nAutoDecimalModeNumberMask.prototype.conformToMask = function conformToMask (str) {\n if (str === '') {\n return ''\n }\n var negative = this.numberFormat.isNegative(str);\n var numberValue = this.numberFormat.stripMinusSymbol(str) === ''\n ? -0\n : Number((\"\" + (negative ? '-' : '') + (removeLeadingZeros(this.numberFormat.onlyDigits(str))))) / Math.pow(10, this.numberFormat.minimumFractionDigits);\n return {\n numberValue: numberValue,\n fractionDigits: numberValue.toFixed(this.numberFormat.minimumFractionDigits).slice(-this.numberFormat.minimumFractionDigits)\n }\n};\n\nvar getCaretPositionAfterFormat = function (newValue, inputtedValue, caretPosition, numberFormat, options) {\n var prefix = numberFormat.prefix;\n var suffix = numberFormat.suffix;\n var decimalSymbol = numberFormat.decimalSymbol;\n var maximumFractionDigits = numberFormat.maximumFractionDigits;\n var groupingSymbol = numberFormat.groupingSymbol;\n var decimalSymbolPosition = inputtedValue.indexOf(decimalSymbol) + 1;\n var caretPositionFromLeft = inputtedValue.length - caretPosition;\n if (Math.abs(newValue.length - inputtedValue.length) > 1 && caretPosition <= decimalSymbolPosition) {\n return newValue.indexOf(decimalSymbol) + 1\n } else if (newValue.substr(caretPosition, 1) === groupingSymbol && count(newValue, groupingSymbol) === count(inputtedValue, groupingSymbol) + 1) {\n return newValue.length - caretPositionFromLeft - 1\n } else {\n if (!options.autoDecimalMode && decimalSymbolPosition !== 0 && caretPosition > decimalSymbolPosition) {\n if (numberFormat.onlyDigits(inputtedValue.substr(decimalSymbolPosition)).length - 1 === maximumFractionDigits) {\n caretPositionFromLeft -= 1;\n }\n }\n return options.distractionFree.hideCurrencySymbol\n ? newValue.length - caretPositionFromLeft\n : Math.max(newValue.length - Math.max(caretPositionFromLeft, suffix.length), prefix.length === 0 ? 0 : prefix.length + 1)\n }\n};\nvar getDistractionFreeCaretPosition = function (numberFormat, options, value, caretPosition) {\n var result = caretPosition;\n if (options.distractionFree.hideCurrencySymbol) {\n result -= numberFormat.prefix.length;\n }\n if (options.distractionFree.hideGroupingSymbol) {\n result -= count(value.substring(0, caretPosition), numberFormat.groupingSymbol);\n }\n return Math.max(0, result)\n};\n\nvar MAX_SAFE_INTEGER = Math.pow(2, 53) - 1;\nvar NumberInput = function NumberInput (el, options, callbackFns) {\n this.el = el;\n this.callbackFns = callbackFns;\n this.numberValue = null;\n this.addEventListener();\n this.init(options);\n this.setValue(this.currencyFormat.parse(this.el.value));\n};\nNumberInput.prototype.init = function init (newOptions) {\n var options = Object.assign({}, newOptions);\n var distractionFree = options.distractionFree;\n var autoDecimalMode = options.autoDecimalMode;\n var valueRange = options.valueRange;\n if (typeof distractionFree === 'boolean') {\n options.distractionFree = {\n hideCurrencySymbol: distractionFree,\n hideNegligibleDecimalDigits: distractionFree,\n hideGroupingSymbol: distractionFree\n };\n }\n if (valueRange) {\n options.valueRange = {\n min: valueRange.min !== undefined ? Math.max(valueRange.min, -MAX_SAFE_INTEGER) : -MAX_SAFE_INTEGER,\n max: valueRange.max !== undefined ? Math.min(valueRange.max, MAX_SAFE_INTEGER) : MAX_SAFE_INTEGER\n };\n } else {\n options.valueRange = {\n min: -MAX_SAFE_INTEGER,\n max: MAX_SAFE_INTEGER\n };\n }\n if (autoDecimalMode) {\n options.distractionFree.hideNegligibleDecimalDigits = false;\n this.el.setAttribute('inputmode', 'numeric');\n } else {\n this.el.setAttribute('inputmode', 'decimal');\n }\n this.options = options;\n this.currencyFormat = new NumberFormat(this.options);\n this.numberMask = options.autoDecimalMode ? new AutoDecimalModeNumberMask(this.currencyFormat) : new DefaultNumberMask(this.currencyFormat);\n};\nNumberInput.prototype.setOptions = function setOptions (options) {\n this.init(options);\n this.applyFixedFractionFormat(this.numberValue, true);\n};\nNumberInput.prototype.applyFixedFractionFormat = function applyFixedFractionFormat (number, forcedChange) {\n this.format(number != null ? this.currencyFormat.format(this.validateValueRange(number)) : null);\n if (number !== this.numberValue || forcedChange) {\n this.callbackFns.onChange(this.getValue());\n }\n};\nNumberInput.prototype.getValue = function getValue () {\n return this.currencyFormat.parse(this.formattedValue, this.options.valueAsInteger)\n};\nNumberInput.prototype.setValue = function setValue (value) {\n var newValue = this.options.valueAsInteger && value != null ? value / Math.pow(10, this.currencyFormat.maximumFractionDigits) : value;\n if (newValue !== this.numberValue) {\n this.applyFixedFractionFormat(newValue);\n }\n};\nNumberInput.prototype.validateValueRange = function validateValueRange (value) {\n var ref = this.options.valueRange;\n var min = ref.min;\n var max = ref.max;\n return Math.min(Math.max(value, min), max)\n};\nNumberInput.prototype.updateInputValue = function updateInputValue (value, hideNegligibleDecimalDigits) {\n if ( hideNegligibleDecimalDigits === void 0 ) hideNegligibleDecimalDigits = false;\n if (value != null) {\n if (this.decimalSymbolInsertedAt !== undefined) {\n value = this.currencyFormat.normalizeDecimalSymbol(value, this.decimalSymbolInsertedAt);\n this.decimalSymbolInsertedAt = undefined;\n }\n var conformedValue = this.numberMask.conformToMask(value, this.formattedValue);\n var formattedValue;\n if (typeof conformedValue === 'object') {\n var numberValue = conformedValue.numberValue;\n var fractionDigits = conformedValue.fractionDigits;\n var ref = this.currencyFormat;\n var maximumFractionDigits = ref.maximumFractionDigits;\n var minimumFractionDigits = ref.minimumFractionDigits;\n if (this.focus) {\n minimumFractionDigits = maximumFractionDigits;\n }\n minimumFractionDigits = hideNegligibleDecimalDigits\n ? fractionDigits.replace(/0+$/, '').length\n : Math.min(minimumFractionDigits, fractionDigits.length);\n formattedValue = numberValue > MAX_SAFE_INTEGER\n ? this.formattedValue\n : this.currencyFormat.format(numberValue, {\n useGrouping: !(this.focus && this.options.distractionFree.hideGroupingSymbol),\n minimumFractionDigits: minimumFractionDigits,\n maximumFractionDigits: maximumFractionDigits\n });\n } else {\n formattedValue = conformedValue;\n }\n if (!this.options.allowNegative) {\n formattedValue = formattedValue.replace(this.currencyFormat.negativePrefix, this.currencyFormat.prefix);\n }\n if (this.focus && this.options.distractionFree.hideCurrencySymbol) {\n formattedValue = formattedValue\n .replace(this.currencyFormat.negativePrefix, this.currencyFormat.minusSymbol)\n .replace(this.currencyFormat.prefix, '')\n .replace(this.currencyFormat.suffix, '');\n }\n this.el.value = formattedValue;\n this.numberValue = this.currencyFormat.parse(formattedValue);\n } else {\n this.el.value = this.numberValue = null;\n }\n this.formattedValue = this.el.value;\n};\nNumberInput.prototype.format = function format (value) {\n this.updateInputValue(value);\n this.callbackFns.onInput(this.getValue());\n};\nNumberInput.prototype.addEventListener = function addEventListener () {\n var this$1 = this;\n this.el.addEventListener('input', function () {\n var ref = this$1.el;\n var value = ref.value;\n var selectionStart = ref.selectionStart;\n this$1.format(value);\n if (this$1.focus) {\n this$1.setCaretPosition(getCaretPositionAfterFormat(this$1.formattedValue, value, selectionStart, this$1.currencyFormat, this$1.options));\n }\n }, { capture: true });\n this.el.addEventListener('focus', function () {\n this$1.focus = true;\n var ref = this$1.options.distractionFree;\n var hideCurrencySymbol = ref.hideCurrencySymbol;\n var hideGroupingSymbol = ref.hideGroupingSymbol;\n var hideNegligibleDecimalDigits = ref.hideNegligibleDecimalDigits;\n if (hideCurrencySymbol || hideGroupingSymbol || hideNegligibleDecimalDigits) {\n setTimeout(function () {\n var ref = this$1.el;\n var value = ref.value;\n var selectionStart = ref.selectionStart;\n var selectionEnd = ref.selectionEnd;\n if (value) {\n this$1.updateInputValue(this$1.el.value, hideNegligibleDecimalDigits);\n }\n if (Math.abs(selectionStart - selectionEnd) > 0) {\n this$1.setCaretPosition(0, this$1.el.value.length);\n } else {\n this$1.setCaretPosition(getDistractionFreeCaretPosition(this$1.currencyFormat, this$1.options, value, selectionStart));\n }\n });\n }\n });\n this.el.addEventListener('keypress', function (e) {\n if (DECIMAL_SYMBOLS.includes(e.key)) {\n this$1.decimalSymbolInsertedAt = this$1.el.selectionStart;\n }\n });\n this.el.addEventListener('blur', function () {\n this$1.focus = false;\n if (this$1.numberValue != null) {\n this$1.applyFixedFractionFormat(this$1.numberValue);\n }\n });\n this.el.addEventListener('change', function () {\n this$1.callbackFns.onChange(this$1.getValue());\n });\n};\nNumberInput.prototype.setCaretPosition = function setCaretPosition (start, end) {\n if ( end === void 0 ) end = start;\n this.el.setSelectionRange(start, end); };\n\nvar directive = {\n bind: function bind (el, ref, vnode) {\n var optionsFromBinding = ref.value;\n var inputElement = el.tagName.toLowerCase() === 'input' ? el : el.querySelector('input');\n if (!inputElement) {\n throw new Error('No input element found')\n }\n var options = Object.assign({}, DEFAULT_OPTIONS,\n (vnode.context.$ci || {}).globalOptions,\n optionsFromBinding);\n var listeners = (vnode.data && vnode.data.on) || (vnode.componentOptions && vnode.componentOptions.listeners) || {};\n var emit = function (event, data) {\n if (listeners[event]) {\n listeners[event](vnode.componentOptions ? data : { target: { value: data } });\n }\n };\n el.$ci = new NumberInput(inputElement, options, {\n onChange: function () { emit('change', inputElement.value); },\n onInput: function () { emit('input', inputElement.value); }\n });\n },\n componentUpdated: function componentUpdated (el, ref) {\n var value = ref.value;\n var oldValue = ref.oldValue;\n if (!equal(value, oldValue)) {\n el.$ci.setOptions(value);\n }\n }\n};\n\nvar component = {\n render: function render (h) {\n var this$1 = this;\n return h('input', {\n directives: [{\n name: 'currency',\n value: this.options\n }],\n on: Object.assign({}, this.$listeners,\n {change: function () {\n this$1.$emit('change', getValue(this$1.$el));\n },\n input: function () {\n var numberValue = getValue(this$1.$el);\n if (this$1.value !== numberValue) {\n this$1.$emit('input', numberValue);\n }\n }})\n })\n },\n directives: {\n currency: directive\n },\n name: 'CurrencyInput',\n props: {\n value: {\n type: Number,\n default: null\n },\n locale: {\n type: String,\n default: undefined\n },\n currency: {\n type: [String, Object],\n default: undefined\n },\n distractionFree: {\n type: [Boolean, Object],\n default: undefined\n },\n precision: {\n type: [Number, Object],\n default: undefined\n },\n autoDecimalMode: {\n type: Boolean,\n default: undefined\n },\n valueAsInteger: {\n type: Boolean,\n default: undefined\n },\n valueRange: {\n type: Object,\n default: undefined\n },\n allowNegative: {\n type: Boolean,\n default: undefined\n }\n },\n mounted: function mounted () {\n this.setValue(this.value);\n },\n computed: {\n options: function options () {\n var this$1 = this;\n var options = Object.assign({}, DEFAULT_OPTIONS,\n (this.$ci || {}).globalOptions);\n Object.keys(DEFAULT_OPTIONS).forEach(function (key) {\n if (this$1[key] !== undefined) {\n options[key] = this$1[key];\n }\n });\n return options\n }\n },\n watch: {\n value: 'setValue'\n },\n methods: {\n setValue: function setValue$1 (value) {\n setValue(this.$el, value);\n }\n }\n};\n\nvar plugin = {\n install: function install (Vue, ref) {\n if ( ref === void 0 ) ref = {};\n var componentName = ref.componentName; if ( componentName === void 0 ) componentName = component.name;\n var directiveName = ref.directiveName; if ( directiveName === void 0 ) directiveName = 'currency';\n var globalOptions = ref.globalOptions; if ( globalOptions === void 0 ) globalOptions = {};\n Vue.component(componentName, component);\n Vue.directive(directiveName, directive);\n Vue.prototype.$ci = {\n parse: function (formattedValue, options) { return parse(formattedValue, Object.assign({}, globalOptions, options)); },\n getValue: getValue,\n setValue: setValue,\n globalOptions: globalOptions\n };\n }\n};\n\nif (typeof window !== 'undefined' && window.Vue) {\n window.Vue.use(plugin);\n}\n\nexport default plugin;\nexport { directive as CurrencyDirective, component as CurrencyInput, getValue, parse, setValue };\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"form-group\"},[(_vm.inputType === 'textarea')?_c('textarea',{directives:[{name:\"model\",rawName:\"v-model.trim\",value:(_vm.localInputModel),expression:\"localInputModel\",modifiers:{\"trim\":true}}],class:{\n 'form-group__input-with-counter--error': _vm.isOverLimit\n },domProps:{\"value\":(_vm.localInputModel)},on:{\"input\":function($event){if($event.target.composing){ return; }_vm.localInputModel=$event.target.value.trim()},\"blur\":function($event){return _vm.$forceUpdate()}}}):_c('input',{directives:[{name:\"model\",rawName:\"v-model.trim\",value:(_vm.localInputModel),expression:\"localInputModel\",modifiers:{\"trim\":true}}],class:{\n 'form-group__input-with-counter--error': _vm.isOverLimit\n },attrs:{\"type\":\"text\"},domProps:{\"value\":(_vm.localInputModel)},on:{\"input\":function($event){if($event.target.composing){ return; }_vm.localInputModel=$event.target.value.trim()},\"blur\":function($event){return _vm.$forceUpdate()}}}),_c('label',{class:{ 'form-group__character-counter--error': _vm.isOverLimit || _vm.error }},[(_vm.error && !_vm.isOverLimit)?[_vm._v(\" \"+_vm._s(_vm.error)+\" \")]:[(_vm.isOverLimit)?_c('i',{staticClass:\"fas fa-exclamation-circle\"}):_vm._e(),_vm._v(\" \"+_vm._s(_vm.counterMessage)+\" \")]],2)])}\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\nimport { Vue, Prop, Component } from 'vue-property-decorator'\n\n/**\n * A Vue component that renders an input field with a character counter.\n * The input can be either a textarea or a text input, depending on the `inputType` prop.\n * It displays a character counter and shows an error message if the input exceeds the maximum allowed characters.\n * If an external validation error message is provided via the `error` prop, it will be displayed instead of the character counter.\n */\n@Component({\n model: {\n prop: 'value', // The prop that v-model will bind to\n event: 'input' // The event that v-model will emit\n }\n})\nexport default class InputWithCharacterCounter extends Vue {\n /**\n * The value for the input field, which will be bound to v-model.\n * @type {string}\n */\n @Prop({ required: true }) readonly value!: string\n\n /**\n * The type of input to render, either 'text' or 'textarea'.\n * @type {string}\n */\n @Prop({\n required: true,\n validator: (value: string) => ['text', 'textarea'].includes(value)\n })\n readonly inputType!: string\n\n /**\n * The maximum number of characters allowed in the input field.\n * @type {number}\n */\n @Prop({ required: true }) readonly maxLength!: number\n\n /**\n * An external validation error message to display.\n * If provided, this message will be shown instead of the character counter.\n * @type {string | undefined}\n */\n @Prop({ required: false }) readonly error!: string\n\n /**\n * A local copy of the input model, used for two-way binding.\n * @type {string}\n */\n get localInputModel(): string {\n return this.value\n }\n\n set localInputModel(newValue: string) {\n this.$emit('input', newValue)\n }\n\n /**\n * Calculates the current number of characters in the input field.\n * @returns {number} The current character count.\n */\n get currentCharacterCount(): number {\n return this.localInputModel.length\n }\n\n /**\n * Calculates the number of characters remaining or over the limit.\n * @returns {number} The computed counter value.\n */\n get computedCounter(): number {\n return this.maxLength - this.currentCharacterCount\n }\n\n /**\n * Determines if the input has exceeded the maximum character limit.\n * @returns {boolean} True if the input is over the limit, false otherwise.\n */\n get isOverLimit(): boolean {\n return this.currentCharacterCount > this.maxLength\n }\n\n /**\n * Generates the message to display in the character counter label.\n * The message varies depending on whether the input is empty, within the limit, or over the limit.\n * @returns {string} The character counter message.\n */\n get counterMessage(): string {\n if (this.currentCharacterCount === 0) {\n return `${this.maxLength} characters allowed`\n } else if (this.isOverLimit) {\n return `${Math.abs(this.computedCounter)} characters over limit`\n } else {\n return `${this.computedCounter} characters left`\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!./inputWithCharacterCounter.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!./inputWithCharacterCounter.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./inputWithCharacterCounter.vue?vue&type=template&id=139c356d&scoped=true&\"\nimport script from \"./inputWithCharacterCounter.vue?vue&type=script&lang=ts&\"\nexport * from \"./inputWithCharacterCounter.vue?vue&type=script&lang=ts&\"\nimport style0 from \"./inputWithCharacterCounter.vue?vue&type=style&index=0&id=139c356d&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 \"139c356d\",\n null\n \n)\n\nexport default component.exports","import APP_CONST from '@/constants/AppConst';\nimport { Vue, Component, Prop, Watch } from 'vue-property-decorator';\n@Component({\n})\nexport default class ProgressButton extends Vue {\n public progressButtonWidth: number = 0;\n public buttonIndexReceived = '';\n\n @Prop({ default: 'Submit' })\n buttonText!: string;\n\n @Prop({ default: 600 })\n progressButtonDelay!: number;\n\n @Prop({ default: 0 })\n apiResponseCode!: number;\n\n @Prop({ default: '' })\n itemObj: any;\n\n @Prop({ default: true })\n isValidation!: boolean;\n\n @Prop({ default: false })\n showDelay!: boolean;\n\n @Prop({ default: '' })\n buttonIndex!: any;\n\n @Prop({ default: false })\n updateProgress!: boolean;\n\n @Prop({ default: true })\n disableButton!: boolean;\n\n @Prop({ type: Boolean, default: false }) disableTransition!: boolean;\n\n @Watch('apiResponseCode', { deep: true, immediate: true })\n apiResponse(val: any) {\n if (val == 200) {\n this.apiResponseCode = val;\n this.completeButton();\n } else if (val == 400) {\n this.reSetprogressBar();\n }\n }\n\n @Watch('isValidation', { deep: true, immediate: true })\n checkValidations() {\n this.buttonClick('', this.buttonIndex, 'fromWatcher');\n }\n\n buttonClick = (obj: any, buttonIndex: any, from: string) => {\n if (!this.isValidation) {\n this.progressButtonWidth = 0;\n this.tempDisableButton();\n this.buttonIndexReceived = buttonIndex;\n\n const percent = this.progressButtonDelay / 50;\n let i = 0;\n\n const interval = setInterval(() => {\n i++;\n if (i >= 80) {\n this.progressBar();\n clearInterval(interval);\n if (this.apiResponseCode == 200) {\n this.completeButton();\n } else if (this.apiResponseCode == 400) {\n clearInterval(interval);\n this.handleError(interval);\n } else {\n this.progressButtonWidth = i;\n if (!this.updateProgress) {\n this.setProgressResposeDelay();\n } else {\n this.progressBar();\n }\n }\n } else {\n if (this.apiResponseCode == 200) {\n clearInterval(interval);\n this.completeButton();\n } else if (this.apiResponseCode == 400) {\n clearInterval(interval);\n this.handleError(interval);\n } else {\n this.progressButtonWidth = i;\n this.progressBar();\n }\n }\n }, percent);\n }\n if (from != 'fromWatcher') {\n this.emitMethod(obj);\n }\n };\n\n handleError(interval: any) {\n clearInterval(interval);\n this.reSetprogressBar();\n }\n\n emitMethod(obj: any) {\n this.$emit('submitData', obj);\n }\n\n completeButton = () => {\n this.setProgressBeforeRespose();\n };\n\n complateButtonProgress() {\n const element: any = document.getElementById('progressBar' + this.buttonIndex);\n const style = `linear-gradient(to right, ${APP_CONST.STYLE.COLOR.PRIMARY_700}${' ' + 100 + '%'}, ${APP_CONST.STYLE.COLOR.NEUTRAL_100}${' ' + 100 + '%'})`;\n if (element) {\n element.style.background = style;\n element.classList.remove('disabled');\n element.classList.add('finished');\n }\n this.progressButtonWidth = 100;\n if (this.showDelay) {\n setTimeout(() => {\n this.reSetprogressBar();\n this.$emit('close');\n }, 100);\n } else {\n this.reSetprogressBar();\n this.$emit('close');\n }\n }\n\n tempDisableButton() {\n const element: any = document.getElementById('progressBar' + this.buttonIndex);\n if (element) {\n element.classList.add('disabled');\n element.classList.add('btn-secondary');\n element.classList.remove('btn-primary');\n element.classList.remove('finished');\n const style = `linear-gradient(to right, ${APP_CONST.STYLE.COLOR.PRIMARY_700}${' ' + 0 + '%'}, ${APP_CONST.STYLE.COLOR.NEUTRAL_100}${' ' + 0 + '%'})`;\n if (element.style) {\n element.style.background = style;\n }\n }\n }\n\n progressBar = () => {\n const newBttun: any = document.getElementById('progressBar' + this.buttonIndex);\n const style = `linear-gradient(to right, ${APP_CONST.STYLE.COLOR.PRIMARY_700}${' ' + this.progressButtonWidth + '%'}, ${APP_CONST.STYLE.COLOR.NEUTRAL_100}${' ' + this.progressButtonWidth + '%'})`;\n if (newBttun && newBttun.style) {\n newBttun.style.background = style;\n }\n };\n\n reSetprogressBar = () => {\n const element: any = document.getElementById('progressBar' + this.buttonIndex);\n if (element) {\n element.classList.remove('disabled');\n element.classList.remove('finished');\n element.classList.add('btn-primary');\n element.classList.remove('btn-secondary');\n const style = `linear-gradient(to right, ${APP_CONST.STYLE.COLOR.NEUTRAL_100}${' ' + 0 + '%'}, ${APP_CONST.STYLE.COLOR.PRIMARY_700}${' ' + 0 + '%'})`;\n element.style.background = style;\n }\n this.progressButtonWidth = 100;\n };\n\n setProgressBeforeRespose = () => {\n const interval = setInterval(() => {\n if (this.progressButtonWidth >= 100) {\n clearInterval(interval);\n this.complateButtonProgress();\n } else {\n if (this.apiResponseCode == 200) {\n this.completeButton();\n clearInterval(interval);\n this.progressButtonWidth = 100;\n } else\n if (this.apiResponseCode == 400) {\n clearInterval(interval);\n this.handleError(interval);\n this.progressButtonWidth = 100;\n }\n else {\n this.progressButtonWidth = this.progressButtonWidth + 5;\n this.progressBar();\n }\n }\n }, 200);\n };\n\n setProgressResposeDelay = () => {\n const interval = setInterval(() => {\n if (this.progressButtonWidth >= 96) {\n if (this.apiResponseCode == 200) {\n clearInterval(interval);\n this.completeButton();\n } else if (this.apiResponseCode == 400) {\n clearInterval(interval);\n this.handleError(interval);\n }\n else {\n this.progressBar();\n }\n } else {\n if (this.apiResponseCode == 200) {\n clearInterval(interval);\n this.completeButton();\n } else if (this.apiResponseCode == 400) {\n clearInterval(interval);\n this.handleError(interval);\n }\n else {\n this.progressButtonWidth = this.progressButtonWidth + 0.50;\n this.progressBar();\n }\n }\n }, 1000);\n };\n}\n","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!./ChangeFeeModal.vue?vue&type=style&index=0&id=3deca15a&lang=less&scoped=true&\""],"sourceRoot":""}