twitter-typeahead-rails 0.8.0

Sign up to get free protection for your applications and to get access to all the features.
@@ -0,0 +1,7 @@
1
+ /*!
2
+ * Twitter Typeahead 0.8.0
3
+ * https://github.com/twitter/typeahead
4
+ * Copyright 2013 Twitter, Inc. and other contributors; Licensed MIT
5
+ */
6
+
7
+ (function(){var t="0.8.0",e={isMsie:function(){return/msie [\w.]+/i.test(navigator.userAgent)},isString:function(t){return"string"==typeof t},isNumber:function(t){return"number"==typeof t},isArray:$.isArray,isFunction:$.isFunction,isObject:function(t){return t!==Object(t)},isUndefined:function(t){return t===void 0},bind:$.proxy,bindAll:function(t){var n;for(var i in t)e.isFunction(n=t[i])&&(t[i]=$.proxy(n,t))},indexOf:function(t,e){for(var n=0;t.length>n;n++)if(t[n]===e)return n;return-1},each:$.each,map:$.map,filter:function(t,e){var n=[];return $.each(t,function(i,s){e(s,i,t)&&n.push(s)}),n},every:function(t,e){var n=!0;return t?($.each(t,function(i,s){return(n=e.call(null,s,i,t))?void 0:!1}),!!n):n},keys:function(t){if(!e.isObject(t))throw new TypeError("invalid object");return $.map(t,function(t,e){return e})},mixin:$.extend,getUniqueId:function(){var t=0;return function(){return t++}}(),debounce:function(t,e,n){var i,s;return function(){var r,o,u=this,a=arguments;return r=function(){i=null,n||(s=t.apply(u,a))},o=n&&!i,clearTimeout(i),i=setTimeout(r,e),o&&(s=t.apply(u,a)),s}},throttle:function(t,e){var n,i,s,r,o,u;return o=0,u=function(){o=new Date,s=null,r=t.apply(n,i)},function(){var a=new Date,h=e-(a-o);return n=this,i=arguments,0>=h?(clearTimeout(s),s=null,o=a,r=t.apply(n,i)):s||(s=setTimeout(u,h)),r}},uniqueArray:function(t){for(var e={},n=[],i=0,s=t.length;s>i;++i)e.hasOwnProperty(t[i])||(n.push(t[i]),e[t[i]]=1);return n},tokenizeText:function(t){return $.trim(t).toLowerCase().split(/[\s\-_]+/)},getProtocol:function(){return location.protocol},noop:function(){}},n=function(){var t=/\s+/;return{on:function(e,n){var i;if(!n)return this;for(this._callbacks=this._callbacks||{},e=e.split(t);i=e.shift();)this._callbacks[i]=this._callbacks[i]||[],this._callbacks[i].push(n);return this},trigger:function(e,n){var i,s;if(!this._callbacks)return this;for(e=e.split(t);i=e.shift();)if(s=this._callbacks[i])for(var r=0;s.length>r;r+=1)s[r].call(this,{type:i,data:n});return this}}}(),i=function(){function t(t){this.prefix=["__",t,"__"].join(""),this.ttlKey="__ttl__",this.keyMatcher=RegExp("^"+this.prefix)}function n(){return(new Date).getTime()}function i(t){return JSON.stringify(t)}function s(t){return e.isUndefined(t)?void 0:JSON.parse(t)}var r,o=window.localStorage;return r=window.localStorage&&window.JSON?{get:function(t){var i=s(o.getItem(this.prefix+t));return e.isNumber(i)&&n()>i&&o.removeItem(this.prefix+t+this.ttlKey),s(o.getItem(this.prefix+t))},set:function(t,s,r){return e.isNumber(r)?o.setItem(this.prefix+t+this.ttlKey,i(n()+r)):o.removeItem(this.prefix+t+this.ttlKey),o.setItem(this.prefix+t,i(s))},remove:function(t){return o.removeItem(this.prefix+t+this.ttlKey),o.removeItem(this.prefix+t),this},clear:function(){var t,e,n=o.length;for(t=0;n>t;t+=1)e=o.key(t),e.match(this.keyMatcher)&&(t-=1,n-=1,this.remove(e.replace(this.keyMatcher,"")));return this},isExpired:function(t){var i=s(o.getItem(this.prefix+t+this.ttlKey));return e.isNumber(i)&&n()>i?!0:!1}}:{get:e.noop,set:e.noop,remove:e.noop,clear:e.noop,isExpired:e.noop},e.mixin(t.prototype,r),t}(),s=function(){function t(t){e.bindAll(this),t=t||{},this.sizeLimit=t.sizeLimit||10,this.cache={},this.cachedKeysByAge=[]}return e.mixin(t.prototype,{get:function(t){return this.cache[t]},set:function(t,e){var n;this.cachedKeysByAge.length===this.sizeLimit&&(n=this.cachedKeysByAge.shift(),delete this.cache[n]),this.cache[t]=e,this.cachedKeysByAge.push(t)}}),t}(),r=function(){function t(t){var n;e.bindAll(this),t=t||{},n=/^throttle$/i.test(t.rateLimitFn)?e.throttle:e.debounce,this.wait=t.wait||300,this.wildcard=t.wildcard||"%QUERY",this.maxConcurrentRequests=t.maxConcurrentRequests||6,this.concurrentRequests=0,this.onDeckRequestArgs=null,this.cache=new s,this.get=n(this.get,this.wait)}return e.mixin(t.prototype,{_incrementConcurrentRequests:function(){this.concurrentRequests++},_decrementConcurrentRequests:function(){this.concurrentRequests--},_belowConcurrentRequestsThreshold:function(){return this.concurrentRequests<this.maxConcurrentRequests},get:function(t,e,n){var i,s=this;t=t.replace(this.wildcard,encodeURIComponent(e||"")),(i=this.cache.get(t))?n&&n(i):this._belowConcurrentRequestsThreshold()?$.ajax({url:t,type:"GET",dataType:"json",beforeSend:function(){s._incrementConcurrentRequests()},success:function(e){n&&n(e),s.cache.set(t,e)},complete:function(){s._decrementConcurrentRequests(),s.onDeckRequestArgs&&(s.get.apply(s,s.onDeckRequestArgs),s.onDeckRequestArgs=null)}}):this.onDeckRequestArgs=[].slice.call(arguments,0)}}),t}(),o=function(){function n(t){e.bindAll(this),this.storage=new i(t.name),this.adjacencyList={},this.itemHash={},this.name=t.name,this.resetDataOnProtocolSwitch=t.resetDataOnProtocolSwitch||!1,this.prefetchUrl=t.prefetch,this.queryUrl=t.remote,this.rawData=t.local,this.transport=t.transport,this.limit=t.limit||10,this._customMatcher=t.matcher||null,this._customRanker=t.ranker||null,this._ttl_ms=t.ttl_ms||2592e5,this.storageAdjacencyList="adjacencyList",this.storageHash="itemHash",this.storageProtocol="protocol",this.storageVersion="version",this._loadData()}return e.mixin(n.prototype,{_isMetadataExpired:function(){var n=this.storage.isExpired(this.storageProtocol),i=this.storage.isExpired(this.storageAdjacencyList)||this.storage.isExpired(this.storageHash),s=this.resetDataOnProtocolSwitch&&this.storage.get(this.storageProtocol)!=e.getProtocol();return t!=this.storage.get(this.storageVersion)||s||n||i?!0:!1},_loadData:function(){this.rawData&&this._processRawData(this.rawData),this._getDataFromLocalStorage(),(this._isMetadataExpired()||this.itemHash==={})&&this.prefetchUrl&&this._prefetch(this.prefetchUrl)},_getDataFromLocalStorage:function(){this.itemHash=this.storage.get(this.storageHash)||this.itemHash,this.adjacencyList=this.storage.get(this.storageAdjacencyList)||this.adjacencyList},_getPotentiallyMatchingIds:function(t){var n=[],i=[];if(e.map(t,e.bind(function(t){var e=this.adjacencyList[t.charAt(0)];e&&i.push(e)},this)),1===i.length)return i[0];var s=[];$.each(i,function(t,e){s.push(e.length)});var r=e.indexOf(s,Math.min.apply(null,s))||0,o=i[r]||[];return n=e.map(o,function(t){var n=e.every(i,function(n){return e.indexOf(n,t)>-1});return n?t:void 0})},_getItemsFromIds:function(t){var n=[];return e.map(t,e.bind(function(t){var e=this.itemHash[t];e&&n.push(e)},this)),n},_matcher:function(t){if(this._customMatcher){var n=this._customMatcher;return function(t){return n(t)}}return function(n){var i=n.tokens,s=e.every(t,function(t){var n=e.filter(i,function(e){return 0===e.indexOf(t)});return n.length});return s?n:void 0}},_compareItems:function(t,e,n){var i=t.score_boost?t.score_boost:0,s=e.score_boost?e.score_boost:0,r=t.score?t.score:0,o=e.score?e.score:0;return n?e.weight+s-(t.weight+i):o+s-(r+i)},_ranker:function(t,e){if(this._customRanker)return this._customRanker(t,e);var n=t.weight&&0!==t.weight,i=e.weight&&0!==e.weight;return n&&!i?-1:i&&!n?1:n&&i?this._compareItems(t,e,!0):this._compareItems(t,e,!1)},_processRawData:function(n){this.itemHash={},this.adjacencyList={},e.map(n,e.bind(function(t){var n;t.tokens?n=t.tokens:(t={tokens:e.tokenizeText(t),value:t},n=t.tokens),t.id=e.getUniqueId(t.value),e.map(n,e.bind(function(n){var i=n.charAt(0);this.adjacencyList[i]?-1===e.indexOf(this.adjacencyList[i],t.id)&&this.adjacencyList[i].push(t.id):this.adjacencyList[i]=[t.id]},this)),this.itemHash[t.id]=t},this)),this.storage.set(this.storageHash,this.itemHash,this._ttl_ms),this.storage.set(this.storageAdjacencyList,this.adjacencyList,this._ttl_ms),this.storage.set(this.storageVersion,t,this._ttl_ms),this.storage.set(this.storageProtocol,e.getProtocol(),this._ttl_ms)},_prefetch:function(t){var n=function(t){t&&(e.map(t,function(t){return e.isString(t)?{value:t,tokens:e.tokenizeText(t.toLowerCase())}:(e.map(t.tokens,function(e,n){t.tokens[n]=e.toLowerCase()}),t)}),this._processRawData(t))},i=function(){this._getDataFromLocalStorage()};$.ajax({url:t,success:e.bind(n,this),error:e.bind(i,this)})},_processRemoteSuggestions:function(t,n){return function(i){var s={},r=[];e.each(i,function(t,n){e.isString(n)?s[n]={value:n}:s[n.value]=n}),e.each(n,function(t,n){return s[n.value]?!0:(e.isString(n)?s[n]={value:n}:s[n.value]=n,void 0)}),e.each(s,function(t,e){r.push(e)}),t&&t(r)}},getSuggestions:function(t,n){var i=e.tokenizeText(t),s=this._getPotentiallyMatchingIds(i),r=this._getItemsFromIds(s),o=e.filter(r,this._matcher(i));o.sort(this._ranker),n&&n(o),o.length<this.limit&&this.queryUrl&&this.transport.get(this.queryUrl,t,this._processRemoteSuggestions(n,o))}}),n}(),u=function(){function t(t){var n=this;e.bindAll(this),this.specialKeyCodeMap={9:{event:"tab"},27:{event:"esc"},37:{event:"left"},39:{event:"right"},13:{event:"enter"},38:{event:"up",preventDefault:!0},40:{event:"down",preventDefault:!0}},this.query="",this.$hint=$(t.hint),this.$input=$(t.input).on("blur",this._handleBlur).on("focus",this._handleFocus).on("keydown",this._handleSpecialKeyEvent),e.isMsie()?this.$input.on("keydown keypress cut paste",function(t){n.specialKeyCodeMap[t.which||t.keyCode]||setTimeout(n._compareQueryToInputValue,0)}):this.$input.on("input",this._compareQueryToInputValue)}function i(t,e){return t=(t||"").replace(/^\s*/g,"").replace(/\s{2,}/g," ").toLowerCase(),e=(e||"").replace(/^\s*/g,"").replace(/\s{2,}/g," ").toLowerCase(),t===e}return e.mixin(t.prototype,n,{_handleFocus:function(){this.trigger("focus")},_handleBlur:function(){this.trigger("blur")},_handleSpecialKeyEvent:function(t){var e=this.specialKeyCodeMap[t.which||t.keyCode];e&&(this.trigger(e.event,t),e.preventDefault&&t.preventDefault())},_compareQueryToInputValue:function(){var t=this.getInputValue(),e=i(this.query,t),n=e?this.query.length!==t.length:!1;n?this.trigger("whitespaceChange",{value:this.query}):e||this.trigger("queryChange",{value:this.query=t})},focus:function(){this.$input.focus()},blur:function(){this.$input.blur()},setPreventDefaultValueForKey:function(t,e){this.specialKeyCodeMap[t].preventDefault=!!e},getQuery:function(){return this.query},getInputValue:function(){return this.$input.val()},setInputValue:function(t,e){this.$input.val(t),e!==!0&&this._compareQueryToInputValue()},getHintValue:function(){return this.$hint.val()},setHintValue:function(t){this.$hint.val(t)},getLanguageDirection:function(){return(this.$input.css("direction")||"ltr").toLowerCase()},isCursorAtEnd:function(){var t,e=this.$input.val().length,n=this.$input[0].selectionStart;return n?n===e:document.selection?(t=document.selection.createRange(),t.moveStart("character",-e),e===t.text.length):!0}}),t}(),a=function(){function t(t){e.bindAll(this),this.isMouseOverDropdown,this.$menu=$(t.menu).on("mouseenter",this._handleMouseenter).on("mouseleave",this._handleMouseleave).on("mouseover",".tt-suggestions > .tt-suggestion",this._handleMouseover).on("click",".tt-suggestions > .tt-suggestion",this._handleSelection)}function i(t){var e=t.parents(".tt-suggestions").first();return{value:t.data("value"),query:e.data("query"),dataset:e.data("dataset")}}return e.mixin(t.prototype,n,{_handleMouseenter:function(){this.isMouseOverDropdown=!0},_handleMouseleave:function(){this.isMouseOverDropdown=!1},_handleMouseover:function(t){this._getSuggestions().removeClass("tt-is-under-cursor"),$(t.currentTarget).addClass("tt-is-under-cursor")},_handleSelection:function(t){this.trigger("select",i($(t.currentTarget)))},_moveCursor:function(t){var e,n,i,s;if(this.$menu.hasClass("tt-is-open")){if(e=this._getSuggestions(),n=e.filter(".tt-is-under-cursor"),n.removeClass("tt-is-under-cursor"),i=e.index(n)+t,i=(i+1)%(e.length+1)-1,-1===i)return this.trigger("cursorOff"),void 0;-1>i&&(i=e.length-1),s=e.eq(i).addClass("tt-is-under-cursor"),this.trigger("cursorOn",{value:s.data("value")})}},_getSuggestions:function(){return this.$menu.find(".tt-suggestions > .tt-suggestion")},hideUnlessMouseIsOverDropdown:function(){this.isMouseOverDropdown||this.hide()},hide:function(){this.$menu.hasClass("tt-is-open")&&(this.$menu.removeClass("tt-is-open").find(".tt-suggestions > .tt-suggestion").removeClass("tt-is-under-cursor"),this.trigger("hide"))},show:function(){this.$menu.hasClass("tt-is-open")||(this.$menu.addClass("tt-is-open"),this.trigger("show"))},isOpen:function(){return this.$menu.hasClass("tt-is-open")},moveCursorUp:function(){this._moveCursor(-1)},moveCursorDown:function(){this._moveCursor(1)},getSuggestionUnderCursor:function(){var t=this._getSuggestions().filter(".tt-is-under-cursor").first();return t.length>0?i(t):null},getFirstSuggestion:function(){var t=this._getSuggestions().first();return t.length>0?i(t):null},renderSuggestions:function(t,n,i){var s,r,o,u="tt-dataset-"+n.name,a=this.$menu.find("."+u);0===a.length&&(a=$('<li><ol class="tt-suggestions"></ol></li>').addClass(u).appendTo(this.$menu)),s=document.createElement("div"),r=document.createDocumentFragment(),this.clearSuggestions(n.name),i.length>0&&(this.$menu.removeClass("tt-is-empty"),e.each(i,function(t,e){s.innerHTML=n.template.render(e),o=s.firstChild,o.setAttribute("data-value",e.value),r.appendChild(o)})),a.find("> .tt-suggestions").data({query:t,dataset:n.name}).append(r),this.trigger("suggestionsRender")},clearSuggestions:function(t){var e=t?this.$menu.find(".tt-dataset-"+t+" .tt-suggestions"):this.$menu.find(".tt-suggestions");e.empty(),0===this._getSuggestions().length&&this.$menu.addClass("tt-is-empty")}}),t}(),h=function(){function t(t){e.bindAll(this),this.$node=i(t.input),this.datasets=t.datasets,e.each(this.datasets,function(t,e){var n='<li class="tt-suggestion">%body</li>';e.template=e.template?e.engine.compile(n.replace("%body",e.template)):{render:function(t){return n.replace("%body","<p>"+t.value+"</p>")}}}),this.inputView=new u({input:this.$node.find(".tt-query"),hint:this.$node.find(".tt-hint")}),this.dropdownView=new a({menu:this.$node.find(".tt-dropdown-menu")}),this.dropdownView.on("select",this._handleSelection).on("cursorOn",this._clearHint).on("cursorOn",this._setInputValueToSuggestionUnderCursor).on("cursorOff",this._setInputValueToQuery).on("cursorOff",this._updateHint).on("suggestionsRender",this._updateHint).on("show",this._updateHint).on("hide",this._clearHint),this.inputView.on("focus",this._showDropdown).on("blur",this._hideDropdown).on("blur",this._setInputValueToQuery).on("enter",this._handleSelection).on("queryChange",this._clearHint).on("queryChange",this._clearSuggestions).on("queryChange",this._getSuggestions).on("whitespaceChange",this._updateHint).on("queryChange whitespaceChange",this._showDropdown).on("queryChange whitespaceChange",this._setLanguageDirection).on("esc",this._hideDropdown).on("esc",this._setInputValueToQuery).on("up down",this._moveDropdownCursor).on("up down",this._showDropdown).on("tab",this._setPreventDefaultValueForTab).on("tab left right",this._autocomplete)}function i(t){var e=$(t),n=$(s.hint).css({"background-color":e.css("background-color")});if(0===e.length)return null;try{!e.attr("dir")&&e.attr("dir","auto")}catch(i){}return e.attr({autocomplete:!1,spellcheck:!1}).addClass("tt-query").wrap(s.wrapper).parent().prepend(n).append(s.dropdown)}var s={wrapper:'<span class="twitter-typeahead"></span>',hint:'<input class="tt-hint" type="text" autocomplete="false" spellcheck="false" disabled>',dropdown:'<ol class="tt-dropdown-menu tt-is-empty"></ol>'};return e.mixin(t.prototype,n,{_setPreventDefaultValueForTab:function(){var t=this.inputView.getHintValue(),e=this.inputView.getInputValue(),n=t&&t!==e;this.inputView.setPreventDefaultValueForKey("9",n)},_setLanguageDirection:function(){var t="tt-"+this.inputView.getLanguageDirection();this.$node.hasClass(t)||this.$node.removeClass("tt-ltr tt-rtl").addClass(t)},_updateHint:function(){var t,e,n,i,s=this.dropdownView.getFirstSuggestion(),r=s?s.value:null;r&&this.dropdownView.isOpen()&&(t=this.inputView.getInputValue(),e=t.replace(/\s{2,}/g," ").replace(/^\s+/g,""),n=RegExp("^(?:"+e+")(.*$)","i"),i=n.exec(r),this.inputView.setHintValue(t+(i?i[1]:"")))},_clearHint:function(){this.inputView.setHintValue("")},_clearSuggestions:function(){this.dropdownView.clearSuggestions()},_setInputValueToQuery:function(){this.inputView.setInputValue(this.inputView.getQuery())},_setInputValueToSuggestionUnderCursor:function(t){this.inputView.setInputValue(t.data.value,!0)},_showDropdown:function(){this.dropdownView.show()},_hideDropdown:function(t){this.dropdownView["blur"===t.type?"hideUnlessMouseIsOverDropdown":"hide"]()},_moveDropdownCursor:function(t){this.dropdownView["up"===t.type?"moveCursorUp":"moveCursorDown"]()},_handleSelection:function(t){var n="select"===t.type,i=n?t.data:this.dropdownView.getSuggestionUnderCursor();i&&(this.inputView.setInputValue(i.value),n?this.inputView.focus():t.data.preventDefault(),n&&e.isMsie()?setTimeout(this.dropdownView.hide,0):this.dropdownView.hide())},_getSuggestions:function(){var t=this,n=this.inputView.getQuery();e.each(this.datasets,function(e,i){i.getSuggestions(n,function(e){t._renderSuggestions(n,i,e)})})},_renderSuggestions:function(t,e,n){t===this.inputView.getQuery()&&(n=n.slice(0,e.limit),this.dropdownView.renderSuggestions(t,e,n))},_autocomplete:function(t){var e,n,i,s;("right"!==t.type&&"left"!==t.type||(e=this.inputView.isCursorAtEnd(),n="ltr"===this.inputView.getLanguageDirection()?"left"===t.type:"right"===t.type,e&&!n))&&(i=this.inputView.getQuery(),s=this.inputView.getHintValue(),""!==s&&i!==s&&this.inputView.setInputValue(s))}}),t}();(function(){function t(t){s[t]?s[t].apply(this,[].slice.call(arguments,1)):s.initialize.apply(this,arguments)}function n(t){a=t}var i,s,u={},a={};jQuery.fn.typeahead=t,t.configureTransport=n,s={initialize:function(n){var s={};if(n=e.isArray(n)?n:[n],0===n.length)throw Error("no datasets provided");return delete t.configureTransport,i=i||new r(a),e.each(n,function(t,n){var r,a=n.name=n.name||e.getUniqueId();if(u[a])r=u[a];else{if(n.limit=n.limit||5,n.template=n.template,n.engine=n.engine,n.template&&!n.engine)throw Error("no template engine specified for "+a);r=u[a]=new o({name:n.name,limit:n.limit,local:n.local,prefetch:n.prefetch,remote:n.remote,matcher:n.matcher,ranker:n.ranker,transport:i})}s[a]={name:n.name,limit:n.limit,template:n.template,engine:n.engine,getSuggestions:r.getSuggestions}}),this.each(function(){$(this).data({typeahead:new h({input:this,datasets:s})})})}}})()})();
@@ -0,0 +1,3 @@
1
+ /*
2
+ *=require twitter/typeahead/typeahead.css
3
+ */
@@ -0,0 +1,3 @@
1
+ /*
2
+ *= require twitter/typeahead/typeahead.min.css
3
+ */
@@ -0,0 +1,72 @@
1
+ /*!
2
+ * Twitter Typeahead 0.8.0
3
+ * https://github.com/twitter/typeahead
4
+ * Copyright 2013 Twitter, Inc. and other contributors; Licensed MIT
5
+ */
6
+
7
+ .twitter-typeahead {
8
+ position: relative !important;
9
+ display: inline-block;
10
+ *display: inline;
11
+ *zoom: 1;
12
+ }
13
+ .tt-query {
14
+ position: relative !important;
15
+ /* for unknown reasons, this fixes alignment issues in ie7 */
16
+
17
+ *margin-top: -1px !important;
18
+ vertical-align: top !important;
19
+ background-color: transparent !important;
20
+ /* ie6-8 doesn't fire hover and click events for transparent elements
21
+ for a workaround, use a 1x1 transparent gif */
22
+
23
+ background-image: url(data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7) !important;
24
+ }
25
+ .tt-hint {
26
+ position: absolute !important;
27
+ top: 0 !important;
28
+ left: 0 !important;
29
+ border-color: transparent !important;
30
+ -webkit-box-shadow: none !important;
31
+ -moz-box-shadow: none !important;
32
+ box-shadow: none !important;
33
+ }
34
+ .tt-dropdown-menu,
35
+ .tt-suggestions,
36
+ .tt-suggestion {
37
+ padding: 0;
38
+ margin: 0;
39
+ list-style: none;
40
+ }
41
+ .tt-dropdown-menu {
42
+ position: absolute;
43
+ top: 100%;
44
+ left: 0;
45
+ z-index: 100;
46
+ /* TODO: need default z-index, should be configurable */
47
+
48
+ display: none;
49
+ }
50
+ .tt-dropdown-menu.tt-is-open {
51
+ display: block;
52
+ }
53
+ .tt-dropdown-menu.tt-is-empty {
54
+ display: none;
55
+ }
56
+ .tt-suggestion {
57
+ display: block;
58
+ white-space: nowrap;
59
+ cursor: pointer;
60
+ }
61
+ .tt-suggestion * {
62
+ white-space: normal;
63
+ }
64
+ /* rtl support */
65
+ /* ----------- */
66
+ .twitter-typeahead.tt-rtl {
67
+ direction: rtl;
68
+ }
69
+ .twitter-typeahead.tt-rtl .tt-dropdown-menu {
70
+ left: auto;
71
+ right: 0;
72
+ }
@@ -0,0 +1,7 @@
1
+ /*!
2
+ * Twitter Typeahead 0.8.0
3
+ * https://github.com/twitter/typeahead
4
+ * Copyright 2013 Twitter, Inc. and other contributors; Licensed MIT
5
+ */
6
+
7
+ .twitter-typeahead{position:relative!important;display:inline-block;*display:inline;*zoom:1}.tt-query{position:relative!important;*margin-top:-1px!important;vertical-align:top!important;background-color:transparent!important;background-image:url(data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7)!important}.tt-hint{position:absolute!important;top:0!important;left:0!important;border-color:transparent!important;-webkit-box-shadow:none!important;-moz-box-shadow:none!important;box-shadow:none!important}.tt-dropdown-menu,.tt-suggestions,.tt-suggestion{padding:0;margin:0;list-style:none}.tt-dropdown-menu{position:absolute;top:100%;left:0;z-index:100;display:none}.tt-dropdown-menu.tt-is-open{display:block}.tt-dropdown-menu.tt-is-empty{display:none}.tt-suggestion{display:block;white-space:nowrap;cursor:pointer}.tt-suggestion *{white-space:normal}.twitter-typeahead.tt-rtl{direction:rtl}.twitter-typeahead.tt-rtl .tt-dropdown-menu{left:auto;right:0}
metadata ADDED
@@ -0,0 +1,125 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: twitter-typeahead-rails
3
+ version: !ruby/object:Gem::Version
4
+ version: 0.8.0
5
+ prerelease:
6
+ platform: ruby
7
+ authors:
8
+ - Yousef Ourabi
9
+ autorequire:
10
+ bindir: bin
11
+ cert_chain: []
12
+ date: 2013-02-20 00:00:00.000000000 Z
13
+ dependencies:
14
+ - !ruby/object:Gem::Dependency
15
+ name: railties
16
+ requirement: !ruby/object:Gem::Requirement
17
+ none: false
18
+ requirements:
19
+ - - ! '>='
20
+ - !ruby/object:Gem::Version
21
+ version: '3.1'
22
+ type: :runtime
23
+ prerelease: false
24
+ version_requirements: !ruby/object:Gem::Requirement
25
+ none: false
26
+ requirements:
27
+ - - ! '>='
28
+ - !ruby/object:Gem::Version
29
+ version: '3.1'
30
+ - !ruby/object:Gem::Dependency
31
+ name: actionpack
32
+ requirement: !ruby/object:Gem::Requirement
33
+ none: false
34
+ requirements:
35
+ - - ! '>='
36
+ - !ruby/object:Gem::Version
37
+ version: '3.1'
38
+ type: :runtime
39
+ prerelease: false
40
+ version_requirements: !ruby/object:Gem::Requirement
41
+ none: false
42
+ requirements:
43
+ - - ! '>='
44
+ - !ruby/object:Gem::Version
45
+ version: '3.1'
46
+ - !ruby/object:Gem::Dependency
47
+ name: jquery-rails
48
+ requirement: !ruby/object:Gem::Requirement
49
+ none: false
50
+ requirements:
51
+ - - ! '>='
52
+ - !ruby/object:Gem::Version
53
+ version: '0'
54
+ type: :runtime
55
+ prerelease: false
56
+ version_requirements: !ruby/object:Gem::Requirement
57
+ none: false
58
+ requirements:
59
+ - - ! '>='
60
+ - !ruby/object:Gem::Version
61
+ version: '0'
62
+ - !ruby/object:Gem::Dependency
63
+ name: rails
64
+ requirement: !ruby/object:Gem::Requirement
65
+ none: false
66
+ requirements:
67
+ - - ! '>='
68
+ - !ruby/object:Gem::Version
69
+ version: '3.1'
70
+ type: :development
71
+ prerelease: false
72
+ version_requirements: !ruby/object:Gem::Requirement
73
+ none: false
74
+ requirements:
75
+ - - ! '>='
76
+ - !ruby/object:Gem::Version
77
+ version: '3.1'
78
+ description: twitter-typeahead-rails packages the typeahead.js jquery plugin for rails
79
+ email:
80
+ - yourabi@gmail.com
81
+ executables: []
82
+ extensions: []
83
+ extra_rdoc_files: []
84
+ files:
85
+ - .gitignore
86
+ - Gemfile
87
+ - LICENSE.txt
88
+ - README.md
89
+ - Rakefile
90
+ - lib/twitter-typeahead-rails.rb
91
+ - lib/twitter-typeahead-rails/version.rb
92
+ - twitter-typeahead-rails.gemspec
93
+ - vendor/assets/javascripts/twitter/typeahead.js
94
+ - vendor/assets/javascripts/twitter/typeahead.min.js
95
+ - vendor/assets/javascripts/twitter/typeahead/typeahead.js
96
+ - vendor/assets/javascripts/twitter/typeahead/typeahead.min.js
97
+ - vendor/assets/stylesheets/twitter/typeahead.css
98
+ - vendor/assets/stylesheets/twitter/typeahead.min.css
99
+ - vendor/assets/stylesheets/twitter/typeahead/typeahead.css
100
+ - vendor/assets/stylesheets/twitter/typeahead/typeahead.min.css
101
+ homepage: https://github.com/yourabi/twitter-typeahead-rails
102
+ licenses: []
103
+ post_install_message:
104
+ rdoc_options: []
105
+ require_paths:
106
+ - lib
107
+ required_ruby_version: !ruby/object:Gem::Requirement
108
+ none: false
109
+ requirements:
110
+ - - ! '>='
111
+ - !ruby/object:Gem::Version
112
+ version: '0'
113
+ required_rubygems_version: !ruby/object:Gem::Requirement
114
+ none: false
115
+ requirements:
116
+ - - ! '>='
117
+ - !ruby/object:Gem::Version
118
+ version: '0'
119
+ requirements: []
120
+ rubyforge_project:
121
+ rubygems_version: 1.8.23
122
+ signing_key:
123
+ specification_version: 3
124
+ summary: twitter-typeahead-rails packages the typeahead.js jquery plugin for rails
125
+ test_files: []