Huge News!Announcing our $40M Series B led by Abstract Ventures.Learn More
Socket
Sign inDemoInstall
Socket

d3plus-text

Package Overview
Dependencies
Maintainers
1
Versions
89
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

d3plus-text - npm Package Compare versions

Comparing version 0.9.30 to 0.9.31

25

build/d3plus-text.js
/*
d3plus-text v0.9.30
d3plus-text v0.9.31
A smart SVG text box with line wrapping and automatic font size scaling.

@@ -464,23 +464,2 @@ Copyright (c) 2018 D3plus - https://d3plus.org

/**
@function textTruncate
@desc Truncate a single word with ellipsis until if fits within the given width
@param {String} text The word to truncate
@param {String} ellipsis The ellipsis to append
@param {Number} maxWidth The maximum width that the text can take
@param {Object} style The style object to apply
@return {String} The resultant text with ellipsis
*/
function truncateWord(text, ellipsis, maxWidth, style) {
for (var i = text.length; i > 0; i--) {
var shortened = text.slice(0, i) + ellipsis;
var width = measure(shortened, style);
if (width < maxWidth) {
return shortened;
}
}
return ellipsis;
}
/**
@external BaseClass

@@ -598,3 +577,3 @@ @see https://github.com/d3plus/d3plus-common#BaseClass

var truncate = function () {
if (line < 1) { lineData = [truncateWord(wrapResults.words[0], that._ellipsis("", line), w, style)]; }
if (line < 1) { lineData = [that._ellipsis("", line)]; }
else { lineData[line - 1] = that._ellipsis(lineData[line - 1], line); }

@@ -601,0 +580,0 @@ };

4

build/d3plus-text.min.js
/*
d3plus-text v0.9.30
d3plus-text v0.9.31
A smart SVG text box with line wrapping and automatic font size scaling.

@@ -7,2 +7,2 @@ Copyright (c) 2018 D3plus - https://d3plus.org

*/
if(typeof Object.assign!=="function"){Object.defineProperty(Object,"assign",{value:function u(t){"use strict";if(t===null){throw new TypeError("Cannot convert undefined or null to object")}var n=Object(t);for(var e=1;e<arguments.length;e++){var i=arguments[e];if(i!==null){for(var o in i){if(Object.prototype.hasOwnProperty.call(i,o)){n[o]=i[o]}}}}return n},writable:true,configurable:true})}if(!Array.prototype.includes){Object.defineProperty(Array.prototype,"includes",{value:function u(t,n){var e=Object(this);var i=e.length>>>0;if(i===0)return false;var o=n|0;var r=Math.max(o>=0?o:i-Math.abs(o),0);function A(u,t){return u===t||typeof u==="number"&&typeof t==="number"&&isNaN(u)&&isNaN(t)}while(r<i){if(A(e[r],t)){return true}r++}return false}})}(function(u,t){typeof exports==="object"&&typeof module!=="undefined"?t(exports,require("d3-selection"),require("d3-array"),require("d3-transition"),require("d3plus-common")):typeof define==="function"&&define.amd?define("d3plus-text",["exports","d3-selection","d3-array","d3-transition","d3plus-common"],t):t(u.d3plus={},u.d3Selection,u.d3Array,u.d3Transition,u.d3plusCommon)})(this,function(u,f,M,C,R){"use strict";function W(u,t){t=Object.assign({"font-size":10,"font-family":"sans-serif","font-style":"normal","font-weight":400,"font-variant":"normal"},t);var n=document.createElement("canvas").getContext("2d");var e=[];e.push(t["font-style"]);e.push(t["font-variant"]);e.push(t["font-weight"]);e.push(typeof t["font-size"]==="string"?t["font-size"]:t["font-size"]+"px");e.push(t["font-family"]);n.font=e.join(" ");if(u instanceof Array){return u.map(function(u){return n.measureText(u).width})}return n.measureText(u).width}function i(u){return u.replace(/^\s+|\s+$/g,"")}function t(u){return u.replace(/^\s+/,"")}function d(u){return u.replace(/\s+$/,"")}var o="abcdefghiABCDEFGHI_!@#$%^&*()_+1234567890",r={},A=32;var s,a,B,l;var L=function(u){if(!s){s=W(o,{"font-family":"DejaVuSans","font-size":A});a=W(o,{"font-family":"-apple-system","font-size":A});B=W(o,{"font-family":"monospace","font-size":A});l=W(o,{"font-family":"sans-serif","font-size":A})}if(!(u instanceof Array)){u=u.split(",")}u=u.map(function(u){return i(u)});for(var t=0;t<u.length;t++){var n=u[t];if(r[n]||["-apple-system","monospace","sans-serif","DejaVuSans"].includes(n)){return n}else if(r[n]===false){continue}var e=W(o,{"font-family":n,"font-size":A});r[n]=e!==B;if(r[n]){r[n]=e!==l}if(a&&r[n]){r[n]=e!==a}if(s&&r[n]){r[n]=e!==s}if(r[n]){return n}}return false};function c(){return f.select("html").attr("dir")==="rtl"||f.select("body").attr("dir")==="rtl"||f.select("html").style("direction")==="rtl"||f.select("body").style("direction")==="rtl"}function _(u){if(u===void 0){u="undefined"}else if(!(typeof u==="string"||u instanceof String)){u=JSON.stringify(u)}return u}var e=[[/[\300-\305]/g,"A"],[/[\340-\345]/g,"a"],[/[\306]/g,"AE"],[/[\346]/g,"ae"],[/[\337]/g,"B"],[/[\307]/g,"C"],[/[\347]/g,"c"],[/[\320\336\376]/g,"D"],[/[\360]/g,"d"],[/[\310-\313]/g,"E"],[/[\350-\353]/g,"e"],[/[\314-\317]/g,"I"],[/[\354-\357]/g,"i"],[/[\321]/g,"N"],[/[\361]/g,"n"],[/[\322-\326\330]/g,"O"],[/[\362-\366\370]/g,"o"],[/[\331-\334]/g,"U"],[/[\371-\374]/g,"u"],[/[\327]/g,"x"],[/[\335]/g,"Y"],[/[\375\377]/g,"y"]];function h(u){return(""+u).replace(/[^A-Za-z0-9\-_]/g,function(u){if(u===" "){return"-"}var t=false;for(var n=0;n<e.length;n++){if(new RegExp(e[n][0]).test(u)){t=e[n][1];break}}return t||""})}var n=["u0903","u093B","u093E","u093F","u0940","u0949","u094A","u094B","u094C","u094E","u094F","u0982","u0983","u09BE","u09BF","u09C0","u09C7","u09C8","u09CB","u09CC","u09D7","u0A03","u0A3E","u0A3F","u0A40","u0A83","u0ABE","u0ABF","u0AC0","u0AC9","u0ACB","u0ACC","u0B02","u0B03","u0B3E","u0B40","u0B47","u0B48","u0B4B","u0B4C","u0B57","u0BBE","u0BBF","u0BC1","u0BC2","u0BC6","u0BC7","u0BC8","u0BCA","u0BCB","u0BCC","u0BD7","u0C01","u0C02","u0C03","u0C41","u0C42","u0C43","u0C44","u0C82","u0C83","u0CBE","u0CC0","u0CC1","u0CC2","u0CC3","u0CC4","u0CC7","u0CC8","u0CCA","u0CCB","u0CD5","u0CD6","u0D02","u0D03","u0D3E","u0D3F","u0D40","u0D46","u0D47","u0D48","u0D4A","u0D4B","u0D4C","u0D57","u0D82","u0D83","u0DCF","u0DD0","u0DD1","u0DD8","u0DD9","u0DDA","u0DDB","u0DDC","u0DDD","u0DDE","u0DDF","u0DF2","u0DF3","u0F3E","u0F3F","u0F7F","u102B","u102C","u1031","u1038","u103B","u103C","u1056","u1057","u1062","u1063","u1064","u1067","u1068","u1069","u106A","u106B","u106C","u106D","u1083","u1084","u1087","u1088","u1089","u108A","u108B","u108C","u108F","u109A","u109B","u109C","u17B6","u17BE","u17BF","u17C0","u17C1","u17C2","u17C3","u17C4","u17C5","u17C7","u17C8","u1923","u1924","u1925","u1926","u1929","u192A","u192B","u1930","u1931","u1933","u1934","u1935","u1936","u1937","u1938","u1A19","u1A1A","u1A55","u1A57","u1A61","u1A63","u1A64","u1A6D","u1A6E","u1A6F","u1A70","u1A71","u1A72","u1B04","u1B35","u1B3B","u1B3D","u1B3E","u1B3F","u1B40","u1B41","u1B43","u1B44","u1B82","u1BA1","u1BA6","u1BA7","u1BAA","u1BE7","u1BEA","u1BEB","u1BEC","u1BEE","u1BF2","u1BF3","u1C24","u1C25","u1C26","u1C27","u1C28","u1C29","u1C2A","u1C2B","u1C34","u1C35","u1CE1","u1CF2","u1CF3","u302E","u302F","uA823","uA824","uA827","uA880","uA881","uA8B4","uA8B5","uA8B6","uA8B7","uA8B8","uA8B9","uA8BA","uA8BB","uA8BC","uA8BD","uA8BE","uA8BF","uA8C0","uA8C1","uA8C2","uA8C3","uA952","uA953","uA983","uA9B4","uA9B5","uA9BA","uA9BB","uA9BD","uA9BE","uA9BF","uA9C0","uAA2F","uAA30","uAA33","uAA34","uAA4D","uAA7B","uAA7D","uAAEB","uAAEE","uAAEF","uAAF5","uABE3","uABE4","uABE6","uABE7","uABE9","uABEA","uABEC"];var D=["u0300","u0301","u0302","u0303","u0304","u0305","u0306","u0307","u0308","u0309","u030A","u030B","u030C","u030D","u030E","u030F","u0310","u0311","u0312","u0313","u0314","u0315","u0316","u0317","u0318","u0319","u031A","u031B","u031C","u031D","u031E","u031F","u0320","u0321","u0322","u0323","u0324","u0325","u0326","u0327","u0328","u0329","u032A","u032B","u032C","u032D","u032E","u032F","u0330","u0331","u0332","u0333","u0334","u0335","u0336","u0337","u0338","u0339","u033A","u033B","u033C","u033D","u033E","u033F","u0340","u0341","u0342","u0343","u0344","u0345","u0346","u0347","u0348","u0349","u034A","u034B","u034C","u034D","u034E","u034F","u0350","u0351","u0352","u0353","u0354","u0355","u0356","u0357","u0358","u0359","u035A","u035B","u035C","u035D","u035E","u035F","u0360","u0361","u0362","u0363","u0364","u0365","u0366","u0367","u0368","u0369","u036A","u036B","u036C","u036D","u036E","u036F","u0483","u0484","u0485","u0486","u0487","u0591","u0592","u0593","u0594","u0595","u0596","u0597","u0598","u0599","u059A","u059B","u059C","u059D","u059E","u059F","u05A0","u05A1","u05A2","u05A3","u05A4","u05A5","u05A6","u05A7","u05A8","u05A9","u05AA","u05AB","u05AC","u05AD","u05AE","u05AF","u05B0","u05B1","u05B2","u05B3","u05B4","u05B5","u05B6","u05B7","u05B8","u05B9","u05BA","u05BB","u05BC","u05BD","u05BF","u05C1","u05C2","u05C4","u05C5","u05C7","u0610","u0611","u0612","u0613","u0614","u0615","u0616","u0617","u0618","u0619","u061A","u064B","u064C","u064D","u064E","u064F","u0650","u0651","u0652","u0653","u0654","u0655","u0656","u0657","u0658","u0659","u065A","u065B","u065C","u065D","u065E","u065F","u0670","u06D6","u06D7","u06D8","u06D9","u06DA","u06DB","u06DC","u06DF","u06E0","u06E1","u06E2","u06E3","u06E4","u06E7","u06E8","u06EA","u06EB","u06EC","u06ED","u0711","u0730","u0731","u0732","u0733","u0734","u0735","u0736","u0737","u0738","u0739","u073A","u073B","u073C","u073D","u073E","u073F","u0740","u0741","u0742","u0743","u0744","u0745","u0746","u0747","u0748","u0749","u074A","u07A6","u07A7","u07A8","u07A9","u07AA","u07AB","u07AC","u07AD","u07AE","u07AF","u07B0","u07EB","u07EC","u07ED","u07EE","u07EF","u07F0","u07F1","u07F2","u07F3","u0816","u0817","u0818","u0819","u081B","u081C","u081D","u081E","u081F","u0820","u0821","u0822","u0823","u0825","u0826","u0827","u0829","u082A","u082B","u082C","u082D","u0859","u085A","u085B","u08E3","u08E4","u08E5","u08E6","u08E7","u08E8","u08E9","u08EA","u08EB","u08EC","u08ED","u08EE","u08EF","u08F0","u08F1","u08F2","u08F3","u08F4","u08F5","u08F6","u08F7","u08F8","u08F9","u08FA","u08FB","u08FC","u08FD","u08FE","u08FF","u0900","u0901","u0902","u093A","u093C","u0941","u0942","u0943","u0944","u0945","u0946","u0947","u0948","u094D","u0951","u0952","u0953","u0954","u0955","u0956","u0957","u0962","u0963","u0981","u09BC","u09C1","u09C2","u09C3","u09C4","u09CD","u09E2","u09E3","u0A01","u0A02","u0A3C","u0A41","u0A42","u0A47","u0A48","u0A4B","u0A4C","u0A4D","u0A51","u0A70","u0A71","u0A75","u0A81","u0A82","u0ABC","u0AC1","u0AC2","u0AC3","u0AC4","u0AC5","u0AC7","u0AC8","u0ACD","u0AE2","u0AE3","u0B01","u0B3C","u0B3F","u0B41","u0B42","u0B43","u0B44","u0B4D","u0B56","u0B62","u0B63","u0B82","u0BC0","u0BCD","u0C00","u0C3E","u0C3F","u0C40","u0C46","u0C47","u0C48","u0C4A","u0C4B","u0C4C","u0C4D","u0C55","u0C56","u0C62","u0C63","u0C81","u0CBC","u0CBF","u0CC6","u0CCC","u0CCD","u0CE2","u0CE3","u0D01","u0D41","u0D42","u0D43","u0D44","u0D4D","u0D62","u0D63","u0DCA","u0DD2","u0DD3","u0DD4","u0DD6","u0E31","u0E34","u0E35","u0E36","u0E37","u0E38","u0E39","u0E3A","u0E47","u0E48","u0E49","u0E4A","u0E4B","u0E4C","u0E4D","u0E4E","u0EB1","u0EB4","u0EB5","u0EB6","u0EB7","u0EB8","u0EB9","u0EBB","u0EBC","u0EC8","u0EC9","u0ECA","u0ECB","u0ECC","u0ECD","u0F18","u0F19","u0F35","u0F37","u0F39","u0F71","u0F72","u0F73","u0F74","u0F75","u0F76","u0F77","u0F78","u0F79","u0F7A","u0F7B","u0F7C","u0F7D","u0F7E","u0F80","u0F81","u0F82","u0F83","u0F84","u0F86","u0F87","u0F8D","u0F8E","u0F8F","u0F90","u0F91","u0F92","u0F93","u0F94","u0F95","u0F96","u0F97","u0F99","u0F9A","u0F9B","u0F9C","u0F9D","u0F9E","u0F9F","u0FA0","u0FA1","u0FA2","u0FA3","u0FA4","u0FA5","u0FA6","u0FA7","u0FA8","u0FA9","u0FAA","u0FAB","u0FAC","u0FAD","u0FAE","u0FAF","u0FB0","u0FB1","u0FB2","u0FB3","u0FB4","u0FB5","u0FB6","u0FB7","u0FB8","u0FB9","u0FBA","u0FBB","u0FBC","u0FC6","u102D","u102E","u102F","u1030","u1032","u1033","u1034","u1035","u1036","u1037","u1039","u103A","u103D","u103E","u1058","u1059","u105E","u105F","u1060","u1071","u1072","u1073","u1074","u1082","u1085","u1086","u108D","u109D","u135D","u135E","u135F","u1712","u1713","u1714","u1732","u1733","u1734","u1752","u1753","u1772","u1773","u17B4","u17B5","u17B7","u17B8","u17B9","u17BA","u17BB","u17BC","u17BD","u17C6","u17C9","u17CA","u17CB","u17CC","u17CD","u17CE","u17CF","u17D0","u17D1","u17D2","u17D3","u17DD","u180B","u180C","u180D","u18A9","u1920","u1921","u1922","u1927","u1928","u1932","u1939","u193A","u193B","u1A17","u1A18","u1A1B","u1A56","u1A58","u1A59","u1A5A","u1A5B","u1A5C","u1A5D","u1A5E","u1A60","u1A62","u1A65","u1A66","u1A67","u1A68","u1A69","u1A6A","u1A6B","u1A6C","u1A73","u1A74","u1A75","u1A76","u1A77","u1A78","u1A79","u1A7A","u1A7B","u1A7C","u1A7F","u1AB0","u1AB1","u1AB2","u1AB3","u1AB4","u1AB5","u1AB6","u1AB7","u1AB8","u1AB9","u1ABA","u1ABB","u1ABC","u1ABD","u1B00","u1B01","u1B02","u1B03","u1B34","u1B36","u1B37","u1B38","u1B39","u1B3A","u1B3C","u1B42","u1B6B","u1B6C","u1B6D","u1B6E","u1B6F","u1B70","u1B71","u1B72","u1B73","u1B80","u1B81","u1BA2","u1BA3","u1BA4","u1BA5","u1BA8","u1BA9","u1BAB","u1BAC","u1BAD","u1BE6","u1BE8","u1BE9","u1BED","u1BEF","u1BF0","u1BF1","u1C2C","u1C2D","u1C2E","u1C2F","u1C30","u1C31","u1C32","u1C33","u1C36","u1C37","u1CD0","u1CD1","u1CD2","u1CD4","u1CD5","u1CD6","u1CD7","u1CD8","u1CD9","u1CDA","u1CDB","u1CDC","u1CDD","u1CDE","u1CDF","u1CE0","u1CE2","u1CE3","u1CE4","u1CE5","u1CE6","u1CE7","u1CE8","u1CED","u1CF4","u1CF8","u1CF9","u1DC0","u1DC1","u1DC2","u1DC3","u1DC4","u1DC5","u1DC6","u1DC7","u1DC8","u1DC9","u1DCA","u1DCB","u1DCC","u1DCD","u1DCE","u1DCF","u1DD0","u1DD1","u1DD2","u1DD3","u1DD4","u1DD5","u1DD6","u1DD7","u1DD8","u1DD9","u1DDA","u1DDB","u1DDC","u1DDD","u1DDE","u1DDF","u1DE0","u1DE1","u1DE2","u1DE3","u1DE4","u1DE5","u1DE6","u1DE7","u1DE8","u1DE9","u1DEA","u1DEB","u1DEC","u1DED","u1DEE","u1DEF","u1DF0","u1DF1","u1DF2","u1DF3","u1DF4","u1DF5","u1DFC","u1DFD","u1DFE","u1DFF","u20D0","u20D1","u20D2","u20D3","u20D4","u20D5","u20D6","u20D7","u20D8","u20D9","u20DA","u20DB","u20DC","u20E1","u20E5","u20E6","u20E7","u20E8","u20E9","u20EA","u20EB","u20EC","u20ED","u20EE","u20EF","u20F0","u2CEF","u2CF0","u2CF1","u2D7F","u2DE0","u2DE1","u2DE2","u2DE3","u2DE4","u2DE5","u2DE6","u2DE7","u2DE8","u2DE9","u2DEA","u2DEB","u2DEC","u2DED","u2DEE","u2DEF","u2DF0","u2DF1","u2DF2","u2DF3","u2DF4","u2DF5","u2DF6","u2DF7","u2DF8","u2DF9","u2DFA","u2DFB","u2DFC","u2DFD","u2DFE","u2DFF","u302A","u302B","u302C","u302D","u3099","u309A","uA66F","uA674","uA675","uA676","uA677","uA678","uA679","uA67A","uA67B","uA67C","uA67D","uA69E","uA69F","uA6F0","uA6F1","uA802","uA806","uA80B","uA825","uA826","uA8C4","uA8E0","uA8E1","uA8E2","uA8E3","uA8E4","uA8E5","uA8E6","uA8E7","uA8E8","uA8E9","uA8EA","uA8EB","uA8EC","uA8ED","uA8EE","uA8EF","uA8F0","uA8F1","uA926","uA927","uA928","uA929","uA92A","uA92B","uA92C","uA92D","uA947","uA948","uA949","uA94A","uA94B","uA94C","uA94D","uA94E","uA94F","uA950","uA951","uA980","uA981","uA982","uA9B3","uA9B6","uA9B7","uA9B8","uA9B9","uA9BC","uA9E5","uAA29","uAA2A","uAA2B","uAA2C","uAA2D","uAA2E","uAA31","uAA32","uAA35","uAA36","uAA43","uAA4C","uAA7C","uAAB0","uAAB2","uAAB3","uAAB4","uAAB7","uAAB8","uAABE","uAABF","uAAC1","uAAEC","uAAED","uAAF6","uABE5","uABE8","uABED","uFB1E","uFE00","uFE01","uFE02","uFE03","uFE04","uFE05","uFE06","uFE07","uFE08","uFE09","uFE0A","uFE0B","uFE0C","uFE0D","uFE0E","uFE0F","uFE20","uFE21","uFE22","uFE23","uFE24","uFE25","uFE26","uFE27","uFE28","uFE29","uFE2A","uFE2B","uFE2C","uFE2D","uFE2E","uFE2F"];var E=n.concat(D);var F=["-","/",";",":","&","u0E2F","u0EAF","u0EC6","u0ECC","u104A","u104B","u104C","u104D","u104E","u104F","u2013","u2014","u2027","u3000","u3001","u3002","uFF0C","uFF5E"];var p=["'","<","(","{","[","u00AB","u300A","u3008"];var y=["'",">",")","}","]",".","!","?","u00BB","u300B","u3009"].concat(F);var g="က-ဪဿ-၉ၐ-ၕ";var v="぀-ゟ゠-ヿ＀-+--}⦅-゚㐀-䶿";var m="㐀-龿";var x="ກ-ຮະ-ໄ່-໋ໍ-ໝ";var w=g+m+x;var b=new RegExp("(\\"+F.join("|\\")+")*[^\\s|\\"+F.join("|\\")+"]*(\\"+F.join("|\\")+")*","g");var z=new RegExp("["+v+"]");var O=new RegExp("["+w+"]");var j=new RegExp("(\\"+p.join("|\\")+")*["+w+"](\\"+y.join("|\\")+"|\\"+E.join("|\\")+")*|[a-z0-9]+","gi");function S(u){if(!O.test(u)){return _(u).match(b).filter(function(u){return u.length})}return M.merge(_(u).match(b).map(function(u){if(!z.test(u)&&O.test(u)){return u.match(j)}return[u]}))}function N(){var l="sans-serif",c=10,h=400,D=200,E,F=null,p=false,y=S,g=200;function t(u){u=_(u);if(E===void 0){E=Math.ceil(c*1.4)}var t=y(u);var n={"font-family":l,"font-size":c,"font-weight":h,"line-height":E};var e=1,i="",o=false,r=0;var A=[],s=W(t,n),a=W(" ",n);for(var f=0;f<t.length;f++){var C=t[f];var B=s[t.indexOf(C)];C+=u.slice(i.length+C.length).match("^( |\n)*","g")[0];if(i.slice(-1)==="\n"||r+B>g){if(!f&&!p){o=true;break}A[e-1]=d(A[e-1]);e++;if(E*e>D||B>g&&!p||F&&e>F){o=true;break}r=0;A.push(C)}else if(!f){A[0]=C}else{A[e-1]+=C}i+=C;r+=B;r+=C.match(/[\s]*$/g)[0].length*a}return{lines:A,sentence:u,truncated:o,widths:W(A,n),words:t}}t.fontFamily=function(u){return arguments.length?(l=u,t):l};t.fontSize=function(u){return arguments.length?(c=u,t):c};t.fontWeight=function(u){return arguments.length?(h=u,t):h};t.height=function(u){return arguments.length?(D=u,t):D};t.lineHeight=function(u){return arguments.length?(E=u,t):E};t.maxLines=function(u){return arguments.length?(F=u,t):F};t.overflow=function(u){return arguments.length?(p=u,t):p};t.split=function(u){return arguments.length?(y=u,t):y};t.width=function(u){return arguments.length?(g=u,t):g};return t}function T(u,t,n,e){for(var i=u.length;i>0;i--){var o=u.slice(0,i)+t;var r=W(o,e);if(r<n){return o}}return t}var H=function(u){function t(){var n=this;u.call(this);this._delay=0;this._duration=0;this._ellipsis=function(u,t){return t?u.replace(/\.|,$/g,"")+"...":""};this._fontColor=R.constant("black");this._fontFamily=R.constant(["Roboto","Helvetica Neue","HelveticaNeue","Helvetica","Arial","sans-serif"]);this._fontMax=R.constant(50);this._fontMin=R.constant(8);this._fontOpacity=R.constant(1);this._fontResize=R.constant(false);this._fontSize=R.constant(10);this._fontWeight=R.constant(400);this._height=R.accessor("height",200);this._id=function(u,t){return u.id||""+t};this._lineHeight=function(u,t){return n._fontSize(u,t)*1.2};this._maxLines=R.constant(null);this._on={};this._overflow=R.constant(false);this._padding=R.constant(0);this._pointerEvents=R.constant("auto");this._rotate=R.constant(0);this._rotateAnchor=function(u){return[u.w/2,u.h/2]};this._split=S;this._text=R.accessor("text");this._textAnchor=R.constant("start");this._verticalAlign=R.constant("top");this._width=R.accessor("width",200);this._x=R.accessor("x",0);this._y=R.accessor("y",0)}if(u)t.__proto__=u;t.prototype=Object.create(u&&u.prototype);t.prototype.constructor=t;t.prototype.render=function u(t){var S=this;if(this._select===void 0){this.select(f.select("body").append("svg").style("width",window.innerWidth+"px").style("height",window.innerHeight+"px").node())}var H=this;var n=this._select.selectAll(".d3plus-textBox").data(this._data.reduce(function(u,t,n){var e=S._text(t,n);if(e===void 0){return u}var i=S._fontResize(t,n);var o=S._lineHeight(t,n)/S._fontSize(t,n);var r=i?S._fontMax(t,n):S._fontSize(t,n),A=i?r*o:S._lineHeight(t,n),s=1,a=[],f,C;var B={"font-family":L(S._fontFamily(t,n)),"font-size":r,"font-weight":S._fontWeight(t,n),"line-height":A};var l=R.parseSides(S._padding(t,n));var c=S._height(t,n)-(l.top+l.bottom),h=S._width(t,n)-(l.left+l.right);var D=N().fontFamily(B["font-family"]).fontSize(r).fontWeight(B["font-weight"]).lineHeight(A).maxLines(S._maxLines(t,n)).height(c).overflow(S._overflow(t,n)).width(h);var E=S._fontMax(t,n),F=S._fontMin(t,n),p=S._verticalAlign(t,n),y=S._split(e,n);function g(){var u=function(){if(s<1){a=[T(C.words[0],H._ellipsis("",s),h,B)]}else{a[s-1]=H._ellipsis(a[s-1],s)}};r=M.max([r,F]);r=M.min([r,E]);if(i){A=r*o;D.fontSize(r).lineHeight(A);B["font-size"]=r;B["line-height"]=A}C=D(e);a=C.lines.filter(function(u){return u!==""});s=a.length;if(C.truncated){if(i){r--;if(r<F){r=F;u();return}else{g()}}else{u()}}}if(h>F&&(c>A||i&&c>F*o)){if(i){f=W(y,B);var d=1.165+h/c*.1,_=h*c,v=M.max(f),m=M.sum(f,function(u){return u*A})*d;if(v>h||m>_){var x=Math.sqrt(_/m),w=h/v;var b=M.min([x,w]);r=Math.floor(r*b)}var z=Math.floor(c*.8);if(r>z){r=z}}g()}if(a.length){var O=s*A;var j=p==="top"?0:p==="middle"?c/2-O/2:c-O;j-=A*.1;u.push({data:t,i:n,lines:a,fC:S._fontColor(t,n),fF:B["font-family"],fO:S._fontOpacity(t,n),fW:B["font-weight"],id:S._id(t,n),r:S._rotate(t,n),tA:S._textAnchor(t,n),widths:C.widths,fS:r,lH:A,w:h,h:c,x:S._x(t,n)+l.left,y:S._y(t,n)+j+l.top})}return u},[]),function(u){return S._id(u.data,u.i)});var e=C.transition().duration(this._duration);if(this._duration===0){n.exit().remove()}else{n.exit().transition().delay(this._duration).remove();n.exit().selectAll("text").transition(e).attr("opacity",0).style("opacity",0)}function i(u){u.attr("transform",function(u,t){var n=H._rotateAnchor(u,t);return"translate("+u.x+", "+u.y+") rotate("+u.r+", "+n[0]+", "+n[1]+")"})}var o=n.enter().append("g").attr("class","d3plus-textBox").attr("id",function(u){return"d3plus-textBox-"+h(u.id)}).call(i).merge(n);var r=c();o.style("pointer-events",function(u){return S._pointerEvents(u.data,u.i)}).each(function(n){function u(u){u.text(function(u){return d(u)}).attr("dir",r?"rtl":"ltr").attr("fill",n.fC).attr("text-anchor",n.tA).attr("font-family",n.fF).style("font-family",n.fF).attr("font-size",n.fS+"px").style("font-size",n.fS+"px").attr("font-weight",n.fW).style("font-weight",n.fW).attr("x",(n.tA==="middle"?n.w/2:r?n.tA==="start"?n.w:0:n.tA==="end"?n.w:0)+"px").attr("y",function(u,t){return(t+1)*n.lH-(n.lH-n.fS)+"px"})}var t=f.select(this).selectAll("text").data(n.lines);if(H._duration===0){t.call(u);t.exit().remove();t.enter().append("text").attr("dominant-baseline","alphabetic").style("baseline-shift","0%").attr("unicode-bidi","bidi-override").call(u).attr("opacity",n.fO).style("opacity",n.fO)}else{t.transition(e).call(u);t.exit().transition(e).attr("opacity",0).remove();t.enter().append("text").attr("dominant-baseline","alphabetic").style("baseline-shift","0%").attr("opacity",0).style("opacity",0).call(u).merge(t).transition(e).delay(H._delay).call(u).attr("opacity",n.fO).style("opacity",n.fO)}}).transition(e).call(i);var A=Object.keys(this._on),s=A.reduce(function(u,n){u[n]=function(u,t){return S._on[n](u.data,t)};return u},{});for(var a=0;a<A.length;a++){o.on(A[a],s[A[a]])}if(t){setTimeout(t,this._duration+100)}return this};t.prototype.data=function u(t){return arguments.length?(this._data=t,this):this._data};t.prototype.delay=function u(t){return arguments.length?(this._delay=t,this):this._delay};t.prototype.duration=function u(t){return arguments.length?(this._duration=t,this):this._duration};t.prototype.ellipsis=function u(t){return arguments.length?(this._ellipsis=typeof t==="function"?t:R.constant(t),this):this._ellipsis};t.prototype.fontColor=function u(t){return arguments.length?(this._fontColor=typeof t==="function"?t:R.constant(t),this):this._fontColor};t.prototype.fontFamily=function u(t){return arguments.length?(this._fontFamily=typeof t==="function"?t:R.constant(t),this):this._fontFamily};t.prototype.fontMax=function u(t){return arguments.length?(this._fontMax=typeof t==="function"?t:R.constant(t),this):this._fontMax};t.prototype.fontMin=function u(t){return arguments.length?(this._fontMin=typeof t==="function"?t:R.constant(t),this):this._fontMin};t.prototype.fontOpacity=function u(t){return arguments.length?(this._fontOpacity=typeof t==="function"?t:R.constant(t),this):this._fontOpacity};t.prototype.fontResize=function u(t){return arguments.length?(this._fontResize=typeof t==="function"?t:R.constant(t),this):this._fontResize};t.prototype.fontSize=function u(t){return arguments.length?(this._fontSize=typeof t==="function"?t:R.constant(t),this):this._fontSize};t.prototype.fontWeight=function u(t){return arguments.length?(this._fontWeight=typeof t==="function"?t:R.constant(t),this):this._fontWeight};t.prototype.height=function u(t){return arguments.length?(this._height=typeof t==="function"?t:R.constant(t),this):this._height};t.prototype.id=function u(t){return arguments.length?(this._id=typeof t==="function"?t:R.constant(t),this):this._id};t.prototype.lineHeight=function u(t){return arguments.length?(this._lineHeight=typeof t==="function"?t:R.constant(t),this):this._lineHeight};t.prototype.maxLines=function u(t){return arguments.length?(this._maxLines=typeof t==="function"?t:R.constant(t),this):this._maxLines};t.prototype.overflow=function u(t){return arguments.length?(this._overflow=typeof t==="function"?t:R.constant(t),this):this._overflow};t.prototype.padding=function u(t){return arguments.length?(this._padding=typeof t==="function"?t:R.constant(t),this):this._padding};t.prototype.pointerEvents=function u(t){return arguments.length?(this._pointerEvents=typeof t==="function"?t:R.constant(t),this):this._pointerEvents};t.prototype.rotate=function u(t){return arguments.length?(this._rotate=typeof t==="function"?t:R.constant(t),this):this._rotate};t.prototype.rotateAnchor=function u(t){return arguments.length?(this._rotateAnchor=typeof t==="function"?t:R.constant(t),this):this._rotateAnchor};t.prototype.select=function u(t){return arguments.length?(this._select=f.select(t),this):this._select};t.prototype.split=function u(t){return arguments.length?(this._split=t,this):this._split};t.prototype.text=function u(t){return arguments.length?(this._text=typeof t==="function"?t:R.constant(t),this):this._text};t.prototype.textAnchor=function u(t){return arguments.length?(this._textAnchor=typeof t==="function"?t:R.constant(t),this):this._textAnchor};t.prototype.verticalAlign=function u(t){return arguments.length?(this._verticalAlign=typeof t==="function"?t:R.constant(t),this):this._verticalAlign};t.prototype.width=function u(t){return arguments.length?(this._width=typeof t==="function"?t:R.constant(t),this):this._width};t.prototype.x=function u(t){return arguments.length?(this._x=typeof t==="function"?t:R.constant(t),this):this._x};t.prototype.y=function u(t){return arguments.length?(this._y=typeof t==="function"?t:R.constant(t),this):this._y};return t}(R.BaseClass);var P=["a","an","and","as","at","but","by","for","from","if","in","into","near","nor","of","on","onto","or","per","that","the","to","with","via","vs","vs."];var k=["CEO","CFO","CNC","COO","CPU","GDP","HVAC","ID","IT","R&D","TV","UI"];function q(e){if(e===void 0){return""}var o=P.map(function(u){return u.toLowerCase()});var r=k.slice();r=r.concat(r.map(function(u){return u+"s"}));var A=r.map(function(u){return u.toLowerCase()});var s=S(e);return s.map(function(u,t){if(u){var n=u.toLowerCase();var e=y.includes(n.charAt(n.length-1))?n.slice(0,-1):n;var i=A.indexOf(e);if(i>=0){return r[i]}else if(o.includes(e)&&t!==0&&t!==s.length-1){return n}else{return u.charAt(0).toUpperCase()+u.substr(1).toLowerCase()}}else{return""}}).reduce(function(u,t,n){if(n&&e.charAt(u.length)===" "){u+=" "}u+=t;return u},"")}u.fontExists=L;u.rtl=c;u.stringify=_;u.strip=h;u.TextBox=H;u.textSplit=S;u.textWidth=W;u.textWrap=N;u.titleCase=q;u.trim=i;u.trimLeft=t;u.trimRight=d;Object.defineProperty(u,"__esModule",{value:true})});
if(typeof Object.assign!=="function"){Object.defineProperty(Object,"assign",{value:function u(t){"use strict";if(t===null){throw new TypeError("Cannot convert undefined or null to object")}var n=Object(t);for(var e=1;e<arguments.length;e++){var i=arguments[e];if(i!==null){for(var o in i){if(Object.prototype.hasOwnProperty.call(i,o)){n[o]=i[o]}}}}return n},writable:true,configurable:true})}if(!Array.prototype.includes){Object.defineProperty(Array.prototype,"includes",{value:function u(t,n){var e=Object(this);var i=e.length>>>0;if(i===0)return false;var o=n|0;var r=Math.max(o>=0?o:i-Math.abs(o),0);function A(u,t){return u===t||typeof u==="number"&&typeof t==="number"&&isNaN(u)&&isNaN(t)}while(r<i){if(A(e[r],t)){return true}r++}return false}})}(function(u,t){typeof exports==="object"&&typeof module!=="undefined"?t(exports,require("d3-selection"),require("d3-array"),require("d3-transition"),require("d3plus-common")):typeof define==="function"&&define.amd?define("d3plus-text",["exports","d3-selection","d3-array","d3-transition","d3plus-common"],t):t(u.d3plus={},u.d3Selection,u.d3Array,u.d3Transition,u.d3plusCommon)})(this,function(u,f,M,C,R){"use strict";function W(u,t){t=Object.assign({"font-size":10,"font-family":"sans-serif","font-style":"normal","font-weight":400,"font-variant":"normal"},t);var n=document.createElement("canvas").getContext("2d");var e=[];e.push(t["font-style"]);e.push(t["font-variant"]);e.push(t["font-weight"]);e.push(typeof t["font-size"]==="string"?t["font-size"]:t["font-size"]+"px");e.push(t["font-family"]);n.font=e.join(" ");if(u instanceof Array){return u.map(function(u){return n.measureText(u).width})}return n.measureText(u).width}function i(u){return u.replace(/^\s+|\s+$/g,"")}function t(u){return u.replace(/^\s+/,"")}function d(u){return u.replace(/\s+$/,"")}var o="abcdefghiABCDEFGHI_!@#$%^&*()_+1234567890",r={},A=32;var s,a,B,l;var L=function(u){if(!s){s=W(o,{"font-family":"DejaVuSans","font-size":A});a=W(o,{"font-family":"-apple-system","font-size":A});B=W(o,{"font-family":"monospace","font-size":A});l=W(o,{"font-family":"sans-serif","font-size":A})}if(!(u instanceof Array)){u=u.split(",")}u=u.map(function(u){return i(u)});for(var t=0;t<u.length;t++){var n=u[t];if(r[n]||["-apple-system","monospace","sans-serif","DejaVuSans"].includes(n)){return n}else if(r[n]===false){continue}var e=W(o,{"font-family":n,"font-size":A});r[n]=e!==B;if(r[n]){r[n]=e!==l}if(a&&r[n]){r[n]=e!==a}if(s&&r[n]){r[n]=e!==s}if(r[n]){return n}}return false};function c(){return f.select("html").attr("dir")==="rtl"||f.select("body").attr("dir")==="rtl"||f.select("html").style("direction")==="rtl"||f.select("body").style("direction")==="rtl"}function _(u){if(u===void 0){u="undefined"}else if(!(typeof u==="string"||u instanceof String)){u=JSON.stringify(u)}return u}var e=[[/[\300-\305]/g,"A"],[/[\340-\345]/g,"a"],[/[\306]/g,"AE"],[/[\346]/g,"ae"],[/[\337]/g,"B"],[/[\307]/g,"C"],[/[\347]/g,"c"],[/[\320\336\376]/g,"D"],[/[\360]/g,"d"],[/[\310-\313]/g,"E"],[/[\350-\353]/g,"e"],[/[\314-\317]/g,"I"],[/[\354-\357]/g,"i"],[/[\321]/g,"N"],[/[\361]/g,"n"],[/[\322-\326\330]/g,"O"],[/[\362-\366\370]/g,"o"],[/[\331-\334]/g,"U"],[/[\371-\374]/g,"u"],[/[\327]/g,"x"],[/[\335]/g,"Y"],[/[\375\377]/g,"y"]];function h(u){return(""+u).replace(/[^A-Za-z0-9\-_]/g,function(u){if(u===" "){return"-"}var t=false;for(var n=0;n<e.length;n++){if(new RegExp(e[n][0]).test(u)){t=e[n][1];break}}return t||""})}var n=["u0903","u093B","u093E","u093F","u0940","u0949","u094A","u094B","u094C","u094E","u094F","u0982","u0983","u09BE","u09BF","u09C0","u09C7","u09C8","u09CB","u09CC","u09D7","u0A03","u0A3E","u0A3F","u0A40","u0A83","u0ABE","u0ABF","u0AC0","u0AC9","u0ACB","u0ACC","u0B02","u0B03","u0B3E","u0B40","u0B47","u0B48","u0B4B","u0B4C","u0B57","u0BBE","u0BBF","u0BC1","u0BC2","u0BC6","u0BC7","u0BC8","u0BCA","u0BCB","u0BCC","u0BD7","u0C01","u0C02","u0C03","u0C41","u0C42","u0C43","u0C44","u0C82","u0C83","u0CBE","u0CC0","u0CC1","u0CC2","u0CC3","u0CC4","u0CC7","u0CC8","u0CCA","u0CCB","u0CD5","u0CD6","u0D02","u0D03","u0D3E","u0D3F","u0D40","u0D46","u0D47","u0D48","u0D4A","u0D4B","u0D4C","u0D57","u0D82","u0D83","u0DCF","u0DD0","u0DD1","u0DD8","u0DD9","u0DDA","u0DDB","u0DDC","u0DDD","u0DDE","u0DDF","u0DF2","u0DF3","u0F3E","u0F3F","u0F7F","u102B","u102C","u1031","u1038","u103B","u103C","u1056","u1057","u1062","u1063","u1064","u1067","u1068","u1069","u106A","u106B","u106C","u106D","u1083","u1084","u1087","u1088","u1089","u108A","u108B","u108C","u108F","u109A","u109B","u109C","u17B6","u17BE","u17BF","u17C0","u17C1","u17C2","u17C3","u17C4","u17C5","u17C7","u17C8","u1923","u1924","u1925","u1926","u1929","u192A","u192B","u1930","u1931","u1933","u1934","u1935","u1936","u1937","u1938","u1A19","u1A1A","u1A55","u1A57","u1A61","u1A63","u1A64","u1A6D","u1A6E","u1A6F","u1A70","u1A71","u1A72","u1B04","u1B35","u1B3B","u1B3D","u1B3E","u1B3F","u1B40","u1B41","u1B43","u1B44","u1B82","u1BA1","u1BA6","u1BA7","u1BAA","u1BE7","u1BEA","u1BEB","u1BEC","u1BEE","u1BF2","u1BF3","u1C24","u1C25","u1C26","u1C27","u1C28","u1C29","u1C2A","u1C2B","u1C34","u1C35","u1CE1","u1CF2","u1CF3","u302E","u302F","uA823","uA824","uA827","uA880","uA881","uA8B4","uA8B5","uA8B6","uA8B7","uA8B8","uA8B9","uA8BA","uA8BB","uA8BC","uA8BD","uA8BE","uA8BF","uA8C0","uA8C1","uA8C2","uA8C3","uA952","uA953","uA983","uA9B4","uA9B5","uA9BA","uA9BB","uA9BD","uA9BE","uA9BF","uA9C0","uAA2F","uAA30","uAA33","uAA34","uAA4D","uAA7B","uAA7D","uAAEB","uAAEE","uAAEF","uAAF5","uABE3","uABE4","uABE6","uABE7","uABE9","uABEA","uABEC"];var D=["u0300","u0301","u0302","u0303","u0304","u0305","u0306","u0307","u0308","u0309","u030A","u030B","u030C","u030D","u030E","u030F","u0310","u0311","u0312","u0313","u0314","u0315","u0316","u0317","u0318","u0319","u031A","u031B","u031C","u031D","u031E","u031F","u0320","u0321","u0322","u0323","u0324","u0325","u0326","u0327","u0328","u0329","u032A","u032B","u032C","u032D","u032E","u032F","u0330","u0331","u0332","u0333","u0334","u0335","u0336","u0337","u0338","u0339","u033A","u033B","u033C","u033D","u033E","u033F","u0340","u0341","u0342","u0343","u0344","u0345","u0346","u0347","u0348","u0349","u034A","u034B","u034C","u034D","u034E","u034F","u0350","u0351","u0352","u0353","u0354","u0355","u0356","u0357","u0358","u0359","u035A","u035B","u035C","u035D","u035E","u035F","u0360","u0361","u0362","u0363","u0364","u0365","u0366","u0367","u0368","u0369","u036A","u036B","u036C","u036D","u036E","u036F","u0483","u0484","u0485","u0486","u0487","u0591","u0592","u0593","u0594","u0595","u0596","u0597","u0598","u0599","u059A","u059B","u059C","u059D","u059E","u059F","u05A0","u05A1","u05A2","u05A3","u05A4","u05A5","u05A6","u05A7","u05A8","u05A9","u05AA","u05AB","u05AC","u05AD","u05AE","u05AF","u05B0","u05B1","u05B2","u05B3","u05B4","u05B5","u05B6","u05B7","u05B8","u05B9","u05BA","u05BB","u05BC","u05BD","u05BF","u05C1","u05C2","u05C4","u05C5","u05C7","u0610","u0611","u0612","u0613","u0614","u0615","u0616","u0617","u0618","u0619","u061A","u064B","u064C","u064D","u064E","u064F","u0650","u0651","u0652","u0653","u0654","u0655","u0656","u0657","u0658","u0659","u065A","u065B","u065C","u065D","u065E","u065F","u0670","u06D6","u06D7","u06D8","u06D9","u06DA","u06DB","u06DC","u06DF","u06E0","u06E1","u06E2","u06E3","u06E4","u06E7","u06E8","u06EA","u06EB","u06EC","u06ED","u0711","u0730","u0731","u0732","u0733","u0734","u0735","u0736","u0737","u0738","u0739","u073A","u073B","u073C","u073D","u073E","u073F","u0740","u0741","u0742","u0743","u0744","u0745","u0746","u0747","u0748","u0749","u074A","u07A6","u07A7","u07A8","u07A9","u07AA","u07AB","u07AC","u07AD","u07AE","u07AF","u07B0","u07EB","u07EC","u07ED","u07EE","u07EF","u07F0","u07F1","u07F2","u07F3","u0816","u0817","u0818","u0819","u081B","u081C","u081D","u081E","u081F","u0820","u0821","u0822","u0823","u0825","u0826","u0827","u0829","u082A","u082B","u082C","u082D","u0859","u085A","u085B","u08E3","u08E4","u08E5","u08E6","u08E7","u08E8","u08E9","u08EA","u08EB","u08EC","u08ED","u08EE","u08EF","u08F0","u08F1","u08F2","u08F3","u08F4","u08F5","u08F6","u08F7","u08F8","u08F9","u08FA","u08FB","u08FC","u08FD","u08FE","u08FF","u0900","u0901","u0902","u093A","u093C","u0941","u0942","u0943","u0944","u0945","u0946","u0947","u0948","u094D","u0951","u0952","u0953","u0954","u0955","u0956","u0957","u0962","u0963","u0981","u09BC","u09C1","u09C2","u09C3","u09C4","u09CD","u09E2","u09E3","u0A01","u0A02","u0A3C","u0A41","u0A42","u0A47","u0A48","u0A4B","u0A4C","u0A4D","u0A51","u0A70","u0A71","u0A75","u0A81","u0A82","u0ABC","u0AC1","u0AC2","u0AC3","u0AC4","u0AC5","u0AC7","u0AC8","u0ACD","u0AE2","u0AE3","u0B01","u0B3C","u0B3F","u0B41","u0B42","u0B43","u0B44","u0B4D","u0B56","u0B62","u0B63","u0B82","u0BC0","u0BCD","u0C00","u0C3E","u0C3F","u0C40","u0C46","u0C47","u0C48","u0C4A","u0C4B","u0C4C","u0C4D","u0C55","u0C56","u0C62","u0C63","u0C81","u0CBC","u0CBF","u0CC6","u0CCC","u0CCD","u0CE2","u0CE3","u0D01","u0D41","u0D42","u0D43","u0D44","u0D4D","u0D62","u0D63","u0DCA","u0DD2","u0DD3","u0DD4","u0DD6","u0E31","u0E34","u0E35","u0E36","u0E37","u0E38","u0E39","u0E3A","u0E47","u0E48","u0E49","u0E4A","u0E4B","u0E4C","u0E4D","u0E4E","u0EB1","u0EB4","u0EB5","u0EB6","u0EB7","u0EB8","u0EB9","u0EBB","u0EBC","u0EC8","u0EC9","u0ECA","u0ECB","u0ECC","u0ECD","u0F18","u0F19","u0F35","u0F37","u0F39","u0F71","u0F72","u0F73","u0F74","u0F75","u0F76","u0F77","u0F78","u0F79","u0F7A","u0F7B","u0F7C","u0F7D","u0F7E","u0F80","u0F81","u0F82","u0F83","u0F84","u0F86","u0F87","u0F8D","u0F8E","u0F8F","u0F90","u0F91","u0F92","u0F93","u0F94","u0F95","u0F96","u0F97","u0F99","u0F9A","u0F9B","u0F9C","u0F9D","u0F9E","u0F9F","u0FA0","u0FA1","u0FA2","u0FA3","u0FA4","u0FA5","u0FA6","u0FA7","u0FA8","u0FA9","u0FAA","u0FAB","u0FAC","u0FAD","u0FAE","u0FAF","u0FB0","u0FB1","u0FB2","u0FB3","u0FB4","u0FB5","u0FB6","u0FB7","u0FB8","u0FB9","u0FBA","u0FBB","u0FBC","u0FC6","u102D","u102E","u102F","u1030","u1032","u1033","u1034","u1035","u1036","u1037","u1039","u103A","u103D","u103E","u1058","u1059","u105E","u105F","u1060","u1071","u1072","u1073","u1074","u1082","u1085","u1086","u108D","u109D","u135D","u135E","u135F","u1712","u1713","u1714","u1732","u1733","u1734","u1752","u1753","u1772","u1773","u17B4","u17B5","u17B7","u17B8","u17B9","u17BA","u17BB","u17BC","u17BD","u17C6","u17C9","u17CA","u17CB","u17CC","u17CD","u17CE","u17CF","u17D0","u17D1","u17D2","u17D3","u17DD","u180B","u180C","u180D","u18A9","u1920","u1921","u1922","u1927","u1928","u1932","u1939","u193A","u193B","u1A17","u1A18","u1A1B","u1A56","u1A58","u1A59","u1A5A","u1A5B","u1A5C","u1A5D","u1A5E","u1A60","u1A62","u1A65","u1A66","u1A67","u1A68","u1A69","u1A6A","u1A6B","u1A6C","u1A73","u1A74","u1A75","u1A76","u1A77","u1A78","u1A79","u1A7A","u1A7B","u1A7C","u1A7F","u1AB0","u1AB1","u1AB2","u1AB3","u1AB4","u1AB5","u1AB6","u1AB7","u1AB8","u1AB9","u1ABA","u1ABB","u1ABC","u1ABD","u1B00","u1B01","u1B02","u1B03","u1B34","u1B36","u1B37","u1B38","u1B39","u1B3A","u1B3C","u1B42","u1B6B","u1B6C","u1B6D","u1B6E","u1B6F","u1B70","u1B71","u1B72","u1B73","u1B80","u1B81","u1BA2","u1BA3","u1BA4","u1BA5","u1BA8","u1BA9","u1BAB","u1BAC","u1BAD","u1BE6","u1BE8","u1BE9","u1BED","u1BEF","u1BF0","u1BF1","u1C2C","u1C2D","u1C2E","u1C2F","u1C30","u1C31","u1C32","u1C33","u1C36","u1C37","u1CD0","u1CD1","u1CD2","u1CD4","u1CD5","u1CD6","u1CD7","u1CD8","u1CD9","u1CDA","u1CDB","u1CDC","u1CDD","u1CDE","u1CDF","u1CE0","u1CE2","u1CE3","u1CE4","u1CE5","u1CE6","u1CE7","u1CE8","u1CED","u1CF4","u1CF8","u1CF9","u1DC0","u1DC1","u1DC2","u1DC3","u1DC4","u1DC5","u1DC6","u1DC7","u1DC8","u1DC9","u1DCA","u1DCB","u1DCC","u1DCD","u1DCE","u1DCF","u1DD0","u1DD1","u1DD2","u1DD3","u1DD4","u1DD5","u1DD6","u1DD7","u1DD8","u1DD9","u1DDA","u1DDB","u1DDC","u1DDD","u1DDE","u1DDF","u1DE0","u1DE1","u1DE2","u1DE3","u1DE4","u1DE5","u1DE6","u1DE7","u1DE8","u1DE9","u1DEA","u1DEB","u1DEC","u1DED","u1DEE","u1DEF","u1DF0","u1DF1","u1DF2","u1DF3","u1DF4","u1DF5","u1DFC","u1DFD","u1DFE","u1DFF","u20D0","u20D1","u20D2","u20D3","u20D4","u20D5","u20D6","u20D7","u20D8","u20D9","u20DA","u20DB","u20DC","u20E1","u20E5","u20E6","u20E7","u20E8","u20E9","u20EA","u20EB","u20EC","u20ED","u20EE","u20EF","u20F0","u2CEF","u2CF0","u2CF1","u2D7F","u2DE0","u2DE1","u2DE2","u2DE3","u2DE4","u2DE5","u2DE6","u2DE7","u2DE8","u2DE9","u2DEA","u2DEB","u2DEC","u2DED","u2DEE","u2DEF","u2DF0","u2DF1","u2DF2","u2DF3","u2DF4","u2DF5","u2DF6","u2DF7","u2DF8","u2DF9","u2DFA","u2DFB","u2DFC","u2DFD","u2DFE","u2DFF","u302A","u302B","u302C","u302D","u3099","u309A","uA66F","uA674","uA675","uA676","uA677","uA678","uA679","uA67A","uA67B","uA67C","uA67D","uA69E","uA69F","uA6F0","uA6F1","uA802","uA806","uA80B","uA825","uA826","uA8C4","uA8E0","uA8E1","uA8E2","uA8E3","uA8E4","uA8E5","uA8E6","uA8E7","uA8E8","uA8E9","uA8EA","uA8EB","uA8EC","uA8ED","uA8EE","uA8EF","uA8F0","uA8F1","uA926","uA927","uA928","uA929","uA92A","uA92B","uA92C","uA92D","uA947","uA948","uA949","uA94A","uA94B","uA94C","uA94D","uA94E","uA94F","uA950","uA951","uA980","uA981","uA982","uA9B3","uA9B6","uA9B7","uA9B8","uA9B9","uA9BC","uA9E5","uAA29","uAA2A","uAA2B","uAA2C","uAA2D","uAA2E","uAA31","uAA32","uAA35","uAA36","uAA43","uAA4C","uAA7C","uAAB0","uAAB2","uAAB3","uAAB4","uAAB7","uAAB8","uAABE","uAABF","uAAC1","uAAEC","uAAED","uAAF6","uABE5","uABE8","uABED","uFB1E","uFE00","uFE01","uFE02","uFE03","uFE04","uFE05","uFE06","uFE07","uFE08","uFE09","uFE0A","uFE0B","uFE0C","uFE0D","uFE0E","uFE0F","uFE20","uFE21","uFE22","uFE23","uFE24","uFE25","uFE26","uFE27","uFE28","uFE29","uFE2A","uFE2B","uFE2C","uFE2D","uFE2E","uFE2F"];var E=n.concat(D);var F=["-","/",";",":","&","u0E2F","u0EAF","u0EC6","u0ECC","u104A","u104B","u104C","u104D","u104E","u104F","u2013","u2014","u2027","u3000","u3001","u3002","uFF0C","uFF5E"];var p=["'","<","(","{","[","u00AB","u300A","u3008"];var y=["'",">",")","}","]",".","!","?","u00BB","u300B","u3009"].concat(F);var g="က-ဪဿ-၉ၐ-ၕ";var v="぀-ゟ゠-ヿ＀-+--}⦅-゚㐀-䶿";var m="㐀-龿";var x="ກ-ຮະ-ໄ່-໋ໍ-ໝ";var w=g+m+x;var b=new RegExp("(\\"+F.join("|\\")+")*[^\\s|\\"+F.join("|\\")+"]*(\\"+F.join("|\\")+")*","g");var z=new RegExp("["+v+"]");var O=new RegExp("["+w+"]");var j=new RegExp("(\\"+p.join("|\\")+")*["+w+"](\\"+y.join("|\\")+"|\\"+E.join("|\\")+")*|[a-z0-9]+","gi");function S(u){if(!O.test(u)){return _(u).match(b).filter(function(u){return u.length})}return M.merge(_(u).match(b).map(function(u){if(!z.test(u)&&O.test(u)){return u.match(j)}return[u]}))}function N(){var l="sans-serif",c=10,h=400,D=200,E,F=null,p=false,y=S,g=200;function t(u){u=_(u);if(E===void 0){E=Math.ceil(c*1.4)}var t=y(u);var n={"font-family":l,"font-size":c,"font-weight":h,"line-height":E};var e=1,i="",o=false,r=0;var A=[],s=W(t,n),a=W(" ",n);for(var f=0;f<t.length;f++){var C=t[f];var B=s[t.indexOf(C)];C+=u.slice(i.length+C.length).match("^( |\n)*","g")[0];if(i.slice(-1)==="\n"||r+B>g){if(!f&&!p){o=true;break}A[e-1]=d(A[e-1]);e++;if(E*e>D||B>g&&!p||F&&e>F){o=true;break}r=0;A.push(C)}else if(!f){A[0]=C}else{A[e-1]+=C}i+=C;r+=B;r+=C.match(/[\s]*$/g)[0].length*a}return{lines:A,sentence:u,truncated:o,widths:W(A,n),words:t}}t.fontFamily=function(u){return arguments.length?(l=u,t):l};t.fontSize=function(u){return arguments.length?(c=u,t):c};t.fontWeight=function(u){return arguments.length?(h=u,t):h};t.height=function(u){return arguments.length?(D=u,t):D};t.lineHeight=function(u){return arguments.length?(E=u,t):E};t.maxLines=function(u){return arguments.length?(F=u,t):F};t.overflow=function(u){return arguments.length?(p=u,t):p};t.split=function(u){return arguments.length?(y=u,t):y};t.width=function(u){return arguments.length?(g=u,t):g};return t}var H=function(u){function t(){var n=this;u.call(this);this._delay=0;this._duration=0;this._ellipsis=function(u,t){return t?u.replace(/\.|,$/g,"")+"...":""};this._fontColor=R.constant("black");this._fontFamily=R.constant(["Roboto","Helvetica Neue","HelveticaNeue","Helvetica","Arial","sans-serif"]);this._fontMax=R.constant(50);this._fontMin=R.constant(8);this._fontOpacity=R.constant(1);this._fontResize=R.constant(false);this._fontSize=R.constant(10);this._fontWeight=R.constant(400);this._height=R.accessor("height",200);this._id=function(u,t){return u.id||""+t};this._lineHeight=function(u,t){return n._fontSize(u,t)*1.2};this._maxLines=R.constant(null);this._on={};this._overflow=R.constant(false);this._padding=R.constant(0);this._pointerEvents=R.constant("auto");this._rotate=R.constant(0);this._rotateAnchor=function(u){return[u.w/2,u.h/2]};this._split=S;this._text=R.accessor("text");this._textAnchor=R.constant("start");this._verticalAlign=R.constant("top");this._width=R.accessor("width",200);this._x=R.accessor("x",0);this._y=R.accessor("y",0)}if(u)t.__proto__=u;t.prototype=Object.create(u&&u.prototype);t.prototype.constructor=t;t.prototype.render=function u(t){var S=this;if(this._select===void 0){this.select(f.select("body").append("svg").style("width",window.innerWidth+"px").style("height",window.innerHeight+"px").node())}var H=this;var n=this._select.selectAll(".d3plus-textBox").data(this._data.reduce(function(u,t,n){var e=S._text(t,n);if(e===void 0){return u}var i=S._fontResize(t,n);var o=S._lineHeight(t,n)/S._fontSize(t,n);var r=i?S._fontMax(t,n):S._fontSize(t,n),A=i?r*o:S._lineHeight(t,n),s=1,a=[],f,C;var B={"font-family":L(S._fontFamily(t,n)),"font-size":r,"font-weight":S._fontWeight(t,n),"line-height":A};var l=R.parseSides(S._padding(t,n));var c=S._height(t,n)-(l.top+l.bottom),h=S._width(t,n)-(l.left+l.right);var D=N().fontFamily(B["font-family"]).fontSize(r).fontWeight(B["font-weight"]).lineHeight(A).maxLines(S._maxLines(t,n)).height(c).overflow(S._overflow(t,n)).width(h);var E=S._fontMax(t,n),F=S._fontMin(t,n),p=S._verticalAlign(t,n),y=S._split(e,n);function g(){var u=function(){if(s<1){a=[H._ellipsis("",s)]}else{a[s-1]=H._ellipsis(a[s-1],s)}};r=M.max([r,F]);r=M.min([r,E]);if(i){A=r*o;D.fontSize(r).lineHeight(A);B["font-size"]=r;B["line-height"]=A}C=D(e);a=C.lines.filter(function(u){return u!==""});s=a.length;if(C.truncated){if(i){r--;if(r<F){r=F;u();return}else{g()}}else{u()}}}if(h>F&&(c>A||i&&c>F*o)){if(i){f=W(y,B);var d=1.165+h/c*.1,_=h*c,v=M.max(f),m=M.sum(f,function(u){return u*A})*d;if(v>h||m>_){var x=Math.sqrt(_/m),w=h/v;var b=M.min([x,w]);r=Math.floor(r*b)}var z=Math.floor(c*.8);if(r>z){r=z}}g()}if(a.length){var O=s*A;var j=p==="top"?0:p==="middle"?c/2-O/2:c-O;j-=A*.1;u.push({data:t,i:n,lines:a,fC:S._fontColor(t,n),fF:B["font-family"],fO:S._fontOpacity(t,n),fW:B["font-weight"],id:S._id(t,n),r:S._rotate(t,n),tA:S._textAnchor(t,n),widths:C.widths,fS:r,lH:A,w:h,h:c,x:S._x(t,n)+l.left,y:S._y(t,n)+j+l.top})}return u},[]),function(u){return S._id(u.data,u.i)});var e=C.transition().duration(this._duration);if(this._duration===0){n.exit().remove()}else{n.exit().transition().delay(this._duration).remove();n.exit().selectAll("text").transition(e).attr("opacity",0).style("opacity",0)}function i(u){u.attr("transform",function(u,t){var n=H._rotateAnchor(u,t);return"translate("+u.x+", "+u.y+") rotate("+u.r+", "+n[0]+", "+n[1]+")"})}var o=n.enter().append("g").attr("class","d3plus-textBox").attr("id",function(u){return"d3plus-textBox-"+h(u.id)}).call(i).merge(n);var r=c();o.style("pointer-events",function(u){return S._pointerEvents(u.data,u.i)}).each(function(n){function u(u){u.text(function(u){return d(u)}).attr("dir",r?"rtl":"ltr").attr("fill",n.fC).attr("text-anchor",n.tA).attr("font-family",n.fF).style("font-family",n.fF).attr("font-size",n.fS+"px").style("font-size",n.fS+"px").attr("font-weight",n.fW).style("font-weight",n.fW).attr("x",(n.tA==="middle"?n.w/2:r?n.tA==="start"?n.w:0:n.tA==="end"?n.w:0)+"px").attr("y",function(u,t){return(t+1)*n.lH-(n.lH-n.fS)+"px"})}var t=f.select(this).selectAll("text").data(n.lines);if(H._duration===0){t.call(u);t.exit().remove();t.enter().append("text").attr("dominant-baseline","alphabetic").style("baseline-shift","0%").attr("unicode-bidi","bidi-override").call(u).attr("opacity",n.fO).style("opacity",n.fO)}else{t.transition(e).call(u);t.exit().transition(e).attr("opacity",0).remove();t.enter().append("text").attr("dominant-baseline","alphabetic").style("baseline-shift","0%").attr("opacity",0).style("opacity",0).call(u).merge(t).transition(e).delay(H._delay).call(u).attr("opacity",n.fO).style("opacity",n.fO)}}).transition(e).call(i);var A=Object.keys(this._on),s=A.reduce(function(u,n){u[n]=function(u,t){return S._on[n](u.data,t)};return u},{});for(var a=0;a<A.length;a++){o.on(A[a],s[A[a]])}if(t){setTimeout(t,this._duration+100)}return this};t.prototype.data=function u(t){return arguments.length?(this._data=t,this):this._data};t.prototype.delay=function u(t){return arguments.length?(this._delay=t,this):this._delay};t.prototype.duration=function u(t){return arguments.length?(this._duration=t,this):this._duration};t.prototype.ellipsis=function u(t){return arguments.length?(this._ellipsis=typeof t==="function"?t:R.constant(t),this):this._ellipsis};t.prototype.fontColor=function u(t){return arguments.length?(this._fontColor=typeof t==="function"?t:R.constant(t),this):this._fontColor};t.prototype.fontFamily=function u(t){return arguments.length?(this._fontFamily=typeof t==="function"?t:R.constant(t),this):this._fontFamily};t.prototype.fontMax=function u(t){return arguments.length?(this._fontMax=typeof t==="function"?t:R.constant(t),this):this._fontMax};t.prototype.fontMin=function u(t){return arguments.length?(this._fontMin=typeof t==="function"?t:R.constant(t),this):this._fontMin};t.prototype.fontOpacity=function u(t){return arguments.length?(this._fontOpacity=typeof t==="function"?t:R.constant(t),this):this._fontOpacity};t.prototype.fontResize=function u(t){return arguments.length?(this._fontResize=typeof t==="function"?t:R.constant(t),this):this._fontResize};t.prototype.fontSize=function u(t){return arguments.length?(this._fontSize=typeof t==="function"?t:R.constant(t),this):this._fontSize};t.prototype.fontWeight=function u(t){return arguments.length?(this._fontWeight=typeof t==="function"?t:R.constant(t),this):this._fontWeight};t.prototype.height=function u(t){return arguments.length?(this._height=typeof t==="function"?t:R.constant(t),this):this._height};t.prototype.id=function u(t){return arguments.length?(this._id=typeof t==="function"?t:R.constant(t),this):this._id};t.prototype.lineHeight=function u(t){return arguments.length?(this._lineHeight=typeof t==="function"?t:R.constant(t),this):this._lineHeight};t.prototype.maxLines=function u(t){return arguments.length?(this._maxLines=typeof t==="function"?t:R.constant(t),this):this._maxLines};t.prototype.overflow=function u(t){return arguments.length?(this._overflow=typeof t==="function"?t:R.constant(t),this):this._overflow};t.prototype.padding=function u(t){return arguments.length?(this._padding=typeof t==="function"?t:R.constant(t),this):this._padding};t.prototype.pointerEvents=function u(t){return arguments.length?(this._pointerEvents=typeof t==="function"?t:R.constant(t),this):this._pointerEvents};t.prototype.rotate=function u(t){return arguments.length?(this._rotate=typeof t==="function"?t:R.constant(t),this):this._rotate};t.prototype.rotateAnchor=function u(t){return arguments.length?(this._rotateAnchor=typeof t==="function"?t:R.constant(t),this):this._rotateAnchor};t.prototype.select=function u(t){return arguments.length?(this._select=f.select(t),this):this._select};t.prototype.split=function u(t){return arguments.length?(this._split=t,this):this._split};t.prototype.text=function u(t){return arguments.length?(this._text=typeof t==="function"?t:R.constant(t),this):this._text};t.prototype.textAnchor=function u(t){return arguments.length?(this._textAnchor=typeof t==="function"?t:R.constant(t),this):this._textAnchor};t.prototype.verticalAlign=function u(t){return arguments.length?(this._verticalAlign=typeof t==="function"?t:R.constant(t),this):this._verticalAlign};t.prototype.width=function u(t){return arguments.length?(this._width=typeof t==="function"?t:R.constant(t),this):this._width};t.prototype.x=function u(t){return arguments.length?(this._x=typeof t==="function"?t:R.constant(t),this):this._x};t.prototype.y=function u(t){return arguments.length?(this._y=typeof t==="function"?t:R.constant(t),this):this._y};return t}(R.BaseClass);var T=["a","an","and","as","at","but","by","for","from","if","in","into","near","nor","of","on","onto","or","per","that","the","to","with","via","vs","vs."];var P=["CEO","CFO","CNC","COO","CPU","GDP","HVAC","ID","IT","R&D","TV","UI"];function k(e){if(e===void 0){return""}var o=T.map(function(u){return u.toLowerCase()});var r=P.slice();r=r.concat(r.map(function(u){return u+"s"}));var A=r.map(function(u){return u.toLowerCase()});var s=S(e);return s.map(function(u,t){if(u){var n=u.toLowerCase();var e=y.includes(n.charAt(n.length-1))?n.slice(0,-1):n;var i=A.indexOf(e);if(i>=0){return r[i]}else if(o.includes(e)&&t!==0&&t!==s.length-1){return n}else{return u.charAt(0).toUpperCase()+u.substr(1).toLowerCase()}}else{return""}}).reduce(function(u,t,n){if(n&&e.charAt(u.length)===" "){u+=" "}u+=t;return u},"")}u.fontExists=L;u.rtl=c;u.stringify=_;u.strip=h;u.TextBox=H;u.textSplit=S;u.textWidth=W;u.textWrap=N;u.titleCase=k;u.trim=i;u.trimLeft=t;u.trimRight=d;Object.defineProperty(u,"__esModule",{value:true})});

