jquery.caret
Advanced tools
Comparing version 0.2.1 to 0.3.1
{ | ||
"name": "Caret.js", | ||
"version": "0.2.1", | ||
"version": "0.3.1", | ||
"main": "src/jquery.caret.js", | ||
@@ -5,0 +5,0 @@ "ignore": [ |
@@ -5,3 +5,3 @@ { | ||
"description": "Add Github like mentions autocomplete to your application.", | ||
"version": "0.2.1", | ||
"version": "0.3.1", | ||
"keywords": [ | ||
@@ -8,0 +8,0 @@ "At.js", |
@@ -43,2 +43,33 @@ (function (root, factory) { | ||
EditableCaret.prototype.setPos = function(pos) { | ||
var fn, found, offset, sel; | ||
if (sel = oWindow.getSelection()) { | ||
offset = 0; | ||
found = false; | ||
(fn = function(pos, parent) { | ||
var node, range, _i, _len, _ref, _results; | ||
_ref = parent.childNodes; | ||
_results = []; | ||
for (_i = 0, _len = _ref.length; _i < _len; _i++) { | ||
node = _ref[_i]; | ||
if (found) { | ||
break; | ||
} | ||
if (node.nodeType === 3) { | ||
if (offset + node.length >= pos) { | ||
found = true; | ||
range = oDocument.createRange(); | ||
range.setStart(node, pos - offset); | ||
sel.removeAllRanges(); | ||
sel.addRange(range); | ||
break; | ||
} else { | ||
_results.push(offset += node.length); | ||
} | ||
} else { | ||
_results.push(fn(pos, node)); | ||
} | ||
} | ||
return _results; | ||
})(pos, this.domInputor); | ||
} | ||
return this.domInputor; | ||
@@ -98,3 +129,3 @@ }; | ||
if (oWindow.getSelection && (range = this.range())) { | ||
if (range.endOffset - 1 > 0 && range.endContainer === !this.domInputor) { | ||
if (range.endOffset - 1 > 0 && range.endContainer !== this.domInputor) { | ||
clonedRange = range.cloneRange(); | ||
@@ -101,0 +132,0 @@ clonedRange.setStart(range.endContainer, range.endOffset - 1); |
@@ -1,2 +0,2 @@ | ||
/*! jquery.caret 2015-02-01 */ | ||
!function(a,b){"function"==typeof define&&define.amd?define(["jquery"],function(c){return a.returnExportsGlobal=b(c)}):"object"==typeof exports?module.exports=b(require("jquery")):b(jQuery)}(this,function(a){"use strict";var b,c,d,e,f,g,h,i,j,k,l;k="caret",b=function(){function b(a){this.$inputor=a,this.domInputor=this.$inputor[0]}return b.prototype.setPos=function(){return this.domInputor},b.prototype.getIEPosition=function(){return this.getPosition()},b.prototype.getPosition=function(){var a,b;return b=this.getOffset(),a=this.$inputor.offset(),b.left-=a.left,b.top-=a.top,b},b.prototype.getOldIEPos=function(){var a,b;return b=h.selection.createRange(),a=h.body.createTextRange(),a.moveToElementText(this.domInputor),a.setEndPoint("EndToEnd",b),a.text.length},b.prototype.getPos=function(){var a,b,c;return(c=this.range())?(a=c.cloneRange(),a.selectNodeContents(this.domInputor),a.setEnd(c.endContainer,c.endOffset),b=a.toString().length,a.detach(),b):h.selection?this.getOldIEPos():void 0},b.prototype.getOldIEOffset=function(){var a,b;return a=h.selection.createRange().duplicate(),a.moveStart("character",-1),b=a.getBoundingClientRect(),{height:b.bottom-b.top,left:b.left,top:b.top}},b.prototype.getOffset=function(){var b,c,d,e,f;return j.getSelection&&(d=this.range())?(d.endOffset-1>0&&d.endContainer===!this.domInputor&&(b=d.cloneRange(),b.setStart(d.endContainer,d.endOffset-1),b.setEnd(d.endContainer,d.endOffset),e=b.getBoundingClientRect(),c={height:e.height,left:e.left+e.width,top:e.top},b.detach()),c&&0!==(null!=c?c.height:void 0)||(b=d.cloneRange(),f=a(h.createTextNode("|")),b.insertNode(f[0]),b.selectNode(f[0]),e=b.getBoundingClientRect(),c={height:e.height,left:e.left,top:e.top},f.remove(),b.detach())):h.selection&&(c=this.getOldIEOffset()),c&&(c.top+=a(j).scrollTop(),c.left+=a(j).scrollLeft()),c},b.prototype.range=function(){var a;if(j.getSelection)return a=j.getSelection(),a.rangeCount>0?a.getRangeAt(0):null},b}(),c=function(){function b(a){this.$inputor=a,this.domInputor=this.$inputor[0]}return b.prototype.getIEPos=function(){var a,b,c,d,e,f,g;return b=this.domInputor,f=h.selection.createRange(),e=0,f&&f.parentElement()===b&&(d=b.value.replace(/\r\n/g,"\n"),c=d.length,g=b.createTextRange(),g.moveToBookmark(f.getBookmark()),a=b.createTextRange(),a.collapse(!1),e=g.compareEndPoints("StartToEnd",a)>-1?c:-g.moveStart("character",-c)),e},b.prototype.getPos=function(){return h.selection?this.getIEPos():this.domInputor.selectionStart},b.prototype.setPos=function(a){var b,c;return b=this.domInputor,h.selection?(c=b.createTextRange(),c.move("character",a),c.select()):b.setSelectionRange&&b.setSelectionRange(a,a),b},b.prototype.getIEOffset=function(a){var b,c,d,e;return c=this.domInputor.createTextRange(),a||(a=this.getPos()),c.move("character",a),d=c.boundingLeft,e=c.boundingTop,b=c.boundingHeight,{left:d,top:e,height:b}},b.prototype.getOffset=function(b){var c,d,e;return c=this.$inputor,h.selection?(d=this.getIEOffset(b),d.top+=a(j).scrollTop()+c.scrollTop(),d.left+=a(j).scrollLeft()+c.scrollLeft(),d):(d=c.offset(),e=this.getPosition(b),d={left:d.left+e.left-c.scrollLeft(),top:d.top+e.top-c.scrollTop(),height:e.height})},b.prototype.getPosition=function(b){var c,e,f,g,h,i,j;return c=this.$inputor,g=function(b){return a("<div></div>").text(b).html().replace(/\r\n|\r|\n/g,"<br/>").replace(/\s/g," ")},void 0===b&&(b=this.getPos()),j=c.val().slice(0,b),f=c.val().slice(b),h="<span style='position: relative; display: inline;'>"+g(j)+"</span>",h+="<span id='caret' style='position: relative; display: inline;'>|</span>",h+="<span style='position: relative; display: inline;'>"+g(f)+"</span>",i=new d(c),e=i.create(h).rect()},b.prototype.getIEPosition=function(a){var b,c,d,e,f;return d=this.getIEOffset(a),c=this.$inputor.offset(),e=d.left-c.left,f=d.top-c.top,b=d.height,{left:e,top:f,height:b}},b}(),d=function(){function b(a){this.$inputor=a}return b.prototype.css_attr=["borderBottomWidth","borderLeftWidth","borderRightWidth","borderTopStyle","borderRightStyle","borderBottomStyle","borderLeftStyle","borderTopWidth","boxSizing","fontFamily","fontSize","fontWeight","height","letterSpacing","lineHeight","marginBottom","marginLeft","marginRight","marginTop","outlineWidth","overflow","overflowX","overflowY","paddingBottom","paddingLeft","paddingRight","paddingTop","textAlign","textOverflow","textTransform","wordBreak","wordWrap"],b.prototype.mirrorCss=function(){var b,c=this;return b={position:"absolute",left:-9999,top:0,zIndex:-2e4,whiteSpace:"pre-wrap"},"TEXTAREA"===this.$inputor.prop("tagName")&&this.css_attr.push("width"),a.each(this.css_attr,function(a,d){return b[d]=c.$inputor.css(d)}),b},b.prototype.create=function(b){return this.$mirror=a("<div></div>"),this.$mirror.css(this.mirrorCss()),this.$mirror.html(b),this.$inputor.after(this.$mirror),this},b.prototype.rect=function(){var a,b,c;return a=this.$mirror.find("#caret"),b=a.position(),c={left:b.left,top:b.top,height:a.height()},this.$mirror.remove(),c},b}(),e={contentEditable:function(a){return!(!a[0].contentEditable||"true"!==a[0].contentEditable)}},g={pos:function(a){return a||0===a?this.setPos(a):this.getPos()},position:function(a){return h.selection?this.getIEPosition(a):this.getPosition(a)},offset:function(a){var b;return b=this.getOffset(a)}},h=null,j=null,i=null,l=function(a){var b;return(b=null!=a?a.iframe:void 0)?(i=b,j=b.contentWindow,h=b.contentDocument||j.document):(i=void 0,j=window,h=document)},f=function(a){var b;h=a[0].ownerDocument,j=h.defaultView||h.parentWindow;try{return i=j.frameElement}catch(c){b=c}},a.fn.caret=function(d,f,h){var i;return g[d]?(a.isPlainObject(f)?(l(f),f=void 0):l(h),i=e.contentEditable(this)?new b(this):new c(this),g[d].apply(i,[f])):a.error("Method "+d+" does not exist on jQuery.caret")},a.fn.caret.EditableCaret=b,a.fn.caret.InputCaret=c,a.fn.caret.Utils=e,a.fn.caret.apis=g}); | ||
/*! jquery.caret 2016-02-27 */ | ||
!function(a,b){"function"==typeof define&&define.amd?define(["jquery"],function(c){return a.returnExportsGlobal=b(c)}):"object"==typeof exports?module.exports=b(require("jquery")):b(jQuery)}(this,function(a){"use strict";var b,c,d,e,f,g,h,i,j,k,l;k="caret",b=function(){function b(a){this.$inputor=a,this.domInputor=this.$inputor[0]}return b.prototype.setPos=function(a){var b,c,d,e;return(e=j.getSelection())&&(d=0,c=!1,(b=function(a,f){var g,i,j,k,l,m;for(l=f.childNodes,m=[],j=0,k=l.length;k>j&&(g=l[j],!c);j++)if(3===g.nodeType){if(d+g.length>=a){c=!0,i=h.createRange(),i.setStart(g,a-d),e.removeAllRanges(),e.addRange(i);break}m.push(d+=g.length)}else m.push(b(a,g));return m})(a,this.domInputor)),this.domInputor},b.prototype.getIEPosition=function(){return this.getPosition()},b.prototype.getPosition=function(){var a,b;return b=this.getOffset(),a=this.$inputor.offset(),b.left-=a.left,b.top-=a.top,b},b.prototype.getOldIEPos=function(){var a,b;return b=h.selection.createRange(),a=h.body.createTextRange(),a.moveToElementText(this.domInputor),a.setEndPoint("EndToEnd",b),a.text.length},b.prototype.getPos=function(){var a,b,c;return(c=this.range())?(a=c.cloneRange(),a.selectNodeContents(this.domInputor),a.setEnd(c.endContainer,c.endOffset),b=a.toString().length,a.detach(),b):h.selection?this.getOldIEPos():void 0},b.prototype.getOldIEOffset=function(){var a,b;return a=h.selection.createRange().duplicate(),a.moveStart("character",-1),b=a.getBoundingClientRect(),{height:b.bottom-b.top,left:b.left,top:b.top}},b.prototype.getOffset=function(){var b,c,d,e,f;return j.getSelection&&(d=this.range())?(d.endOffset-1>0&&d.endContainer!==this.domInputor&&(b=d.cloneRange(),b.setStart(d.endContainer,d.endOffset-1),b.setEnd(d.endContainer,d.endOffset),e=b.getBoundingClientRect(),c={height:e.height,left:e.left+e.width,top:e.top},b.detach()),c&&0!==(null!=c?c.height:void 0)||(b=d.cloneRange(),f=a(h.createTextNode("|")),b.insertNode(f[0]),b.selectNode(f[0]),e=b.getBoundingClientRect(),c={height:e.height,left:e.left,top:e.top},f.remove(),b.detach())):h.selection&&(c=this.getOldIEOffset()),c&&(c.top+=a(j).scrollTop(),c.left+=a(j).scrollLeft()),c},b.prototype.range=function(){var a;if(j.getSelection)return a=j.getSelection(),a.rangeCount>0?a.getRangeAt(0):null},b}(),c=function(){function b(a){this.$inputor=a,this.domInputor=this.$inputor[0]}return b.prototype.getIEPos=function(){var a,b,c,d,e,f,g;return b=this.domInputor,f=h.selection.createRange(),e=0,f&&f.parentElement()===b&&(d=b.value.replace(/\r\n/g,"\n"),c=d.length,g=b.createTextRange(),g.moveToBookmark(f.getBookmark()),a=b.createTextRange(),a.collapse(!1),e=g.compareEndPoints("StartToEnd",a)>-1?c:-g.moveStart("character",-c)),e},b.prototype.getPos=function(){return h.selection?this.getIEPos():this.domInputor.selectionStart},b.prototype.setPos=function(a){var b,c;return b=this.domInputor,h.selection?(c=b.createTextRange(),c.move("character",a),c.select()):b.setSelectionRange&&b.setSelectionRange(a,a),b},b.prototype.getIEOffset=function(a){var b,c,d,e;return c=this.domInputor.createTextRange(),a||(a=this.getPos()),c.move("character",a),d=c.boundingLeft,e=c.boundingTop,b=c.boundingHeight,{left:d,top:e,height:b}},b.prototype.getOffset=function(b){var c,d,e;return c=this.$inputor,h.selection?(d=this.getIEOffset(b),d.top+=a(j).scrollTop()+c.scrollTop(),d.left+=a(j).scrollLeft()+c.scrollLeft(),d):(d=c.offset(),e=this.getPosition(b),d={left:d.left+e.left-c.scrollLeft(),top:d.top+e.top-c.scrollTop(),height:e.height})},b.prototype.getPosition=function(a){var b,c,e,f,g,h,i;return b=this.$inputor,f=function(a){return a=a.replace(/<|>|`|"|&/g,"?").replace(/\r\n|\r|\n/g,"<br/>"),/firefox/i.test(navigator.userAgent)&&(a=a.replace(/\s/g," ")),a},void 0===a&&(a=this.getPos()),i=b.val().slice(0,a),e=b.val().slice(a),g="<span style='position: relative; display: inline;'>"+f(i)+"</span>",g+="<span id='caret' style='position: relative; display: inline;'>|</span>",g+="<span style='position: relative; display: inline;'>"+f(e)+"</span>",h=new d(b),c=h.create(g).rect()},b.prototype.getIEPosition=function(a){var b,c,d,e,f;return d=this.getIEOffset(a),c=this.$inputor.offset(),e=d.left-c.left,f=d.top-c.top,b=d.height,{left:e,top:f,height:b}},b}(),d=function(){function b(a){this.$inputor=a}return b.prototype.css_attr=["borderBottomWidth","borderLeftWidth","borderRightWidth","borderTopStyle","borderRightStyle","borderBottomStyle","borderLeftStyle","borderTopWidth","boxSizing","fontFamily","fontSize","fontWeight","height","letterSpacing","lineHeight","marginBottom","marginLeft","marginRight","marginTop","outlineWidth","overflow","overflowX","overflowY","paddingBottom","paddingLeft","paddingRight","paddingTop","textAlign","textOverflow","textTransform","whiteSpace","wordBreak","wordWrap"],b.prototype.mirrorCss=function(){var b,c=this;return b={position:"absolute",left:-9999,top:0,zIndex:-2e4},"TEXTAREA"===this.$inputor.prop("tagName")&&this.css_attr.push("width"),a.each(this.css_attr,function(a,d){return b[d]=c.$inputor.css(d)}),b},b.prototype.create=function(b){return this.$mirror=a("<div></div>"),this.$mirror.css(this.mirrorCss()),this.$mirror.html(b),this.$inputor.after(this.$mirror),this},b.prototype.rect=function(){var a,b,c;return a=this.$mirror.find("#caret"),b=a.position(),c={left:b.left,top:b.top,height:a.height()},this.$mirror.remove(),c},b}(),e={contentEditable:function(a){return!(!a[0].contentEditable||"true"!==a[0].contentEditable)}},g={pos:function(a){return a||0===a?this.setPos(a):this.getPos()},position:function(a){return h.selection?this.getIEPosition(a):this.getPosition(a)},offset:function(a){var b;return b=this.getOffset(a)}},h=null,j=null,i=null,l=function(a){var b;return(b=null!=a?a.iframe:void 0)?(i=b,j=b.contentWindow,h=b.contentDocument||j.document):(i=void 0,j=window,h=document)},f=function(a){var b;h=a[0].ownerDocument,j=h.defaultView||h.parentWindow;try{return i=j.frameElement}catch(c){b=c}},a.fn.caret=function(d,f,h){var i;return g[d]?(a.isPlainObject(f)?(l(f),f=void 0):l(h),i=e.contentEditable(this)?new b(this):new c(this),g[d].apply(i,[f])):a.error("Method "+d+" does not exist on jQuery.caret")},a.fn.caret.EditableCaret=b,a.fn.caret.InputCaret=c,a.fn.caret.Utils=e,a.fn.caret.apis=g}); |
{ | ||
"name": "jquery.caret", | ||
"version": "0.2.1", | ||
"version": "0.3.1", | ||
"description": "Get caret position and offset from inputor", | ||
"main": "index.js", | ||
"dependencies": { | ||
"grunt": "~0.4.1" | ||
}, | ||
"main": "dist/jquery.caret.js", | ||
"devDependencies": { | ||
"grunt": "~0.4.1", | ||
"grunt-cli": "^1.2.0", | ||
"grunt-contrib-coffee": "~0.6.4", | ||
@@ -11,0 +10,0 @@ "grunt-contrib-jasmine": "~0.5.1", |
Caret.js | ||
======== | ||
Get caret postion or offset from inputor | ||
Get caret position or offset from inputor | ||
@@ -44,3 +44,2 @@ This is the core function that working in [At.js](http://ichord.github.com/At.js). | ||
// Set caret position in the inputor | ||
// not working in contentEditable mode | ||
$('#inputor').caret('pos', 15); | ||
@@ -47,0 +46,0 @@ |
@@ -1,2 +0,2 @@ | ||
describe("jquery.caret", function() { | ||
describe('jquery.caret', function() { | ||
var $inputor; | ||
@@ -6,29 +6,107 @@ $inputor = null; | ||
beforeEach(function() { | ||
var html = '' | ||
+ '<textarea id="inputor" name="at" rows="8" cols="40">' | ||
+ ' Stay Foolish, Stay Hungry. @Jobs' | ||
+ '</textarea>' | ||
describe('InputCaret', function() { | ||
beforeEach(function() { | ||
var html = '' | ||
+ '<textarea id="inputor" name="at" rows="8" cols="40">' | ||
+ ' Stay Foolish, Stay Hungry. @Jobs' | ||
+ '</textarea>'; | ||
var fixture = setFixtures(html); | ||
$inputor = fixture.find('#inputor'); | ||
var fixture = setFixtures(html); | ||
$inputor = fixture.find('#inputor'); | ||
var fixPos = 20; | ||
}); | ||
var fixPos = 20; | ||
}); | ||
it('Set/Get caret pos', function() { | ||
$inputor.caret('pos', 15); | ||
expect($inputor.caret('pos')).toBe(15); | ||
it('Set/Get caret pos', function() { | ||
$inputor.caret('pos', 15); | ||
expect($inputor.caret('pos')).toBe(15); | ||
}); | ||
// TODO: I don't know how to test this functions yet. = =. | ||
// it("Set/Get caret position", function() { | ||
// $inputor.caret('position', 20); | ||
// pos = $inputor.caret('position'); // => {left: 15, top: 30, height: 20} | ||
// expect(pos).toBe({ left : 2, top : 2, height : 17 }); | ||
// }); | ||
// $('#inputor').caret('offset'); // => {left: 300, top: 400, height: 20} | ||
// $('#inputor').caret('offset', fixPos); | ||
}); | ||
// TODO: I don't know how to test this functions yet. = =. | ||
// it("Set/Get caret position", function() { | ||
// $inputor.caret('position', 20); | ||
// pos = $inputor.caret('position'); // => {left: 15, top: 30, height: 20} | ||
// expect(pos).toBe({ left : 2, top : 2, height : 17 }); | ||
// }); | ||
describe('EditableCaret', function() { | ||
beforeEach(function() { | ||
var contentEditable = '' | ||
+ '<div id="inputor" contentEditable="true">' | ||
+ 'Hello ' | ||
+ '<span id="test">World</span>' | ||
+ '! ' | ||
+ '<div><br></div>' | ||
+ '<div>' | ||
+ '<ul>' | ||
+ '<li>Testing 1</li>' | ||
+ '<li>Testin 2</li>' | ||
+ '</ul>' | ||
+ '<div>--</div>' | ||
+ '</div>' | ||
+ '<div><br></div>' | ||
+ '</div>'; | ||
// $('#inputor').caret('offset'); // => {left: 300, top: 400, height: 20} | ||
// $('#inputor').caret('offset', fixPos); | ||
var fixture = setFixtures(contentEditable); | ||
$inputor = fixture.find('#inputor'); | ||
}); | ||
}); | ||
it('sets the caret position at the top-level', function() { | ||
$inputor.caret('pos', 3); | ||
var selection = window.getSelection(); | ||
expect(selection.anchorNode.nodeValue).toBe('Hello '); | ||
expect(selection.anchorOffset).toBe(3); | ||
expect($inputor.caret('pos')).toBe(3); | ||
}); | ||
it('sets the caret position in a span', function() { | ||
$inputor.caret('pos', 8); | ||
var selection = window.getSelection(); | ||
expect(selection.anchorNode.nodeValue).toBe('World'); | ||
expect(selection.anchorOffset).toBe(2); | ||
expect($inputor.caret('pos')).toBe(8); | ||
}); | ||
it('sets the caret position in a list item', function() { | ||
$inputor.caret('pos', 16); | ||
var selection = window.getSelection(); | ||
expect(selection.anchorNode.nodeValue).toBe('Testing 1'); | ||
expect(selection.anchorOffset).toBe(3); | ||
expect($inputor.caret('pos')).toBe(16); | ||
}); | ||
it('sets the caret position at the end of a list item', function() { | ||
$inputor.caret('pos', 30); | ||
var selection = window.getSelection(); | ||
expect(selection.anchorNode.nodeValue).toBe('Testin 2'); | ||
expect(selection.anchorOffset).toBe(8); | ||
expect($inputor.caret('pos')).toBe(30); | ||
}); | ||
describe('Edge case from Gmail', function() { | ||
beforeEach(function() { | ||
var content = '' | ||
+ '<div id="inputor" contenteditable="true">' | ||
+ 'Hello ' | ||
+ '<span>just</span> want' | ||
+ '<ul><li>Hi</li></ul>' | ||
+ '<div>---</div>' | ||
+ '</div>'; | ||
var fixture = setFixtures(content); | ||
$inputor = fixture.find('#inputor'); | ||
}); | ||
it('sets the caret position when two child nodes match the condition', function() { | ||
$inputor.caret('pos', 16); | ||
var selection = window.getSelection(); | ||
expect(selection.anchorNode.nodeValue).toBe('Hi'); | ||
expect(selection.anchorOffset).toBe(1); | ||
expect($inputor.caret('pos')).toBe(16); | ||
}); | ||
}); | ||
}); | ||
}); |
@@ -44,2 +44,33 @@ (function (root, factory) { | ||
EditableCaret.prototype.setPos = function(pos) { | ||
var fn, found, offset, sel; | ||
if (sel = oWindow.getSelection()) { | ||
offset = 0; | ||
found = false; | ||
(fn = function(pos, parent) { | ||
var node, range, _i, _len, _ref, _results; | ||
_ref = parent.childNodes; | ||
_results = []; | ||
for (_i = 0, _len = _ref.length; _i < _len; _i++) { | ||
node = _ref[_i]; | ||
if (found) { | ||
break; | ||
} | ||
if (node.nodeType === 3) { | ||
if (offset + node.length >= pos) { | ||
found = true; | ||
range = oDocument.createRange(); | ||
range.setStart(node, pos - offset); | ||
sel.removeAllRanges(); | ||
sel.addRange(range); | ||
break; | ||
} else { | ||
_results.push(offset += node.length); | ||
} | ||
} else { | ||
_results.push(fn(pos, node)); | ||
} | ||
} | ||
return _results; | ||
})(pos, this.domInputor); | ||
} | ||
return this.domInputor; | ||
@@ -99,3 +130,3 @@ }; | ||
if (oWindow.getSelection && (range = this.range())) { | ||
if (range.endOffset - 1 > 0 && range.endContainer === !this.domInputor) { | ||
if (range.endOffset - 1 > 0 && range.endContainer !== this.domInputor) { | ||
clonedRange = range.cloneRange(); | ||
@@ -102,0 +133,0 @@ clonedRange.setStart(range.endContainer, range.endOffset - 1); |
Sorry, the diff of this file is not supported yet
License Policy Violation
LicenseThis package is not allowed per your license policy. Review the package's license to ensure compliance.
Found 1 instance in 1 package
New author
Supply chain riskA new npm collaborator published a version of the package for the first time. New collaborators are usually benign additions to a project, but do indicate a change to the security surface area of a package.
Found 1 instance in 1 package
License Policy Violation
LicenseThis package is not allowed per your license policy. Review the package's license to ensure compliance.
Found 1 instance in 1 package
57362
0
917
8
54
1
- Removedgrunt@~0.4.1
- Removedabbrev@1.1.1(transitive)
- Removedargparse@0.1.16(transitive)
- Removedasync@0.1.22(transitive)
- Removedcoffee-script@1.3.3(transitive)
- Removedcolors@0.6.2(transitive)
- Removeddateformat@1.0.2-1.2.3(transitive)
- Removedesprima@1.0.4(transitive)
- Removedeventemitter2@0.4.14(transitive)
- Removedexit@0.1.2(transitive)
- Removedfindup-sync@0.1.3(transitive)
- Removedgetobject@0.1.0(transitive)
- Removedglob@3.1.213.2.11(transitive)
- Removedgraceful-fs@1.2.3(transitive)
- Removedgrunt@0.4.5(transitive)
- Removedgrunt-legacy-log@0.1.3(transitive)
- Removedgrunt-legacy-log-utils@0.1.1(transitive)
- Removedgrunt-legacy-util@0.2.0(transitive)
- Removedhooker@0.2.3(transitive)
- Removediconv-lite@0.2.11(transitive)
- Removedinherits@1.0.22.0.4(transitive)
- Removedjs-yaml@2.0.5(transitive)
- Removedlodash@0.9.22.4.2(transitive)
- Removedlru-cache@2.7.3(transitive)
- Removedminimatch@0.2.140.3.0(transitive)
- Removednopt@1.0.10(transitive)
- Removedrimraf@2.2.8(transitive)
- Removedsigmund@1.0.1(transitive)
- Removedunderscore@1.7.0(transitive)
- Removedunderscore.string@2.2.12.3.32.4.0(transitive)
- Removedwhich@1.0.9(transitive)