{"version":3,"sources":["webpack://ng-currency/webpack/universalModuleDefinition","webpack://ng-currency/./ng-currency-settings.provider.js","webpack://ng-currency/./ng-currency.directive.js","webpack://ng-currency/external \"angular\"","webpack://ng-currency/webpack/bootstrap","webpack://ng-currency/webpack/runtime/compat get default export","webpack://ng-currency/webpack/runtime/define property getters","webpack://ng-currency/webpack/runtime/hasOwnProperty shorthand","webpack://ng-currency/webpack/runtime/make namespace object","webpack://ng-currency/./ng-currency.module.js"],"names":["ngCurrencySettings","_defaults","fraction","hardCap","min","undefined","max","currencySymbol","defaults","provider","ngCurrency","$filter","$locale","$timeout","require","link","scope","element","attrs","controller","ngRequired","required","active","$observe","value","reformat","$viewValue","$$rawModelValue","$render","revalidate","Number","$emit","$parsers","push","indexOf","clearValue","keepInRange","$formatters","getCurrencySymbol","$validators","isNaN","updateOn","debounce","$options","getOption","i","length","$validate","$setViewValue","toFixed","$commitViewValue","$on","bind","triggerHandler","decimalRex","dChar","RegExp","clearRex","replaceSeparator","String","decimalSeparator","NUMBER_FORMATS","DECIMAL_SEP","cleared","neg_dummy","neg_regexp","GROUP_SEP","neg_dummy_txt","replace","exec","value_dummy_txt","test","match","join","CURRENCY_SYM","$inject","module","angular","directive","name"],"mappings":"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","file":"ng-currency.js","sourcesContent":["(function webpackUniversalModuleDefinition(root, factory) {\n\tif(typeof exports === 'object' && typeof module === 'object')\n\t\tmodule.exports = factory(require(\"angular\"));\n\telse if(typeof define === 'function' && define.amd)\n\t\tdefine(\"ng-currency\", [\"angular\"], factory);\n\telse if(typeof exports === 'object')\n\t\texports[\"ng-currency\"] = factory(require(\"angular\"));\n\telse\n\t\troot[\"ng-currency\"] = factory(root[\"angular\"]);\n})(self, function(__WEBPACK_EXTERNAL_MODULE_angular__) {\nreturn ","export default class ngCurrencySettings {\n constructor() {\n this._defaults = {\n fraction: 2,\n hardCap: false,\n min: undefined,\n max: undefined,\n currencySymbol: undefined\n };\n }\n\n /**\n * The default property values for 'ng-currency'\n */\n get defaults() {\n return this._defaults;\n }\n\n set defaults(defaults) {\n this._defaults = defaults;\n }\n\n $get() {\n const provider = this;\n return {\n /**\n * The default property values for 'ng-currency'\n */\n get defaults() {\n return provider.defaults;\n }\n };\n }\n}\n","export default function ngCurrency($filter, $locale, $timeout, ngCurrencySettings) {\n return {\n require: 'ngModel',\n link: (scope, element, attrs, controller) => {\n let { hardCap, min, max, currencySymbol, fraction } = ngCurrencySettings.defaults;\n let ngRequired = attrs.required;\n let active = true;\n\n attrs.$observe('ngCurrency', (value) => {\n active = (value !== 'false');\n if (active) {\n reformat();\n } else {\n controller.$viewValue = controller.$$rawModelValue;\n controller.$render();\n }\n });\n attrs.$observe('hardCap', (value) => {\n hardCap = (value === 'true');\n revalidate();\n });\n attrs.$observe('min', (value) => {\n min = value ? Number(value) : undefined;\n revalidate();\n });\n attrs.$observe('max', (value) => {\n max = value ? Number(value) : undefined;\n revalidate();\n });\n attrs.$observe('currencySymbol', (value) => {\n currencySymbol = value;\n reformat();\n });\n attrs.$observe('required', (value) => {\n ngRequired = value;\n revalidate();\n });\n attrs.$observe('fraction', (value) => {\n fraction = value || 2;\n reformat();\n revalidate();\n });\n\n // HACK(nick-woodward): Seriously angular?\n $timeout(() => {\n scope.$emit('currencyRedraw');\n });\n\n controller.$parsers.push((value) => {\n if (active && [undefined, null, ''].indexOf(value) === -1) {\n value = clearValue(value);\n value = keepInRange(Number(value));\n return value;\n }\n return value;\n });\n\n controller.$formatters.push((value) => {\n if (active && [undefined, null, ''].indexOf(value) === -1) {\n return $filter('currency')(value, getCurrencySymbol(), fraction);\n }\n return value;\n });\n\n controller.$validators.min = (value) => {\n if (!ngRequired && ([undefined, null, ''].indexOf(value) !== -1 || isNaN(value))) {\n return true;\n }\n return !active ||\n [undefined, null].indexOf(min) !== -1 || isNaN(min) ||\n value >= min;\n };\n\n controller.$validators.max = (value) => {\n if (!ngRequired && ([undefined, null, ''].indexOf(value) !== -1 || isNaN(value))) {\n return true;\n }\n return !active ||\n [undefined, null].indexOf(max) !== -1 || isNaN(max) ||\n value <= max;\n };\n\n controller.$validators.fraction = (value) => {\n return !active || !value || !isNaN(value);\n };\n\n function reformat() {\n if (active) {\n let value;\n let updateOn, debounce;\n if (controller.$options) {\n // HACK(nick-woodward): this is to maintain backwards compatability with Angular 1.5.9 and lower.\n // TODO(nick-woodward): This should be removed when ngCurrency does a 2.0.0 release\n // Reference: https://github.com/angular/angular.js/commit/296cfce40c25e9438bfa46a0eb27240707a10ffa\n if (controller.$options.getOption) {\n updateOn = controller.$options.getOption('updateOn');\n debounce = controller.$options.getOption('debounce');\n } else {\n updateOn = controller.$options.updateOn;\n debounce = controller.$options.debounce;\n }\n }\n if (updateOn === 'blur' || debounce) {\n value = controller.$viewValue;\n for (let i = controller.$parsers.length - 1; i >= 0; i--) {\n value = controller.$parsers[i](value);\n }\n } else {\n value = controller.$$rawModelValue;\n }\n for (let i = controller.$formatters.length - 1; i >= 0; i--) {\n value = controller.$formatters[i](value);\n }\n controller.$viewValue = value;\n controller.$render();\n }\n }\n\n function revalidate() {\n controller.$validate();\n if (active) {\n const value = keepInRange(controller.$$rawModelValue);\n if (value !== controller.$$rawModelValue) {\n controller.$setViewValue(value.toFixed(fraction));\n controller.$commitViewValue();\n reformat();\n }\n }\n }\n\n function keepInRange(value) {\n if (hardCap) {\n if (max !== undefined && value > max) {\n value = max;\n } else if (min !== undefined && value < min) {\n value = min;\n }\n }\n return value;\n }\n\n scope.$on('currencyRedraw', () => {\n revalidate();\n reformat();\n });\n\n element.bind('focus', () => {\n if (active) {\n const value = clearValue(controller.$viewValue, false);\n\n if (controller.$viewValue !== value) {\n controller.$viewValue = value;\n controller.$render();\n element.triggerHandler('focus');\n }\n }\n });\n\n element.bind('blur', reformat);\n\n // TODO: Rewrite this parsing logic to more readable.\n\n function decimalRex(dChar) {\n return RegExp('\\\\d|\\\\-|\\\\' + dChar, 'g');\n }\n\n function clearRex(dChar) {\n return RegExp('\\\\-{0,1}((\\\\' + dChar + ')|([0-9]{1,}\\\\' + dChar + '?))&?[0-9]{0,' + fraction + '}', 'g');\n }\n\n function clearValue(value, replaceSeparator = true) {\n value = String(value);\n const decimalSeparator = $locale.NUMBER_FORMATS.DECIMAL_SEP;\n let cleared = null;\n\n // Replace negative pattern to minus sign (-)\n const neg_dummy = $filter('currency')('-1', getCurrencySymbol(), fraction);\n const neg_regexp = RegExp('[0-9.' + decimalSeparator + $locale.NUMBER_FORMATS.GROUP_SEP + ']+');\n const neg_dummy_txt = neg_dummy.replace(neg_regexp.exec(neg_dummy), '');\n const value_dummy_txt = value.replace(neg_regexp.exec(value), '');\n\n // If is negative\n if (neg_dummy_txt === value_dummy_txt) {\n value = '-' + neg_regexp.exec(value);\n }\n\n if (RegExp('^-[\\\\s]*$', 'g').test(value)) {\n value = '-0';\n }\n\n if (decimalRex(decimalSeparator).test(value)) {\n cleared = value.match(decimalRex(decimalSeparator))\n .join('').match(clearRex(decimalSeparator)) || [''];\n\n cleared = cleared[0];\n cleared = replaceSeparator ? cleared.replace(decimalSeparator, '.') : cleared;\n }\n\n return cleared || null;\n }\n\n function getCurrencySymbol() {\n return currencySymbol === undefined ? $locale.NUMBER_FORMATS.CURRENCY_SYM : currencySymbol;\n }\n }\n };\n}\nngCurrency.$inject = ['$filter', '$locale', '$timeout', 'ngCurrencySettings'];\n","module.exports = __WEBPACK_EXTERNAL_MODULE_angular__;","// The module cache\nvar __webpack_module_cache__ = {};\n\n// The require function\nfunction __webpack_require__(moduleId) {\n\t// Check if module is in cache\n\tvar cachedModule = __webpack_module_cache__[moduleId];\n\tif (cachedModule !== undefined) {\n\t\treturn cachedModule.exports;\n\t}\n\t// Create a new module (and put it into the cache)\n\tvar module = __webpack_module_cache__[moduleId] = {\n\t\t// no module.id needed\n\t\t// no module.loaded needed\n\t\texports: {}\n\t};\n\n\t// Execute the module function\n\t__webpack_modules__[moduleId](module, module.exports, __webpack_require__);\n\n\t// Return the exports of the module\n\treturn module.exports;\n}\n\n","// getDefaultExport function for compatibility with non-harmony modules\n__webpack_require__.n = function(module) {\n\tvar getter = module && module.__esModule ?\n\t\tfunction() { return module['default']; } :\n\t\tfunction() { return module; };\n\t__webpack_require__.d(getter, { a: getter });\n\treturn getter;\n};","// define getter functions for harmony exports\n__webpack_require__.d = function(exports, definition) {\n\tfor(var key in definition) {\n\t\tif(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) {\n\t\t\tObject.defineProperty(exports, key, { enumerable: true, get: definition[key] });\n\t\t}\n\t}\n};","__webpack_require__.o = function(obj, prop) { return Object.prototype.hasOwnProperty.call(obj, prop); }","// define __esModule on exports\n__webpack_require__.r = function(exports) {\n\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n\t}\n\tObject.defineProperty(exports, '__esModule', { value: true });\n};","import angular from 'angular';\nimport ngCurrencySettings from './ng-currency-settings.provider.js';\nimport ngCurrency from './ng-currency.directive.js';\n\nconst module = angular.module('ng-currency', []);\n\nmodule.provider('ngCurrencySettings', ngCurrencySettings);\nmodule.directive('ngCurrency', ngCurrency);\n\nexport default module.name;\n"],"sourceRoot":""}