Comparing version 2.5.2 to 2.5.3
@@ -0,1 +1,11 @@ | ||
<a name="2.5.2"></a> | ||
## [2.5.2](https://github.com/dollarshaveclub/shave/compare/2.5.1...2.5.2) (2018-10-09) | ||
<a name="2.5.1"></a> | ||
## [2.5.1](https://github.com/dollarshaveclub/shave/compare/2.5.0...2.5.1) (2018-09-06) | ||
<a name="2.5.0"></a> | ||
@@ -2,0 +12,0 @@ # [2.5.0](https://github.com/dollarshaveclub/shave/compare/2.4.0...2.5.0) (2018-09-06) |
@@ -1,1 +0,1 @@ | ||
!function(e,t){"object"==typeof exports&&"undefined"!=typeof module?t():"function"==typeof define&&define.amd?define(t):t()}(0,function(){"use strict";if("undefined"!=typeof window){var e=window.$||window.jQuery||window.Zepto;e&&(e.fn.shave=function(e,t){return function(e,t){var n=2<arguments.length&&void 0!==arguments[2]?arguments[2]:{};if(!t)throw Error("maxHeight is required");var i="string"==typeof e?document.querySelectorAll(e):e;if(i){var o=n.character||"…",a=n.classname||"js-shave",s="boolean"!=typeof n.spaces||n.spaces,r='<span class="js-shave-char">'.concat(o,"</span>");"length"in i||(i=[i]);for(var c=0;c<i.length;c+=1){var f=i[c],h=f.style,l=f.querySelector(".".concat(a)),d=void 0===f.textContent?"innerText":"textContent";l&&(f.removeChild(f.querySelector(".js-shave-char")),f[d]=f[d]);var v=f[d],g=s?v.split(" "):v;if(!(g.length<2)){var u=h.height;h.height="auto";var p=h.maxHeight;if(h.maxHeight="none",f.offsetHeight<=t)h.height=u,h.maxHeight=p;else{for(var y=g.length-1,j=0,m=void 0;j<y;)m=j+y+1>>1,f[d]=s?g.slice(0,m).join(" "):g.slice(0,m),f.insertAdjacentHTML("beforeend",r),f.offsetHeight>t?y=s?m-1:m-2:j=m;f[d]=s?g.slice(0,y).join(" "):g.slice(0,y),f.insertAdjacentHTML("beforeend",r);var H=s?" ".concat(g.slice(y).join(" ")):g.slice(y);f.insertAdjacentHTML("beforeend",'<span class="'.concat(a,'" style="display:none;">').concat(H,"</span>")),h.height=u,h.maxHeight=p}}}}}(this,e,t),this})}}); | ||
!function(e,t){"object"==typeof exports&&"undefined"!=typeof module?t():"function"==typeof define&&define.amd?define(t):t()}(0,function(){"use strict";if("undefined"!=typeof window){var e=window.$||window.jQuery||window.Zepto;e&&(e.fn.shave=function(e,t){return function(e,t){var n=2<arguments.length&&void 0!==arguments[2]?arguments[2]:{};if(!t)throw Error("maxHeight is required");var i="string"==typeof e?document.querySelectorAll(e):e;if(i){var o=n.character||"…",a=n.classname||"js-shave",r="boolean"!=typeof n.spaces||n.spaces,s='<span class="js-shave-char">'.concat(o,"</span>");"length"in i||(i=[i]);for(var c=0;c<i.length;c+=1){var d=i[c],h=d.style,f=d.querySelector(".".concat(a)),l=void 0===d.textContent?"innerText":"textContent";f&&(d.removeChild(d.querySelector(".js-shave-char")),d[l]=d[l]);var u=d[l],v=r?u.split(" "):u;if(!(v.length<2)){var g=h.height;h.height="auto";var p=h.maxHeight;if(h.maxHeight="none",d.offsetHeight<=t)h.height=g,h.maxHeight=p;else{for(var m=v.length-1,y=0,j=void 0;y<m;)j=y+m+1>>1,d[l]=r?v.slice(0,j).join(" "):v.slice(0,j),d.insertAdjacentHTML("beforeend",s),d.offsetHeight>t?m=r?j-1:j-2:y=j;d[l]=r?v.slice(0,m).join(" "):v.slice(0,m),d.insertAdjacentHTML("beforeend",s);var x=r?" ".concat(v.slice(m).join(" ")):v.slice(m),w=document.createTextNode(x),H=document.createElement("span");H.classList.add(a),H.style.display="none",H.appendChild(w),d.insertAdjacentElement("beforeend",H),h.height=g,h.maxHeight=p}}}}}(this,e,t),this})}}); |
/** | ||
shave - Shave is a javascript plugin that truncates multi-line text within a html element based on set max height | ||
@version v2.5.2 | ||
@version v2.5.3 | ||
@link https://github.com/dollarshaveclub/shave#readme | ||
@@ -64,3 +64,8 @@ @author Jeff Wainwright <yowainwright@gmail.com> (jeffry.in) | ||
var diff = spaces ? " ".concat(words.slice(max).join(' ')) : words.slice(max); | ||
el.insertAdjacentHTML('beforeend', "<span class=\"".concat(classname, "\" style=\"display:none;\">").concat(diff, "</span>")); | ||
var shavedText = document.createTextNode(diff); | ||
var elWithShavedText = document.createElement('span'); | ||
elWithShavedText.classList.add(classname); | ||
elWithShavedText.style.display = 'none'; | ||
elWithShavedText.appendChild(shavedText); | ||
el.insertAdjacentElement('beforeend', elWithShavedText); | ||
styles.height = heightStyle; | ||
@@ -67,0 +72,0 @@ styles.maxHeight = maxHeightStyle; |
/** | ||
shave - Shave is a javascript plugin that truncates multi-line text within a html element based on set max height | ||
@version v2.5.2 | ||
@version v2.5.3 | ||
@link https://github.com/dollarshaveclub/shave#readme | ||
@@ -70,3 +70,8 @@ @author Jeff Wainwright <yowainwright@gmail.com> (jeffry.in) | ||
var diff = spaces ? " ".concat(words.slice(max).join(' ')) : words.slice(max); | ||
el.insertAdjacentHTML('beforeend', "<span class=\"".concat(classname, "\" style=\"display:none;\">").concat(diff, "</span>")); | ||
var shavedText = document.createTextNode(diff); | ||
var elWithShavedText = document.createElement('span'); | ||
elWithShavedText.classList.add(classname); | ||
elWithShavedText.style.display = 'none'; | ||
elWithShavedText.appendChild(shavedText); | ||
el.insertAdjacentElement('beforeend', elWithShavedText); | ||
styles.height = heightStyle; | ||
@@ -73,0 +78,0 @@ styles.maxHeight = maxHeightStyle; |
@@ -1,1 +0,1 @@ | ||
!function(e,t){"object"==typeof exports&&"undefined"!=typeof module?module.exports=t():"function"==typeof define&&define.amd?define(t):e.shave=t()}(this,function(){"use strict";return function(e,t){var n=2<arguments.length&&void 0!==arguments[2]?arguments[2]:{};if(!t)throw Error("maxHeight is required");var i="string"==typeof e?document.querySelectorAll(e):e;if(i){var o=n.character||"…",a=n.classname||"js-shave",s="boolean"!=typeof n.spaces||n.spaces,r='<span class="js-shave-char">'.concat(o,"</span>");"length"in i||(i=[i]);for(var c=0;c<i.length;c+=1){var h=i[c],l=h.style,f=h.querySelector(".".concat(a)),d=void 0===h.textContent?"innerText":"textContent";f&&(h.removeChild(h.querySelector(".js-shave-char")),h[d]=h[d]);var v=h[d],g=s?v.split(" "):v;if(!(g.length<2)){var p=l.height;l.height="auto";var u=l.maxHeight;if(l.maxHeight="none",h.offsetHeight<=t)l.height=p,l.maxHeight=u;else{for(var m=g.length-1,y=0,j=void 0;y<m;)j=y+m+1>>1,h[d]=s?g.slice(0,j).join(" "):g.slice(0,j),h.insertAdjacentHTML("beforeend",r),h.offsetHeight>t?m=s?j-1:j-2:y=j;h[d]=s?g.slice(0,m).join(" "):g.slice(0,m),h.insertAdjacentHTML("beforeend",r);var x=s?" ".concat(g.slice(m).join(" ")):g.slice(m);h.insertAdjacentHTML("beforeend",'<span class="'.concat(a,'" style="display:none;">').concat(x,"</span>")),l.height=p,l.maxHeight=u}}}}}}); | ||
!function(e,t){"object"==typeof exports&&"undefined"!=typeof module?module.exports=t():"function"==typeof define&&define.amd?define(t):e.shave=t()}(this,function(){"use strict";return function(e,t){var n=2<arguments.length&&void 0!==arguments[2]?arguments[2]:{};if(!t)throw Error("maxHeight is required");var i="string"==typeof e?document.querySelectorAll(e):e;if(i){var o=n.character||"…",a=n.classname||"js-shave",r="boolean"!=typeof n.spaces||n.spaces,s='<span class="js-shave-char">'.concat(o,"</span>");"length"in i||(i=[i]);for(var c=0;c<i.length;c+=1){var h=i[c],l=h.style,d=h.querySelector(".".concat(a)),f=void 0===h.textContent?"innerText":"textContent";d&&(h.removeChild(h.querySelector(".js-shave-char")),h[f]=h[f]);var v=h[f],g=r?v.split(" "):v;if(!(g.length<2)){var u=l.height;l.height="auto";var p=l.maxHeight;if(l.maxHeight="none",h.offsetHeight<=t)l.height=u,l.maxHeight=p;else{for(var m=g.length-1,x=0,y=void 0;x<m;)y=x+m+1>>1,h[f]=r?g.slice(0,y).join(" "):g.slice(0,y),h.insertAdjacentHTML("beforeend",s),h.offsetHeight>t?m=r?y-1:y-2:x=y;h[f]=r?g.slice(0,m).join(" "):g.slice(0,m),h.insertAdjacentHTML("beforeend",s);var j=r?" ".concat(g.slice(m).join(" ")):g.slice(m),H=document.createTextNode(j),b=document.createElement("span");b.classList.add(a),b.style.display="none",b.appendChild(H),h.insertAdjacentElement("beforeend",b),l.height=u,l.maxHeight=p}}}}}}); |
{ | ||
"name": "shave", | ||
"version": "2.5.2", | ||
"version": "2.5.3", | ||
"description": "Shave is a javascript plugin that truncates multi-line text within a html element based on set max height", | ||
@@ -16,7 +16,9 @@ "main": "dist/shave.js", | ||
"build": "rollup --config rollup.config.js", | ||
"chore:delete-branch": "if git show-ref --quiet refs/heads/chore-changelog; then git branch -D chore-changelog; fi", | ||
"chore:delete-changelog-branch": "if git show-ref --quiet refs/heads/chore-changelog; then git branch -D chore-changelog; fi", | ||
"chore:branch": "git checkout -b chore-changelog", | ||
"chore:changelog": "conventional-changelog -p angular -i CHANGELOG.md -s -r 0", | ||
"chore:changelog": "conventional-changelog -p eslint -i CHANGELOG.md -s -r 0", | ||
"chore:setup-next-work": "git checkout master && npm run chore:delete-changelog-branch", | ||
"chore:pr": "git add . && git commit -m '[chore] updates changelog' --no-verify && git push origin chore-changelog -f", | ||
"chore": "npm run chore:delete-branch && npm run chore:branch && npm run chore:changelog && npm run chore:pr", | ||
"chore:setup-changelog": "git checkout master && git pull", | ||
"chore": "npm run chore:delete-changelog-branch && npm run chore:branch && npm run chore:changelog && npm run chore:pr && npm run chore:setup-next-work", | ||
"eslint": "eslint . --fix", | ||
@@ -58,4 +60,4 @@ "eslint:ci": "eslint .", | ||
"babel-core": "^7.0.0-bridge.0", | ||
"conventional-changelog-cli": "^2.0.1", | ||
"es-check": "^4.0.0", | ||
"conventional-changelog-cli": "^2.0.11", | ||
"es-check": "5.0.0", | ||
"eslint": "^5.0.0", | ||
@@ -65,7 +67,7 @@ "eslint-config-dollarshaveclub": "^3.1.0", | ||
"node-qunit-phantomjs": "^2.0.0", | ||
"rollup": "^0.66.0", | ||
"rollup": "^1.0.0", | ||
"rollup-plugin-babel": "^4.0.0-beta.0", | ||
"rollup-plugin-uglify": "^5.0.0", | ||
"rollup-plugin-uglify": "^6.0.1", | ||
"typescript": "^3.0.1" | ||
} | ||
} |
@@ -60,6 +60,8 @@ export default function shave (target, maxHeight, opts = {}) { | ||
el.insertAdjacentHTML( | ||
'beforeend', | ||
`<span class="${classname}" style="display:none;">${diff}</span>`, | ||
) | ||
const shavedText = document.createTextNode(diff) | ||
const elWithShavedText = document.createElement('span') | ||
elWithShavedText.classList.add(classname) | ||
elWithShavedText.style.display = 'none' | ||
elWithShavedText.appendChild(shavedText) | ||
el.insertAdjacentElement('beforeend', elWithShavedText) | ||
@@ -66,0 +68,0 @@ styles.height = heightStyle |
28776
304