@@ -18,3 +18,2 @@ /**

import wrap from "./textWrap";
import truncateWord from "./textTruncate";
import {trimRight} from "./trim";

@@ -130,3 +129,3 @@

var truncate = function () {
if (line < 1) { lineData = [truncateWord(wrapResults.words[0], that._ellipsis("", line), w, style)]; }
if (line < 1) { lineData = [that._ellipsis("", line)]; }
else { lineData[line - 1] = that._ellipsis(lineData[line - 1], line); }

@@ -133,0 +132,0 @@ };

{
"name": "d3plus-text",
"version": "0.9.30",
"version": "0.9.31",
"description": "A smart SVG text box with line wrapping and automatic font size scaling.",

@@ -5,0 +5,0 @@ "main": "build/d3plus-text.js",

@@ -64,3 +64,2 @@ # d3plus-text

* [textSplit](#textSplit) - Splits a given sentence into an array of words.
* [textTruncate](#textTruncate) - Truncate a single word with ellipsis until if fits within the given width
* [textWidth](#textWidth) - Given a text string, returns the predicted pixel width of the string when placed into DOM.

@@ -76,3 +75,3 @@ * [textWrap](#textWrap) - Based on the defined styles and dimensions, breaks a string into an array of strings for each line of text.

<a name="TextBox"></a>
#### **TextBox** [<>](https://github.com/d3plus/d3plus-text/blob/master/src/TextBox.js#L21)
#### **TextBox** [<>](https://github.com/d3plus/d3plus-text/blob/master/src/TextBox.js#L20)

@@ -125,3 +124,3 @@

<a name="TextBox.render" href="#TextBox.render">#</a> TextBox.**render**([*callback*]) [<>](https://github.com/d3plus/d3plus-text/blob/master/src/TextBox.js#L73)
<a name="TextBox.render" href="#TextBox.render">#</a> TextBox.**render**([*callback*]) [<>](https://github.com/d3plus/d3plus-text/blob/master/src/TextBox.js#L72)

@@ -134,3 +133,3 @@ Renders the text boxes. If a *callback* is specified, it will be called once the shapes are done drawing.

<a name="TextBox.data" href="#TextBox.data">#</a> TextBox.**data**([*data*]) [<>](https://github.com/d3plus/d3plus-text/blob/master/src/TextBox.js#L332)
<a name="TextBox.data" href="#TextBox.data">#</a> TextBox.**data**([*data*]) [<>](https://github.com/d3plus/d3plus-text/blob/master/src/TextBox.js#L331)

@@ -143,3 +142,3 @@ Sets the data array to the specified array. A text box will be drawn for each object in the array.

<a name="TextBox.delay" href="#TextBox.delay">#</a> TextBox.**delay**([*value*]) [<>](https://github.com/d3plus/d3plus-text/blob/master/src/TextBox.js#L341)
<a name="TextBox.delay" href="#TextBox.delay">#</a> TextBox.**delay**([*value*]) [<>](https://github.com/d3plus/d3plus-text/blob/master/src/TextBox.js#L340)

@@ -152,3 +151,3 @@ Sets the animation delay to the specified number in milliseconds.

<a name="TextBox.duration" href="#TextBox.duration">#</a> TextBox.**duration**([*value*]) [<>](https://github.com/d3plus/d3plus-text/blob/master/src/TextBox.js#L350)
<a name="TextBox.duration" href="#TextBox.duration">#</a> TextBox.**duration**([*value*]) [<>](https://github.com/d3plus/d3plus-text/blob/master/src/TextBox.js#L349)

@@ -161,3 +160,3 @@ Sets the animation duration to the specified number in milliseconds.

<a name="TextBox.ellipsis" href="#TextBox.ellipsis">#</a> TextBox.**ellipsis**([*value*]) [<>](https://github.com/d3plus/d3plus-text/blob/master/src/TextBox.js#L363)
<a name="TextBox.ellipsis" href="#TextBox.ellipsis">#</a> TextBox.**ellipsis**([*value*]) [<>](https://github.com/d3plus/d3plus-text/blob/master/src/TextBox.js#L362)

@@ -177,3 +176,3 @@ Sets the function that handles what to do when a line is truncated. It should return the new value for the line, and is passed 2 arguments: the String of text for the line in question, and the number of the line. By default, an ellipsis is added to the end of any line except if it is the first word that cannot fit (in that case, an empty string is returned).

<a name="TextBox.fontColor" href="#TextBox.fontColor">#</a> TextBox.**fontColor**([*value*]) [<>](https://github.com/d3plus/d3plus-text/blob/master/src/TextBox.js#L372)
<a name="TextBox.fontColor" href="#TextBox.fontColor">#</a> TextBox.**fontColor**([*value*]) [<>](https://github.com/d3plus/d3plus-text/blob/master/src/TextBox.js#L371)

@@ -186,3 +185,3 @@ Sets the font color to the specified accessor function or static string, which is inferred from the [DOM selection](#textBox.select) by default.

<a name="TextBox.fontFamily" href="#TextBox.fontFamily">#</a> TextBox.**fontFamily**([*value*]) [<>](https://github.com/d3plus/d3plus-text/blob/master/src/TextBox.js#L381)
<a name="TextBox.fontFamily" href="#TextBox.fontFamily">#</a> TextBox.**fontFamily**([*value*]) [<>](https://github.com/d3plus/d3plus-text/blob/master/src/TextBox.js#L380)

@@ -195,3 +194,3 @@ Defines the font-family to be used. The value passed can be either a *String* name of a font, a comma-separated list of font-family fallbacks, an *Array* of fallbacks, or a *Function* that returns either a *String* or an *Array*. If supplying multiple fallback fonts, the [fontExists](#fontExists) function will be used to determine the first available font on the client's machine.

<a name="TextBox.fontMax" href="#TextBox.fontMax">#</a> TextBox.**fontMax**([*value*]) [<>](https://github.com/d3plus/d3plus-text/blob/master/src/TextBox.js#L390)
<a name="TextBox.fontMax" href="#TextBox.fontMax">#</a> TextBox.**fontMax**([*value*]) [<>](https://github.com/d3plus/d3plus-text/blob/master/src/TextBox.js#L389)

@@ -204,3 +203,3 @@ Sets the maximum font size to the specified accessor function or static number (which corresponds to pixel units), which is used when [dynamically resizing fonts](#textBox.fontResize).

<a name="TextBox.fontMin" href="#TextBox.fontMin">#</a> TextBox.**fontMin**([*value*]) [<>](https://github.com/d3plus/d3plus-text/blob/master/src/TextBox.js#L399)
<a name="TextBox.fontMin" href="#TextBox.fontMin">#</a> TextBox.**fontMin**([*value*]) [<>](https://github.com/d3plus/d3plus-text/blob/master/src/TextBox.js#L398)

@@ -213,3 +212,3 @@ Sets the minimum font size to the specified accessor function or static number (which corresponds to pixel units), which is used when [dynamically resizing fonts](#textBox.fontResize).

<a name="TextBox.fontOpacity" href="#TextBox.fontOpacity">#</a> TextBox.**fontOpacity**([*value*]) [<>](https://github.com/d3plus/d3plus-text/blob/master/src/TextBox.js#L408)
<a name="TextBox.fontOpacity" href="#TextBox.fontOpacity">#</a> TextBox.**fontOpacity**([*value*]) [<>](https://github.com/d3plus/d3plus-text/blob/master/src/TextBox.js#L407)

@@ -222,3 +221,3 @@ Sets the font opacity to the specified accessor function or static number between 0 and 1.

<a name="TextBox.fontResize" href="#TextBox.fontResize">#</a> TextBox.**fontResize**([*value*]) [<>](https://github.com/d3plus/d3plus-text/blob/master/src/TextBox.js#L417)
<a name="TextBox.fontResize" href="#TextBox.fontResize">#</a> TextBox.**fontResize**([*value*]) [<>](https://github.com/d3plus/d3plus-text/blob/master/src/TextBox.js#L416)

@@ -231,3 +230,3 @@ Toggles font resizing, which can either be defined as a static boolean for all data points, or an accessor function that returns a boolean. See [this example](http://d3plus.org/examples/d3plus-text/resizing-text/) for a side-by-side comparison.

<a name="TextBox.fontSize" href="#TextBox.fontSize">#</a> TextBox.**fontSize**([*value*]) [<>](https://github.com/d3plus/d3plus-text/blob/master/src/TextBox.js#L426)
<a name="TextBox.fontSize" href="#TextBox.fontSize">#</a> TextBox.**fontSize**([*value*]) [<>](https://github.com/d3plus/d3plus-text/blob/master/src/TextBox.js#L425)

@@ -240,3 +239,3 @@ Sets the font size to the specified accessor function or static number (which corresponds to pixel units), which is inferred from the [DOM selection](#textBox.select) by default.

<a name="TextBox.fontWeight" href="#TextBox.fontWeight">#</a> TextBox.**fontWeight**([*value*]) [<>](https://github.com/d3plus/d3plus-text/blob/master/src/TextBox.js#L435)
<a name="TextBox.fontWeight" href="#TextBox.fontWeight">#</a> TextBox.**fontWeight**([*value*]) [<>](https://github.com/d3plus/d3plus-text/blob/master/src/TextBox.js#L434)

@@ -249,3 +248,3 @@ Sets the font weight to the specified accessor function or static number, which is inferred from the [DOM selection](#textBox.select) by default.

<a name="TextBox.height" href="#TextBox.height">#</a> TextBox.**height**([*value*]) [<>](https://github.com/d3plus/d3plus-text/blob/master/src/TextBox.js#L448)
<a name="TextBox.height" href="#TextBox.height">#</a> TextBox.**height**([*value*]) [<>](https://github.com/d3plus/d3plus-text/blob/master/src/TextBox.js#L447)

@@ -265,3 +264,3 @@ Sets the height for each box to the specified accessor function or static number.

<a name="TextBox.id" href="#TextBox.id">#</a> TextBox.**id**([*value*]) [<>](https://github.com/d3plus/d3plus-text/blob/master/src/TextBox.js#L461)
<a name="TextBox.id" href="#TextBox.id">#</a> TextBox.**id**([*value*]) [<>](https://github.com/d3plus/d3plus-text/blob/master/src/TextBox.js#L460)

@@ -281,3 +280,3 @@ Defines the unique id for each box to the specified accessor function or static number.

<a name="TextBox.lineHeight" href="#TextBox.lineHeight">#</a> TextBox.**lineHeight**([*value*]) [<>](https://github.com/d3plus/d3plus-text/blob/master/src/TextBox.js#L470)
<a name="TextBox.lineHeight" href="#TextBox.lineHeight">#</a> TextBox.**lineHeight**([*value*]) [<>](https://github.com/d3plus/d3plus-text/blob/master/src/TextBox.js#L469)

@@ -290,3 +289,3 @@ Sets the line height to the specified accessor function or static number, which is 1.2 times the [font size](#textBox.fontSize) by default.

<a name="TextBox.maxLines" href="#TextBox.maxLines">#</a> TextBox.**maxLines**([*value*]) [<>](https://github.com/d3plus/d3plus-text/blob/master/src/TextBox.js#L479)
<a name="TextBox.maxLines" href="#TextBox.maxLines">#</a> TextBox.**maxLines**([*value*]) [<>](https://github.com/d3plus/d3plus-text/blob/master/src/TextBox.js#L478)

@@ -299,3 +298,3 @@ Restricts the maximum number of lines to wrap onto, which is null (unlimited) by default.

<a name="TextBox.overflow" href="#TextBox.overflow">#</a> TextBox.**overflow**([*value*]) [<>](https://github.com/d3plus/d3plus-text/blob/master/src/TextBox.js#L488)
<a name="TextBox.overflow" href="#TextBox.overflow">#</a> TextBox.**overflow**([*value*]) [<>](https://github.com/d3plus/d3plus-text/blob/master/src/TextBox.js#L487)

@@ -308,3 +307,3 @@ Sets the text overflow to the specified accessor function or static boolean.

<a name="TextBox.padding" href="#TextBox.padding">#</a> TextBox.**padding**([*value*]) [<>](https://github.com/d3plus/d3plus-text/blob/master/src/TextBox.js#L497)
<a name="TextBox.padding" href="#TextBox.padding">#</a> TextBox.**padding**([*value*]) [<>](https://github.com/d3plus/d3plus-text/blob/master/src/TextBox.js#L496)

@@ -317,3 +316,3 @@ Sets the padding to the specified accessor function, CSS shorthand string, or static number, which is 0 by default.

<a name="TextBox.pointerEvents" href="#TextBox.pointerEvents">#</a> TextBox.**pointerEvents**([*value*]) [<>](https://github.com/d3plus/d3plus-text/blob/master/src/TextBox.js#L506)
<a name="TextBox.pointerEvents" href="#TextBox.pointerEvents">#</a> TextBox.**pointerEvents**([*value*]) [<>](https://github.com/d3plus/d3plus-text/blob/master/src/TextBox.js#L505)

@@ -326,3 +325,3 @@ Sets the pointer-events to the specified accessor function or static string.

<a name="TextBox.rotate" href="#TextBox.rotate">#</a> TextBox.**rotate**([*value*]) [<>](https://github.com/d3plus/d3plus-text/blob/master/src/TextBox.js#L515)
<a name="TextBox.rotate" href="#TextBox.rotate">#</a> TextBox.**rotate**([*value*]) [<>](https://github.com/d3plus/d3plus-text/blob/master/src/TextBox.js#L514)

@@ -335,3 +334,3 @@ Sets the rotate percentage for each box to the specified accessor function or static string.

<a name="TextBox.rotateAnchor" href="#TextBox.rotateAnchor">#</a> TextBox.**rotateAnchor**(_) [<>](https://github.com/d3plus/d3plus-text/blob/master/src/TextBox.js#L524)
<a name="TextBox.rotateAnchor" href="#TextBox.rotateAnchor">#</a> TextBox.**rotateAnchor**(_) [<>](https://github.com/d3plus/d3plus-text/blob/master/src/TextBox.js#L523)

@@ -344,3 +343,3 @@ Sets the anchor point around which to rotate the text box.

<a name="TextBox.select" href="#TextBox.select">#</a> TextBox.**select**([*selector*]) [<>](https://github.com/d3plus/d3plus-text/blob/master/src/TextBox.js#L533)
<a name="TextBox.select" href="#TextBox.select">#</a> TextBox.**select**([*selector*]) [<>](https://github.com/d3plus/d3plus-text/blob/master/src/TextBox.js#L532)

@@ -353,3 +352,3 @@ Sets the SVG container element to the specified d3 selector or DOM element. If not explicitly specified, an SVG element will be added to the page for use.

<a name="TextBox.split" href="#TextBox.split">#</a> TextBox.**split**([*value*]) [<>](https://github.com/d3plus/d3plus-text/blob/master/src/TextBox.js#L542)
<a name="TextBox.split" href="#TextBox.split">#</a> TextBox.**split**([*value*]) [<>](https://github.com/d3plus/d3plus-text/blob/master/src/TextBox.js#L541)

@@ -362,3 +361,3 @@ Sets the word split behavior to the specified function, which when passed a string is expected to return that string split into an array of words.

<a name="TextBox.text" href="#TextBox.text">#</a> TextBox.**text**([*value*]) [<>](https://github.com/d3plus/d3plus-text/blob/master/src/TextBox.js#L555)
<a name="TextBox.text" href="#TextBox.text">#</a> TextBox.**text**([*value*]) [<>](https://github.com/d3plus/d3plus-text/blob/master/src/TextBox.js#L554)

@@ -378,3 +377,3 @@ Sets the text for each box to the specified accessor function or static string.

<a name="TextBox.textAnchor" href="#TextBox.textAnchor">#</a> TextBox.**textAnchor**([*value*]) [<>](https://github.com/d3plus/d3plus-text/blob/master/src/TextBox.js#L564)
<a name="TextBox.textAnchor" href="#TextBox.textAnchor">#</a> TextBox.**textAnchor**([*value*]) [<>](https://github.com/d3plus/d3plus-text/blob/master/src/TextBox.js#L563)

@@ -387,3 +386,3 @@ Sets the horizontal text anchor to the specified accessor function or static string, whose values are analagous to the SVG [text-anchor](https://developer.mozilla.org/en-US/docs/Web/SVG/Attribute/text-anchor) property.

<a name="TextBox.verticalAlign" href="#TextBox.verticalAlign">#</a> TextBox.**verticalAlign**([*value*]) [<>](https://github.com/d3plus/d3plus-text/blob/master/src/TextBox.js#L573)
<a name="TextBox.verticalAlign" href="#TextBox.verticalAlign">#</a> TextBox.**verticalAlign**([*value*]) [<>](https://github.com/d3plus/d3plus-text/blob/master/src/TextBox.js#L572)

@@ -396,3 +395,3 @@ Sets the vertical alignment to the specified accessor function or static string. Accepts `"top"`, `"middle"`, and `"bottom"`.

<a name="TextBox.width" href="#TextBox.width">#</a> TextBox.**width**([*value*]) [<>](https://github.com/d3plus/d3plus-text/blob/master/src/TextBox.js#L586)
<a name="TextBox.width" href="#TextBox.width">#</a> TextBox.**width**([*value*]) [<>](https://github.com/d3plus/d3plus-text/blob/master/src/TextBox.js#L585)

@@ -412,3 +411,3 @@ Sets the width for each box to the specified accessor function or static number.

<a name="TextBox.x" href="#TextBox.x">#</a> TextBox.**x**([*value*]) [<>](https://github.com/d3plus/d3plus-text/blob/master/src/TextBox.js#L599)
<a name="TextBox.x" href="#TextBox.x">#</a> TextBox.**x**([*value*]) [<>](https://github.com/d3plus/d3plus-text/blob/master/src/TextBox.js#L598)

@@ -428,3 +427,3 @@ Sets the x position for each box to the specified accessor function or static number. The number given should correspond to the left side of the textBox.

<a name="TextBox.y" href="#TextBox.y">#</a> TextBox.**y**([*value*]) [<>](https://github.com/d3plus/d3plus-text/blob/master/src/TextBox.js#L612)
<a name="TextBox.y" href="#TextBox.y">#</a> TextBox.**y**([*value*]) [<>](https://github.com/d3plus/d3plus-text/blob/master/src/TextBox.js#L611)

@@ -495,21 +494,2 @@ Sets the y position for each box to the specified accessor function or static number. The number given should correspond to the top side of the textBox.

<a name="textTruncate"></a>
#### d3plus.**textTruncate**(text, ellipsis, maxWidth, style) [<>](https://github.com/d3plus/d3plus-text/blob/master/src/textTruncate.js#L3)
Truncate a single word with ellipsis until if fits within the given width
This is a global function.
**Returns**: <code>String</code> - The resultant text with ellipsis
| Param | Type | Description |
| --- | --- | --- |
| text | <code>String</code> | The word to truncate |
| ellipsis | <code>String</code> | The ellipsis to append |
| maxWidth | <code>Number</code> | The maximum width that the text can take |
| style | <code>Object</code> | The style object to apply |
---
<a name="textWidth"></a>

@@ -667,2 +647,2 @@ #### d3plus.**textWidth**(text, [style]) [<>](https://github.com/d3plus/d3plus-text/blob/master/src/textWidth.js#L1)

###### <sub>Documentation generated on Tue, 05 Jun 2018 15:50:32 GMT</sub>
###### <sub>Documentation generated on Thu, 07 Jun 2018 13:54:50 GMT</sub>

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc