diff --git a/Makefile b/Makefile
index 3229a16ff..32d442524 100644
--- a/Makefile
+++ b/Makefile
@@ -51,7 +51,6 @@ dist/iD.js: \
js/lib/d3.one.js \
js/lib/d3.dimensions.js \
js/lib/d3.trigger.js \
- js/lib/d3.typeahead.js \
js/lib/d3.curtain.js \
js/lib/d3.value.js \
js/lib/diff3.js \
diff --git a/index.html b/index.html
index e51b6ef9b..9bb30b26b 100644
--- a/index.html
+++ b/index.html
@@ -16,7 +16,6 @@
-
diff --git a/js/lib/d3.typeahead.js b/js/lib/d3.typeahead.js
deleted file mode 100644
index 249512730..000000000
--- a/js/lib/d3.typeahead.js
+++ /dev/null
@@ -1,116 +0,0 @@
-d3.typeahead = function() {
- var event = d3.dispatch('accept'),
- autohighlight = false,
- data;
-
- var typeahead = function(selection) {
- var container,
- hidden,
- idx = autohighlight ? 0 : -1;
-
- function setup() {
- var rect = selection.node().getBoundingClientRect();
- container = d3.select(document.body)
- .append('div').attr('class', 'typeahead')
- .style({
- position: 'absolute',
- left: rect.left + 'px',
- top: rect.bottom + 'px'
- });
- selection
- .on('keyup.typeahead', key);
- hidden = false;
- }
-
- function hide() {
- container.remove();
- idx = autohighlight ? 0 : -1;
- hidden = true;
- }
-
- function slowHide() {
- if (autohighlight) {
- if (container.select('a.selected').node()) {
- select(container.select('a.selected').datum());
- event.accept();
- }
- }
- window.setTimeout(hide, 150);
- }
-
- selection
- .on('focus.typeahead', setup)
- .on('blur.typeahead', slowHide);
-
- function key() {
- var len = container.selectAll('a').data().length;
- if (d3.event.keyCode === 40) {
- idx = Math.min(idx + 1, len - 1);
- return highlight();
- } else if (d3.event.keyCode === 38) {
- idx = Math.max(idx - 1, 0);
- return highlight();
- } else if (d3.event.keyCode === 13) {
- if (container.select('a.selected').node()) {
- select(container.select('a.selected').datum());
- }
- event.accept();
- hide();
- } else {
- update();
- }
- }
-
- function highlight() {
- container
- .selectAll('a')
- .classed('selected', function(d, i) { return i == idx; });
- }
-
- function update() {
- if (hidden) setup();
-
- data(selection, function(data) {
- container.style('display', function() {
- return data.length ? 'block' : 'none';
- });
-
- var options = container
- .selectAll('a')
- .data(data, function(d) { return d.value; });
-
- options.enter()
- .append('a')
- .text(function(d) { return d.value; })
- .attr('title', function(d) { return d.title; })
- .on('click', select);
-
- options.exit().remove();
-
- options
- .classed('selected', function(d, i) { return i == idx; });
- });
- }
-
- function select(d) {
- selection
- .property('value', d.value)
- .trigger('change');
- }
-
- };
-
- typeahead.data = function(_) {
- if (!arguments.length) return data;
- data = _;
- return typeahead;
- };
-
- typeahead.autohighlight = function(_) {
- if (!arguments.length) return autohighlight;
- autohighlight = _;
- return typeahead;
- };
-
- return d3.rebind(typeahead, event, 'on');
-};
diff --git a/test/index.html b/test/index.html
index 1fa6301c8..1de031b1b 100644
--- a/test/index.html
+++ b/test/index.html
@@ -20,7 +20,6 @@
-