Call one per each style.

new AdvancedEllipsis({showOption: 'flow'}, '#demo_flow').start();
<div id="demo_flow" class="box">...</div>

Lorem ipsum dolor sit amet consectetur adipisicing elit.

new AdvancedEllipsis({showOption: 'flow-auto'}, '#demo_flow_auto').start();
<div id="demo_flow_auto" class="box">...</div>

Lorem ipsum dolor sit amet consectetur adipisicing elit.

new AdvancedEllipsis({showOption: 'tooltip'}, '#demo_tooltip').start();
<div id="demo_tooltip" class="box">...</div>

Lorem ipsum dolor sit amet consectetur adipisicing elit.

Connect multiple styles to one call.

var advancedEllipsis = new AdvancedEllipsis();
advancedEllipsis.start();

<div class="box" data-ellipsis>...</div>
Lorem ipsum dolor sit amet consectetur adipisicing elit.

<div class="box" data-ellipsis data-show-option="flow">...</div>
Lorem ipsum dolor sit amet consectetur adipisicing elit.

<div class="box" data-ellipsis data-show-option="flow" data-flow-count="2">...</div>
Lorem ipsum dolor sit amet consectetur adipisicing elit.

<div class="box" data-ellipsis data-show-option="flow" data-flow-count-pre="2">...</div>
Lorem ipsum dolor sit amet consectetur adipisicing elit.

<div class="box" data-ellipsis data-show-option="flow-auto">...</div>
Lorem ipsum dolor sit amet consectetur adipisicing elit.

<div class="box" data-ellipsis data-show-option="flow-auto" data-flow-count="1">...</div>
Lorem ipsum dolor sit amet consectetur adipisicing elit.

<div class="box" data-ellipsis data-show-option="tooltip">...</div>
Lorem ipsum dolor sit amet consectetur adipisicing elit.

Apply tooltip options

var demo_flow_detail = new AdvancedEllipsis();
demo_flow_detail.setElements('#demo_flow_detail').setOptions({
	showOption: 'flow',
	flowDelay: 0,
	flowAfterDelay: 3000,
	flowSpeed: 200,
	flowPadding: 50,
	flowCountPre: 1,
}).start();
<div class="box" id="demo_flow_detail">...</div>

Lorem ipsum dolor sit amet consectetur adipisicing elit.

Apply tooltip options

var demo_tooltip_detail = new AdvancedEllipsis('#demo_tooltip_detail');
demo_tooltip_detail.setOptions({
	showOption: 'tooltip',
	tooltipShowAlways: true,
	tooltipElementClass: 'class1 class2',
	tooltipDuration: 10000,
	customTooltipStyles: {
		backgroundColor: '#000',
		color: '#fff'
	}
}).start();
<div class="box" id="demo_tooltip_detail" data-tooltip-id="tooltip_id">...</div>
<style>
	#tooltip_id {
		border-radius: 20px;
	}
</style>

Lorem ipsum dolor

Test mutation observer

var mutation_observed = new AdvancedEllipsis('#mutation_observed').start();
var target = mutation_observed.getElements()[0];
function change_text(text) {
	target.innerText = text;
}
function change_show_option(option) {
	target.dataset.showOption = option;
}
<div class="box" id="mutation_observed">...</div>

short text
change_text('short text'); change_text('looooooooooooooooooong text'); change_show_option('static'); change_show_option('flow'); change_show_option('flow-auto'); change_show_option('tooltip');