'use strict'; /** * Props Assignment * * Separate this, so react module can share the usage */ var DefaultProperties = { // Maybe change to object-assign // for now just keep it as simple assign: function (target, opts) { target = target || {}; opts = opts || {}; // credit card target.creditCard = !!opts.creditCard; target.creditCardStrictMode = !!opts.creditCardStrictMode; target.creditCardType = ''; target.onCreditCardTypeChanged = opts.onCreditCardTypeChanged || (function () {}); // phone target.phone = !!opts.phone; target.phoneRegionCode = opts.phoneRegionCode || 'AU'; target.phoneFormatter = {}; // time target.time = !!opts.time; target.timePattern = opts.timePattern || ['h', 'm', 's']; target.timeFormat = opts.timeFormat || '24'; target.timeFormatter = {}; // date target.date = !!opts.date; target.datePattern = opts.datePattern || ['d', 'm', 'Y']; target.dateMin = opts.dateMin || ''; target.dateMax = opts.dateMax || ''; target.dateFormatter = {}; // numeral target.numeral = !!opts.numeral; target.numeralIntegerScale = opts.numeralIntegerScale > 0 ? opts.numeralIntegerScale : 0; target.numeralDecimalScale = opts.numeralDecimalScale >= 0 ? opts.numeralDecimalScale : 2; target.numeralDecimalMark = opts.numeralDecimalMark || '.'; target.numeralThousandsGroupStyle = opts.numeralThousandsGroupStyle || 'thousand'; target.numeralPositiveOnly = !!opts.numeralPositiveOnly; target.stripLeadingZeroes = opts.stripLeadingZeroes !== false; target.signBeforePrefix = !!opts.signBeforePrefix; target.tailPrefix = !!opts.tailPrefix; // others target.swapHiddenInput = !!opts.swapHiddenInput; target.numericOnly = target.creditCard || target.date || !!opts.numericOnly; target.uppercase = !!opts.uppercase; target.lowercase = !!opts.lowercase; target.prefix = (target.creditCard || target.date) ? '' : (opts.prefix || ''); target.noImmediatePrefix = !!opts.noImmediatePrefix; target.prefixLength = target.prefix.length; target.rawValueTrimPrefix = !!opts.rawValueTrimPrefix; target.copyDelimiter = !!opts.copyDelimiter; target.initValue = (opts.initValue !== undefined && opts.initValue !== null) ? opts.initValue.toString() : ''; target.delimiter = (opts.delimiter || opts.delimiter === '') ? opts.delimiter : (opts.date ? '/' : (opts.time ? ':' : (opts.numeral ? ',' : (opts.phone ? ' ' : ' ')))); target.delimiterLength = target.delimiter.length; target.delimiterLazyShow = !!opts.delimiterLazyShow; target.delimiters = opts.delimiters || []; target.blocks = opts.blocks || []; target.blocksLength = target.blocks.length; target.root = (typeof global === 'object' && global) ? global : window; target.document = opts.document || target.root.document; target.maxLength = 0; target.backspace = false; target.result = ''; target.onValueChanged = opts.onValueChanged || (function () {}); return target; } }; module.exports = DefaultProperties;