Comparing version 0.0.3 to 0.0.4
{ | ||
"name": "payment", | ||
"version": "0.0.3", | ||
"main": "lib/payment.js", | ||
"main": "lib/payment.js" | ||
} |
!function(e){if("object"==typeof exports&&"undefined"!=typeof module)module.exports=e();else if("function"==typeof define&&define.amd)define([],e);else{var n;"undefined"!=typeof window?n=window:"undefined"!=typeof global?n=global:"undefined"!=typeof self&&(n=self),(n.payment||(n.payment={})).js=e()}}(function(){var define,module,exports;return (function e(t,n,r){function s(o,u){if(!n[o]){if(!t[o]){var a=typeof require=="function"&&require;if(!u&&a)return a(o,!0);if(i)return i(o,!0);throw new Error("Cannot find module '"+o+"'")}var f=n[o]={exports:{}};t[o][0].call(f.exports,function(e){var n=t[o][1][e];return s(n?n:e)},f,f.exports,e,t,n,r)}return n[o].exports}var i=typeof require=="function"&&require;for(var o=0;o<r.length;o++)s(r[o]);return s})({1:[function(_dereq_,module,exports){ | ||
(function (global){ | ||
var J, Payment, cardFromNumber, cardFromType, cards, defaultFormat, formatBackCardNumber, formatBackExpiry, formatCardNumber, formatExpiry, formatForwardExpiry, formatForwardSlash, hasTextSelected, luhnCheck, reFormatCardNumber, restrictCVC, restrictCardNumber, restrictExpiry, restrictNumeric, setCardType, | ||
!function(e){if("object"==typeof exports&&"undefined"!=typeof module)module.exports=e();else if("function"==typeof define&&define.amd)define([],e);else{var f;"undefined"!=typeof window?f=window:"undefined"!=typeof global?f=global:"undefined"!=typeof self&&(f=self),(f.qj||(f.qj={})).js=e()}}(function(){var define,module,exports;return (function e(t,n,r){function s(o,u){if(!n[o]){if(!t[o]){var a=typeof _dereq_=="function"&&_dereq_;if(!u&&a)return a(o,!0);if(i)return i(o,!0);throw new Error("Cannot find module '"+o+"'")}var f=n[o]={exports:{}};t[o][0].call(f.exports,function(e){var n=t[o][1][e];return s(n?n:e)},f,f.exports,e,t,n,r)}return n[o].exports}var i=typeof _dereq_=="function"&&_dereq_;for(var o=0;o<r.length;o++)s(r[o]);return s})({1:[function(_dereq_,module,exports){ | ||
var QJ, rreturn, rtrim; | ||
QJ = function(selector) { | ||
if (QJ.isDOMElement(selector)) { | ||
return selector; | ||
} | ||
return document.querySelectorAll(selector); | ||
}; | ||
QJ.isDOMElement = function(el) { | ||
return el && (el.nodeName != null); | ||
}; | ||
rtrim = /^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g; | ||
QJ.trim = function(text) { | ||
if (text === null) { | ||
return ""; | ||
} else { | ||
return (text + "").replace(rtrim, ""); | ||
} | ||
}; | ||
rreturn = /\r/g; | ||
QJ.val = function(el, val) { | ||
var ret; | ||
if (arguments.length > 1) { | ||
return el.value = val; | ||
} else { | ||
ret = el.value; | ||
if (typeof ret === "string") { | ||
return ret.replace(rreturn, ""); | ||
} else { | ||
if (ret === null) { | ||
return ""; | ||
} else { | ||
return ret; | ||
} | ||
} | ||
} | ||
}; | ||
QJ.preventDefault = function(eventObject) { | ||
if (typeof eventObject.preventDefault === "function") { | ||
eventObject.preventDefault(); | ||
return; | ||
} | ||
eventObject.returnValue = false; | ||
return false; | ||
}; | ||
QJ.normalizeEvent = function(e) { | ||
var original; | ||
original = e; | ||
e = { | ||
which: original.which != null ? original.which : void 0, | ||
target: original.target || original.srcElement, | ||
preventDefault: function() { | ||
return QJ.preventDefault(original); | ||
}, | ||
originalEvent: original, | ||
data: original.data || original.detail | ||
}; | ||
if (e.which == null) { | ||
e.which = original.charCode != null ? original.charCode : original.keyCode; | ||
} | ||
return e; | ||
}; | ||
QJ.on = function(element, eventName, callback) { | ||
var el, multEventName, originalCallback, _i, _j, _len, _len1, _ref; | ||
if (element.length) { | ||
for (_i = 0, _len = element.length; _i < _len; _i++) { | ||
el = element[_i]; | ||
QJ.on(el, eventName, callback); | ||
} | ||
return; | ||
} | ||
if (eventName.match(" ")) { | ||
_ref = eventName.split(" "); | ||
for (_j = 0, _len1 = _ref.length; _j < _len1; _j++) { | ||
multEventName = _ref[_j]; | ||
QJ.on(element, multEventName, callback); | ||
} | ||
return; | ||
} | ||
originalCallback = callback; | ||
callback = function(e) { | ||
e = QJ.normalizeEvent(e); | ||
return originalCallback(e); | ||
}; | ||
if (element.addEventListener) { | ||
return element.addEventListener(eventName, callback, false); | ||
} | ||
if (element.attachEvent) { | ||
eventName = "on" + eventName; | ||
return element.attachEvent(eventName, callback); | ||
} | ||
element['on' + eventName] = callback; | ||
}; | ||
QJ.addClass = function(el, className) { | ||
var e; | ||
if (el.length) { | ||
return (function() { | ||
var _i, _len, _results; | ||
_results = []; | ||
for (_i = 0, _len = el.length; _i < _len; _i++) { | ||
e = el[_i]; | ||
_results.push(QJ.addClass(e, className)); | ||
} | ||
return _results; | ||
})(); | ||
} | ||
if (el.classList) { | ||
return el.classList.add(className); | ||
} else { | ||
return el.className += ' ' + className; | ||
} | ||
}; | ||
QJ.hasClass = function(el, className) { | ||
var e, hasClass, _i, _len; | ||
if (el.length) { | ||
hasClass = true; | ||
for (_i = 0, _len = el.length; _i < _len; _i++) { | ||
e = el[_i]; | ||
hasClass = hasClass && QJ.hasClass(e, className); | ||
} | ||
return hasClass; | ||
} | ||
if (el.classList) { | ||
return el.classList.contains(className); | ||
} else { | ||
return new RegExp('(^| )' + className + '( |$)', 'gi').test(el.className); | ||
} | ||
}; | ||
QJ.removeClass = function(el, className) { | ||
var cls, e, _i, _len, _ref, _results; | ||
if (el.length) { | ||
return (function() { | ||
var _i, _len, _results; | ||
_results = []; | ||
for (_i = 0, _len = el.length; _i < _len; _i++) { | ||
e = el[_i]; | ||
_results.push(QJ.removeClass(e, className)); | ||
} | ||
return _results; | ||
})(); | ||
} | ||
if (el.classList) { | ||
_ref = className.split(' '); | ||
_results = []; | ||
for (_i = 0, _len = _ref.length; _i < _len; _i++) { | ||
cls = _ref[_i]; | ||
_results.push(el.classList.remove(cls)); | ||
} | ||
return _results; | ||
} else { | ||
return el.className = el.className.replace(new RegExp('(^|\\b)' + className.split(' ').join('|') + '(\\b|$)', 'gi'), ' '); | ||
} | ||
}; | ||
QJ.toggleClass = function(el, className, bool) { | ||
var e; | ||
if (el.length) { | ||
return (function() { | ||
var _i, _len, _results; | ||
_results = []; | ||
for (_i = 0, _len = el.length; _i < _len; _i++) { | ||
e = el[_i]; | ||
_results.push(QJ.toggleClass(e, className, bool)); | ||
} | ||
return _results; | ||
})(); | ||
} | ||
if (bool) { | ||
if (!QJ.hasClass(el, className)) { | ||
return QJ.addClass(el, className); | ||
} | ||
} else { | ||
return QJ.removeClass(el, className); | ||
} | ||
}; | ||
QJ.append = function(el, toAppend) { | ||
var e; | ||
if (el.length) { | ||
return (function() { | ||
var _i, _len, _results; | ||
_results = []; | ||
for (_i = 0, _len = el.length; _i < _len; _i++) { | ||
e = el[_i]; | ||
_results.push(QJ.append(e, toAppend)); | ||
} | ||
return _results; | ||
})(); | ||
} | ||
return el.insertAdjacentHTML('beforeend', toAppend); | ||
}; | ||
QJ.find = function(el, selector) { | ||
if (el instanceof NodeList || el instanceof Array) { | ||
el = el[0]; | ||
} | ||
return el.querySelectorAll(selector); | ||
}; | ||
QJ.trigger = function(el, name, data) { | ||
var e, ev; | ||
try { | ||
ev = new CustomEvent(name, { | ||
detail: data | ||
}); | ||
} catch (_error) { | ||
e = _error; | ||
ev = document.createEvent('CustomEvent'); | ||
if (ev.initCustomEvent) { | ||
ev.initCustomEvent(name, true, true, data); | ||
} else { | ||
ev.initEvent(name, true, true, data); | ||
} | ||
} | ||
return el.dispatchEvent(ev); | ||
}; | ||
module.exports = QJ; | ||
},{}]},{},[1]) | ||
(1) | ||
}); | ||
}).call(this,typeof self !== "undefined" ? self : typeof window !== "undefined" ? window : {}) | ||
},{}],2:[function(_dereq_,module,exports){ | ||
(function (global){ | ||
var Payment, QJ, cardFromNumber, cardFromType, cards, defaultFormat, formatBackCardNumber, formatBackExpiry, formatCardNumber, formatExpiry, formatForwardExpiry, formatForwardSlash, hasTextSelected, luhnCheck, reFormatCardNumber, restrictCVC, restrictCardNumber, restrictExpiry, restrictNumeric, setCardType, | ||
__indexOf = [].indexOf || function(item) { for (var i = 0, l = this.length; i < l; i++) { if (i in this && this[i] === item) return i; } return -1; }; | ||
J = _dereq_('./utils'); | ||
QJ = _dereq_('qj'); | ||
@@ -133,5 +371,5 @@ defaultFormat = /(\d{1,4})/g; | ||
target = e.target; | ||
value = J.val(target); | ||
value = QJ.val(target); | ||
value = Payment.fns.formatCardNumber(value); | ||
return J.val(target, value); | ||
return QJ.val(target, value); | ||
}; | ||
@@ -148,3 +386,3 @@ })(this)); | ||
target = e.target; | ||
value = J.val(target); | ||
value = QJ.val(target); | ||
card = cardFromNumber(value + digit); | ||
@@ -169,6 +407,6 @@ length = (value.replace(/\D/g, '') + digit).length; | ||
e.preventDefault(); | ||
return J.val(target, value + ' ' + digit); | ||
return QJ.val(target, value + ' ' + digit); | ||
} else if (re.test(value + digit)) { | ||
e.preventDefault(); | ||
return J.val(target, value + digit + ' '); | ||
return QJ.val(target, value + digit + ' '); | ||
} | ||
@@ -180,3 +418,3 @@ }; | ||
target = e.target; | ||
value = J.val(target); | ||
value = QJ.val(target); | ||
if (e.meta) { | ||
@@ -193,6 +431,6 @@ return; | ||
e.preventDefault(); | ||
return J.val(target, value.replace(/\d\s$/, '')); | ||
return QJ.val(target, value.replace(/\d\s$/, '')); | ||
} else if (/\s\d?$/.test(value)) { | ||
e.preventDefault(); | ||
return J.val(target, value.replace(/\s\d?$/, '')); | ||
return QJ.val(target, value.replace(/\s\d?$/, '')); | ||
} | ||
@@ -208,9 +446,9 @@ }; | ||
target = e.target; | ||
val = J.val(target) + digit; | ||
val = QJ.val(target) + digit; | ||
if (/^\d$/.test(val) && (val !== '0' && val !== '1')) { | ||
e.preventDefault(); | ||
return J.val(target, "0" + val + " / "); | ||
return QJ.val(target, "0" + val + " / "); | ||
} else if (/^\d\d$/.test(val)) { | ||
e.preventDefault(); | ||
return J.val(target, "" + val + " / "); | ||
return QJ.val(target, "" + val + " / "); | ||
} | ||
@@ -226,5 +464,5 @@ }; | ||
target = e.target; | ||
val = J.val(target); | ||
val = QJ.val(target); | ||
if (/^\d\d$/.test(val)) { | ||
return J.val(target, "" + val + " / "); | ||
return QJ.val(target, "" + val + " / "); | ||
} | ||
@@ -240,5 +478,5 @@ }; | ||
target = e.target; | ||
val = J.val(target); | ||
val = QJ.val(target); | ||
if (/^\d$/.test(val) && val !== '0') { | ||
return J.val(target, "0" + val + " / "); | ||
return QJ.val(target, "0" + val + " / "); | ||
} | ||
@@ -253,3 +491,3 @@ }; | ||
target = e.target; | ||
value = J.val(target); | ||
value = QJ.val(target); | ||
if (e.which !== 8) { | ||
@@ -263,6 +501,6 @@ return; | ||
e.preventDefault(); | ||
return J.val(target, value.replace(/\d(\s|\/)*$/, '')); | ||
return QJ.val(target, value.replace(/\d(\s|\/)*$/, '')); | ||
} else if (/\s\/\s?\d?$/.test(value)) { | ||
e.preventDefault(); | ||
return J.val(target, value.replace(/\s\/\s?\d?$/, '')); | ||
return QJ.val(target, value.replace(/\s\/\s?\d?$/, '')); | ||
} | ||
@@ -301,3 +539,3 @@ }; | ||
} | ||
value = (J.val(target) + digit).replace(/\D/g, ''); | ||
value = (QJ.val(target) + digit).replace(/\D/g, ''); | ||
card = cardFromNumber(value); | ||
@@ -325,3 +563,3 @@ if (card) { | ||
} | ||
value = J.val(target) + digit; | ||
value = QJ.val(target) + digit; | ||
value = value.replace(/\D/g, ''); | ||
@@ -340,3 +578,3 @@ if (value.length > 6) { | ||
} | ||
val = J.val(target) + digit; | ||
val = QJ.val(target) + digit; | ||
if (!(val.length <= 4)) { | ||
@@ -350,5 +588,5 @@ return e.preventDefault(); | ||
target = e.target; | ||
val = J.val(target); | ||
val = QJ.val(target); | ||
cardType = Payment.fns.cardType(val) || 'unknown'; | ||
if (!J.hasClass(target, cardType)) { | ||
if (!QJ.hasClass(target, cardType)) { | ||
allTypes = (function() { | ||
@@ -363,7 +601,7 @@ var _i, _len, _results; | ||
})(); | ||
J.removeClass(target, 'unknown'); | ||
J.removeClass(target, allTypes.join(' ')); | ||
J.addClass(target, cardType); | ||
J.toggleClass(target, 'identified', cardType !== 'unknown'); | ||
return J.trigger(target, 'payment.cardType', cardType); | ||
QJ.removeClass(target, 'unknown'); | ||
QJ.removeClass(target, allTypes.join(' ')); | ||
QJ.addClass(target, cardType); | ||
QJ.toggleClass(target, 'identified', cardType !== 'unknown'); | ||
return QJ.trigger(target, 'payment.cardType', cardType); | ||
} | ||
@@ -412,4 +650,4 @@ }; | ||
} | ||
month = J.trim(month); | ||
year = J.trim(year); | ||
month = QJ.trim(month); | ||
year = QJ.trim(year); | ||
if (!/^\d+$/.test(month)) { | ||
@@ -437,7 +675,7 @@ return false; | ||
var _ref, _ref1; | ||
cvc = J.trim(cvc); | ||
cvc = QJ.trim(cvc); | ||
if (!/^\d+$/.test(cvc)) { | ||
return false; | ||
} | ||
if (type) { | ||
if (type && cardFromType(type)) { | ||
return _ref = cvc.length, __indexOf.call((_ref1 = cardFromType(type)) != null ? _ref1.cvcLength : void 0, _ref) >= 0; | ||
@@ -477,7 +715,7 @@ } else { | ||
Payment.restrictNumeric = function(el) { | ||
return J.on(el, 'keypress', restrictNumeric); | ||
return QJ.on(el, 'keypress', restrictNumeric); | ||
}; | ||
Payment.cardExpiryVal = function(el) { | ||
return Payment.fns.cardExpiryVal(J.val(el)); | ||
return Payment.fns.cardExpiryVal(QJ.val(el)); | ||
}; | ||
@@ -487,3 +725,3 @@ | ||
Payment.restrictNumeric(el); | ||
J.on(el, 'keypress', restrictCVC); | ||
QJ.on(el, 'keypress', restrictCVC); | ||
return el; | ||
@@ -494,7 +732,7 @@ }; | ||
Payment.restrictNumeric(el); | ||
J.on(el, 'keypress', restrictExpiry); | ||
J.on(el, 'keypress', formatExpiry); | ||
J.on(el, 'keypress', formatForwardSlash); | ||
J.on(el, 'keypress', formatForwardExpiry); | ||
J.on(el, 'keydown', formatBackExpiry); | ||
QJ.on(el, 'keypress', restrictExpiry); | ||
QJ.on(el, 'keypress', formatExpiry); | ||
QJ.on(el, 'keypress', formatForwardSlash); | ||
QJ.on(el, 'keypress', formatForwardExpiry); | ||
QJ.on(el, 'keydown', formatBackExpiry); | ||
return el; | ||
@@ -505,7 +743,7 @@ }; | ||
Payment.restrictNumeric(el); | ||
J.on(el, 'keypress', restrictCardNumber); | ||
J.on(el, 'keypress', formatCardNumber); | ||
J.on(el, 'keydown', formatBackCardNumber); | ||
J.on(el, 'keyup', setCardType); | ||
J.on(el, 'paste', reFormatCardNumber); | ||
QJ.on(el, 'keypress', restrictCardNumber); | ||
QJ.on(el, 'keypress', formatCardNumber); | ||
QJ.on(el, 'keydown', formatBackCardNumber); | ||
QJ.on(el, 'keyup', setCardType); | ||
QJ.on(el, 'paste', reFormatCardNumber); | ||
return el; | ||
@@ -518,4 +756,2 @@ }; | ||
Payment.J = J; | ||
module.exports = Payment; | ||
@@ -527,180 +763,4 @@ | ||
}).call(this,typeof self !== "undefined" ? self : typeof window !== "undefined" ? window : {}) | ||
},{"./utils":2}],2:[function(_dereq_,module,exports){ | ||
var J, rreturn, rtrim; | ||
J = function(selector) { | ||
return document.querySelectorAll(selector); | ||
}; | ||
rtrim = /^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g; | ||
J.trim = function(text) { | ||
if (text === null) { | ||
return ""; | ||
} else { | ||
return (text + "").replace(rtrim, ""); | ||
} | ||
}; | ||
rreturn = /\r/g; | ||
J.val = function(el, val) { | ||
var ret; | ||
if (arguments.length > 1) { | ||
return el.value = val; | ||
} else { | ||
ret = el.value; | ||
if (typeof ret === "string") { | ||
return ret.replace(rreturn, ""); | ||
} else { | ||
if (ret === null) { | ||
return ""; | ||
} else { | ||
return ret; | ||
} | ||
} | ||
} | ||
}; | ||
J.preventDefault = function(eventObject) { | ||
if (typeof eventObject.preventDefault === "function") { | ||
eventObject.preventDefault(); | ||
return; | ||
} | ||
eventObject.returnValue = false; | ||
return false; | ||
}; | ||
J.normalizeEvent = function(e) { | ||
var original; | ||
original = e; | ||
e = { | ||
which: original.which != null ? original.which : void 0, | ||
target: original.target || original.srcElement, | ||
preventDefault: function() { | ||
return J.preventDefault(original); | ||
}, | ||
originalEvent: original | ||
}; | ||
if (e.which == null) { | ||
e.which = original.charCode != null ? original.charCode : original.keyCode; | ||
} | ||
return e; | ||
}; | ||
J.on = function(element, eventName, callback) { | ||
var originalCallback; | ||
originalCallback = callback; | ||
callback = function(e) { | ||
e = J.normalizeEvent(e); | ||
return originalCallback(e); | ||
}; | ||
if (element.addEventListener) { | ||
return element.addEventListener(eventName, callback, false); | ||
} | ||
if (element.attachEvent) { | ||
eventName = "on" + eventName; | ||
return element.attachEvent(eventName, callback); | ||
} | ||
element['on' + eventName] = callback; | ||
}; | ||
J.addClass = function(el, className) { | ||
var e; | ||
if (el.length) { | ||
return (function() { | ||
var _i, _len, _results; | ||
_results = []; | ||
for (_i = 0, _len = el.length; _i < _len; _i++) { | ||
e = el[_i]; | ||
_results.push(J.addClass(e, className)); | ||
} | ||
return _results; | ||
})(); | ||
} | ||
if (el.classList) { | ||
return el.classList.add(className); | ||
} else { | ||
return el.className += ' ' + className; | ||
} | ||
}; | ||
J.hasClass = function(el, className) { | ||
if (el.classList) { | ||
return el.classList.contains(className); | ||
} else { | ||
return new RegExp('(^| )' + className + '( |$)', 'gi').test(el.className); | ||
} | ||
}; | ||
J.removeClass = function(el, className) { | ||
var cls, e, _i, _len, _ref, _results; | ||
if (el.length) { | ||
return (function() { | ||
var _i, _len, _results; | ||
_results = []; | ||
for (_i = 0, _len = el.length; _i < _len; _i++) { | ||
e = el[_i]; | ||
_results.push(J.removeClass(e, className)); | ||
} | ||
return _results; | ||
})(); | ||
} | ||
if (el.classList) { | ||
_ref = className.split(' '); | ||
_results = []; | ||
for (_i = 0, _len = _ref.length; _i < _len; _i++) { | ||
cls = _ref[_i]; | ||
_results.push(el.classList.remove(cls)); | ||
} | ||
return _results; | ||
} else { | ||
return el.className = el.className.replace(new RegExp('(^|\\b)' + className.split(' ').join('|') + '(\\b|$)', 'gi'), ' '); | ||
} | ||
}; | ||
J.toggleClass = function(el, className, bool) { | ||
var e; | ||
if (el.length) { | ||
return (function() { | ||
var _i, _len, _results; | ||
_results = []; | ||
for (_i = 0, _len = el.length; _i < _len; _i++) { | ||
e = el[_i]; | ||
_results.push(J.toggleClass(e, className, bool)); | ||
} | ||
return _results; | ||
})(); | ||
} | ||
if (bool) { | ||
if (!J.hasClass(el, className)) { | ||
return J.addClass(el, className); | ||
} | ||
} else { | ||
return J.removeClass(el, className); | ||
} | ||
}; | ||
J.trigger = function(el, name, data) { | ||
var ev; | ||
if (window.CustomEvent) { | ||
ev = new CustomEvent(name, { | ||
detail: data | ||
}); | ||
} else { | ||
ev = document.createEvent('CustomEvent'); | ||
if (ev.initCustomEvent) { | ||
ev.initCustomEvent(name, true, true, data); | ||
} else { | ||
ev.initEvent(name, true, true, data); | ||
} | ||
} | ||
return el.dispatchEvent(ev); | ||
}; | ||
module.exports = J; | ||
},{}]},{},[1]) | ||
(1) | ||
},{"qj":1}]},{},[2]) | ||
(2) | ||
}); |
{ | ||
"name": "payment", | ||
"version": "0.0.3", | ||
"version": "0.0.4", | ||
"description": "A general purpose library for building credit card forms, validating inputs and formatting numbers. Base on jquery.payment by @stripe, but without the jQuery.", | ||
@@ -40,3 +40,6 @@ "keywords": [ | ||
"vinyl-source-stream": "~0.1.1" | ||
}, | ||
"dependencies": { | ||
"qj": "0.0.7" | ||
} | ||
} |
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
138769
727
1