\r\n\r\n\r\n\r\n\r\n\r\n\r\n\n\n\n// WEBPACK FOOTER //\n// resources/assets/js/components/enso/documents/Document.vue","// style-loader: Adds some css to the DOM by adding a \r\n\n\n\n// WEBPACK FOOTER //\n// resources/assets/js/components/enso/select/VueSelect.vue","// style-loader: Adds some css to the DOM by adding a \r\n\n\n\n// WEBPACK FOOTER //\n// resources/assets/js/components/enso/vueforms/Datepicker.vue","exports = module.exports = require(\"../../../../../../node_modules/css-loader/lib/css-base.js\")(false);\n// imports\n\n\n// module\nexports.push([module.id, \".wrapper[data-v-1d682ace]{max-height:500px;overflow-y:auto}\", \"\"]);\n\n// exports\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/css-loader?minimize!./node_modules/vue-loader/lib/style-compiler?{\"vue\":true,\"id\":\"data-v-1d682ace\",\"scoped\":true,\"hasInlineConfig\":true}!./node_modules/vue-loader/lib/selector.js?type=styles&index=0!./resources/assets/js/components/enso/comments/Comments.vue\n// module id = bAAI\n// module chunks = 3 4 5 6 7 8 9 10 11","\r\n\r\n
\r\n \r\n
\r\n \r\n \r\n \r\n \r\n {{ title }}\r\n \r\n {{ title }}\r\n
\r\n\r\n\r\n\r\n\r\n\r\n\r\n\n\n\n// WEBPACK FOOTER //\n// resources/assets/js/components/enso/documents/Document.vue","// style-loader: Adds some css to the DOM by adding a \r\n\n\n\n// WEBPACK FOOTER //\n// resources/assets/js/components/enso/select/VueSelect.vue","// style-loader: Adds some css to the DOM by adding a \r\n\n\n\n// WEBPACK FOOTER //\n// resources/assets/js/components/enso/vueforms/Datepicker.vue","exports = module.exports = require(\"../../../../../../node_modules/css-loader/lib/css-base.js\")(false);\n// imports\n\n\n// module\nexports.push([module.id, \".wrapper[data-v-1d682ace]{max-height:500px;overflow-y:auto}\", \"\"]);\n\n// exports\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/css-loader?minimize!./node_modules/vue-loader/lib/style-compiler?{\"vue\":true,\"id\":\"data-v-1d682ace\",\"scoped\":true,\"hasInlineConfig\":true}!./node_modules/vue-loader/lib/selector.js?type=styles&index=0!./resources/assets/js/components/enso/comments/Comments.vue\n// module id = bAAI\n// module chunks = 3 4 5 6 7 8 9 10 11","\r\n\r\n
\r\n \r\n
\r\n \r\n \r\n \r\n \r\n {{ title }}\r\n \r\n {{ title }}\r\n
\r\n \r\n\r\n\r\n\r\n\r\n\r\n\r\n\n\n\n// WEBPACK FOOTER //\n// resources/assets/js/components/enso/vuedatatable/TableFooter.vue","(function (global, factory) {\n\ttypeof exports === 'object' && typeof module !== 'undefined' ? factory(exports) :\n\ttypeof define === 'function' && define.amd ? define(['exports'], factory) :\n\t(factory((global.accounting = global.accounting || {})));\n}(this, function (exports) { 'use strict';\n\n\tfunction __commonjs(fn, module) { return module = { exports: {} }, fn(module, module.exports), module.exports; }\n\n\t/**\n\t * The library's settings configuration object.\n\t *\n\t * Contains default parameters for currency and number formatting\n\t */\n\tvar settings = {\n\t symbol: '$', // default currency symbol is '$'\n\t format: '%s%v', // controls output: %s = symbol, %v = value (can be object, see docs)\n\t decimal: '.', // decimal point separator\n\t thousand: ',', // thousands separator\n\t precision: 2, // decimal places\n\t grouping: 3, // digit grouping (not implemented yet)\n\t stripZeros: false, // strip insignificant zeros from decimal part\n\t fallback: 0 // value returned on unformat() failure\n\t};\n\n\t/**\n\t * Takes a string/array of strings, removes all formatting/cruft and returns the raw float value\n\t * Alias: `accounting.parse(string)`\n\t *\n\t * Decimal must be included in the regular expression to match floats (defaults to\n\t * accounting.settings.decimal), so if the number uses a non-standard decimal\n\t * separator, provide it as the second argument.\n\t *\n\t * Also matches bracketed negatives (eg. '$ (1.99)' => -1.99)\n\t *\n\t * Doesn't throw any errors (`NaN`s become 0) but this may change in future\n\t *\n\t * ```js\n\t * accounting.unformat(\"£ 12,345,678.90 GBP\"); // 12345678.9\n\t * ```\n\t *\n\t * @method unformat\n\t * @for accounting\n\t * @param {String|Array} value The string or array of strings containing the number/s to parse.\n\t * @param {Number} decimal Number of decimal digits of the resultant number\n\t * @return {Float} The parsed number\n\t */\n\tfunction unformat(value) {\n\t var decimal = arguments.length <= 1 || arguments[1] === undefined ? settings.decimal : arguments[1];\n\t var fallback = arguments.length <= 2 || arguments[2] === undefined ? settings.fallback : arguments[2];\n\n\t // Recursively unformat arrays:\n\t if (Array.isArray(value)) {\n\t return value.map(function (val) {\n\t return unformat(val, decimal, fallback);\n\t });\n\t }\n\n\t // Return the value as-is if it's already a number:\n\t if (typeof value === 'number') return value;\n\n\t // Build regex to strip out everything except digits, decimal point and minus sign:\n\t var regex = new RegExp('[^0-9-(-)-' + decimal + ']', ['g']);\n\t var unformattedValueString = ('' + value).replace(regex, '') // strip out any cruft\n\t .replace(decimal, '.') // make sure decimal point is standard\n\t .replace(/\\(([-]*\\d*[^)]?\\d+)\\)/g, '-$1') // replace bracketed values with negatives\n\t .replace(/\\((.*)\\)/, ''); // remove any brackets that do not have numeric value\n\n\t /**\n\t * Handling -ve number and bracket, eg.\n\t * (-100) = 100, -(100) = 100, --100 = 100\n\t */\n\t var negative = (unformattedValueString.match(/-/g) || 2).length % 2,\n\t absUnformatted = parseFloat(unformattedValueString.replace(/-/g, '')),\n\t unformatted = absUnformatted * (negative ? -1 : 1);\n\n\t // This will fail silently which may cause trouble, let's wait and see:\n\t return !isNaN(unformatted) ? unformatted : fallback;\n\t}\n\n\t/**\n\t * Check and normalise the value of precision (must be positive integer)\n\t */\n\tfunction _checkPrecision(val, base) {\n\t val = Math.round(Math.abs(val));\n\t return isNaN(val) ? base : val;\n\t}\n\n\t/**\n\t * Implementation of toFixed() that treats floats more like decimals\n\t *\n\t * Fixes binary rounding issues (eg. (0.615).toFixed(2) === '0.61') that present\n\t * problems for accounting- and finance-related software.\n\t *\n\t * ```js\n\t * (0.615).toFixed(2); // \"0.61\" (native toFixed has rounding issues)\n\t * accounting.toFixed(0.615, 2); // \"0.62\"\n\t * ```\n\t *\n\t * @method toFixed\n\t * @for accounting\n\t * @param {Float} value The float to be treated as a decimal number.\n\t * @param {Number} [precision=2] The number of decimal digits to keep.\n\t * @return {String} The given number transformed into a string with the given precission\n\t */\n\tfunction toFixed(value, precision) {\n\t precision = _checkPrecision(precision, settings.precision);\n\t var power = Math.pow(10, precision);\n\n\t // Multiply up by precision, round accurately, then divide and use native toFixed():\n\t return (Math.round((value + 1e-8) * power) / power).toFixed(precision);\n\t}\n\n\tvar index = __commonjs(function (module) {\n\t/* eslint-disable no-unused-vars */\n\t'use strict';\n\tvar hasOwnProperty = Object.prototype.hasOwnProperty;\n\tvar propIsEnumerable = Object.prototype.propertyIsEnumerable;\n\n\tfunction toObject(val) {\n\t\tif (val === null || val === undefined) {\n\t\t\tthrow new TypeError('Object.assign cannot be called with null or undefined');\n\t\t}\n\n\t\treturn Object(val);\n\t}\n\n\tmodule.exports = Object.assign || function (target, source) {\n\t\tvar from;\n\t\tvar to = toObject(target);\n\t\tvar symbols;\n\n\t\tfor (var s = 1; s < arguments.length; s++) {\n\t\t\tfrom = Object(arguments[s]);\n\n\t\t\tfor (var key in from) {\n\t\t\t\tif (hasOwnProperty.call(from, key)) {\n\t\t\t\t\tto[key] = from[key];\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tif (Object.getOwnPropertySymbols) {\n\t\t\t\tsymbols = Object.getOwnPropertySymbols(from);\n\t\t\t\tfor (var i = 0; i < symbols.length; i++) {\n\t\t\t\t\tif (propIsEnumerable.call(from, symbols[i])) {\n\t\t\t\t\t\tto[symbols[i]] = from[symbols[i]];\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\treturn to;\n\t};\n\t});\n\n\tvar objectAssign = (index && typeof index === 'object' && 'default' in index ? index['default'] : index);\n\n\tfunction _stripInsignificantZeros(str, decimal) {\n\t var parts = str.split(decimal);\n\t var integerPart = parts[0];\n\t var decimalPart = parts[1].replace(/0+$/, '');\n\n\t if (decimalPart.length > 0) {\n\t return integerPart + decimal + decimalPart;\n\t }\n\n\t return integerPart;\n\t}\n\n\t/**\n\t * Format a number, with comma-separated thousands and custom precision/decimal places\n\t * Alias: `accounting.format()`\n\t *\n\t * Localise by overriding the precision and thousand / decimal separators\n\t *\n\t * ```js\n\t * accounting.formatNumber(5318008); // 5,318,008\n\t * accounting.formatNumber(9876543.21, { precision: 3, thousand: \" \" }); // 9 876 543.210\n\t * ```\n\t *\n\t * @method formatNumber\n\t * @for accounting\n\t * @param {Number} number The number to be formatted.\n\t * @param {Object} [opts={}] Object containing all the options of the method.\n\t * @return {String} The given number properly formatted.\n\t */\n\tfunction formatNumber(number) {\n\t var opts = arguments.length <= 1 || arguments[1] === undefined ? {} : arguments[1];\n\n\t // Resursively format arrays:\n\t if (Array.isArray(number)) {\n\t return number.map(function (val) {\n\t return formatNumber(val, opts);\n\t });\n\t }\n\n\t // Build options object from second param (if object) or all params, extending defaults:\n\t opts = objectAssign({}, settings, opts);\n\n\t // Do some calc:\n\t var negative = number < 0 ? '-' : '';\n\t var base = parseInt(toFixed(Math.abs(number), opts.precision), 10) + '';\n\t var mod = base.length > 3 ? base.length % 3 : 0;\n\n\t // Format the number:\n\t var formatted = negative + (mod ? base.substr(0, mod) + opts.thousand : '') + base.substr(mod).replace(/(\\d{3})(?=\\d)/g, '$1' + opts.thousand) + (opts.precision > 0 ? opts.decimal + toFixed(Math.abs(number), opts.precision).split('.')[1] : '');\n\n\t return opts.stripZeros ? _stripInsignificantZeros(formatted, opts.decimal) : formatted;\n\t}\n\n\tvar index$1 = __commonjs(function (module) {\n\t'use strict';\n\n\tvar strValue = String.prototype.valueOf;\n\tvar tryStringObject = function tryStringObject(value) {\n\t\ttry {\n\t\t\tstrValue.call(value);\n\t\t\treturn true;\n\t\t} catch (e) {\n\t\t\treturn false;\n\t\t}\n\t};\n\tvar toStr = Object.prototype.toString;\n\tvar strClass = '[object String]';\n\tvar hasToStringTag = typeof Symbol === 'function' && typeof Symbol.toStringTag === 'symbol';\n\n\tmodule.exports = function isString(value) {\n\t\tif (typeof value === 'string') { return true; }\n\t\tif (typeof value !== 'object') { return false; }\n\t\treturn hasToStringTag ? tryStringObject(value) : toStr.call(value) === strClass;\n\t};\n\t});\n\n\tvar isString = (index$1 && typeof index$1 === 'object' && 'default' in index$1 ? index$1['default'] : index$1);\n\n\t/**\n\t * Parses a format string or object and returns format obj for use in rendering\n\t *\n\t * `format` is either a string with the default (positive) format, or object\n\t * containing `pos` (required), `neg` and `zero` values\n\t *\n\t * Either string or format.pos must contain \"%v\" (value) to be valid\n\t *\n\t * @method _checkCurrencyFormat\n\t * @for accounting\n\t * @param {String} [format=\"%s%v\"] String with the format to apply, where %s is the currency symbol and %v is the value.\n\t * @return {Object} object represnting format (with pos, neg and zero attributes)\n\t */\n\tfunction _checkCurrencyFormat(format) {\n\t // Format should be a string, in which case `value` ('%v') must be present:\n\t if (isString(format) && format.match('%v')) {\n\t // Create and return positive, negative and zero formats:\n\t return {\n\t pos: format,\n\t neg: format.replace('-', '').replace('%v', '-%v'),\n\t zero: format\n\t };\n\t }\n\n\t // Otherwise, assume format was fine:\n\t return format;\n\t}\n\n\t/**\n\t * Format a number into currency\n\t *\n\t * Usage: accounting.formatMoney(number, symbol, precision, thousandsSep, decimalSep, format)\n\t * defaults: (0, '$', 2, ',', '.', '%s%v')\n\t *\n\t * Localise by overriding the symbol, precision, thousand / decimal separators and format\n\t *\n\t * ```js\n\t * // Default usage:\n\t * accounting.formatMoney(12345678); // $12,345,678.00\n\t *\n\t * // European formatting (custom symbol and separators), can also use options object as second parameter:\n\t * accounting.formatMoney(4999.99, { symbol: \"€\", precision: 2, thousand: \".\", decimal: \",\" }); // €4.999,99\n\t *\n\t * // Negative values can be formatted nicely:\n\t * accounting.formatMoney(-500000, { symbol: \"£ \", precision: 0 }); // £ -500,000\n\t *\n\t * // Simple `format` string allows control of symbol position (%v = value, %s = symbol):\n\t * accounting.formatMoney(5318008, { symbol: \"GBP\", format: \"%v %s\" }); // 5,318,008.00 GBP\n\t * ```\n\t *\n\t * @method formatMoney\n\t * @for accounting\n\t * @param {Number} number Number to be formatted.\n\t * @param {Object} [opts={}] Object containing all the options of the method.\n\t * @return {String} The given number properly formatted as money.\n\t */\n\tfunction formatMoney(number) {\n\t var opts = arguments.length <= 1 || arguments[1] === undefined ? {} : arguments[1];\n\n\t // Resursively format arrays:\n\t if (Array.isArray(number)) {\n\t return number.map(function (val) {\n\t return formatMoney(val, opts);\n\t });\n\t }\n\n\t // Build options object from second param (if object) or all params, extending defaults:\n\t opts = objectAssign({}, settings, opts);\n\n\t // Check format (returns object with pos, neg and zero):\n\t var formats = _checkCurrencyFormat(opts.format);\n\n\t // Choose which format to use for this value:\n\t var useFormat = undefined;\n\n\t if (number > 0) {\n\t useFormat = formats.pos;\n\t } else if (number < 0) {\n\t useFormat = formats.neg;\n\t } else {\n\t useFormat = formats.zero;\n\t }\n\n\t // Return with currency symbol added:\n\t return useFormat.replace('%s', opts.symbol).replace('%v', formatNumber(Math.abs(number), opts));\n\t}\n\n\t/**\n\t * Format a list of numbers into an accounting column, padding with whitespace\n\t * to line up currency symbols, thousand separators and decimals places\n\t *\n\t * List should be an array of numbers\n\t *\n\t * Returns array of accouting-formatted number strings of same length\n\t *\n\t * NB: `white-space:pre` CSS rule is required on the list container to prevent\n\t * browsers from collapsing the whitespace in the output strings.\n\t *\n\t * ```js\n\t * accounting.formatColumn([123.5, 3456.49, 777888.99, 12345678, -5432], { symbol: \"$ \" });\n\t * ```\n\t *\n\t * @method formatColumn\n\t * @for accounting\n\t * @param {Array} list An array of numbers to format\n\t * @param {Object} [opts={}] Object containing all the options of the method.\n\t * @param {Object|String} [symbol=\"$\"] String with the currency symbol. For conveniency if can be an object containing all the options of the method.\n\t * @param {Integer} [precision=2] Number of decimal digits\n\t * @param {String} [thousand=','] String with the thousands separator.\n\t * @param {String} [decimal=\".\"] String with the decimal separator.\n\t * @param {String} [format=\"%s%v\"] String with the format to apply, where %s is the currency symbol and %v is the value.\n\t * @return {Array} array of accouting-formatted number strings of same length\n\t */\n\tfunction formatColumn(list) {\n\t var opts = arguments.length <= 1 || arguments[1] === undefined ? {} : arguments[1];\n\n\t if (!list) return [];\n\n\t // Build options object from second param (if object) or all params, extending defaults:\n\t opts = objectAssign({}, settings, opts);\n\n\t // Check format (returns object with pos, neg and zero), only need pos for now:\n\t var formats = _checkCurrencyFormat(opts.format);\n\n\t // Whether to pad at start of string or after currency symbol:\n\t var padAfterSymbol = formats.pos.indexOf('%s') < formats.pos.indexOf('%v');\n\n\t // Store value for the length of the longest string in the column:\n\t var maxLength = 0;\n\n\t // Format the list according to options, store the length of the longest string:\n\t var formatted = list.map(function (val) {\n\t if (Array.isArray(val)) {\n\t // Recursively format columns if list is a multi-dimensional array:\n\t return formatColumn(val, opts);\n\t }\n\t // Clean up the value\n\t val = unformat(val, opts.decimal);\n\n\t // Choose which format to use for this value (pos, neg or zero):\n\t var useFormat = undefined;\n\n\t if (val > 0) {\n\t useFormat = formats.pos;\n\t } else if (val < 0) {\n\t useFormat = formats.neg;\n\t } else {\n\t useFormat = formats.zero;\n\t }\n\n\t // Format this value, push into formatted list and save the length:\n\t var fVal = useFormat.replace('%s', opts.symbol).replace('%v', formatNumber(Math.abs(val), opts));\n\n\t if (fVal.length > maxLength) {\n\t maxLength = fVal.length;\n\t }\n\n\t return fVal;\n\t });\n\n\t // Pad each number in the list and send back the column of numbers:\n\t return formatted.map(function (val) {\n\t // Only if this is a string (not a nested array, which would have already been padded):\n\t if (isString(val) && val.length < maxLength) {\n\t // Depending on symbol position, pad after symbol or at index 0:\n\t return padAfterSymbol ? val.replace(opts.symbol, opts.symbol + new Array(maxLength - val.length + 1).join(' ')) : new Array(maxLength - val.length + 1).join(' ') + val;\n\t }\n\t return val;\n\t });\n\t}\n\n\texports.settings = settings;\n\texports.unformat = unformat;\n\texports.toFixed = toFixed;\n\texports.formatMoney = formatMoney;\n\texports.formatNumber = formatNumber;\n\texports.formatColumn = formatColumn;\n\texports.format = formatMoney;\n\texports.parse = unformat;\n\n}));\n//# sourceMappingURL=accounting.umd.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/accounting-js/dist/accounting.umd.js\n// module id = U0Mp\n// module chunks = 0 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52","// style-loader: Adds some css to the DOM by adding a \r\n\n\n\n// WEBPACK FOOTER //\n// resources/assets/js/components/enso/vuedatatable/Overlay.vue","var normalizeComponent = require(\"!../../../../../../node_modules/vue-loader/lib/component-normalizer\")\n/* script */\nvar __vue_script__ = require(\"!!babel-loader?{\\\"cacheDirectory\\\":true,\\\"presets\\\":[[\\\"env\\\",{\\\"modules\\\":false,\\\"targets\\\":{\\\"browsers\\\":[\\\"> 2%\\\"],\\\"uglify\\\":true}}]],\\\"plugins\\\":[\\\"transform-object-rest-spread\\\",[\\\"transform-runtime\\\",{\\\"polyfill\\\":false,\\\"helpers\\\":false}],\\\"transform-object-rest-spread\\\",\\\"syntax-dynamic-import\\\"]}!../../../../../../node_modules/vue-loader/lib/selector?type=script&index=0!./Money.vue\")\n/* template */\nvar __vue_template__ = require(\"!!../../../../../../node_modules/vue-loader/lib/template-compiler/index?{\\\"id\\\":\\\"data-v-3bd853fc\\\",\\\"hasScoped\\\":false,\\\"buble\\\":{\\\"transforms\\\":{}}}!../../../../../../node_modules/vue-loader/lib/selector?type=template&index=0!./Money.vue\")\n/* template functional */\nvar __vue_template_functional__ = false\n/* styles */\nvar __vue_styles__ = null\n/* scopeId */\nvar __vue_scopeId__ = null\n/* moduleIdentifier (server only) */\nvar __vue_module_identifier__ = null\nvar Component = normalizeComponent(\n __vue_script__,\n __vue_template__,\n __vue_template_functional__,\n __vue_styles__,\n __vue_scopeId__,\n __vue_module_identifier__\n)\n\nmodule.exports = Component.exports\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./resources/assets/js/components/enso/vueforms/Money.vue\n// module id = a/bG\n// module chunks = 3 4 5 6 7 8 9 10 11 12 13 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52","import { Romanian } from 'flatpickr/dist/l10n/ro';\nimport { english } from 'flatpickr/dist/l10n/default';\nimport { German } from 'flatpickr/dist/l10n/de';\nimport { Dutch } from 'flatpickr/dist/l10n/nl';\nimport { French } from 'flatpickr/dist/l10n/fr';\nimport { Portuguese } from 'flatpickr/dist/l10n/pt';\nimport { Arabic } from 'flatpickr/dist/l10n/ar';\nimport { Mongolian } from 'flatpickr/dist/l10n/mn';\nimport { Hungarian } from 'flatpickr/dist/l10n/hu';\n\nexport default {\n ro: Romanian,\n en: english,\n de: German,\n nl: Dutch,\n fr: French,\n br: Portuguese,\n ar: Arabic,\n mn: Mongolian,\n hu: Hungarian,\n};\n\n\n\n// WEBPACK FOOTER //\n// ./resources/assets/js/components/enso/vueforms/flatpickrLocale.js","\r\n\r\n
\r\n \r\n\r\n\r\n\r\n\r\n\r\n\r\n\n\n\n// WEBPACK FOOTER //\n// resources/assets/js/components/enso/vuedatatable/TableFooter.vue","(function (global, factory) {\n\ttypeof exports === 'object' && typeof module !== 'undefined' ? factory(exports) :\n\ttypeof define === 'function' && define.amd ? define(['exports'], factory) :\n\t(factory((global.accounting = global.accounting || {})));\n}(this, function (exports) { 'use strict';\n\n\tfunction __commonjs(fn, module) { return module = { exports: {} }, fn(module, module.exports), module.exports; }\n\n\t/**\n\t * The library's settings configuration object.\n\t *\n\t * Contains default parameters for currency and number formatting\n\t */\n\tvar settings = {\n\t symbol: '$', // default currency symbol is '$'\n\t format: '%s%v', // controls output: %s = symbol, %v = value (can be object, see docs)\n\t decimal: '.', // decimal point separator\n\t thousand: ',', // thousands separator\n\t precision: 2, // decimal places\n\t grouping: 3, // digit grouping (not implemented yet)\n\t stripZeros: false, // strip insignificant zeros from decimal part\n\t fallback: 0 // value returned on unformat() failure\n\t};\n\n\t/**\n\t * Takes a string/array of strings, removes all formatting/cruft and returns the raw float value\n\t * Alias: `accounting.parse(string)`\n\t *\n\t * Decimal must be included in the regular expression to match floats (defaults to\n\t * accounting.settings.decimal), so if the number uses a non-standard decimal\n\t * separator, provide it as the second argument.\n\t *\n\t * Also matches bracketed negatives (eg. '$ (1.99)' => -1.99)\n\t *\n\t * Doesn't throw any errors (`NaN`s become 0) but this may change in future\n\t *\n\t * ```js\n\t * accounting.unformat(\"£ 12,345,678.90 GBP\"); // 12345678.9\n\t * ```\n\t *\n\t * @method unformat\n\t * @for accounting\n\t * @param {String|Array} value The string or array of strings containing the number/s to parse.\n\t * @param {Number} decimal Number of decimal digits of the resultant number\n\t * @return {Float} The parsed number\n\t */\n\tfunction unformat(value) {\n\t var decimal = arguments.length <= 1 || arguments[1] === undefined ? settings.decimal : arguments[1];\n\t var fallback = arguments.length <= 2 || arguments[2] === undefined ? settings.fallback : arguments[2];\n\n\t // Recursively unformat arrays:\n\t if (Array.isArray(value)) {\n\t return value.map(function (val) {\n\t return unformat(val, decimal, fallback);\n\t });\n\t }\n\n\t // Return the value as-is if it's already a number:\n\t if (typeof value === 'number') return value;\n\n\t // Build regex to strip out everything except digits, decimal point and minus sign:\n\t var regex = new RegExp('[^0-9-(-)-' + decimal + ']', ['g']);\n\t var unformattedValueString = ('' + value).replace(regex, '') // strip out any cruft\n\t .replace(decimal, '.') // make sure decimal point is standard\n\t .replace(/\\(([-]*\\d*[^)]?\\d+)\\)/g, '-$1') // replace bracketed values with negatives\n\t .replace(/\\((.*)\\)/, ''); // remove any brackets that do not have numeric value\n\n\t /**\n\t * Handling -ve number and bracket, eg.\n\t * (-100) = 100, -(100) = 100, --100 = 100\n\t */\n\t var negative = (unformattedValueString.match(/-/g) || 2).length % 2,\n\t absUnformatted = parseFloat(unformattedValueString.replace(/-/g, '')),\n\t unformatted = absUnformatted * (negative ? -1 : 1);\n\n\t // This will fail silently which may cause trouble, let's wait and see:\n\t return !isNaN(unformatted) ? unformatted : fallback;\n\t}\n\n\t/**\n\t * Check and normalise the value of precision (must be positive integer)\n\t */\n\tfunction _checkPrecision(val, base) {\n\t val = Math.round(Math.abs(val));\n\t return isNaN(val) ? base : val;\n\t}\n\n\t/**\n\t * Implementation of toFixed() that treats floats more like decimals\n\t *\n\t * Fixes binary rounding issues (eg. (0.615).toFixed(2) === '0.61') that present\n\t * problems for accounting- and finance-related software.\n\t *\n\t * ```js\n\t * (0.615).toFixed(2); // \"0.61\" (native toFixed has rounding issues)\n\t * accounting.toFixed(0.615, 2); // \"0.62\"\n\t * ```\n\t *\n\t * @method toFixed\n\t * @for accounting\n\t * @param {Float} value The float to be treated as a decimal number.\n\t * @param {Number} [precision=2] The number of decimal digits to keep.\n\t * @return {String} The given number transformed into a string with the given precission\n\t */\n\tfunction toFixed(value, precision) {\n\t precision = _checkPrecision(precision, settings.precision);\n\t var power = Math.pow(10, precision);\n\n\t // Multiply up by precision, round accurately, then divide and use native toFixed():\n\t return (Math.round((value + 1e-8) * power) / power).toFixed(precision);\n\t}\n\n\tvar index = __commonjs(function (module) {\n\t/* eslint-disable no-unused-vars */\n\t'use strict';\n\tvar hasOwnProperty = Object.prototype.hasOwnProperty;\n\tvar propIsEnumerable = Object.prototype.propertyIsEnumerable;\n\n\tfunction toObject(val) {\n\t\tif (val === null || val === undefined) {\n\t\t\tthrow new TypeError('Object.assign cannot be called with null or undefined');\n\t\t}\n\n\t\treturn Object(val);\n\t}\n\n\tmodule.exports = Object.assign || function (target, source) {\n\t\tvar from;\n\t\tvar to = toObject(target);\n\t\tvar symbols;\n\n\t\tfor (var s = 1; s < arguments.length; s++) {\n\t\t\tfrom = Object(arguments[s]);\n\n\t\t\tfor (var key in from) {\n\t\t\t\tif (hasOwnProperty.call(from, key)) {\n\t\t\t\t\tto[key] = from[key];\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tif (Object.getOwnPropertySymbols) {\n\t\t\t\tsymbols = Object.getOwnPropertySymbols(from);\n\t\t\t\tfor (var i = 0; i < symbols.length; i++) {\n\t\t\t\t\tif (propIsEnumerable.call(from, symbols[i])) {\n\t\t\t\t\t\tto[symbols[i]] = from[symbols[i]];\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\treturn to;\n\t};\n\t});\n\n\tvar objectAssign = (index && typeof index === 'object' && 'default' in index ? index['default'] : index);\n\n\tfunction _stripInsignificantZeros(str, decimal) {\n\t var parts = str.split(decimal);\n\t var integerPart = parts[0];\n\t var decimalPart = parts[1].replace(/0+$/, '');\n\n\t if (decimalPart.length > 0) {\n\t return integerPart + decimal + decimalPart;\n\t }\n\n\t return integerPart;\n\t}\n\n\t/**\n\t * Format a number, with comma-separated thousands and custom precision/decimal places\n\t * Alias: `accounting.format()`\n\t *\n\t * Localise by overriding the precision and thousand / decimal separators\n\t *\n\t * ```js\n\t * accounting.formatNumber(5318008); // 5,318,008\n\t * accounting.formatNumber(9876543.21, { precision: 3, thousand: \" \" }); // 9 876 543.210\n\t * ```\n\t *\n\t * @method formatNumber\n\t * @for accounting\n\t * @param {Number} number The number to be formatted.\n\t * @param {Object} [opts={}] Object containing all the options of the method.\n\t * @return {String} The given number properly formatted.\n\t */\n\tfunction formatNumber(number) {\n\t var opts = arguments.length <= 1 || arguments[1] === undefined ? {} : arguments[1];\n\n\t // Resursively format arrays:\n\t if (Array.isArray(number)) {\n\t return number.map(function (val) {\n\t return formatNumber(val, opts);\n\t });\n\t }\n\n\t // Build options object from second param (if object) or all params, extending defaults:\n\t opts = objectAssign({}, settings, opts);\n\n\t // Do some calc:\n\t var negative = number < 0 ? '-' : '';\n\t var base = parseInt(toFixed(Math.abs(number), opts.precision), 10) + '';\n\t var mod = base.length > 3 ? base.length % 3 : 0;\n\n\t // Format the number:\n\t var formatted = negative + (mod ? base.substr(0, mod) + opts.thousand : '') + base.substr(mod).replace(/(\\d{3})(?=\\d)/g, '$1' + opts.thousand) + (opts.precision > 0 ? opts.decimal + toFixed(Math.abs(number), opts.precision).split('.')[1] : '');\n\n\t return opts.stripZeros ? _stripInsignificantZeros(formatted, opts.decimal) : formatted;\n\t}\n\n\tvar index$1 = __commonjs(function (module) {\n\t'use strict';\n\n\tvar strValue = String.prototype.valueOf;\n\tvar tryStringObject = function tryStringObject(value) {\n\t\ttry {\n\t\t\tstrValue.call(value);\n\t\t\treturn true;\n\t\t} catch (e) {\n\t\t\treturn false;\n\t\t}\n\t};\n\tvar toStr = Object.prototype.toString;\n\tvar strClass = '[object String]';\n\tvar hasToStringTag = typeof Symbol === 'function' && typeof Symbol.toStringTag === 'symbol';\n\n\tmodule.exports = function isString(value) {\n\t\tif (typeof value === 'string') { return true; }\n\t\tif (typeof value !== 'object') { return false; }\n\t\treturn hasToStringTag ? tryStringObject(value) : toStr.call(value) === strClass;\n\t};\n\t});\n\n\tvar isString = (index$1 && typeof index$1 === 'object' && 'default' in index$1 ? index$1['default'] : index$1);\n\n\t/**\n\t * Parses a format string or object and returns format obj for use in rendering\n\t *\n\t * `format` is either a string with the default (positive) format, or object\n\t * containing `pos` (required), `neg` and `zero` values\n\t *\n\t * Either string or format.pos must contain \"%v\" (value) to be valid\n\t *\n\t * @method _checkCurrencyFormat\n\t * @for accounting\n\t * @param {String} [format=\"%s%v\"] String with the format to apply, where %s is the currency symbol and %v is the value.\n\t * @return {Object} object represnting format (with pos, neg and zero attributes)\n\t */\n\tfunction _checkCurrencyFormat(format) {\n\t // Format should be a string, in which case `value` ('%v') must be present:\n\t if (isString(format) && format.match('%v')) {\n\t // Create and return positive, negative and zero formats:\n\t return {\n\t pos: format,\n\t neg: format.replace('-', '').replace('%v', '-%v'),\n\t zero: format\n\t };\n\t }\n\n\t // Otherwise, assume format was fine:\n\t return format;\n\t}\n\n\t/**\n\t * Format a number into currency\n\t *\n\t * Usage: accounting.formatMoney(number, symbol, precision, thousandsSep, decimalSep, format)\n\t * defaults: (0, '$', 2, ',', '.', '%s%v')\n\t *\n\t * Localise by overriding the symbol, precision, thousand / decimal separators and format\n\t *\n\t * ```js\n\t * // Default usage:\n\t * accounting.formatMoney(12345678); // $12,345,678.00\n\t *\n\t * // European formatting (custom symbol and separators), can also use options object as second parameter:\n\t * accounting.formatMoney(4999.99, { symbol: \"€\", precision: 2, thousand: \".\", decimal: \",\" }); // €4.999,99\n\t *\n\t * // Negative values can be formatted nicely:\n\t * accounting.formatMoney(-500000, { symbol: \"£ \", precision: 0 }); // £ -500,000\n\t *\n\t * // Simple `format` string allows control of symbol position (%v = value, %s = symbol):\n\t * accounting.formatMoney(5318008, { symbol: \"GBP\", format: \"%v %s\" }); // 5,318,008.00 GBP\n\t * ```\n\t *\n\t * @method formatMoney\n\t * @for accounting\n\t * @param {Number} number Number to be formatted.\n\t * @param {Object} [opts={}] Object containing all the options of the method.\n\t * @return {String} The given number properly formatted as money.\n\t */\n\tfunction formatMoney(number) {\n\t var opts = arguments.length <= 1 || arguments[1] === undefined ? {} : arguments[1];\n\n\t // Resursively format arrays:\n\t if (Array.isArray(number)) {\n\t return number.map(function (val) {\n\t return formatMoney(val, opts);\n\t });\n\t }\n\n\t // Build options object from second param (if object) or all params, extending defaults:\n\t opts = objectAssign({}, settings, opts);\n\n\t // Check format (returns object with pos, neg and zero):\n\t var formats = _checkCurrencyFormat(opts.format);\n\n\t // Choose which format to use for this value:\n\t var useFormat = undefined;\n\n\t if (number > 0) {\n\t useFormat = formats.pos;\n\t } else if (number < 0) {\n\t useFormat = formats.neg;\n\t } else {\n\t useFormat = formats.zero;\n\t }\n\n\t // Return with currency symbol added:\n\t return useFormat.replace('%s', opts.symbol).replace('%v', formatNumber(Math.abs(number), opts));\n\t}\n\n\t/**\n\t * Format a list of numbers into an accounting column, padding with whitespace\n\t * to line up currency symbols, thousand separators and decimals places\n\t *\n\t * List should be an array of numbers\n\t *\n\t * Returns array of accouting-formatted number strings of same length\n\t *\n\t * NB: `white-space:pre` CSS rule is required on the list container to prevent\n\t * browsers from collapsing the whitespace in the output strings.\n\t *\n\t * ```js\n\t * accounting.formatColumn([123.5, 3456.49, 777888.99, 12345678, -5432], { symbol: \"$ \" });\n\t * ```\n\t *\n\t * @method formatColumn\n\t * @for accounting\n\t * @param {Array} list An array of numbers to format\n\t * @param {Object} [opts={}] Object containing all the options of the method.\n\t * @param {Object|String} [symbol=\"$\"] String with the currency symbol. For conveniency if can be an object containing all the options of the method.\n\t * @param {Integer} [precision=2] Number of decimal digits\n\t * @param {String} [thousand=','] String with the thousands separator.\n\t * @param {String} [decimal=\".\"] String with the decimal separator.\n\t * @param {String} [format=\"%s%v\"] String with the format to apply, where %s is the currency symbol and %v is the value.\n\t * @return {Array} array of accouting-formatted number strings of same length\n\t */\n\tfunction formatColumn(list) {\n\t var opts = arguments.length <= 1 || arguments[1] === undefined ? {} : arguments[1];\n\n\t if (!list) return [];\n\n\t // Build options object from second param (if object) or all params, extending defaults:\n\t opts = objectAssign({}, settings, opts);\n\n\t // Check format (returns object with pos, neg and zero), only need pos for now:\n\t var formats = _checkCurrencyFormat(opts.format);\n\n\t // Whether to pad at start of string or after currency symbol:\n\t var padAfterSymbol = formats.pos.indexOf('%s') < formats.pos.indexOf('%v');\n\n\t // Store value for the length of the longest string in the column:\n\t var maxLength = 0;\n\n\t // Format the list according to options, store the length of the longest string:\n\t var formatted = list.map(function (val) {\n\t if (Array.isArray(val)) {\n\t // Recursively format columns if list is a multi-dimensional array:\n\t return formatColumn(val, opts);\n\t }\n\t // Clean up the value\n\t val = unformat(val, opts.decimal);\n\n\t // Choose which format to use for this value (pos, neg or zero):\n\t var useFormat = undefined;\n\n\t if (val > 0) {\n\t useFormat = formats.pos;\n\t } else if (val < 0) {\n\t useFormat = formats.neg;\n\t } else {\n\t useFormat = formats.zero;\n\t }\n\n\t // Format this value, push into formatted list and save the length:\n\t var fVal = useFormat.replace('%s', opts.symbol).replace('%v', formatNumber(Math.abs(val), opts));\n\n\t if (fVal.length > maxLength) {\n\t maxLength = fVal.length;\n\t }\n\n\t return fVal;\n\t });\n\n\t // Pad each number in the list and send back the column of numbers:\n\t return formatted.map(function (val) {\n\t // Only if this is a string (not a nested array, which would have already been padded):\n\t if (isString(val) && val.length < maxLength) {\n\t // Depending on symbol position, pad after symbol or at index 0:\n\t return padAfterSymbol ? val.replace(opts.symbol, opts.symbol + new Array(maxLength - val.length + 1).join(' ')) : new Array(maxLength - val.length + 1).join(' ') + val;\n\t }\n\t return val;\n\t });\n\t}\n\n\texports.settings = settings;\n\texports.unformat = unformat;\n\texports.toFixed = toFixed;\n\texports.formatMoney = formatMoney;\n\texports.formatNumber = formatNumber;\n\texports.formatColumn = formatColumn;\n\texports.format = formatMoney;\n\texports.parse = unformat;\n\n}));\n//# sourceMappingURL=accounting.umd.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/accounting-js/dist/accounting.umd.js\n// module id = U0Mp\n// module chunks = 0 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52","// style-loader: Adds some css to the DOM by adding a \r\n\n\n\n// WEBPACK FOOTER //\n// resources/assets/js/components/enso/vuedatatable/Overlay.vue","var normalizeComponent = require(\"!../../../../../../node_modules/vue-loader/lib/component-normalizer\")\n/* script */\nvar __vue_script__ = require(\"!!babel-loader?{\\\"cacheDirectory\\\":true,\\\"presets\\\":[[\\\"env\\\",{\\\"modules\\\":false,\\\"targets\\\":{\\\"browsers\\\":[\\\"> 2%\\\"],\\\"uglify\\\":true}}]],\\\"plugins\\\":[\\\"transform-object-rest-spread\\\",[\\\"transform-runtime\\\",{\\\"polyfill\\\":false,\\\"helpers\\\":false}],\\\"transform-object-rest-spread\\\",\\\"syntax-dynamic-import\\\"]}!../../../../../../node_modules/vue-loader/lib/selector?type=script&index=0!./Money.vue\")\n/* template */\nvar __vue_template__ = require(\"!!../../../../../../node_modules/vue-loader/lib/template-compiler/index?{\\\"id\\\":\\\"data-v-3bd853fc\\\",\\\"hasScoped\\\":false,\\\"buble\\\":{\\\"transforms\\\":{}}}!../../../../../../node_modules/vue-loader/lib/selector?type=template&index=0!./Money.vue\")\n/* template functional */\nvar __vue_template_functional__ = false\n/* styles */\nvar __vue_styles__ = null\n/* scopeId */\nvar __vue_scopeId__ = null\n/* moduleIdentifier (server only) */\nvar __vue_module_identifier__ = null\nvar Component = normalizeComponent(\n __vue_script__,\n __vue_template__,\n __vue_template_functional__,\n __vue_styles__,\n __vue_scopeId__,\n __vue_module_identifier__\n)\n\nmodule.exports = Component.exports\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./resources/assets/js/components/enso/vueforms/Money.vue\n// module id = a/bG\n// module chunks = 3 4 5 6 7 8 9 10 11 12 13 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52","import { Romanian } from 'flatpickr/dist/l10n/ro';\nimport { english } from 'flatpickr/dist/l10n/default';\nimport { German } from 'flatpickr/dist/l10n/de';\nimport { Dutch } from 'flatpickr/dist/l10n/nl';\nimport { French } from 'flatpickr/dist/l10n/fr';\nimport { Portuguese } from 'flatpickr/dist/l10n/pt';\nimport { Arabic } from 'flatpickr/dist/l10n/ar';\nimport { Mongolian } from 'flatpickr/dist/l10n/mn';\nimport { Hungarian } from 'flatpickr/dist/l10n/hu';\n\nexport default {\n ro: Romanian,\n en: english,\n de: German,\n nl: Dutch,\n fr: French,\n br: Portuguese,\n ar: Arabic,\n mn: Mongolian,\n hu: Hungarian,\n};\n\n\n\n// WEBPACK FOOTER //\n// ./resources/assets/js/components/enso/vueforms/flatpickrLocale.js","\r\n\r\n
\r\n\r\n\r\n\r\n\r\n\n\n\n// WEBPACK FOOTER //\n// resources/assets/js/components/enso/bulma/Paginate.vue","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{directives:[{name:\"click-outside\",rawName:\"v-click-outside\",value:(_vm.hide),expression:\"hide\"}],staticClass:\"dropdown is-active\"},[_c('div',{staticClass:\"dropdown-trigger\",on:{\"click\":function($event){_vm.show=!_vm.show}}},[_c('button',{staticClass:\"button\"},[_vm._t(\"label\"),_vm._v(\" \"),_c('span',{staticClass:\"icon is-small angle\",attrs:{\"aria-hidden\":!_vm.show}},[_c('fa',{attrs:{\"icon\":\"angle-down\"}})],1)],2)]),_vm._v(\" \"),_c('transition',{attrs:{\"appear\":\"\",\"enter-active-class\":\"fadeIn\",\"leave-active-class\":\"fadeOut\"}},[(_vm.show)?_c('div',{staticClass:\"animated dropdown-menu menu-list\",style:(_vm.widthStyle)},[_c('div',{staticClass:\"dropdown-content has-text-centered\",style:([_vm.widthStyle, _vm.heightStyle])},[_vm._t(\"default\")],2)]):_vm._e()])],1)}\nvar staticRenderFns = []\nmodule.exports = { render: render, staticRenderFns: staticRenderFns }\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/vue-loader/lib/template-compiler?{\"id\":\"data-v-7d846c53\",\"hasScoped\":true,\"buble\":{\"transforms\":{}}}!./node_modules/vue-loader/lib/selector.js?type=template&index=0!./resources/assets/js/components/enso/vuedatatable/topControls/Dropdown.vue\n// module id = SZrs\n// module chunks = 0 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{directives:[{name:\"click-outside\",rawName:\"v-click-outside\",value:(_vm.hideDropdown),expression:\"hideDropdown\"}],class:['dropdown', { 'is-active': _vm.dropdown }]},[_c('div',{class:['dropdown-trigger', { 'is-danger': _vm.hasError }]},[_c('div',{staticClass:\"button\",attrs:{\"tabindex\":\"0\",\"disabled\":_vm.disabled},on:{\"click\":_vm.showDropdown,\"focus\":_vm.showDropdown}},[_c('div',{staticClass:\"select-value\"},[(_vm.multiple)?_c('span',_vm._l((_vm.selected),function(option,index){return _c('tag',{key:index,attrs:{\"label\":option[_vm.label]},on:{\"remove\":function($event){_vm.remove(option[_vm.trackBy])}}})})):_vm._e(),_vm._v(\" \"),(!_vm.dropdown && !(_vm.multiple && _vm.hasSelection))?_c('span',[_vm._v(\"\\n \"+_vm._s(_vm.hasSelection\n ? _vm.selected\n : (_vm.optionList.length > 0 ? _vm.i18n(_vm.placeholder) : _vm.i18n(_vm.labels.noOptions)))+\"\\n \")]):_vm._e(),_vm._v(\" \"),(_vm.dropdown)?_c('input',{directives:[{name:\"focus\",rawName:\"v-focus\"},{name:\"model\",rawName:\"v-model\",value:(_vm.query),expression:\"query\"}],staticClass:\"input select-input\",attrs:{\"type\":\"text\",\"placeholder\":_vm.i18n(_vm.placeholder)},domProps:{\"value\":(_vm.query)},on:{\"input\":[function($event){if($event.target.composing){ return; }_vm.query=$event.target.value},function($event){_vm.getData()}],\"keydown\":[function($event){if(!('button' in $event)&&_vm._k($event.keyCode,\"esc\",27,$event.key,\"Escape\")){ return null; }return _vm.hideDropdown($event)},function($event){if(!('button' in $event)&&_vm._k($event.keyCode,\"down\",40,$event.key,[\"Down\",\"ArrowDown\"])){ return null; }return _vm.keyDown($event)},function($event){if(!('button' in $event)&&_vm._k($event.keyCode,\"up\",38,$event.key,[\"Up\",\"ArrowUp\"])){ return null; }return _vm.keyUp($event)},function($event){if(!('button' in $event)&&_vm._k($event.keyCode,\"tab\",9,$event.key,\"Tab\")){ return null; }return _vm.hideDropdown($event)},function($event){if(!('button' in $event)&&_vm._k($event.keyCode,\"enter\",13,$event.key,\"Enter\")){ return null; }$event.preventDefault();_vm.hit()}]}}):_vm._e(),_vm._v(\" \"),(_vm.loading)?_c('span',{staticClass:\"is-loading\"}):_vm._e(),_vm._v(\" \"),(!_vm.disableClear && !_vm.loading && _vm.hasSelection && !_vm.disabled)?_c('a',{staticClass:\"delete is-small\",on:{\"mousedown\":function($event){$event.preventDefault();if($event.target !== $event.currentTarget){ return null; }return _vm.clear($event)}}}):_vm._e(),_vm._v(\" \"),_c('span',{staticClass:\"icon is-small angle\",attrs:{\"aria-hidden\":_vm.dropdown}},[_c('fa',{attrs:{\"icon\":\"angle-up\"}})],1)])])]),_vm._v(\" \"),_c('div',{staticClass:\"dropdown-menu\",attrs:{\"id\":\"dropdown-menu\",\"role\":\"menu\"}},[_c('div',{staticClass:\"dropdown-content\"},[_vm._l((_vm.filteredOptions),function(option,index){return _c('a',{key:index,staticClass:\"dropdown-item\",class:{ 'is-active': _vm.position === index },on:{\"mousemove\":function($event){_vm.position = index},\"click\":function($event){$event.preventDefault();_vm.hit()}}},[_c('span',{domProps:{\"innerHTML\":_vm._s(_vm.highlight(option[_vm.label]))}}),_vm._v(\" \"),(index === _vm.position)?_c('span',{class:[\n 'label tag', _vm.isSelected(option) ? 'is-warning' : 'is-success'\n ]},[(_vm.isSelected(option))?_c('span',[_vm._v(_vm._s(_vm.i18n(_vm.labels.deselect)))]):_c('span',[_vm._v(_vm._s(_vm.i18n(_vm.labels.select)))])]):(_vm.isSelected(option))?_c('span',{staticClass:\"icon is-small selected has-text-success\"},[_c('fa',{attrs:{\"icon\":\"check\"}})],1):_vm._e()])}),_vm._v(\" \"),(_vm.filteredOptions.length === 0)?_c('a',{staticClass:\"dropdown-item\",on:{\"click\":function($event){_vm.taggable ? _vm.$emit('add-tag', _vm.query) : null}}},[_vm._v(\"\\n \"+_vm._s(_vm.i18n(_vm.labels.noResults))+\"\\n \"),(_vm.taggable)?_c('span',{staticClass:\"label tag is-info\"},[_vm._v(\"\\n \"+_vm._s(_vm.i18n(_vm.labels.addTag))+\"\\n \")]):_vm._e()]):_vm._e()],2)])])}\nvar staticRenderFns = []\nmodule.exports = { render: render, staticRenderFns: staticRenderFns }\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/vue-loader/lib/template-compiler?{\"id\":\"data-v-506b08aa\",\"hasScoped\":true,\"buble\":{\"transforms\":{}}}!./node_modules/vue-loader/lib/selector.js?type=template&index=0!./resources/assets/js/components/enso/select/VueSelect.vue\n// module id = SwVz\n// module chunks = 0 3 4 5 6 7 8 9 10 11 12 13 14 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 59","// style-loader: Adds some css to the DOM by adding a \r\n\n\n\n// WEBPACK FOOTER //\n// resources/assets/js/components/enso/vuedatatable/TableFooter.vue","exports = module.exports = require(\"../../../../../../node_modules/css-loader/lib/css-base.js\")(false);\n// imports\n\n\n// module\nexports.push([module.id, \".card-header-title[data-v-41d96d68]{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.card-content[data-v-41d96d68]{-webkit-transition:max-height .4s ease;transition:max-height .4s ease}.icon.angle[aria-hidden=true][data-v-41d96d68]{-webkit-transform:rotate(180deg);transform:rotate(180deg)}.icon.angle[data-v-41d96d68]{-webkit-transition:-webkit-transform .3s ease;transition:-webkit-transform .3s ease;transition:transform .3s ease;transition:transform .3s ease,-webkit-transform .3s ease}\", \"\"]);\n\n// exports\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/css-loader?minimize!./node_modules/vue-loader/lib/style-compiler?{\"vue\":true,\"id\":\"data-v-41d96d68\",\"scoped\":true,\"hasInlineConfig\":true}!./node_modules/vue-loader/lib/selector.js?type=styles&index=0!./resources/assets/js/components/enso/bulma/Card.vue\n// module id = TdTz\n// module chunks = 1 3 4 5 6 7 8 9 10 11 14 53 57 60","(function (global, factory) {\n\ttypeof exports === 'object' && typeof module !== 'undefined' ? factory(exports) :\n\ttypeof define === 'function' && define.amd ? define(['exports'], factory) :\n\t(factory((global.accounting = global.accounting || {})));\n}(this, function (exports) { 'use strict';\n\n\tfunction __commonjs(fn, module) { return module = { exports: {} }, fn(module, module.exports), module.exports; }\n\n\t/**\n\t * The library's settings configuration object.\n\t *\n\t * Contains default parameters for currency and number formatting\n\t */\n\tvar settings = {\n\t symbol: '$', // default currency symbol is '$'\n\t format: '%s%v', // controls output: %s = symbol, %v = value (can be object, see docs)\n\t decimal: '.', // decimal point separator\n\t thousand: ',', // thousands separator\n\t precision: 2, // decimal places\n\t grouping: 3, // digit grouping (not implemented yet)\n\t stripZeros: false, // strip insignificant zeros from decimal part\n\t fallback: 0 // value returned on unformat() failure\n\t};\n\n\t/**\n\t * Takes a string/array of strings, removes all formatting/cruft and returns the raw float value\n\t * Alias: `accounting.parse(string)`\n\t *\n\t * Decimal must be included in the regular expression to match floats (defaults to\n\t * accounting.settings.decimal), so if the number uses a non-standard decimal\n\t * separator, provide it as the second argument.\n\t *\n\t * Also matches bracketed negatives (eg. '$ (1.99)' => -1.99)\n\t *\n\t * Doesn't throw any errors (`NaN`s become 0) but this may change in future\n\t *\n\t * ```js\n\t * accounting.unformat(\"£ 12,345,678.90 GBP\"); // 12345678.9\n\t * ```\n\t *\n\t * @method unformat\n\t * @for accounting\n\t * @param {String|Array} value The string or array of strings containing the number/s to parse.\n\t * @param {Number} decimal Number of decimal digits of the resultant number\n\t * @return {Float} The parsed number\n\t */\n\tfunction unformat(value) {\n\t var decimal = arguments.length <= 1 || arguments[1] === undefined ? settings.decimal : arguments[1];\n\t var fallback = arguments.length <= 2 || arguments[2] === undefined ? settings.fallback : arguments[2];\n\n\t // Recursively unformat arrays:\n\t if (Array.isArray(value)) {\n\t return value.map(function (val) {\n\t return unformat(val, decimal, fallback);\n\t });\n\t }\n\n\t // Return the value as-is if it's already a number:\n\t if (typeof value === 'number') return value;\n\n\t // Build regex to strip out everything except digits, decimal point and minus sign:\n\t var regex = new RegExp('[^0-9-(-)-' + decimal + ']', ['g']);\n\t var unformattedValueString = ('' + value).replace(regex, '') // strip out any cruft\n\t .replace(decimal, '.') // make sure decimal point is standard\n\t .replace(/\\(([-]*\\d*[^)]?\\d+)\\)/g, '-$1') // replace bracketed values with negatives\n\t .replace(/\\((.*)\\)/, ''); // remove any brackets that do not have numeric value\n\n\t /**\n\t * Handling -ve number and bracket, eg.\n\t * (-100) = 100, -(100) = 100, --100 = 100\n\t */\n\t var negative = (unformattedValueString.match(/-/g) || 2).length % 2,\n\t absUnformatted = parseFloat(unformattedValueString.replace(/-/g, '')),\n\t unformatted = absUnformatted * (negative ? -1 : 1);\n\n\t // This will fail silently which may cause trouble, let's wait and see:\n\t return !isNaN(unformatted) ? unformatted : fallback;\n\t}\n\n\t/**\n\t * Check and normalise the value of precision (must be positive integer)\n\t */\n\tfunction _checkPrecision(val, base) {\n\t val = Math.round(Math.abs(val));\n\t return isNaN(val) ? base : val;\n\t}\n\n\t/**\n\t * Implementation of toFixed() that treats floats more like decimals\n\t *\n\t * Fixes binary rounding issues (eg. (0.615).toFixed(2) === '0.61') that present\n\t * problems for accounting- and finance-related software.\n\t *\n\t * ```js\n\t * (0.615).toFixed(2); // \"0.61\" (native toFixed has rounding issues)\n\t * accounting.toFixed(0.615, 2); // \"0.62\"\n\t * ```\n\t *\n\t * @method toFixed\n\t * @for accounting\n\t * @param {Float} value The float to be treated as a decimal number.\n\t * @param {Number} [precision=2] The number of decimal digits to keep.\n\t * @return {String} The given number transformed into a string with the given precission\n\t */\n\tfunction toFixed(value, precision) {\n\t precision = _checkPrecision(precision, settings.precision);\n\t var power = Math.pow(10, precision);\n\n\t // Multiply up by precision, round accurately, then divide and use native toFixed():\n\t return (Math.round((value + 1e-8) * power) / power).toFixed(precision);\n\t}\n\n\tvar index = __commonjs(function (module) {\n\t/* eslint-disable no-unused-vars */\n\t'use strict';\n\tvar hasOwnProperty = Object.prototype.hasOwnProperty;\n\tvar propIsEnumerable = Object.prototype.propertyIsEnumerable;\n\n\tfunction toObject(val) {\n\t\tif (val === null || val === undefined) {\n\t\t\tthrow new TypeError('Object.assign cannot be called with null or undefined');\n\t\t}\n\n\t\treturn Object(val);\n\t}\n\n\tmodule.exports = Object.assign || function (target, source) {\n\t\tvar from;\n\t\tvar to = toObject(target);\n\t\tvar symbols;\n\n\t\tfor (var s = 1; s < arguments.length; s++) {\n\t\t\tfrom = Object(arguments[s]);\n\n\t\t\tfor (var key in from) {\n\t\t\t\tif (hasOwnProperty.call(from, key)) {\n\t\t\t\t\tto[key] = from[key];\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tif (Object.getOwnPropertySymbols) {\n\t\t\t\tsymbols = Object.getOwnPropertySymbols(from);\n\t\t\t\tfor (var i = 0; i < symbols.length; i++) {\n\t\t\t\t\tif (propIsEnumerable.call(from, symbols[i])) {\n\t\t\t\t\t\tto[symbols[i]] = from[symbols[i]];\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\treturn to;\n\t};\n\t});\n\n\tvar objectAssign = (index && typeof index === 'object' && 'default' in index ? index['default'] : index);\n\n\tfunction _stripInsignificantZeros(str, decimal) {\n\t var parts = str.split(decimal);\n\t var integerPart = parts[0];\n\t var decimalPart = parts[1].replace(/0+$/, '');\n\n\t if (decimalPart.length > 0) {\n\t return integerPart + decimal + decimalPart;\n\t }\n\n\t return integerPart;\n\t}\n\n\t/**\n\t * Format a number, with comma-separated thousands and custom precision/decimal places\n\t * Alias: `accounting.format()`\n\t *\n\t * Localise by overriding the precision and thousand / decimal separators\n\t *\n\t * ```js\n\t * accounting.formatNumber(5318008); // 5,318,008\n\t * accounting.formatNumber(9876543.21, { precision: 3, thousand: \" \" }); // 9 876 543.210\n\t * ```\n\t *\n\t * @method formatNumber\n\t * @for accounting\n\t * @param {Number} number The number to be formatted.\n\t * @param {Object} [opts={}] Object containing all the options of the method.\n\t * @return {String} The given number properly formatted.\n\t */\n\tfunction formatNumber(number) {\n\t var opts = arguments.length <= 1 || arguments[1] === undefined ? {} : arguments[1];\n\n\t // Resursively format arrays:\n\t if (Array.isArray(number)) {\n\t return number.map(function (val) {\n\t return formatNumber(val, opts);\n\t });\n\t }\n\n\t // Build options object from second param (if object) or all params, extending defaults:\n\t opts = objectAssign({}, settings, opts);\n\n\t // Do some calc:\n\t var negative = number < 0 ? '-' : '';\n\t var base = parseInt(toFixed(Math.abs(number), opts.precision), 10) + '';\n\t var mod = base.length > 3 ? base.length % 3 : 0;\n\n\t // Format the number:\n\t var formatted = negative + (mod ? base.substr(0, mod) + opts.thousand : '') + base.substr(mod).replace(/(\\d{3})(?=\\d)/g, '$1' + opts.thousand) + (opts.precision > 0 ? opts.decimal + toFixed(Math.abs(number), opts.precision).split('.')[1] : '');\n\n\t return opts.stripZeros ? _stripInsignificantZeros(formatted, opts.decimal) : formatted;\n\t}\n\n\tvar index$1 = __commonjs(function (module) {\n\t'use strict';\n\n\tvar strValue = String.prototype.valueOf;\n\tvar tryStringObject = function tryStringObject(value) {\n\t\ttry {\n\t\t\tstrValue.call(value);\n\t\t\treturn true;\n\t\t} catch (e) {\n\t\t\treturn false;\n\t\t}\n\t};\n\tvar toStr = Object.prototype.toString;\n\tvar strClass = '[object String]';\n\tvar hasToStringTag = typeof Symbol === 'function' && typeof Symbol.toStringTag === 'symbol';\n\n\tmodule.exports = function isString(value) {\n\t\tif (typeof value === 'string') { return true; }\n\t\tif (typeof value !== 'object') { return false; }\n\t\treturn hasToStringTag ? tryStringObject(value) : toStr.call(value) === strClass;\n\t};\n\t});\n\n\tvar isString = (index$1 && typeof index$1 === 'object' && 'default' in index$1 ? index$1['default'] : index$1);\n\n\t/**\n\t * Parses a format string or object and returns format obj for use in rendering\n\t *\n\t * `format` is either a string with the default (positive) format, or object\n\t * containing `pos` (required), `neg` and `zero` values\n\t *\n\t * Either string or format.pos must contain \"%v\" (value) to be valid\n\t *\n\t * @method _checkCurrencyFormat\n\t * @for accounting\n\t * @param {String} [format=\"%s%v\"] String with the format to apply, where %s is the currency symbol and %v is the value.\n\t * @return {Object} object represnting format (with pos, neg and zero attributes)\n\t */\n\tfunction _checkCurrencyFormat(format) {\n\t // Format should be a string, in which case `value` ('%v') must be present:\n\t if (isString(format) && format.match('%v')) {\n\t // Create and return positive, negative and zero formats:\n\t return {\n\t pos: format,\n\t neg: format.replace('-', '').replace('%v', '-%v'),\n\t zero: format\n\t };\n\t }\n\n\t // Otherwise, assume format was fine:\n\t return format;\n\t}\n\n\t/**\n\t * Format a number into currency\n\t *\n\t * Usage: accounting.formatMoney(number, symbol, precision, thousandsSep, decimalSep, format)\n\t * defaults: (0, '$', 2, ',', '.', '%s%v')\n\t *\n\t * Localise by overriding the symbol, precision, thousand / decimal separators and format\n\t *\n\t * ```js\n\t * // Default usage:\n\t * accounting.formatMoney(12345678); // $12,345,678.00\n\t *\n\t * // European formatting (custom symbol and separators), can also use options object as second parameter:\n\t * accounting.formatMoney(4999.99, { symbol: \"€\", precision: 2, thousand: \".\", decimal: \",\" }); // €4.999,99\n\t *\n\t * // Negative values can be formatted nicely:\n\t * accounting.formatMoney(-500000, { symbol: \"£ \", precision: 0 }); // £ -500,000\n\t *\n\t * // Simple `format` string allows control of symbol position (%v = value, %s = symbol):\n\t * accounting.formatMoney(5318008, { symbol: \"GBP\", format: \"%v %s\" }); // 5,318,008.00 GBP\n\t * ```\n\t *\n\t * @method formatMoney\n\t * @for accounting\n\t * @param {Number} number Number to be formatted.\n\t * @param {Object} [opts={}] Object containing all the options of the method.\n\t * @return {String} The given number properly formatted as money.\n\t */\n\tfunction formatMoney(number) {\n\t var opts = arguments.length <= 1 || arguments[1] === undefined ? {} : arguments[1];\n\n\t // Resursively format arrays:\n\t if (Array.isArray(number)) {\n\t return number.map(function (val) {\n\t return formatMoney(val, opts);\n\t });\n\t }\n\n\t // Build options object from second param (if object) or all params, extending defaults:\n\t opts = objectAssign({}, settings, opts);\n\n\t // Check format (returns object with pos, neg and zero):\n\t var formats = _checkCurrencyFormat(opts.format);\n\n\t // Choose which format to use for this value:\n\t var useFormat = undefined;\n\n\t if (number > 0) {\n\t useFormat = formats.pos;\n\t } else if (number < 0) {\n\t useFormat = formats.neg;\n\t } else {\n\t useFormat = formats.zero;\n\t }\n\n\t // Return with currency symbol added:\n\t return useFormat.replace('%s', opts.symbol).replace('%v', formatNumber(Math.abs(number), opts));\n\t}\n\n\t/**\n\t * Format a list of numbers into an accounting column, padding with whitespace\n\t * to line up currency symbols, thousand separators and decimals places\n\t *\n\t * List should be an array of numbers\n\t *\n\t * Returns array of accouting-formatted number strings of same length\n\t *\n\t * NB: `white-space:pre` CSS rule is required on the list container to prevent\n\t * browsers from collapsing the whitespace in the output strings.\n\t *\n\t * ```js\n\t * accounting.formatColumn([123.5, 3456.49, 777888.99, 12345678, -5432], { symbol: \"$ \" });\n\t * ```\n\t *\n\t * @method formatColumn\n\t * @for accounting\n\t * @param {Array} list An array of numbers to format\n\t * @param {Object} [opts={}] Object containing all the options of the method.\n\t * @param {Object|String} [symbol=\"$\"] String with the currency symbol. For conveniency if can be an object containing all the options of the method.\n\t * @param {Integer} [precision=2] Number of decimal digits\n\t * @param {String} [thousand=','] String with the thousands separator.\n\t * @param {String} [decimal=\".\"] String with the decimal separator.\n\t * @param {String} [format=\"%s%v\"] String with the format to apply, where %s is the currency symbol and %v is the value.\n\t * @return {Array} array of accouting-formatted number strings of same length\n\t */\n\tfunction formatColumn(list) {\n\t var opts = arguments.length <= 1 || arguments[1] === undefined ? {} : arguments[1];\n\n\t if (!list) return [];\n\n\t // Build options object from second param (if object) or all params, extending defaults:\n\t opts = objectAssign({}, settings, opts);\n\n\t // Check format (returns object with pos, neg and zero), only need pos for now:\n\t var formats = _checkCurrencyFormat(opts.format);\n\n\t // Whether to pad at start of string or after currency symbol:\n\t var padAfterSymbol = formats.pos.indexOf('%s') < formats.pos.indexOf('%v');\n\n\t // Store value for the length of the longest string in the column:\n\t var maxLength = 0;\n\n\t // Format the list according to options, store the length of the longest string:\n\t var formatted = list.map(function (val) {\n\t if (Array.isArray(val)) {\n\t // Recursively format columns if list is a multi-dimensional array:\n\t return formatColumn(val, opts);\n\t }\n\t // Clean up the value\n\t val = unformat(val, opts.decimal);\n\n\t // Choose which format to use for this value (pos, neg or zero):\n\t var useFormat = undefined;\n\n\t if (val > 0) {\n\t useFormat = formats.pos;\n\t } else if (val < 0) {\n\t useFormat = formats.neg;\n\t } else {\n\t useFormat = formats.zero;\n\t }\n\n\t // Format this value, push into formatted list and save the length:\n\t var fVal = useFormat.replace('%s', opts.symbol).replace('%v', formatNumber(Math.abs(val), opts));\n\n\t if (fVal.length > maxLength) {\n\t maxLength = fVal.length;\n\t }\n\n\t return fVal;\n\t });\n\n\t // Pad each number in the list and send back the column of numbers:\n\t return formatted.map(function (val) {\n\t // Only if this is a string (not a nested array, which would have already been padded):\n\t if (isString(val) && val.length < maxLength) {\n\t // Depending on symbol position, pad after symbol or at index 0:\n\t return padAfterSymbol ? val.replace(opts.symbol, opts.symbol + new Array(maxLength - val.length + 1).join(' ')) : new Array(maxLength - val.length + 1).join(' ') + val;\n\t }\n\t return val;\n\t });\n\t}\n\n\texports.settings = settings;\n\texports.unformat = unformat;\n\texports.toFixed = toFixed;\n\texports.formatMoney = formatMoney;\n\texports.formatNumber = formatNumber;\n\texports.formatColumn = formatColumn;\n\texports.format = formatMoney;\n\texports.parse = unformat;\n\n}));\n//# sourceMappingURL=accounting.umd.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/accounting-js/dist/accounting.umd.js\n// module id = U0Mp\n// module chunks = 0 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52","// style-loader: Adds some css to the DOM by adding a \r\n\n\n\n// WEBPACK FOOTER //\n// resources/assets/js/components/enso/vuedatatable/Overlay.vue","\r\n\r\n \r\n \r\n \r\n \r\n \r\n {{ key }}\r\n \r\n \r\n\r\n\r\n\r\n\r\n\n\n\n// WEBPACK FOOTER //\n// resources/assets/js/components/enso/vuedatatable/topControls/StyleSelector.vue","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('thead',[_c('tr',{class:_vm.template.style},[(_vm.template.crtNo)?_c('th',{class:_vm.template.align},[_vm._v(\"\\n \"+_vm._s(_vm.i18n(_vm.template.labels.crtNo))+\"\\n \")]):_vm._e(),_vm._v(\" \"),_vm._l((_vm.template.columns),function(column){return (column.meta.visible && !column.meta.hidden && !column.meta.rogue)?_c('th',{key:column.label,class:[\n 'vue-table-header',\n column.align\n ? _vm.template.aligns[column.align]\n : _vm.template.align\n ]},[_vm._v(\"\\n \"+_vm._s(_vm.i18n(column.label))+\"\\n \"),_c('span',{staticClass:\"table-header-controls\"},[(column.tooltip)?_c('span',{directives:[{name:\"tooltip\",rawName:\"v-tooltip\",value:(_vm.i18n(column.tooltip)),expression:\"i18n(column.tooltip)\"}],staticClass:\"icon is-small has-text-info\"},[_c('fa',{attrs:{\"icon\":\"info\",\"size\":\"xs\"}})],1):_vm._e(),_vm._v(\" \"),(column.meta.sortable)?_c('span',{staticClass:\"sorter\",on:{\"click\":function($event){_vm.toggleSort($event, column)}}},[_c('span',{staticClass:\"icon is-small\"},[_c('fa',{attrs:{\"icon\":_vm.sortIcon(column.meta.sort),\"size\":\"xs\"}})],1)]):_vm._e(),_vm._v(\" \"),(column.meta.sort)?_c('a',{staticClass:\"delete is-small\",on:{\"click\":function($event){_vm.clearColumnSort(column)}}}):_vm._e()])]):_vm._e()}),_vm._v(\" \"),(_vm.template.actions)?_c('th',{class:_vm.template.align},[_vm._v(\"\\n \"+_vm._s(_vm.i18n(_vm.template.labels.actions))+\"\\n \")]):_vm._e()],2)])}\nvar staticRenderFns = []\nmodule.exports = { render: render, staticRenderFns: staticRenderFns }\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/vue-loader/lib/template-compiler?{\"id\":\"data-v-433275fc\",\"hasScoped\":false,\"buble\":{\"transforms\":{}}}!./node_modules/vue-loader/lib/selector.js?type=template&index=0!./resources/assets/js/components/enso/vuedatatable/TableHeader.vue\n// module id = akE6\n// module chunks = 0 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28","var normalizeComponent = require(\"!../../../../../../node_modules/vue-loader/lib/component-normalizer\")\n/* script */\nvar __vue_script__ = require(\"!!babel-loader?{\\\"cacheDirectory\\\":true,\\\"presets\\\":[[\\\"env\\\",{\\\"modules\\\":false,\\\"targets\\\":{\\\"browsers\\\":[\\\"> 2%\\\"],\\\"uglify\\\":true}}]],\\\"plugins\\\":[\\\"transform-object-rest-spread\\\",[\\\"transform-runtime\\\",{\\\"polyfill\\\":false,\\\"helpers\\\":false}],\\\"transform-object-rest-spread\\\",\\\"syntax-dynamic-import\\\"]}!../../../../../../node_modules/vue-loader/lib/selector?type=script&index=0!./Tab.vue\")\n/* template */\nvar __vue_template__ = require(\"!!../../../../../../node_modules/vue-loader/lib/template-compiler/index?{\\\"id\\\":\\\"data-v-c4005da6\\\",\\\"hasScoped\\\":false,\\\"buble\\\":{\\\"transforms\\\":{}}}!../../../../../../node_modules/vue-loader/lib/selector?type=template&index=0!./Tab.vue\")\n/* template functional */\nvar __vue_template_functional__ = false\n/* styles */\nvar __vue_styles__ = null\n/* scopeId */\nvar __vue_scopeId__ = null\n/* moduleIdentifier (server only) */\nvar __vue_module_identifier__ = null\nvar Component = normalizeComponent(\n __vue_script__,\n __vue_template__,\n __vue_template_functional__,\n __vue_styles__,\n __vue_scopeId__,\n __vue_module_identifier__\n)\n\nmodule.exports = Component.exports\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./resources/assets/js/components/enso/bulma/Tab.vue\n// module id = aoY9\n// module chunks = 0 14","\r\n\r\n
\r\n \r\n
\r\n \r\n \r\n \r\n \r\n {{ title }}\r\n \r\n {{ title }}\r\n
\r\n \r\n\r\n\r\n\r\n\r\n\r\n\r\n\n\n\n// WEBPACK FOOTER //\n// resources/assets/js/components/enso/vuedatatable/TableFooter.vue","(function (global, factory) {\n\ttypeof exports === 'object' && typeof module !== 'undefined' ? factory(exports) :\n\ttypeof define === 'function' && define.amd ? define(['exports'], factory) :\n\t(factory((global.accounting = global.accounting || {})));\n}(this, function (exports) { 'use strict';\n\n\tfunction __commonjs(fn, module) { return module = { exports: {} }, fn(module, module.exports), module.exports; }\n\n\t/**\n\t * The library's settings configuration object.\n\t *\n\t * Contains default parameters for currency and number formatting\n\t */\n\tvar settings = {\n\t symbol: '$', // default currency symbol is '$'\n\t format: '%s%v', // controls output: %s = symbol, %v = value (can be object, see docs)\n\t decimal: '.', // decimal point separator\n\t thousand: ',', // thousands separator\n\t precision: 2, // decimal places\n\t grouping: 3, // digit grouping (not implemented yet)\n\t stripZeros: false, // strip insignificant zeros from decimal part\n\t fallback: 0 // value returned on unformat() failure\n\t};\n\n\t/**\n\t * Takes a string/array of strings, removes all formatting/cruft and returns the raw float value\n\t * Alias: `accounting.parse(string)`\n\t *\n\t * Decimal must be included in the regular expression to match floats (defaults to\n\t * accounting.settings.decimal), so if the number uses a non-standard decimal\n\t * separator, provide it as the second argument.\n\t *\n\t * Also matches bracketed negatives (eg. '$ (1.99)' => -1.99)\n\t *\n\t * Doesn't throw any errors (`NaN`s become 0) but this may change in future\n\t *\n\t * ```js\n\t * accounting.unformat(\"£ 12,345,678.90 GBP\"); // 12345678.9\n\t * ```\n\t *\n\t * @method unformat\n\t * @for accounting\n\t * @param {String|Array} value The string or array of strings containing the number/s to parse.\n\t * @param {Number} decimal Number of decimal digits of the resultant number\n\t * @return {Float} The parsed number\n\t */\n\tfunction unformat(value) {\n\t var decimal = arguments.length <= 1 || arguments[1] === undefined ? settings.decimal : arguments[1];\n\t var fallback = arguments.length <= 2 || arguments[2] === undefined ? settings.fallback : arguments[2];\n\n\t // Recursively unformat arrays:\n\t if (Array.isArray(value)) {\n\t return value.map(function (val) {\n\t return unformat(val, decimal, fallback);\n\t });\n\t }\n\n\t // Return the value as-is if it's already a number:\n\t if (typeof value === 'number') return value;\n\n\t // Build regex to strip out everything except digits, decimal point and minus sign:\n\t var regex = new RegExp('[^0-9-(-)-' + decimal + ']', ['g']);\n\t var unformattedValueString = ('' + value).replace(regex, '') // strip out any cruft\n\t .replace(decimal, '.') // make sure decimal point is standard\n\t .replace(/\\(([-]*\\d*[^)]?\\d+)\\)/g, '-$1') // replace bracketed values with negatives\n\t .replace(/\\((.*)\\)/, ''); // remove any brackets that do not have numeric value\n\n\t /**\n\t * Handling -ve number and bracket, eg.\n\t * (-100) = 100, -(100) = 100, --100 = 100\n\t */\n\t var negative = (unformattedValueString.match(/-/g) || 2).length % 2,\n\t absUnformatted = parseFloat(unformattedValueString.replace(/-/g, '')),\n\t unformatted = absUnformatted * (negative ? -1 : 1);\n\n\t // This will fail silently which may cause trouble, let's wait and see:\n\t return !isNaN(unformatted) ? unformatted : fallback;\n\t}\n\n\t/**\n\t * Check and normalise the value of precision (must be positive integer)\n\t */\n\tfunction _checkPrecision(val, base) {\n\t val = Math.round(Math.abs(val));\n\t return isNaN(val) ? base : val;\n\t}\n\n\t/**\n\t * Implementation of toFixed() that treats floats more like decimals\n\t *\n\t * Fixes binary rounding issues (eg. (0.615).toFixed(2) === '0.61') that present\n\t * problems for accounting- and finance-related software.\n\t *\n\t * ```js\n\t * (0.615).toFixed(2); // \"0.61\" (native toFixed has rounding issues)\n\t * accounting.toFixed(0.615, 2); // \"0.62\"\n\t * ```\n\t *\n\t * @method toFixed\n\t * @for accounting\n\t * @param {Float} value The float to be treated as a decimal number.\n\t * @param {Number} [precision=2] The number of decimal digits to keep.\n\t * @return {String} The given number transformed into a string with the given precission\n\t */\n\tfunction toFixed(value, precision) {\n\t precision = _checkPrecision(precision, settings.precision);\n\t var power = Math.pow(10, precision);\n\n\t // Multiply up by precision, round accurately, then divide and use native toFixed():\n\t return (Math.round((value + 1e-8) * power) / power).toFixed(precision);\n\t}\n\n\tvar index = __commonjs(function (module) {\n\t/* eslint-disable no-unused-vars */\n\t'use strict';\n\tvar hasOwnProperty = Object.prototype.hasOwnProperty;\n\tvar propIsEnumerable = Object.prototype.propertyIsEnumerable;\n\n\tfunction toObject(val) {\n\t\tif (val === null || val === undefined) {\n\t\t\tthrow new TypeError('Object.assign cannot be called with null or undefined');\n\t\t}\n\n\t\treturn Object(val);\n\t}\n\n\tmodule.exports = Object.assign || function (target, source) {\n\t\tvar from;\n\t\tvar to = toObject(target);\n\t\tvar symbols;\n\n\t\tfor (var s = 1; s < arguments.length; s++) {\n\t\t\tfrom = Object(arguments[s]);\n\n\t\t\tfor (var key in from) {\n\t\t\t\tif (hasOwnProperty.call(from, key)) {\n\t\t\t\t\tto[key] = from[key];\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tif (Object.getOwnPropertySymbols) {\n\t\t\t\tsymbols = Object.getOwnPropertySymbols(from);\n\t\t\t\tfor (var i = 0; i < symbols.length; i++) {\n\t\t\t\t\tif (propIsEnumerable.call(from, symbols[i])) {\n\t\t\t\t\t\tto[symbols[i]] = from[symbols[i]];\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\treturn to;\n\t};\n\t});\n\n\tvar objectAssign = (index && typeof index === 'object' && 'default' in index ? index['default'] : index);\n\n\tfunction _stripInsignificantZeros(str, decimal) {\n\t var parts = str.split(decimal);\n\t var integerPart = parts[0];\n\t var decimalPart = parts[1].replace(/0+$/, '');\n\n\t if (decimalPart.length > 0) {\n\t return integerPart + decimal + decimalPart;\n\t }\n\n\t return integerPart;\n\t}\n\n\t/**\n\t * Format a number, with comma-separated thousands and custom precision/decimal places\n\t * Alias: `accounting.format()`\n\t *\n\t * Localise by overriding the precision and thousand / decimal separators\n\t *\n\t * ```js\n\t * accounting.formatNumber(5318008); // 5,318,008\n\t * accounting.formatNumber(9876543.21, { precision: 3, thousand: \" \" }); // 9 876 543.210\n\t * ```\n\t *\n\t * @method formatNumber\n\t * @for accounting\n\t * @param {Number} number The number to be formatted.\n\t * @param {Object} [opts={}] Object containing all the options of the method.\n\t * @return {String} The given number properly formatted.\n\t */\n\tfunction formatNumber(number) {\n\t var opts = arguments.length <= 1 || arguments[1] === undefined ? {} : arguments[1];\n\n\t // Resursively format arrays:\n\t if (Array.isArray(number)) {\n\t return number.map(function (val) {\n\t return formatNumber(val, opts);\n\t });\n\t }\n\n\t // Build options object from second param (if object) or all params, extending defaults:\n\t opts = objectAssign({}, settings, opts);\n\n\t // Do some calc:\n\t var negative = number < 0 ? '-' : '';\n\t var base = parseInt(toFixed(Math.abs(number), opts.precision), 10) + '';\n\t var mod = base.length > 3 ? base.length % 3 : 0;\n\n\t // Format the number:\n\t var formatted = negative + (mod ? base.substr(0, mod) + opts.thousand : '') + base.substr(mod).replace(/(\\d{3})(?=\\d)/g, '$1' + opts.thousand) + (opts.precision > 0 ? opts.decimal + toFixed(Math.abs(number), opts.precision).split('.')[1] : '');\n\n\t return opts.stripZeros ? _stripInsignificantZeros(formatted, opts.decimal) : formatted;\n\t}\n\n\tvar index$1 = __commonjs(function (module) {\n\t'use strict';\n\n\tvar strValue = String.prototype.valueOf;\n\tvar tryStringObject = function tryStringObject(value) {\n\t\ttry {\n\t\t\tstrValue.call(value);\n\t\t\treturn true;\n\t\t} catch (e) {\n\t\t\treturn false;\n\t\t}\n\t};\n\tvar toStr = Object.prototype.toString;\n\tvar strClass = '[object String]';\n\tvar hasToStringTag = typeof Symbol === 'function' && typeof Symbol.toStringTag === 'symbol';\n\n\tmodule.exports = function isString(value) {\n\t\tif (typeof value === 'string') { return true; }\n\t\tif (typeof value !== 'object') { return false; }\n\t\treturn hasToStringTag ? tryStringObject(value) : toStr.call(value) === strClass;\n\t};\n\t});\n\n\tvar isString = (index$1 && typeof index$1 === 'object' && 'default' in index$1 ? index$1['default'] : index$1);\n\n\t/**\n\t * Parses a format string or object and returns format obj for use in rendering\n\t *\n\t * `format` is either a string with the default (positive) format, or object\n\t * containing `pos` (required), `neg` and `zero` values\n\t *\n\t * Either string or format.pos must contain \"%v\" (value) to be valid\n\t *\n\t * @method _checkCurrencyFormat\n\t * @for accounting\n\t * @param {String} [format=\"%s%v\"] String with the format to apply, where %s is the currency symbol and %v is the value.\n\t * @return {Object} object represnting format (with pos, neg and zero attributes)\n\t */\n\tfunction _checkCurrencyFormat(format) {\n\t // Format should be a string, in which case `value` ('%v') must be present:\n\t if (isString(format) && format.match('%v')) {\n\t // Create and return positive, negative and zero formats:\n\t return {\n\t pos: format,\n\t neg: format.replace('-', '').replace('%v', '-%v'),\n\t zero: format\n\t };\n\t }\n\n\t // Otherwise, assume format was fine:\n\t return format;\n\t}\n\n\t/**\n\t * Format a number into currency\n\t *\n\t * Usage: accounting.formatMoney(number, symbol, precision, thousandsSep, decimalSep, format)\n\t * defaults: (0, '$', 2, ',', '.', '%s%v')\n\t *\n\t * Localise by overriding the symbol, precision, thousand / decimal separators and format\n\t *\n\t * ```js\n\t * // Default usage:\n\t * accounting.formatMoney(12345678); // $12,345,678.00\n\t *\n\t * // European formatting (custom symbol and separators), can also use options object as second parameter:\n\t * accounting.formatMoney(4999.99, { symbol: \"€\", precision: 2, thousand: \".\", decimal: \",\" }); // €4.999,99\n\t *\n\t * // Negative values can be formatted nicely:\n\t * accounting.formatMoney(-500000, { symbol: \"£ \", precision: 0 }); // £ -500,000\n\t *\n\t * // Simple `format` string allows control of symbol position (%v = value, %s = symbol):\n\t * accounting.formatMoney(5318008, { symbol: \"GBP\", format: \"%v %s\" }); // 5,318,008.00 GBP\n\t * ```\n\t *\n\t * @method formatMoney\n\t * @for accounting\n\t * @param {Number} number Number to be formatted.\n\t * @param {Object} [opts={}] Object containing all the options of the method.\n\t * @return {String} The given number properly formatted as money.\n\t */\n\tfunction formatMoney(number) {\n\t var opts = arguments.length <= 1 || arguments[1] === undefined ? {} : arguments[1];\n\n\t // Resursively format arrays:\n\t if (Array.isArray(number)) {\n\t return number.map(function (val) {\n\t return formatMoney(val, opts);\n\t });\n\t }\n\n\t // Build options object from second param (if object) or all params, extending defaults:\n\t opts = objectAssign({}, settings, opts);\n\n\t // Check format (returns object with pos, neg and zero):\n\t var formats = _checkCurrencyFormat(opts.format);\n\n\t // Choose which format to use for this value:\n\t var useFormat = undefined;\n\n\t if (number > 0) {\n\t useFormat = formats.pos;\n\t } else if (number < 0) {\n\t useFormat = formats.neg;\n\t } else {\n\t useFormat = formats.zero;\n\t }\n\n\t // Return with currency symbol added:\n\t return useFormat.replace('%s', opts.symbol).replace('%v', formatNumber(Math.abs(number), opts));\n\t}\n\n\t/**\n\t * Format a list of numbers into an accounting column, padding with whitespace\n\t * to line up currency symbols, thousand separators and decimals places\n\t *\n\t * List should be an array of numbers\n\t *\n\t * Returns array of accouting-formatted number strings of same length\n\t *\n\t * NB: `white-space:pre` CSS rule is required on the list container to prevent\n\t * browsers from collapsing the whitespace in the output strings.\n\t *\n\t * ```js\n\t * accounting.formatColumn([123.5, 3456.49, 777888.99, 12345678, -5432], { symbol: \"$ \" });\n\t * ```\n\t *\n\t * @method formatColumn\n\t * @for accounting\n\t * @param {Array} list An array of numbers to format\n\t * @param {Object} [opts={}] Object containing all the options of the method.\n\t * @param {Object|String} [symbol=\"$\"] String with the currency symbol. For conveniency if can be an object containing all the options of the method.\n\t * @param {Integer} [precision=2] Number of decimal digits\n\t * @param {String} [thousand=','] String with the thousands separator.\n\t * @param {String} [decimal=\".\"] String with the decimal separator.\n\t * @param {String} [format=\"%s%v\"] String with the format to apply, where %s is the currency symbol and %v is the value.\n\t * @return {Array} array of accouting-formatted number strings of same length\n\t */\n\tfunction formatColumn(list) {\n\t var opts = arguments.length <= 1 || arguments[1] === undefined ? {} : arguments[1];\n\n\t if (!list) return [];\n\n\t // Build options object from second param (if object) or all params, extending defaults:\n\t opts = objectAssign({}, settings, opts);\n\n\t // Check format (returns object with pos, neg and zero), only need pos for now:\n\t var formats = _checkCurrencyFormat(opts.format);\n\n\t // Whether to pad at start of string or after currency symbol:\n\t var padAfterSymbol = formats.pos.indexOf('%s') < formats.pos.indexOf('%v');\n\n\t // Store value for the length of the longest string in the column:\n\t var maxLength = 0;\n\n\t // Format the list according to options, store the length of the longest string:\n\t var formatted = list.map(function (val) {\n\t if (Array.isArray(val)) {\n\t // Recursively format columns if list is a multi-dimensional array:\n\t return formatColumn(val, opts);\n\t }\n\t // Clean up the value\n\t val = unformat(val, opts.decimal);\n\n\t // Choose which format to use for this value (pos, neg or zero):\n\t var useFormat = undefined;\n\n\t if (val > 0) {\n\t useFormat = formats.pos;\n\t } else if (val < 0) {\n\t useFormat = formats.neg;\n\t } else {\n\t useFormat = formats.zero;\n\t }\n\n\t // Format this value, push into formatted list and save the length:\n\t var fVal = useFormat.replace('%s', opts.symbol).replace('%v', formatNumber(Math.abs(val), opts));\n\n\t if (fVal.length > maxLength) {\n\t maxLength = fVal.length;\n\t }\n\n\t return fVal;\n\t });\n\n\t // Pad each number in the list and send back the column of numbers:\n\t return formatted.map(function (val) {\n\t // Only if this is a string (not a nested array, which would have already been padded):\n\t if (isString(val) && val.length < maxLength) {\n\t // Depending on symbol position, pad after symbol or at index 0:\n\t return padAfterSymbol ? val.replace(opts.symbol, opts.symbol + new Array(maxLength - val.length + 1).join(' ')) : new Array(maxLength - val.length + 1).join(' ') + val;\n\t }\n\t return val;\n\t });\n\t}\n\n\texports.settings = settings;\n\texports.unformat = unformat;\n\texports.toFixed = toFixed;\n\texports.formatMoney = formatMoney;\n\texports.formatNumber = formatNumber;\n\texports.formatColumn = formatColumn;\n\texports.format = formatMoney;\n\texports.parse = unformat;\n\n}));\n//# sourceMappingURL=accounting.umd.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/accounting-js/dist/accounting.umd.js\n// module id = U0Mp\n// module chunks = 0 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52","// style-loader: Adds some css to the DOM by adding a \r\n\n\n\n// WEBPACK FOOTER //\n// resources/assets/js/components/enso/vuedatatable/Overlay.vue","\r\n\r\n \r\n \r\n \r\n \r\n \r\n {{ key }}\r\n \r\n \r\n\r\n\r\n\r\n\r\n\n\n\n// WEBPACK FOOTER //\n// resources/assets/js/components/enso/vuedatatable/topControls/StyleSelector.vue","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('thead',[_c('tr',{class:_vm.template.style},[(_vm.template.crtNo)?_c('th',{class:_vm.template.align},[_vm._v(\"\\n \"+_vm._s(_vm.i18n(_vm.template.labels.crtNo))+\"\\n \")]):_vm._e(),_vm._v(\" \"),_vm._l((_vm.template.columns),function(column){return (column.meta.visible && !column.meta.hidden && !column.meta.rogue)?_c('th',{key:column.label,class:[\n 'vue-table-header',\n column.align\n ? _vm.template.aligns[column.align]\n : _vm.template.align\n ]},[_vm._v(\"\\n \"+_vm._s(_vm.i18n(column.label))+\"\\n \"),_c('span',{staticClass:\"table-header-controls\"},[(column.tooltip)?_c('span',{directives:[{name:\"tooltip\",rawName:\"v-tooltip\",value:(_vm.i18n(column.tooltip)),expression:\"i18n(column.tooltip)\"}],staticClass:\"icon is-small has-text-info\"},[_c('fa',{attrs:{\"icon\":\"info\",\"size\":\"xs\"}})],1):_vm._e(),_vm._v(\" \"),(column.meta.sortable)?_c('span',{staticClass:\"sorter\",on:{\"click\":function($event){_vm.toggleSort($event, column)}}},[_c('span',{staticClass:\"icon is-small\"},[_c('fa',{attrs:{\"icon\":_vm.sortIcon(column.meta.sort),\"size\":\"xs\"}})],1)]):_vm._e(),_vm._v(\" \"),(column.meta.sort)?_c('a',{staticClass:\"delete is-small\",on:{\"click\":function($event){_vm.clearColumnSort(column)}}}):_vm._e()])]):_vm._e()}),_vm._v(\" \"),(_vm.template.actions)?_c('th',{class:_vm.template.align},[_vm._v(\"\\n \"+_vm._s(_vm.i18n(_vm.template.labels.actions))+\"\\n \")]):_vm._e()],2)])}\nvar staticRenderFns = []\nmodule.exports = { render: render, staticRenderFns: staticRenderFns }\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/vue-loader/lib/template-compiler?{\"id\":\"data-v-433275fc\",\"hasScoped\":false,\"buble\":{\"transforms\":{}}}!./node_modules/vue-loader/lib/selector.js?type=template&index=0!./resources/assets/js/components/enso/vuedatatable/TableHeader.vue\n// module id = akE6\n// module chunks = 0 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28","'use strict';\n\n/**\n * Copyright Marc J. Schmidt. See the LICENSE file at the top-level\n * directory of this distribution and at\n * https://github.com/marcj/css-element-queries/blob/master/LICENSE.\n */\n(function (root, factory) {\n if (typeof define === \"function\" && define.amd) {\n define(factory);\n } else if (typeof exports === \"object\") {\n module.exports = factory();\n } else {\n root.ResizeSensor = factory();\n }\n}(typeof window !== 'undefined' ? window : this, function () {\n\n // Make sure it does not throw in a SSR (Server Side Rendering) situation\n if (typeof window === \"undefined\") {\n return null;\n }\n // Only used for the dirty checking, so the event callback count is limited to max 1 call per fps per sensor.\n // In combination with the event based resize sensor this saves cpu time, because the sensor is too fast and\n // would generate too many unnecessary events.\n var requestAnimationFrame = window.requestAnimationFrame ||\n window.mozRequestAnimationFrame ||\n window.webkitRequestAnimationFrame ||\n function (fn) {\n return window.setTimeout(fn, 20);\n };\n\n /**\n * Iterate over each of the provided element(s).\n *\n * @param {HTMLElement|HTMLElement[]} elements\n * @param {Function} callback\n */\n function forEachElement(elements, callback){\n var elementsType = Object.prototype.toString.call(elements);\n var isCollectionTyped = ('[object Array]' === elementsType\n || ('[object NodeList]' === elementsType)\n || ('[object HTMLCollection]' === elementsType)\n || ('[object Object]' === elementsType)\n || ('undefined' !== typeof jQuery && elements instanceof jQuery) //jquery\n || ('undefined' !== typeof Elements && elements instanceof Elements) //mootools\n );\n var i = 0, j = elements.length;\n if (isCollectionTyped) {\n for (; i < j; i++) {\n callback(elements[i]);\n }\n } else {\n callback(elements);\n }\n }\n\n /**\n * Get element size\n * @param {HTMLElement} element\n * @returns {Object} {width, height}\n */\n function getElementSize(element) {\n if (!element.getBoundingClientRect) {\n return {\n width: element.offsetWidth,\n height: element.offsetHeight\n }\n }\n\n var rect = element.getBoundingClientRect();\n return {\n width: Math.round(rect.width),\n height: Math.round(rect.height)\n }\n }\n\n /**\n * Class for dimension change detection.\n *\n * @param {Element|Element[]|Elements|jQuery} element\n * @param {Function} callback\n *\n * @constructor\n */\n var ResizeSensor = function(element, callback) {\n /**\n *\n * @constructor\n */\n function EventQueue() {\n var q = [];\n this.add = function(ev) {\n q.push(ev);\n };\n\n var i, j;\n this.call = function() {\n for (i = 0, j = q.length; i < j; i++) {\n q[i].call();\n }\n };\n\n this.remove = function(ev) {\n var newQueue = [];\n for(i = 0, j = q.length; i < j; i++) {\n if(q[i] !== ev) newQueue.push(q[i]);\n }\n q = newQueue;\n };\n\n this.length = function() {\n return q.length;\n }\n }\n\n /**\n *\n * @param {HTMLElement} element\n * @param {Function} resized\n */\n function attachResizeEvent(element, resized) {\n if (!element) return;\n if (element.resizedAttached) {\n element.resizedAttached.add(resized);\n return;\n }\n\n element.resizedAttached = new EventQueue();\n element.resizedAttached.add(resized);\n\n element.resizeSensor = document.createElement('div');\n element.resizeSensor.dir = 'ltr';\n element.resizeSensor.className = 'resize-sensor';\n var style = 'position: absolute; left: -10px; top: -10px; right: 0; bottom: 0; overflow: hidden; z-index: -1; visibility: hidden;';\n var styleChild = 'position: absolute; left: 0; top: 0; transition: 0s;';\n\n element.resizeSensor.style.cssText = style;\n element.resizeSensor.innerHTML =\n '
\r\n \r\n\r\n\r\n\r\n\r\n\r\n\r\n\n\n\n// WEBPACK FOOTER //\n// resources/assets/js/components/enso/vuedatatable/TableFooter.vue","(function (global, factory) {\n\ttypeof exports === 'object' && typeof module !== 'undefined' ? factory(exports) :\n\ttypeof define === 'function' && define.amd ? define(['exports'], factory) :\n\t(factory((global.accounting = global.accounting || {})));\n}(this, function (exports) { 'use strict';\n\n\tfunction __commonjs(fn, module) { return module = { exports: {} }, fn(module, module.exports), module.exports; }\n\n\t/**\n\t * The library's settings configuration object.\n\t *\n\t * Contains default parameters for currency and number formatting\n\t */\n\tvar settings = {\n\t symbol: '$', // default currency symbol is '$'\n\t format: '%s%v', // controls output: %s = symbol, %v = value (can be object, see docs)\n\t decimal: '.', // decimal point separator\n\t thousand: ',', // thousands separator\n\t precision: 2, // decimal places\n\t grouping: 3, // digit grouping (not implemented yet)\n\t stripZeros: false, // strip insignificant zeros from decimal part\n\t fallback: 0 // value returned on unformat() failure\n\t};\n\n\t/**\n\t * Takes a string/array of strings, removes all formatting/cruft and returns the raw float value\n\t * Alias: `accounting.parse(string)`\n\t *\n\t * Decimal must be included in the regular expression to match floats (defaults to\n\t * accounting.settings.decimal), so if the number uses a non-standard decimal\n\t * separator, provide it as the second argument.\n\t *\n\t * Also matches bracketed negatives (eg. '$ (1.99)' => -1.99)\n\t *\n\t * Doesn't throw any errors (`NaN`s become 0) but this may change in future\n\t *\n\t * ```js\n\t * accounting.unformat(\"£ 12,345,678.90 GBP\"); // 12345678.9\n\t * ```\n\t *\n\t * @method unformat\n\t * @for accounting\n\t * @param {String|Array} value The string or array of strings containing the number/s to parse.\n\t * @param {Number} decimal Number of decimal digits of the resultant number\n\t * @return {Float} The parsed number\n\t */\n\tfunction unformat(value) {\n\t var decimal = arguments.length <= 1 || arguments[1] === undefined ? settings.decimal : arguments[1];\n\t var fallback = arguments.length <= 2 || arguments[2] === undefined ? settings.fallback : arguments[2];\n\n\t // Recursively unformat arrays:\n\t if (Array.isArray(value)) {\n\t return value.map(function (val) {\n\t return unformat(val, decimal, fallback);\n\t });\n\t }\n\n\t // Return the value as-is if it's already a number:\n\t if (typeof value === 'number') return value;\n\n\t // Build regex to strip out everything except digits, decimal point and minus sign:\n\t var regex = new RegExp('[^0-9-(-)-' + decimal + ']', ['g']);\n\t var unformattedValueString = ('' + value).replace(regex, '') // strip out any cruft\n\t .replace(decimal, '.') // make sure decimal point is standard\n\t .replace(/\\(([-]*\\d*[^)]?\\d+)\\)/g, '-$1') // replace bracketed values with negatives\n\t .replace(/\\((.*)\\)/, ''); // remove any brackets that do not have numeric value\n\n\t /**\n\t * Handling -ve number and bracket, eg.\n\t * (-100) = 100, -(100) = 100, --100 = 100\n\t */\n\t var negative = (unformattedValueString.match(/-/g) || 2).length % 2,\n\t absUnformatted = parseFloat(unformattedValueString.replace(/-/g, '')),\n\t unformatted = absUnformatted * (negative ? -1 : 1);\n\n\t // This will fail silently which may cause trouble, let's wait and see:\n\t return !isNaN(unformatted) ? unformatted : fallback;\n\t}\n\n\t/**\n\t * Check and normalise the value of precision (must be positive integer)\n\t */\n\tfunction _checkPrecision(val, base) {\n\t val = Math.round(Math.abs(val));\n\t return isNaN(val) ? base : val;\n\t}\n\n\t/**\n\t * Implementation of toFixed() that treats floats more like decimals\n\t *\n\t * Fixes binary rounding issues (eg. (0.615).toFixed(2) === '0.61') that present\n\t * problems for accounting- and finance-related software.\n\t *\n\t * ```js\n\t * (0.615).toFixed(2); // \"0.61\" (native toFixed has rounding issues)\n\t * accounting.toFixed(0.615, 2); // \"0.62\"\n\t * ```\n\t *\n\t * @method toFixed\n\t * @for accounting\n\t * @param {Float} value The float to be treated as a decimal number.\n\t * @param {Number} [precision=2] The number of decimal digits to keep.\n\t * @return {String} The given number transformed into a string with the given precission\n\t */\n\tfunction toFixed(value, precision) {\n\t precision = _checkPrecision(precision, settings.precision);\n\t var power = Math.pow(10, precision);\n\n\t // Multiply up by precision, round accurately, then divide and use native toFixed():\n\t return (Math.round((value + 1e-8) * power) / power).toFixed(precision);\n\t}\n\n\tvar index = __commonjs(function (module) {\n\t/* eslint-disable no-unused-vars */\n\t'use strict';\n\tvar hasOwnProperty = Object.prototype.hasOwnProperty;\n\tvar propIsEnumerable = Object.prototype.propertyIsEnumerable;\n\n\tfunction toObject(val) {\n\t\tif (val === null || val === undefined) {\n\t\t\tthrow new TypeError('Object.assign cannot be called with null or undefined');\n\t\t}\n\n\t\treturn Object(val);\n\t}\n\n\tmodule.exports = Object.assign || function (target, source) {\n\t\tvar from;\n\t\tvar to = toObject(target);\n\t\tvar symbols;\n\n\t\tfor (var s = 1; s < arguments.length; s++) {\n\t\t\tfrom = Object(arguments[s]);\n\n\t\t\tfor (var key in from) {\n\t\t\t\tif (hasOwnProperty.call(from, key)) {\n\t\t\t\t\tto[key] = from[key];\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tif (Object.getOwnPropertySymbols) {\n\t\t\t\tsymbols = Object.getOwnPropertySymbols(from);\n\t\t\t\tfor (var i = 0; i < symbols.length; i++) {\n\t\t\t\t\tif (propIsEnumerable.call(from, symbols[i])) {\n\t\t\t\t\t\tto[symbols[i]] = from[symbols[i]];\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\treturn to;\n\t};\n\t});\n\n\tvar objectAssign = (index && typeof index === 'object' && 'default' in index ? index['default'] : index);\n\n\tfunction _stripInsignificantZeros(str, decimal) {\n\t var parts = str.split(decimal);\n\t var integerPart = parts[0];\n\t var decimalPart = parts[1].replace(/0+$/, '');\n\n\t if (decimalPart.length > 0) {\n\t return integerPart + decimal + decimalPart;\n\t }\n\n\t return integerPart;\n\t}\n\n\t/**\n\t * Format a number, with comma-separated thousands and custom precision/decimal places\n\t * Alias: `accounting.format()`\n\t *\n\t * Localise by overriding the precision and thousand / decimal separators\n\t *\n\t * ```js\n\t * accounting.formatNumber(5318008); // 5,318,008\n\t * accounting.formatNumber(9876543.21, { precision: 3, thousand: \" \" }); // 9 876 543.210\n\t * ```\n\t *\n\t * @method formatNumber\n\t * @for accounting\n\t * @param {Number} number The number to be formatted.\n\t * @param {Object} [opts={}] Object containing all the options of the method.\n\t * @return {String} The given number properly formatted.\n\t */\n\tfunction formatNumber(number) {\n\t var opts = arguments.length <= 1 || arguments[1] === undefined ? {} : arguments[1];\n\n\t // Resursively format arrays:\n\t if (Array.isArray(number)) {\n\t return number.map(function (val) {\n\t return formatNumber(val, opts);\n\t });\n\t }\n\n\t // Build options object from second param (if object) or all params, extending defaults:\n\t opts = objectAssign({}, settings, opts);\n\n\t // Do some calc:\n\t var negative = number < 0 ? '-' : '';\n\t var base = parseInt(toFixed(Math.abs(number), opts.precision), 10) + '';\n\t var mod = base.length > 3 ? base.length % 3 : 0;\n\n\t // Format the number:\n\t var formatted = negative + (mod ? base.substr(0, mod) + opts.thousand : '') + base.substr(mod).replace(/(\\d{3})(?=\\d)/g, '$1' + opts.thousand) + (opts.precision > 0 ? opts.decimal + toFixed(Math.abs(number), opts.precision).split('.')[1] : '');\n\n\t return opts.stripZeros ? _stripInsignificantZeros(formatted, opts.decimal) : formatted;\n\t}\n\n\tvar index$1 = __commonjs(function (module) {\n\t'use strict';\n\n\tvar strValue = String.prototype.valueOf;\n\tvar tryStringObject = function tryStringObject(value) {\n\t\ttry {\n\t\t\tstrValue.call(value);\n\t\t\treturn true;\n\t\t} catch (e) {\n\t\t\treturn false;\n\t\t}\n\t};\n\tvar toStr = Object.prototype.toString;\n\tvar strClass = '[object String]';\n\tvar hasToStringTag = typeof Symbol === 'function' && typeof Symbol.toStringTag === 'symbol';\n\n\tmodule.exports = function isString(value) {\n\t\tif (typeof value === 'string') { return true; }\n\t\tif (typeof value !== 'object') { return false; }\n\t\treturn hasToStringTag ? tryStringObject(value) : toStr.call(value) === strClass;\n\t};\n\t});\n\n\tvar isString = (index$1 && typeof index$1 === 'object' && 'default' in index$1 ? index$1['default'] : index$1);\n\n\t/**\n\t * Parses a format string or object and returns format obj for use in rendering\n\t *\n\t * `format` is either a string with the default (positive) format, or object\n\t * containing `pos` (required), `neg` and `zero` values\n\t *\n\t * Either string or format.pos must contain \"%v\" (value) to be valid\n\t *\n\t * @method _checkCurrencyFormat\n\t * @for accounting\n\t * @param {String} [format=\"%s%v\"] String with the format to apply, where %s is the currency symbol and %v is the value.\n\t * @return {Object} object represnting format (with pos, neg and zero attributes)\n\t */\n\tfunction _checkCurrencyFormat(format) {\n\t // Format should be a string, in which case `value` ('%v') must be present:\n\t if (isString(format) && format.match('%v')) {\n\t // Create and return positive, negative and zero formats:\n\t return {\n\t pos: format,\n\t neg: format.replace('-', '').replace('%v', '-%v'),\n\t zero: format\n\t };\n\t }\n\n\t // Otherwise, assume format was fine:\n\t return format;\n\t}\n\n\t/**\n\t * Format a number into currency\n\t *\n\t * Usage: accounting.formatMoney(number, symbol, precision, thousandsSep, decimalSep, format)\n\t * defaults: (0, '$', 2, ',', '.', '%s%v')\n\t *\n\t * Localise by overriding the symbol, precision, thousand / decimal separators and format\n\t *\n\t * ```js\n\t * // Default usage:\n\t * accounting.formatMoney(12345678); // $12,345,678.00\n\t *\n\t * // European formatting (custom symbol and separators), can also use options object as second parameter:\n\t * accounting.formatMoney(4999.99, { symbol: \"€\", precision: 2, thousand: \".\", decimal: \",\" }); // €4.999,99\n\t *\n\t * // Negative values can be formatted nicely:\n\t * accounting.formatMoney(-500000, { symbol: \"£ \", precision: 0 }); // £ -500,000\n\t *\n\t * // Simple `format` string allows control of symbol position (%v = value, %s = symbol):\n\t * accounting.formatMoney(5318008, { symbol: \"GBP\", format: \"%v %s\" }); // 5,318,008.00 GBP\n\t * ```\n\t *\n\t * @method formatMoney\n\t * @for accounting\n\t * @param {Number} number Number to be formatted.\n\t * @param {Object} [opts={}] Object containing all the options of the method.\n\t * @return {String} The given number properly formatted as money.\n\t */\n\tfunction formatMoney(number) {\n\t var opts = arguments.length <= 1 || arguments[1] === undefined ? {} : arguments[1];\n\n\t // Resursively format arrays:\n\t if (Array.isArray(number)) {\n\t return number.map(function (val) {\n\t return formatMoney(val, opts);\n\t });\n\t }\n\n\t // Build options object from second param (if object) or all params, extending defaults:\n\t opts = objectAssign({}, settings, opts);\n\n\t // Check format (returns object with pos, neg and zero):\n\t var formats = _checkCurrencyFormat(opts.format);\n\n\t // Choose which format to use for this value:\n\t var useFormat = undefined;\n\n\t if (number > 0) {\n\t useFormat = formats.pos;\n\t } else if (number < 0) {\n\t useFormat = formats.neg;\n\t } else {\n\t useFormat = formats.zero;\n\t }\n\n\t // Return with currency symbol added:\n\t return useFormat.replace('%s', opts.symbol).replace('%v', formatNumber(Math.abs(number), opts));\n\t}\n\n\t/**\n\t * Format a list of numbers into an accounting column, padding with whitespace\n\t * to line up currency symbols, thousand separators and decimals places\n\t *\n\t * List should be an array of numbers\n\t *\n\t * Returns array of accouting-formatted number strings of same length\n\t *\n\t * NB: `white-space:pre` CSS rule is required on the list container to prevent\n\t * browsers from collapsing the whitespace in the output strings.\n\t *\n\t * ```js\n\t * accounting.formatColumn([123.5, 3456.49, 777888.99, 12345678, -5432], { symbol: \"$ \" });\n\t * ```\n\t *\n\t * @method formatColumn\n\t * @for accounting\n\t * @param {Array} list An array of numbers to format\n\t * @param {Object} [opts={}] Object containing all the options of the method.\n\t * @param {Object|String} [symbol=\"$\"] String with the currency symbol. For conveniency if can be an object containing all the options of the method.\n\t * @param {Integer} [precision=2] Number of decimal digits\n\t * @param {String} [thousand=','] String with the thousands separator.\n\t * @param {String} [decimal=\".\"] String with the decimal separator.\n\t * @param {String} [format=\"%s%v\"] String with the format to apply, where %s is the currency symbol and %v is the value.\n\t * @return {Array} array of accouting-formatted number strings of same length\n\t */\n\tfunction formatColumn(list) {\n\t var opts = arguments.length <= 1 || arguments[1] === undefined ? {} : arguments[1];\n\n\t if (!list) return [];\n\n\t // Build options object from second param (if object) or all params, extending defaults:\n\t opts = objectAssign({}, settings, opts);\n\n\t // Check format (returns object with pos, neg and zero), only need pos for now:\n\t var formats = _checkCurrencyFormat(opts.format);\n\n\t // Whether to pad at start of string or after currency symbol:\n\t var padAfterSymbol = formats.pos.indexOf('%s') < formats.pos.indexOf('%v');\n\n\t // Store value for the length of the longest string in the column:\n\t var maxLength = 0;\n\n\t // Format the list according to options, store the length of the longest string:\n\t var formatted = list.map(function (val) {\n\t if (Array.isArray(val)) {\n\t // Recursively format columns if list is a multi-dimensional array:\n\t return formatColumn(val, opts);\n\t }\n\t // Clean up the value\n\t val = unformat(val, opts.decimal);\n\n\t // Choose which format to use for this value (pos, neg or zero):\n\t var useFormat = undefined;\n\n\t if (val > 0) {\n\t useFormat = formats.pos;\n\t } else if (val < 0) {\n\t useFormat = formats.neg;\n\t } else {\n\t useFormat = formats.zero;\n\t }\n\n\t // Format this value, push into formatted list and save the length:\n\t var fVal = useFormat.replace('%s', opts.symbol).replace('%v', formatNumber(Math.abs(val), opts));\n\n\t if (fVal.length > maxLength) {\n\t maxLength = fVal.length;\n\t }\n\n\t return fVal;\n\t });\n\n\t // Pad each number in the list and send back the column of numbers:\n\t return formatted.map(function (val) {\n\t // Only if this is a string (not a nested array, which would have already been padded):\n\t if (isString(val) && val.length < maxLength) {\n\t // Depending on symbol position, pad after symbol or at index 0:\n\t return padAfterSymbol ? val.replace(opts.symbol, opts.symbol + new Array(maxLength - val.length + 1).join(' ')) : new Array(maxLength - val.length + 1).join(' ') + val;\n\t }\n\t return val;\n\t });\n\t}\n\n\texports.settings = settings;\n\texports.unformat = unformat;\n\texports.toFixed = toFixed;\n\texports.formatMoney = formatMoney;\n\texports.formatNumber = formatNumber;\n\texports.formatColumn = formatColumn;\n\texports.format = formatMoney;\n\texports.parse = unformat;\n\n}));\n//# sourceMappingURL=accounting.umd.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/accounting-js/dist/accounting.umd.js\n// module id = U0Mp\n// module chunks = 0 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52","// style-loader: Adds some css to the DOM by adding a \r\n\n\n\n// WEBPACK FOOTER //\n// resources/assets/js/components/enso/vuedatatable/Overlay.vue","\r\n\r\n \r\n \r\n \r\n \r\n \r\n {{ key }}\r\n \r\n \r\n\r\n\r\n\r\n\r\n\n\n\n// WEBPACK FOOTER //\n// resources/assets/js/components/enso/vuedatatable/topControls/StyleSelector.vue","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('thead',[_c('tr',{class:_vm.template.style},[(_vm.template.crtNo)?_c('th',{class:_vm.template.align},[_vm._v(\"\\n \"+_vm._s(_vm.i18n(_vm.template.labels.crtNo))+\"\\n \")]):_vm._e(),_vm._v(\" \"),_vm._l((_vm.template.columns),function(column){return (column.meta.visible && !column.meta.hidden && !column.meta.rogue)?_c('th',{key:column.label,class:[\n 'vue-table-header',\n column.align\n ? _vm.template.aligns[column.align]\n : _vm.template.align\n ]},[_vm._v(\"\\n \"+_vm._s(_vm.i18n(column.label))+\"\\n \"),_c('span',{staticClass:\"table-header-controls\"},[(column.tooltip)?_c('span',{directives:[{name:\"tooltip\",rawName:\"v-tooltip\",value:(_vm.i18n(column.tooltip)),expression:\"i18n(column.tooltip)\"}],staticClass:\"icon is-small has-text-info\"},[_c('fa',{attrs:{\"icon\":\"info\",\"size\":\"xs\"}})],1):_vm._e(),_vm._v(\" \"),(column.meta.sortable)?_c('span',{staticClass:\"sorter\",on:{\"click\":function($event){_vm.toggleSort($event, column)}}},[_c('span',{staticClass:\"icon is-small\"},[_c('fa',{attrs:{\"icon\":_vm.sortIcon(column.meta.sort),\"size\":\"xs\"}})],1)]):_vm._e(),_vm._v(\" \"),(column.meta.sort)?_c('a',{staticClass:\"delete is-small\",on:{\"click\":function($event){_vm.clearColumnSort(column)}}}):_vm._e()])]):_vm._e()}),_vm._v(\" \"),(_vm.template.actions)?_c('th',{class:_vm.template.align},[_vm._v(\"\\n \"+_vm._s(_vm.i18n(_vm.template.labels.actions))+\"\\n \")]):_vm._e()],2)])}\nvar staticRenderFns = []\nmodule.exports = { render: render, staticRenderFns: staticRenderFns }\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/vue-loader/lib/template-compiler?{\"id\":\"data-v-433275fc\",\"hasScoped\":false,\"buble\":{\"transforms\":{}}}!./node_modules/vue-loader/lib/selector.js?type=template&index=0!./resources/assets/js/components/enso/vuedatatable/TableHeader.vue\n// module id = akE6\n// module chunks = 0 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28","'use strict';\n\n/**\n * Copyright Marc J. Schmidt. See the LICENSE file at the top-level\n * directory of this distribution and at\n * https://github.com/marcj/css-element-queries/blob/master/LICENSE.\n */\n(function (root, factory) {\n if (typeof define === \"function\" && define.amd) {\n define(factory);\n } else if (typeof exports === \"object\") {\n module.exports = factory();\n } else {\n root.ResizeSensor = factory();\n }\n}(typeof window !== 'undefined' ? window : this, function () {\n\n // Make sure it does not throw in a SSR (Server Side Rendering) situation\n if (typeof window === \"undefined\") {\n return null;\n }\n // Only used for the dirty checking, so the event callback count is limited to max 1 call per fps per sensor.\n // In combination with the event based resize sensor this saves cpu time, because the sensor is too fast and\n // would generate too many unnecessary events.\n var requestAnimationFrame = window.requestAnimationFrame ||\n window.mozRequestAnimationFrame ||\n window.webkitRequestAnimationFrame ||\n function (fn) {\n return window.setTimeout(fn, 20);\n };\n\n /**\n * Iterate over each of the provided element(s).\n *\n * @param {HTMLElement|HTMLElement[]} elements\n * @param {Function} callback\n */\n function forEachElement(elements, callback){\n var elementsType = Object.prototype.toString.call(elements);\n var isCollectionTyped = ('[object Array]' === elementsType\n || ('[object NodeList]' === elementsType)\n || ('[object HTMLCollection]' === elementsType)\n || ('[object Object]' === elementsType)\n || ('undefined' !== typeof jQuery && elements instanceof jQuery) //jquery\n || ('undefined' !== typeof Elements && elements instanceof Elements) //mootools\n );\n var i = 0, j = elements.length;\n if (isCollectionTyped) {\n for (; i < j; i++) {\n callback(elements[i]);\n }\n } else {\n callback(elements);\n }\n }\n\n /**\n * Get element size\n * @param {HTMLElement} element\n * @returns {Object} {width, height}\n */\n function getElementSize(element) {\n if (!element.getBoundingClientRect) {\n return {\n width: element.offsetWidth,\n height: element.offsetHeight\n }\n }\n\n var rect = element.getBoundingClientRect();\n return {\n width: Math.round(rect.width),\n height: Math.round(rect.height)\n }\n }\n\n /**\n * Class for dimension change detection.\n *\n * @param {Element|Element[]|Elements|jQuery} element\n * @param {Function} callback\n *\n * @constructor\n */\n var ResizeSensor = function(element, callback) {\n /**\n *\n * @constructor\n */\n function EventQueue() {\n var q = [];\n this.add = function(ev) {\n q.push(ev);\n };\n\n var i, j;\n this.call = function() {\n for (i = 0, j = q.length; i < j; i++) {\n q[i].call();\n }\n };\n\n this.remove = function(ev) {\n var newQueue = [];\n for(i = 0, j = q.length; i < j; i++) {\n if(q[i] !== ev) newQueue.push(q[i]);\n }\n q = newQueue;\n };\n\n this.length = function() {\n return q.length;\n }\n }\n\n /**\n *\n * @param {HTMLElement} element\n * @param {Function} resized\n */\n function attachResizeEvent(element, resized) {\n if (!element) return;\n if (element.resizedAttached) {\n element.resizedAttached.add(resized);\n return;\n }\n\n element.resizedAttached = new EventQueue();\n element.resizedAttached.add(resized);\n\n element.resizeSensor = document.createElement('div');\n element.resizeSensor.dir = 'ltr';\n element.resizeSensor.className = 'resize-sensor';\n var style = 'position: absolute; left: -10px; top: -10px; right: 0; bottom: 0; overflow: hidden; z-index: -1; visibility: hidden;';\n var styleChild = 'position: absolute; left: 0; top: 0; transition: 0s;';\n\n element.resizeSensor.style.cssText = style;\n element.resizeSensor.innerHTML =\n '
\r\n \r\n\r\n\r\n\r\n\r\n\r\n\r\n\n\n\n// WEBPACK FOOTER //\n// resources/assets/js/components/enso/vuedatatable/TableFooter.vue","(function (global, factory) {\n\ttypeof exports === 'object' && typeof module !== 'undefined' ? factory(exports) :\n\ttypeof define === 'function' && define.amd ? define(['exports'], factory) :\n\t(factory((global.accounting = global.accounting || {})));\n}(this, function (exports) { 'use strict';\n\n\tfunction __commonjs(fn, module) { return module = { exports: {} }, fn(module, module.exports), module.exports; }\n\n\t/**\n\t * The library's settings configuration object.\n\t *\n\t * Contains default parameters for currency and number formatting\n\t */\n\tvar settings = {\n\t symbol: '$', // default currency symbol is '$'\n\t format: '%s%v', // controls output: %s = symbol, %v = value (can be object, see docs)\n\t decimal: '.', // decimal point separator\n\t thousand: ',', // thousands separator\n\t precision: 2, // decimal places\n\t grouping: 3, // digit grouping (not implemented yet)\n\t stripZeros: false, // strip insignificant zeros from decimal part\n\t fallback: 0 // value returned on unformat() failure\n\t};\n\n\t/**\n\t * Takes a string/array of strings, removes all formatting/cruft and returns the raw float value\n\t * Alias: `accounting.parse(string)`\n\t *\n\t * Decimal must be included in the regular expression to match floats (defaults to\n\t * accounting.settings.decimal), so if the number uses a non-standard decimal\n\t * separator, provide it as the second argument.\n\t *\n\t * Also matches bracketed negatives (eg. '$ (1.99)' => -1.99)\n\t *\n\t * Doesn't throw any errors (`NaN`s become 0) but this may change in future\n\t *\n\t * ```js\n\t * accounting.unformat(\"£ 12,345,678.90 GBP\"); // 12345678.9\n\t * ```\n\t *\n\t * @method unformat\n\t * @for accounting\n\t * @param {String|Array} value The string or array of strings containing the number/s to parse.\n\t * @param {Number} decimal Number of decimal digits of the resultant number\n\t * @return {Float} The parsed number\n\t */\n\tfunction unformat(value) {\n\t var decimal = arguments.length <= 1 || arguments[1] === undefined ? settings.decimal : arguments[1];\n\t var fallback = arguments.length <= 2 || arguments[2] === undefined ? settings.fallback : arguments[2];\n\n\t // Recursively unformat arrays:\n\t if (Array.isArray(value)) {\n\t return value.map(function (val) {\n\t return unformat(val, decimal, fallback);\n\t });\n\t }\n\n\t // Return the value as-is if it's already a number:\n\t if (typeof value === 'number') return value;\n\n\t // Build regex to strip out everything except digits, decimal point and minus sign:\n\t var regex = new RegExp('[^0-9-(-)-' + decimal + ']', ['g']);\n\t var unformattedValueString = ('' + value).replace(regex, '') // strip out any cruft\n\t .replace(decimal, '.') // make sure decimal point is standard\n\t .replace(/\\(([-]*\\d*[^)]?\\d+)\\)/g, '-$1') // replace bracketed values with negatives\n\t .replace(/\\((.*)\\)/, ''); // remove any brackets that do not have numeric value\n\n\t /**\n\t * Handling -ve number and bracket, eg.\n\t * (-100) = 100, -(100) = 100, --100 = 100\n\t */\n\t var negative = (unformattedValueString.match(/-/g) || 2).length % 2,\n\t absUnformatted = parseFloat(unformattedValueString.replace(/-/g, '')),\n\t unformatted = absUnformatted * (negative ? -1 : 1);\n\n\t // This will fail silently which may cause trouble, let's wait and see:\n\t return !isNaN(unformatted) ? unformatted : fallback;\n\t}\n\n\t/**\n\t * Check and normalise the value of precision (must be positive integer)\n\t */\n\tfunction _checkPrecision(val, base) {\n\t val = Math.round(Math.abs(val));\n\t return isNaN(val) ? base : val;\n\t}\n\n\t/**\n\t * Implementation of toFixed() that treats floats more like decimals\n\t *\n\t * Fixes binary rounding issues (eg. (0.615).toFixed(2) === '0.61') that present\n\t * problems for accounting- and finance-related software.\n\t *\n\t * ```js\n\t * (0.615).toFixed(2); // \"0.61\" (native toFixed has rounding issues)\n\t * accounting.toFixed(0.615, 2); // \"0.62\"\n\t * ```\n\t *\n\t * @method toFixed\n\t * @for accounting\n\t * @param {Float} value The float to be treated as a decimal number.\n\t * @param {Number} [precision=2] The number of decimal digits to keep.\n\t * @return {String} The given number transformed into a string with the given precission\n\t */\n\tfunction toFixed(value, precision) {\n\t precision = _checkPrecision(precision, settings.precision);\n\t var power = Math.pow(10, precision);\n\n\t // Multiply up by precision, round accurately, then divide and use native toFixed():\n\t return (Math.round((value + 1e-8) * power) / power).toFixed(precision);\n\t}\n\n\tvar index = __commonjs(function (module) {\n\t/* eslint-disable no-unused-vars */\n\t'use strict';\n\tvar hasOwnProperty = Object.prototype.hasOwnProperty;\n\tvar propIsEnumerable = Object.prototype.propertyIsEnumerable;\n\n\tfunction toObject(val) {\n\t\tif (val === null || val === undefined) {\n\t\t\tthrow new TypeError('Object.assign cannot be called with null or undefined');\n\t\t}\n\n\t\treturn Object(val);\n\t}\n\n\tmodule.exports = Object.assign || function (target, source) {\n\t\tvar from;\n\t\tvar to = toObject(target);\n\t\tvar symbols;\n\n\t\tfor (var s = 1; s < arguments.length; s++) {\n\t\t\tfrom = Object(arguments[s]);\n\n\t\t\tfor (var key in from) {\n\t\t\t\tif (hasOwnProperty.call(from, key)) {\n\t\t\t\t\tto[key] = from[key];\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tif (Object.getOwnPropertySymbols) {\n\t\t\t\tsymbols = Object.getOwnPropertySymbols(from);\n\t\t\t\tfor (var i = 0; i < symbols.length; i++) {\n\t\t\t\t\tif (propIsEnumerable.call(from, symbols[i])) {\n\t\t\t\t\t\tto[symbols[i]] = from[symbols[i]];\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\treturn to;\n\t};\n\t});\n\n\tvar objectAssign = (index && typeof index === 'object' && 'default' in index ? index['default'] : index);\n\n\tfunction _stripInsignificantZeros(str, decimal) {\n\t var parts = str.split(decimal);\n\t var integerPart = parts[0];\n\t var decimalPart = parts[1].replace(/0+$/, '');\n\n\t if (decimalPart.length > 0) {\n\t return integerPart + decimal + decimalPart;\n\t }\n\n\t return integerPart;\n\t}\n\n\t/**\n\t * Format a number, with comma-separated thousands and custom precision/decimal places\n\t * Alias: `accounting.format()`\n\t *\n\t * Localise by overriding the precision and thousand / decimal separators\n\t *\n\t * ```js\n\t * accounting.formatNumber(5318008); // 5,318,008\n\t * accounting.formatNumber(9876543.21, { precision: 3, thousand: \" \" }); // 9 876 543.210\n\t * ```\n\t *\n\t * @method formatNumber\n\t * @for accounting\n\t * @param {Number} number The number to be formatted.\n\t * @param {Object} [opts={}] Object containing all the options of the method.\n\t * @return {String} The given number properly formatted.\n\t */\n\tfunction formatNumber(number) {\n\t var opts = arguments.length <= 1 || arguments[1] === undefined ? {} : arguments[1];\n\n\t // Resursively format arrays:\n\t if (Array.isArray(number)) {\n\t return number.map(function (val) {\n\t return formatNumber(val, opts);\n\t });\n\t }\n\n\t // Build options object from second param (if object) or all params, extending defaults:\n\t opts = objectAssign({}, settings, opts);\n\n\t // Do some calc:\n\t var negative = number < 0 ? '-' : '';\n\t var base = parseInt(toFixed(Math.abs(number), opts.precision), 10) + '';\n\t var mod = base.length > 3 ? base.length % 3 : 0;\n\n\t // Format the number:\n\t var formatted = negative + (mod ? base.substr(0, mod) + opts.thousand : '') + base.substr(mod).replace(/(\\d{3})(?=\\d)/g, '$1' + opts.thousand) + (opts.precision > 0 ? opts.decimal + toFixed(Math.abs(number), opts.precision).split('.')[1] : '');\n\n\t return opts.stripZeros ? _stripInsignificantZeros(formatted, opts.decimal) : formatted;\n\t}\n\n\tvar index$1 = __commonjs(function (module) {\n\t'use strict';\n\n\tvar strValue = String.prototype.valueOf;\n\tvar tryStringObject = function tryStringObject(value) {\n\t\ttry {\n\t\t\tstrValue.call(value);\n\t\t\treturn true;\n\t\t} catch (e) {\n\t\t\treturn false;\n\t\t}\n\t};\n\tvar toStr = Object.prototype.toString;\n\tvar strClass = '[object String]';\n\tvar hasToStringTag = typeof Symbol === 'function' && typeof Symbol.toStringTag === 'symbol';\n\n\tmodule.exports = function isString(value) {\n\t\tif (typeof value === 'string') { return true; }\n\t\tif (typeof value !== 'object') { return false; }\n\t\treturn hasToStringTag ? tryStringObject(value) : toStr.call(value) === strClass;\n\t};\n\t});\n\n\tvar isString = (index$1 && typeof index$1 === 'object' && 'default' in index$1 ? index$1['default'] : index$1);\n\n\t/**\n\t * Parses a format string or object and returns format obj for use in rendering\n\t *\n\t * `format` is either a string with the default (positive) format, or object\n\t * containing `pos` (required), `neg` and `zero` values\n\t *\n\t * Either string or format.pos must contain \"%v\" (value) to be valid\n\t *\n\t * @method _checkCurrencyFormat\n\t * @for accounting\n\t * @param {String} [format=\"%s%v\"] String with the format to apply, where %s is the currency symbol and %v is the value.\n\t * @return {Object} object represnting format (with pos, neg and zero attributes)\n\t */\n\tfunction _checkCurrencyFormat(format) {\n\t // Format should be a string, in which case `value` ('%v') must be present:\n\t if (isString(format) && format.match('%v')) {\n\t // Create and return positive, negative and zero formats:\n\t return {\n\t pos: format,\n\t neg: format.replace('-', '').replace('%v', '-%v'),\n\t zero: format\n\t };\n\t }\n\n\t // Otherwise, assume format was fine:\n\t return format;\n\t}\n\n\t/**\n\t * Format a number into currency\n\t *\n\t * Usage: accounting.formatMoney(number, symbol, precision, thousandsSep, decimalSep, format)\n\t * defaults: (0, '$', 2, ',', '.', '%s%v')\n\t *\n\t * Localise by overriding the symbol, precision, thousand / decimal separators and format\n\t *\n\t * ```js\n\t * // Default usage:\n\t * accounting.formatMoney(12345678); // $12,345,678.00\n\t *\n\t * // European formatting (custom symbol and separators), can also use options object as second parameter:\n\t * accounting.formatMoney(4999.99, { symbol: \"€\", precision: 2, thousand: \".\", decimal: \",\" }); // €4.999,99\n\t *\n\t * // Negative values can be formatted nicely:\n\t * accounting.formatMoney(-500000, { symbol: \"£ \", precision: 0 }); // £ -500,000\n\t *\n\t * // Simple `format` string allows control of symbol position (%v = value, %s = symbol):\n\t * accounting.formatMoney(5318008, { symbol: \"GBP\", format: \"%v %s\" }); // 5,318,008.00 GBP\n\t * ```\n\t *\n\t * @method formatMoney\n\t * @for accounting\n\t * @param {Number} number Number to be formatted.\n\t * @param {Object} [opts={}] Object containing all the options of the method.\n\t * @return {String} The given number properly formatted as money.\n\t */\n\tfunction formatMoney(number) {\n\t var opts = arguments.length <= 1 || arguments[1] === undefined ? {} : arguments[1];\n\n\t // Resursively format arrays:\n\t if (Array.isArray(number)) {\n\t return number.map(function (val) {\n\t return formatMoney(val, opts);\n\t });\n\t }\n\n\t // Build options object from second param (if object) or all params, extending defaults:\n\t opts = objectAssign({}, settings, opts);\n\n\t // Check format (returns object with pos, neg and zero):\n\t var formats = _checkCurrencyFormat(opts.format);\n\n\t // Choose which format to use for this value:\n\t var useFormat = undefined;\n\n\t if (number > 0) {\n\t useFormat = formats.pos;\n\t } else if (number < 0) {\n\t useFormat = formats.neg;\n\t } else {\n\t useFormat = formats.zero;\n\t }\n\n\t // Return with currency symbol added:\n\t return useFormat.replace('%s', opts.symbol).replace('%v', formatNumber(Math.abs(number), opts));\n\t}\n\n\t/**\n\t * Format a list of numbers into an accounting column, padding with whitespace\n\t * to line up currency symbols, thousand separators and decimals places\n\t *\n\t * List should be an array of numbers\n\t *\n\t * Returns array of accouting-formatted number strings of same length\n\t *\n\t * NB: `white-space:pre` CSS rule is required on the list container to prevent\n\t * browsers from collapsing the whitespace in the output strings.\n\t *\n\t * ```js\n\t * accounting.formatColumn([123.5, 3456.49, 777888.99, 12345678, -5432], { symbol: \"$ \" });\n\t * ```\n\t *\n\t * @method formatColumn\n\t * @for accounting\n\t * @param {Array} list An array of numbers to format\n\t * @param {Object} [opts={}] Object containing all the options of the method.\n\t * @param {Object|String} [symbol=\"$\"] String with the currency symbol. For conveniency if can be an object containing all the options of the method.\n\t * @param {Integer} [precision=2] Number of decimal digits\n\t * @param {String} [thousand=','] String with the thousands separator.\n\t * @param {String} [decimal=\".\"] String with the decimal separator.\n\t * @param {String} [format=\"%s%v\"] String with the format to apply, where %s is the currency symbol and %v is the value.\n\t * @return {Array} array of accouting-formatted number strings of same length\n\t */\n\tfunction formatColumn(list) {\n\t var opts = arguments.length <= 1 || arguments[1] === undefined ? {} : arguments[1];\n\n\t if (!list) return [];\n\n\t // Build options object from second param (if object) or all params, extending defaults:\n\t opts = objectAssign({}, settings, opts);\n\n\t // Check format (returns object with pos, neg and zero), only need pos for now:\n\t var formats = _checkCurrencyFormat(opts.format);\n\n\t // Whether to pad at start of string or after currency symbol:\n\t var padAfterSymbol = formats.pos.indexOf('%s') < formats.pos.indexOf('%v');\n\n\t // Store value for the length of the longest string in the column:\n\t var maxLength = 0;\n\n\t // Format the list according to options, store the length of the longest string:\n\t var formatted = list.map(function (val) {\n\t if (Array.isArray(val)) {\n\t // Recursively format columns if list is a multi-dimensional array:\n\t return formatColumn(val, opts);\n\t }\n\t // Clean up the value\n\t val = unformat(val, opts.decimal);\n\n\t // Choose which format to use for this value (pos, neg or zero):\n\t var useFormat = undefined;\n\n\t if (val > 0) {\n\t useFormat = formats.pos;\n\t } else if (val < 0) {\n\t useFormat = formats.neg;\n\t } else {\n\t useFormat = formats.zero;\n\t }\n\n\t // Format this value, push into formatted list and save the length:\n\t var fVal = useFormat.replace('%s', opts.symbol).replace('%v', formatNumber(Math.abs(val), opts));\n\n\t if (fVal.length > maxLength) {\n\t maxLength = fVal.length;\n\t }\n\n\t return fVal;\n\t });\n\n\t // Pad each number in the list and send back the column of numbers:\n\t return formatted.map(function (val) {\n\t // Only if this is a string (not a nested array, which would have already been padded):\n\t if (isString(val) && val.length < maxLength) {\n\t // Depending on symbol position, pad after symbol or at index 0:\n\t return padAfterSymbol ? val.replace(opts.symbol, opts.symbol + new Array(maxLength - val.length + 1).join(' ')) : new Array(maxLength - val.length + 1).join(' ') + val;\n\t }\n\t return val;\n\t });\n\t}\n\n\texports.settings = settings;\n\texports.unformat = unformat;\n\texports.toFixed = toFixed;\n\texports.formatMoney = formatMoney;\n\texports.formatNumber = formatNumber;\n\texports.formatColumn = formatColumn;\n\texports.format = formatMoney;\n\texports.parse = unformat;\n\n}));\n//# sourceMappingURL=accounting.umd.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/accounting-js/dist/accounting.umd.js\n// module id = U0Mp\n// module chunks = 0 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52","// style-loader: Adds some css to the DOM by adding a \r\n\n\n\n// WEBPACK FOOTER //\n// resources/assets/js/components/enso/vuedatatable/Overlay.vue","\r\n\r\n \r\n \r\n \r\n \r\n \r\n {{ key }}\r\n \r\n \r\n\r\n\r\n\r\n\r\n\n\n\n// WEBPACK FOOTER //\n// resources/assets/js/components/enso/vuedatatable/topControls/StyleSelector.vue","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('thead',[_c('tr',{class:_vm.template.style},[(_vm.template.crtNo)?_c('th',{class:_vm.template.align},[_vm._v(\"\\n \"+_vm._s(_vm.i18n(_vm.template.labels.crtNo))+\"\\n \")]):_vm._e(),_vm._v(\" \"),_vm._l((_vm.template.columns),function(column){return (column.meta.visible && !column.meta.hidden && !column.meta.rogue)?_c('th',{key:column.label,class:[\n 'vue-table-header',\n column.align\n ? _vm.template.aligns[column.align]\n : _vm.template.align\n ]},[_vm._v(\"\\n \"+_vm._s(_vm.i18n(column.label))+\"\\n \"),_c('span',{staticClass:\"table-header-controls\"},[(column.tooltip)?_c('span',{directives:[{name:\"tooltip\",rawName:\"v-tooltip\",value:(_vm.i18n(column.tooltip)),expression:\"i18n(column.tooltip)\"}],staticClass:\"icon is-small has-text-info\"},[_c('fa',{attrs:{\"icon\":\"info\",\"size\":\"xs\"}})],1):_vm._e(),_vm._v(\" \"),(column.meta.sortable)?_c('span',{staticClass:\"sorter\",on:{\"click\":function($event){_vm.toggleSort($event, column)}}},[_c('span',{staticClass:\"icon is-small\"},[_c('fa',{attrs:{\"icon\":_vm.sortIcon(column.meta.sort),\"size\":\"xs\"}})],1)]):_vm._e(),_vm._v(\" \"),(column.meta.sort)?_c('a',{staticClass:\"delete is-small\",on:{\"click\":function($event){_vm.clearColumnSort(column)}}}):_vm._e()])]):_vm._e()}),_vm._v(\" \"),(_vm.template.actions)?_c('th',{class:_vm.template.align},[_vm._v(\"\\n \"+_vm._s(_vm.i18n(_vm.template.labels.actions))+\"\\n \")]):_vm._e()],2)])}\nvar staticRenderFns = []\nmodule.exports = { render: render, staticRenderFns: staticRenderFns }\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/vue-loader/lib/template-compiler?{\"id\":\"data-v-433275fc\",\"hasScoped\":false,\"buble\":{\"transforms\":{}}}!./node_modules/vue-loader/lib/selector.js?type=template&index=0!./resources/assets/js/components/enso/vuedatatable/TableHeader.vue\n// module id = akE6\n// module chunks = 0 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28","'use strict';\n\n/**\n * Copyright Marc J. Schmidt. See the LICENSE file at the top-level\n * directory of this distribution and at\n * https://github.com/marcj/css-element-queries/blob/master/LICENSE.\n */\n(function (root, factory) {\n if (typeof define === \"function\" && define.amd) {\n define(factory);\n } else if (typeof exports === \"object\") {\n module.exports = factory();\n } else {\n root.ResizeSensor = factory();\n }\n}(typeof window !== 'undefined' ? window : this, function () {\n\n // Make sure it does not throw in a SSR (Server Side Rendering) situation\n if (typeof window === \"undefined\") {\n return null;\n }\n // Only used for the dirty checking, so the event callback count is limited to max 1 call per fps per sensor.\n // In combination with the event based resize sensor this saves cpu time, because the sensor is too fast and\n // would generate too many unnecessary events.\n var requestAnimationFrame = window.requestAnimationFrame ||\n window.mozRequestAnimationFrame ||\n window.webkitRequestAnimationFrame ||\n function (fn) {\n return window.setTimeout(fn, 20);\n };\n\n /**\n * Iterate over each of the provided element(s).\n *\n * @param {HTMLElement|HTMLElement[]} elements\n * @param {Function} callback\n */\n function forEachElement(elements, callback){\n var elementsType = Object.prototype.toString.call(elements);\n var isCollectionTyped = ('[object Array]' === elementsType\n || ('[object NodeList]' === elementsType)\n || ('[object HTMLCollection]' === elementsType)\n || ('[object Object]' === elementsType)\n || ('undefined' !== typeof jQuery && elements instanceof jQuery) //jquery\n || ('undefined' !== typeof Elements && elements instanceof Elements) //mootools\n );\n var i = 0, j = elements.length;\n if (isCollectionTyped) {\n for (; i < j; i++) {\n callback(elements[i]);\n }\n } else {\n callback(elements);\n }\n }\n\n /**\n * Get element size\n * @param {HTMLElement} element\n * @returns {Object} {width, height}\n */\n function getElementSize(element) {\n if (!element.getBoundingClientRect) {\n return {\n width: element.offsetWidth,\n height: element.offsetHeight\n }\n }\n\n var rect = element.getBoundingClientRect();\n return {\n width: Math.round(rect.width),\n height: Math.round(rect.height)\n }\n }\n\n /**\n * Class for dimension change detection.\n *\n * @param {Element|Element[]|Elements|jQuery} element\n * @param {Function} callback\n *\n * @constructor\n */\n var ResizeSensor = function(element, callback) {\n /**\n *\n * @constructor\n */\n function EventQueue() {\n var q = [];\n this.add = function(ev) {\n q.push(ev);\n };\n\n var i, j;\n this.call = function() {\n for (i = 0, j = q.length; i < j; i++) {\n q[i].call();\n }\n };\n\n this.remove = function(ev) {\n var newQueue = [];\n for(i = 0, j = q.length; i < j; i++) {\n if(q[i] !== ev) newQueue.push(q[i]);\n }\n q = newQueue;\n };\n\n this.length = function() {\n return q.length;\n }\n }\n\n /**\n *\n * @param {HTMLElement} element\n * @param {Function} resized\n */\n function attachResizeEvent(element, resized) {\n if (!element) return;\n if (element.resizedAttached) {\n element.resizedAttached.add(resized);\n return;\n }\n\n element.resizedAttached = new EventQueue();\n element.resizedAttached.add(resized);\n\n element.resizeSensor = document.createElement('div');\n element.resizeSensor.dir = 'ltr';\n element.resizeSensor.className = 'resize-sensor';\n var style = 'position: absolute; left: -10px; top: -10px; right: 0; bottom: 0; overflow: hidden; z-index: -1; visibility: hidden;';\n var styleChild = 'position: absolute; left: 0; top: 0; transition: 0s;';\n\n element.resizeSensor.style.cssText = style;\n element.resizeSensor.innerHTML =\n '
\r\n \r\n\r\n\r\n\r\n\r\n\r\n\r\n\n\n\n// WEBPACK FOOTER //\n// resources/assets/js/components/enso/vuedatatable/TableFooter.vue","(function (global, factory) {\n\ttypeof exports === 'object' && typeof module !== 'undefined' ? factory(exports) :\n\ttypeof define === 'function' && define.amd ? define(['exports'], factory) :\n\t(factory((global.accounting = global.accounting || {})));\n}(this, function (exports) { 'use strict';\n\n\tfunction __commonjs(fn, module) { return module = { exports: {} }, fn(module, module.exports), module.exports; }\n\n\t/**\n\t * The library's settings configuration object.\n\t *\n\t * Contains default parameters for currency and number formatting\n\t */\n\tvar settings = {\n\t symbol: '$', // default currency symbol is '$'\n\t format: '%s%v', // controls output: %s = symbol, %v = value (can be object, see docs)\n\t decimal: '.', // decimal point separator\n\t thousand: ',', // thousands separator\n\t precision: 2, // decimal places\n\t grouping: 3, // digit grouping (not implemented yet)\n\t stripZeros: false, // strip insignificant zeros from decimal part\n\t fallback: 0 // value returned on unformat() failure\n\t};\n\n\t/**\n\t * Takes a string/array of strings, removes all formatting/cruft and returns the raw float value\n\t * Alias: `accounting.parse(string)`\n\t *\n\t * Decimal must be included in the regular expression to match floats (defaults to\n\t * accounting.settings.decimal), so if the number uses a non-standard decimal\n\t * separator, provide it as the second argument.\n\t *\n\t * Also matches bracketed negatives (eg. '$ (1.99)' => -1.99)\n\t *\n\t * Doesn't throw any errors (`NaN`s become 0) but this may change in future\n\t *\n\t * ```js\n\t * accounting.unformat(\"£ 12,345,678.90 GBP\"); // 12345678.9\n\t * ```\n\t *\n\t * @method unformat\n\t * @for accounting\n\t * @param {String|Array} value The string or array of strings containing the number/s to parse.\n\t * @param {Number} decimal Number of decimal digits of the resultant number\n\t * @return {Float} The parsed number\n\t */\n\tfunction unformat(value) {\n\t var decimal = arguments.length <= 1 || arguments[1] === undefined ? settings.decimal : arguments[1];\n\t var fallback = arguments.length <= 2 || arguments[2] === undefined ? settings.fallback : arguments[2];\n\n\t // Recursively unformat arrays:\n\t if (Array.isArray(value)) {\n\t return value.map(function (val) {\n\t return unformat(val, decimal, fallback);\n\t });\n\t }\n\n\t // Return the value as-is if it's already a number:\n\t if (typeof value === 'number') return value;\n\n\t // Build regex to strip out everything except digits, decimal point and minus sign:\n\t var regex = new RegExp('[^0-9-(-)-' + decimal + ']', ['g']);\n\t var unformattedValueString = ('' + value).replace(regex, '') // strip out any cruft\n\t .replace(decimal, '.') // make sure decimal point is standard\n\t .replace(/\\(([-]*\\d*[^)]?\\d+)\\)/g, '-$1') // replace bracketed values with negatives\n\t .replace(/\\((.*)\\)/, ''); // remove any brackets that do not have numeric value\n\n\t /**\n\t * Handling -ve number and bracket, eg.\n\t * (-100) = 100, -(100) = 100, --100 = 100\n\t */\n\t var negative = (unformattedValueString.match(/-/g) || 2).length % 2,\n\t absUnformatted = parseFloat(unformattedValueString.replace(/-/g, '')),\n\t unformatted = absUnformatted * (negative ? -1 : 1);\n\n\t // This will fail silently which may cause trouble, let's wait and see:\n\t return !isNaN(unformatted) ? unformatted : fallback;\n\t}\n\n\t/**\n\t * Check and normalise the value of precision (must be positive integer)\n\t */\n\tfunction _checkPrecision(val, base) {\n\t val = Math.round(Math.abs(val));\n\t return isNaN(val) ? base : val;\n\t}\n\n\t/**\n\t * Implementation of toFixed() that treats floats more like decimals\n\t *\n\t * Fixes binary rounding issues (eg. (0.615).toFixed(2) === '0.61') that present\n\t * problems for accounting- and finance-related software.\n\t *\n\t * ```js\n\t * (0.615).toFixed(2); // \"0.61\" (native toFixed has rounding issues)\n\t * accounting.toFixed(0.615, 2); // \"0.62\"\n\t * ```\n\t *\n\t * @method toFixed\n\t * @for accounting\n\t * @param {Float} value The float to be treated as a decimal number.\n\t * @param {Number} [precision=2] The number of decimal digits to keep.\n\t * @return {String} The given number transformed into a string with the given precission\n\t */\n\tfunction toFixed(value, precision) {\n\t precision = _checkPrecision(precision, settings.precision);\n\t var power = Math.pow(10, precision);\n\n\t // Multiply up by precision, round accurately, then divide and use native toFixed():\n\t return (Math.round((value + 1e-8) * power) / power).toFixed(precision);\n\t}\n\n\tvar index = __commonjs(function (module) {\n\t/* eslint-disable no-unused-vars */\n\t'use strict';\n\tvar hasOwnProperty = Object.prototype.hasOwnProperty;\n\tvar propIsEnumerable = Object.prototype.propertyIsEnumerable;\n\n\tfunction toObject(val) {\n\t\tif (val === null || val === undefined) {\n\t\t\tthrow new TypeError('Object.assign cannot be called with null or undefined');\n\t\t}\n\n\t\treturn Object(val);\n\t}\n\n\tmodule.exports = Object.assign || function (target, source) {\n\t\tvar from;\n\t\tvar to = toObject(target);\n\t\tvar symbols;\n\n\t\tfor (var s = 1; s < arguments.length; s++) {\n\t\t\tfrom = Object(arguments[s]);\n\n\t\t\tfor (var key in from) {\n\t\t\t\tif (hasOwnProperty.call(from, key)) {\n\t\t\t\t\tto[key] = from[key];\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tif (Object.getOwnPropertySymbols) {\n\t\t\t\tsymbols = Object.getOwnPropertySymbols(from);\n\t\t\t\tfor (var i = 0; i < symbols.length; i++) {\n\t\t\t\t\tif (propIsEnumerable.call(from, symbols[i])) {\n\t\t\t\t\t\tto[symbols[i]] = from[symbols[i]];\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\treturn to;\n\t};\n\t});\n\n\tvar objectAssign = (index && typeof index === 'object' && 'default' in index ? index['default'] : index);\n\n\tfunction _stripInsignificantZeros(str, decimal) {\n\t var parts = str.split(decimal);\n\t var integerPart = parts[0];\n\t var decimalPart = parts[1].replace(/0+$/, '');\n\n\t if (decimalPart.length > 0) {\n\t return integerPart + decimal + decimalPart;\n\t }\n\n\t return integerPart;\n\t}\n\n\t/**\n\t * Format a number, with comma-separated thousands and custom precision/decimal places\n\t * Alias: `accounting.format()`\n\t *\n\t * Localise by overriding the precision and thousand / decimal separators\n\t *\n\t * ```js\n\t * accounting.formatNumber(5318008); // 5,318,008\n\t * accounting.formatNumber(9876543.21, { precision: 3, thousand: \" \" }); // 9 876 543.210\n\t * ```\n\t *\n\t * @method formatNumber\n\t * @for accounting\n\t * @param {Number} number The number to be formatted.\n\t * @param {Object} [opts={}] Object containing all the options of the method.\n\t * @return {String} The given number properly formatted.\n\t */\n\tfunction formatNumber(number) {\n\t var opts = arguments.length <= 1 || arguments[1] === undefined ? {} : arguments[1];\n\n\t // Resursively format arrays:\n\t if (Array.isArray(number)) {\n\t return number.map(function (val) {\n\t return formatNumber(val, opts);\n\t });\n\t }\n\n\t // Build options object from second param (if object) or all params, extending defaults:\n\t opts = objectAssign({}, settings, opts);\n\n\t // Do some calc:\n\t var negative = number < 0 ? '-' : '';\n\t var base = parseInt(toFixed(Math.abs(number), opts.precision), 10) + '';\n\t var mod = base.length > 3 ? base.length % 3 : 0;\n\n\t // Format the number:\n\t var formatted = negative + (mod ? base.substr(0, mod) + opts.thousand : '') + base.substr(mod).replace(/(\\d{3})(?=\\d)/g, '$1' + opts.thousand) + (opts.precision > 0 ? opts.decimal + toFixed(Math.abs(number), opts.precision).split('.')[1] : '');\n\n\t return opts.stripZeros ? _stripInsignificantZeros(formatted, opts.decimal) : formatted;\n\t}\n\n\tvar index$1 = __commonjs(function (module) {\n\t'use strict';\n\n\tvar strValue = String.prototype.valueOf;\n\tvar tryStringObject = function tryStringObject(value) {\n\t\ttry {\n\t\t\tstrValue.call(value);\n\t\t\treturn true;\n\t\t} catch (e) {\n\t\t\treturn false;\n\t\t}\n\t};\n\tvar toStr = Object.prototype.toString;\n\tvar strClass = '[object String]';\n\tvar hasToStringTag = typeof Symbol === 'function' && typeof Symbol.toStringTag === 'symbol';\n\n\tmodule.exports = function isString(value) {\n\t\tif (typeof value === 'string') { return true; }\n\t\tif (typeof value !== 'object') { return false; }\n\t\treturn hasToStringTag ? tryStringObject(value) : toStr.call(value) === strClass;\n\t};\n\t});\n\n\tvar isString = (index$1 && typeof index$1 === 'object' && 'default' in index$1 ? index$1['default'] : index$1);\n\n\t/**\n\t * Parses a format string or object and returns format obj for use in rendering\n\t *\n\t * `format` is either a string with the default (positive) format, or object\n\t * containing `pos` (required), `neg` and `zero` values\n\t *\n\t * Either string or format.pos must contain \"%v\" (value) to be valid\n\t *\n\t * @method _checkCurrencyFormat\n\t * @for accounting\n\t * @param {String} [format=\"%s%v\"] String with the format to apply, where %s is the currency symbol and %v is the value.\n\t * @return {Object} object represnting format (with pos, neg and zero attributes)\n\t */\n\tfunction _checkCurrencyFormat(format) {\n\t // Format should be a string, in which case `value` ('%v') must be present:\n\t if (isString(format) && format.match('%v')) {\n\t // Create and return positive, negative and zero formats:\n\t return {\n\t pos: format,\n\t neg: format.replace('-', '').replace('%v', '-%v'),\n\t zero: format\n\t };\n\t }\n\n\t // Otherwise, assume format was fine:\n\t return format;\n\t}\n\n\t/**\n\t * Format a number into currency\n\t *\n\t * Usage: accounting.formatMoney(number, symbol, precision, thousandsSep, decimalSep, format)\n\t * defaults: (0, '$', 2, ',', '.', '%s%v')\n\t *\n\t * Localise by overriding the symbol, precision, thousand / decimal separators and format\n\t *\n\t * ```js\n\t * // Default usage:\n\t * accounting.formatMoney(12345678); // $12,345,678.00\n\t *\n\t * // European formatting (custom symbol and separators), can also use options object as second parameter:\n\t * accounting.formatMoney(4999.99, { symbol: \"€\", precision: 2, thousand: \".\", decimal: \",\" }); // €4.999,99\n\t *\n\t * // Negative values can be formatted nicely:\n\t * accounting.formatMoney(-500000, { symbol: \"£ \", precision: 0 }); // £ -500,000\n\t *\n\t * // Simple `format` string allows control of symbol position (%v = value, %s = symbol):\n\t * accounting.formatMoney(5318008, { symbol: \"GBP\", format: \"%v %s\" }); // 5,318,008.00 GBP\n\t * ```\n\t *\n\t * @method formatMoney\n\t * @for accounting\n\t * @param {Number} number Number to be formatted.\n\t * @param {Object} [opts={}] Object containing all the options of the method.\n\t * @return {String} The given number properly formatted as money.\n\t */\n\tfunction formatMoney(number) {\n\t var opts = arguments.length <= 1 || arguments[1] === undefined ? {} : arguments[1];\n\n\t // Resursively format arrays:\n\t if (Array.isArray(number)) {\n\t return number.map(function (val) {\n\t return formatMoney(val, opts);\n\t });\n\t }\n\n\t // Build options object from second param (if object) or all params, extending defaults:\n\t opts = objectAssign({}, settings, opts);\n\n\t // Check format (returns object with pos, neg and zero):\n\t var formats = _checkCurrencyFormat(opts.format);\n\n\t // Choose which format to use for this value:\n\t var useFormat = undefined;\n\n\t if (number > 0) {\n\t useFormat = formats.pos;\n\t } else if (number < 0) {\n\t useFormat = formats.neg;\n\t } else {\n\t useFormat = formats.zero;\n\t }\n\n\t // Return with currency symbol added:\n\t return useFormat.replace('%s', opts.symbol).replace('%v', formatNumber(Math.abs(number), opts));\n\t}\n\n\t/**\n\t * Format a list of numbers into an accounting column, padding with whitespace\n\t * to line up currency symbols, thousand separators and decimals places\n\t *\n\t * List should be an array of numbers\n\t *\n\t * Returns array of accouting-formatted number strings of same length\n\t *\n\t * NB: `white-space:pre` CSS rule is required on the list container to prevent\n\t * browsers from collapsing the whitespace in the output strings.\n\t *\n\t * ```js\n\t * accounting.formatColumn([123.5, 3456.49, 777888.99, 12345678, -5432], { symbol: \"$ \" });\n\t * ```\n\t *\n\t * @method formatColumn\n\t * @for accounting\n\t * @param {Array} list An array of numbers to format\n\t * @param {Object} [opts={}] Object containing all the options of the method.\n\t * @param {Object|String} [symbol=\"$\"] String with the currency symbol. For conveniency if can be an object containing all the options of the method.\n\t * @param {Integer} [precision=2] Number of decimal digits\n\t * @param {String} [thousand=','] String with the thousands separator.\n\t * @param {String} [decimal=\".\"] String with the decimal separator.\n\t * @param {String} [format=\"%s%v\"] String with the format to apply, where %s is the currency symbol and %v is the value.\n\t * @return {Array} array of accouting-formatted number strings of same length\n\t */\n\tfunction formatColumn(list) {\n\t var opts = arguments.length <= 1 || arguments[1] === undefined ? {} : arguments[1];\n\n\t if (!list) return [];\n\n\t // Build options object from second param (if object) or all params, extending defaults:\n\t opts = objectAssign({}, settings, opts);\n\n\t // Check format (returns object with pos, neg and zero), only need pos for now:\n\t var formats = _checkCurrencyFormat(opts.format);\n\n\t // Whether to pad at start of string or after currency symbol:\n\t var padAfterSymbol = formats.pos.indexOf('%s') < formats.pos.indexOf('%v');\n\n\t // Store value for the length of the longest string in the column:\n\t var maxLength = 0;\n\n\t // Format the list according to options, store the length of the longest string:\n\t var formatted = list.map(function (val) {\n\t if (Array.isArray(val)) {\n\t // Recursively format columns if list is a multi-dimensional array:\n\t return formatColumn(val, opts);\n\t }\n\t // Clean up the value\n\t val = unformat(val, opts.decimal);\n\n\t // Choose which format to use for this value (pos, neg or zero):\n\t var useFormat = undefined;\n\n\t if (val > 0) {\n\t useFormat = formats.pos;\n\t } else if (val < 0) {\n\t useFormat = formats.neg;\n\t } else {\n\t useFormat = formats.zero;\n\t }\n\n\t // Format this value, push into formatted list and save the length:\n\t var fVal = useFormat.replace('%s', opts.symbol).replace('%v', formatNumber(Math.abs(val), opts));\n\n\t if (fVal.length > maxLength) {\n\t maxLength = fVal.length;\n\t }\n\n\t return fVal;\n\t });\n\n\t // Pad each number in the list and send back the column of numbers:\n\t return formatted.map(function (val) {\n\t // Only if this is a string (not a nested array, which would have already been padded):\n\t if (isString(val) && val.length < maxLength) {\n\t // Depending on symbol position, pad after symbol or at index 0:\n\t return padAfterSymbol ? val.replace(opts.symbol, opts.symbol + new Array(maxLength - val.length + 1).join(' ')) : new Array(maxLength - val.length + 1).join(' ') + val;\n\t }\n\t return val;\n\t });\n\t}\n\n\texports.settings = settings;\n\texports.unformat = unformat;\n\texports.toFixed = toFixed;\n\texports.formatMoney = formatMoney;\n\texports.formatNumber = formatNumber;\n\texports.formatColumn = formatColumn;\n\texports.format = formatMoney;\n\texports.parse = unformat;\n\n}));\n//# sourceMappingURL=accounting.umd.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/accounting-js/dist/accounting.umd.js\n// module id = U0Mp\n// module chunks = 0 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52","// style-loader: Adds some css to the DOM by adding a \r\n\n\n\n// WEBPACK FOOTER //\n// resources/assets/js/components/enso/vuedatatable/Overlay.vue","\r\n\r\n \r\n \r\n \r\n \r\n \r\n {{ key }}\r\n \r\n \r\n\r\n\r\n\r\n\r\n\n\n\n// WEBPACK FOOTER //\n// resources/assets/js/components/enso/vuedatatable/topControls/StyleSelector.vue","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('thead',[_c('tr',{class:_vm.template.style},[(_vm.template.crtNo)?_c('th',{class:_vm.template.align},[_vm._v(\"\\n \"+_vm._s(_vm.i18n(_vm.template.labels.crtNo))+\"\\n \")]):_vm._e(),_vm._v(\" \"),_vm._l((_vm.template.columns),function(column){return (column.meta.visible && !column.meta.hidden && !column.meta.rogue)?_c('th',{key:column.label,class:[\n 'vue-table-header',\n column.align\n ? _vm.template.aligns[column.align]\n : _vm.template.align\n ]},[_vm._v(\"\\n \"+_vm._s(_vm.i18n(column.label))+\"\\n \"),_c('span',{staticClass:\"table-header-controls\"},[(column.tooltip)?_c('span',{directives:[{name:\"tooltip\",rawName:\"v-tooltip\",value:(_vm.i18n(column.tooltip)),expression:\"i18n(column.tooltip)\"}],staticClass:\"icon is-small has-text-info\"},[_c('fa',{attrs:{\"icon\":\"info\",\"size\":\"xs\"}})],1):_vm._e(),_vm._v(\" \"),(column.meta.sortable)?_c('span',{staticClass:\"sorter\",on:{\"click\":function($event){_vm.toggleSort($event, column)}}},[_c('span',{staticClass:\"icon is-small\"},[_c('fa',{attrs:{\"icon\":_vm.sortIcon(column.meta.sort),\"size\":\"xs\"}})],1)]):_vm._e(),_vm._v(\" \"),(column.meta.sort)?_c('a',{staticClass:\"delete is-small\",on:{\"click\":function($event){_vm.clearColumnSort(column)}}}):_vm._e()])]):_vm._e()}),_vm._v(\" \"),(_vm.template.actions)?_c('th',{class:_vm.template.align},[_vm._v(\"\\n \"+_vm._s(_vm.i18n(_vm.template.labels.actions))+\"\\n \")]):_vm._e()],2)])}\nvar staticRenderFns = []\nmodule.exports = { render: render, staticRenderFns: staticRenderFns }\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/vue-loader/lib/template-compiler?{\"id\":\"data-v-433275fc\",\"hasScoped\":false,\"buble\":{\"transforms\":{}}}!./node_modules/vue-loader/lib/selector.js?type=template&index=0!./resources/assets/js/components/enso/vuedatatable/TableHeader.vue\n// module id = akE6\n// module chunks = 0 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28","'use strict';\n\n/**\n * Copyright Marc J. Schmidt. See the LICENSE file at the top-level\n * directory of this distribution and at\n * https://github.com/marcj/css-element-queries/blob/master/LICENSE.\n */\n(function (root, factory) {\n if (typeof define === \"function\" && define.amd) {\n define(factory);\n } else if (typeof exports === \"object\") {\n module.exports = factory();\n } else {\n root.ResizeSensor = factory();\n }\n}(typeof window !== 'undefined' ? window : this, function () {\n\n // Make sure it does not throw in a SSR (Server Side Rendering) situation\n if (typeof window === \"undefined\") {\n return null;\n }\n // Only used for the dirty checking, so the event callback count is limited to max 1 call per fps per sensor.\n // In combination with the event based resize sensor this saves cpu time, because the sensor is too fast and\n // would generate too many unnecessary events.\n var requestAnimationFrame = window.requestAnimationFrame ||\n window.mozRequestAnimationFrame ||\n window.webkitRequestAnimationFrame ||\n function (fn) {\n return window.setTimeout(fn, 20);\n };\n\n /**\n * Iterate over each of the provided element(s).\n *\n * @param {HTMLElement|HTMLElement[]} elements\n * @param {Function} callback\n */\n function forEachElement(elements, callback){\n var elementsType = Object.prototype.toString.call(elements);\n var isCollectionTyped = ('[object Array]' === elementsType\n || ('[object NodeList]' === elementsType)\n || ('[object HTMLCollection]' === elementsType)\n || ('[object Object]' === elementsType)\n || ('undefined' !== typeof jQuery && elements instanceof jQuery) //jquery\n || ('undefined' !== typeof Elements && elements instanceof Elements) //mootools\n );\n var i = 0, j = elements.length;\n if (isCollectionTyped) {\n for (; i < j; i++) {\n callback(elements[i]);\n }\n } else {\n callback(elements);\n }\n }\n\n /**\n * Get element size\n * @param {HTMLElement} element\n * @returns {Object} {width, height}\n */\n function getElementSize(element) {\n if (!element.getBoundingClientRect) {\n return {\n width: element.offsetWidth,\n height: element.offsetHeight\n }\n }\n\n var rect = element.getBoundingClientRect();\n return {\n width: Math.round(rect.width),\n height: Math.round(rect.height)\n }\n }\n\n /**\n * Class for dimension change detection.\n *\n * @param {Element|Element[]|Elements|jQuery} element\n * @param {Function} callback\n *\n * @constructor\n */\n var ResizeSensor = function(element, callback) {\n /**\n *\n * @constructor\n */\n function EventQueue() {\n var q = [];\n this.add = function(ev) {\n q.push(ev);\n };\n\n var i, j;\n this.call = function() {\n for (i = 0, j = q.length; i < j; i++) {\n q[i].call();\n }\n };\n\n this.remove = function(ev) {\n var newQueue = [];\n for(i = 0, j = q.length; i < j; i++) {\n if(q[i] !== ev) newQueue.push(q[i]);\n }\n q = newQueue;\n };\n\n this.length = function() {\n return q.length;\n }\n }\n\n /**\n *\n * @param {HTMLElement} element\n * @param {Function} resized\n */\n function attachResizeEvent(element, resized) {\n if (!element) return;\n if (element.resizedAttached) {\n element.resizedAttached.add(resized);\n return;\n }\n\n element.resizedAttached = new EventQueue();\n element.resizedAttached.add(resized);\n\n element.resizeSensor = document.createElement('div');\n element.resizeSensor.dir = 'ltr';\n element.resizeSensor.className = 'resize-sensor';\n var style = 'position: absolute; left: -10px; top: -10px; right: 0; bottom: 0; overflow: hidden; z-index: -1; visibility: hidden;';\n var styleChild = 'position: absolute; left: 0; top: 0; transition: 0s;';\n\n element.resizeSensor.style.cssText = style;\n element.resizeSensor.innerHTML =\n '
\r\n \r\n\r\n\r\n\r\n\r\n\r\n\r\n\n\n\n// WEBPACK FOOTER //\n// resources/assets/js/components/enso/vuedatatable/TableFooter.vue","(function (global, factory) {\n\ttypeof exports === 'object' && typeof module !== 'undefined' ? factory(exports) :\n\ttypeof define === 'function' && define.amd ? define(['exports'], factory) :\n\t(factory((global.accounting = global.accounting || {})));\n}(this, function (exports) { 'use strict';\n\n\tfunction __commonjs(fn, module) { return module = { exports: {} }, fn(module, module.exports), module.exports; }\n\n\t/**\n\t * The library's settings configuration object.\n\t *\n\t * Contains default parameters for currency and number formatting\n\t */\n\tvar settings = {\n\t symbol: '$', // default currency symbol is '$'\n\t format: '%s%v', // controls output: %s = symbol, %v = value (can be object, see docs)\n\t decimal: '.', // decimal point separator\n\t thousand: ',', // thousands separator\n\t precision: 2, // decimal places\n\t grouping: 3, // digit grouping (not implemented yet)\n\t stripZeros: false, // strip insignificant zeros from decimal part\n\t fallback: 0 // value returned on unformat() failure\n\t};\n\n\t/**\n\t * Takes a string/array of strings, removes all formatting/cruft and returns the raw float value\n\t * Alias: `accounting.parse(string)`\n\t *\n\t * Decimal must be included in the regular expression to match floats (defaults to\n\t * accounting.settings.decimal), so if the number uses a non-standard decimal\n\t * separator, provide it as the second argument.\n\t *\n\t * Also matches bracketed negatives (eg. '$ (1.99)' => -1.99)\n\t *\n\t * Doesn't throw any errors (`NaN`s become 0) but this may change in future\n\t *\n\t * ```js\n\t * accounting.unformat(\"£ 12,345,678.90 GBP\"); // 12345678.9\n\t * ```\n\t *\n\t * @method unformat\n\t * @for accounting\n\t * @param {String|Array} value The string or array of strings containing the number/s to parse.\n\t * @param {Number} decimal Number of decimal digits of the resultant number\n\t * @return {Float} The parsed number\n\t */\n\tfunction unformat(value) {\n\t var decimal = arguments.length <= 1 || arguments[1] === undefined ? settings.decimal : arguments[1];\n\t var fallback = arguments.length <= 2 || arguments[2] === undefined ? settings.fallback : arguments[2];\n\n\t // Recursively unformat arrays:\n\t if (Array.isArray(value)) {\n\t return value.map(function (val) {\n\t return unformat(val, decimal, fallback);\n\t });\n\t }\n\n\t // Return the value as-is if it's already a number:\n\t if (typeof value === 'number') return value;\n\n\t // Build regex to strip out everything except digits, decimal point and minus sign:\n\t var regex = new RegExp('[^0-9-(-)-' + decimal + ']', ['g']);\n\t var unformattedValueString = ('' + value).replace(regex, '') // strip out any cruft\n\t .replace(decimal, '.') // make sure decimal point is standard\n\t .replace(/\\(([-]*\\d*[^)]?\\d+)\\)/g, '-$1') // replace bracketed values with negatives\n\t .replace(/\\((.*)\\)/, ''); // remove any brackets that do not have numeric value\n\n\t /**\n\t * Handling -ve number and bracket, eg.\n\t * (-100) = 100, -(100) = 100, --100 = 100\n\t */\n\t var negative = (unformattedValueString.match(/-/g) || 2).length % 2,\n\t absUnformatted = parseFloat(unformattedValueString.replace(/-/g, '')),\n\t unformatted = absUnformatted * (negative ? -1 : 1);\n\n\t // This will fail silently which may cause trouble, let's wait and see:\n\t return !isNaN(unformatted) ? unformatted : fallback;\n\t}\n\n\t/**\n\t * Check and normalise the value of precision (must be positive integer)\n\t */\n\tfunction _checkPrecision(val, base) {\n\t val = Math.round(Math.abs(val));\n\t return isNaN(val) ? base : val;\n\t}\n\n\t/**\n\t * Implementation of toFixed() that treats floats more like decimals\n\t *\n\t * Fixes binary rounding issues (eg. (0.615).toFixed(2) === '0.61') that present\n\t * problems for accounting- and finance-related software.\n\t *\n\t * ```js\n\t * (0.615).toFixed(2); // \"0.61\" (native toFixed has rounding issues)\n\t * accounting.toFixed(0.615, 2); // \"0.62\"\n\t * ```\n\t *\n\t * @method toFixed\n\t * @for accounting\n\t * @param {Float} value The float to be treated as a decimal number.\n\t * @param {Number} [precision=2] The number of decimal digits to keep.\n\t * @return {String} The given number transformed into a string with the given precission\n\t */\n\tfunction toFixed(value, precision) {\n\t precision = _checkPrecision(precision, settings.precision);\n\t var power = Math.pow(10, precision);\n\n\t // Multiply up by precision, round accurately, then divide and use native toFixed():\n\t return (Math.round((value + 1e-8) * power) / power).toFixed(precision);\n\t}\n\n\tvar index = __commonjs(function (module) {\n\t/* eslint-disable no-unused-vars */\n\t'use strict';\n\tvar hasOwnProperty = Object.prototype.hasOwnProperty;\n\tvar propIsEnumerable = Object.prototype.propertyIsEnumerable;\n\n\tfunction toObject(val) {\n\t\tif (val === null || val === undefined) {\n\t\t\tthrow new TypeError('Object.assign cannot be called with null or undefined');\n\t\t}\n\n\t\treturn Object(val);\n\t}\n\n\tmodule.exports = Object.assign || function (target, source) {\n\t\tvar from;\n\t\tvar to = toObject(target);\n\t\tvar symbols;\n\n\t\tfor (var s = 1; s < arguments.length; s++) {\n\t\t\tfrom = Object(arguments[s]);\n\n\t\t\tfor (var key in from) {\n\t\t\t\tif (hasOwnProperty.call(from, key)) {\n\t\t\t\t\tto[key] = from[key];\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tif (Object.getOwnPropertySymbols) {\n\t\t\t\tsymbols = Object.getOwnPropertySymbols(from);\n\t\t\t\tfor (var i = 0; i < symbols.length; i++) {\n\t\t\t\t\tif (propIsEnumerable.call(from, symbols[i])) {\n\t\t\t\t\t\tto[symbols[i]] = from[symbols[i]];\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\treturn to;\n\t};\n\t});\n\n\tvar objectAssign = (index && typeof index === 'object' && 'default' in index ? index['default'] : index);\n\n\tfunction _stripInsignificantZeros(str, decimal) {\n\t var parts = str.split(decimal);\n\t var integerPart = parts[0];\n\t var decimalPart = parts[1].replace(/0+$/, '');\n\n\t if (decimalPart.length > 0) {\n\t return integerPart + decimal + decimalPart;\n\t }\n\n\t return integerPart;\n\t}\n\n\t/**\n\t * Format a number, with comma-separated thousands and custom precision/decimal places\n\t * Alias: `accounting.format()`\n\t *\n\t * Localise by overriding the precision and thousand / decimal separators\n\t *\n\t * ```js\n\t * accounting.formatNumber(5318008); // 5,318,008\n\t * accounting.formatNumber(9876543.21, { precision: 3, thousand: \" \" }); // 9 876 543.210\n\t * ```\n\t *\n\t * @method formatNumber\n\t * @for accounting\n\t * @param {Number} number The number to be formatted.\n\t * @param {Object} [opts={}] Object containing all the options of the method.\n\t * @return {String} The given number properly formatted.\n\t */\n\tfunction formatNumber(number) {\n\t var opts = arguments.length <= 1 || arguments[1] === undefined ? {} : arguments[1];\n\n\t // Resursively format arrays:\n\t if (Array.isArray(number)) {\n\t return number.map(function (val) {\n\t return formatNumber(val, opts);\n\t });\n\t }\n\n\t // Build options object from second param (if object) or all params, extending defaults:\n\t opts = objectAssign({}, settings, opts);\n\n\t // Do some calc:\n\t var negative = number < 0 ? '-' : '';\n\t var base = parseInt(toFixed(Math.abs(number), opts.precision), 10) + '';\n\t var mod = base.length > 3 ? base.length % 3 : 0;\n\n\t // Format the number:\n\t var formatted = negative + (mod ? base.substr(0, mod) + opts.thousand : '') + base.substr(mod).replace(/(\\d{3})(?=\\d)/g, '$1' + opts.thousand) + (opts.precision > 0 ? opts.decimal + toFixed(Math.abs(number), opts.precision).split('.')[1] : '');\n\n\t return opts.stripZeros ? _stripInsignificantZeros(formatted, opts.decimal) : formatted;\n\t}\n\n\tvar index$1 = __commonjs(function (module) {\n\t'use strict';\n\n\tvar strValue = String.prototype.valueOf;\n\tvar tryStringObject = function tryStringObject(value) {\n\t\ttry {\n\t\t\tstrValue.call(value);\n\t\t\treturn true;\n\t\t} catch (e) {\n\t\t\treturn false;\n\t\t}\n\t};\n\tvar toStr = Object.prototype.toString;\n\tvar strClass = '[object String]';\n\tvar hasToStringTag = typeof Symbol === 'function' && typeof Symbol.toStringTag === 'symbol';\n\n\tmodule.exports = function isString(value) {\n\t\tif (typeof value === 'string') { return true; }\n\t\tif (typeof value !== 'object') { return false; }\n\t\treturn hasToStringTag ? tryStringObject(value) : toStr.call(value) === strClass;\n\t};\n\t});\n\n\tvar isString = (index$1 && typeof index$1 === 'object' && 'default' in index$1 ? index$1['default'] : index$1);\n\n\t/**\n\t * Parses a format string or object and returns format obj for use in rendering\n\t *\n\t * `format` is either a string with the default (positive) format, or object\n\t * containing `pos` (required), `neg` and `zero` values\n\t *\n\t * Either string or format.pos must contain \"%v\" (value) to be valid\n\t *\n\t * @method _checkCurrencyFormat\n\t * @for accounting\n\t * @param {String} [format=\"%s%v\"] String with the format to apply, where %s is the currency symbol and %v is the value.\n\t * @return {Object} object represnting format (with pos, neg and zero attributes)\n\t */\n\tfunction _checkCurrencyFormat(format) {\n\t // Format should be a string, in which case `value` ('%v') must be present:\n\t if (isString(format) && format.match('%v')) {\n\t // Create and return positive, negative and zero formats:\n\t return {\n\t pos: format,\n\t neg: format.replace('-', '').replace('%v', '-%v'),\n\t zero: format\n\t };\n\t }\n\n\t // Otherwise, assume format was fine:\n\t return format;\n\t}\n\n\t/**\n\t * Format a number into currency\n\t *\n\t * Usage: accounting.formatMoney(number, symbol, precision, thousandsSep, decimalSep, format)\n\t * defaults: (0, '$', 2, ',', '.', '%s%v')\n\t *\n\t * Localise by overriding the symbol, precision, thousand / decimal separators and format\n\t *\n\t * ```js\n\t * // Default usage:\n\t * accounting.formatMoney(12345678); // $12,345,678.00\n\t *\n\t * // European formatting (custom symbol and separators), can also use options object as second parameter:\n\t * accounting.formatMoney(4999.99, { symbol: \"€\", precision: 2, thousand: \".\", decimal: \",\" }); // €4.999,99\n\t *\n\t * // Negative values can be formatted nicely:\n\t * accounting.formatMoney(-500000, { symbol: \"£ \", precision: 0 }); // £ -500,000\n\t *\n\t * // Simple `format` string allows control of symbol position (%v = value, %s = symbol):\n\t * accounting.formatMoney(5318008, { symbol: \"GBP\", format: \"%v %s\" }); // 5,318,008.00 GBP\n\t * ```\n\t *\n\t * @method formatMoney\n\t * @for accounting\n\t * @param {Number} number Number to be formatted.\n\t * @param {Object} [opts={}] Object containing all the options of the method.\n\t * @return {String} The given number properly formatted as money.\n\t */\n\tfunction formatMoney(number) {\n\t var opts = arguments.length <= 1 || arguments[1] === undefined ? {} : arguments[1];\n\n\t // Resursively format arrays:\n\t if (Array.isArray(number)) {\n\t return number.map(function (val) {\n\t return formatMoney(val, opts);\n\t });\n\t }\n\n\t // Build options object from second param (if object) or all params, extending defaults:\n\t opts = objectAssign({}, settings, opts);\n\n\t // Check format (returns object with pos, neg and zero):\n\t var formats = _checkCurrencyFormat(opts.format);\n\n\t // Choose which format to use for this value:\n\t var useFormat = undefined;\n\n\t if (number > 0) {\n\t useFormat = formats.pos;\n\t } else if (number < 0) {\n\t useFormat = formats.neg;\n\t } else {\n\t useFormat = formats.zero;\n\t }\n\n\t // Return with currency symbol added:\n\t return useFormat.replace('%s', opts.symbol).replace('%v', formatNumber(Math.abs(number), opts));\n\t}\n\n\t/**\n\t * Format a list of numbers into an accounting column, padding with whitespace\n\t * to line up currency symbols, thousand separators and decimals places\n\t *\n\t * List should be an array of numbers\n\t *\n\t * Returns array of accouting-formatted number strings of same length\n\t *\n\t * NB: `white-space:pre` CSS rule is required on the list container to prevent\n\t * browsers from collapsing the whitespace in the output strings.\n\t *\n\t * ```js\n\t * accounting.formatColumn([123.5, 3456.49, 777888.99, 12345678, -5432], { symbol: \"$ \" });\n\t * ```\n\t *\n\t * @method formatColumn\n\t * @for accounting\n\t * @param {Array} list An array of numbers to format\n\t * @param {Object} [opts={}] Object containing all the options of the method.\n\t * @param {Object|String} [symbol=\"$\"] String with the currency symbol. For conveniency if can be an object containing all the options of the method.\n\t * @param {Integer} [precision=2] Number of decimal digits\n\t * @param {String} [thousand=','] String with the thousands separator.\n\t * @param {String} [decimal=\".\"] String with the decimal separator.\n\t * @param {String} [format=\"%s%v\"] String with the format to apply, where %s is the currency symbol and %v is the value.\n\t * @return {Array} array of accouting-formatted number strings of same length\n\t */\n\tfunction formatColumn(list) {\n\t var opts = arguments.length <= 1 || arguments[1] === undefined ? {} : arguments[1];\n\n\t if (!list) return [];\n\n\t // Build options object from second param (if object) or all params, extending defaults:\n\t opts = objectAssign({}, settings, opts);\n\n\t // Check format (returns object with pos, neg and zero), only need pos for now:\n\t var formats = _checkCurrencyFormat(opts.format);\n\n\t // Whether to pad at start of string or after currency symbol:\n\t var padAfterSymbol = formats.pos.indexOf('%s') < formats.pos.indexOf('%v');\n\n\t // Store value for the length of the longest string in the column:\n\t var maxLength = 0;\n\n\t // Format the list according to options, store the length of the longest string:\n\t var formatted = list.map(function (val) {\n\t if (Array.isArray(val)) {\n\t // Recursively format columns if list is a multi-dimensional array:\n\t return formatColumn(val, opts);\n\t }\n\t // Clean up the value\n\t val = unformat(val, opts.decimal);\n\n\t // Choose which format to use for this value (pos, neg or zero):\n\t var useFormat = undefined;\n\n\t if (val > 0) {\n\t useFormat = formats.pos;\n\t } else if (val < 0) {\n\t useFormat = formats.neg;\n\t } else {\n\t useFormat = formats.zero;\n\t }\n\n\t // Format this value, push into formatted list and save the length:\n\t var fVal = useFormat.replace('%s', opts.symbol).replace('%v', formatNumber(Math.abs(val), opts));\n\n\t if (fVal.length > maxLength) {\n\t maxLength = fVal.length;\n\t }\n\n\t return fVal;\n\t });\n\n\t // Pad each number in the list and send back the column of numbers:\n\t return formatted.map(function (val) {\n\t // Only if this is a string (not a nested array, which would have already been padded):\n\t if (isString(val) && val.length < maxLength) {\n\t // Depending on symbol position, pad after symbol or at index 0:\n\t return padAfterSymbol ? val.replace(opts.symbol, opts.symbol + new Array(maxLength - val.length + 1).join(' ')) : new Array(maxLength - val.length + 1).join(' ') + val;\n\t }\n\t return val;\n\t });\n\t}\n\n\texports.settings = settings;\n\texports.unformat = unformat;\n\texports.toFixed = toFixed;\n\texports.formatMoney = formatMoney;\n\texports.formatNumber = formatNumber;\n\texports.formatColumn = formatColumn;\n\texports.format = formatMoney;\n\texports.parse = unformat;\n\n}));\n//# sourceMappingURL=accounting.umd.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/accounting-js/dist/accounting.umd.js\n// module id = U0Mp\n// module chunks = 0 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52","// style-loader: Adds some css to the DOM by adding a \r\n\n\n\n// WEBPACK FOOTER //\n// resources/assets/js/components/enso/vuedatatable/Overlay.vue","\r\n\r\n \r\n \r\n \r\n \r\n \r\n {{ key }}\r\n \r\n \r\n\r\n\r\n\r\n\r\n\n\n\n// WEBPACK FOOTER //\n// resources/assets/js/components/enso/vuedatatable/topControls/StyleSelector.vue","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('thead',[_c('tr',{class:_vm.template.style},[(_vm.template.crtNo)?_c('th',{class:_vm.template.align},[_vm._v(\"\\n \"+_vm._s(_vm.i18n(_vm.template.labels.crtNo))+\"\\n \")]):_vm._e(),_vm._v(\" \"),_vm._l((_vm.template.columns),function(column){return (column.meta.visible && !column.meta.hidden && !column.meta.rogue)?_c('th',{key:column.label,class:[\n 'vue-table-header',\n column.align\n ? _vm.template.aligns[column.align]\n : _vm.template.align\n ]},[_vm._v(\"\\n \"+_vm._s(_vm.i18n(column.label))+\"\\n \"),_c('span',{staticClass:\"table-header-controls\"},[(column.tooltip)?_c('span',{directives:[{name:\"tooltip\",rawName:\"v-tooltip\",value:(_vm.i18n(column.tooltip)),expression:\"i18n(column.tooltip)\"}],staticClass:\"icon is-small has-text-info\"},[_c('fa',{attrs:{\"icon\":\"info\",\"size\":\"xs\"}})],1):_vm._e(),_vm._v(\" \"),(column.meta.sortable)?_c('span',{staticClass:\"sorter\",on:{\"click\":function($event){_vm.toggleSort($event, column)}}},[_c('span',{staticClass:\"icon is-small\"},[_c('fa',{attrs:{\"icon\":_vm.sortIcon(column.meta.sort),\"size\":\"xs\"}})],1)]):_vm._e(),_vm._v(\" \"),(column.meta.sort)?_c('a',{staticClass:\"delete is-small\",on:{\"click\":function($event){_vm.clearColumnSort(column)}}}):_vm._e()])]):_vm._e()}),_vm._v(\" \"),(_vm.template.actions)?_c('th',{class:_vm.template.align},[_vm._v(\"\\n \"+_vm._s(_vm.i18n(_vm.template.labels.actions))+\"\\n \")]):_vm._e()],2)])}\nvar staticRenderFns = []\nmodule.exports = { render: render, staticRenderFns: staticRenderFns }\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/vue-loader/lib/template-compiler?{\"id\":\"data-v-433275fc\",\"hasScoped\":false,\"buble\":{\"transforms\":{}}}!./node_modules/vue-loader/lib/selector.js?type=template&index=0!./resources/assets/js/components/enso/vuedatatable/TableHeader.vue\n// module id = akE6\n// module chunks = 0 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28","'use strict';\n\n/**\n * Copyright Marc J. Schmidt. See the LICENSE file at the top-level\n * directory of this distribution and at\n * https://github.com/marcj/css-element-queries/blob/master/LICENSE.\n */\n(function (root, factory) {\n if (typeof define === \"function\" && define.amd) {\n define(factory);\n } else if (typeof exports === \"object\") {\n module.exports = factory();\n } else {\n root.ResizeSensor = factory();\n }\n}(typeof window !== 'undefined' ? window : this, function () {\n\n // Make sure it does not throw in a SSR (Server Side Rendering) situation\n if (typeof window === \"undefined\") {\n return null;\n }\n // Only used for the dirty checking, so the event callback count is limited to max 1 call per fps per sensor.\n // In combination with the event based resize sensor this saves cpu time, because the sensor is too fast and\n // would generate too many unnecessary events.\n var requestAnimationFrame = window.requestAnimationFrame ||\n window.mozRequestAnimationFrame ||\n window.webkitRequestAnimationFrame ||\n function (fn) {\n return window.setTimeout(fn, 20);\n };\n\n /**\n * Iterate over each of the provided element(s).\n *\n * @param {HTMLElement|HTMLElement[]} elements\n * @param {Function} callback\n */\n function forEachElement(elements, callback){\n var elementsType = Object.prototype.toString.call(elements);\n var isCollectionTyped = ('[object Array]' === elementsType\n || ('[object NodeList]' === elementsType)\n || ('[object HTMLCollection]' === elementsType)\n || ('[object Object]' === elementsType)\n || ('undefined' !== typeof jQuery && elements instanceof jQuery) //jquery\n || ('undefined' !== typeof Elements && elements instanceof Elements) //mootools\n );\n var i = 0, j = elements.length;\n if (isCollectionTyped) {\n for (; i < j; i++) {\n callback(elements[i]);\n }\n } else {\n callback(elements);\n }\n }\n\n /**\n * Get element size\n * @param {HTMLElement} element\n * @returns {Object} {width, height}\n */\n function getElementSize(element) {\n if (!element.getBoundingClientRect) {\n return {\n width: element.offsetWidth,\n height: element.offsetHeight\n }\n }\n\n var rect = element.getBoundingClientRect();\n return {\n width: Math.round(rect.width),\n height: Math.round(rect.height)\n }\n }\n\n /**\n * Class for dimension change detection.\n *\n * @param {Element|Element[]|Elements|jQuery} element\n * @param {Function} callback\n *\n * @constructor\n */\n var ResizeSensor = function(element, callback) {\n /**\n *\n * @constructor\n */\n function EventQueue() {\n var q = [];\n this.add = function(ev) {\n q.push(ev);\n };\n\n var i, j;\n this.call = function() {\n for (i = 0, j = q.length; i < j; i++) {\n q[i].call();\n }\n };\n\n this.remove = function(ev) {\n var newQueue = [];\n for(i = 0, j = q.length; i < j; i++) {\n if(q[i] !== ev) newQueue.push(q[i]);\n }\n q = newQueue;\n };\n\n this.length = function() {\n return q.length;\n }\n }\n\n /**\n *\n * @param {HTMLElement} element\n * @param {Function} resized\n */\n function attachResizeEvent(element, resized) {\n if (!element) return;\n if (element.resizedAttached) {\n element.resizedAttached.add(resized);\n return;\n }\n\n element.resizedAttached = new EventQueue();\n element.resizedAttached.add(resized);\n\n element.resizeSensor = document.createElement('div');\n element.resizeSensor.dir = 'ltr';\n element.resizeSensor.className = 'resize-sensor';\n var style = 'position: absolute; left: -10px; top: -10px; right: 0; bottom: 0; overflow: hidden; z-index: -1; visibility: hidden;';\n var styleChild = 'position: absolute; left: 0; top: 0; transition: 0s;';\n\n element.resizeSensor.style.cssText = style;\n element.resizeSensor.innerHTML =\n '
\r\n \r\n\r\n\r\n\r\n\r\n\r\n\r\n\n\n\n// WEBPACK FOOTER //\n// resources/assets/js/components/enso/vuedatatable/TableFooter.vue","(function (global, factory) {\n\ttypeof exports === 'object' && typeof module !== 'undefined' ? factory(exports) :\n\ttypeof define === 'function' && define.amd ? define(['exports'], factory) :\n\t(factory((global.accounting = global.accounting || {})));\n}(this, function (exports) { 'use strict';\n\n\tfunction __commonjs(fn, module) { return module = { exports: {} }, fn(module, module.exports), module.exports; }\n\n\t/**\n\t * The library's settings configuration object.\n\t *\n\t * Contains default parameters for currency and number formatting\n\t */\n\tvar settings = {\n\t symbol: '$', // default currency symbol is '$'\n\t format: '%s%v', // controls output: %s = symbol, %v = value (can be object, see docs)\n\t decimal: '.', // decimal point separator\n\t thousand: ',', // thousands separator\n\t precision: 2, // decimal places\n\t grouping: 3, // digit grouping (not implemented yet)\n\t stripZeros: false, // strip insignificant zeros from decimal part\n\t fallback: 0 // value returned on unformat() failure\n\t};\n\n\t/**\n\t * Takes a string/array of strings, removes all formatting/cruft and returns the raw float value\n\t * Alias: `accounting.parse(string)`\n\t *\n\t * Decimal must be included in the regular expression to match floats (defaults to\n\t * accounting.settings.decimal), so if the number uses a non-standard decimal\n\t * separator, provide it as the second argument.\n\t *\n\t * Also matches bracketed negatives (eg. '$ (1.99)' => -1.99)\n\t *\n\t * Doesn't throw any errors (`NaN`s become 0) but this may change in future\n\t *\n\t * ```js\n\t * accounting.unformat(\"£ 12,345,678.90 GBP\"); // 12345678.9\n\t * ```\n\t *\n\t * @method unformat\n\t * @for accounting\n\t * @param {String|Array} value The string or array of strings containing the number/s to parse.\n\t * @param {Number} decimal Number of decimal digits of the resultant number\n\t * @return {Float} The parsed number\n\t */\n\tfunction unformat(value) {\n\t var decimal = arguments.length <= 1 || arguments[1] === undefined ? settings.decimal : arguments[1];\n\t var fallback = arguments.length <= 2 || arguments[2] === undefined ? settings.fallback : arguments[2];\n\n\t // Recursively unformat arrays:\n\t if (Array.isArray(value)) {\n\t return value.map(function (val) {\n\t return unformat(val, decimal, fallback);\n\t });\n\t }\n\n\t // Return the value as-is if it's already a number:\n\t if (typeof value === 'number') return value;\n\n\t // Build regex to strip out everything except digits, decimal point and minus sign:\n\t var regex = new RegExp('[^0-9-(-)-' + decimal + ']', ['g']);\n\t var unformattedValueString = ('' + value).replace(regex, '') // strip out any cruft\n\t .replace(decimal, '.') // make sure decimal point is standard\n\t .replace(/\\(([-]*\\d*[^)]?\\d+)\\)/g, '-$1') // replace bracketed values with negatives\n\t .replace(/\\((.*)\\)/, ''); // remove any brackets that do not have numeric value\n\n\t /**\n\t * Handling -ve number and bracket, eg.\n\t * (-100) = 100, -(100) = 100, --100 = 100\n\t */\n\t var negative = (unformattedValueString.match(/-/g) || 2).length % 2,\n\t absUnformatted = parseFloat(unformattedValueString.replace(/-/g, '')),\n\t unformatted = absUnformatted * (negative ? -1 : 1);\n\n\t // This will fail silently which may cause trouble, let's wait and see:\n\t return !isNaN(unformatted) ? unformatted : fallback;\n\t}\n\n\t/**\n\t * Check and normalise the value of precision (must be positive integer)\n\t */\n\tfunction _checkPrecision(val, base) {\n\t val = Math.round(Math.abs(val));\n\t return isNaN(val) ? base : val;\n\t}\n\n\t/**\n\t * Implementation of toFixed() that treats floats more like decimals\n\t *\n\t * Fixes binary rounding issues (eg. (0.615).toFixed(2) === '0.61') that present\n\t * problems for accounting- and finance-related software.\n\t *\n\t * ```js\n\t * (0.615).toFixed(2); // \"0.61\" (native toFixed has rounding issues)\n\t * accounting.toFixed(0.615, 2); // \"0.62\"\n\t * ```\n\t *\n\t * @method toFixed\n\t * @for accounting\n\t * @param {Float} value The float to be treated as a decimal number.\n\t * @param {Number} [precision=2] The number of decimal digits to keep.\n\t * @return {String} The given number transformed into a string with the given precission\n\t */\n\tfunction toFixed(value, precision) {\n\t precision = _checkPrecision(precision, settings.precision);\n\t var power = Math.pow(10, precision);\n\n\t // Multiply up by precision, round accurately, then divide and use native toFixed():\n\t return (Math.round((value + 1e-8) * power) / power).toFixed(precision);\n\t}\n\n\tvar index = __commonjs(function (module) {\n\t/* eslint-disable no-unused-vars */\n\t'use strict';\n\tvar hasOwnProperty = Object.prototype.hasOwnProperty;\n\tvar propIsEnumerable = Object.prototype.propertyIsEnumerable;\n\n\tfunction toObject(val) {\n\t\tif (val === null || val === undefined) {\n\t\t\tthrow new TypeError('Object.assign cannot be called with null or undefined');\n\t\t}\n\n\t\treturn Object(val);\n\t}\n\n\tmodule.exports = Object.assign || function (target, source) {\n\t\tvar from;\n\t\tvar to = toObject(target);\n\t\tvar symbols;\n\n\t\tfor (var s = 1; s < arguments.length; s++) {\n\t\t\tfrom = Object(arguments[s]);\n\n\t\t\tfor (var key in from) {\n\t\t\t\tif (hasOwnProperty.call(from, key)) {\n\t\t\t\t\tto[key] = from[key];\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tif (Object.getOwnPropertySymbols) {\n\t\t\t\tsymbols = Object.getOwnPropertySymbols(from);\n\t\t\t\tfor (var i = 0; i < symbols.length; i++) {\n\t\t\t\t\tif (propIsEnumerable.call(from, symbols[i])) {\n\t\t\t\t\t\tto[symbols[i]] = from[symbols[i]];\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\treturn to;\n\t};\n\t});\n\n\tvar objectAssign = (index && typeof index === 'object' && 'default' in index ? index['default'] : index);\n\n\tfunction _stripInsignificantZeros(str, decimal) {\n\t var parts = str.split(decimal);\n\t var integerPart = parts[0];\n\t var decimalPart = parts[1].replace(/0+$/, '');\n\n\t if (decimalPart.length > 0) {\n\t return integerPart + decimal + decimalPart;\n\t }\n\n\t return integerPart;\n\t}\n\n\t/**\n\t * Format a number, with comma-separated thousands and custom precision/decimal places\n\t * Alias: `accounting.format()`\n\t *\n\t * Localise by overriding the precision and thousand / decimal separators\n\t *\n\t * ```js\n\t * accounting.formatNumber(5318008); // 5,318,008\n\t * accounting.formatNumber(9876543.21, { precision: 3, thousand: \" \" }); // 9 876 543.210\n\t * ```\n\t *\n\t * @method formatNumber\n\t * @for accounting\n\t * @param {Number} number The number to be formatted.\n\t * @param {Object} [opts={}] Object containing all the options of the method.\n\t * @return {String} The given number properly formatted.\n\t */\n\tfunction formatNumber(number) {\n\t var opts = arguments.length <= 1 || arguments[1] === undefined ? {} : arguments[1];\n\n\t // Resursively format arrays:\n\t if (Array.isArray(number)) {\n\t return number.map(function (val) {\n\t return formatNumber(val, opts);\n\t });\n\t }\n\n\t // Build options object from second param (if object) or all params, extending defaults:\n\t opts = objectAssign({}, settings, opts);\n\n\t // Do some calc:\n\t var negative = number < 0 ? '-' : '';\n\t var base = parseInt(toFixed(Math.abs(number), opts.precision), 10) + '';\n\t var mod = base.length > 3 ? base.length % 3 : 0;\n\n\t // Format the number:\n\t var formatted = negative + (mod ? base.substr(0, mod) + opts.thousand : '') + base.substr(mod).replace(/(\\d{3})(?=\\d)/g, '$1' + opts.thousand) + (opts.precision > 0 ? opts.decimal + toFixed(Math.abs(number), opts.precision).split('.')[1] : '');\n\n\t return opts.stripZeros ? _stripInsignificantZeros(formatted, opts.decimal) : formatted;\n\t}\n\n\tvar index$1 = __commonjs(function (module) {\n\t'use strict';\n\n\tvar strValue = String.prototype.valueOf;\n\tvar tryStringObject = function tryStringObject(value) {\n\t\ttry {\n\t\t\tstrValue.call(value);\n\t\t\treturn true;\n\t\t} catch (e) {\n\t\t\treturn false;\n\t\t}\n\t};\n\tvar toStr = Object.prototype.toString;\n\tvar strClass = '[object String]';\n\tvar hasToStringTag = typeof Symbol === 'function' && typeof Symbol.toStringTag === 'symbol';\n\n\tmodule.exports = function isString(value) {\n\t\tif (typeof value === 'string') { return true; }\n\t\tif (typeof value !== 'object') { return false; }\n\t\treturn hasToStringTag ? tryStringObject(value) : toStr.call(value) === strClass;\n\t};\n\t});\n\n\tvar isString = (index$1 && typeof index$1 === 'object' && 'default' in index$1 ? index$1['default'] : index$1);\n\n\t/**\n\t * Parses a format string or object and returns format obj for use in rendering\n\t *\n\t * `format` is either a string with the default (positive) format, or object\n\t * containing `pos` (required), `neg` and `zero` values\n\t *\n\t * Either string or format.pos must contain \"%v\" (value) to be valid\n\t *\n\t * @method _checkCurrencyFormat\n\t * @for accounting\n\t * @param {String} [format=\"%s%v\"] String with the format to apply, where %s is the currency symbol and %v is the value.\n\t * @return {Object} object represnting format (with pos, neg and zero attributes)\n\t */\n\tfunction _checkCurrencyFormat(format) {\n\t // Format should be a string, in which case `value` ('%v') must be present:\n\t if (isString(format) && format.match('%v')) {\n\t // Create and return positive, negative and zero formats:\n\t return {\n\t pos: format,\n\t neg: format.replace('-', '').replace('%v', '-%v'),\n\t zero: format\n\t };\n\t }\n\n\t // Otherwise, assume format was fine:\n\t return format;\n\t}\n\n\t/**\n\t * Format a number into currency\n\t *\n\t * Usage: accounting.formatMoney(number, symbol, precision, thousandsSep, decimalSep, format)\n\t * defaults: (0, '$', 2, ',', '.', '%s%v')\n\t *\n\t * Localise by overriding the symbol, precision, thousand / decimal separators and format\n\t *\n\t * ```js\n\t * // Default usage:\n\t * accounting.formatMoney(12345678); // $12,345,678.00\n\t *\n\t * // European formatting (custom symbol and separators), can also use options object as second parameter:\n\t * accounting.formatMoney(4999.99, { symbol: \"€\", precision: 2, thousand: \".\", decimal: \",\" }); // €4.999,99\n\t *\n\t * // Negative values can be formatted nicely:\n\t * accounting.formatMoney(-500000, { symbol: \"£ \", precision: 0 }); // £ -500,000\n\t *\n\t * // Simple `format` string allows control of symbol position (%v = value, %s = symbol):\n\t * accounting.formatMoney(5318008, { symbol: \"GBP\", format: \"%v %s\" }); // 5,318,008.00 GBP\n\t * ```\n\t *\n\t * @method formatMoney\n\t * @for accounting\n\t * @param {Number} number Number to be formatted.\n\t * @param {Object} [opts={}] Object containing all the options of the method.\n\t * @return {String} The given number properly formatted as money.\n\t */\n\tfunction formatMoney(number) {\n\t var opts = arguments.length <= 1 || arguments[1] === undefined ? {} : arguments[1];\n\n\t // Resursively format arrays:\n\t if (Array.isArray(number)) {\n\t return number.map(function (val) {\n\t return formatMoney(val, opts);\n\t });\n\t }\n\n\t // Build options object from second param (if object) or all params, extending defaults:\n\t opts = objectAssign({}, settings, opts);\n\n\t // Check format (returns object with pos, neg and zero):\n\t var formats = _checkCurrencyFormat(opts.format);\n\n\t // Choose which format to use for this value:\n\t var useFormat = undefined;\n\n\t if (number > 0) {\n\t useFormat = formats.pos;\n\t } else if (number < 0) {\n\t useFormat = formats.neg;\n\t } else {\n\t useFormat = formats.zero;\n\t }\n\n\t // Return with currency symbol added:\n\t return useFormat.replace('%s', opts.symbol).replace('%v', formatNumber(Math.abs(number), opts));\n\t}\n\n\t/**\n\t * Format a list of numbers into an accounting column, padding with whitespace\n\t * to line up currency symbols, thousand separators and decimals places\n\t *\n\t * List should be an array of numbers\n\t *\n\t * Returns array of accouting-formatted number strings of same length\n\t *\n\t * NB: `white-space:pre` CSS rule is required on the list container to prevent\n\t * browsers from collapsing the whitespace in the output strings.\n\t *\n\t * ```js\n\t * accounting.formatColumn([123.5, 3456.49, 777888.99, 12345678, -5432], { symbol: \"$ \" });\n\t * ```\n\t *\n\t * @method formatColumn\n\t * @for accounting\n\t * @param {Array} list An array of numbers to format\n\t * @param {Object} [opts={}] Object containing all the options of the method.\n\t * @param {Object|String} [symbol=\"$\"] String with the currency symbol. For conveniency if can be an object containing all the options of the method.\n\t * @param {Integer} [precision=2] Number of decimal digits\n\t * @param {String} [thousand=','] String with the thousands separator.\n\t * @param {String} [decimal=\".\"] String with the decimal separator.\n\t * @param {String} [format=\"%s%v\"] String with the format to apply, where %s is the currency symbol and %v is the value.\n\t * @return {Array} array of accouting-formatted number strings of same length\n\t */\n\tfunction formatColumn(list) {\n\t var opts = arguments.length <= 1 || arguments[1] === undefined ? {} : arguments[1];\n\n\t if (!list) return [];\n\n\t // Build options object from second param (if object) or all params, extending defaults:\n\t opts = objectAssign({}, settings, opts);\n\n\t // Check format (returns object with pos, neg and zero), only need pos for now:\n\t var formats = _checkCurrencyFormat(opts.format);\n\n\t // Whether to pad at start of string or after currency symbol:\n\t var padAfterSymbol = formats.pos.indexOf('%s') < formats.pos.indexOf('%v');\n\n\t // Store value for the length of the longest string in the column:\n\t var maxLength = 0;\n\n\t // Format the list according to options, store the length of the longest string:\n\t var formatted = list.map(function (val) {\n\t if (Array.isArray(val)) {\n\t // Recursively format columns if list is a multi-dimensional array:\n\t return formatColumn(val, opts);\n\t }\n\t // Clean up the value\n\t val = unformat(val, opts.decimal);\n\n\t // Choose which format to use for this value (pos, neg or zero):\n\t var useFormat = undefined;\n\n\t if (val > 0) {\n\t useFormat = formats.pos;\n\t } else if (val < 0) {\n\t useFormat = formats.neg;\n\t } else {\n\t useFormat = formats.zero;\n\t }\n\n\t // Format this value, push into formatted list and save the length:\n\t var fVal = useFormat.replace('%s', opts.symbol).replace('%v', formatNumber(Math.abs(val), opts));\n\n\t if (fVal.length > maxLength) {\n\t maxLength = fVal.length;\n\t }\n\n\t return fVal;\n\t });\n\n\t // Pad each number in the list and send back the column of numbers:\n\t return formatted.map(function (val) {\n\t // Only if this is a string (not a nested array, which would have already been padded):\n\t if (isString(val) && val.length < maxLength) {\n\t // Depending on symbol position, pad after symbol or at index 0:\n\t return padAfterSymbol ? val.replace(opts.symbol, opts.symbol + new Array(maxLength - val.length + 1).join(' ')) : new Array(maxLength - val.length + 1).join(' ') + val;\n\t }\n\t return val;\n\t });\n\t}\n\n\texports.settings = settings;\n\texports.unformat = unformat;\n\texports.toFixed = toFixed;\n\texports.formatMoney = formatMoney;\n\texports.formatNumber = formatNumber;\n\texports.formatColumn = formatColumn;\n\texports.format = formatMoney;\n\texports.parse = unformat;\n\n}));\n//# sourceMappingURL=accounting.umd.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/accounting-js/dist/accounting.umd.js\n// module id = U0Mp\n// module chunks = 0 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52","// style-loader: Adds some css to the DOM by adding a \r\n\n\n\n// WEBPACK FOOTER //\n// resources/assets/js/components/enso/vuedatatable/Overlay.vue","\r\n\r\n \r\n \r\n \r\n \r\n \r\n {{ key }}\r\n \r\n \r\n\r\n\r\n\r\n\r\n\n\n\n// WEBPACK FOOTER //\n// resources/assets/js/components/enso/vuedatatable/topControls/StyleSelector.vue","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('thead',[_c('tr',{class:_vm.template.style},[(_vm.template.crtNo)?_c('th',{class:_vm.template.align},[_vm._v(\"\\n \"+_vm._s(_vm.i18n(_vm.template.labels.crtNo))+\"\\n \")]):_vm._e(),_vm._v(\" \"),_vm._l((_vm.template.columns),function(column){return (column.meta.visible && !column.meta.hidden && !column.meta.rogue)?_c('th',{key:column.label,class:[\n 'vue-table-header',\n column.align\n ? _vm.template.aligns[column.align]\n : _vm.template.align\n ]},[_vm._v(\"\\n \"+_vm._s(_vm.i18n(column.label))+\"\\n \"),_c('span',{staticClass:\"table-header-controls\"},[(column.tooltip)?_c('span',{directives:[{name:\"tooltip\",rawName:\"v-tooltip\",value:(_vm.i18n(column.tooltip)),expression:\"i18n(column.tooltip)\"}],staticClass:\"icon is-small has-text-info\"},[_c('fa',{attrs:{\"icon\":\"info\",\"size\":\"xs\"}})],1):_vm._e(),_vm._v(\" \"),(column.meta.sortable)?_c('span',{staticClass:\"sorter\",on:{\"click\":function($event){_vm.toggleSort($event, column)}}},[_c('span',{staticClass:\"icon is-small\"},[_c('fa',{attrs:{\"icon\":_vm.sortIcon(column.meta.sort),\"size\":\"xs\"}})],1)]):_vm._e(),_vm._v(\" \"),(column.meta.sort)?_c('a',{staticClass:\"delete is-small\",on:{\"click\":function($event){_vm.clearColumnSort(column)}}}):_vm._e()])]):_vm._e()}),_vm._v(\" \"),(_vm.template.actions)?_c('th',{class:_vm.template.align},[_vm._v(\"\\n \"+_vm._s(_vm.i18n(_vm.template.labels.actions))+\"\\n \")]):_vm._e()],2)])}\nvar staticRenderFns = []\nmodule.exports = { render: render, staticRenderFns: staticRenderFns }\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/vue-loader/lib/template-compiler?{\"id\":\"data-v-433275fc\",\"hasScoped\":false,\"buble\":{\"transforms\":{}}}!./node_modules/vue-loader/lib/selector.js?type=template&index=0!./resources/assets/js/components/enso/vuedatatable/TableHeader.vue\n// module id = akE6\n// module chunks = 0 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28","\r\n\r\n \r\n \r\n \r\n\r\n\r\n\r\n\r\n\n\n\n// WEBPACK FOOTER //\n// resources/assets/js/pages/system/localisation/Index.vue","'use strict';\n\n/**\n * Copyright Marc J. Schmidt. See the LICENSE file at the top-level\n * directory of this distribution and at\n * https://github.com/marcj/css-element-queries/blob/master/LICENSE.\n */\n(function (root, factory) {\n if (typeof define === \"function\" && define.amd) {\n define(factory);\n } else if (typeof exports === \"object\") {\n module.exports = factory();\n } else {\n root.ResizeSensor = factory();\n }\n}(typeof window !== 'undefined' ? window : this, function () {\n\n // Make sure it does not throw in a SSR (Server Side Rendering) situation\n if (typeof window === \"undefined\") {\n return null;\n }\n // Only used for the dirty checking, so the event callback count is limited to max 1 call per fps per sensor.\n // In combination with the event based resize sensor this saves cpu time, because the sensor is too fast and\n // would generate too many unnecessary events.\n var requestAnimationFrame = window.requestAnimationFrame ||\n window.mozRequestAnimationFrame ||\n window.webkitRequestAnimationFrame ||\n function (fn) {\n return window.setTimeout(fn, 20);\n };\n\n /**\n * Iterate over each of the provided element(s).\n *\n * @param {HTMLElement|HTMLElement[]} elements\n * @param {Function} callback\n */\n function forEachElement(elements, callback){\n var elementsType = Object.prototype.toString.call(elements);\n var isCollectionTyped = ('[object Array]' === elementsType\n || ('[object NodeList]' === elementsType)\n || ('[object HTMLCollection]' === elementsType)\n || ('[object Object]' === elementsType)\n || ('undefined' !== typeof jQuery && elements instanceof jQuery) //jquery\n || ('undefined' !== typeof Elements && elements instanceof Elements) //mootools\n );\n var i = 0, j = elements.length;\n if (isCollectionTyped) {\n for (; i < j; i++) {\n callback(elements[i]);\n }\n } else {\n callback(elements);\n }\n }\n\n /**\n * Get element size\n * @param {HTMLElement} element\n * @returns {Object} {width, height}\n */\n function getElementSize(element) {\n if (!element.getBoundingClientRect) {\n return {\n width: element.offsetWidth,\n height: element.offsetHeight\n }\n }\n\n var rect = element.getBoundingClientRect();\n return {\n width: Math.round(rect.width),\n height: Math.round(rect.height)\n }\n }\n\n /**\n * Class for dimension change detection.\n *\n * @param {Element|Element[]|Elements|jQuery} element\n * @param {Function} callback\n *\n * @constructor\n */\n var ResizeSensor = function(element, callback) {\n /**\n *\n * @constructor\n */\n function EventQueue() {\n var q = [];\n this.add = function(ev) {\n q.push(ev);\n };\n\n var i, j;\n this.call = function() {\n for (i = 0, j = q.length; i < j; i++) {\n q[i].call();\n }\n };\n\n this.remove = function(ev) {\n var newQueue = [];\n for(i = 0, j = q.length; i < j; i++) {\n if(q[i] !== ev) newQueue.push(q[i]);\n }\n q = newQueue;\n };\n\n this.length = function() {\n return q.length;\n }\n }\n\n /**\n *\n * @param {HTMLElement} element\n * @param {Function} resized\n */\n function attachResizeEvent(element, resized) {\n if (!element) return;\n if (element.resizedAttached) {\n element.resizedAttached.add(resized);\n return;\n }\n\n element.resizedAttached = new EventQueue();\n element.resizedAttached.add(resized);\n\n element.resizeSensor = document.createElement('div');\n element.resizeSensor.dir = 'ltr';\n element.resizeSensor.className = 'resize-sensor';\n var style = 'position: absolute; left: -10px; top: -10px; right: 0; bottom: 0; overflow: hidden; z-index: -1; visibility: hidden;';\n var styleChild = 'position: absolute; left: 0; top: 0; transition: 0s;';\n\n element.resizeSensor.style.cssText = style;\n element.resizeSensor.innerHTML =\n '
\r\n \r\n\r\n\r\n\r\n\r\n\r\n\r\n\n\n\n// WEBPACK FOOTER //\n// resources/assets/js/components/enso/vuedatatable/TableFooter.vue","(function (global, factory) {\n\ttypeof exports === 'object' && typeof module !== 'undefined' ? factory(exports) :\n\ttypeof define === 'function' && define.amd ? define(['exports'], factory) :\n\t(factory((global.accounting = global.accounting || {})));\n}(this, function (exports) { 'use strict';\n\n\tfunction __commonjs(fn, module) { return module = { exports: {} }, fn(module, module.exports), module.exports; }\n\n\t/**\n\t * The library's settings configuration object.\n\t *\n\t * Contains default parameters for currency and number formatting\n\t */\n\tvar settings = {\n\t symbol: '$', // default currency symbol is '$'\n\t format: '%s%v', // controls output: %s = symbol, %v = value (can be object, see docs)\n\t decimal: '.', // decimal point separator\n\t thousand: ',', // thousands separator\n\t precision: 2, // decimal places\n\t grouping: 3, // digit grouping (not implemented yet)\n\t stripZeros: false, // strip insignificant zeros from decimal part\n\t fallback: 0 // value returned on unformat() failure\n\t};\n\n\t/**\n\t * Takes a string/array of strings, removes all formatting/cruft and returns the raw float value\n\t * Alias: `accounting.parse(string)`\n\t *\n\t * Decimal must be included in the regular expression to match floats (defaults to\n\t * accounting.settings.decimal), so if the number uses a non-standard decimal\n\t * separator, provide it as the second argument.\n\t *\n\t * Also matches bracketed negatives (eg. '$ (1.99)' => -1.99)\n\t *\n\t * Doesn't throw any errors (`NaN`s become 0) but this may change in future\n\t *\n\t * ```js\n\t * accounting.unformat(\"£ 12,345,678.90 GBP\"); // 12345678.9\n\t * ```\n\t *\n\t * @method unformat\n\t * @for accounting\n\t * @param {String|Array} value The string or array of strings containing the number/s to parse.\n\t * @param {Number} decimal Number of decimal digits of the resultant number\n\t * @return {Float} The parsed number\n\t */\n\tfunction unformat(value) {\n\t var decimal = arguments.length <= 1 || arguments[1] === undefined ? settings.decimal : arguments[1];\n\t var fallback = arguments.length <= 2 || arguments[2] === undefined ? settings.fallback : arguments[2];\n\n\t // Recursively unformat arrays:\n\t if (Array.isArray(value)) {\n\t return value.map(function (val) {\n\t return unformat(val, decimal, fallback);\n\t });\n\t }\n\n\t // Return the value as-is if it's already a number:\n\t if (typeof value === 'number') return value;\n\n\t // Build regex to strip out everything except digits, decimal point and minus sign:\n\t var regex = new RegExp('[^0-9-(-)-' + decimal + ']', ['g']);\n\t var unformattedValueString = ('' + value).replace(regex, '') // strip out any cruft\n\t .replace(decimal, '.') // make sure decimal point is standard\n\t .replace(/\\(([-]*\\d*[^)]?\\d+)\\)/g, '-$1') // replace bracketed values with negatives\n\t .replace(/\\((.*)\\)/, ''); // remove any brackets that do not have numeric value\n\n\t /**\n\t * Handling -ve number and bracket, eg.\n\t * (-100) = 100, -(100) = 100, --100 = 100\n\t */\n\t var negative = (unformattedValueString.match(/-/g) || 2).length % 2,\n\t absUnformatted = parseFloat(unformattedValueString.replace(/-/g, '')),\n\t unformatted = absUnformatted * (negative ? -1 : 1);\n\n\t // This will fail silently which may cause trouble, let's wait and see:\n\t return !isNaN(unformatted) ? unformatted : fallback;\n\t}\n\n\t/**\n\t * Check and normalise the value of precision (must be positive integer)\n\t */\n\tfunction _checkPrecision(val, base) {\n\t val = Math.round(Math.abs(val));\n\t return isNaN(val) ? base : val;\n\t}\n\n\t/**\n\t * Implementation of toFixed() that treats floats more like decimals\n\t *\n\t * Fixes binary rounding issues (eg. (0.615).toFixed(2) === '0.61') that present\n\t * problems for accounting- and finance-related software.\n\t *\n\t * ```js\n\t * (0.615).toFixed(2); // \"0.61\" (native toFixed has rounding issues)\n\t * accounting.toFixed(0.615, 2); // \"0.62\"\n\t * ```\n\t *\n\t * @method toFixed\n\t * @for accounting\n\t * @param {Float} value The float to be treated as a decimal number.\n\t * @param {Number} [precision=2] The number of decimal digits to keep.\n\t * @return {String} The given number transformed into a string with the given precission\n\t */\n\tfunction toFixed(value, precision) {\n\t precision = _checkPrecision(precision, settings.precision);\n\t var power = Math.pow(10, precision);\n\n\t // Multiply up by precision, round accurately, then divide and use native toFixed():\n\t return (Math.round((value + 1e-8) * power) / power).toFixed(precision);\n\t}\n\n\tvar index = __commonjs(function (module) {\n\t/* eslint-disable no-unused-vars */\n\t'use strict';\n\tvar hasOwnProperty = Object.prototype.hasOwnProperty;\n\tvar propIsEnumerable = Object.prototype.propertyIsEnumerable;\n\n\tfunction toObject(val) {\n\t\tif (val === null || val === undefined) {\n\t\t\tthrow new TypeError('Object.assign cannot be called with null or undefined');\n\t\t}\n\n\t\treturn Object(val);\n\t}\n\n\tmodule.exports = Object.assign || function (target, source) {\n\t\tvar from;\n\t\tvar to = toObject(target);\n\t\tvar symbols;\n\n\t\tfor (var s = 1; s < arguments.length; s++) {\n\t\t\tfrom = Object(arguments[s]);\n\n\t\t\tfor (var key in from) {\n\t\t\t\tif (hasOwnProperty.call(from, key)) {\n\t\t\t\t\tto[key] = from[key];\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tif (Object.getOwnPropertySymbols) {\n\t\t\t\tsymbols = Object.getOwnPropertySymbols(from);\n\t\t\t\tfor (var i = 0; i < symbols.length; i++) {\n\t\t\t\t\tif (propIsEnumerable.call(from, symbols[i])) {\n\t\t\t\t\t\tto[symbols[i]] = from[symbols[i]];\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\treturn to;\n\t};\n\t});\n\n\tvar objectAssign = (index && typeof index === 'object' && 'default' in index ? index['default'] : index);\n\n\tfunction _stripInsignificantZeros(str, decimal) {\n\t var parts = str.split(decimal);\n\t var integerPart = parts[0];\n\t var decimalPart = parts[1].replace(/0+$/, '');\n\n\t if (decimalPart.length > 0) {\n\t return integerPart + decimal + decimalPart;\n\t }\n\n\t return integerPart;\n\t}\n\n\t/**\n\t * Format a number, with comma-separated thousands and custom precision/decimal places\n\t * Alias: `accounting.format()`\n\t *\n\t * Localise by overriding the precision and thousand / decimal separators\n\t *\n\t * ```js\n\t * accounting.formatNumber(5318008); // 5,318,008\n\t * accounting.formatNumber(9876543.21, { precision: 3, thousand: \" \" }); // 9 876 543.210\n\t * ```\n\t *\n\t * @method formatNumber\n\t * @for accounting\n\t * @param {Number} number The number to be formatted.\n\t * @param {Object} [opts={}] Object containing all the options of the method.\n\t * @return {String} The given number properly formatted.\n\t */\n\tfunction formatNumber(number) {\n\t var opts = arguments.length <= 1 || arguments[1] === undefined ? {} : arguments[1];\n\n\t // Resursively format arrays:\n\t if (Array.isArray(number)) {\n\t return number.map(function (val) {\n\t return formatNumber(val, opts);\n\t });\n\t }\n\n\t // Build options object from second param (if object) or all params, extending defaults:\n\t opts = objectAssign({}, settings, opts);\n\n\t // Do some calc:\n\t var negative = number < 0 ? '-' : '';\n\t var base = parseInt(toFixed(Math.abs(number), opts.precision), 10) + '';\n\t var mod = base.length > 3 ? base.length % 3 : 0;\n\n\t // Format the number:\n\t var formatted = negative + (mod ? base.substr(0, mod) + opts.thousand : '') + base.substr(mod).replace(/(\\d{3})(?=\\d)/g, '$1' + opts.thousand) + (opts.precision > 0 ? opts.decimal + toFixed(Math.abs(number), opts.precision).split('.')[1] : '');\n\n\t return opts.stripZeros ? _stripInsignificantZeros(formatted, opts.decimal) : formatted;\n\t}\n\n\tvar index$1 = __commonjs(function (module) {\n\t'use strict';\n\n\tvar strValue = String.prototype.valueOf;\n\tvar tryStringObject = function tryStringObject(value) {\n\t\ttry {\n\t\t\tstrValue.call(value);\n\t\t\treturn true;\n\t\t} catch (e) {\n\t\t\treturn false;\n\t\t}\n\t};\n\tvar toStr = Object.prototype.toString;\n\tvar strClass = '[object String]';\n\tvar hasToStringTag = typeof Symbol === 'function' && typeof Symbol.toStringTag === 'symbol';\n\n\tmodule.exports = function isString(value) {\n\t\tif (typeof value === 'string') { return true; }\n\t\tif (typeof value !== 'object') { return false; }\n\t\treturn hasToStringTag ? tryStringObject(value) : toStr.call(value) === strClass;\n\t};\n\t});\n\n\tvar isString = (index$1 && typeof index$1 === 'object' && 'default' in index$1 ? index$1['default'] : index$1);\n\n\t/**\n\t * Parses a format string or object and returns format obj for use in rendering\n\t *\n\t * `format` is either a string with the default (positive) format, or object\n\t * containing `pos` (required), `neg` and `zero` values\n\t *\n\t * Either string or format.pos must contain \"%v\" (value) to be valid\n\t *\n\t * @method _checkCurrencyFormat\n\t * @for accounting\n\t * @param {String} [format=\"%s%v\"] String with the format to apply, where %s is the currency symbol and %v is the value.\n\t * @return {Object} object represnting format (with pos, neg and zero attributes)\n\t */\n\tfunction _checkCurrencyFormat(format) {\n\t // Format should be a string, in which case `value` ('%v') must be present:\n\t if (isString(format) && format.match('%v')) {\n\t // Create and return positive, negative and zero formats:\n\t return {\n\t pos: format,\n\t neg: format.replace('-', '').replace('%v', '-%v'),\n\t zero: format\n\t };\n\t }\n\n\t // Otherwise, assume format was fine:\n\t return format;\n\t}\n\n\t/**\n\t * Format a number into currency\n\t *\n\t * Usage: accounting.formatMoney(number, symbol, precision, thousandsSep, decimalSep, format)\n\t * defaults: (0, '$', 2, ',', '.', '%s%v')\n\t *\n\t * Localise by overriding the symbol, precision, thousand / decimal separators and format\n\t *\n\t * ```js\n\t * // Default usage:\n\t * accounting.formatMoney(12345678); // $12,345,678.00\n\t *\n\t * // European formatting (custom symbol and separators), can also use options object as second parameter:\n\t * accounting.formatMoney(4999.99, { symbol: \"€\", precision: 2, thousand: \".\", decimal: \",\" }); // €4.999,99\n\t *\n\t * // Negative values can be formatted nicely:\n\t * accounting.formatMoney(-500000, { symbol: \"£ \", precision: 0 }); // £ -500,000\n\t *\n\t * // Simple `format` string allows control of symbol position (%v = value, %s = symbol):\n\t * accounting.formatMoney(5318008, { symbol: \"GBP\", format: \"%v %s\" }); // 5,318,008.00 GBP\n\t * ```\n\t *\n\t * @method formatMoney\n\t * @for accounting\n\t * @param {Number} number Number to be formatted.\n\t * @param {Object} [opts={}] Object containing all the options of the method.\n\t * @return {String} The given number properly formatted as money.\n\t */\n\tfunction formatMoney(number) {\n\t var opts = arguments.length <= 1 || arguments[1] === undefined ? {} : arguments[1];\n\n\t // Resursively format arrays:\n\t if (Array.isArray(number)) {\n\t return number.map(function (val) {\n\t return formatMoney(val, opts);\n\t });\n\t }\n\n\t // Build options object from second param (if object) or all params, extending defaults:\n\t opts = objectAssign({}, settings, opts);\n\n\t // Check format (returns object with pos, neg and zero):\n\t var formats = _checkCurrencyFormat(opts.format);\n\n\t // Choose which format to use for this value:\n\t var useFormat = undefined;\n\n\t if (number > 0) {\n\t useFormat = formats.pos;\n\t } else if (number < 0) {\n\t useFormat = formats.neg;\n\t } else {\n\t useFormat = formats.zero;\n\t }\n\n\t // Return with currency symbol added:\n\t return useFormat.replace('%s', opts.symbol).replace('%v', formatNumber(Math.abs(number), opts));\n\t}\n\n\t/**\n\t * Format a list of numbers into an accounting column, padding with whitespace\n\t * to line up currency symbols, thousand separators and decimals places\n\t *\n\t * List should be an array of numbers\n\t *\n\t * Returns array of accouting-formatted number strings of same length\n\t *\n\t * NB: `white-space:pre` CSS rule is required on the list container to prevent\n\t * browsers from collapsing the whitespace in the output strings.\n\t *\n\t * ```js\n\t * accounting.formatColumn([123.5, 3456.49, 777888.99, 12345678, -5432], { symbol: \"$ \" });\n\t * ```\n\t *\n\t * @method formatColumn\n\t * @for accounting\n\t * @param {Array} list An array of numbers to format\n\t * @param {Object} [opts={}] Object containing all the options of the method.\n\t * @param {Object|String} [symbol=\"$\"] String with the currency symbol. For conveniency if can be an object containing all the options of the method.\n\t * @param {Integer} [precision=2] Number of decimal digits\n\t * @param {String} [thousand=','] String with the thousands separator.\n\t * @param {String} [decimal=\".\"] String with the decimal separator.\n\t * @param {String} [format=\"%s%v\"] String with the format to apply, where %s is the currency symbol and %v is the value.\n\t * @return {Array} array of accouting-formatted number strings of same length\n\t */\n\tfunction formatColumn(list) {\n\t var opts = arguments.length <= 1 || arguments[1] === undefined ? {} : arguments[1];\n\n\t if (!list) return [];\n\n\t // Build options object from second param (if object) or all params, extending defaults:\n\t opts = objectAssign({}, settings, opts);\n\n\t // Check format (returns object with pos, neg and zero), only need pos for now:\n\t var formats = _checkCurrencyFormat(opts.format);\n\n\t // Whether to pad at start of string or after currency symbol:\n\t var padAfterSymbol = formats.pos.indexOf('%s') < formats.pos.indexOf('%v');\n\n\t // Store value for the length of the longest string in the column:\n\t var maxLength = 0;\n\n\t // Format the list according to options, store the length of the longest string:\n\t var formatted = list.map(function (val) {\n\t if (Array.isArray(val)) {\n\t // Recursively format columns if list is a multi-dimensional array:\n\t return formatColumn(val, opts);\n\t }\n\t // Clean up the value\n\t val = unformat(val, opts.decimal);\n\n\t // Choose which format to use for this value (pos, neg or zero):\n\t var useFormat = undefined;\n\n\t if (val > 0) {\n\t useFormat = formats.pos;\n\t } else if (val < 0) {\n\t useFormat = formats.neg;\n\t } else {\n\t useFormat = formats.zero;\n\t }\n\n\t // Format this value, push into formatted list and save the length:\n\t var fVal = useFormat.replace('%s', opts.symbol).replace('%v', formatNumber(Math.abs(val), opts));\n\n\t if (fVal.length > maxLength) {\n\t maxLength = fVal.length;\n\t }\n\n\t return fVal;\n\t });\n\n\t // Pad each number in the list and send back the column of numbers:\n\t return formatted.map(function (val) {\n\t // Only if this is a string (not a nested array, which would have already been padded):\n\t if (isString(val) && val.length < maxLength) {\n\t // Depending on symbol position, pad after symbol or at index 0:\n\t return padAfterSymbol ? val.replace(opts.symbol, opts.symbol + new Array(maxLength - val.length + 1).join(' ')) : new Array(maxLength - val.length + 1).join(' ') + val;\n\t }\n\t return val;\n\t });\n\t}\n\n\texports.settings = settings;\n\texports.unformat = unformat;\n\texports.toFixed = toFixed;\n\texports.formatMoney = formatMoney;\n\texports.formatNumber = formatNumber;\n\texports.formatColumn = formatColumn;\n\texports.format = formatMoney;\n\texports.parse = unformat;\n\n}));\n//# sourceMappingURL=accounting.umd.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/accounting-js/dist/accounting.umd.js\n// module id = U0Mp\n// module chunks = 0 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52","// style-loader: Adds some css to the DOM by adding a \r\n\n\n\n// WEBPACK FOOTER //\n// resources/assets/js/components/enso/vuedatatable/Overlay.vue","\r\n\r\n \r\n \r\n \r\n \r\n \r\n {{ key }}\r\n \r\n \r\n\r\n\r\n\r\n\r\n\n\n\n// WEBPACK FOOTER //\n// resources/assets/js/components/enso/vuedatatable/topControls/StyleSelector.vue","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('thead',[_c('tr',{class:_vm.template.style},[(_vm.template.crtNo)?_c('th',{class:_vm.template.align},[_vm._v(\"\\n \"+_vm._s(_vm.i18n(_vm.template.labels.crtNo))+\"\\n \")]):_vm._e(),_vm._v(\" \"),_vm._l((_vm.template.columns),function(column){return (column.meta.visible && !column.meta.hidden && !column.meta.rogue)?_c('th',{key:column.label,class:[\n 'vue-table-header',\n column.align\n ? _vm.template.aligns[column.align]\n : _vm.template.align\n ]},[_vm._v(\"\\n \"+_vm._s(_vm.i18n(column.label))+\"\\n \"),_c('span',{staticClass:\"table-header-controls\"},[(column.tooltip)?_c('span',{directives:[{name:\"tooltip\",rawName:\"v-tooltip\",value:(_vm.i18n(column.tooltip)),expression:\"i18n(column.tooltip)\"}],staticClass:\"icon is-small has-text-info\"},[_c('fa',{attrs:{\"icon\":\"info\",\"size\":\"xs\"}})],1):_vm._e(),_vm._v(\" \"),(column.meta.sortable)?_c('span',{staticClass:\"sorter\",on:{\"click\":function($event){_vm.toggleSort($event, column)}}},[_c('span',{staticClass:\"icon is-small\"},[_c('fa',{attrs:{\"icon\":_vm.sortIcon(column.meta.sort),\"size\":\"xs\"}})],1)]):_vm._e(),_vm._v(\" \"),(column.meta.sort)?_c('a',{staticClass:\"delete is-small\",on:{\"click\":function($event){_vm.clearColumnSort(column)}}}):_vm._e()])]):_vm._e()}),_vm._v(\" \"),(_vm.template.actions)?_c('th',{class:_vm.template.align},[_vm._v(\"\\n \"+_vm._s(_vm.i18n(_vm.template.labels.actions))+\"\\n \")]):_vm._e()],2)])}\nvar staticRenderFns = []\nmodule.exports = { render: render, staticRenderFns: staticRenderFns }\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/vue-loader/lib/template-compiler?{\"id\":\"data-v-433275fc\",\"hasScoped\":false,\"buble\":{\"transforms\":{}}}!./node_modules/vue-loader/lib/selector.js?type=template&index=0!./resources/assets/js/components/enso/vuedatatable/TableHeader.vue\n// module id = akE6\n// module chunks = 0 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28","'use strict';\n\n/**\n * Copyright Marc J. Schmidt. See the LICENSE file at the top-level\n * directory of this distribution and at\n * https://github.com/marcj/css-element-queries/blob/master/LICENSE.\n */\n(function (root, factory) {\n if (typeof define === \"function\" && define.amd) {\n define(factory);\n } else if (typeof exports === \"object\") {\n module.exports = factory();\n } else {\n root.ResizeSensor = factory();\n }\n}(typeof window !== 'undefined' ? window : this, function () {\n\n // Make sure it does not throw in a SSR (Server Side Rendering) situation\n if (typeof window === \"undefined\") {\n return null;\n }\n // Only used for the dirty checking, so the event callback count is limited to max 1 call per fps per sensor.\n // In combination with the event based resize sensor this saves cpu time, because the sensor is too fast and\n // would generate too many unnecessary events.\n var requestAnimationFrame = window.requestAnimationFrame ||\n window.mozRequestAnimationFrame ||\n window.webkitRequestAnimationFrame ||\n function (fn) {\n return window.setTimeout(fn, 20);\n };\n\n /**\n * Iterate over each of the provided element(s).\n *\n * @param {HTMLElement|HTMLElement[]} elements\n * @param {Function} callback\n */\n function forEachElement(elements, callback){\n var elementsType = Object.prototype.toString.call(elements);\n var isCollectionTyped = ('[object Array]' === elementsType\n || ('[object NodeList]' === elementsType)\n || ('[object HTMLCollection]' === elementsType)\n || ('[object Object]' === elementsType)\n || ('undefined' !== typeof jQuery && elements instanceof jQuery) //jquery\n || ('undefined' !== typeof Elements && elements instanceof Elements) //mootools\n );\n var i = 0, j = elements.length;\n if (isCollectionTyped) {\n for (; i < j; i++) {\n callback(elements[i]);\n }\n } else {\n callback(elements);\n }\n }\n\n /**\n * Get element size\n * @param {HTMLElement} element\n * @returns {Object} {width, height}\n */\n function getElementSize(element) {\n if (!element.getBoundingClientRect) {\n return {\n width: element.offsetWidth,\n height: element.offsetHeight\n }\n }\n\n var rect = element.getBoundingClientRect();\n return {\n width: Math.round(rect.width),\n height: Math.round(rect.height)\n }\n }\n\n /**\n * Class for dimension change detection.\n *\n * @param {Element|Element[]|Elements|jQuery} element\n * @param {Function} callback\n *\n * @constructor\n */\n var ResizeSensor = function(element, callback) {\n /**\n *\n * @constructor\n */\n function EventQueue() {\n var q = [];\n this.add = function(ev) {\n q.push(ev);\n };\n\n var i, j;\n this.call = function() {\n for (i = 0, j = q.length; i < j; i++) {\n q[i].call();\n }\n };\n\n this.remove = function(ev) {\n var newQueue = [];\n for(i = 0, j = q.length; i < j; i++) {\n if(q[i] !== ev) newQueue.push(q[i]);\n }\n q = newQueue;\n };\n\n this.length = function() {\n return q.length;\n }\n }\n\n /**\n *\n * @param {HTMLElement} element\n * @param {Function} resized\n */\n function attachResizeEvent(element, resized) {\n if (!element) return;\n if (element.resizedAttached) {\n element.resizedAttached.add(resized);\n return;\n }\n\n element.resizedAttached = new EventQueue();\n element.resizedAttached.add(resized);\n\n element.resizeSensor = document.createElement('div');\n element.resizeSensor.dir = 'ltr';\n element.resizeSensor.className = 'resize-sensor';\n var style = 'position: absolute; left: -10px; top: -10px; right: 0; bottom: 0; overflow: hidden; z-index: -1; visibility: hidden;';\n var styleChild = 'position: absolute; left: 0; top: 0; transition: 0s;';\n\n element.resizeSensor.style.cssText = style;\n element.resizeSensor.innerHTML =\n '
\r\n \r\n\r\n\r\n\r\n\r\n\r\n\r\n\n\n\n// WEBPACK FOOTER //\n// resources/assets/js/components/enso/vuedatatable/TableFooter.vue","(function (global, factory) {\n\ttypeof exports === 'object' && typeof module !== 'undefined' ? factory(exports) :\n\ttypeof define === 'function' && define.amd ? define(['exports'], factory) :\n\t(factory((global.accounting = global.accounting || {})));\n}(this, function (exports) { 'use strict';\n\n\tfunction __commonjs(fn, module) { return module = { exports: {} }, fn(module, module.exports), module.exports; }\n\n\t/**\n\t * The library's settings configuration object.\n\t *\n\t * Contains default parameters for currency and number formatting\n\t */\n\tvar settings = {\n\t symbol: '$', // default currency symbol is '$'\n\t format: '%s%v', // controls output: %s = symbol, %v = value (can be object, see docs)\n\t decimal: '.', // decimal point separator\n\t thousand: ',', // thousands separator\n\t precision: 2, // decimal places\n\t grouping: 3, // digit grouping (not implemented yet)\n\t stripZeros: false, // strip insignificant zeros from decimal part\n\t fallback: 0 // value returned on unformat() failure\n\t};\n\n\t/**\n\t * Takes a string/array of strings, removes all formatting/cruft and returns the raw float value\n\t * Alias: `accounting.parse(string)`\n\t *\n\t * Decimal must be included in the regular expression to match floats (defaults to\n\t * accounting.settings.decimal), so if the number uses a non-standard decimal\n\t * separator, provide it as the second argument.\n\t *\n\t * Also matches bracketed negatives (eg. '$ (1.99)' => -1.99)\n\t *\n\t * Doesn't throw any errors (`NaN`s become 0) but this may change in future\n\t *\n\t * ```js\n\t * accounting.unformat(\"£ 12,345,678.90 GBP\"); // 12345678.9\n\t * ```\n\t *\n\t * @method unformat\n\t * @for accounting\n\t * @param {String|Array} value The string or array of strings containing the number/s to parse.\n\t * @param {Number} decimal Number of decimal digits of the resultant number\n\t * @return {Float} The parsed number\n\t */\n\tfunction unformat(value) {\n\t var decimal = arguments.length <= 1 || arguments[1] === undefined ? settings.decimal : arguments[1];\n\t var fallback = arguments.length <= 2 || arguments[2] === undefined ? settings.fallback : arguments[2];\n\n\t // Recursively unformat arrays:\n\t if (Array.isArray(value)) {\n\t return value.map(function (val) {\n\t return unformat(val, decimal, fallback);\n\t });\n\t }\n\n\t // Return the value as-is if it's already a number:\n\t if (typeof value === 'number') return value;\n\n\t // Build regex to strip out everything except digits, decimal point and minus sign:\n\t var regex = new RegExp('[^0-9-(-)-' + decimal + ']', ['g']);\n\t var unformattedValueString = ('' + value).replace(regex, '') // strip out any cruft\n\t .replace(decimal, '.') // make sure decimal point is standard\n\t .replace(/\\(([-]*\\d*[^)]?\\d+)\\)/g, '-$1') // replace bracketed values with negatives\n\t .replace(/\\((.*)\\)/, ''); // remove any brackets that do not have numeric value\n\n\t /**\n\t * Handling -ve number and bracket, eg.\n\t * (-100) = 100, -(100) = 100, --100 = 100\n\t */\n\t var negative = (unformattedValueString.match(/-/g) || 2).length % 2,\n\t absUnformatted = parseFloat(unformattedValueString.replace(/-/g, '')),\n\t unformatted = absUnformatted * (negative ? -1 : 1);\n\n\t // This will fail silently which may cause trouble, let's wait and see:\n\t return !isNaN(unformatted) ? unformatted : fallback;\n\t}\n\n\t/**\n\t * Check and normalise the value of precision (must be positive integer)\n\t */\n\tfunction _checkPrecision(val, base) {\n\t val = Math.round(Math.abs(val));\n\t return isNaN(val) ? base : val;\n\t}\n\n\t/**\n\t * Implementation of toFixed() that treats floats more like decimals\n\t *\n\t * Fixes binary rounding issues (eg. (0.615).toFixed(2) === '0.61') that present\n\t * problems for accounting- and finance-related software.\n\t *\n\t * ```js\n\t * (0.615).toFixed(2); // \"0.61\" (native toFixed has rounding issues)\n\t * accounting.toFixed(0.615, 2); // \"0.62\"\n\t * ```\n\t *\n\t * @method toFixed\n\t * @for accounting\n\t * @param {Float} value The float to be treated as a decimal number.\n\t * @param {Number} [precision=2] The number of decimal digits to keep.\n\t * @return {String} The given number transformed into a string with the given precission\n\t */\n\tfunction toFixed(value, precision) {\n\t precision = _checkPrecision(precision, settings.precision);\n\t var power = Math.pow(10, precision);\n\n\t // Multiply up by precision, round accurately, then divide and use native toFixed():\n\t return (Math.round((value + 1e-8) * power) / power).toFixed(precision);\n\t}\n\n\tvar index = __commonjs(function (module) {\n\t/* eslint-disable no-unused-vars */\n\t'use strict';\n\tvar hasOwnProperty = Object.prototype.hasOwnProperty;\n\tvar propIsEnumerable = Object.prototype.propertyIsEnumerable;\n\n\tfunction toObject(val) {\n\t\tif (val === null || val === undefined) {\n\t\t\tthrow new TypeError('Object.assign cannot be called with null or undefined');\n\t\t}\n\n\t\treturn Object(val);\n\t}\n\n\tmodule.exports = Object.assign || function (target, source) {\n\t\tvar from;\n\t\tvar to = toObject(target);\n\t\tvar symbols;\n\n\t\tfor (var s = 1; s < arguments.length; s++) {\n\t\t\tfrom = Object(arguments[s]);\n\n\t\t\tfor (var key in from) {\n\t\t\t\tif (hasOwnProperty.call(from, key)) {\n\t\t\t\t\tto[key] = from[key];\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tif (Object.getOwnPropertySymbols) {\n\t\t\t\tsymbols = Object.getOwnPropertySymbols(from);\n\t\t\t\tfor (var i = 0; i < symbols.length; i++) {\n\t\t\t\t\tif (propIsEnumerable.call(from, symbols[i])) {\n\t\t\t\t\t\tto[symbols[i]] = from[symbols[i]];\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\treturn to;\n\t};\n\t});\n\n\tvar objectAssign = (index && typeof index === 'object' && 'default' in index ? index['default'] : index);\n\n\tfunction _stripInsignificantZeros(str, decimal) {\n\t var parts = str.split(decimal);\n\t var integerPart = parts[0];\n\t var decimalPart = parts[1].replace(/0+$/, '');\n\n\t if (decimalPart.length > 0) {\n\t return integerPart + decimal + decimalPart;\n\t }\n\n\t return integerPart;\n\t}\n\n\t/**\n\t * Format a number, with comma-separated thousands and custom precision/decimal places\n\t * Alias: `accounting.format()`\n\t *\n\t * Localise by overriding the precision and thousand / decimal separators\n\t *\n\t * ```js\n\t * accounting.formatNumber(5318008); // 5,318,008\n\t * accounting.formatNumber(9876543.21, { precision: 3, thousand: \" \" }); // 9 876 543.210\n\t * ```\n\t *\n\t * @method formatNumber\n\t * @for accounting\n\t * @param {Number} number The number to be formatted.\n\t * @param {Object} [opts={}] Object containing all the options of the method.\n\t * @return {String} The given number properly formatted.\n\t */\n\tfunction formatNumber(number) {\n\t var opts = arguments.length <= 1 || arguments[1] === undefined ? {} : arguments[1];\n\n\t // Resursively format arrays:\n\t if (Array.isArray(number)) {\n\t return number.map(function (val) {\n\t return formatNumber(val, opts);\n\t });\n\t }\n\n\t // Build options object from second param (if object) or all params, extending defaults:\n\t opts = objectAssign({}, settings, opts);\n\n\t // Do some calc:\n\t var negative = number < 0 ? '-' : '';\n\t var base = parseInt(toFixed(Math.abs(number), opts.precision), 10) + '';\n\t var mod = base.length > 3 ? base.length % 3 : 0;\n\n\t // Format the number:\n\t var formatted = negative + (mod ? base.substr(0, mod) + opts.thousand : '') + base.substr(mod).replace(/(\\d{3})(?=\\d)/g, '$1' + opts.thousand) + (opts.precision > 0 ? opts.decimal + toFixed(Math.abs(number), opts.precision).split('.')[1] : '');\n\n\t return opts.stripZeros ? _stripInsignificantZeros(formatted, opts.decimal) : formatted;\n\t}\n\n\tvar index$1 = __commonjs(function (module) {\n\t'use strict';\n\n\tvar strValue = String.prototype.valueOf;\n\tvar tryStringObject = function tryStringObject(value) {\n\t\ttry {\n\t\t\tstrValue.call(value);\n\t\t\treturn true;\n\t\t} catch (e) {\n\t\t\treturn false;\n\t\t}\n\t};\n\tvar toStr = Object.prototype.toString;\n\tvar strClass = '[object String]';\n\tvar hasToStringTag = typeof Symbol === 'function' && typeof Symbol.toStringTag === 'symbol';\n\n\tmodule.exports = function isString(value) {\n\t\tif (typeof value === 'string') { return true; }\n\t\tif (typeof value !== 'object') { return false; }\n\t\treturn hasToStringTag ? tryStringObject(value) : toStr.call(value) === strClass;\n\t};\n\t});\n\n\tvar isString = (index$1 && typeof index$1 === 'object' && 'default' in index$1 ? index$1['default'] : index$1);\n\n\t/**\n\t * Parses a format string or object and returns format obj for use in rendering\n\t *\n\t * `format` is either a string with the default (positive) format, or object\n\t * containing `pos` (required), `neg` and `zero` values\n\t *\n\t * Either string or format.pos must contain \"%v\" (value) to be valid\n\t *\n\t * @method _checkCurrencyFormat\n\t * @for accounting\n\t * @param {String} [format=\"%s%v\"] String with the format to apply, where %s is the currency symbol and %v is the value.\n\t * @return {Object} object represnting format (with pos, neg and zero attributes)\n\t */\n\tfunction _checkCurrencyFormat(format) {\n\t // Format should be a string, in which case `value` ('%v') must be present:\n\t if (isString(format) && format.match('%v')) {\n\t // Create and return positive, negative and zero formats:\n\t return {\n\t pos: format,\n\t neg: format.replace('-', '').replace('%v', '-%v'),\n\t zero: format\n\t };\n\t }\n\n\t // Otherwise, assume format was fine:\n\t return format;\n\t}\n\n\t/**\n\t * Format a number into currency\n\t *\n\t * Usage: accounting.formatMoney(number, symbol, precision, thousandsSep, decimalSep, format)\n\t * defaults: (0, '$', 2, ',', '.', '%s%v')\n\t *\n\t * Localise by overriding the symbol, precision, thousand / decimal separators and format\n\t *\n\t * ```js\n\t * // Default usage:\n\t * accounting.formatMoney(12345678); // $12,345,678.00\n\t *\n\t * // European formatting (custom symbol and separators), can also use options object as second parameter:\n\t * accounting.formatMoney(4999.99, { symbol: \"€\", precision: 2, thousand: \".\", decimal: \",\" }); // €4.999,99\n\t *\n\t * // Negative values can be formatted nicely:\n\t * accounting.formatMoney(-500000, { symbol: \"£ \", precision: 0 }); // £ -500,000\n\t *\n\t * // Simple `format` string allows control of symbol position (%v = value, %s = symbol):\n\t * accounting.formatMoney(5318008, { symbol: \"GBP\", format: \"%v %s\" }); // 5,318,008.00 GBP\n\t * ```\n\t *\n\t * @method formatMoney\n\t * @for accounting\n\t * @param {Number} number Number to be formatted.\n\t * @param {Object} [opts={}] Object containing all the options of the method.\n\t * @return {String} The given number properly formatted as money.\n\t */\n\tfunction formatMoney(number) {\n\t var opts = arguments.length <= 1 || arguments[1] === undefined ? {} : arguments[1];\n\n\t // Resursively format arrays:\n\t if (Array.isArray(number)) {\n\t return number.map(function (val) {\n\t return formatMoney(val, opts);\n\t });\n\t }\n\n\t // Build options object from second param (if object) or all params, extending defaults:\n\t opts = objectAssign({}, settings, opts);\n\n\t // Check format (returns object with pos, neg and zero):\n\t var formats = _checkCurrencyFormat(opts.format);\n\n\t // Choose which format to use for this value:\n\t var useFormat = undefined;\n\n\t if (number > 0) {\n\t useFormat = formats.pos;\n\t } else if (number < 0) {\n\t useFormat = formats.neg;\n\t } else {\n\t useFormat = formats.zero;\n\t }\n\n\t // Return with currency symbol added:\n\t return useFormat.replace('%s', opts.symbol).replace('%v', formatNumber(Math.abs(number), opts));\n\t}\n\n\t/**\n\t * Format a list of numbers into an accounting column, padding with whitespace\n\t * to line up currency symbols, thousand separators and decimals places\n\t *\n\t * List should be an array of numbers\n\t *\n\t * Returns array of accouting-formatted number strings of same length\n\t *\n\t * NB: `white-space:pre` CSS rule is required on the list container to prevent\n\t * browsers from collapsing the whitespace in the output strings.\n\t *\n\t * ```js\n\t * accounting.formatColumn([123.5, 3456.49, 777888.99, 12345678, -5432], { symbol: \"$ \" });\n\t * ```\n\t *\n\t * @method formatColumn\n\t * @for accounting\n\t * @param {Array} list An array of numbers to format\n\t * @param {Object} [opts={}] Object containing all the options of the method.\n\t * @param {Object|String} [symbol=\"$\"] String with the currency symbol. For conveniency if can be an object containing all the options of the method.\n\t * @param {Integer} [precision=2] Number of decimal digits\n\t * @param {String} [thousand=','] String with the thousands separator.\n\t * @param {String} [decimal=\".\"] String with the decimal separator.\n\t * @param {String} [format=\"%s%v\"] String with the format to apply, where %s is the currency symbol and %v is the value.\n\t * @return {Array} array of accouting-formatted number strings of same length\n\t */\n\tfunction formatColumn(list) {\n\t var opts = arguments.length <= 1 || arguments[1] === undefined ? {} : arguments[1];\n\n\t if (!list) return [];\n\n\t // Build options object from second param (if object) or all params, extending defaults:\n\t opts = objectAssign({}, settings, opts);\n\n\t // Check format (returns object with pos, neg and zero), only need pos for now:\n\t var formats = _checkCurrencyFormat(opts.format);\n\n\t // Whether to pad at start of string or after currency symbol:\n\t var padAfterSymbol = formats.pos.indexOf('%s') < formats.pos.indexOf('%v');\n\n\t // Store value for the length of the longest string in the column:\n\t var maxLength = 0;\n\n\t // Format the list according to options, store the length of the longest string:\n\t var formatted = list.map(function (val) {\n\t if (Array.isArray(val)) {\n\t // Recursively format columns if list is a multi-dimensional array:\n\t return formatColumn(val, opts);\n\t }\n\t // Clean up the value\n\t val = unformat(val, opts.decimal);\n\n\t // Choose which format to use for this value (pos, neg or zero):\n\t var useFormat = undefined;\n\n\t if (val > 0) {\n\t useFormat = formats.pos;\n\t } else if (val < 0) {\n\t useFormat = formats.neg;\n\t } else {\n\t useFormat = formats.zero;\n\t }\n\n\t // Format this value, push into formatted list and save the length:\n\t var fVal = useFormat.replace('%s', opts.symbol).replace('%v', formatNumber(Math.abs(val), opts));\n\n\t if (fVal.length > maxLength) {\n\t maxLength = fVal.length;\n\t }\n\n\t return fVal;\n\t });\n\n\t // Pad each number in the list and send back the column of numbers:\n\t return formatted.map(function (val) {\n\t // Only if this is a string (not a nested array, which would have already been padded):\n\t if (isString(val) && val.length < maxLength) {\n\t // Depending on symbol position, pad after symbol or at index 0:\n\t return padAfterSymbol ? val.replace(opts.symbol, opts.symbol + new Array(maxLength - val.length + 1).join(' ')) : new Array(maxLength - val.length + 1).join(' ') + val;\n\t }\n\t return val;\n\t });\n\t}\n\n\texports.settings = settings;\n\texports.unformat = unformat;\n\texports.toFixed = toFixed;\n\texports.formatMoney = formatMoney;\n\texports.formatNumber = formatNumber;\n\texports.formatColumn = formatColumn;\n\texports.format = formatMoney;\n\texports.parse = unformat;\n\n}));\n//# sourceMappingURL=accounting.umd.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/accounting-js/dist/accounting.umd.js\n// module id = U0Mp\n// module chunks = 0 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52","// style-loader: Adds some css to the DOM by adding a \r\n\n\n\n// WEBPACK FOOTER //\n// resources/assets/js/components/enso/vuedatatable/Overlay.vue","\r\n\r\n \r\n \r\n \r\n \r\n \r\n {{ key }}\r\n \r\n \r\n\r\n\r\n\r\n\r\n\n\n\n// WEBPACK FOOTER //\n// resources/assets/js/components/enso/vuedatatable/topControls/StyleSelector.vue","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('thead',[_c('tr',{class:_vm.template.style},[(_vm.template.crtNo)?_c('th',{class:_vm.template.align},[_vm._v(\"\\n \"+_vm._s(_vm.i18n(_vm.template.labels.crtNo))+\"\\n \")]):_vm._e(),_vm._v(\" \"),_vm._l((_vm.template.columns),function(column){return (column.meta.visible && !column.meta.hidden && !column.meta.rogue)?_c('th',{key:column.label,class:[\n 'vue-table-header',\n column.align\n ? _vm.template.aligns[column.align]\n : _vm.template.align\n ]},[_vm._v(\"\\n \"+_vm._s(_vm.i18n(column.label))+\"\\n \"),_c('span',{staticClass:\"table-header-controls\"},[(column.tooltip)?_c('span',{directives:[{name:\"tooltip\",rawName:\"v-tooltip\",value:(_vm.i18n(column.tooltip)),expression:\"i18n(column.tooltip)\"}],staticClass:\"icon is-small has-text-info\"},[_c('fa',{attrs:{\"icon\":\"info\",\"size\":\"xs\"}})],1):_vm._e(),_vm._v(\" \"),(column.meta.sortable)?_c('span',{staticClass:\"sorter\",on:{\"click\":function($event){_vm.toggleSort($event, column)}}},[_c('span',{staticClass:\"icon is-small\"},[_c('fa',{attrs:{\"icon\":_vm.sortIcon(column.meta.sort),\"size\":\"xs\"}})],1)]):_vm._e(),_vm._v(\" \"),(column.meta.sort)?_c('a',{staticClass:\"delete is-small\",on:{\"click\":function($event){_vm.clearColumnSort(column)}}}):_vm._e()])]):_vm._e()}),_vm._v(\" \"),(_vm.template.actions)?_c('th',{class:_vm.template.align},[_vm._v(\"\\n \"+_vm._s(_vm.i18n(_vm.template.labels.actions))+\"\\n \")]):_vm._e()],2)])}\nvar staticRenderFns = []\nmodule.exports = { render: render, staticRenderFns: staticRenderFns }\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/vue-loader/lib/template-compiler?{\"id\":\"data-v-433275fc\",\"hasScoped\":false,\"buble\":{\"transforms\":{}}}!./node_modules/vue-loader/lib/selector.js?type=template&index=0!./resources/assets/js/components/enso/vuedatatable/TableHeader.vue\n// module id = akE6\n// module chunks = 0 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28","'use strict';\n\n/**\n * Copyright Marc J. Schmidt. See the LICENSE file at the top-level\n * directory of this distribution and at\n * https://github.com/marcj/css-element-queries/blob/master/LICENSE.\n */\n(function (root, factory) {\n if (typeof define === \"function\" && define.amd) {\n define(factory);\n } else if (typeof exports === \"object\") {\n module.exports = factory();\n } else {\n root.ResizeSensor = factory();\n }\n}(typeof window !== 'undefined' ? window : this, function () {\n\n // Make sure it does not throw in a SSR (Server Side Rendering) situation\n if (typeof window === \"undefined\") {\n return null;\n }\n // Only used for the dirty checking, so the event callback count is limited to max 1 call per fps per sensor.\n // In combination with the event based resize sensor this saves cpu time, because the sensor is too fast and\n // would generate too many unnecessary events.\n var requestAnimationFrame = window.requestAnimationFrame ||\n window.mozRequestAnimationFrame ||\n window.webkitRequestAnimationFrame ||\n function (fn) {\n return window.setTimeout(fn, 20);\n };\n\n /**\n * Iterate over each of the provided element(s).\n *\n * @param {HTMLElement|HTMLElement[]} elements\n * @param {Function} callback\n */\n function forEachElement(elements, callback){\n var elementsType = Object.prototype.toString.call(elements);\n var isCollectionTyped = ('[object Array]' === elementsType\n || ('[object NodeList]' === elementsType)\n || ('[object HTMLCollection]' === elementsType)\n || ('[object Object]' === elementsType)\n || ('undefined' !== typeof jQuery && elements instanceof jQuery) //jquery\n || ('undefined' !== typeof Elements && elements instanceof Elements) //mootools\n );\n var i = 0, j = elements.length;\n if (isCollectionTyped) {\n for (; i < j; i++) {\n callback(elements[i]);\n }\n } else {\n callback(elements);\n }\n }\n\n /**\n * Get element size\n * @param {HTMLElement} element\n * @returns {Object} {width, height}\n */\n function getElementSize(element) {\n if (!element.getBoundingClientRect) {\n return {\n width: element.offsetWidth,\n height: element.offsetHeight\n }\n }\n\n var rect = element.getBoundingClientRect();\n return {\n width: Math.round(rect.width),\n height: Math.round(rect.height)\n }\n }\n\n /**\n * Class for dimension change detection.\n *\n * @param {Element|Element[]|Elements|jQuery} element\n * @param {Function} callback\n *\n * @constructor\n */\n var ResizeSensor = function(element, callback) {\n /**\n *\n * @constructor\n */\n function EventQueue() {\n var q = [];\n this.add = function(ev) {\n q.push(ev);\n };\n\n var i, j;\n this.call = function() {\n for (i = 0, j = q.length; i < j; i++) {\n q[i].call();\n }\n };\n\n this.remove = function(ev) {\n var newQueue = [];\n for(i = 0, j = q.length; i < j; i++) {\n if(q[i] !== ev) newQueue.push(q[i]);\n }\n q = newQueue;\n };\n\n this.length = function() {\n return q.length;\n }\n }\n\n /**\n *\n * @param {HTMLElement} element\n * @param {Function} resized\n */\n function attachResizeEvent(element, resized) {\n if (!element) return;\n if (element.resizedAttached) {\n element.resizedAttached.add(resized);\n return;\n }\n\n element.resizedAttached = new EventQueue();\n element.resizedAttached.add(resized);\n\n element.resizeSensor = document.createElement('div');\n element.resizeSensor.dir = 'ltr';\n element.resizeSensor.className = 'resize-sensor';\n var style = 'position: absolute; left: -10px; top: -10px; right: 0; bottom: 0; overflow: hidden; z-index: -1; visibility: hidden;';\n var styleChild = 'position: absolute; left: 0; top: 0; transition: 0s;';\n\n element.resizeSensor.style.cssText = style;\n element.resizeSensor.innerHTML =\n '
\r\n \r\n\r\n\r\n\r\n\r\n\r\n\r\n\n\n\n// WEBPACK FOOTER //\n// resources/assets/js/components/enso/vuedatatable/TableFooter.vue","(function (global, factory) {\n\ttypeof exports === 'object' && typeof module !== 'undefined' ? factory(exports) :\n\ttypeof define === 'function' && define.amd ? define(['exports'], factory) :\n\t(factory((global.accounting = global.accounting || {})));\n}(this, function (exports) { 'use strict';\n\n\tfunction __commonjs(fn, module) { return module = { exports: {} }, fn(module, module.exports), module.exports; }\n\n\t/**\n\t * The library's settings configuration object.\n\t *\n\t * Contains default parameters for currency and number formatting\n\t */\n\tvar settings = {\n\t symbol: '$', // default currency symbol is '$'\n\t format: '%s%v', // controls output: %s = symbol, %v = value (can be object, see docs)\n\t decimal: '.', // decimal point separator\n\t thousand: ',', // thousands separator\n\t precision: 2, // decimal places\n\t grouping: 3, // digit grouping (not implemented yet)\n\t stripZeros: false, // strip insignificant zeros from decimal part\n\t fallback: 0 // value returned on unformat() failure\n\t};\n\n\t/**\n\t * Takes a string/array of strings, removes all formatting/cruft and returns the raw float value\n\t * Alias: `accounting.parse(string)`\n\t *\n\t * Decimal must be included in the regular expression to match floats (defaults to\n\t * accounting.settings.decimal), so if the number uses a non-standard decimal\n\t * separator, provide it as the second argument.\n\t *\n\t * Also matches bracketed negatives (eg. '$ (1.99)' => -1.99)\n\t *\n\t * Doesn't throw any errors (`NaN`s become 0) but this may change in future\n\t *\n\t * ```js\n\t * accounting.unformat(\"£ 12,345,678.90 GBP\"); // 12345678.9\n\t * ```\n\t *\n\t * @method unformat\n\t * @for accounting\n\t * @param {String|Array} value The string or array of strings containing the number/s to parse.\n\t * @param {Number} decimal Number of decimal digits of the resultant number\n\t * @return {Float} The parsed number\n\t */\n\tfunction unformat(value) {\n\t var decimal = arguments.length <= 1 || arguments[1] === undefined ? settings.decimal : arguments[1];\n\t var fallback = arguments.length <= 2 || arguments[2] === undefined ? settings.fallback : arguments[2];\n\n\t // Recursively unformat arrays:\n\t if (Array.isArray(value)) {\n\t return value.map(function (val) {\n\t return unformat(val, decimal, fallback);\n\t });\n\t }\n\n\t // Return the value as-is if it's already a number:\n\t if (typeof value === 'number') return value;\n\n\t // Build regex to strip out everything except digits, decimal point and minus sign:\n\t var regex = new RegExp('[^0-9-(-)-' + decimal + ']', ['g']);\n\t var unformattedValueString = ('' + value).replace(regex, '') // strip out any cruft\n\t .replace(decimal, '.') // make sure decimal point is standard\n\t .replace(/\\(([-]*\\d*[^)]?\\d+)\\)/g, '-$1') // replace bracketed values with negatives\n\t .replace(/\\((.*)\\)/, ''); // remove any brackets that do not have numeric value\n\n\t /**\n\t * Handling -ve number and bracket, eg.\n\t * (-100) = 100, -(100) = 100, --100 = 100\n\t */\n\t var negative = (unformattedValueString.match(/-/g) || 2).length % 2,\n\t absUnformatted = parseFloat(unformattedValueString.replace(/-/g, '')),\n\t unformatted = absUnformatted * (negative ? -1 : 1);\n\n\t // This will fail silently which may cause trouble, let's wait and see:\n\t return !isNaN(unformatted) ? unformatted : fallback;\n\t}\n\n\t/**\n\t * Check and normalise the value of precision (must be positive integer)\n\t */\n\tfunction _checkPrecision(val, base) {\n\t val = Math.round(Math.abs(val));\n\t return isNaN(val) ? base : val;\n\t}\n\n\t/**\n\t * Implementation of toFixed() that treats floats more like decimals\n\t *\n\t * Fixes binary rounding issues (eg. (0.615).toFixed(2) === '0.61') that present\n\t * problems for accounting- and finance-related software.\n\t *\n\t * ```js\n\t * (0.615).toFixed(2); // \"0.61\" (native toFixed has rounding issues)\n\t * accounting.toFixed(0.615, 2); // \"0.62\"\n\t * ```\n\t *\n\t * @method toFixed\n\t * @for accounting\n\t * @param {Float} value The float to be treated as a decimal number.\n\t * @param {Number} [precision=2] The number of decimal digits to keep.\n\t * @return {String} The given number transformed into a string with the given precission\n\t */\n\tfunction toFixed(value, precision) {\n\t precision = _checkPrecision(precision, settings.precision);\n\t var power = Math.pow(10, precision);\n\n\t // Multiply up by precision, round accurately, then divide and use native toFixed():\n\t return (Math.round((value + 1e-8) * power) / power).toFixed(precision);\n\t}\n\n\tvar index = __commonjs(function (module) {\n\t/* eslint-disable no-unused-vars */\n\t'use strict';\n\tvar hasOwnProperty = Object.prototype.hasOwnProperty;\n\tvar propIsEnumerable = Object.prototype.propertyIsEnumerable;\n\n\tfunction toObject(val) {\n\t\tif (val === null || val === undefined) {\n\t\t\tthrow new TypeError('Object.assign cannot be called with null or undefined');\n\t\t}\n\n\t\treturn Object(val);\n\t}\n\n\tmodule.exports = Object.assign || function (target, source) {\n\t\tvar from;\n\t\tvar to = toObject(target);\n\t\tvar symbols;\n\n\t\tfor (var s = 1; s < arguments.length; s++) {\n\t\t\tfrom = Object(arguments[s]);\n\n\t\t\tfor (var key in from) {\n\t\t\t\tif (hasOwnProperty.call(from, key)) {\n\t\t\t\t\tto[key] = from[key];\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tif (Object.getOwnPropertySymbols) {\n\t\t\t\tsymbols = Object.getOwnPropertySymbols(from);\n\t\t\t\tfor (var i = 0; i < symbols.length; i++) {\n\t\t\t\t\tif (propIsEnumerable.call(from, symbols[i])) {\n\t\t\t\t\t\tto[symbols[i]] = from[symbols[i]];\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\treturn to;\n\t};\n\t});\n\n\tvar objectAssign = (index && typeof index === 'object' && 'default' in index ? index['default'] : index);\n\n\tfunction _stripInsignificantZeros(str, decimal) {\n\t var parts = str.split(decimal);\n\t var integerPart = parts[0];\n\t var decimalPart = parts[1].replace(/0+$/, '');\n\n\t if (decimalPart.length > 0) {\n\t return integerPart + decimal + decimalPart;\n\t }\n\n\t return integerPart;\n\t}\n\n\t/**\n\t * Format a number, with comma-separated thousands and custom precision/decimal places\n\t * Alias: `accounting.format()`\n\t *\n\t * Localise by overriding the precision and thousand / decimal separators\n\t *\n\t * ```js\n\t * accounting.formatNumber(5318008); // 5,318,008\n\t * accounting.formatNumber(9876543.21, { precision: 3, thousand: \" \" }); // 9 876 543.210\n\t * ```\n\t *\n\t * @method formatNumber\n\t * @for accounting\n\t * @param {Number} number The number to be formatted.\n\t * @param {Object} [opts={}] Object containing all the options of the method.\n\t * @return {String} The given number properly formatted.\n\t */\n\tfunction formatNumber(number) {\n\t var opts = arguments.length <= 1 || arguments[1] === undefined ? {} : arguments[1];\n\n\t // Resursively format arrays:\n\t if (Array.isArray(number)) {\n\t return number.map(function (val) {\n\t return formatNumber(val, opts);\n\t });\n\t }\n\n\t // Build options object from second param (if object) or all params, extending defaults:\n\t opts = objectAssign({}, settings, opts);\n\n\t // Do some calc:\n\t var negative = number < 0 ? '-' : '';\n\t var base = parseInt(toFixed(Math.abs(number), opts.precision), 10) + '';\n\t var mod = base.length > 3 ? base.length % 3 : 0;\n\n\t // Format the number:\n\t var formatted = negative + (mod ? base.substr(0, mod) + opts.thousand : '') + base.substr(mod).replace(/(\\d{3})(?=\\d)/g, '$1' + opts.thousand) + (opts.precision > 0 ? opts.decimal + toFixed(Math.abs(number), opts.precision).split('.')[1] : '');\n\n\t return opts.stripZeros ? _stripInsignificantZeros(formatted, opts.decimal) : formatted;\n\t}\n\n\tvar index$1 = __commonjs(function (module) {\n\t'use strict';\n\n\tvar strValue = String.prototype.valueOf;\n\tvar tryStringObject = function tryStringObject(value) {\n\t\ttry {\n\t\t\tstrValue.call(value);\n\t\t\treturn true;\n\t\t} catch (e) {\n\t\t\treturn false;\n\t\t}\n\t};\n\tvar toStr = Object.prototype.toString;\n\tvar strClass = '[object String]';\n\tvar hasToStringTag = typeof Symbol === 'function' && typeof Symbol.toStringTag === 'symbol';\n\n\tmodule.exports = function isString(value) {\n\t\tif (typeof value === 'string') { return true; }\n\t\tif (typeof value !== 'object') { return false; }\n\t\treturn hasToStringTag ? tryStringObject(value) : toStr.call(value) === strClass;\n\t};\n\t});\n\n\tvar isString = (index$1 && typeof index$1 === 'object' && 'default' in index$1 ? index$1['default'] : index$1);\n\n\t/**\n\t * Parses a format string or object and returns format obj for use in rendering\n\t *\n\t * `format` is either a string with the default (positive) format, or object\n\t * containing `pos` (required), `neg` and `zero` values\n\t *\n\t * Either string or format.pos must contain \"%v\" (value) to be valid\n\t *\n\t * @method _checkCurrencyFormat\n\t * @for accounting\n\t * @param {String} [format=\"%s%v\"] String with the format to apply, where %s is the currency symbol and %v is the value.\n\t * @return {Object} object represnting format (with pos, neg and zero attributes)\n\t */\n\tfunction _checkCurrencyFormat(format) {\n\t // Format should be a string, in which case `value` ('%v') must be present:\n\t if (isString(format) && format.match('%v')) {\n\t // Create and return positive, negative and zero formats:\n\t return {\n\t pos: format,\n\t neg: format.replace('-', '').replace('%v', '-%v'),\n\t zero: format\n\t };\n\t }\n\n\t // Otherwise, assume format was fine:\n\t return format;\n\t}\n\n\t/**\n\t * Format a number into currency\n\t *\n\t * Usage: accounting.formatMoney(number, symbol, precision, thousandsSep, decimalSep, format)\n\t * defaults: (0, '$', 2, ',', '.', '%s%v')\n\t *\n\t * Localise by overriding the symbol, precision, thousand / decimal separators and format\n\t *\n\t * ```js\n\t * // Default usage:\n\t * accounting.formatMoney(12345678); // $12,345,678.00\n\t *\n\t * // European formatting (custom symbol and separators), can also use options object as second parameter:\n\t * accounting.formatMoney(4999.99, { symbol: \"€\", precision: 2, thousand: \".\", decimal: \",\" }); // €4.999,99\n\t *\n\t * // Negative values can be formatted nicely:\n\t * accounting.formatMoney(-500000, { symbol: \"£ \", precision: 0 }); // £ -500,000\n\t *\n\t * // Simple `format` string allows control of symbol position (%v = value, %s = symbol):\n\t * accounting.formatMoney(5318008, { symbol: \"GBP\", format: \"%v %s\" }); // 5,318,008.00 GBP\n\t * ```\n\t *\n\t * @method formatMoney\n\t * @for accounting\n\t * @param {Number} number Number to be formatted.\n\t * @param {Object} [opts={}] Object containing all the options of the method.\n\t * @return {String} The given number properly formatted as money.\n\t */\n\tfunction formatMoney(number) {\n\t var opts = arguments.length <= 1 || arguments[1] === undefined ? {} : arguments[1];\n\n\t // Resursively format arrays:\n\t if (Array.isArray(number)) {\n\t return number.map(function (val) {\n\t return formatMoney(val, opts);\n\t });\n\t }\n\n\t // Build options object from second param (if object) or all params, extending defaults:\n\t opts = objectAssign({}, settings, opts);\n\n\t // Check format (returns object with pos, neg and zero):\n\t var formats = _checkCurrencyFormat(opts.format);\n\n\t // Choose which format to use for this value:\n\t var useFormat = undefined;\n\n\t if (number > 0) {\n\t useFormat = formats.pos;\n\t } else if (number < 0) {\n\t useFormat = formats.neg;\n\t } else {\n\t useFormat = formats.zero;\n\t }\n\n\t // Return with currency symbol added:\n\t return useFormat.replace('%s', opts.symbol).replace('%v', formatNumber(Math.abs(number), opts));\n\t}\n\n\t/**\n\t * Format a list of numbers into an accounting column, padding with whitespace\n\t * to line up currency symbols, thousand separators and decimals places\n\t *\n\t * List should be an array of numbers\n\t *\n\t * Returns array of accouting-formatted number strings of same length\n\t *\n\t * NB: `white-space:pre` CSS rule is required on the list container to prevent\n\t * browsers from collapsing the whitespace in the output strings.\n\t *\n\t * ```js\n\t * accounting.formatColumn([123.5, 3456.49, 777888.99, 12345678, -5432], { symbol: \"$ \" });\n\t * ```\n\t *\n\t * @method formatColumn\n\t * @for accounting\n\t * @param {Array} list An array of numbers to format\n\t * @param {Object} [opts={}] Object containing all the options of the method.\n\t * @param {Object|String} [symbol=\"$\"] String with the currency symbol. For conveniency if can be an object containing all the options of the method.\n\t * @param {Integer} [precision=2] Number of decimal digits\n\t * @param {String} [thousand=','] String with the thousands separator.\n\t * @param {String} [decimal=\".\"] String with the decimal separator.\n\t * @param {String} [format=\"%s%v\"] String with the format to apply, where %s is the currency symbol and %v is the value.\n\t * @return {Array} array of accouting-formatted number strings of same length\n\t */\n\tfunction formatColumn(list) {\n\t var opts = arguments.length <= 1 || arguments[1] === undefined ? {} : arguments[1];\n\n\t if (!list) return [];\n\n\t // Build options object from second param (if object) or all params, extending defaults:\n\t opts = objectAssign({}, settings, opts);\n\n\t // Check format (returns object with pos, neg and zero), only need pos for now:\n\t var formats = _checkCurrencyFormat(opts.format);\n\n\t // Whether to pad at start of string or after currency symbol:\n\t var padAfterSymbol = formats.pos.indexOf('%s') < formats.pos.indexOf('%v');\n\n\t // Store value for the length of the longest string in the column:\n\t var maxLength = 0;\n\n\t // Format the list according to options, store the length of the longest string:\n\t var formatted = list.map(function (val) {\n\t if (Array.isArray(val)) {\n\t // Recursively format columns if list is a multi-dimensional array:\n\t return formatColumn(val, opts);\n\t }\n\t // Clean up the value\n\t val = unformat(val, opts.decimal);\n\n\t // Choose which format to use for this value (pos, neg or zero):\n\t var useFormat = undefined;\n\n\t if (val > 0) {\n\t useFormat = formats.pos;\n\t } else if (val < 0) {\n\t useFormat = formats.neg;\n\t } else {\n\t useFormat = formats.zero;\n\t }\n\n\t // Format this value, push into formatted list and save the length:\n\t var fVal = useFormat.replace('%s', opts.symbol).replace('%v', formatNumber(Math.abs(val), opts));\n\n\t if (fVal.length > maxLength) {\n\t maxLength = fVal.length;\n\t }\n\n\t return fVal;\n\t });\n\n\t // Pad each number in the list and send back the column of numbers:\n\t return formatted.map(function (val) {\n\t // Only if this is a string (not a nested array, which would have already been padded):\n\t if (isString(val) && val.length < maxLength) {\n\t // Depending on symbol position, pad after symbol or at index 0:\n\t return padAfterSymbol ? val.replace(opts.symbol, opts.symbol + new Array(maxLength - val.length + 1).join(' ')) : new Array(maxLength - val.length + 1).join(' ') + val;\n\t }\n\t return val;\n\t });\n\t}\n\n\texports.settings = settings;\n\texports.unformat = unformat;\n\texports.toFixed = toFixed;\n\texports.formatMoney = formatMoney;\n\texports.formatNumber = formatNumber;\n\texports.formatColumn = formatColumn;\n\texports.format = formatMoney;\n\texports.parse = unformat;\n\n}));\n//# sourceMappingURL=accounting.umd.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/accounting-js/dist/accounting.umd.js\n// module id = U0Mp\n// module chunks = 0 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52","// style-loader: Adds some css to the DOM by adding a \r\n\n\n\n// WEBPACK FOOTER //\n// resources/assets/js/components/enso/vuedatatable/Overlay.vue","\r\n\r\n \r\n \r\n \r\n \r\n \r\n {{ key }}\r\n \r\n \r\n\r\n\r\n\r\n\r\n\n\n\n// WEBPACK FOOTER //\n// resources/assets/js/components/enso/vuedatatable/topControls/StyleSelector.vue","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('thead',[_c('tr',{class:_vm.template.style},[(_vm.template.crtNo)?_c('th',{class:_vm.template.align},[_vm._v(\"\\n \"+_vm._s(_vm.i18n(_vm.template.labels.crtNo))+\"\\n \")]):_vm._e(),_vm._v(\" \"),_vm._l((_vm.template.columns),function(column){return (column.meta.visible && !column.meta.hidden && !column.meta.rogue)?_c('th',{key:column.label,class:[\n 'vue-table-header',\n column.align\n ? _vm.template.aligns[column.align]\n : _vm.template.align\n ]},[_vm._v(\"\\n \"+_vm._s(_vm.i18n(column.label))+\"\\n \"),_c('span',{staticClass:\"table-header-controls\"},[(column.tooltip)?_c('span',{directives:[{name:\"tooltip\",rawName:\"v-tooltip\",value:(_vm.i18n(column.tooltip)),expression:\"i18n(column.tooltip)\"}],staticClass:\"icon is-small has-text-info\"},[_c('fa',{attrs:{\"icon\":\"info\",\"size\":\"xs\"}})],1):_vm._e(),_vm._v(\" \"),(column.meta.sortable)?_c('span',{staticClass:\"sorter\",on:{\"click\":function($event){_vm.toggleSort($event, column)}}},[_c('span',{staticClass:\"icon is-small\"},[_c('fa',{attrs:{\"icon\":_vm.sortIcon(column.meta.sort),\"size\":\"xs\"}})],1)]):_vm._e(),_vm._v(\" \"),(column.meta.sort)?_c('a',{staticClass:\"delete is-small\",on:{\"click\":function($event){_vm.clearColumnSort(column)}}}):_vm._e()])]):_vm._e()}),_vm._v(\" \"),(_vm.template.actions)?_c('th',{class:_vm.template.align},[_vm._v(\"\\n \"+_vm._s(_vm.i18n(_vm.template.labels.actions))+\"\\n \")]):_vm._e()],2)])}\nvar staticRenderFns = []\nmodule.exports = { render: render, staticRenderFns: staticRenderFns }\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/vue-loader/lib/template-compiler?{\"id\":\"data-v-433275fc\",\"hasScoped\":false,\"buble\":{\"transforms\":{}}}!./node_modules/vue-loader/lib/selector.js?type=template&index=0!./resources/assets/js/components/enso/vuedatatable/TableHeader.vue\n// module id = akE6\n// module chunks = 0 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28","'use strict';\n\n/**\n * Copyright Marc J. Schmidt. See the LICENSE file at the top-level\n * directory of this distribution and at\n * https://github.com/marcj/css-element-queries/blob/master/LICENSE.\n */\n(function (root, factory) {\n if (typeof define === \"function\" && define.amd) {\n define(factory);\n } else if (typeof exports === \"object\") {\n module.exports = factory();\n } else {\n root.ResizeSensor = factory();\n }\n}(typeof window !== 'undefined' ? window : this, function () {\n\n // Make sure it does not throw in a SSR (Server Side Rendering) situation\n if (typeof window === \"undefined\") {\n return null;\n }\n // Only used for the dirty checking, so the event callback count is limited to max 1 call per fps per sensor.\n // In combination with the event based resize sensor this saves cpu time, because the sensor is too fast and\n // would generate too many unnecessary events.\n var requestAnimationFrame = window.requestAnimationFrame ||\n window.mozRequestAnimationFrame ||\n window.webkitRequestAnimationFrame ||\n function (fn) {\n return window.setTimeout(fn, 20);\n };\n\n /**\n * Iterate over each of the provided element(s).\n *\n * @param {HTMLElement|HTMLElement[]} elements\n * @param {Function} callback\n */\n function forEachElement(elements, callback){\n var elementsType = Object.prototype.toString.call(elements);\n var isCollectionTyped = ('[object Array]' === elementsType\n || ('[object NodeList]' === elementsType)\n || ('[object HTMLCollection]' === elementsType)\n || ('[object Object]' === elementsType)\n || ('undefined' !== typeof jQuery && elements instanceof jQuery) //jquery\n || ('undefined' !== typeof Elements && elements instanceof Elements) //mootools\n );\n var i = 0, j = elements.length;\n if (isCollectionTyped) {\n for (; i < j; i++) {\n callback(elements[i]);\n }\n } else {\n callback(elements);\n }\n }\n\n /**\n * Get element size\n * @param {HTMLElement} element\n * @returns {Object} {width, height}\n */\n function getElementSize(element) {\n if (!element.getBoundingClientRect) {\n return {\n width: element.offsetWidth,\n height: element.offsetHeight\n }\n }\n\n var rect = element.getBoundingClientRect();\n return {\n width: Math.round(rect.width),\n height: Math.round(rect.height)\n }\n }\n\n /**\n * Class for dimension change detection.\n *\n * @param {Element|Element[]|Elements|jQuery} element\n * @param {Function} callback\n *\n * @constructor\n */\n var ResizeSensor = function(element, callback) {\n /**\n *\n * @constructor\n */\n function EventQueue() {\n var q = [];\n this.add = function(ev) {\n q.push(ev);\n };\n\n var i, j;\n this.call = function() {\n for (i = 0, j = q.length; i < j; i++) {\n q[i].call();\n }\n };\n\n this.remove = function(ev) {\n var newQueue = [];\n for(i = 0, j = q.length; i < j; i++) {\n if(q[i] !== ev) newQueue.push(q[i]);\n }\n q = newQueue;\n };\n\n this.length = function() {\n return q.length;\n }\n }\n\n /**\n *\n * @param {HTMLElement} element\n * @param {Function} resized\n */\n function attachResizeEvent(element, resized) {\n if (!element) return;\n if (element.resizedAttached) {\n element.resizedAttached.add(resized);\n return;\n }\n\n element.resizedAttached = new EventQueue();\n element.resizedAttached.add(resized);\n\n element.resizeSensor = document.createElement('div');\n element.resizeSensor.dir = 'ltr';\n element.resizeSensor.className = 'resize-sensor';\n var style = 'position: absolute; left: -10px; top: -10px; right: 0; bottom: 0; overflow: hidden; z-index: -1; visibility: hidden;';\n var styleChild = 'position: absolute; left: 0; top: 0; transition: 0s;';\n\n element.resizeSensor.style.cssText = style;\n element.resizeSensor.innerHTML =\n '
\r\n \r\n\r\n\r\n\r\n\r\n\r\n\r\n\n\n\n// WEBPACK FOOTER //\n// resources/assets/js/components/enso/vuedatatable/TableFooter.vue","(function (global, factory) {\n\ttypeof exports === 'object' && typeof module !== 'undefined' ? factory(exports) :\n\ttypeof define === 'function' && define.amd ? define(['exports'], factory) :\n\t(factory((global.accounting = global.accounting || {})));\n}(this, function (exports) { 'use strict';\n\n\tfunction __commonjs(fn, module) { return module = { exports: {} }, fn(module, module.exports), module.exports; }\n\n\t/**\n\t * The library's settings configuration object.\n\t *\n\t * Contains default parameters for currency and number formatting\n\t */\n\tvar settings = {\n\t symbol: '$', // default currency symbol is '$'\n\t format: '%s%v', // controls output: %s = symbol, %v = value (can be object, see docs)\n\t decimal: '.', // decimal point separator\n\t thousand: ',', // thousands separator\n\t precision: 2, // decimal places\n\t grouping: 3, // digit grouping (not implemented yet)\n\t stripZeros: false, // strip insignificant zeros from decimal part\n\t fallback: 0 // value returned on unformat() failure\n\t};\n\n\t/**\n\t * Takes a string/array of strings, removes all formatting/cruft and returns the raw float value\n\t * Alias: `accounting.parse(string)`\n\t *\n\t * Decimal must be included in the regular expression to match floats (defaults to\n\t * accounting.settings.decimal), so if the number uses a non-standard decimal\n\t * separator, provide it as the second argument.\n\t *\n\t * Also matches bracketed negatives (eg. '$ (1.99)' => -1.99)\n\t *\n\t * Doesn't throw any errors (`NaN`s become 0) but this may change in future\n\t *\n\t * ```js\n\t * accounting.unformat(\"£ 12,345,678.90 GBP\"); // 12345678.9\n\t * ```\n\t *\n\t * @method unformat\n\t * @for accounting\n\t * @param {String|Array} value The string or array of strings containing the number/s to parse.\n\t * @param {Number} decimal Number of decimal digits of the resultant number\n\t * @return {Float} The parsed number\n\t */\n\tfunction unformat(value) {\n\t var decimal = arguments.length <= 1 || arguments[1] === undefined ? settings.decimal : arguments[1];\n\t var fallback = arguments.length <= 2 || arguments[2] === undefined ? settings.fallback : arguments[2];\n\n\t // Recursively unformat arrays:\n\t if (Array.isArray(value)) {\n\t return value.map(function (val) {\n\t return unformat(val, decimal, fallback);\n\t });\n\t }\n\n\t // Return the value as-is if it's already a number:\n\t if (typeof value === 'number') return value;\n\n\t // Build regex to strip out everything except digits, decimal point and minus sign:\n\t var regex = new RegExp('[^0-9-(-)-' + decimal + ']', ['g']);\n\t var unformattedValueString = ('' + value).replace(regex, '') // strip out any cruft\n\t .replace(decimal, '.') // make sure decimal point is standard\n\t .replace(/\\(([-]*\\d*[^)]?\\d+)\\)/g, '-$1') // replace bracketed values with negatives\n\t .replace(/\\((.*)\\)/, ''); // remove any brackets that do not have numeric value\n\n\t /**\n\t * Handling -ve number and bracket, eg.\n\t * (-100) = 100, -(100) = 100, --100 = 100\n\t */\n\t var negative = (unformattedValueString.match(/-/g) || 2).length % 2,\n\t absUnformatted = parseFloat(unformattedValueString.replace(/-/g, '')),\n\t unformatted = absUnformatted * (negative ? -1 : 1);\n\n\t // This will fail silently which may cause trouble, let's wait and see:\n\t return !isNaN(unformatted) ? unformatted : fallback;\n\t}\n\n\t/**\n\t * Check and normalise the value of precision (must be positive integer)\n\t */\n\tfunction _checkPrecision(val, base) {\n\t val = Math.round(Math.abs(val));\n\t return isNaN(val) ? base : val;\n\t}\n\n\t/**\n\t * Implementation of toFixed() that treats floats more like decimals\n\t *\n\t * Fixes binary rounding issues (eg. (0.615).toFixed(2) === '0.61') that present\n\t * problems for accounting- and finance-related software.\n\t *\n\t * ```js\n\t * (0.615).toFixed(2); // \"0.61\" (native toFixed has rounding issues)\n\t * accounting.toFixed(0.615, 2); // \"0.62\"\n\t * ```\n\t *\n\t * @method toFixed\n\t * @for accounting\n\t * @param {Float} value The float to be treated as a decimal number.\n\t * @param {Number} [precision=2] The number of decimal digits to keep.\n\t * @return {String} The given number transformed into a string with the given precission\n\t */\n\tfunction toFixed(value, precision) {\n\t precision = _checkPrecision(precision, settings.precision);\n\t var power = Math.pow(10, precision);\n\n\t // Multiply up by precision, round accurately, then divide and use native toFixed():\n\t return (Math.round((value + 1e-8) * power) / power).toFixed(precision);\n\t}\n\n\tvar index = __commonjs(function (module) {\n\t/* eslint-disable no-unused-vars */\n\t'use strict';\n\tvar hasOwnProperty = Object.prototype.hasOwnProperty;\n\tvar propIsEnumerable = Object.prototype.propertyIsEnumerable;\n\n\tfunction toObject(val) {\n\t\tif (val === null || val === undefined) {\n\t\t\tthrow new TypeError('Object.assign cannot be called with null or undefined');\n\t\t}\n\n\t\treturn Object(val);\n\t}\n\n\tmodule.exports = Object.assign || function (target, source) {\n\t\tvar from;\n\t\tvar to = toObject(target);\n\t\tvar symbols;\n\n\t\tfor (var s = 1; s < arguments.length; s++) {\n\t\t\tfrom = Object(arguments[s]);\n\n\t\t\tfor (var key in from) {\n\t\t\t\tif (hasOwnProperty.call(from, key)) {\n\t\t\t\t\tto[key] = from[key];\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tif (Object.getOwnPropertySymbols) {\n\t\t\t\tsymbols = Object.getOwnPropertySymbols(from);\n\t\t\t\tfor (var i = 0; i < symbols.length; i++) {\n\t\t\t\t\tif (propIsEnumerable.call(from, symbols[i])) {\n\t\t\t\t\t\tto[symbols[i]] = from[symbols[i]];\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\treturn to;\n\t};\n\t});\n\n\tvar objectAssign = (index && typeof index === 'object' && 'default' in index ? index['default'] : index);\n\n\tfunction _stripInsignificantZeros(str, decimal) {\n\t var parts = str.split(decimal);\n\t var integerPart = parts[0];\n\t var decimalPart = parts[1].replace(/0+$/, '');\n\n\t if (decimalPart.length > 0) {\n\t return integerPart + decimal + decimalPart;\n\t }\n\n\t return integerPart;\n\t}\n\n\t/**\n\t * Format a number, with comma-separated thousands and custom precision/decimal places\n\t * Alias: `accounting.format()`\n\t *\n\t * Localise by overriding the precision and thousand / decimal separators\n\t *\n\t * ```js\n\t * accounting.formatNumber(5318008); // 5,318,008\n\t * accounting.formatNumber(9876543.21, { precision: 3, thousand: \" \" }); // 9 876 543.210\n\t * ```\n\t *\n\t * @method formatNumber\n\t * @for accounting\n\t * @param {Number} number The number to be formatted.\n\t * @param {Object} [opts={}] Object containing all the options of the method.\n\t * @return {String} The given number properly formatted.\n\t */\n\tfunction formatNumber(number) {\n\t var opts = arguments.length <= 1 || arguments[1] === undefined ? {} : arguments[1];\n\n\t // Resursively format arrays:\n\t if (Array.isArray(number)) {\n\t return number.map(function (val) {\n\t return formatNumber(val, opts);\n\t });\n\t }\n\n\t // Build options object from second param (if object) or all params, extending defaults:\n\t opts = objectAssign({}, settings, opts);\n\n\t // Do some calc:\n\t var negative = number < 0 ? '-' : '';\n\t var base = parseInt(toFixed(Math.abs(number), opts.precision), 10) + '';\n\t var mod = base.length > 3 ? base.length % 3 : 0;\n\n\t // Format the number:\n\t var formatted = negative + (mod ? base.substr(0, mod) + opts.thousand : '') + base.substr(mod).replace(/(\\d{3})(?=\\d)/g, '$1' + opts.thousand) + (opts.precision > 0 ? opts.decimal + toFixed(Math.abs(number), opts.precision).split('.')[1] : '');\n\n\t return opts.stripZeros ? _stripInsignificantZeros(formatted, opts.decimal) : formatted;\n\t}\n\n\tvar index$1 = __commonjs(function (module) {\n\t'use strict';\n\n\tvar strValue = String.prototype.valueOf;\n\tvar tryStringObject = function tryStringObject(value) {\n\t\ttry {\n\t\t\tstrValue.call(value);\n\t\t\treturn true;\n\t\t} catch (e) {\n\t\t\treturn false;\n\t\t}\n\t};\n\tvar toStr = Object.prototype.toString;\n\tvar strClass = '[object String]';\n\tvar hasToStringTag = typeof Symbol === 'function' && typeof Symbol.toStringTag === 'symbol';\n\n\tmodule.exports = function isString(value) {\n\t\tif (typeof value === 'string') { return true; }\n\t\tif (typeof value !== 'object') { return false; }\n\t\treturn hasToStringTag ? tryStringObject(value) : toStr.call(value) === strClass;\n\t};\n\t});\n\n\tvar isString = (index$1 && typeof index$1 === 'object' && 'default' in index$1 ? index$1['default'] : index$1);\n\n\t/**\n\t * Parses a format string or object and returns format obj for use in rendering\n\t *\n\t * `format` is either a string with the default (positive) format, or object\n\t * containing `pos` (required), `neg` and `zero` values\n\t *\n\t * Either string or format.pos must contain \"%v\" (value) to be valid\n\t *\n\t * @method _checkCurrencyFormat\n\t * @for accounting\n\t * @param {String} [format=\"%s%v\"] String with the format to apply, where %s is the currency symbol and %v is the value.\n\t * @return {Object} object represnting format (with pos, neg and zero attributes)\n\t */\n\tfunction _checkCurrencyFormat(format) {\n\t // Format should be a string, in which case `value` ('%v') must be present:\n\t if (isString(format) && format.match('%v')) {\n\t // Create and return positive, negative and zero formats:\n\t return {\n\t pos: format,\n\t neg: format.replace('-', '').replace('%v', '-%v'),\n\t zero: format\n\t };\n\t }\n\n\t // Otherwise, assume format was fine:\n\t return format;\n\t}\n\n\t/**\n\t * Format a number into currency\n\t *\n\t * Usage: accounting.formatMoney(number, symbol, precision, thousandsSep, decimalSep, format)\n\t * defaults: (0, '$', 2, ',', '.', '%s%v')\n\t *\n\t * Localise by overriding the symbol, precision, thousand / decimal separators and format\n\t *\n\t * ```js\n\t * // Default usage:\n\t * accounting.formatMoney(12345678); // $12,345,678.00\n\t *\n\t * // European formatting (custom symbol and separators), can also use options object as second parameter:\n\t * accounting.formatMoney(4999.99, { symbol: \"€\", precision: 2, thousand: \".\", decimal: \",\" }); // €4.999,99\n\t *\n\t * // Negative values can be formatted nicely:\n\t * accounting.formatMoney(-500000, { symbol: \"£ \", precision: 0 }); // £ -500,000\n\t *\n\t * // Simple `format` string allows control of symbol position (%v = value, %s = symbol):\n\t * accounting.formatMoney(5318008, { symbol: \"GBP\", format: \"%v %s\" }); // 5,318,008.00 GBP\n\t * ```\n\t *\n\t * @method formatMoney\n\t * @for accounting\n\t * @param {Number} number Number to be formatted.\n\t * @param {Object} [opts={}] Object containing all the options of the method.\n\t * @return {String} The given number properly formatted as money.\n\t */\n\tfunction formatMoney(number) {\n\t var opts = arguments.length <= 1 || arguments[1] === undefined ? {} : arguments[1];\n\n\t // Resursively format arrays:\n\t if (Array.isArray(number)) {\n\t return number.map(function (val) {\n\t return formatMoney(val, opts);\n\t });\n\t }\n\n\t // Build options object from second param (if object) or all params, extending defaults:\n\t opts = objectAssign({}, settings, opts);\n\n\t // Check format (returns object with pos, neg and zero):\n\t var formats = _checkCurrencyFormat(opts.format);\n\n\t // Choose which format to use for this value:\n\t var useFormat = undefined;\n\n\t if (number > 0) {\n\t useFormat = formats.pos;\n\t } else if (number < 0) {\n\t useFormat = formats.neg;\n\t } else {\n\t useFormat = formats.zero;\n\t }\n\n\t // Return with currency symbol added:\n\t return useFormat.replace('%s', opts.symbol).replace('%v', formatNumber(Math.abs(number), opts));\n\t}\n\n\t/**\n\t * Format a list of numbers into an accounting column, padding with whitespace\n\t * to line up currency symbols, thousand separators and decimals places\n\t *\n\t * List should be an array of numbers\n\t *\n\t * Returns array of accouting-formatted number strings of same length\n\t *\n\t * NB: `white-space:pre` CSS rule is required on the list container to prevent\n\t * browsers from collapsing the whitespace in the output strings.\n\t *\n\t * ```js\n\t * accounting.formatColumn([123.5, 3456.49, 777888.99, 12345678, -5432], { symbol: \"$ \" });\n\t * ```\n\t *\n\t * @method formatColumn\n\t * @for accounting\n\t * @param {Array} list An array of numbers to format\n\t * @param {Object} [opts={}] Object containing all the options of the method.\n\t * @param {Object|String} [symbol=\"$\"] String with the currency symbol. For conveniency if can be an object containing all the options of the method.\n\t * @param {Integer} [precision=2] Number of decimal digits\n\t * @param {String} [thousand=','] String with the thousands separator.\n\t * @param {String} [decimal=\".\"] String with the decimal separator.\n\t * @param {String} [format=\"%s%v\"] String with the format to apply, where %s is the currency symbol and %v is the value.\n\t * @return {Array} array of accouting-formatted number strings of same length\n\t */\n\tfunction formatColumn(list) {\n\t var opts = arguments.length <= 1 || arguments[1] === undefined ? {} : arguments[1];\n\n\t if (!list) return [];\n\n\t // Build options object from second param (if object) or all params, extending defaults:\n\t opts = objectAssign({}, settings, opts);\n\n\t // Check format (returns object with pos, neg and zero), only need pos for now:\n\t var formats = _checkCurrencyFormat(opts.format);\n\n\t // Whether to pad at start of string or after currency symbol:\n\t var padAfterSymbol = formats.pos.indexOf('%s') < formats.pos.indexOf('%v');\n\n\t // Store value for the length of the longest string in the column:\n\t var maxLength = 0;\n\n\t // Format the list according to options, store the length of the longest string:\n\t var formatted = list.map(function (val) {\n\t if (Array.isArray(val)) {\n\t // Recursively format columns if list is a multi-dimensional array:\n\t return formatColumn(val, opts);\n\t }\n\t // Clean up the value\n\t val = unformat(val, opts.decimal);\n\n\t // Choose which format to use for this value (pos, neg or zero):\n\t var useFormat = undefined;\n\n\t if (val > 0) {\n\t useFormat = formats.pos;\n\t } else if (val < 0) {\n\t useFormat = formats.neg;\n\t } else {\n\t useFormat = formats.zero;\n\t }\n\n\t // Format this value, push into formatted list and save the length:\n\t var fVal = useFormat.replace('%s', opts.symbol).replace('%v', formatNumber(Math.abs(val), opts));\n\n\t if (fVal.length > maxLength) {\n\t maxLength = fVal.length;\n\t }\n\n\t return fVal;\n\t });\n\n\t // Pad each number in the list and send back the column of numbers:\n\t return formatted.map(function (val) {\n\t // Only if this is a string (not a nested array, which would have already been padded):\n\t if (isString(val) && val.length < maxLength) {\n\t // Depending on symbol position, pad after symbol or at index 0:\n\t return padAfterSymbol ? val.replace(opts.symbol, opts.symbol + new Array(maxLength - val.length + 1).join(' ')) : new Array(maxLength - val.length + 1).join(' ') + val;\n\t }\n\t return val;\n\t });\n\t}\n\n\texports.settings = settings;\n\texports.unformat = unformat;\n\texports.toFixed = toFixed;\n\texports.formatMoney = formatMoney;\n\texports.formatNumber = formatNumber;\n\texports.formatColumn = formatColumn;\n\texports.format = formatMoney;\n\texports.parse = unformat;\n\n}));\n//# sourceMappingURL=accounting.umd.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/accounting-js/dist/accounting.umd.js\n// module id = U0Mp\n// module chunks = 0 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52","// style-loader: Adds some css to the DOM by adding a \r\n\n\n\n// WEBPACK FOOTER //\n// resources/assets/js/components/enso/vuedatatable/Overlay.vue","\r\n\r\n \r\n \r\n \r\n \r\n \r\n {{ key }}\r\n \r\n \r\n\r\n\r\n\r\n\r\n\n\n\n// WEBPACK FOOTER //\n// resources/assets/js/components/enso/vuedatatable/topControls/StyleSelector.vue","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('thead',[_c('tr',{class:_vm.template.style},[(_vm.template.crtNo)?_c('th',{class:_vm.template.align},[_vm._v(\"\\n \"+_vm._s(_vm.i18n(_vm.template.labels.crtNo))+\"\\n \")]):_vm._e(),_vm._v(\" \"),_vm._l((_vm.template.columns),function(column){return (column.meta.visible && !column.meta.hidden && !column.meta.rogue)?_c('th',{key:column.label,class:[\n 'vue-table-header',\n column.align\n ? _vm.template.aligns[column.align]\n : _vm.template.align\n ]},[_vm._v(\"\\n \"+_vm._s(_vm.i18n(column.label))+\"\\n \"),_c('span',{staticClass:\"table-header-controls\"},[(column.tooltip)?_c('span',{directives:[{name:\"tooltip\",rawName:\"v-tooltip\",value:(_vm.i18n(column.tooltip)),expression:\"i18n(column.tooltip)\"}],staticClass:\"icon is-small has-text-info\"},[_c('fa',{attrs:{\"icon\":\"info\",\"size\":\"xs\"}})],1):_vm._e(),_vm._v(\" \"),(column.meta.sortable)?_c('span',{staticClass:\"sorter\",on:{\"click\":function($event){_vm.toggleSort($event, column)}}},[_c('span',{staticClass:\"icon is-small\"},[_c('fa',{attrs:{\"icon\":_vm.sortIcon(column.meta.sort),\"size\":\"xs\"}})],1)]):_vm._e(),_vm._v(\" \"),(column.meta.sort)?_c('a',{staticClass:\"delete is-small\",on:{\"click\":function($event){_vm.clearColumnSort(column)}}}):_vm._e()])]):_vm._e()}),_vm._v(\" \"),(_vm.template.actions)?_c('th',{class:_vm.template.align},[_vm._v(\"\\n \"+_vm._s(_vm.i18n(_vm.template.labels.actions))+\"\\n \")]):_vm._e()],2)])}\nvar staticRenderFns = []\nmodule.exports = { render: render, staticRenderFns: staticRenderFns }\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/vue-loader/lib/template-compiler?{\"id\":\"data-v-433275fc\",\"hasScoped\":false,\"buble\":{\"transforms\":{}}}!./node_modules/vue-loader/lib/selector.js?type=template&index=0!./resources/assets/js/components/enso/vuedatatable/TableHeader.vue\n// module id = akE6\n// module chunks = 0 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28","'use strict';\n\n/**\n * Copyright Marc J. Schmidt. See the LICENSE file at the top-level\n * directory of this distribution and at\n * https://github.com/marcj/css-element-queries/blob/master/LICENSE.\n */\n(function (root, factory) {\n if (typeof define === \"function\" && define.amd) {\n define(factory);\n } else if (typeof exports === \"object\") {\n module.exports = factory();\n } else {\n root.ResizeSensor = factory();\n }\n}(typeof window !== 'undefined' ? window : this, function () {\n\n // Make sure it does not throw in a SSR (Server Side Rendering) situation\n if (typeof window === \"undefined\") {\n return null;\n }\n // Only used for the dirty checking, so the event callback count is limited to max 1 call per fps per sensor.\n // In combination with the event based resize sensor this saves cpu time, because the sensor is too fast and\n // would generate too many unnecessary events.\n var requestAnimationFrame = window.requestAnimationFrame ||\n window.mozRequestAnimationFrame ||\n window.webkitRequestAnimationFrame ||\n function (fn) {\n return window.setTimeout(fn, 20);\n };\n\n /**\n * Iterate over each of the provided element(s).\n *\n * @param {HTMLElement|HTMLElement[]} elements\n * @param {Function} callback\n */\n function forEachElement(elements, callback){\n var elementsType = Object.prototype.toString.call(elements);\n var isCollectionTyped = ('[object Array]' === elementsType\n || ('[object NodeList]' === elementsType)\n || ('[object HTMLCollection]' === elementsType)\n || ('[object Object]' === elementsType)\n || ('undefined' !== typeof jQuery && elements instanceof jQuery) //jquery\n || ('undefined' !== typeof Elements && elements instanceof Elements) //mootools\n );\n var i = 0, j = elements.length;\n if (isCollectionTyped) {\n for (; i < j; i++) {\n callback(elements[i]);\n }\n } else {\n callback(elements);\n }\n }\n\n /**\n * Get element size\n * @param {HTMLElement} element\n * @returns {Object} {width, height}\n */\n function getElementSize(element) {\n if (!element.getBoundingClientRect) {\n return {\n width: element.offsetWidth,\n height: element.offsetHeight\n }\n }\n\n var rect = element.getBoundingClientRect();\n return {\n width: Math.round(rect.width),\n height: Math.round(rect.height)\n }\n }\n\n /**\n * Class for dimension change detection.\n *\n * @param {Element|Element[]|Elements|jQuery} element\n * @param {Function} callback\n *\n * @constructor\n */\n var ResizeSensor = function(element, callback) {\n /**\n *\n * @constructor\n */\n function EventQueue() {\n var q = [];\n this.add = function(ev) {\n q.push(ev);\n };\n\n var i, j;\n this.call = function() {\n for (i = 0, j = q.length; i < j; i++) {\n q[i].call();\n }\n };\n\n this.remove = function(ev) {\n var newQueue = [];\n for(i = 0, j = q.length; i < j; i++) {\n if(q[i] !== ev) newQueue.push(q[i]);\n }\n q = newQueue;\n };\n\n this.length = function() {\n return q.length;\n }\n }\n\n /**\n *\n * @param {HTMLElement} element\n * @param {Function} resized\n */\n function attachResizeEvent(element, resized) {\n if (!element) return;\n if (element.resizedAttached) {\n element.resizedAttached.add(resized);\n return;\n }\n\n element.resizedAttached = new EventQueue();\n element.resizedAttached.add(resized);\n\n element.resizeSensor = document.createElement('div');\n element.resizeSensor.dir = 'ltr';\n element.resizeSensor.className = 'resize-sensor';\n var style = 'position: absolute; left: -10px; top: -10px; right: 0; bottom: 0; overflow: hidden; z-index: -1; visibility: hidden;';\n var styleChild = 'position: absolute; left: 0; top: 0; transition: 0s;';\n\n element.resizeSensor.style.cssText = style;\n element.resizeSensor.innerHTML =\n '
\r\n \r\n\r\n\r\n\r\n\r\n\r\n\r\n\n\n\n// WEBPACK FOOTER //\n// resources/assets/js/components/enso/vuedatatable/TableFooter.vue","(function (global, factory) {\n\ttypeof exports === 'object' && typeof module !== 'undefined' ? factory(exports) :\n\ttypeof define === 'function' && define.amd ? define(['exports'], factory) :\n\t(factory((global.accounting = global.accounting || {})));\n}(this, function (exports) { 'use strict';\n\n\tfunction __commonjs(fn, module) { return module = { exports: {} }, fn(module, module.exports), module.exports; }\n\n\t/**\n\t * The library's settings configuration object.\n\t *\n\t * Contains default parameters for currency and number formatting\n\t */\n\tvar settings = {\n\t symbol: '$', // default currency symbol is '$'\n\t format: '%s%v', // controls output: %s = symbol, %v = value (can be object, see docs)\n\t decimal: '.', // decimal point separator\n\t thousand: ',', // thousands separator\n\t precision: 2, // decimal places\n\t grouping: 3, // digit grouping (not implemented yet)\n\t stripZeros: false, // strip insignificant zeros from decimal part\n\t fallback: 0 // value returned on unformat() failure\n\t};\n\n\t/**\n\t * Takes a string/array of strings, removes all formatting/cruft and returns the raw float value\n\t * Alias: `accounting.parse(string)`\n\t *\n\t * Decimal must be included in the regular expression to match floats (defaults to\n\t * accounting.settings.decimal), so if the number uses a non-standard decimal\n\t * separator, provide it as the second argument.\n\t *\n\t * Also matches bracketed negatives (eg. '$ (1.99)' => -1.99)\n\t *\n\t * Doesn't throw any errors (`NaN`s become 0) but this may change in future\n\t *\n\t * ```js\n\t * accounting.unformat(\"£ 12,345,678.90 GBP\"); // 12345678.9\n\t * ```\n\t *\n\t * @method unformat\n\t * @for accounting\n\t * @param {String|Array} value The string or array of strings containing the number/s to parse.\n\t * @param {Number} decimal Number of decimal digits of the resultant number\n\t * @return {Float} The parsed number\n\t */\n\tfunction unformat(value) {\n\t var decimal = arguments.length <= 1 || arguments[1] === undefined ? settings.decimal : arguments[1];\n\t var fallback = arguments.length <= 2 || arguments[2] === undefined ? settings.fallback : arguments[2];\n\n\t // Recursively unformat arrays:\n\t if (Array.isArray(value)) {\n\t return value.map(function (val) {\n\t return unformat(val, decimal, fallback);\n\t });\n\t }\n\n\t // Return the value as-is if it's already a number:\n\t if (typeof value === 'number') return value;\n\n\t // Build regex to strip out everything except digits, decimal point and minus sign:\n\t var regex = new RegExp('[^0-9-(-)-' + decimal + ']', ['g']);\n\t var unformattedValueString = ('' + value).replace(regex, '') // strip out any cruft\n\t .replace(decimal, '.') // make sure decimal point is standard\n\t .replace(/\\(([-]*\\d*[^)]?\\d+)\\)/g, '-$1') // replace bracketed values with negatives\n\t .replace(/\\((.*)\\)/, ''); // remove any brackets that do not have numeric value\n\n\t /**\n\t * Handling -ve number and bracket, eg.\n\t * (-100) = 100, -(100) = 100, --100 = 100\n\t */\n\t var negative = (unformattedValueString.match(/-/g) || 2).length % 2,\n\t absUnformatted = parseFloat(unformattedValueString.replace(/-/g, '')),\n\t unformatted = absUnformatted * (negative ? -1 : 1);\n\n\t // This will fail silently which may cause trouble, let's wait and see:\n\t return !isNaN(unformatted) ? unformatted : fallback;\n\t}\n\n\t/**\n\t * Check and normalise the value of precision (must be positive integer)\n\t */\n\tfunction _checkPrecision(val, base) {\n\t val = Math.round(Math.abs(val));\n\t return isNaN(val) ? base : val;\n\t}\n\n\t/**\n\t * Implementation of toFixed() that treats floats more like decimals\n\t *\n\t * Fixes binary rounding issues (eg. (0.615).toFixed(2) === '0.61') that present\n\t * problems for accounting- and finance-related software.\n\t *\n\t * ```js\n\t * (0.615).toFixed(2); // \"0.61\" (native toFixed has rounding issues)\n\t * accounting.toFixed(0.615, 2); // \"0.62\"\n\t * ```\n\t *\n\t * @method toFixed\n\t * @for accounting\n\t * @param {Float} value The float to be treated as a decimal number.\n\t * @param {Number} [precision=2] The number of decimal digits to keep.\n\t * @return {String} The given number transformed into a string with the given precission\n\t */\n\tfunction toFixed(value, precision) {\n\t precision = _checkPrecision(precision, settings.precision);\n\t var power = Math.pow(10, precision);\n\n\t // Multiply up by precision, round accurately, then divide and use native toFixed():\n\t return (Math.round((value + 1e-8) * power) / power).toFixed(precision);\n\t}\n\n\tvar index = __commonjs(function (module) {\n\t/* eslint-disable no-unused-vars */\n\t'use strict';\n\tvar hasOwnProperty = Object.prototype.hasOwnProperty;\n\tvar propIsEnumerable = Object.prototype.propertyIsEnumerable;\n\n\tfunction toObject(val) {\n\t\tif (val === null || val === undefined) {\n\t\t\tthrow new TypeError('Object.assign cannot be called with null or undefined');\n\t\t}\n\n\t\treturn Object(val);\n\t}\n\n\tmodule.exports = Object.assign || function (target, source) {\n\t\tvar from;\n\t\tvar to = toObject(target);\n\t\tvar symbols;\n\n\t\tfor (var s = 1; s < arguments.length; s++) {\n\t\t\tfrom = Object(arguments[s]);\n\n\t\t\tfor (var key in from) {\n\t\t\t\tif (hasOwnProperty.call(from, key)) {\n\t\t\t\t\tto[key] = from[key];\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tif (Object.getOwnPropertySymbols) {\n\t\t\t\tsymbols = Object.getOwnPropertySymbols(from);\n\t\t\t\tfor (var i = 0; i < symbols.length; i++) {\n\t\t\t\t\tif (propIsEnumerable.call(from, symbols[i])) {\n\t\t\t\t\t\tto[symbols[i]] = from[symbols[i]];\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\treturn to;\n\t};\n\t});\n\n\tvar objectAssign = (index && typeof index === 'object' && 'default' in index ? index['default'] : index);\n\n\tfunction _stripInsignificantZeros(str, decimal) {\n\t var parts = str.split(decimal);\n\t var integerPart = parts[0];\n\t var decimalPart = parts[1].replace(/0+$/, '');\n\n\t if (decimalPart.length > 0) {\n\t return integerPart + decimal + decimalPart;\n\t }\n\n\t return integerPart;\n\t}\n\n\t/**\n\t * Format a number, with comma-separated thousands and custom precision/decimal places\n\t * Alias: `accounting.format()`\n\t *\n\t * Localise by overriding the precision and thousand / decimal separators\n\t *\n\t * ```js\n\t * accounting.formatNumber(5318008); // 5,318,008\n\t * accounting.formatNumber(9876543.21, { precision: 3, thousand: \" \" }); // 9 876 543.210\n\t * ```\n\t *\n\t * @method formatNumber\n\t * @for accounting\n\t * @param {Number} number The number to be formatted.\n\t * @param {Object} [opts={}] Object containing all the options of the method.\n\t * @return {String} The given number properly formatted.\n\t */\n\tfunction formatNumber(number) {\n\t var opts = arguments.length <= 1 || arguments[1] === undefined ? {} : arguments[1];\n\n\t // Resursively format arrays:\n\t if (Array.isArray(number)) {\n\t return number.map(function (val) {\n\t return formatNumber(val, opts);\n\t });\n\t }\n\n\t // Build options object from second param (if object) or all params, extending defaults:\n\t opts = objectAssign({}, settings, opts);\n\n\t // Do some calc:\n\t var negative = number < 0 ? '-' : '';\n\t var base = parseInt(toFixed(Math.abs(number), opts.precision), 10) + '';\n\t var mod = base.length > 3 ? base.length % 3 : 0;\n\n\t // Format the number:\n\t var formatted = negative + (mod ? base.substr(0, mod) + opts.thousand : '') + base.substr(mod).replace(/(\\d{3})(?=\\d)/g, '$1' + opts.thousand) + (opts.precision > 0 ? opts.decimal + toFixed(Math.abs(number), opts.precision).split('.')[1] : '');\n\n\t return opts.stripZeros ? _stripInsignificantZeros(formatted, opts.decimal) : formatted;\n\t}\n\n\tvar index$1 = __commonjs(function (module) {\n\t'use strict';\n\n\tvar strValue = String.prototype.valueOf;\n\tvar tryStringObject = function tryStringObject(value) {\n\t\ttry {\n\t\t\tstrValue.call(value);\n\t\t\treturn true;\n\t\t} catch (e) {\n\t\t\treturn false;\n\t\t}\n\t};\n\tvar toStr = Object.prototype.toString;\n\tvar strClass = '[object String]';\n\tvar hasToStringTag = typeof Symbol === 'function' && typeof Symbol.toStringTag === 'symbol';\n\n\tmodule.exports = function isString(value) {\n\t\tif (typeof value === 'string') { return true; }\n\t\tif (typeof value !== 'object') { return false; }\n\t\treturn hasToStringTag ? tryStringObject(value) : toStr.call(value) === strClass;\n\t};\n\t});\n\n\tvar isString = (index$1 && typeof index$1 === 'object' && 'default' in index$1 ? index$1['default'] : index$1);\n\n\t/**\n\t * Parses a format string or object and returns format obj for use in rendering\n\t *\n\t * `format` is either a string with the default (positive) format, or object\n\t * containing `pos` (required), `neg` and `zero` values\n\t *\n\t * Either string or format.pos must contain \"%v\" (value) to be valid\n\t *\n\t * @method _checkCurrencyFormat\n\t * @for accounting\n\t * @param {String} [format=\"%s%v\"] String with the format to apply, where %s is the currency symbol and %v is the value.\n\t * @return {Object} object represnting format (with pos, neg and zero attributes)\n\t */\n\tfunction _checkCurrencyFormat(format) {\n\t // Format should be a string, in which case `value` ('%v') must be present:\n\t if (isString(format) && format.match('%v')) {\n\t // Create and return positive, negative and zero formats:\n\t return {\n\t pos: format,\n\t neg: format.replace('-', '').replace('%v', '-%v'),\n\t zero: format\n\t };\n\t }\n\n\t // Otherwise, assume format was fine:\n\t return format;\n\t}\n\n\t/**\n\t * Format a number into currency\n\t *\n\t * Usage: accounting.formatMoney(number, symbol, precision, thousandsSep, decimalSep, format)\n\t * defaults: (0, '$', 2, ',', '.', '%s%v')\n\t *\n\t * Localise by overriding the symbol, precision, thousand / decimal separators and format\n\t *\n\t * ```js\n\t * // Default usage:\n\t * accounting.formatMoney(12345678); // $12,345,678.00\n\t *\n\t * // European formatting (custom symbol and separators), can also use options object as second parameter:\n\t * accounting.formatMoney(4999.99, { symbol: \"€\", precision: 2, thousand: \".\", decimal: \",\" }); // €4.999,99\n\t *\n\t * // Negative values can be formatted nicely:\n\t * accounting.formatMoney(-500000, { symbol: \"£ \", precision: 0 }); // £ -500,000\n\t *\n\t * // Simple `format` string allows control of symbol position (%v = value, %s = symbol):\n\t * accounting.formatMoney(5318008, { symbol: \"GBP\", format: \"%v %s\" }); // 5,318,008.00 GBP\n\t * ```\n\t *\n\t * @method formatMoney\n\t * @for accounting\n\t * @param {Number} number Number to be formatted.\n\t * @param {Object} [opts={}] Object containing all the options of the method.\n\t * @return {String} The given number properly formatted as money.\n\t */\n\tfunction formatMoney(number) {\n\t var opts = arguments.length <= 1 || arguments[1] === undefined ? {} : arguments[1];\n\n\t // Resursively format arrays:\n\t if (Array.isArray(number)) {\n\t return number.map(function (val) {\n\t return formatMoney(val, opts);\n\t });\n\t }\n\n\t // Build options object from second param (if object) or all params, extending defaults:\n\t opts = objectAssign({}, settings, opts);\n\n\t // Check format (returns object with pos, neg and zero):\n\t var formats = _checkCurrencyFormat(opts.format);\n\n\t // Choose which format to use for this value:\n\t var useFormat = undefined;\n\n\t if (number > 0) {\n\t useFormat = formats.pos;\n\t } else if (number < 0) {\n\t useFormat = formats.neg;\n\t } else {\n\t useFormat = formats.zero;\n\t }\n\n\t // Return with currency symbol added:\n\t return useFormat.replace('%s', opts.symbol).replace('%v', formatNumber(Math.abs(number), opts));\n\t}\n\n\t/**\n\t * Format a list of numbers into an accounting column, padding with whitespace\n\t * to line up currency symbols, thousand separators and decimals places\n\t *\n\t * List should be an array of numbers\n\t *\n\t * Returns array of accouting-formatted number strings of same length\n\t *\n\t * NB: `white-space:pre` CSS rule is required on the list container to prevent\n\t * browsers from collapsing the whitespace in the output strings.\n\t *\n\t * ```js\n\t * accounting.formatColumn([123.5, 3456.49, 777888.99, 12345678, -5432], { symbol: \"$ \" });\n\t * ```\n\t *\n\t * @method formatColumn\n\t * @for accounting\n\t * @param {Array} list An array of numbers to format\n\t * @param {Object} [opts={}] Object containing all the options of the method.\n\t * @param {Object|String} [symbol=\"$\"] String with the currency symbol. For conveniency if can be an object containing all the options of the method.\n\t * @param {Integer} [precision=2] Number of decimal digits\n\t * @param {String} [thousand=','] String with the thousands separator.\n\t * @param {String} [decimal=\".\"] String with the decimal separator.\n\t * @param {String} [format=\"%s%v\"] String with the format to apply, where %s is the currency symbol and %v is the value.\n\t * @return {Array} array of accouting-formatted number strings of same length\n\t */\n\tfunction formatColumn(list) {\n\t var opts = arguments.length <= 1 || arguments[1] === undefined ? {} : arguments[1];\n\n\t if (!list) return [];\n\n\t // Build options object from second param (if object) or all params, extending defaults:\n\t opts = objectAssign({}, settings, opts);\n\n\t // Check format (returns object with pos, neg and zero), only need pos for now:\n\t var formats = _checkCurrencyFormat(opts.format);\n\n\t // Whether to pad at start of string or after currency symbol:\n\t var padAfterSymbol = formats.pos.indexOf('%s') < formats.pos.indexOf('%v');\n\n\t // Store value for the length of the longest string in the column:\n\t var maxLength = 0;\n\n\t // Format the list according to options, store the length of the longest string:\n\t var formatted = list.map(function (val) {\n\t if (Array.isArray(val)) {\n\t // Recursively format columns if list is a multi-dimensional array:\n\t return formatColumn(val, opts);\n\t }\n\t // Clean up the value\n\t val = unformat(val, opts.decimal);\n\n\t // Choose which format to use for this value (pos, neg or zero):\n\t var useFormat = undefined;\n\n\t if (val > 0) {\n\t useFormat = formats.pos;\n\t } else if (val < 0) {\n\t useFormat = formats.neg;\n\t } else {\n\t useFormat = formats.zero;\n\t }\n\n\t // Format this value, push into formatted list and save the length:\n\t var fVal = useFormat.replace('%s', opts.symbol).replace('%v', formatNumber(Math.abs(val), opts));\n\n\t if (fVal.length > maxLength) {\n\t maxLength = fVal.length;\n\t }\n\n\t return fVal;\n\t });\n\n\t // Pad each number in the list and send back the column of numbers:\n\t return formatted.map(function (val) {\n\t // Only if this is a string (not a nested array, which would have already been padded):\n\t if (isString(val) && val.length < maxLength) {\n\t // Depending on symbol position, pad after symbol or at index 0:\n\t return padAfterSymbol ? val.replace(opts.symbol, opts.symbol + new Array(maxLength - val.length + 1).join(' ')) : new Array(maxLength - val.length + 1).join(' ') + val;\n\t }\n\t return val;\n\t });\n\t}\n\n\texports.settings = settings;\n\texports.unformat = unformat;\n\texports.toFixed = toFixed;\n\texports.formatMoney = formatMoney;\n\texports.formatNumber = formatNumber;\n\texports.formatColumn = formatColumn;\n\texports.format = formatMoney;\n\texports.parse = unformat;\n\n}));\n//# sourceMappingURL=accounting.umd.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/accounting-js/dist/accounting.umd.js\n// module id = U0Mp\n// module chunks = 0 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52","// style-loader: Adds some css to the DOM by adding a \r\n\n\n\n// WEBPACK FOOTER //\n// resources/assets/js/components/enso/vuedatatable/Overlay.vue","\r\n\r\n \r\n \r\n \r\n \r\n \r\n {{ key }}\r\n \r\n \r\n\r\n\r\n\r\n\r\n\n\n\n// WEBPACK FOOTER //\n// resources/assets/js/components/enso/vuedatatable/topControls/StyleSelector.vue","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('thead',[_c('tr',{class:_vm.template.style},[(_vm.template.crtNo)?_c('th',{class:_vm.template.align},[_vm._v(\"\\n \"+_vm._s(_vm.i18n(_vm.template.labels.crtNo))+\"\\n \")]):_vm._e(),_vm._v(\" \"),_vm._l((_vm.template.columns),function(column){return (column.meta.visible && !column.meta.hidden && !column.meta.rogue)?_c('th',{key:column.label,class:[\n 'vue-table-header',\n column.align\n ? _vm.template.aligns[column.align]\n : _vm.template.align\n ]},[_vm._v(\"\\n \"+_vm._s(_vm.i18n(column.label))+\"\\n \"),_c('span',{staticClass:\"table-header-controls\"},[(column.tooltip)?_c('span',{directives:[{name:\"tooltip\",rawName:\"v-tooltip\",value:(_vm.i18n(column.tooltip)),expression:\"i18n(column.tooltip)\"}],staticClass:\"icon is-small has-text-info\"},[_c('fa',{attrs:{\"icon\":\"info\",\"size\":\"xs\"}})],1):_vm._e(),_vm._v(\" \"),(column.meta.sortable)?_c('span',{staticClass:\"sorter\",on:{\"click\":function($event){_vm.toggleSort($event, column)}}},[_c('span',{staticClass:\"icon is-small\"},[_c('fa',{attrs:{\"icon\":_vm.sortIcon(column.meta.sort),\"size\":\"xs\"}})],1)]):_vm._e(),_vm._v(\" \"),(column.meta.sort)?_c('a',{staticClass:\"delete is-small\",on:{\"click\":function($event){_vm.clearColumnSort(column)}}}):_vm._e()])]):_vm._e()}),_vm._v(\" \"),(_vm.template.actions)?_c('th',{class:_vm.template.align},[_vm._v(\"\\n \"+_vm._s(_vm.i18n(_vm.template.labels.actions))+\"\\n \")]):_vm._e()],2)])}\nvar staticRenderFns = []\nmodule.exports = { render: render, staticRenderFns: staticRenderFns }\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/vue-loader/lib/template-compiler?{\"id\":\"data-v-433275fc\",\"hasScoped\":false,\"buble\":{\"transforms\":{}}}!./node_modules/vue-loader/lib/selector.js?type=template&index=0!./resources/assets/js/components/enso/vuedatatable/TableHeader.vue\n// module id = akE6\n// module chunks = 0 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28","'use strict';\n\n/**\n * Copyright Marc J. Schmidt. See the LICENSE file at the top-level\n * directory of this distribution and at\n * https://github.com/marcj/css-element-queries/blob/master/LICENSE.\n */\n(function (root, factory) {\n if (typeof define === \"function\" && define.amd) {\n define(factory);\n } else if (typeof exports === \"object\") {\n module.exports = factory();\n } else {\n root.ResizeSensor = factory();\n }\n}(typeof window !== 'undefined' ? window : this, function () {\n\n // Make sure it does not throw in a SSR (Server Side Rendering) situation\n if (typeof window === \"undefined\") {\n return null;\n }\n // Only used for the dirty checking, so the event callback count is limited to max 1 call per fps per sensor.\n // In combination with the event based resize sensor this saves cpu time, because the sensor is too fast and\n // would generate too many unnecessary events.\n var requestAnimationFrame = window.requestAnimationFrame ||\n window.mozRequestAnimationFrame ||\n window.webkitRequestAnimationFrame ||\n function (fn) {\n return window.setTimeout(fn, 20);\n };\n\n /**\n * Iterate over each of the provided element(s).\n *\n * @param {HTMLElement|HTMLElement[]} elements\n * @param {Function} callback\n */\n function forEachElement(elements, callback){\n var elementsType = Object.prototype.toString.call(elements);\n var isCollectionTyped = ('[object Array]' === elementsType\n || ('[object NodeList]' === elementsType)\n || ('[object HTMLCollection]' === elementsType)\n || ('[object Object]' === elementsType)\n || ('undefined' !== typeof jQuery && elements instanceof jQuery) //jquery\n || ('undefined' !== typeof Elements && elements instanceof Elements) //mootools\n );\n var i = 0, j = elements.length;\n if (isCollectionTyped) {\n for (; i < j; i++) {\n callback(elements[i]);\n }\n } else {\n callback(elements);\n }\n }\n\n /**\n * Get element size\n * @param {HTMLElement} element\n * @returns {Object} {width, height}\n */\n function getElementSize(element) {\n if (!element.getBoundingClientRect) {\n return {\n width: element.offsetWidth,\n height: element.offsetHeight\n }\n }\n\n var rect = element.getBoundingClientRect();\n return {\n width: Math.round(rect.width),\n height: Math.round(rect.height)\n }\n }\n\n /**\n * Class for dimension change detection.\n *\n * @param {Element|Element[]|Elements|jQuery} element\n * @param {Function} callback\n *\n * @constructor\n */\n var ResizeSensor = function(element, callback) {\n /**\n *\n * @constructor\n */\n function EventQueue() {\n var q = [];\n this.add = function(ev) {\n q.push(ev);\n };\n\n var i, j;\n this.call = function() {\n for (i = 0, j = q.length; i < j; i++) {\n q[i].call();\n }\n };\n\n this.remove = function(ev) {\n var newQueue = [];\n for(i = 0, j = q.length; i < j; i++) {\n if(q[i] !== ev) newQueue.push(q[i]);\n }\n q = newQueue;\n };\n\n this.length = function() {\n return q.length;\n }\n }\n\n /**\n *\n * @param {HTMLElement} element\n * @param {Function} resized\n */\n function attachResizeEvent(element, resized) {\n if (!element) return;\n if (element.resizedAttached) {\n element.resizedAttached.add(resized);\n return;\n }\n\n element.resizedAttached = new EventQueue();\n element.resizedAttached.add(resized);\n\n element.resizeSensor = document.createElement('div');\n element.resizeSensor.dir = 'ltr';\n element.resizeSensor.className = 'resize-sensor';\n var style = 'position: absolute; left: -10px; top: -10px; right: 0; bottom: 0; overflow: hidden; z-index: -1; visibility: hidden;';\n var styleChild = 'position: absolute; left: 0; top: 0; transition: 0s;';\n\n element.resizeSensor.style.cssText = style;\n element.resizeSensor.innerHTML =\n '
\r\n \r\n\r\n\r\n\r\n\r\n\r\n\r\n\n\n\n// WEBPACK FOOTER //\n// resources/assets/js/components/enso/vuedatatable/TableFooter.vue","(function (global, factory) {\n\ttypeof exports === 'object' && typeof module !== 'undefined' ? factory(exports) :\n\ttypeof define === 'function' && define.amd ? define(['exports'], factory) :\n\t(factory((global.accounting = global.accounting || {})));\n}(this, function (exports) { 'use strict';\n\n\tfunction __commonjs(fn, module) { return module = { exports: {} }, fn(module, module.exports), module.exports; }\n\n\t/**\n\t * The library's settings configuration object.\n\t *\n\t * Contains default parameters for currency and number formatting\n\t */\n\tvar settings = {\n\t symbol: '$', // default currency symbol is '$'\n\t format: '%s%v', // controls output: %s = symbol, %v = value (can be object, see docs)\n\t decimal: '.', // decimal point separator\n\t thousand: ',', // thousands separator\n\t precision: 2, // decimal places\n\t grouping: 3, // digit grouping (not implemented yet)\n\t stripZeros: false, // strip insignificant zeros from decimal part\n\t fallback: 0 // value returned on unformat() failure\n\t};\n\n\t/**\n\t * Takes a string/array of strings, removes all formatting/cruft and returns the raw float value\n\t * Alias: `accounting.parse(string)`\n\t *\n\t * Decimal must be included in the regular expression to match floats (defaults to\n\t * accounting.settings.decimal), so if the number uses a non-standard decimal\n\t * separator, provide it as the second argument.\n\t *\n\t * Also matches bracketed negatives (eg. '$ (1.99)' => -1.99)\n\t *\n\t * Doesn't throw any errors (`NaN`s become 0) but this may change in future\n\t *\n\t * ```js\n\t * accounting.unformat(\"£ 12,345,678.90 GBP\"); // 12345678.9\n\t * ```\n\t *\n\t * @method unformat\n\t * @for accounting\n\t * @param {String|Array} value The string or array of strings containing the number/s to parse.\n\t * @param {Number} decimal Number of decimal digits of the resultant number\n\t * @return {Float} The parsed number\n\t */\n\tfunction unformat(value) {\n\t var decimal = arguments.length <= 1 || arguments[1] === undefined ? settings.decimal : arguments[1];\n\t var fallback = arguments.length <= 2 || arguments[2] === undefined ? settings.fallback : arguments[2];\n\n\t // Recursively unformat arrays:\n\t if (Array.isArray(value)) {\n\t return value.map(function (val) {\n\t return unformat(val, decimal, fallback);\n\t });\n\t }\n\n\t // Return the value as-is if it's already a number:\n\t if (typeof value === 'number') return value;\n\n\t // Build regex to strip out everything except digits, decimal point and minus sign:\n\t var regex = new RegExp('[^0-9-(-)-' + decimal + ']', ['g']);\n\t var unformattedValueString = ('' + value).replace(regex, '') // strip out any cruft\n\t .replace(decimal, '.') // make sure decimal point is standard\n\t .replace(/\\(([-]*\\d*[^)]?\\d+)\\)/g, '-$1') // replace bracketed values with negatives\n\t .replace(/\\((.*)\\)/, ''); // remove any brackets that do not have numeric value\n\n\t /**\n\t * Handling -ve number and bracket, eg.\n\t * (-100) = 100, -(100) = 100, --100 = 100\n\t */\n\t var negative = (unformattedValueString.match(/-/g) || 2).length % 2,\n\t absUnformatted = parseFloat(unformattedValueString.replace(/-/g, '')),\n\t unformatted = absUnformatted * (negative ? -1 : 1);\n\n\t // This will fail silently which may cause trouble, let's wait and see:\n\t return !isNaN(unformatted) ? unformatted : fallback;\n\t}\n\n\t/**\n\t * Check and normalise the value of precision (must be positive integer)\n\t */\n\tfunction _checkPrecision(val, base) {\n\t val = Math.round(Math.abs(val));\n\t return isNaN(val) ? base : val;\n\t}\n\n\t/**\n\t * Implementation of toFixed() that treats floats more like decimals\n\t *\n\t * Fixes binary rounding issues (eg. (0.615).toFixed(2) === '0.61') that present\n\t * problems for accounting- and finance-related software.\n\t *\n\t * ```js\n\t * (0.615).toFixed(2); // \"0.61\" (native toFixed has rounding issues)\n\t * accounting.toFixed(0.615, 2); // \"0.62\"\n\t * ```\n\t *\n\t * @method toFixed\n\t * @for accounting\n\t * @param {Float} value The float to be treated as a decimal number.\n\t * @param {Number} [precision=2] The number of decimal digits to keep.\n\t * @return {String} The given number transformed into a string with the given precission\n\t */\n\tfunction toFixed(value, precision) {\n\t precision = _checkPrecision(precision, settings.precision);\n\t var power = Math.pow(10, precision);\n\n\t // Multiply up by precision, round accurately, then divide and use native toFixed():\n\t return (Math.round((value + 1e-8) * power) / power).toFixed(precision);\n\t}\n\n\tvar index = __commonjs(function (module) {\n\t/* eslint-disable no-unused-vars */\n\t'use strict';\n\tvar hasOwnProperty = Object.prototype.hasOwnProperty;\n\tvar propIsEnumerable = Object.prototype.propertyIsEnumerable;\n\n\tfunction toObject(val) {\n\t\tif (val === null || val === undefined) {\n\t\t\tthrow new TypeError('Object.assign cannot be called with null or undefined');\n\t\t}\n\n\t\treturn Object(val);\n\t}\n\n\tmodule.exports = Object.assign || function (target, source) {\n\t\tvar from;\n\t\tvar to = toObject(target);\n\t\tvar symbols;\n\n\t\tfor (var s = 1; s < arguments.length; s++) {\n\t\t\tfrom = Object(arguments[s]);\n\n\t\t\tfor (var key in from) {\n\t\t\t\tif (hasOwnProperty.call(from, key)) {\n\t\t\t\t\tto[key] = from[key];\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tif (Object.getOwnPropertySymbols) {\n\t\t\t\tsymbols = Object.getOwnPropertySymbols(from);\n\t\t\t\tfor (var i = 0; i < symbols.length; i++) {\n\t\t\t\t\tif (propIsEnumerable.call(from, symbols[i])) {\n\t\t\t\t\t\tto[symbols[i]] = from[symbols[i]];\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\treturn to;\n\t};\n\t});\n\n\tvar objectAssign = (index && typeof index === 'object' && 'default' in index ? index['default'] : index);\n\n\tfunction _stripInsignificantZeros(str, decimal) {\n\t var parts = str.split(decimal);\n\t var integerPart = parts[0];\n\t var decimalPart = parts[1].replace(/0+$/, '');\n\n\t if (decimalPart.length > 0) {\n\t return integerPart + decimal + decimalPart;\n\t }\n\n\t return integerPart;\n\t}\n\n\t/**\n\t * Format a number, with comma-separated thousands and custom precision/decimal places\n\t * Alias: `accounting.format()`\n\t *\n\t * Localise by overriding the precision and thousand / decimal separators\n\t *\n\t * ```js\n\t * accounting.formatNumber(5318008); // 5,318,008\n\t * accounting.formatNumber(9876543.21, { precision: 3, thousand: \" \" }); // 9 876 543.210\n\t * ```\n\t *\n\t * @method formatNumber\n\t * @for accounting\n\t * @param {Number} number The number to be formatted.\n\t * @param {Object} [opts={}] Object containing all the options of the method.\n\t * @return {String} The given number properly formatted.\n\t */\n\tfunction formatNumber(number) {\n\t var opts = arguments.length <= 1 || arguments[1] === undefined ? {} : arguments[1];\n\n\t // Resursively format arrays:\n\t if (Array.isArray(number)) {\n\t return number.map(function (val) {\n\t return formatNumber(val, opts);\n\t });\n\t }\n\n\t // Build options object from second param (if object) or all params, extending defaults:\n\t opts = objectAssign({}, settings, opts);\n\n\t // Do some calc:\n\t var negative = number < 0 ? '-' : '';\n\t var base = parseInt(toFixed(Math.abs(number), opts.precision), 10) + '';\n\t var mod = base.length > 3 ? base.length % 3 : 0;\n\n\t // Format the number:\n\t var formatted = negative + (mod ? base.substr(0, mod) + opts.thousand : '') + base.substr(mod).replace(/(\\d{3})(?=\\d)/g, '$1' + opts.thousand) + (opts.precision > 0 ? opts.decimal + toFixed(Math.abs(number), opts.precision).split('.')[1] : '');\n\n\t return opts.stripZeros ? _stripInsignificantZeros(formatted, opts.decimal) : formatted;\n\t}\n\n\tvar index$1 = __commonjs(function (module) {\n\t'use strict';\n\n\tvar strValue = String.prototype.valueOf;\n\tvar tryStringObject = function tryStringObject(value) {\n\t\ttry {\n\t\t\tstrValue.call(value);\n\t\t\treturn true;\n\t\t} catch (e) {\n\t\t\treturn false;\n\t\t}\n\t};\n\tvar toStr = Object.prototype.toString;\n\tvar strClass = '[object String]';\n\tvar hasToStringTag = typeof Symbol === 'function' && typeof Symbol.toStringTag === 'symbol';\n\n\tmodule.exports = function isString(value) {\n\t\tif (typeof value === 'string') { return true; }\n\t\tif (typeof value !== 'object') { return false; }\n\t\treturn hasToStringTag ? tryStringObject(value) : toStr.call(value) === strClass;\n\t};\n\t});\n\n\tvar isString = (index$1 && typeof index$1 === 'object' && 'default' in index$1 ? index$1['default'] : index$1);\n\n\t/**\n\t * Parses a format string or object and returns format obj for use in rendering\n\t *\n\t * `format` is either a string with the default (positive) format, or object\n\t * containing `pos` (required), `neg` and `zero` values\n\t *\n\t * Either string or format.pos must contain \"%v\" (value) to be valid\n\t *\n\t * @method _checkCurrencyFormat\n\t * @for accounting\n\t * @param {String} [format=\"%s%v\"] String with the format to apply, where %s is the currency symbol and %v is the value.\n\t * @return {Object} object represnting format (with pos, neg and zero attributes)\n\t */\n\tfunction _checkCurrencyFormat(format) {\n\t // Format should be a string, in which case `value` ('%v') must be present:\n\t if (isString(format) && format.match('%v')) {\n\t // Create and return positive, negative and zero formats:\n\t return {\n\t pos: format,\n\t neg: format.replace('-', '').replace('%v', '-%v'),\n\t zero: format\n\t };\n\t }\n\n\t // Otherwise, assume format was fine:\n\t return format;\n\t}\n\n\t/**\n\t * Format a number into currency\n\t *\n\t * Usage: accounting.formatMoney(number, symbol, precision, thousandsSep, decimalSep, format)\n\t * defaults: (0, '$', 2, ',', '.', '%s%v')\n\t *\n\t * Localise by overriding the symbol, precision, thousand / decimal separators and format\n\t *\n\t * ```js\n\t * // Default usage:\n\t * accounting.formatMoney(12345678); // $12,345,678.00\n\t *\n\t * // European formatting (custom symbol and separators), can also use options object as second parameter:\n\t * accounting.formatMoney(4999.99, { symbol: \"€\", precision: 2, thousand: \".\", decimal: \",\" }); // €4.999,99\n\t *\n\t * // Negative values can be formatted nicely:\n\t * accounting.formatMoney(-500000, { symbol: \"£ \", precision: 0 }); // £ -500,000\n\t *\n\t * // Simple `format` string allows control of symbol position (%v = value, %s = symbol):\n\t * accounting.formatMoney(5318008, { symbol: \"GBP\", format: \"%v %s\" }); // 5,318,008.00 GBP\n\t * ```\n\t *\n\t * @method formatMoney\n\t * @for accounting\n\t * @param {Number} number Number to be formatted.\n\t * @param {Object} [opts={}] Object containing all the options of the method.\n\t * @return {String} The given number properly formatted as money.\n\t */\n\tfunction formatMoney(number) {\n\t var opts = arguments.length <= 1 || arguments[1] === undefined ? {} : arguments[1];\n\n\t // Resursively format arrays:\n\t if (Array.isArray(number)) {\n\t return number.map(function (val) {\n\t return formatMoney(val, opts);\n\t });\n\t }\n\n\t // Build options object from second param (if object) or all params, extending defaults:\n\t opts = objectAssign({}, settings, opts);\n\n\t // Check format (returns object with pos, neg and zero):\n\t var formats = _checkCurrencyFormat(opts.format);\n\n\t // Choose which format to use for this value:\n\t var useFormat = undefined;\n\n\t if (number > 0) {\n\t useFormat = formats.pos;\n\t } else if (number < 0) {\n\t useFormat = formats.neg;\n\t } else {\n\t useFormat = formats.zero;\n\t }\n\n\t // Return with currency symbol added:\n\t return useFormat.replace('%s', opts.symbol).replace('%v', formatNumber(Math.abs(number), opts));\n\t}\n\n\t/**\n\t * Format a list of numbers into an accounting column, padding with whitespace\n\t * to line up currency symbols, thousand separators and decimals places\n\t *\n\t * List should be an array of numbers\n\t *\n\t * Returns array of accouting-formatted number strings of same length\n\t *\n\t * NB: `white-space:pre` CSS rule is required on the list container to prevent\n\t * browsers from collapsing the whitespace in the output strings.\n\t *\n\t * ```js\n\t * accounting.formatColumn([123.5, 3456.49, 777888.99, 12345678, -5432], { symbol: \"$ \" });\n\t * ```\n\t *\n\t * @method formatColumn\n\t * @for accounting\n\t * @param {Array} list An array of numbers to format\n\t * @param {Object} [opts={}] Object containing all the options of the method.\n\t * @param {Object|String} [symbol=\"$\"] String with the currency symbol. For conveniency if can be an object containing all the options of the method.\n\t * @param {Integer} [precision=2] Number of decimal digits\n\t * @param {String} [thousand=','] String with the thousands separator.\n\t * @param {String} [decimal=\".\"] String with the decimal separator.\n\t * @param {String} [format=\"%s%v\"] String with the format to apply, where %s is the currency symbol and %v is the value.\n\t * @return {Array} array of accouting-formatted number strings of same length\n\t */\n\tfunction formatColumn(list) {\n\t var opts = arguments.length <= 1 || arguments[1] === undefined ? {} : arguments[1];\n\n\t if (!list) return [];\n\n\t // Build options object from second param (if object) or all params, extending defaults:\n\t opts = objectAssign({}, settings, opts);\n\n\t // Check format (returns object with pos, neg and zero), only need pos for now:\n\t var formats = _checkCurrencyFormat(opts.format);\n\n\t // Whether to pad at start of string or after currency symbol:\n\t var padAfterSymbol = formats.pos.indexOf('%s') < formats.pos.indexOf('%v');\n\n\t // Store value for the length of the longest string in the column:\n\t var maxLength = 0;\n\n\t // Format the list according to options, store the length of the longest string:\n\t var formatted = list.map(function (val) {\n\t if (Array.isArray(val)) {\n\t // Recursively format columns if list is a multi-dimensional array:\n\t return formatColumn(val, opts);\n\t }\n\t // Clean up the value\n\t val = unformat(val, opts.decimal);\n\n\t // Choose which format to use for this value (pos, neg or zero):\n\t var useFormat = undefined;\n\n\t if (val > 0) {\n\t useFormat = formats.pos;\n\t } else if (val < 0) {\n\t useFormat = formats.neg;\n\t } else {\n\t useFormat = formats.zero;\n\t }\n\n\t // Format this value, push into formatted list and save the length:\n\t var fVal = useFormat.replace('%s', opts.symbol).replace('%v', formatNumber(Math.abs(val), opts));\n\n\t if (fVal.length > maxLength) {\n\t maxLength = fVal.length;\n\t }\n\n\t return fVal;\n\t });\n\n\t // Pad each number in the list and send back the column of numbers:\n\t return formatted.map(function (val) {\n\t // Only if this is a string (not a nested array, which would have already been padded):\n\t if (isString(val) && val.length < maxLength) {\n\t // Depending on symbol position, pad after symbol or at index 0:\n\t return padAfterSymbol ? val.replace(opts.symbol, opts.symbol + new Array(maxLength - val.length + 1).join(' ')) : new Array(maxLength - val.length + 1).join(' ') + val;\n\t }\n\t return val;\n\t });\n\t}\n\n\texports.settings = settings;\n\texports.unformat = unformat;\n\texports.toFixed = toFixed;\n\texports.formatMoney = formatMoney;\n\texports.formatNumber = formatNumber;\n\texports.formatColumn = formatColumn;\n\texports.format = formatMoney;\n\texports.parse = unformat;\n\n}));\n//# sourceMappingURL=accounting.umd.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/accounting-js/dist/accounting.umd.js\n// module id = U0Mp\n// module chunks = 0 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52","// style-loader: Adds some css to the DOM by adding a \r\n\n\n\n// WEBPACK FOOTER //\n// resources/assets/js/components/enso/vuedatatable/Overlay.vue","var normalizeComponent = require(\"!../../../../../node_modules/vue-loader/lib/component-normalizer\")\n/* script */\nvar __vue_script__ = require(\"!!babel-loader?{\\\"cacheDirectory\\\":true,\\\"presets\\\":[[\\\"env\\\",{\\\"modules\\\":false,\\\"targets\\\":{\\\"browsers\\\":[\\\"> 2%\\\"],\\\"uglify\\\":true}}]],\\\"plugins\\\":[\\\"transform-object-rest-spread\\\",[\\\"transform-runtime\\\",{\\\"polyfill\\\":false,\\\"helpers\\\":false}],\\\"transform-object-rest-spread\\\",\\\"syntax-dynamic-import\\\"]}!../../../../../node_modules/vue-loader/lib/selector?type=script&index=0!./Index.vue\")\n/* template */\nvar __vue_template__ = require(\"!!../../../../../node_modules/vue-loader/lib/template-compiler/index?{\\\"id\\\":\\\"data-v-8bd91dac\\\",\\\"hasScoped\\\":false,\\\"buble\\\":{\\\"transforms\\\":{}}}!../../../../../node_modules/vue-loader/lib/selector?type=template&index=0!./Index.vue\")\n/* template functional */\nvar __vue_template_functional__ = false\n/* styles */\nvar __vue_styles__ = null\n/* scopeId */\nvar __vue_scopeId__ = null\n/* moduleIdentifier (server only) */\nvar __vue_module_identifier__ = null\nvar Component = normalizeComponent(\n __vue_script__,\n __vue_template__,\n __vue_template_functional__,\n __vue_styles__,\n __vue_scopeId__,\n __vue_module_identifier__\n)\n\nmodule.exports = Component.exports\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./resources/assets/js/pages/citations/Index.vue\n// module id = aEIZ\n// module chunks = 26","\r\n\r\n \r\n \r\n \r\n \r\n \r\n {{ key }}\r\n \r\n \r\n\r\n\r\n\r\n\r\n\n\n\n// WEBPACK FOOTER //\n// resources/assets/js/components/enso/vuedatatable/topControls/StyleSelector.vue","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('thead',[_c('tr',{class:_vm.template.style},[(_vm.template.crtNo)?_c('th',{class:_vm.template.align},[_vm._v(\"\\n \"+_vm._s(_vm.i18n(_vm.template.labels.crtNo))+\"\\n \")]):_vm._e(),_vm._v(\" \"),_vm._l((_vm.template.columns),function(column){return (column.meta.visible && !column.meta.hidden && !column.meta.rogue)?_c('th',{key:column.label,class:[\n 'vue-table-header',\n column.align\n ? _vm.template.aligns[column.align]\n : _vm.template.align\n ]},[_vm._v(\"\\n \"+_vm._s(_vm.i18n(column.label))+\"\\n \"),_c('span',{staticClass:\"table-header-controls\"},[(column.tooltip)?_c('span',{directives:[{name:\"tooltip\",rawName:\"v-tooltip\",value:(_vm.i18n(column.tooltip)),expression:\"i18n(column.tooltip)\"}],staticClass:\"icon is-small has-text-info\"},[_c('fa',{attrs:{\"icon\":\"info\",\"size\":\"xs\"}})],1):_vm._e(),_vm._v(\" \"),(column.meta.sortable)?_c('span',{staticClass:\"sorter\",on:{\"click\":function($event){_vm.toggleSort($event, column)}}},[_c('span',{staticClass:\"icon is-small\"},[_c('fa',{attrs:{\"icon\":_vm.sortIcon(column.meta.sort),\"size\":\"xs\"}})],1)]):_vm._e(),_vm._v(\" \"),(column.meta.sort)?_c('a',{staticClass:\"delete is-small\",on:{\"click\":function($event){_vm.clearColumnSort(column)}}}):_vm._e()])]):_vm._e()}),_vm._v(\" \"),(_vm.template.actions)?_c('th',{class:_vm.template.align},[_vm._v(\"\\n \"+_vm._s(_vm.i18n(_vm.template.labels.actions))+\"\\n \")]):_vm._e()],2)])}\nvar staticRenderFns = []\nmodule.exports = { render: render, staticRenderFns: staticRenderFns }\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/vue-loader/lib/template-compiler?{\"id\":\"data-v-433275fc\",\"hasScoped\":false,\"buble\":{\"transforms\":{}}}!./node_modules/vue-loader/lib/selector.js?type=template&index=0!./resources/assets/js/components/enso/vuedatatable/TableHeader.vue\n// module id = akE6\n// module chunks = 0 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28","'use strict';\n\n/**\n * Copyright Marc J. Schmidt. See the LICENSE file at the top-level\n * directory of this distribution and at\n * https://github.com/marcj/css-element-queries/blob/master/LICENSE.\n */\n(function (root, factory) {\n if (typeof define === \"function\" && define.amd) {\n define(factory);\n } else if (typeof exports === \"object\") {\n module.exports = factory();\n } else {\n root.ResizeSensor = factory();\n }\n}(typeof window !== 'undefined' ? window : this, function () {\n\n // Make sure it does not throw in a SSR (Server Side Rendering) situation\n if (typeof window === \"undefined\") {\n return null;\n }\n // Only used for the dirty checking, so the event callback count is limited to max 1 call per fps per sensor.\n // In combination with the event based resize sensor this saves cpu time, because the sensor is too fast and\n // would generate too many unnecessary events.\n var requestAnimationFrame = window.requestAnimationFrame ||\n window.mozRequestAnimationFrame ||\n window.webkitRequestAnimationFrame ||\n function (fn) {\n return window.setTimeout(fn, 20);\n };\n\n /**\n * Iterate over each of the provided element(s).\n *\n * @param {HTMLElement|HTMLElement[]} elements\n * @param {Function} callback\n */\n function forEachElement(elements, callback){\n var elementsType = Object.prototype.toString.call(elements);\n var isCollectionTyped = ('[object Array]' === elementsType\n || ('[object NodeList]' === elementsType)\n || ('[object HTMLCollection]' === elementsType)\n || ('[object Object]' === elementsType)\n || ('undefined' !== typeof jQuery && elements instanceof jQuery) //jquery\n || ('undefined' !== typeof Elements && elements instanceof Elements) //mootools\n );\n var i = 0, j = elements.length;\n if (isCollectionTyped) {\n for (; i < j; i++) {\n callback(elements[i]);\n }\n } else {\n callback(elements);\n }\n }\n\n /**\n * Get element size\n * @param {HTMLElement} element\n * @returns {Object} {width, height}\n */\n function getElementSize(element) {\n if (!element.getBoundingClientRect) {\n return {\n width: element.offsetWidth,\n height: element.offsetHeight\n }\n }\n\n var rect = element.getBoundingClientRect();\n return {\n width: Math.round(rect.width),\n height: Math.round(rect.height)\n }\n }\n\n /**\n * Class for dimension change detection.\n *\n * @param {Element|Element[]|Elements|jQuery} element\n * @param {Function} callback\n *\n * @constructor\n */\n var ResizeSensor = function(element, callback) {\n /**\n *\n * @constructor\n */\n function EventQueue() {\n var q = [];\n this.add = function(ev) {\n q.push(ev);\n };\n\n var i, j;\n this.call = function() {\n for (i = 0, j = q.length; i < j; i++) {\n q[i].call();\n }\n };\n\n this.remove = function(ev) {\n var newQueue = [];\n for(i = 0, j = q.length; i < j; i++) {\n if(q[i] !== ev) newQueue.push(q[i]);\n }\n q = newQueue;\n };\n\n this.length = function() {\n return q.length;\n }\n }\n\n /**\n *\n * @param {HTMLElement} element\n * @param {Function} resized\n */\n function attachResizeEvent(element, resized) {\n if (!element) return;\n if (element.resizedAttached) {\n element.resizedAttached.add(resized);\n return;\n }\n\n element.resizedAttached = new EventQueue();\n element.resizedAttached.add(resized);\n\n element.resizeSensor = document.createElement('div');\n element.resizeSensor.dir = 'ltr';\n element.resizeSensor.className = 'resize-sensor';\n var style = 'position: absolute; left: -10px; top: -10px; right: 0; bottom: 0; overflow: hidden; z-index: -1; visibility: hidden;';\n var styleChild = 'position: absolute; left: 0; top: 0; transition: 0s;';\n\n element.resizeSensor.style.cssText = style;\n element.resizeSensor.innerHTML =\n '
\r\n \r\n\r\n\r\n\r\n\r\n\r\n\r\n\n\n\n// WEBPACK FOOTER //\n// resources/assets/js/components/enso/vuedatatable/TableFooter.vue","(function (global, factory) {\n\ttypeof exports === 'object' && typeof module !== 'undefined' ? factory(exports) :\n\ttypeof define === 'function' && define.amd ? define(['exports'], factory) :\n\t(factory((global.accounting = global.accounting || {})));\n}(this, function (exports) { 'use strict';\n\n\tfunction __commonjs(fn, module) { return module = { exports: {} }, fn(module, module.exports), module.exports; }\n\n\t/**\n\t * The library's settings configuration object.\n\t *\n\t * Contains default parameters for currency and number formatting\n\t */\n\tvar settings = {\n\t symbol: '$', // default currency symbol is '$'\n\t format: '%s%v', // controls output: %s = symbol, %v = value (can be object, see docs)\n\t decimal: '.', // decimal point separator\n\t thousand: ',', // thousands separator\n\t precision: 2, // decimal places\n\t grouping: 3, // digit grouping (not implemented yet)\n\t stripZeros: false, // strip insignificant zeros from decimal part\n\t fallback: 0 // value returned on unformat() failure\n\t};\n\n\t/**\n\t * Takes a string/array of strings, removes all formatting/cruft and returns the raw float value\n\t * Alias: `accounting.parse(string)`\n\t *\n\t * Decimal must be included in the regular expression to match floats (defaults to\n\t * accounting.settings.decimal), so if the number uses a non-standard decimal\n\t * separator, provide it as the second argument.\n\t *\n\t * Also matches bracketed negatives (eg. '$ (1.99)' => -1.99)\n\t *\n\t * Doesn't throw any errors (`NaN`s become 0) but this may change in future\n\t *\n\t * ```js\n\t * accounting.unformat(\"£ 12,345,678.90 GBP\"); // 12345678.9\n\t * ```\n\t *\n\t * @method unformat\n\t * @for accounting\n\t * @param {String|Array} value The string or array of strings containing the number/s to parse.\n\t * @param {Number} decimal Number of decimal digits of the resultant number\n\t * @return {Float} The parsed number\n\t */\n\tfunction unformat(value) {\n\t var decimal = arguments.length <= 1 || arguments[1] === undefined ? settings.decimal : arguments[1];\n\t var fallback = arguments.length <= 2 || arguments[2] === undefined ? settings.fallback : arguments[2];\n\n\t // Recursively unformat arrays:\n\t if (Array.isArray(value)) {\n\t return value.map(function (val) {\n\t return unformat(val, decimal, fallback);\n\t });\n\t }\n\n\t // Return the value as-is if it's already a number:\n\t if (typeof value === 'number') return value;\n\n\t // Build regex to strip out everything except digits, decimal point and minus sign:\n\t var regex = new RegExp('[^0-9-(-)-' + decimal + ']', ['g']);\n\t var unformattedValueString = ('' + value).replace(regex, '') // strip out any cruft\n\t .replace(decimal, '.') // make sure decimal point is standard\n\t .replace(/\\(([-]*\\d*[^)]?\\d+)\\)/g, '-$1') // replace bracketed values with negatives\n\t .replace(/\\((.*)\\)/, ''); // remove any brackets that do not have numeric value\n\n\t /**\n\t * Handling -ve number and bracket, eg.\n\t * (-100) = 100, -(100) = 100, --100 = 100\n\t */\n\t var negative = (unformattedValueString.match(/-/g) || 2).length % 2,\n\t absUnformatted = parseFloat(unformattedValueString.replace(/-/g, '')),\n\t unformatted = absUnformatted * (negative ? -1 : 1);\n\n\t // This will fail silently which may cause trouble, let's wait and see:\n\t return !isNaN(unformatted) ? unformatted : fallback;\n\t}\n\n\t/**\n\t * Check and normalise the value of precision (must be positive integer)\n\t */\n\tfunction _checkPrecision(val, base) {\n\t val = Math.round(Math.abs(val));\n\t return isNaN(val) ? base : val;\n\t}\n\n\t/**\n\t * Implementation of toFixed() that treats floats more like decimals\n\t *\n\t * Fixes binary rounding issues (eg. (0.615).toFixed(2) === '0.61') that present\n\t * problems for accounting- and finance-related software.\n\t *\n\t * ```js\n\t * (0.615).toFixed(2); // \"0.61\" (native toFixed has rounding issues)\n\t * accounting.toFixed(0.615, 2); // \"0.62\"\n\t * ```\n\t *\n\t * @method toFixed\n\t * @for accounting\n\t * @param {Float} value The float to be treated as a decimal number.\n\t * @param {Number} [precision=2] The number of decimal digits to keep.\n\t * @return {String} The given number transformed into a string with the given precission\n\t */\n\tfunction toFixed(value, precision) {\n\t precision = _checkPrecision(precision, settings.precision);\n\t var power = Math.pow(10, precision);\n\n\t // Multiply up by precision, round accurately, then divide and use native toFixed():\n\t return (Math.round((value + 1e-8) * power) / power).toFixed(precision);\n\t}\n\n\tvar index = __commonjs(function (module) {\n\t/* eslint-disable no-unused-vars */\n\t'use strict';\n\tvar hasOwnProperty = Object.prototype.hasOwnProperty;\n\tvar propIsEnumerable = Object.prototype.propertyIsEnumerable;\n\n\tfunction toObject(val) {\n\t\tif (val === null || val === undefined) {\n\t\t\tthrow new TypeError('Object.assign cannot be called with null or undefined');\n\t\t}\n\n\t\treturn Object(val);\n\t}\n\n\tmodule.exports = Object.assign || function (target, source) {\n\t\tvar from;\n\t\tvar to = toObject(target);\n\t\tvar symbols;\n\n\t\tfor (var s = 1; s < arguments.length; s++) {\n\t\t\tfrom = Object(arguments[s]);\n\n\t\t\tfor (var key in from) {\n\t\t\t\tif (hasOwnProperty.call(from, key)) {\n\t\t\t\t\tto[key] = from[key];\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tif (Object.getOwnPropertySymbols) {\n\t\t\t\tsymbols = Object.getOwnPropertySymbols(from);\n\t\t\t\tfor (var i = 0; i < symbols.length; i++) {\n\t\t\t\t\tif (propIsEnumerable.call(from, symbols[i])) {\n\t\t\t\t\t\tto[symbols[i]] = from[symbols[i]];\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\treturn to;\n\t};\n\t});\n\n\tvar objectAssign = (index && typeof index === 'object' && 'default' in index ? index['default'] : index);\n\n\tfunction _stripInsignificantZeros(str, decimal) {\n\t var parts = str.split(decimal);\n\t var integerPart = parts[0];\n\t var decimalPart = parts[1].replace(/0+$/, '');\n\n\t if (decimalPart.length > 0) {\n\t return integerPart + decimal + decimalPart;\n\t }\n\n\t return integerPart;\n\t}\n\n\t/**\n\t * Format a number, with comma-separated thousands and custom precision/decimal places\n\t * Alias: `accounting.format()`\n\t *\n\t * Localise by overriding the precision and thousand / decimal separators\n\t *\n\t * ```js\n\t * accounting.formatNumber(5318008); // 5,318,008\n\t * accounting.formatNumber(9876543.21, { precision: 3, thousand: \" \" }); // 9 876 543.210\n\t * ```\n\t *\n\t * @method formatNumber\n\t * @for accounting\n\t * @param {Number} number The number to be formatted.\n\t * @param {Object} [opts={}] Object containing all the options of the method.\n\t * @return {String} The given number properly formatted.\n\t */\n\tfunction formatNumber(number) {\n\t var opts = arguments.length <= 1 || arguments[1] === undefined ? {} : arguments[1];\n\n\t // Resursively format arrays:\n\t if (Array.isArray(number)) {\n\t return number.map(function (val) {\n\t return formatNumber(val, opts);\n\t });\n\t }\n\n\t // Build options object from second param (if object) or all params, extending defaults:\n\t opts = objectAssign({}, settings, opts);\n\n\t // Do some calc:\n\t var negative = number < 0 ? '-' : '';\n\t var base = parseInt(toFixed(Math.abs(number), opts.precision), 10) + '';\n\t var mod = base.length > 3 ? base.length % 3 : 0;\n\n\t // Format the number:\n\t var formatted = negative + (mod ? base.substr(0, mod) + opts.thousand : '') + base.substr(mod).replace(/(\\d{3})(?=\\d)/g, '$1' + opts.thousand) + (opts.precision > 0 ? opts.decimal + toFixed(Math.abs(number), opts.precision).split('.')[1] : '');\n\n\t return opts.stripZeros ? _stripInsignificantZeros(formatted, opts.decimal) : formatted;\n\t}\n\n\tvar index$1 = __commonjs(function (module) {\n\t'use strict';\n\n\tvar strValue = String.prototype.valueOf;\n\tvar tryStringObject = function tryStringObject(value) {\n\t\ttry {\n\t\t\tstrValue.call(value);\n\t\t\treturn true;\n\t\t} catch (e) {\n\t\t\treturn false;\n\t\t}\n\t};\n\tvar toStr = Object.prototype.toString;\n\tvar strClass = '[object String]';\n\tvar hasToStringTag = typeof Symbol === 'function' && typeof Symbol.toStringTag === 'symbol';\n\n\tmodule.exports = function isString(value) {\n\t\tif (typeof value === 'string') { return true; }\n\t\tif (typeof value !== 'object') { return false; }\n\t\treturn hasToStringTag ? tryStringObject(value) : toStr.call(value) === strClass;\n\t};\n\t});\n\n\tvar isString = (index$1 && typeof index$1 === 'object' && 'default' in index$1 ? index$1['default'] : index$1);\n\n\t/**\n\t * Parses a format string or object and returns format obj for use in rendering\n\t *\n\t * `format` is either a string with the default (positive) format, or object\n\t * containing `pos` (required), `neg` and `zero` values\n\t *\n\t * Either string or format.pos must contain \"%v\" (value) to be valid\n\t *\n\t * @method _checkCurrencyFormat\n\t * @for accounting\n\t * @param {String} [format=\"%s%v\"] String with the format to apply, where %s is the currency symbol and %v is the value.\n\t * @return {Object} object represnting format (with pos, neg and zero attributes)\n\t */\n\tfunction _checkCurrencyFormat(format) {\n\t // Format should be a string, in which case `value` ('%v') must be present:\n\t if (isString(format) && format.match('%v')) {\n\t // Create and return positive, negative and zero formats:\n\t return {\n\t pos: format,\n\t neg: format.replace('-', '').replace('%v', '-%v'),\n\t zero: format\n\t };\n\t }\n\n\t // Otherwise, assume format was fine:\n\t return format;\n\t}\n\n\t/**\n\t * Format a number into currency\n\t *\n\t * Usage: accounting.formatMoney(number, symbol, precision, thousandsSep, decimalSep, format)\n\t * defaults: (0, '$', 2, ',', '.', '%s%v')\n\t *\n\t * Localise by overriding the symbol, precision, thousand / decimal separators and format\n\t *\n\t * ```js\n\t * // Default usage:\n\t * accounting.formatMoney(12345678); // $12,345,678.00\n\t *\n\t * // European formatting (custom symbol and separators), can also use options object as second parameter:\n\t * accounting.formatMoney(4999.99, { symbol: \"€\", precision: 2, thousand: \".\", decimal: \",\" }); // €4.999,99\n\t *\n\t * // Negative values can be formatted nicely:\n\t * accounting.formatMoney(-500000, { symbol: \"£ \", precision: 0 }); // £ -500,000\n\t *\n\t * // Simple `format` string allows control of symbol position (%v = value, %s = symbol):\n\t * accounting.formatMoney(5318008, { symbol: \"GBP\", format: \"%v %s\" }); // 5,318,008.00 GBP\n\t * ```\n\t *\n\t * @method formatMoney\n\t * @for accounting\n\t * @param {Number} number Number to be formatted.\n\t * @param {Object} [opts={}] Object containing all the options of the method.\n\t * @return {String} The given number properly formatted as money.\n\t */\n\tfunction formatMoney(number) {\n\t var opts = arguments.length <= 1 || arguments[1] === undefined ? {} : arguments[1];\n\n\t // Resursively format arrays:\n\t if (Array.isArray(number)) {\n\t return number.map(function (val) {\n\t return formatMoney(val, opts);\n\t });\n\t }\n\n\t // Build options object from second param (if object) or all params, extending defaults:\n\t opts = objectAssign({}, settings, opts);\n\n\t // Check format (returns object with pos, neg and zero):\n\t var formats = _checkCurrencyFormat(opts.format);\n\n\t // Choose which format to use for this value:\n\t var useFormat = undefined;\n\n\t if (number > 0) {\n\t useFormat = formats.pos;\n\t } else if (number < 0) {\n\t useFormat = formats.neg;\n\t } else {\n\t useFormat = formats.zero;\n\t }\n\n\t // Return with currency symbol added:\n\t return useFormat.replace('%s', opts.symbol).replace('%v', formatNumber(Math.abs(number), opts));\n\t}\n\n\t/**\n\t * Format a list of numbers into an accounting column, padding with whitespace\n\t * to line up currency symbols, thousand separators and decimals places\n\t *\n\t * List should be an array of numbers\n\t *\n\t * Returns array of accouting-formatted number strings of same length\n\t *\n\t * NB: `white-space:pre` CSS rule is required on the list container to prevent\n\t * browsers from collapsing the whitespace in the output strings.\n\t *\n\t * ```js\n\t * accounting.formatColumn([123.5, 3456.49, 777888.99, 12345678, -5432], { symbol: \"$ \" });\n\t * ```\n\t *\n\t * @method formatColumn\n\t * @for accounting\n\t * @param {Array} list An array of numbers to format\n\t * @param {Object} [opts={}] Object containing all the options of the method.\n\t * @param {Object|String} [symbol=\"$\"] String with the currency symbol. For conveniency if can be an object containing all the options of the method.\n\t * @param {Integer} [precision=2] Number of decimal digits\n\t * @param {String} [thousand=','] String with the thousands separator.\n\t * @param {String} [decimal=\".\"] String with the decimal separator.\n\t * @param {String} [format=\"%s%v\"] String with the format to apply, where %s is the currency symbol and %v is the value.\n\t * @return {Array} array of accouting-formatted number strings of same length\n\t */\n\tfunction formatColumn(list) {\n\t var opts = arguments.length <= 1 || arguments[1] === undefined ? {} : arguments[1];\n\n\t if (!list) return [];\n\n\t // Build options object from second param (if object) or all params, extending defaults:\n\t opts = objectAssign({}, settings, opts);\n\n\t // Check format (returns object with pos, neg and zero), only need pos for now:\n\t var formats = _checkCurrencyFormat(opts.format);\n\n\t // Whether to pad at start of string or after currency symbol:\n\t var padAfterSymbol = formats.pos.indexOf('%s') < formats.pos.indexOf('%v');\n\n\t // Store value for the length of the longest string in the column:\n\t var maxLength = 0;\n\n\t // Format the list according to options, store the length of the longest string:\n\t var formatted = list.map(function (val) {\n\t if (Array.isArray(val)) {\n\t // Recursively format columns if list is a multi-dimensional array:\n\t return formatColumn(val, opts);\n\t }\n\t // Clean up the value\n\t val = unformat(val, opts.decimal);\n\n\t // Choose which format to use for this value (pos, neg or zero):\n\t var useFormat = undefined;\n\n\t if (val > 0) {\n\t useFormat = formats.pos;\n\t } else if (val < 0) {\n\t useFormat = formats.neg;\n\t } else {\n\t useFormat = formats.zero;\n\t }\n\n\t // Format this value, push into formatted list and save the length:\n\t var fVal = useFormat.replace('%s', opts.symbol).replace('%v', formatNumber(Math.abs(val), opts));\n\n\t if (fVal.length > maxLength) {\n\t maxLength = fVal.length;\n\t }\n\n\t return fVal;\n\t });\n\n\t // Pad each number in the list and send back the column of numbers:\n\t return formatted.map(function (val) {\n\t // Only if this is a string (not a nested array, which would have already been padded):\n\t if (isString(val) && val.length < maxLength) {\n\t // Depending on symbol position, pad after symbol or at index 0:\n\t return padAfterSymbol ? val.replace(opts.symbol, opts.symbol + new Array(maxLength - val.length + 1).join(' ')) : new Array(maxLength - val.length + 1).join(' ') + val;\n\t }\n\t return val;\n\t });\n\t}\n\n\texports.settings = settings;\n\texports.unformat = unformat;\n\texports.toFixed = toFixed;\n\texports.formatMoney = formatMoney;\n\texports.formatNumber = formatNumber;\n\texports.formatColumn = formatColumn;\n\texports.format = formatMoney;\n\texports.parse = unformat;\n\n}));\n//# sourceMappingURL=accounting.umd.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/accounting-js/dist/accounting.umd.js\n// module id = U0Mp\n// module chunks = 0 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52","// style-loader: Adds some css to the DOM by adding a \r\n\n\n\n// WEBPACK FOOTER //\n// resources/assets/js/components/enso/vuedatatable/Overlay.vue","\r\n\r\n \r\n \r\n \r\n \r\n \r\n {{ key }}\r\n \r\n \r\n\r\n\r\n\r\n\r\n\n\n\n// WEBPACK FOOTER //\n// resources/assets/js/components/enso/vuedatatable/topControls/StyleSelector.vue","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('thead',[_c('tr',{class:_vm.template.style},[(_vm.template.crtNo)?_c('th',{class:_vm.template.align},[_vm._v(\"\\n \"+_vm._s(_vm.i18n(_vm.template.labels.crtNo))+\"\\n \")]):_vm._e(),_vm._v(\" \"),_vm._l((_vm.template.columns),function(column){return (column.meta.visible && !column.meta.hidden && !column.meta.rogue)?_c('th',{key:column.label,class:[\n 'vue-table-header',\n column.align\n ? _vm.template.aligns[column.align]\n : _vm.template.align\n ]},[_vm._v(\"\\n \"+_vm._s(_vm.i18n(column.label))+\"\\n \"),_c('span',{staticClass:\"table-header-controls\"},[(column.tooltip)?_c('span',{directives:[{name:\"tooltip\",rawName:\"v-tooltip\",value:(_vm.i18n(column.tooltip)),expression:\"i18n(column.tooltip)\"}],staticClass:\"icon is-small has-text-info\"},[_c('fa',{attrs:{\"icon\":\"info\",\"size\":\"xs\"}})],1):_vm._e(),_vm._v(\" \"),(column.meta.sortable)?_c('span',{staticClass:\"sorter\",on:{\"click\":function($event){_vm.toggleSort($event, column)}}},[_c('span',{staticClass:\"icon is-small\"},[_c('fa',{attrs:{\"icon\":_vm.sortIcon(column.meta.sort),\"size\":\"xs\"}})],1)]):_vm._e(),_vm._v(\" \"),(column.meta.sort)?_c('a',{staticClass:\"delete is-small\",on:{\"click\":function($event){_vm.clearColumnSort(column)}}}):_vm._e()])]):_vm._e()}),_vm._v(\" \"),(_vm.template.actions)?_c('th',{class:_vm.template.align},[_vm._v(\"\\n \"+_vm._s(_vm.i18n(_vm.template.labels.actions))+\"\\n \")]):_vm._e()],2)])}\nvar staticRenderFns = []\nmodule.exports = { render: render, staticRenderFns: staticRenderFns }\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/vue-loader/lib/template-compiler?{\"id\":\"data-v-433275fc\",\"hasScoped\":false,\"buble\":{\"transforms\":{}}}!./node_modules/vue-loader/lib/selector.js?type=template&index=0!./resources/assets/js/components/enso/vuedatatable/TableHeader.vue\n// module id = akE6\n// module chunks = 0 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28","'use strict';\n\n/**\n * Copyright Marc J. Schmidt. See the LICENSE file at the top-level\n * directory of this distribution and at\n * https://github.com/marcj/css-element-queries/blob/master/LICENSE.\n */\n(function (root, factory) {\n if (typeof define === \"function\" && define.amd) {\n define(factory);\n } else if (typeof exports === \"object\") {\n module.exports = factory();\n } else {\n root.ResizeSensor = factory();\n }\n}(typeof window !== 'undefined' ? window : this, function () {\n\n // Make sure it does not throw in a SSR (Server Side Rendering) situation\n if (typeof window === \"undefined\") {\n return null;\n }\n // Only used for the dirty checking, so the event callback count is limited to max 1 call per fps per sensor.\n // In combination with the event based resize sensor this saves cpu time, because the sensor is too fast and\n // would generate too many unnecessary events.\n var requestAnimationFrame = window.requestAnimationFrame ||\n window.mozRequestAnimationFrame ||\n window.webkitRequestAnimationFrame ||\n function (fn) {\n return window.setTimeout(fn, 20);\n };\n\n /**\n * Iterate over each of the provided element(s).\n *\n * @param {HTMLElement|HTMLElement[]} elements\n * @param {Function} callback\n */\n function forEachElement(elements, callback){\n var elementsType = Object.prototype.toString.call(elements);\n var isCollectionTyped = ('[object Array]' === elementsType\n || ('[object NodeList]' === elementsType)\n || ('[object HTMLCollection]' === elementsType)\n || ('[object Object]' === elementsType)\n || ('undefined' !== typeof jQuery && elements instanceof jQuery) //jquery\n || ('undefined' !== typeof Elements && elements instanceof Elements) //mootools\n );\n var i = 0, j = elements.length;\n if (isCollectionTyped) {\n for (; i < j; i++) {\n callback(elements[i]);\n }\n } else {\n callback(elements);\n }\n }\n\n /**\n * Get element size\n * @param {HTMLElement} element\n * @returns {Object} {width, height}\n */\n function getElementSize(element) {\n if (!element.getBoundingClientRect) {\n return {\n width: element.offsetWidth,\n height: element.offsetHeight\n }\n }\n\n var rect = element.getBoundingClientRect();\n return {\n width: Math.round(rect.width),\n height: Math.round(rect.height)\n }\n }\n\n /**\n * Class for dimension change detection.\n *\n * @param {Element|Element[]|Elements|jQuery} element\n * @param {Function} callback\n *\n * @constructor\n */\n var ResizeSensor = function(element, callback) {\n /**\n *\n * @constructor\n */\n function EventQueue() {\n var q = [];\n this.add = function(ev) {\n q.push(ev);\n };\n\n var i, j;\n this.call = function() {\n for (i = 0, j = q.length; i < j; i++) {\n q[i].call();\n }\n };\n\n this.remove = function(ev) {\n var newQueue = [];\n for(i = 0, j = q.length; i < j; i++) {\n if(q[i] !== ev) newQueue.push(q[i]);\n }\n q = newQueue;\n };\n\n this.length = function() {\n return q.length;\n }\n }\n\n /**\n *\n * @param {HTMLElement} element\n * @param {Function} resized\n */\n function attachResizeEvent(element, resized) {\n if (!element) return;\n if (element.resizedAttached) {\n element.resizedAttached.add(resized);\n return;\n }\n\n element.resizedAttached = new EventQueue();\n element.resizedAttached.add(resized);\n\n element.resizeSensor = document.createElement('div');\n element.resizeSensor.dir = 'ltr';\n element.resizeSensor.className = 'resize-sensor';\n var style = 'position: absolute; left: -10px; top: -10px; right: 0; bottom: 0; overflow: hidden; z-index: -1; visibility: hidden;';\n var styleChild = 'position: absolute; left: 0; top: 0; transition: 0s;';\n\n element.resizeSensor.style.cssText = style;\n element.resizeSensor.innerHTML =\n '
\r\n \r\n\r\n\r\n\r\n\r\n\r\n\r\n\n\n\n// WEBPACK FOOTER //\n// resources/assets/js/components/enso/vuedatatable/TableFooter.vue","(function (global, factory) {\n\ttypeof exports === 'object' && typeof module !== 'undefined' ? factory(exports) :\n\ttypeof define === 'function' && define.amd ? define(['exports'], factory) :\n\t(factory((global.accounting = global.accounting || {})));\n}(this, function (exports) { 'use strict';\n\n\tfunction __commonjs(fn, module) { return module = { exports: {} }, fn(module, module.exports), module.exports; }\n\n\t/**\n\t * The library's settings configuration object.\n\t *\n\t * Contains default parameters for currency and number formatting\n\t */\n\tvar settings = {\n\t symbol: '$', // default currency symbol is '$'\n\t format: '%s%v', // controls output: %s = symbol, %v = value (can be object, see docs)\n\t decimal: '.', // decimal point separator\n\t thousand: ',', // thousands separator\n\t precision: 2, // decimal places\n\t grouping: 3, // digit grouping (not implemented yet)\n\t stripZeros: false, // strip insignificant zeros from decimal part\n\t fallback: 0 // value returned on unformat() failure\n\t};\n\n\t/**\n\t * Takes a string/array of strings, removes all formatting/cruft and returns the raw float value\n\t * Alias: `accounting.parse(string)`\n\t *\n\t * Decimal must be included in the regular expression to match floats (defaults to\n\t * accounting.settings.decimal), so if the number uses a non-standard decimal\n\t * separator, provide it as the second argument.\n\t *\n\t * Also matches bracketed negatives (eg. '$ (1.99)' => -1.99)\n\t *\n\t * Doesn't throw any errors (`NaN`s become 0) but this may change in future\n\t *\n\t * ```js\n\t * accounting.unformat(\"£ 12,345,678.90 GBP\"); // 12345678.9\n\t * ```\n\t *\n\t * @method unformat\n\t * @for accounting\n\t * @param {String|Array} value The string or array of strings containing the number/s to parse.\n\t * @param {Number} decimal Number of decimal digits of the resultant number\n\t * @return {Float} The parsed number\n\t */\n\tfunction unformat(value) {\n\t var decimal = arguments.length <= 1 || arguments[1] === undefined ? settings.decimal : arguments[1];\n\t var fallback = arguments.length <= 2 || arguments[2] === undefined ? settings.fallback : arguments[2];\n\n\t // Recursively unformat arrays:\n\t if (Array.isArray(value)) {\n\t return value.map(function (val) {\n\t return unformat(val, decimal, fallback);\n\t });\n\t }\n\n\t // Return the value as-is if it's already a number:\n\t if (typeof value === 'number') return value;\n\n\t // Build regex to strip out everything except digits, decimal point and minus sign:\n\t var regex = new RegExp('[^0-9-(-)-' + decimal + ']', ['g']);\n\t var unformattedValueString = ('' + value).replace(regex, '') // strip out any cruft\n\t .replace(decimal, '.') // make sure decimal point is standard\n\t .replace(/\\(([-]*\\d*[^)]?\\d+)\\)/g, '-$1') // replace bracketed values with negatives\n\t .replace(/\\((.*)\\)/, ''); // remove any brackets that do not have numeric value\n\n\t /**\n\t * Handling -ve number and bracket, eg.\n\t * (-100) = 100, -(100) = 100, --100 = 100\n\t */\n\t var negative = (unformattedValueString.match(/-/g) || 2).length % 2,\n\t absUnformatted = parseFloat(unformattedValueString.replace(/-/g, '')),\n\t unformatted = absUnformatted * (negative ? -1 : 1);\n\n\t // This will fail silently which may cause trouble, let's wait and see:\n\t return !isNaN(unformatted) ? unformatted : fallback;\n\t}\n\n\t/**\n\t * Check and normalise the value of precision (must be positive integer)\n\t */\n\tfunction _checkPrecision(val, base) {\n\t val = Math.round(Math.abs(val));\n\t return isNaN(val) ? base : val;\n\t}\n\n\t/**\n\t * Implementation of toFixed() that treats floats more like decimals\n\t *\n\t * Fixes binary rounding issues (eg. (0.615).toFixed(2) === '0.61') that present\n\t * problems for accounting- and finance-related software.\n\t *\n\t * ```js\n\t * (0.615).toFixed(2); // \"0.61\" (native toFixed has rounding issues)\n\t * accounting.toFixed(0.615, 2); // \"0.62\"\n\t * ```\n\t *\n\t * @method toFixed\n\t * @for accounting\n\t * @param {Float} value The float to be treated as a decimal number.\n\t * @param {Number} [precision=2] The number of decimal digits to keep.\n\t * @return {String} The given number transformed into a string with the given precission\n\t */\n\tfunction toFixed(value, precision) {\n\t precision = _checkPrecision(precision, settings.precision);\n\t var power = Math.pow(10, precision);\n\n\t // Multiply up by precision, round accurately, then divide and use native toFixed():\n\t return (Math.round((value + 1e-8) * power) / power).toFixed(precision);\n\t}\n\n\tvar index = __commonjs(function (module) {\n\t/* eslint-disable no-unused-vars */\n\t'use strict';\n\tvar hasOwnProperty = Object.prototype.hasOwnProperty;\n\tvar propIsEnumerable = Object.prototype.propertyIsEnumerable;\n\n\tfunction toObject(val) {\n\t\tif (val === null || val === undefined) {\n\t\t\tthrow new TypeError('Object.assign cannot be called with null or undefined');\n\t\t}\n\n\t\treturn Object(val);\n\t}\n\n\tmodule.exports = Object.assign || function (target, source) {\n\t\tvar from;\n\t\tvar to = toObject(target);\n\t\tvar symbols;\n\n\t\tfor (var s = 1; s < arguments.length; s++) {\n\t\t\tfrom = Object(arguments[s]);\n\n\t\t\tfor (var key in from) {\n\t\t\t\tif (hasOwnProperty.call(from, key)) {\n\t\t\t\t\tto[key] = from[key];\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tif (Object.getOwnPropertySymbols) {\n\t\t\t\tsymbols = Object.getOwnPropertySymbols(from);\n\t\t\t\tfor (var i = 0; i < symbols.length; i++) {\n\t\t\t\t\tif (propIsEnumerable.call(from, symbols[i])) {\n\t\t\t\t\t\tto[symbols[i]] = from[symbols[i]];\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\treturn to;\n\t};\n\t});\n\n\tvar objectAssign = (index && typeof index === 'object' && 'default' in index ? index['default'] : index);\n\n\tfunction _stripInsignificantZeros(str, decimal) {\n\t var parts = str.split(decimal);\n\t var integerPart = parts[0];\n\t var decimalPart = parts[1].replace(/0+$/, '');\n\n\t if (decimalPart.length > 0) {\n\t return integerPart + decimal + decimalPart;\n\t }\n\n\t return integerPart;\n\t}\n\n\t/**\n\t * Format a number, with comma-separated thousands and custom precision/decimal places\n\t * Alias: `accounting.format()`\n\t *\n\t * Localise by overriding the precision and thousand / decimal separators\n\t *\n\t * ```js\n\t * accounting.formatNumber(5318008); // 5,318,008\n\t * accounting.formatNumber(9876543.21, { precision: 3, thousand: \" \" }); // 9 876 543.210\n\t * ```\n\t *\n\t * @method formatNumber\n\t * @for accounting\n\t * @param {Number} number The number to be formatted.\n\t * @param {Object} [opts={}] Object containing all the options of the method.\n\t * @return {String} The given number properly formatted.\n\t */\n\tfunction formatNumber(number) {\n\t var opts = arguments.length <= 1 || arguments[1] === undefined ? {} : arguments[1];\n\n\t // Resursively format arrays:\n\t if (Array.isArray(number)) {\n\t return number.map(function (val) {\n\t return formatNumber(val, opts);\n\t });\n\t }\n\n\t // Build options object from second param (if object) or all params, extending defaults:\n\t opts = objectAssign({}, settings, opts);\n\n\t // Do some calc:\n\t var negative = number < 0 ? '-' : '';\n\t var base = parseInt(toFixed(Math.abs(number), opts.precision), 10) + '';\n\t var mod = base.length > 3 ? base.length % 3 : 0;\n\n\t // Format the number:\n\t var formatted = negative + (mod ? base.substr(0, mod) + opts.thousand : '') + base.substr(mod).replace(/(\\d{3})(?=\\d)/g, '$1' + opts.thousand) + (opts.precision > 0 ? opts.decimal + toFixed(Math.abs(number), opts.precision).split('.')[1] : '');\n\n\t return opts.stripZeros ? _stripInsignificantZeros(formatted, opts.decimal) : formatted;\n\t}\n\n\tvar index$1 = __commonjs(function (module) {\n\t'use strict';\n\n\tvar strValue = String.prototype.valueOf;\n\tvar tryStringObject = function tryStringObject(value) {\n\t\ttry {\n\t\t\tstrValue.call(value);\n\t\t\treturn true;\n\t\t} catch (e) {\n\t\t\treturn false;\n\t\t}\n\t};\n\tvar toStr = Object.prototype.toString;\n\tvar strClass = '[object String]';\n\tvar hasToStringTag = typeof Symbol === 'function' && typeof Symbol.toStringTag === 'symbol';\n\n\tmodule.exports = function isString(value) {\n\t\tif (typeof value === 'string') { return true; }\n\t\tif (typeof value !== 'object') { return false; }\n\t\treturn hasToStringTag ? tryStringObject(value) : toStr.call(value) === strClass;\n\t};\n\t});\n\n\tvar isString = (index$1 && typeof index$1 === 'object' && 'default' in index$1 ? index$1['default'] : index$1);\n\n\t/**\n\t * Parses a format string or object and returns format obj for use in rendering\n\t *\n\t * `format` is either a string with the default (positive) format, or object\n\t * containing `pos` (required), `neg` and `zero` values\n\t *\n\t * Either string or format.pos must contain \"%v\" (value) to be valid\n\t *\n\t * @method _checkCurrencyFormat\n\t * @for accounting\n\t * @param {String} [format=\"%s%v\"] String with the format to apply, where %s is the currency symbol and %v is the value.\n\t * @return {Object} object represnting format (with pos, neg and zero attributes)\n\t */\n\tfunction _checkCurrencyFormat(format) {\n\t // Format should be a string, in which case `value` ('%v') must be present:\n\t if (isString(format) && format.match('%v')) {\n\t // Create and return positive, negative and zero formats:\n\t return {\n\t pos: format,\n\t neg: format.replace('-', '').replace('%v', '-%v'),\n\t zero: format\n\t };\n\t }\n\n\t // Otherwise, assume format was fine:\n\t return format;\n\t}\n\n\t/**\n\t * Format a number into currency\n\t *\n\t * Usage: accounting.formatMoney(number, symbol, precision, thousandsSep, decimalSep, format)\n\t * defaults: (0, '$', 2, ',', '.', '%s%v')\n\t *\n\t * Localise by overriding the symbol, precision, thousand / decimal separators and format\n\t *\n\t * ```js\n\t * // Default usage:\n\t * accounting.formatMoney(12345678); // $12,345,678.00\n\t *\n\t * // European formatting (custom symbol and separators), can also use options object as second parameter:\n\t * accounting.formatMoney(4999.99, { symbol: \"€\", precision: 2, thousand: \".\", decimal: \",\" }); // €4.999,99\n\t *\n\t * // Negative values can be formatted nicely:\n\t * accounting.formatMoney(-500000, { symbol: \"£ \", precision: 0 }); // £ -500,000\n\t *\n\t * // Simple `format` string allows control of symbol position (%v = value, %s = symbol):\n\t * accounting.formatMoney(5318008, { symbol: \"GBP\", format: \"%v %s\" }); // 5,318,008.00 GBP\n\t * ```\n\t *\n\t * @method formatMoney\n\t * @for accounting\n\t * @param {Number} number Number to be formatted.\n\t * @param {Object} [opts={}] Object containing all the options of the method.\n\t * @return {String} The given number properly formatted as money.\n\t */\n\tfunction formatMoney(number) {\n\t var opts = arguments.length <= 1 || arguments[1] === undefined ? {} : arguments[1];\n\n\t // Resursively format arrays:\n\t if (Array.isArray(number)) {\n\t return number.map(function (val) {\n\t return formatMoney(val, opts);\n\t });\n\t }\n\n\t // Build options object from second param (if object) or all params, extending defaults:\n\t opts = objectAssign({}, settings, opts);\n\n\t // Check format (returns object with pos, neg and zero):\n\t var formats = _checkCurrencyFormat(opts.format);\n\n\t // Choose which format to use for this value:\n\t var useFormat = undefined;\n\n\t if (number > 0) {\n\t useFormat = formats.pos;\n\t } else if (number < 0) {\n\t useFormat = formats.neg;\n\t } else {\n\t useFormat = formats.zero;\n\t }\n\n\t // Return with currency symbol added:\n\t return useFormat.replace('%s', opts.symbol).replace('%v', formatNumber(Math.abs(number), opts));\n\t}\n\n\t/**\n\t * Format a list of numbers into an accounting column, padding with whitespace\n\t * to line up currency symbols, thousand separators and decimals places\n\t *\n\t * List should be an array of numbers\n\t *\n\t * Returns array of accouting-formatted number strings of same length\n\t *\n\t * NB: `white-space:pre` CSS rule is required on the list container to prevent\n\t * browsers from collapsing the whitespace in the output strings.\n\t *\n\t * ```js\n\t * accounting.formatColumn([123.5, 3456.49, 777888.99, 12345678, -5432], { symbol: \"$ \" });\n\t * ```\n\t *\n\t * @method formatColumn\n\t * @for accounting\n\t * @param {Array} list An array of numbers to format\n\t * @param {Object} [opts={}] Object containing all the options of the method.\n\t * @param {Object|String} [symbol=\"$\"] String with the currency symbol. For conveniency if can be an object containing all the options of the method.\n\t * @param {Integer} [precision=2] Number of decimal digits\n\t * @param {String} [thousand=','] String with the thousands separator.\n\t * @param {String} [decimal=\".\"] String with the decimal separator.\n\t * @param {String} [format=\"%s%v\"] String with the format to apply, where %s is the currency symbol and %v is the value.\n\t * @return {Array} array of accouting-formatted number strings of same length\n\t */\n\tfunction formatColumn(list) {\n\t var opts = arguments.length <= 1 || arguments[1] === undefined ? {} : arguments[1];\n\n\t if (!list) return [];\n\n\t // Build options object from second param (if object) or all params, extending defaults:\n\t opts = objectAssign({}, settings, opts);\n\n\t // Check format (returns object with pos, neg and zero), only need pos for now:\n\t var formats = _checkCurrencyFormat(opts.format);\n\n\t // Whether to pad at start of string or after currency symbol:\n\t var padAfterSymbol = formats.pos.indexOf('%s') < formats.pos.indexOf('%v');\n\n\t // Store value for the length of the longest string in the column:\n\t var maxLength = 0;\n\n\t // Format the list according to options, store the length of the longest string:\n\t var formatted = list.map(function (val) {\n\t if (Array.isArray(val)) {\n\t // Recursively format columns if list is a multi-dimensional array:\n\t return formatColumn(val, opts);\n\t }\n\t // Clean up the value\n\t val = unformat(val, opts.decimal);\n\n\t // Choose which format to use for this value (pos, neg or zero):\n\t var useFormat = undefined;\n\n\t if (val > 0) {\n\t useFormat = formats.pos;\n\t } else if (val < 0) {\n\t useFormat = formats.neg;\n\t } else {\n\t useFormat = formats.zero;\n\t }\n\n\t // Format this value, push into formatted list and save the length:\n\t var fVal = useFormat.replace('%s', opts.symbol).replace('%v', formatNumber(Math.abs(val), opts));\n\n\t if (fVal.length > maxLength) {\n\t maxLength = fVal.length;\n\t }\n\n\t return fVal;\n\t });\n\n\t // Pad each number in the list and send back the column of numbers:\n\t return formatted.map(function (val) {\n\t // Only if this is a string (not a nested array, which would have already been padded):\n\t if (isString(val) && val.length < maxLength) {\n\t // Depending on symbol position, pad after symbol or at index 0:\n\t return padAfterSymbol ? val.replace(opts.symbol, opts.symbol + new Array(maxLength - val.length + 1).join(' ')) : new Array(maxLength - val.length + 1).join(' ') + val;\n\t }\n\t return val;\n\t });\n\t}\n\n\texports.settings = settings;\n\texports.unformat = unformat;\n\texports.toFixed = toFixed;\n\texports.formatMoney = formatMoney;\n\texports.formatNumber = formatNumber;\n\texports.formatColumn = formatColumn;\n\texports.format = formatMoney;\n\texports.parse = unformat;\n\n}));\n//# sourceMappingURL=accounting.umd.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/accounting-js/dist/accounting.umd.js\n// module id = U0Mp\n// module chunks = 0 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52","// style-loader: Adds some css to the DOM by adding a \r\n\n\n\n// WEBPACK FOOTER //\n// resources/assets/js/components/enso/vuedatatable/Overlay.vue","\r\n\r\n \r\n \r\n \r\n \r\n \r\n {{ key }}\r\n \r\n \r\n\r\n\r\n\r\n\r\n\n\n\n// WEBPACK FOOTER //\n// resources/assets/js/components/enso/vuedatatable/topControls/StyleSelector.vue","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('thead',[_c('tr',{class:_vm.template.style},[(_vm.template.crtNo)?_c('th',{class:_vm.template.align},[_vm._v(\"\\n \"+_vm._s(_vm.i18n(_vm.template.labels.crtNo))+\"\\n \")]):_vm._e(),_vm._v(\" \"),_vm._l((_vm.template.columns),function(column){return (column.meta.visible && !column.meta.hidden && !column.meta.rogue)?_c('th',{key:column.label,class:[\n 'vue-table-header',\n column.align\n ? _vm.template.aligns[column.align]\n : _vm.template.align\n ]},[_vm._v(\"\\n \"+_vm._s(_vm.i18n(column.label))+\"\\n \"),_c('span',{staticClass:\"table-header-controls\"},[(column.tooltip)?_c('span',{directives:[{name:\"tooltip\",rawName:\"v-tooltip\",value:(_vm.i18n(column.tooltip)),expression:\"i18n(column.tooltip)\"}],staticClass:\"icon is-small has-text-info\"},[_c('fa',{attrs:{\"icon\":\"info\",\"size\":\"xs\"}})],1):_vm._e(),_vm._v(\" \"),(column.meta.sortable)?_c('span',{staticClass:\"sorter\",on:{\"click\":function($event){_vm.toggleSort($event, column)}}},[_c('span',{staticClass:\"icon is-small\"},[_c('fa',{attrs:{\"icon\":_vm.sortIcon(column.meta.sort),\"size\":\"xs\"}})],1)]):_vm._e(),_vm._v(\" \"),(column.meta.sort)?_c('a',{staticClass:\"delete is-small\",on:{\"click\":function($event){_vm.clearColumnSort(column)}}}):_vm._e()])]):_vm._e()}),_vm._v(\" \"),(_vm.template.actions)?_c('th',{class:_vm.template.align},[_vm._v(\"\\n \"+_vm._s(_vm.i18n(_vm.template.labels.actions))+\"\\n \")]):_vm._e()],2)])}\nvar staticRenderFns = []\nmodule.exports = { render: render, staticRenderFns: staticRenderFns }\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/vue-loader/lib/template-compiler?{\"id\":\"data-v-433275fc\",\"hasScoped\":false,\"buble\":{\"transforms\":{}}}!./node_modules/vue-loader/lib/selector.js?type=template&index=0!./resources/assets/js/components/enso/vuedatatable/TableHeader.vue\n// module id = akE6\n// module chunks = 0 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28","'use strict';\n\n/**\n * Copyright Marc J. Schmidt. See the LICENSE file at the top-level\n * directory of this distribution and at\n * https://github.com/marcj/css-element-queries/blob/master/LICENSE.\n */\n(function (root, factory) {\n if (typeof define === \"function\" && define.amd) {\n define(factory);\n } else if (typeof exports === \"object\") {\n module.exports = factory();\n } else {\n root.ResizeSensor = factory();\n }\n}(typeof window !== 'undefined' ? window : this, function () {\n\n // Make sure it does not throw in a SSR (Server Side Rendering) situation\n if (typeof window === \"undefined\") {\n return null;\n }\n // Only used for the dirty checking, so the event callback count is limited to max 1 call per fps per sensor.\n // In combination with the event based resize sensor this saves cpu time, because the sensor is too fast and\n // would generate too many unnecessary events.\n var requestAnimationFrame = window.requestAnimationFrame ||\n window.mozRequestAnimationFrame ||\n window.webkitRequestAnimationFrame ||\n function (fn) {\n return window.setTimeout(fn, 20);\n };\n\n /**\n * Iterate over each of the provided element(s).\n *\n * @param {HTMLElement|HTMLElement[]} elements\n * @param {Function} callback\n */\n function forEachElement(elements, callback){\n var elementsType = Object.prototype.toString.call(elements);\n var isCollectionTyped = ('[object Array]' === elementsType\n || ('[object NodeList]' === elementsType)\n || ('[object HTMLCollection]' === elementsType)\n || ('[object Object]' === elementsType)\n || ('undefined' !== typeof jQuery && elements instanceof jQuery) //jquery\n || ('undefined' !== typeof Elements && elements instanceof Elements) //mootools\n );\n var i = 0, j = elements.length;\n if (isCollectionTyped) {\n for (; i < j; i++) {\n callback(elements[i]);\n }\n } else {\n callback(elements);\n }\n }\n\n /**\n * Get element size\n * @param {HTMLElement} element\n * @returns {Object} {width, height}\n */\n function getElementSize(element) {\n if (!element.getBoundingClientRect) {\n return {\n width: element.offsetWidth,\n height: element.offsetHeight\n }\n }\n\n var rect = element.getBoundingClientRect();\n return {\n width: Math.round(rect.width),\n height: Math.round(rect.height)\n }\n }\n\n /**\n * Class for dimension change detection.\n *\n * @param {Element|Element[]|Elements|jQuery} element\n * @param {Function} callback\n *\n * @constructor\n */\n var ResizeSensor = function(element, callback) {\n /**\n *\n * @constructor\n */\n function EventQueue() {\n var q = [];\n this.add = function(ev) {\n q.push(ev);\n };\n\n var i, j;\n this.call = function() {\n for (i = 0, j = q.length; i < j; i++) {\n q[i].call();\n }\n };\n\n this.remove = function(ev) {\n var newQueue = [];\n for(i = 0, j = q.length; i < j; i++) {\n if(q[i] !== ev) newQueue.push(q[i]);\n }\n q = newQueue;\n };\n\n this.length = function() {\n return q.length;\n }\n }\n\n /**\n *\n * @param {HTMLElement} element\n * @param {Function} resized\n */\n function attachResizeEvent(element, resized) {\n if (!element) return;\n if (element.resizedAttached) {\n element.resizedAttached.add(resized);\n return;\n }\n\n element.resizedAttached = new EventQueue();\n element.resizedAttached.add(resized);\n\n element.resizeSensor = document.createElement('div');\n element.resizeSensor.dir = 'ltr';\n element.resizeSensor.className = 'resize-sensor';\n var style = 'position: absolute; left: -10px; top: -10px; right: 0; bottom: 0; overflow: hidden; z-index: -1; visibility: hidden;';\n var styleChild = 'position: absolute; left: 0; top: 0; transition: 0s;';\n\n element.resizeSensor.style.cssText = style;\n element.resizeSensor.innerHTML =\n '
\r\n\r\n\r\n\r\n\r\n\r\n\r\n\n\n\n// WEBPACK FOOTER //\n// resources/assets/js/components/enso/documents/Document.vue","function injectStyle (ssrContext) {\n require(\"!!vue-style-loader!css-loader?minimize!../../../../../../node_modules/vue-loader/lib/style-compiler/index?{\\\"vue\\\":true,\\\"id\\\":\\\"data-v-15842b58\\\",\\\"scoped\\\":true,\\\"hasInlineConfig\\\":true}!../../../../../../node_modules/vue-loader/lib/selector?type=styles&index=0!./Contact.vue\")\n}\nvar normalizeComponent = require(\"!../../../../../../node_modules/vue-loader/lib/component-normalizer\")\n/* script */\nvar __vue_script__ = require(\"!!babel-loader?{\\\"cacheDirectory\\\":true,\\\"presets\\\":[[\\\"env\\\",{\\\"modules\\\":false,\\\"targets\\\":{\\\"browsers\\\":[\\\"> 2%\\\"],\\\"uglify\\\":true}}]],\\\"plugins\\\":[\\\"transform-object-rest-spread\\\",[\\\"transform-runtime\\\",{\\\"polyfill\\\":false,\\\"helpers\\\":false}],\\\"transform-object-rest-spread\\\",\\\"syntax-dynamic-import\\\"]}!../../../../../../node_modules/vue-loader/lib/selector?type=script&index=0!./Contact.vue\")\n/* template */\nvar __vue_template__ = require(\"!!../../../../../../node_modules/vue-loader/lib/template-compiler/index?{\\\"id\\\":\\\"data-v-15842b58\\\",\\\"hasScoped\\\":true,\\\"buble\\\":{\\\"transforms\\\":{}}}!../../../../../../node_modules/vue-loader/lib/selector?type=template&index=0!./Contact.vue\")\n/* template functional */\nvar __vue_template_functional__ = false\n/* styles */\nvar __vue_styles__ = injectStyle\n/* scopeId */\nvar __vue_scopeId__ = \"data-v-15842b58\"\n/* moduleIdentifier (server only) */\nvar __vue_module_identifier__ = null\nvar Component = normalizeComponent(\n __vue_script__,\n __vue_template__,\n __vue_template_functional__,\n __vue_styles__,\n __vue_scopeId__,\n __vue_module_identifier__\n)\n\nmodule.exports = Component.exports\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./resources/assets/js/components/enso/contacts/Contact.vue\n// module id = Nyvg\n// module chunks = 3 4 5 6 7 8 9","// style-loader: Adds some css to the DOM by adding a \r\n\n\n\n// WEBPACK FOOTER //\n// resources/assets/js/components/enso/select/VueSelect.vue","// style-loader: Adds some css to the DOM by adding a \r\n\n\n\n// WEBPACK FOOTER //\n// resources/assets/js/components/enso/events/Event.vue","(function (global, factory) {\n\ttypeof exports === 'object' && typeof module !== 'undefined' ? factory(exports) :\n\ttypeof define === 'function' && define.amd ? define(['exports'], factory) :\n\t(factory((global.accounting = global.accounting || {})));\n}(this, function (exports) { 'use strict';\n\n\tfunction __commonjs(fn, module) { return module = { exports: {} }, fn(module, module.exports), module.exports; }\n\n\t/**\n\t * The library's settings configuration object.\n\t *\n\t * Contains default parameters for currency and number formatting\n\t */\n\tvar settings = {\n\t symbol: '$', // default currency symbol is '$'\n\t format: '%s%v', // controls output: %s = symbol, %v = value (can be object, see docs)\n\t decimal: '.', // decimal point separator\n\t thousand: ',', // thousands separator\n\t precision: 2, // decimal places\n\t grouping: 3, // digit grouping (not implemented yet)\n\t stripZeros: false, // strip insignificant zeros from decimal part\n\t fallback: 0 // value returned on unformat() failure\n\t};\n\n\t/**\n\t * Takes a string/array of strings, removes all formatting/cruft and returns the raw float value\n\t * Alias: `accounting.parse(string)`\n\t *\n\t * Decimal must be included in the regular expression to match floats (defaults to\n\t * accounting.settings.decimal), so if the number uses a non-standard decimal\n\t * separator, provide it as the second argument.\n\t *\n\t * Also matches bracketed negatives (eg. '$ (1.99)' => -1.99)\n\t *\n\t * Doesn't throw any errors (`NaN`s become 0) but this may change in future\n\t *\n\t * ```js\n\t * accounting.unformat(\"£ 12,345,678.90 GBP\"); // 12345678.9\n\t * ```\n\t *\n\t * @method unformat\n\t * @for accounting\n\t * @param {String|Array} value The string or array of strings containing the number/s to parse.\n\t * @param {Number} decimal Number of decimal digits of the resultant number\n\t * @return {Float} The parsed number\n\t */\n\tfunction unformat(value) {\n\t var decimal = arguments.length <= 1 || arguments[1] === undefined ? settings.decimal : arguments[1];\n\t var fallback = arguments.length <= 2 || arguments[2] === undefined ? settings.fallback : arguments[2];\n\n\t // Recursively unformat arrays:\n\t if (Array.isArray(value)) {\n\t return value.map(function (val) {\n\t return unformat(val, decimal, fallback);\n\t });\n\t }\n\n\t // Return the value as-is if it's already a number:\n\t if (typeof value === 'number') return value;\n\n\t // Build regex to strip out everything except digits, decimal point and minus sign:\n\t var regex = new RegExp('[^0-9-(-)-' + decimal + ']', ['g']);\n\t var unformattedValueString = ('' + value).replace(regex, '') // strip out any cruft\n\t .replace(decimal, '.') // make sure decimal point is standard\n\t .replace(/\\(([-]*\\d*[^)]?\\d+)\\)/g, '-$1') // replace bracketed values with negatives\n\t .replace(/\\((.*)\\)/, ''); // remove any brackets that do not have numeric value\n\n\t /**\n\t * Handling -ve number and bracket, eg.\n\t * (-100) = 100, -(100) = 100, --100 = 100\n\t */\n\t var negative = (unformattedValueString.match(/-/g) || 2).length % 2,\n\t absUnformatted = parseFloat(unformattedValueString.replace(/-/g, '')),\n\t unformatted = absUnformatted * (negative ? -1 : 1);\n\n\t // This will fail silently which may cause trouble, let's wait and see:\n\t return !isNaN(unformatted) ? unformatted : fallback;\n\t}\n\n\t/**\n\t * Check and normalise the value of precision (must be positive integer)\n\t */\n\tfunction _checkPrecision(val, base) {\n\t val = Math.round(Math.abs(val));\n\t return isNaN(val) ? base : val;\n\t}\n\n\t/**\n\t * Implementation of toFixed() that treats floats more like decimals\n\t *\n\t * Fixes binary rounding issues (eg. (0.615).toFixed(2) === '0.61') that present\n\t * problems for accounting- and finance-related software.\n\t *\n\t * ```js\n\t * (0.615).toFixed(2); // \"0.61\" (native toFixed has rounding issues)\n\t * accounting.toFixed(0.615, 2); // \"0.62\"\n\t * ```\n\t *\n\t * @method toFixed\n\t * @for accounting\n\t * @param {Float} value The float to be treated as a decimal number.\n\t * @param {Number} [precision=2] The number of decimal digits to keep.\n\t * @return {String} The given number transformed into a string with the given precission\n\t */\n\tfunction toFixed(value, precision) {\n\t precision = _checkPrecision(precision, settings.precision);\n\t var power = Math.pow(10, precision);\n\n\t // Multiply up by precision, round accurately, then divide and use native toFixed():\n\t return (Math.round((value + 1e-8) * power) / power).toFixed(precision);\n\t}\n\n\tvar index = __commonjs(function (module) {\n\t/* eslint-disable no-unused-vars */\n\t'use strict';\n\tvar hasOwnProperty = Object.prototype.hasOwnProperty;\n\tvar propIsEnumerable = Object.prototype.propertyIsEnumerable;\n\n\tfunction toObject(val) {\n\t\tif (val === null || val === undefined) {\n\t\t\tthrow new TypeError('Object.assign cannot be called with null or undefined');\n\t\t}\n\n\t\treturn Object(val);\n\t}\n\n\tmodule.exports = Object.assign || function (target, source) {\n\t\tvar from;\n\t\tvar to = toObject(target);\n\t\tvar symbols;\n\n\t\tfor (var s = 1; s < arguments.length; s++) {\n\t\t\tfrom = Object(arguments[s]);\n\n\t\t\tfor (var key in from) {\n\t\t\t\tif (hasOwnProperty.call(from, key)) {\n\t\t\t\t\tto[key] = from[key];\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tif (Object.getOwnPropertySymbols) {\n\t\t\t\tsymbols = Object.getOwnPropertySymbols(from);\n\t\t\t\tfor (var i = 0; i < symbols.length; i++) {\n\t\t\t\t\tif (propIsEnumerable.call(from, symbols[i])) {\n\t\t\t\t\t\tto[symbols[i]] = from[symbols[i]];\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\treturn to;\n\t};\n\t});\n\n\tvar objectAssign = (index && typeof index === 'object' && 'default' in index ? index['default'] : index);\n\n\tfunction _stripInsignificantZeros(str, decimal) {\n\t var parts = str.split(decimal);\n\t var integerPart = parts[0];\n\t var decimalPart = parts[1].replace(/0+$/, '');\n\n\t if (decimalPart.length > 0) {\n\t return integerPart + decimal + decimalPart;\n\t }\n\n\t return integerPart;\n\t}\n\n\t/**\n\t * Format a number, with comma-separated thousands and custom precision/decimal places\n\t * Alias: `accounting.format()`\n\t *\n\t * Localise by overriding the precision and thousand / decimal separators\n\t *\n\t * ```js\n\t * accounting.formatNumber(5318008); // 5,318,008\n\t * accounting.formatNumber(9876543.21, { precision: 3, thousand: \" \" }); // 9 876 543.210\n\t * ```\n\t *\n\t * @method formatNumber\n\t * @for accounting\n\t * @param {Number} number The number to be formatted.\n\t * @param {Object} [opts={}] Object containing all the options of the method.\n\t * @return {String} The given number properly formatted.\n\t */\n\tfunction formatNumber(number) {\n\t var opts = arguments.length <= 1 || arguments[1] === undefined ? {} : arguments[1];\n\n\t // Resursively format arrays:\n\t if (Array.isArray(number)) {\n\t return number.map(function (val) {\n\t return formatNumber(val, opts);\n\t });\n\t }\n\n\t // Build options object from second param (if object) or all params, extending defaults:\n\t opts = objectAssign({}, settings, opts);\n\n\t // Do some calc:\n\t var negative = number < 0 ? '-' : '';\n\t var base = parseInt(toFixed(Math.abs(number), opts.precision), 10) + '';\n\t var mod = base.length > 3 ? base.length % 3 : 0;\n\n\t // Format the number:\n\t var formatted = negative + (mod ? base.substr(0, mod) + opts.thousand : '') + base.substr(mod).replace(/(\\d{3})(?=\\d)/g, '$1' + opts.thousand) + (opts.precision > 0 ? opts.decimal + toFixed(Math.abs(number), opts.precision).split('.')[1] : '');\n\n\t return opts.stripZeros ? _stripInsignificantZeros(formatted, opts.decimal) : formatted;\n\t}\n\n\tvar index$1 = __commonjs(function (module) {\n\t'use strict';\n\n\tvar strValue = String.prototype.valueOf;\n\tvar tryStringObject = function tryStringObject(value) {\n\t\ttry {\n\t\t\tstrValue.call(value);\n\t\t\treturn true;\n\t\t} catch (e) {\n\t\t\treturn false;\n\t\t}\n\t};\n\tvar toStr = Object.prototype.toString;\n\tvar strClass = '[object String]';\n\tvar hasToStringTag = typeof Symbol === 'function' && typeof Symbol.toStringTag === 'symbol';\n\n\tmodule.exports = function isString(value) {\n\t\tif (typeof value === 'string') { return true; }\n\t\tif (typeof value !== 'object') { return false; }\n\t\treturn hasToStringTag ? tryStringObject(value) : toStr.call(value) === strClass;\n\t};\n\t});\n\n\tvar isString = (index$1 && typeof index$1 === 'object' && 'default' in index$1 ? index$1['default'] : index$1);\n\n\t/**\n\t * Parses a format string or object and returns format obj for use in rendering\n\t *\n\t * `format` is either a string with the default (positive) format, or object\n\t * containing `pos` (required), `neg` and `zero` values\n\t *\n\t * Either string or format.pos must contain \"%v\" (value) to be valid\n\t *\n\t * @method _checkCurrencyFormat\n\t * @for accounting\n\t * @param {String} [format=\"%s%v\"] String with the format to apply, where %s is the currency symbol and %v is the value.\n\t * @return {Object} object represnting format (with pos, neg and zero attributes)\n\t */\n\tfunction _checkCurrencyFormat(format) {\n\t // Format should be a string, in which case `value` ('%v') must be present:\n\t if (isString(format) && format.match('%v')) {\n\t // Create and return positive, negative and zero formats:\n\t return {\n\t pos: format,\n\t neg: format.replace('-', '').replace('%v', '-%v'),\n\t zero: format\n\t };\n\t }\n\n\t // Otherwise, assume format was fine:\n\t return format;\n\t}\n\n\t/**\n\t * Format a number into currency\n\t *\n\t * Usage: accounting.formatMoney(number, symbol, precision, thousandsSep, decimalSep, format)\n\t * defaults: (0, '$', 2, ',', '.', '%s%v')\n\t *\n\t * Localise by overriding the symbol, precision, thousand / decimal separators and format\n\t *\n\t * ```js\n\t * // Default usage:\n\t * accounting.formatMoney(12345678); // $12,345,678.00\n\t *\n\t * // European formatting (custom symbol and separators), can also use options object as second parameter:\n\t * accounting.formatMoney(4999.99, { symbol: \"€\", precision: 2, thousand: \".\", decimal: \",\" }); // €4.999,99\n\t *\n\t * // Negative values can be formatted nicely:\n\t * accounting.formatMoney(-500000, { symbol: \"£ \", precision: 0 }); // £ -500,000\n\t *\n\t * // Simple `format` string allows control of symbol position (%v = value, %s = symbol):\n\t * accounting.formatMoney(5318008, { symbol: \"GBP\", format: \"%v %s\" }); // 5,318,008.00 GBP\n\t * ```\n\t *\n\t * @method formatMoney\n\t * @for accounting\n\t * @param {Number} number Number to be formatted.\n\t * @param {Object} [opts={}] Object containing all the options of the method.\n\t * @return {String} The given number properly formatted as money.\n\t */\n\tfunction formatMoney(number) {\n\t var opts = arguments.length <= 1 || arguments[1] === undefined ? {} : arguments[1];\n\n\t // Resursively format arrays:\n\t if (Array.isArray(number)) {\n\t return number.map(function (val) {\n\t return formatMoney(val, opts);\n\t });\n\t }\n\n\t // Build options object from second param (if object) or all params, extending defaults:\n\t opts = objectAssign({}, settings, opts);\n\n\t // Check format (returns object with pos, neg and zero):\n\t var formats = _checkCurrencyFormat(opts.format);\n\n\t // Choose which format to use for this value:\n\t var useFormat = undefined;\n\n\t if (number > 0) {\n\t useFormat = formats.pos;\n\t } else if (number < 0) {\n\t useFormat = formats.neg;\n\t } else {\n\t useFormat = formats.zero;\n\t }\n\n\t // Return with currency symbol added:\n\t return useFormat.replace('%s', opts.symbol).replace('%v', formatNumber(Math.abs(number), opts));\n\t}\n\n\t/**\n\t * Format a list of numbers into an accounting column, padding with whitespace\n\t * to line up currency symbols, thousand separators and decimals places\n\t *\n\t * List should be an array of numbers\n\t *\n\t * Returns array of accouting-formatted number strings of same length\n\t *\n\t * NB: `white-space:pre` CSS rule is required on the list container to prevent\n\t * browsers from collapsing the whitespace in the output strings.\n\t *\n\t * ```js\n\t * accounting.formatColumn([123.5, 3456.49, 777888.99, 12345678, -5432], { symbol: \"$ \" });\n\t * ```\n\t *\n\t * @method formatColumn\n\t * @for accounting\n\t * @param {Array} list An array of numbers to format\n\t * @param {Object} [opts={}] Object containing all the options of the method.\n\t * @param {Object|String} [symbol=\"$\"] String with the currency symbol. For conveniency if can be an object containing all the options of the method.\n\t * @param {Integer} [precision=2] Number of decimal digits\n\t * @param {String} [thousand=','] String with the thousands separator.\n\t * @param {String} [decimal=\".\"] String with the decimal separator.\n\t * @param {String} [format=\"%s%v\"] String with the format to apply, where %s is the currency symbol and %v is the value.\n\t * @return {Array} array of accouting-formatted number strings of same length\n\t */\n\tfunction formatColumn(list) {\n\t var opts = arguments.length <= 1 || arguments[1] === undefined ? {} : arguments[1];\n\n\t if (!list) return [];\n\n\t // Build options object from second param (if object) or all params, extending defaults:\n\t opts = objectAssign({}, settings, opts);\n\n\t // Check format (returns object with pos, neg and zero), only need pos for now:\n\t var formats = _checkCurrencyFormat(opts.format);\n\n\t // Whether to pad at start of string or after currency symbol:\n\t var padAfterSymbol = formats.pos.indexOf('%s') < formats.pos.indexOf('%v');\n\n\t // Store value for the length of the longest string in the column:\n\t var maxLength = 0;\n\n\t // Format the list according to options, store the length of the longest string:\n\t var formatted = list.map(function (val) {\n\t if (Array.isArray(val)) {\n\t // Recursively format columns if list is a multi-dimensional array:\n\t return formatColumn(val, opts);\n\t }\n\t // Clean up the value\n\t val = unformat(val, opts.decimal);\n\n\t // Choose which format to use for this value (pos, neg or zero):\n\t var useFormat = undefined;\n\n\t if (val > 0) {\n\t useFormat = formats.pos;\n\t } else if (val < 0) {\n\t useFormat = formats.neg;\n\t } else {\n\t useFormat = formats.zero;\n\t }\n\n\t // Format this value, push into formatted list and save the length:\n\t var fVal = useFormat.replace('%s', opts.symbol).replace('%v', formatNumber(Math.abs(val), opts));\n\n\t if (fVal.length > maxLength) {\n\t maxLength = fVal.length;\n\t }\n\n\t return fVal;\n\t });\n\n\t // Pad each number in the list and send back the column of numbers:\n\t return formatted.map(function (val) {\n\t // Only if this is a string (not a nested array, which would have already been padded):\n\t if (isString(val) && val.length < maxLength) {\n\t // Depending on symbol position, pad after symbol or at index 0:\n\t return padAfterSymbol ? val.replace(opts.symbol, opts.symbol + new Array(maxLength - val.length + 1).join(' ')) : new Array(maxLength - val.length + 1).join(' ') + val;\n\t }\n\t return val;\n\t });\n\t}\n\n\texports.settings = settings;\n\texports.unformat = unformat;\n\texports.toFixed = toFixed;\n\texports.formatMoney = formatMoney;\n\texports.formatNumber = formatNumber;\n\texports.formatColumn = formatColumn;\n\texports.format = formatMoney;\n\texports.parse = unformat;\n\n}));\n//# sourceMappingURL=accounting.umd.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/accounting-js/dist/accounting.umd.js\n// module id = U0Mp\n// module chunks = 0 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('p',{staticClass:\"card-footer-item\"},[_vm._t(\"default\")],2)}\nvar staticRenderFns = []\nmodule.exports = { render: render, staticRenderFns: staticRenderFns }\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/vue-loader/lib/template-compiler?{\"id\":\"data-v-d762ea46\",\"hasScoped\":false,\"buble\":{\"transforms\":{}}}!./node_modules/vue-loader/lib/selector.js?type=template&index=0!./resources/assets/js/components/enso/bulma/CardFooterItem.vue\n// module id = UKpJ\n// module chunks = 3 4 5 6 7 8 9 10 11","// style-loader: Adds some css to the DOM by adding a \r\n\n\n\n// WEBPACK FOOTER //\n// resources/assets/js/components/enso/vueforms/Datepicker.vue","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"columns is-centered\"},[_c('div',{staticClass:\"column is-three-quarters\"},[_c('vue-form-ss',{ref:\"form\",staticClass:\"box animated fadeIn\",attrs:{\"route-params\":[_vm.$route.name, _vm.$route.params.id, false]},on:{\"loaded\":function($event){_vm.initialised = true}}}),_vm._v(\" \"),(_vm.initialised)?_c('div',[_c('events',{attrs:{\"type\":\"individual\",\"id\":_vm.$refs.form.data.params.individual_id,\"open\":true}}),_vm._v(\" \"),_c('contacts',{attrs:{\"type\":\"individual\",\"id\":_vm.$refs.form.data.params.individual_id,\"open\":true}}),_vm._v(\" \"),_c('documents-card',{attrs:{\"id\":_vm.$refs.form.data.params.individual_id,\"type\":\"individual\"}}),_vm._v(\" \"),_c('addresses',{attrs:{\"id\":_vm.$refs.form.data.params.individual_id,\"type\":\"individual\"}}),_vm._v(\" \"),_c('comments-card',{attrs:{\"id\":_vm.$refs.form.data.params.individual_id,\"type\":\"individual\",\"open\":true}})],1):_vm._e()],1)])}\nvar staticRenderFns = []\nmodule.exports = { render: render, staticRenderFns: staticRenderFns }\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/vue-loader/lib/template-compiler?{\"id\":\"data-v-e875232e\",\"hasScoped\":false,\"buble\":{\"transforms\":{}}}!./node_modules/vue-loader/lib/selector.js?type=template&index=0!./resources/assets/js/pages/individuals/Edit.vue\n// module id = b2cS\n// module chunks = 3","exports = module.exports = require(\"../../../../../../node_modules/css-loader/lib/css-base.js\")(false);\n// imports\n\n\n// module\nexports.push([module.id, \".wrapper[data-v-1d682ace]{max-height:500px;overflow-y:auto}\", \"\"]);\n\n// exports\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/css-loader?minimize!./node_modules/vue-loader/lib/style-compiler?{\"vue\":true,\"id\":\"data-v-1d682ace\",\"scoped\":true,\"hasInlineConfig\":true}!./node_modules/vue-loader/lib/selector.js?type=styles&index=0!./resources/assets/js/components/enso/comments/Comments.vue\n// module id = bAAI\n// module chunks = 3 4 5 6 7 8 9 10 11","\r\n\r\n
\r\n \r\n
\r\n \r\n \r\n \r\n \r\n {{ title }}\r\n \r\n {{ title }}\r\n