├── .gitignore ├── .travis.yml ├── Gruntfile.coffee ├── LICENSE ├── README.md ├── bower.json ├── bower_components ├── jquery │ ├── .bower.json │ ├── .gitattributes │ ├── .gitignore │ ├── .gitmodules │ ├── GPL-LICENSE.txt │ ├── MIT-LICENSE.txt │ ├── Makefile │ ├── README.md │ ├── bower.json │ ├── build │ │ ├── freq.js │ │ ├── jshint-check.js │ │ ├── lib │ │ │ ├── jshint.js │ │ │ ├── parse-js.js │ │ │ ├── process.js │ │ │ └── squeeze-more.js │ │ ├── post-compile.js │ │ ├── release-notes.js │ │ ├── release-notes.txt │ │ ├── release.js │ │ ├── sizer.js │ │ └── uglify.js │ ├── jquery.js │ ├── jquery.min.js │ ├── speed │ │ ├── benchmark.js │ │ ├── benchmarker.css │ │ ├── benchmarker.js │ │ ├── closest.html │ │ ├── css.html │ │ ├── event.html │ │ ├── filter.html │ │ ├── find.html │ │ ├── index.html │ │ ├── jquery-basis.js │ │ └── slice.vs.concat.html │ ├── src │ │ ├── ajax.js │ │ ├── ajax │ │ │ ├── jsonp.js │ │ │ ├── script.js │ │ │ └── xhr.js │ │ ├── attributes.js │ │ ├── callbacks.js │ │ ├── core.js │ │ ├── css.js │ │ ├── data.js │ │ ├── deferred.js │ │ ├── dimensions.js │ │ ├── effects.js │ │ ├── event.js │ │ ├── exports.js │ │ ├── intro.js │ │ ├── manipulation.js │ │ ├── offset.js │ │ ├── outro.js │ │ ├── queue.js │ │ ├── sizzle-jquery.js │ │ ├── support.js │ │ └── traversing.js │ ├── test │ │ ├── csp.php │ │ ├── data │ │ │ ├── 1x1.jpg │ │ │ ├── atom+xml.php │ │ │ ├── badjson.js │ │ │ ├── dashboard.xml │ │ │ ├── dimensions │ │ │ │ ├── documentLarge.html │ │ │ │ └── documentSmall.html │ │ │ ├── echoData.php │ │ │ ├── echoQuery.php │ │ │ ├── errorWithText.php │ │ │ ├── etag.php │ │ │ ├── evalScript.php │ │ │ ├── headers.php │ │ │ ├── if_modified_since.php │ │ │ ├── iframe.html │ │ │ ├── include_js.php │ │ │ ├── json.php │ │ │ ├── json_obj.js │ │ │ ├── jsonp.php │ │ │ ├── name.html │ │ │ ├── name.php │ │ │ ├── offset │ │ │ │ ├── absolute.html │ │ │ │ ├── body.html │ │ │ │ ├── fixed.html │ │ │ │ ├── relative.html │ │ │ │ ├── scroll.html │ │ │ │ ├── static.html │ │ │ │ └── table.html │ │ │ ├── params_html.php │ │ │ ├── readywaitasset.js │ │ │ ├── readywaitloader.js │ │ │ ├── script.php │ │ │ ├── selector │ │ │ │ ├── html5_selector.html │ │ │ │ └── sizzle_cache.html │ │ │ ├── statusText.php │ │ │ ├── support │ │ │ │ ├── bodyBackground.html │ │ │ │ ├── boxModelIE.html │ │ │ │ ├── hiddenIFrameFF.html │ │ │ │ └── testElementCrash.html │ │ │ ├── test.html │ │ │ ├── test.js │ │ │ ├── test.php │ │ │ ├── test2.html │ │ │ ├── test3.html │ │ │ ├── testinit.js │ │ │ ├── testrunner.js │ │ │ ├── testsuite.css │ │ │ ├── text.php │ │ │ ├── ua.txt │ │ │ ├── with_fries.xml │ │ │ └── with_fries_over_jsonp.php │ │ ├── delegatetest.html │ │ ├── hovertest.html │ │ ├── index.html │ │ ├── localfile.html │ │ ├── networkerror.html │ │ ├── polluted.php │ │ ├── readywait.html │ │ ├── unit │ │ │ ├── ajax.js │ │ │ ├── attributes.js │ │ │ ├── callbacks.js │ │ │ ├── core.js │ │ │ ├── css.js │ │ │ ├── data.js │ │ │ ├── deferred.js │ │ │ ├── dimensions.js │ │ │ ├── effects.js │ │ │ ├── event.js │ │ │ ├── exports.js │ │ │ ├── manipulation.js │ │ │ ├── offset.js │ │ │ ├── queue.js │ │ │ ├── selector.js │ │ │ ├── support.js │ │ │ └── traversing.js │ │ └── xhtml.php │ └── version.txt └── typeahead.js │ ├── .bower.json │ ├── .gitignore │ ├── .jshintrc │ ├── .travis.yml │ ├── CHANGELOG.md │ ├── CONTRIBUTING.md │ ├── Gruntfile.js │ ├── LICENSE │ ├── README.md │ ├── bower.json │ ├── composer.json │ ├── dist │ ├── bloodhound.js │ ├── bloodhound.min.js │ ├── typeahead.bundle.js │ ├── typeahead.bundle.min.js │ ├── typeahead.jquery.js │ └── typeahead.jquery.min.js │ ├── doc │ ├── bloodhound.md │ ├── jquery_typeahead.md │ └── migration │ │ └── 0.10.0.md │ ├── karma.conf.js │ ├── package.json │ ├── src │ ├── bloodhound │ │ ├── bloodhound.js │ │ ├── lru_cache.js │ │ ├── options_parser.js │ │ ├── persistent_storage.js │ │ ├── search_index.js │ │ ├── tokenizers.js │ │ ├── transport.js │ │ └── version.js │ ├── common │ │ └── utils.js │ └── typeahead │ │ ├── css.js │ │ ├── dataset.js │ │ ├── dropdown.js │ │ ├── event_bus.js │ │ ├── event_emitter.js │ │ ├── highlight.js │ │ ├── html.js │ │ ├── input.js │ │ ├── plugin.js │ │ └── typeahead.js │ ├── test │ ├── bloodhound_spec.js │ ├── ci │ ├── dataset_view_spec.js │ ├── dropdown_view_spec.js │ ├── event_emitter_spec.js │ ├── fixtures │ │ ├── ajax_responses.js │ │ ├── data.js │ │ └── html.js │ ├── helpers │ │ └── typeahead_mocks.js │ ├── highlight_spec.js │ ├── input_view_spec.js │ ├── integration │ │ ├── test.html │ │ └── test.js │ ├── lru_cache_spec.js │ ├── persistent_storage_spec.js │ ├── playground.html │ ├── search_index_spec.js │ ├── tokenizers_spec.js │ ├── transport_spec.js │ └── typeahead_view_spec.js │ └── typeahead.js.jquery.json ├── demo ├── index.html ├── route.html └── styles.css ├── dist ├── typeahead-addresspicker.js └── typeahead-addresspicker.min.js ├── package.json ├── screenshot.png ├── spec ├── coffeescripts │ ├── helpers │ │ └── spec_helper.coffee │ └── typeahead-addresspicker.coffee └── javascripts │ ├── fixtures │ ├── fragment.html │ └── json │ │ ├── accurate-place-result.json │ │ ├── paris-autocomplete-service.json │ │ └── paris-place-result.json │ ├── helpers │ └── spec_helper.js │ ├── libs │ └── jasmine-jquery.js │ └── typeahead-addresspicker.js └── src └── typeahead-addresspicker.coffee /.gitignore: -------------------------------------------------------------------------------- 1 | node_modules 2 | 3 | coverage 4 | -------------------------------------------------------------------------------- /.travis.yml: -------------------------------------------------------------------------------- 1 | language: node_js 2 | node_js: 3 | - "0.10" 4 | -------------------------------------------------------------------------------- /Gruntfile.coffee: -------------------------------------------------------------------------------- 1 | #global module:false 2 | module.exports = (grunt) -> 3 | 4 | # Project configuration. 5 | grunt.initConfig 6 | pkg: grunt.file.readJSON("package.json") 7 | uglify: 8 | plugin: 9 | files: [ 10 | expand: true 11 | cwd: "dist/" 12 | src: "typeahead-addresspicker.js" 13 | dest: "dist/" 14 | ext: ".min.js" 15 | ] 16 | options: 17 | banner: "/*! <%= pkg.title || pkg.name %> - v<%= pkg.version %> - " + "<%= grunt.template.today(\"yyyy-mm-dd\") %>\n" + "<%= pkg.homepage ? \"* \" + pkg.homepage + \"\\n\" : \"\" %>" + "* Copyright (c) <%= grunt.template.today(\"yyyy\") %> <%= pkg.author.name %>;" + " Licensed <%= _.pluck(pkg.licenses, \"type\").join(\", \") %> */" 18 | 19 | coffee: 20 | plugin: 21 | files: [ 22 | expand: true 23 | cwd: "src/" 24 | src: "*.coffee" 25 | dest: "dist/" 26 | ext: ".js" 27 | ] 28 | specs : 29 | files: [ 30 | expand: true 31 | cwd: 'spec/coffeescripts/' 32 | src: '*.coffee' 33 | dest: 'spec/javascripts/' 34 | ext: '.js' 35 | ] 36 | helpers : 37 | files: [ 38 | expand: true 39 | cwd: 'spec/coffeescripts/helpers/' 40 | src: '*.coffee' 41 | dest: 'spec/javascripts/helpers/' 42 | ext: '.js' 43 | ] 44 | 45 | watch: 46 | files: [ 47 | "src/*.coffee" 48 | "spec/coffeescripts/**/*.coffee" 49 | ] 50 | tasks: [ 51 | "coffee" 52 | "growl:coffee" 53 | "jasmine" 54 | "growl:jasmine" 55 | ] 56 | 57 | growl: 58 | coffee: 59 | title: "CoffeeScript" 60 | message: "Compiled successfully" 61 | jasmine : 62 | title : 'Jasmine' 63 | message : 'Tests passed successfully' 64 | 65 | jasmine : 66 | src : [ 67 | 'http://ajax.googleapis.com/ajax/libs/jquery/2.0.2/jquery.min.js', 68 | 'bower_components/typeahead.js/dist/bloodhound.js' 69 | 'bower_components/typeahead.js/dist/typeahead.jquery.js' 70 | 'dist/typeahead-addresspicker.js' 71 | 'spec/javascripts/libs/*.js' 72 | ] 73 | options : 74 | vendor: [ 75 | 'http://ajax.googleapis.com/ajax/libs/jquery/2.0.2/jquery.min.js', 76 | 'https://maps.googleapis.com/maps/api/js?sensor=false&libraries=places' 77 | ] 78 | specs : 'spec/javascripts/**/*.js' 79 | helpers : ['spec/javascripts/helpers/sinon-1.9.0.js', 'spec/javascripts/helpers/**/*.js]'] 80 | '--web-security' : false 81 | '--local-to-remote-url-access' : true 82 | '--ignore-ssl-errors' : true 83 | # coverage: 84 | # src: ["dist/typeahead.js", "dist/typeahead-addresspicker.js"] 85 | # options: 86 | # specs: 'spec/javascripts/**/*.js' 87 | # template: require('grunt-template-jasmine-istanbul') 88 | # templateOptions: 89 | # coverage: 'coverage/coverage.json' 90 | # report: [ 91 | # { 92 | # type: 'html', 93 | # options: { 94 | # dir: 'coverage/html' 95 | # } 96 | # } 97 | # ] 98 | 99 | 100 | # Lib tasks. 101 | grunt.loadNpmTasks "grunt-growl" 102 | grunt.loadNpmTasks "grunt-contrib-coffee" 103 | grunt.loadNpmTasks "grunt-contrib-watch" 104 | grunt.loadNpmTasks "grunt-contrib-uglify" 105 | grunt.loadNpmTasks "grunt-contrib-jasmine" 106 | 107 | # Default and Build tasks 108 | mainTasks = [ 109 | "coffee" 110 | "growl:coffee" 111 | "jasmine" 112 | "growl:jasmine" 113 | ] 114 | grunt.registerTask "default", mainTasks 115 | grunt.registerTask "build", mainTasks.concat(["uglify"]) 116 | # grunt.registerTask "test:coverage", ["jasmine:coverage"] 117 | 118 | # Travis CI task. 119 | grunt.registerTask "travis", [ 120 | "coffee", "jasmine" 121 | ] 122 | return 123 | -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- 1 | The MIT License (MIT) 2 | 3 | Copyright (c) 2014 Sébastien Gruhier 4 | 5 | Permission is hereby granted, free of charge, to any person obtaining a copy of 6 | this software and associated documentation files (the "Software"), to deal in 7 | the Software without restriction, including without limitation the rights to 8 | use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of 9 | the Software, and to permit persons to whom the Software is furnished to do so, 10 | subject to the following conditions: 11 | 12 | The above copyright notice and this permission notice shall be included in all 13 | copies or substantial portions of the Software. 14 | 15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS 17 | FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR 18 | COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER 19 | IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN 20 | CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. 21 | -------------------------------------------------------------------------------- /bower.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "typeahead-addresspicker", 3 | "version": "0.1.4", 4 | "homepage": "https://github.com/sgruhier/typeahead-addresspicker", 5 | "authors": [ 6 | "Sébastien Gruhier " 7 | ], 8 | "description": "Address picker using google map API to twitter typeahead.js autocomplete", 9 | "keywords": [ 10 | "autocomplete", 11 | "typeahead", 12 | "addresspicker" 13 | ], 14 | "license": "MIT", 15 | "ignore": [ 16 | "**/.*", 17 | "node_modules", 18 | "bower_components", 19 | "spec" 20 | ], 21 | "dependencies": { 22 | "typeahead.js": "~0.10.4" 23 | } 24 | } 25 | -------------------------------------------------------------------------------- /bower_components/jquery/.bower.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "jquery", 3 | "version": "1.7.2", 4 | "main": "./jquery.js", 5 | "dependencies": {}, 6 | "homepage": "https://github.com/jquery/jquery", 7 | "_release": "1.7.2", 8 | "_resolution": { 9 | "type": "version", 10 | "tag": "1.7.2", 11 | "commit": "17eeebb3c04c72e5d00520c191cce858844aedec" 12 | }, 13 | "_source": "git://github.com/jquery/jquery.git", 14 | "_target": "~1.7", 15 | "_originalSource": "jquery" 16 | } -------------------------------------------------------------------------------- /bower_components/jquery/.gitattributes: -------------------------------------------------------------------------------- 1 | * eol=lf 2 | *.jar binary 3 | -------------------------------------------------------------------------------- /bower_components/jquery/.gitignore: -------------------------------------------------------------------------------- 1 | src/selector.js 2 | dist 3 | .project 4 | .settings 5 | *~ 6 | *.diff 7 | *.patch 8 | /*.html 9 | .DS_Store 10 | build/.sizecache.json 11 | -------------------------------------------------------------------------------- /bower_components/jquery/.gitmodules: -------------------------------------------------------------------------------- 1 | [submodule "src/sizzle"] 2 | path = src/sizzle 3 | url = git://github.com/jquery/sizzle.git 4 | [submodule "test/qunit"] 5 | path = test/qunit 6 | url = git://github.com/jquery/qunit.git 7 | -------------------------------------------------------------------------------- /bower_components/jquery/MIT-LICENSE.txt: -------------------------------------------------------------------------------- 1 | Copyright (c) 2011 John Resig, http://jquery.com/ 2 | 3 | Permission is hereby granted, free of charge, to any person obtaining 4 | a copy of this software and associated documentation files (the 5 | "Software"), to deal in the Software without restriction, including 6 | without limitation the rights to use, copy, modify, merge, publish, 7 | distribute, sublicense, and/or sell copies of the Software, and to 8 | permit persons to whom the Software is furnished to do so, subject to 9 | the following conditions: 10 | 11 | The above copyright notice and this permission notice shall be 12 | included in all copies or substantial portions of the Software. 13 | 14 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, 15 | EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF 16 | MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND 17 | NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE 18 | LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION 19 | OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION 20 | WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. 21 | -------------------------------------------------------------------------------- /bower_components/jquery/Makefile: -------------------------------------------------------------------------------- 1 | SRC_DIR = src 2 | TEST_DIR = test 3 | BUILD_DIR = build 4 | 5 | PREFIX = . 6 | DIST_DIR = ${PREFIX}/dist 7 | 8 | JS_ENGINE ?= `which node nodejs 2>/dev/null` 9 | COMPILER = ${JS_ENGINE} ${BUILD_DIR}/uglify.js --unsafe 10 | POST_COMPILER = ${JS_ENGINE} ${BUILD_DIR}/post-compile.js 11 | 12 | BASE_FILES = ${SRC_DIR}/core.js\ 13 | ${SRC_DIR}/callbacks.js\ 14 | ${SRC_DIR}/deferred.js\ 15 | ${SRC_DIR}/support.js\ 16 | ${SRC_DIR}/data.js\ 17 | ${SRC_DIR}/queue.js\ 18 | ${SRC_DIR}/attributes.js\ 19 | ${SRC_DIR}/event.js\ 20 | ${SRC_DIR}/selector.js\ 21 | ${SRC_DIR}/traversing.js\ 22 | ${SRC_DIR}/manipulation.js\ 23 | ${SRC_DIR}/css.js\ 24 | ${SRC_DIR}/ajax.js\ 25 | ${SRC_DIR}/ajax/jsonp.js\ 26 | ${SRC_DIR}/ajax/script.js\ 27 | ${SRC_DIR}/ajax/xhr.js\ 28 | ${SRC_DIR}/effects.js\ 29 | ${SRC_DIR}/offset.js\ 30 | ${SRC_DIR}/dimensions.js\ 31 | ${SRC_DIR}/exports.js 32 | 33 | MODULES = ${SRC_DIR}/intro.js\ 34 | ${BASE_FILES}\ 35 | ${SRC_DIR}/outro.js 36 | 37 | JQ = ${DIST_DIR}/jquery.js 38 | JQ_MIN = ${DIST_DIR}/jquery.min.js 39 | 40 | SIZZLE_DIR = ${SRC_DIR}/sizzle 41 | 42 | JQ_VER = $(shell cat version.txt) 43 | VER = sed "s/@VERSION/${JQ_VER}/" 44 | 45 | DATE=$(shell git log -1 --pretty=format:%ad) 46 | 47 | all: update_submodules core 48 | 49 | core: jquery min hint size 50 | @@echo "jQuery build complete." 51 | 52 | ${DIST_DIR}: 53 | @@mkdir -p ${DIST_DIR} 54 | 55 | jquery: ${JQ} 56 | 57 | ${JQ}: ${MODULES} | ${DIST_DIR} 58 | @@echo "Building" ${JQ} 59 | 60 | @@cat ${MODULES} | \ 61 | sed 's/.function..jQuery...{//' | \ 62 | sed 's/}...jQuery..;//' | \ 63 | sed 's/@DATE/'"${DATE}"'/' | \ 64 | ${VER} > ${JQ}; 65 | 66 | ${SRC_DIR}/selector.js: ${SIZZLE_DIR}/sizzle.js 67 | @@echo "Building selector code from Sizzle" 68 | @@sed '/EXPOSE/r src/sizzle-jquery.js' ${SIZZLE_DIR}/sizzle.js | grep -v window.Sizzle > ${SRC_DIR}/selector.js 69 | 70 | hint: jquery 71 | @@if test ! -z ${JS_ENGINE}; then \ 72 | echo "Checking jQuery against JSHint..."; \ 73 | ${JS_ENGINE} build/jshint-check.js; \ 74 | else \ 75 | echo "You must have NodeJS installed in order to test jQuery against JSHint."; \ 76 | fi 77 | 78 | size: jquery min 79 | @@if test ! -z ${JS_ENGINE}; then \ 80 | gzip -c ${JQ_MIN} > ${JQ_MIN}.gz; \ 81 | wc -c ${JQ} ${JQ_MIN} ${JQ_MIN}.gz | ${JS_ENGINE} ${BUILD_DIR}/sizer.js; \ 82 | rm ${JQ_MIN}.gz; \ 83 | else \ 84 | echo "You must have NodeJS installed in order to size jQuery."; \ 85 | fi 86 | 87 | freq: jquery min 88 | @@if test ! -z ${JS_ENGINE}; then \ 89 | ${JS_ENGINE} ${BUILD_DIR}/freq.js; \ 90 | else \ 91 | echo "You must have NodeJS installed to report the character frequency of minified jQuery."; \ 92 | fi 93 | 94 | min: jquery ${JQ_MIN} 95 | 96 | ${JQ_MIN}: ${JQ} 97 | @@if test ! -z ${JS_ENGINE}; then \ 98 | echo "Minifying jQuery" ${JQ_MIN}; \ 99 | ${COMPILER} ${JQ} > ${JQ_MIN}.tmp; \ 100 | ${POST_COMPILER} ${JQ_MIN}.tmp; \ 101 | rm -f ${JQ_MIN}.tmp; \ 102 | else \ 103 | echo "You must have NodeJS installed in order to minify jQuery."; \ 104 | fi 105 | 106 | clean: 107 | @@echo "Removing Distribution directory:" ${DIST_DIR} 108 | @@rm -rf ${DIST_DIR} 109 | 110 | @@echo "Removing built copy of Sizzle" 111 | @@rm -f src/selector.js 112 | 113 | distclean: clean 114 | @@echo "Removing submodules" 115 | @@rm -rf test/qunit src/sizzle 116 | 117 | # change pointers for submodules and update them to what is specified in jQuery 118 | # --merge doesn't work when doing an initial clone, thus test if we have non-existing 119 | # submodules, then do an real update 120 | update_submodules: 121 | @@if [ -d .git ]; then \ 122 | if git submodule status | grep -q -E '^-'; then \ 123 | git submodule update --init --recursive; \ 124 | else \ 125 | git submodule update --init --recursive --merge; \ 126 | fi; \ 127 | fi; 128 | 129 | # update the submodules to the latest at the most logical branch 130 | pull_submodules: 131 | @@git submodule foreach "git pull \$$(git config remote.origin.url)" 132 | @@git submodule summary 133 | 134 | pull: pull_submodules 135 | @@git pull ${REMOTE} ${BRANCH} 136 | 137 | .PHONY: all jquery hint min clean distclean update_submodules pull_submodules pull core 138 | -------------------------------------------------------------------------------- /bower_components/jquery/bower.json: -------------------------------------------------------------------------------- 1 | { 2 | "name" : "jquery", 3 | "version" : "1.7.2", 4 | "main" : "./jquery.js", 5 | "dependencies": { 6 | } 7 | } 8 | 9 | -------------------------------------------------------------------------------- /bower_components/jquery/build/freq.js: -------------------------------------------------------------------------------- 1 | #! /usr/bin/env node 2 | 3 | var fs = require( "fs" ); 4 | 5 | function isEmptyObject( obj ) { 6 | for ( var name in obj ) { 7 | return false; 8 | } 9 | return true; 10 | } 11 | function extend( obj ) { 12 | var dest = obj, 13 | src = [].slice.call( arguments, 1 ); 14 | 15 | Object.keys( src ).forEach(function( key ) { 16 | var copy = src[ key ]; 17 | 18 | for ( var prop in copy ) { 19 | dest[ prop ] = copy[ prop ]; 20 | } 21 | }); 22 | 23 | return dest; 24 | }; 25 | 26 | function charSort( obj, callback ) { 27 | 28 | var ordered = [], 29 | table = {}, 30 | copied; 31 | 32 | copied = extend({}, obj ); 33 | 34 | (function order() { 35 | 36 | var largest = 0, 37 | c; 38 | 39 | for ( var i in obj ) { 40 | if ( obj[ i ] >= largest ) { 41 | largest = obj[ i ]; 42 | c = i; 43 | } 44 | } 45 | 46 | ordered.push( c ); 47 | delete obj[ c ]; 48 | 49 | if ( !isEmptyObject( obj ) ) { 50 | order(); 51 | } else { 52 | ordered.forEach(function( val ) { 53 | table[ val ] = copied[ val ]; 54 | }); 55 | 56 | callback( table ); 57 | } 58 | 59 | })(); 60 | } 61 | function charFrequency( src, callback ) { 62 | var obj = {}; 63 | 64 | src.replace(/[^\w]|\d/gi, "").split("").forEach(function( c ) { 65 | obj[ c ] ? ++obj[ c ] : ( obj[ c ] = 1 ); 66 | }); 67 | 68 | return charSort( obj, callback ); 69 | } 70 | 71 | 72 | charFrequency( fs.readFileSync( "dist/jquery.min.js", "utf8" ), function( obj ) { 73 | var chr; 74 | 75 | for ( chr in obj ) { 76 | console.log( " " + chr + " " + obj[ chr ] ); 77 | } 78 | }); 79 | 80 | -------------------------------------------------------------------------------- /bower_components/jquery/build/jshint-check.js: -------------------------------------------------------------------------------- 1 | var jshint = require("./lib/jshint").JSHINT, 2 | src = require("fs").readFileSync("dist/jquery.js", "utf8"), 3 | config = { 4 | evil: true, 5 | browser: true, 6 | wsh: true, 7 | eqnull: true, 8 | expr: true, 9 | curly: true, 10 | trailing: true, 11 | undef: true, 12 | smarttabs: true, 13 | predef: [ 14 | "define", 15 | "DOMParser" 16 | ], 17 | maxerr: 100 18 | }; 19 | 20 | if ( jshint( src, config ) ) { 21 | console.log("JSHint check passed."); 22 | } else { 23 | 24 | console.log( "JSHint found errors." ); 25 | 26 | jshint.errors.forEach(function( e ) { 27 | if ( !e ) { return; } 28 | 29 | var str = e.evidence ? e.evidence : "", 30 | character = e.character === true ? "EOL" : "C" + e.character; 31 | 32 | if ( str ) { 33 | str = str.replace( /\t/g, " " ).trim(); 34 | console.log( " [L" + e.line + ":" + character + "] " + e.reason + "\n " + str + "\n"); 35 | } 36 | }); 37 | } -------------------------------------------------------------------------------- /bower_components/jquery/build/lib/squeeze-more.js: -------------------------------------------------------------------------------- 1 | var jsp = require("./parse-js"), 2 | pro = require("./process"), 3 | slice = jsp.slice, 4 | member = jsp.member, 5 | PRECEDENCE = jsp.PRECEDENCE, 6 | OPERATORS = jsp.OPERATORS; 7 | 8 | function ast_squeeze_more(ast) { 9 | var w = pro.ast_walker(), walk = w.walk; 10 | return w.with_walkers({ 11 | "call": function(expr, args) { 12 | if (expr[0] == "dot" && expr[2] == "toString" && args.length == 0) { 13 | // foo.toString() ==> foo+"" 14 | return [ "binary", "+", expr[1], [ "string", "" ]]; 15 | } 16 | } 17 | }, function() { 18 | return walk(ast); 19 | }); 20 | }; 21 | 22 | exports.ast_squeeze_more = ast_squeeze_more; 23 | -------------------------------------------------------------------------------- /bower_components/jquery/build/post-compile.js: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env node 2 | 3 | var fs = require( "fs" ), 4 | src = fs.readFileSync( process.argv[2], "utf8" ), 5 | version = fs.readFileSync( "version.txt", "utf8" ), 6 | // License Template 7 | license = "/*! jQuery v@VERSION jquery.com | jquery.org/license */"; 8 | 9 | 10 | // Previously done in sed but reimplemented here due to portability issues 11 | src = src.replace( /^(\s*\*\/)(.+)/m, "$1\n$2" ) + ";"; 12 | 13 | // Set minimal license block var 14 | license = license.replace( "@VERSION", version ); 15 | 16 | // Replace license block with minimal license 17 | src = src.replace( /\/\/.*?\/?\*.+?(?=\n|\r|$)|\/\*[\s\S]*?\/\/[\s\S]*?\*\//, license ); 18 | 19 | fs.writeFileSync( "dist/jquery.min.js", src, "utf8" ); 20 | -------------------------------------------------------------------------------- /bower_components/jquery/build/release-notes.js: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env node 2 | /* 3 | * jQuery Release Note Generator 4 | */ 5 | 6 | var fs = require("fs"), 7 | http = require("http"), 8 | tmpl = require("mustache"), 9 | extract = /(.*?)<[^"]+"component">\s*(\S+)/g; 10 | 11 | var opts = { 12 | version: "1.7.2rc1", 13 | short_version: "1.7.2rc1", 14 | final_version: "1.7.2", 15 | categories: [] 16 | }; 17 | 18 | http.request({ 19 | host: "bugs.jquery.com", 20 | port: 80, 21 | method: "GET", 22 | path: "/query?status=closed&resolution=fixed&component=!web&order=component&milestone=" + opts.final_version 23 | }, function (res) { 24 | var data = []; 25 | 26 | res.on( "data", function( chunk ) { 27 | data.push( chunk ); 28 | }); 29 | 30 | res.on( "end", function() { 31 | var match, 32 | file = data.join(""), 33 | cur; 34 | 35 | while ( (match = extract.exec( file )) ) { 36 | if ( "#" + match[1] !== match[2] ) { 37 | var cat = match[3]; 38 | 39 | if ( !cur || cur.name !== cat ) { 40 | cur = { name: match[3], niceName: match[3].replace(/^./, function(a){ return a.toUpperCase(); }), bugs: [] }; 41 | opts.categories.push( cur ); 42 | } 43 | 44 | cur.bugs.push({ ticket: match[1], title: match[2] }); 45 | } 46 | } 47 | 48 | buildNotes(); 49 | }); 50 | }).end(); 51 | 52 | function buildNotes() { 53 | console.log( tmpl.to_html( fs.readFileSync("release-notes.txt", "utf8"), opts ) ); 54 | } 55 | -------------------------------------------------------------------------------- /bower_components/jquery/build/release-notes.txt: -------------------------------------------------------------------------------- 1 |

jQuery {{version}} Released

2 | 3 |

This is a preview release of jQuery. We're releasing it so that everyone can start testing the code in their applications, making sure that there are no major problems.

4 | 5 |

You can get the code from the jQuery CDN:

6 | 7 |
10 | 11 |

You can help us by dropping that code into your existing application and letting us know that if anything no longer works. Please file a bug and be sure to mention that you're testing against jQuery {{version}}.

12 | 13 |

We want to encourage everyone from the community to try and get involved in contributing back to jQuery core. We've set up a full page of information dedicated towards becoming more involved with the team. The team is here and ready to help you help us!

14 | 15 |

jQuery {{version}} Change Log

16 | 17 |

The current change log of the {{version}} release.

18 | 19 | {{#categories}} 20 |

{{niceName}}

21 | 22 | 27 | {{/categories}} 28 | -------------------------------------------------------------------------------- /bower_components/jquery/build/release.js: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env node 2 | /* 3 | * jQuery Release Management 4 | */ 5 | 6 | var fs = require("fs"), 7 | child = require("child_process"), 8 | debug = false; 9 | 10 | var scpURL = "jqadmin@code.origin.jquery.com:/var/www/html/code.jquery.com/", 11 | cdnURL = "http://code.origin.jquery.com/", 12 | 13 | version = /^[\d.]+(?:(?:a|b|rc)\d+|pre)?$/, 14 | versionFile = "version.txt", 15 | 16 | file = "dist/jquery.js", 17 | minFile = "dist/jquery.min.js", 18 | 19 | files = { 20 | "jquery-VER.js": file, 21 | "jquery-VER.min.js": minFile 22 | }, 23 | 24 | finalFiles = { 25 | "jquery.js": file, 26 | "jquery-latest.js": file, 27 | "jquery.min.js": minFile, 28 | "jquery-latest.min.js": minFile 29 | }; 30 | 31 | exec( "git pull && git status", function( error, stdout, stderr ) { 32 | if ( /Changes to be committed/i.test( stdout ) ) { 33 | exit( "Please commit changed files before attemping to push a release." ); 34 | 35 | } else if ( /Changes not staged for commit/i.test( stdout ) ) { 36 | exit( "Please stash files before attempting to push a release." ); 37 | 38 | } else { 39 | setVersion(); 40 | } 41 | }); 42 | 43 | function setVersion() { 44 | var oldVersion = fs.readFileSync( versionFile, "utf8" ); 45 | 46 | prompt( "New Version (was " + oldVersion + "): ", function( data ) { 47 | if ( data && version.test( data ) ) { 48 | fs.writeFileSync( versionFile, data ); 49 | 50 | exec( "git commit -a -m 'Tagging the " + data + " release.' && git push && " + 51 | "git tag " + data + " && git push origin " + data, function() { 52 | make( data ); 53 | }); 54 | 55 | } else { 56 | console.error( "Malformed version number, please try again." ); 57 | setVersion(); 58 | } 59 | }); 60 | } 61 | 62 | function make( newVersion ) { 63 | exec( "make clean && make", function( error, stdout, stderr ) { 64 | // TODO: Verify JSLint 65 | 66 | Object.keys( files ).forEach(function( oldName ) { 67 | var value = files[ oldName ], name = oldName.replace( /VER/g, newVersion ); 68 | 69 | copy( value, name ); 70 | 71 | delete files[ oldName ]; 72 | files[ name ] = value; 73 | }); 74 | 75 | exec( "scp " + Object.keys( files ).join( " " ) + " " + scpURL, function() { 76 | setNextVersion( newVersion ); 77 | }); 78 | }); 79 | } 80 | 81 | function setNextVersion( newVersion ) { 82 | var isFinal = false; 83 | 84 | if ( /(?:a|b|rc)\d+$/.test( newVersion ) ) { 85 | newVersion = newVersion.replace( /(?:a|b|rc)\d+$/, "pre" ); 86 | 87 | } else if ( /^\d+\.\d+\.?(\d*)$/.test( newVersion ) ) { 88 | newVersion = newVersion.replace( /^(\d+\.\d+\.?)(\d*)$/, function( all, pre, num ) { 89 | return pre + (pre.charAt( pre.length - 1 ) !== "." ? "." : "") + (num ? parseFloat( num ) + 1 : 1) + "pre"; 90 | }); 91 | 92 | isFinal = true; 93 | } 94 | 95 | prompt( "Next Version [" + newVersion + "]: ", function( data ) { 96 | if ( !data ) { 97 | data = newVersion; 98 | } 99 | 100 | if ( version.test( data ) ) { 101 | fs.writeFileSync( versionFile, data ); 102 | 103 | exec( "git commit -a -m 'Updating the source version to " + data + "' && git push", function() { 104 | if ( isFinal ) { 105 | makeFinal( newVersion ); 106 | } 107 | }); 108 | 109 | } else { 110 | console.error( "Malformed version number, please try again." ); 111 | setNextVersion( newVersion ); 112 | } 113 | }); 114 | } 115 | 116 | function makeFinal( newVersion ) { 117 | var all = Object.keys( finalFiles ); 118 | 119 | // Copy all the files 120 | all.forEach(function( name ) { 121 | copy( finalFiles[ name ], name ); 122 | }); 123 | 124 | // Upload files to CDN 125 | exec( "scp " + all.join( " " ) + " " + scpURL, function() { 126 | exec( "curl '" + cdnURL + "{" + all.join( "," ) + "}?reload'", function() { 127 | console.log( "Done." ); 128 | }); 129 | }); 130 | } 131 | 132 | function copy( oldFile, newFile ) { 133 | if ( debug ) { 134 | console.log( "Copying " + oldFile + " to " + newFile ); 135 | 136 | } else { 137 | fs.writeFileSync( newFile, fs.readFileSync( oldFile, "utf8" ) ); 138 | } 139 | } 140 | 141 | function prompt( msg, callback ) { 142 | process.stdout.write( msg ); 143 | 144 | process.stdin.resume(); 145 | process.stdin.setEncoding( "utf8" ); 146 | 147 | process.stdin.once( "data", function( chunk ) { 148 | process.stdin.pause(); 149 | callback( chunk.replace( /\n*$/g, "" ) ); 150 | }); 151 | } 152 | 153 | function exec( cmd, fn ) { 154 | if ( debug ) { 155 | console.log( cmd ); 156 | fn(); 157 | 158 | } else { 159 | child.exec( cmd, fn ); 160 | } 161 | } 162 | 163 | function exit( msg ) { 164 | if ( msg ) { 165 | console.error( "\nError: " + msg ); 166 | } 167 | 168 | process.exit( 1 ); 169 | } 170 | -------------------------------------------------------------------------------- /bower_components/jquery/build/sizer.js: -------------------------------------------------------------------------------- 1 | var fs = require( "fs" ), 2 | stdin = process.openStdin(), 3 | rsize = /(\d+).*?(jquery\S+)/g, 4 | oldsizes = {}, 5 | sizes = {}; 6 | 7 | try { 8 | oldsizes = JSON.parse( fs.readFileSync( __dirname + "/.sizecache.json", "utf8" ) ); 9 | } catch(e) { 10 | oldsizes = {}; 11 | }; 12 | 13 | stdin.on( "data" , function( chunk ) { 14 | var match; 15 | 16 | while ( match = rsize.exec( chunk ) ) { 17 | sizes[ match[2] ] = parseInt( match[1], 10 ); 18 | } 19 | }); 20 | 21 | function lpad( str, len, chr ) { 22 | return ( Array(len+1).join( chr || " ") + str ).substr( -len ); 23 | } 24 | 25 | stdin.on( "end", function() { 26 | console.log( "jQuery Size - compared to last make" ); 27 | fs.writeFileSync( __dirname + "/.sizecache.json", JSON.stringify( sizes, true ), "utf8" ); 28 | for ( var key in sizes ) { 29 | var diff = oldsizes[ key ] && ( sizes[ key ] - oldsizes[ key ] ); 30 | if ( diff > 0 ) { 31 | diff = "+" + diff; 32 | } 33 | console.log( "%s %s %s", lpad( sizes[ key ], 8 ), lpad( diff ? "(" + diff + ")" : "(-)", 8 ), key ); 34 | } 35 | process.exit(); 36 | }); -------------------------------------------------------------------------------- /bower_components/jquery/speed/benchmark.js: -------------------------------------------------------------------------------- 1 | // Runs a function many times without the function call overhead 2 | function benchmark(fn, times, name){ 3 | fn = fn.toString(); 4 | var s = fn.indexOf('{')+1, 5 | e = fn.lastIndexOf('}'); 6 | fn = fn.substring(s,e); 7 | 8 | return benchmarkString(fn, times, name); 9 | } 10 | 11 | function benchmarkString(fn, times, name) { 12 | var fn = new Function("i", "var t=new Date; while(i--) {" + fn + "}; return new Date - t")(times) 13 | fn.displayName = name || "benchmarked"; 14 | return fn; 15 | } 16 | -------------------------------------------------------------------------------- /bower_components/jquery/speed/benchmarker.css: -------------------------------------------------------------------------------- 1 | 2 | .dialog { 3 | margin-bottom: 1em; 4 | } 5 | a.expand { 6 | background: #e3e3e3; 7 | } 8 | 9 | div#time-test { 10 | font-family: Arial, Helvetica, sans-serif; 11 | font-size: 62.5%; 12 | } 13 | 14 | td.test button { 15 | float: right; 16 | } 17 | 18 | table { 19 | border: 1px solid #000; 20 | } 21 | 22 | table td, table th { 23 | border: 1px solid #000; 24 | padding: 10px; 25 | } 26 | 27 | td.winner { 28 | background-color: #cfc; 29 | } 30 | 31 | td.tie { 32 | background-color: #ffc; 33 | } 34 | 35 | td.fail { 36 | background-color: #f99; 37 | font-weight: bold; 38 | text-align: center; 39 | } 40 | 41 | tfoot td { 42 | text-align: center; 43 | } 44 | 45 | #time-test { 46 | margin: 1em 0; 47 | padding: .5em; 48 | background: #e3e3e3; 49 | } 50 | #time-taken { 51 | font-weight: bold; 52 | } 53 | 54 | span.wins { 55 | color: #330; 56 | } 57 | 58 | span.fails { 59 | color: #900; 60 | } 61 | 62 | div.buttons { 63 | margin-top: 10px; 64 | margin-bottom: 10px; 65 | } -------------------------------------------------------------------------------- /bower_components/jquery/speed/closest.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | Test .closest() Performance 5 | 6 | 7 | 8 | 9 | 25 | 26 | 27 |
28 |

Hello

29 |
30 |
31 |

lorem ipsum

32 |

dolor sit amet

33 |
34 |
35 |
36 | 37 | 38 | 39 | 40 | -------------------------------------------------------------------------------- /bower_components/jquery/speed/css.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | Test Event Handling Performance 5 | 6 | 7 | 8 | 9 | 76 | 77 | 78 | 79 |

Getting Values: Loading...

80 |

Setting Values: Loading...

81 | 82 | 83 | -------------------------------------------------------------------------------- /bower_components/jquery/speed/event.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | Test Event Handling Performance 5 | 6 | 7 | 8 | 9 | 53 | 54 | 55 |

Move the mouse, please!

56 |

57 | 58 | 59 | -------------------------------------------------------------------------------- /bower_components/jquery/speed/slice.vs.concat.html: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /bower_components/jquery/src/ajax/jsonp.js: -------------------------------------------------------------------------------- 1 | (function( jQuery ) { 2 | 3 | var jsc = jQuery.now(), 4 | jsre = /(\=)\?(&|$)|\?\?/i; 5 | 6 | // Default jsonp settings 7 | jQuery.ajaxSetup({ 8 | jsonp: "callback", 9 | jsonpCallback: function() { 10 | return jQuery.expando + "_" + ( jsc++ ); 11 | } 12 | }); 13 | 14 | // Detect, normalize options and install callbacks for jsonp requests 15 | jQuery.ajaxPrefilter( "json jsonp", function( s, originalSettings, jqXHR ) { 16 | 17 | var inspectData = ( typeof s.data === "string" ) && /^application\/x\-www\-form\-urlencoded/.test( s.contentType ); 18 | 19 | if ( s.dataTypes[ 0 ] === "jsonp" || 20 | s.jsonp !== false && ( jsre.test( s.url ) || 21 | inspectData && jsre.test( s.data ) ) ) { 22 | 23 | var responseContainer, 24 | jsonpCallback = s.jsonpCallback = 25 | jQuery.isFunction( s.jsonpCallback ) ? s.jsonpCallback() : s.jsonpCallback, 26 | previous = window[ jsonpCallback ], 27 | url = s.url, 28 | data = s.data, 29 | replace = "$1" + jsonpCallback + "$2"; 30 | 31 | if ( s.jsonp !== false ) { 32 | url = url.replace( jsre, replace ); 33 | if ( s.url === url ) { 34 | if ( inspectData ) { 35 | data = data.replace( jsre, replace ); 36 | } 37 | if ( s.data === data ) { 38 | // Add callback manually 39 | url += (/\?/.test( url ) ? "&" : "?") + s.jsonp + "=" + jsonpCallback; 40 | } 41 | } 42 | } 43 | 44 | s.url = url; 45 | s.data = data; 46 | 47 | // Install callback 48 | window[ jsonpCallback ] = function( response ) { 49 | responseContainer = [ response ]; 50 | }; 51 | 52 | // Clean-up function 53 | jqXHR.always(function() { 54 | // Set callback back to previous value 55 | window[ jsonpCallback ] = previous; 56 | // Call if it was a function and we have a response 57 | if ( responseContainer && jQuery.isFunction( previous ) ) { 58 | window[ jsonpCallback ]( responseContainer[ 0 ] ); 59 | } 60 | }); 61 | 62 | // Use data converter to retrieve json after script execution 63 | s.converters["script json"] = function() { 64 | if ( !responseContainer ) { 65 | jQuery.error( jsonpCallback + " was not called" ); 66 | } 67 | return responseContainer[ 0 ]; 68 | }; 69 | 70 | // force json dataType 71 | s.dataTypes[ 0 ] = "json"; 72 | 73 | // Delegate to script 74 | return "script"; 75 | } 76 | }); 77 | 78 | })( jQuery ); 79 | -------------------------------------------------------------------------------- /bower_components/jquery/src/ajax/script.js: -------------------------------------------------------------------------------- 1 | (function( jQuery ) { 2 | 3 | // Install script dataType 4 | jQuery.ajaxSetup({ 5 | accepts: { 6 | script: "text/javascript, application/javascript, application/ecmascript, application/x-ecmascript" 7 | }, 8 | contents: { 9 | script: /javascript|ecmascript/ 10 | }, 11 | converters: { 12 | "text script": function( text ) { 13 | jQuery.globalEval( text ); 14 | return text; 15 | } 16 | } 17 | }); 18 | 19 | // Handle cache's special case and global 20 | jQuery.ajaxPrefilter( "script", function( s ) { 21 | if ( s.cache === undefined ) { 22 | s.cache = false; 23 | } 24 | if ( s.crossDomain ) { 25 | s.type = "GET"; 26 | s.global = false; 27 | } 28 | }); 29 | 30 | // Bind script tag hack transport 31 | jQuery.ajaxTransport( "script", function(s) { 32 | 33 | // This transport only deals with cross domain requests 34 | if ( s.crossDomain ) { 35 | 36 | var script, 37 | head = document.head || document.getElementsByTagName( "head" )[0] || document.documentElement; 38 | 39 | return { 40 | 41 | send: function( _, callback ) { 42 | 43 | script = document.createElement( "script" ); 44 | 45 | script.async = "async"; 46 | 47 | if ( s.scriptCharset ) { 48 | script.charset = s.scriptCharset; 49 | } 50 | 51 | script.src = s.url; 52 | 53 | // Attach handlers for all browsers 54 | script.onload = script.onreadystatechange = function( _, isAbort ) { 55 | 56 | if ( isAbort || !script.readyState || /loaded|complete/.test( script.readyState ) ) { 57 | 58 | // Handle memory leak in IE 59 | script.onload = script.onreadystatechange = null; 60 | 61 | // Remove the script 62 | if ( head && script.parentNode ) { 63 | head.removeChild( script ); 64 | } 65 | 66 | // Dereference the script 67 | script = undefined; 68 | 69 | // Callback if not abort 70 | if ( !isAbort ) { 71 | callback( 200, "success" ); 72 | } 73 | } 74 | }; 75 | // Use insertBefore instead of appendChild to circumvent an IE6 bug. 76 | // This arises when a base node is used (#2709 and #4378). 77 | head.insertBefore( script, head.firstChild ); 78 | }, 79 | 80 | abort: function() { 81 | if ( script ) { 82 | script.onload( 0, 1 ); 83 | } 84 | } 85 | }; 86 | } 87 | }); 88 | 89 | })( jQuery ); 90 | -------------------------------------------------------------------------------- /bower_components/jquery/src/deferred.js: -------------------------------------------------------------------------------- 1 | (function( jQuery ) { 2 | 3 | var // Static reference to slice 4 | sliceDeferred = [].slice; 5 | 6 | jQuery.extend({ 7 | 8 | Deferred: function( func ) { 9 | var doneList = jQuery.Callbacks( "once memory" ), 10 | failList = jQuery.Callbacks( "once memory" ), 11 | progressList = jQuery.Callbacks( "memory" ), 12 | state = "pending", 13 | lists = { 14 | resolve: doneList, 15 | reject: failList, 16 | notify: progressList 17 | }, 18 | promise = { 19 | done: doneList.add, 20 | fail: failList.add, 21 | progress: progressList.add, 22 | 23 | state: function() { 24 | return state; 25 | }, 26 | 27 | // Deprecated 28 | isResolved: doneList.fired, 29 | isRejected: failList.fired, 30 | 31 | then: function( doneCallbacks, failCallbacks, progressCallbacks ) { 32 | deferred.done( doneCallbacks ).fail( failCallbacks ).progress( progressCallbacks ); 33 | return this; 34 | }, 35 | always: function() { 36 | deferred.done.apply( deferred, arguments ).fail.apply( deferred, arguments ); 37 | return this; 38 | }, 39 | pipe: function( fnDone, fnFail, fnProgress ) { 40 | return jQuery.Deferred(function( newDefer ) { 41 | jQuery.each( { 42 | done: [ fnDone, "resolve" ], 43 | fail: [ fnFail, "reject" ], 44 | progress: [ fnProgress, "notify" ] 45 | }, function( handler, data ) { 46 | var fn = data[ 0 ], 47 | action = data[ 1 ], 48 | returned; 49 | if ( jQuery.isFunction( fn ) ) { 50 | deferred[ handler ](function() { 51 | returned = fn.apply( this, arguments ); 52 | if ( returned && jQuery.isFunction( returned.promise ) ) { 53 | returned.promise().then( newDefer.resolve, newDefer.reject, newDefer.notify ); 54 | } else { 55 | newDefer[ action + "With" ]( this === deferred ? newDefer : this, [ returned ] ); 56 | } 57 | }); 58 | } else { 59 | deferred[ handler ]( newDefer[ action ] ); 60 | } 61 | }); 62 | }).promise(); 63 | }, 64 | // Get a promise for this deferred 65 | // If obj is provided, the promise aspect is added to the object 66 | promise: function( obj ) { 67 | if ( obj == null ) { 68 | obj = promise; 69 | } else { 70 | for ( var key in promise ) { 71 | obj[ key ] = promise[ key ]; 72 | } 73 | } 74 | return obj; 75 | } 76 | }, 77 | deferred = promise.promise({}), 78 | key; 79 | 80 | for ( key in lists ) { 81 | deferred[ key ] = lists[ key ].fire; 82 | deferred[ key + "With" ] = lists[ key ].fireWith; 83 | } 84 | 85 | // Handle state 86 | deferred.done( function() { 87 | state = "resolved"; 88 | }, failList.disable, progressList.lock ).fail( function() { 89 | state = "rejected"; 90 | }, doneList.disable, progressList.lock ); 91 | 92 | // Call given func if any 93 | if ( func ) { 94 | func.call( deferred, deferred ); 95 | } 96 | 97 | // All done! 98 | return deferred; 99 | }, 100 | 101 | // Deferred helper 102 | when: function( firstParam ) { 103 | var args = sliceDeferred.call( arguments, 0 ), 104 | i = 0, 105 | length = args.length, 106 | pValues = new Array( length ), 107 | count = length, 108 | pCount = length, 109 | deferred = length <= 1 && firstParam && jQuery.isFunction( firstParam.promise ) ? 110 | firstParam : 111 | jQuery.Deferred(), 112 | promise = deferred.promise(); 113 | function resolveFunc( i ) { 114 | return function( value ) { 115 | args[ i ] = arguments.length > 1 ? sliceDeferred.call( arguments, 0 ) : value; 116 | if ( !( --count ) ) { 117 | deferred.resolveWith( deferred, args ); 118 | } 119 | }; 120 | } 121 | function progressFunc( i ) { 122 | return function( value ) { 123 | pValues[ i ] = arguments.length > 1 ? sliceDeferred.call( arguments, 0 ) : value; 124 | deferred.notifyWith( promise, pValues ); 125 | }; 126 | } 127 | if ( length > 1 ) { 128 | for ( ; i < length; i++ ) { 129 | if ( args[ i ] && args[ i ].promise && jQuery.isFunction( args[ i ].promise ) ) { 130 | args[ i ].promise().then( resolveFunc(i), deferred.reject, progressFunc(i) ); 131 | } else { 132 | --count; 133 | } 134 | } 135 | if ( !count ) { 136 | deferred.resolveWith( deferred, args ); 137 | } 138 | } else if ( deferred !== firstParam ) { 139 | deferred.resolveWith( deferred, length ? [ firstParam ] : [] ); 140 | } 141 | return promise; 142 | } 143 | }); 144 | 145 | })( jQuery ); 146 | -------------------------------------------------------------------------------- /bower_components/jquery/src/dimensions.js: -------------------------------------------------------------------------------- 1 | (function( jQuery ) { 2 | 3 | // Create width, height, innerHeight, innerWidth, outerHeight and outerWidth methods 4 | jQuery.each( { Height: "height", Width: "width" }, function( name, type ) { 5 | var clientProp = "client" + name, 6 | scrollProp = "scroll" + name, 7 | offsetProp = "offset" + name; 8 | 9 | // innerHeight and innerWidth 10 | jQuery.fn[ "inner" + name ] = function() { 11 | var elem = this[0]; 12 | return elem ? 13 | elem.style ? 14 | parseFloat( jQuery.css( elem, type, "padding" ) ) : 15 | this[ type ]() : 16 | null; 17 | }; 18 | 19 | // outerHeight and outerWidth 20 | jQuery.fn[ "outer" + name ] = function( margin ) { 21 | var elem = this[0]; 22 | return elem ? 23 | elem.style ? 24 | parseFloat( jQuery.css( elem, type, margin ? "margin" : "border" ) ) : 25 | this[ type ]() : 26 | null; 27 | }; 28 | 29 | jQuery.fn[ type ] = function( value ) { 30 | return jQuery.access( this, function( elem, type, value ) { 31 | var doc, docElemProp, orig, ret; 32 | 33 | if ( jQuery.isWindow( elem ) ) { 34 | // 3rd condition allows Nokia support, as it supports the docElem prop but not CSS1Compat 35 | doc = elem.document; 36 | docElemProp = doc.documentElement[ clientProp ]; 37 | return jQuery.support.boxModel && docElemProp || 38 | doc.body && doc.body[ clientProp ] || docElemProp; 39 | } 40 | 41 | // Get document width or height 42 | if ( elem.nodeType === 9 ) { 43 | // Either scroll[Width/Height] or offset[Width/Height], whichever is greater 44 | doc = elem.documentElement; 45 | 46 | // when a window > document, IE6 reports a offset[Width/Height] > client[Width/Height] 47 | // so we can't use max, as it'll choose the incorrect offset[Width/Height] 48 | // instead we use the correct client[Width/Height] 49 | // support:IE6 50 | if ( doc[ clientProp ] >= doc[ scrollProp ] ) { 51 | return doc[ clientProp ]; 52 | } 53 | 54 | return Math.max( 55 | elem.body[ scrollProp ], doc[ scrollProp ], 56 | elem.body[ offsetProp ], doc[ offsetProp ] 57 | ); 58 | } 59 | 60 | // Get width or height on the element 61 | if ( value === undefined ) { 62 | orig = jQuery.css( elem, type ); 63 | ret = parseFloat( orig ); 64 | return jQuery.isNumeric( ret ) ? ret : orig; 65 | } 66 | 67 | // Set the width or height on the element 68 | jQuery( elem ).css( type, value ); 69 | }, type, value, arguments.length, null ); 70 | }; 71 | }); 72 | 73 | })( jQuery ); 74 | -------------------------------------------------------------------------------- /bower_components/jquery/src/exports.js: -------------------------------------------------------------------------------- 1 | (function( jQuery ) { 2 | 3 | // Expose jQuery to the global object 4 | window.jQuery = window.$ = jQuery; 5 | 6 | // Expose jQuery as an AMD module, but only for AMD loaders that 7 | // understand the issues with loading multiple versions of jQuery 8 | // in a page that all might call define(). The loader will indicate 9 | // they have special allowances for multiple jQuery versions by 10 | // specifying define.amd.jQuery = true. Register as a named module, 11 | // since jQuery can be concatenated with other files that may use define, 12 | // but not use a proper concatenation script that understands anonymous 13 | // AMD modules. A named AMD is safest and most robust way to register. 14 | // Lowercase jquery is used because AMD module names are derived from 15 | // file names, and jQuery is normally delivered in a lowercase file name. 16 | // Do this after creating the global so that if an AMD module wants to call 17 | // noConflict to hide this version of jQuery, it will work. 18 | if ( typeof define === "function" && define.amd && define.amd.jQuery ) { 19 | define( "jquery", [], function () { return jQuery; } ); 20 | } 21 | 22 | })( jQuery ); 23 | -------------------------------------------------------------------------------- /bower_components/jquery/src/intro.js: -------------------------------------------------------------------------------- 1 | /*! 2 | * jQuery JavaScript Library v@VERSION 3 | * http://jquery.com/ 4 | * 5 | * Copyright 2011, John Resig 6 | * Dual licensed under the MIT or GPL Version 2 licenses. 7 | * http://jquery.org/license 8 | * 9 | * Includes Sizzle.js 10 | * http://sizzlejs.com/ 11 | * Copyright 2011, The Dojo Foundation 12 | * Released under the MIT, BSD, and GPL Licenses. 13 | * 14 | * Date: @DATE 15 | */ 16 | (function( window, undefined ) { 17 | 18 | // Use the correct document accordingly with window argument (sandbox) 19 | var document = window.document, 20 | navigator = window.navigator, 21 | location = window.location; 22 | -------------------------------------------------------------------------------- /bower_components/jquery/src/outro.js: -------------------------------------------------------------------------------- 1 | 2 | })( window ); 3 | -------------------------------------------------------------------------------- /bower_components/jquery/src/queue.js: -------------------------------------------------------------------------------- 1 | (function( jQuery ) { 2 | 3 | function handleQueueMarkDefer( elem, type, src ) { 4 | var deferDataKey = type + "defer", 5 | queueDataKey = type + "queue", 6 | markDataKey = type + "mark", 7 | defer = jQuery._data( elem, deferDataKey ); 8 | if ( defer && 9 | ( src === "queue" || !jQuery._data(elem, queueDataKey) ) && 10 | ( src === "mark" || !jQuery._data(elem, markDataKey) ) ) { 11 | // Give room for hard-coded callbacks to fire first 12 | // and eventually mark/queue something else on the element 13 | setTimeout( function() { 14 | if ( !jQuery._data( elem, queueDataKey ) && 15 | !jQuery._data( elem, markDataKey ) ) { 16 | jQuery.removeData( elem, deferDataKey, true ); 17 | defer.fire(); 18 | } 19 | }, 0 ); 20 | } 21 | } 22 | 23 | jQuery.extend({ 24 | 25 | _mark: function( elem, type ) { 26 | if ( elem ) { 27 | type = ( type || "fx" ) + "mark"; 28 | jQuery._data( elem, type, (jQuery._data( elem, type ) || 0) + 1 ); 29 | } 30 | }, 31 | 32 | _unmark: function( force, elem, type ) { 33 | if ( force !== true ) { 34 | type = elem; 35 | elem = force; 36 | force = false; 37 | } 38 | if ( elem ) { 39 | type = type || "fx"; 40 | var key = type + "mark", 41 | count = force ? 0 : ( (jQuery._data( elem, key ) || 1) - 1 ); 42 | if ( count ) { 43 | jQuery._data( elem, key, count ); 44 | } else { 45 | jQuery.removeData( elem, key, true ); 46 | handleQueueMarkDefer( elem, type, "mark" ); 47 | } 48 | } 49 | }, 50 | 51 | queue: function( elem, type, data ) { 52 | var q; 53 | if ( elem ) { 54 | type = ( type || "fx" ) + "queue"; 55 | q = jQuery._data( elem, type ); 56 | 57 | // Speed up dequeue by getting out quickly if this is just a lookup 58 | if ( data ) { 59 | if ( !q || jQuery.isArray(data) ) { 60 | q = jQuery._data( elem, type, jQuery.makeArray(data) ); 61 | } else { 62 | q.push( data ); 63 | } 64 | } 65 | return q || []; 66 | } 67 | }, 68 | 69 | dequeue: function( elem, type ) { 70 | type = type || "fx"; 71 | 72 | var queue = jQuery.queue( elem, type ), 73 | fn = queue.shift(), 74 | hooks = {}; 75 | 76 | // If the fx queue is dequeued, always remove the progress sentinel 77 | if ( fn === "inprogress" ) { 78 | fn = queue.shift(); 79 | } 80 | 81 | if ( fn ) { 82 | // Add a progress sentinel to prevent the fx queue from being 83 | // automatically dequeued 84 | if ( type === "fx" ) { 85 | queue.unshift( "inprogress" ); 86 | } 87 | 88 | jQuery._data( elem, type + ".run", hooks ); 89 | fn.call( elem, function() { 90 | jQuery.dequeue( elem, type ); 91 | }, hooks ); 92 | } 93 | 94 | if ( !queue.length ) { 95 | jQuery.removeData( elem, type + "queue " + type + ".run", true ); 96 | handleQueueMarkDefer( elem, type, "queue" ); 97 | } 98 | } 99 | }); 100 | 101 | jQuery.fn.extend({ 102 | queue: function( type, data ) { 103 | var setter = 2; 104 | 105 | if ( typeof type !== "string" ) { 106 | data = type; 107 | type = "fx"; 108 | setter--; 109 | } 110 | 111 | if ( arguments.length < setter ) { 112 | return jQuery.queue( this[0], type ); 113 | } 114 | 115 | return data === undefined ? 116 | this : 117 | this.each(function() { 118 | var queue = jQuery.queue( this, type, data ); 119 | 120 | if ( type === "fx" && queue[0] !== "inprogress" ) { 121 | jQuery.dequeue( this, type ); 122 | } 123 | }); 124 | }, 125 | dequeue: function( type ) { 126 | return this.each(function() { 127 | jQuery.dequeue( this, type ); 128 | }); 129 | }, 130 | // Based off of the plugin by Clint Helfers, with permission. 131 | // http://blindsignals.com/index.php/2009/07/jquery-delay/ 132 | delay: function( time, type ) { 133 | time = jQuery.fx ? jQuery.fx.speeds[ time ] || time : time; 134 | type = type || "fx"; 135 | 136 | return this.queue( type, function( next, hooks ) { 137 | var timeout = setTimeout( next, time ); 138 | hooks.stop = function() { 139 | clearTimeout( timeout ); 140 | }; 141 | }); 142 | }, 143 | clearQueue: function( type ) { 144 | return this.queue( type || "fx", [] ); 145 | }, 146 | // Get a promise resolved when queues of a certain type 147 | // are emptied (fx is the type by default) 148 | promise: function( type, object ) { 149 | if ( typeof type !== "string" ) { 150 | object = type; 151 | type = undefined; 152 | } 153 | type = type || "fx"; 154 | var defer = jQuery.Deferred(), 155 | elements = this, 156 | i = elements.length, 157 | count = 1, 158 | deferDataKey = type + "defer", 159 | queueDataKey = type + "queue", 160 | markDataKey = type + "mark", 161 | tmp; 162 | function resolve() { 163 | if ( !( --count ) ) { 164 | defer.resolveWith( elements, [ elements ] ); 165 | } 166 | } 167 | while( i-- ) { 168 | if (( tmp = jQuery.data( elements[ i ], deferDataKey, undefined, true ) || 169 | ( jQuery.data( elements[ i ], queueDataKey, undefined, true ) || 170 | jQuery.data( elements[ i ], markDataKey, undefined, true ) ) && 171 | jQuery.data( elements[ i ], deferDataKey, jQuery.Callbacks( "once memory" ), true ) )) { 172 | count++; 173 | tmp.add( resolve ); 174 | } 175 | } 176 | resolve(); 177 | return defer.promise( object ); 178 | } 179 | }); 180 | 181 | })( jQuery ); 182 | -------------------------------------------------------------------------------- /bower_components/jquery/src/sizzle-jquery.js: -------------------------------------------------------------------------------- 1 | // Override sizzle attribute retrieval 2 | Sizzle.attr = jQuery.attr; 3 | Sizzle.selectors.attrMap = {}; 4 | jQuery.find = Sizzle; 5 | jQuery.expr = Sizzle.selectors; 6 | jQuery.expr[":"] = jQuery.expr.filters; 7 | jQuery.unique = Sizzle.uniqueSort; 8 | jQuery.text = Sizzle.getText; 9 | jQuery.isXMLDoc = Sizzle.isXML; 10 | jQuery.contains = Sizzle.contains; 11 | -------------------------------------------------------------------------------- /bower_components/jquery/test/csp.php: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | CSP Test Page 7 | 8 | 9 | 10 | 11 |

CSP Test Page

12 | 13 | 14 | -------------------------------------------------------------------------------- /bower_components/jquery/test/data/1x1.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sgruhier/typeahead-addresspicker/f53498183624a58ab17b6e949737945aa52731a4/bower_components/jquery/test/data/1x1.jpg -------------------------------------------------------------------------------- /bower_components/jquery/test/data/atom+xml.php: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | -------------------------------------------------------------------------------- /bower_components/jquery/test/data/badjson.js: -------------------------------------------------------------------------------- 1 | {bad: 1} 2 | -------------------------------------------------------------------------------- /bower_components/jquery/test/data/dashboard.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | -------------------------------------------------------------------------------- /bower_components/jquery/test/data/dimensions/documentLarge.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 11 | 12 | 13 |
14 | 15 |
16 | 17 | -------------------------------------------------------------------------------- /bower_components/jquery/test/data/dimensions/documentSmall.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 |
10 | 11 | -------------------------------------------------------------------------------- /bower_components/jquery/test/data/echoData.php: -------------------------------------------------------------------------------- 1 | 2 | -------------------------------------------------------------------------------- /bower_components/jquery/test/data/echoQuery.php: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /bower_components/jquery/test/data/errorWithText.php: -------------------------------------------------------------------------------- 1 | 22 | -------------------------------------------------------------------------------- /bower_components/jquery/test/data/evalScript.php: -------------------------------------------------------------------------------- 1 | ok( "" === "GET", "request method is " ); -------------------------------------------------------------------------------- /bower_components/jquery/test/data/headers.php: -------------------------------------------------------------------------------- 1 | $value ) { 10 | 11 | $key = str_replace( "_" , "-" , substr( $key , 0 , 5 ) == "HTTP_" ? substr( $key , 5 ) : $key ); 12 | $headers[ $key ] = $value; 13 | 14 | } 15 | 16 | foreach( explode( "_" , $_GET[ "keys" ] ) as $key ) { 17 | echo "$key: " . @$headers[ strtoupper( $key ) ] . "\n"; 18 | } 19 | -------------------------------------------------------------------------------- /bower_components/jquery/test/data/if_modified_since.php: -------------------------------------------------------------------------------- 1 | 21 | -------------------------------------------------------------------------------- /bower_components/jquery/test/data/iframe.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | iframe 4 | 5 | 6 |
span text
7 | 8 | 9 | -------------------------------------------------------------------------------- /bower_components/jquery/test/data/include_js.php: -------------------------------------------------------------------------------- 1 | /* 2 | <'+'/script>');"; 28 | } 29 | 30 | // the concatenated version of the the src files is both the default and the fallback 31 | // because it does not require you to "make" jquery for it to update 32 | if( $output === "" ) { 33 | $files = array( 34 | "intro", 35 | "core", 36 | "callbacks", 37 | "deferred", 38 | "support", 39 | "data", 40 | "queue", 41 | "attributes", 42 | "event", 43 | "sizzle/sizzle", 44 | "sizzle-jquery", 45 | "traversing", 46 | "manipulation", 47 | "css", 48 | "ajax", 49 | "ajax/jsonp", 50 | "ajax/script", 51 | "ajax/xhr", 52 | "effects", 53 | "offset", 54 | "dimensions", 55 | "exports", 56 | "outro" 57 | ); 58 | 59 | foreach ( $files as $file ) { 60 | $output .= file_get_contents( "../../src/" . $file . ".js" ); 61 | } 62 | 63 | $output = str_replace( "(function( jQuery ) {", "", $output ); 64 | $output = str_replace( "})( jQuery );", "", $output ); 65 | } 66 | 67 | echo $output; 68 | die(); 69 | ?> 70 | */ 71 | 72 | hasPHP = false; 73 | 74 | // javascript fallback using src files in case this is not run on a PHP server! 75 | // please note that this fallback is for convenience only, and is not fully supported 76 | // i.e. don't expect all of the tests to work properly 77 | var baseURL = document.location.href.replace( /\/test\/.+/, "/"), 78 | files = [ 79 | "core", 80 | "callbacks", 81 | "deferred", 82 | "support", 83 | "data", 84 | "queue", 85 | "attributes", 86 | "event", 87 | "sizzle/sizzle", 88 | "sizzle-jquery", 89 | "traversing", 90 | "manipulation", 91 | "css", 92 | "ajax", 93 | "ajax/jsonp", 94 | "ajax/script", 95 | "ajax/xhr", 96 | "effects", 97 | "offset", 98 | "dimensions", 99 | "exports" 100 | ], 101 | len = files.length, 102 | i = 0; 103 | 104 | for ( ; i < len; i++ ) { 105 | document.write(" 2 | -------------------------------------------------------------------------------- /bower_components/jquery/test/data/name.php: -------------------------------------------------------------------------------- 1 | $xml$result"; 12 | die(); 13 | } 14 | $name = $_REQUEST['name']; 15 | if($name == 'foo') { 16 | echo "bar"; 17 | die(); 18 | } else if($name == 'peter') { 19 | echo "pan"; 20 | die(); 21 | } 22 | 23 | echo 'ERROR '; 24 | ?> -------------------------------------------------------------------------------- /bower_components/jquery/test/data/offset/absolute.html: -------------------------------------------------------------------------------- 1 | 3 | 4 | 5 | 6 | absolute 7 | 18 | 19 | 29 | 30 | 31 |
absolute-1 32 |
absolute-1-1 33 |
absolute-1-1-1
34 |
35 |
36 |
absolute-2
37 |
Has absolute position but no values set for the location ('auto').
38 |
39 |

Click the white box to move the marker to it. Clicking the box also changes the position to absolute (if not already) and sets the position according to the position method.

40 | 41 | 42 | -------------------------------------------------------------------------------- /bower_components/jquery/test/data/offset/body.html: -------------------------------------------------------------------------------- 1 | 3 | 4 | 5 | 6 | body 7 | 11 | 12 | 20 | 21 | 22 |
23 | 24 | 25 | -------------------------------------------------------------------------------- /bower_components/jquery/test/data/offset/fixed.html: -------------------------------------------------------------------------------- 1 | 3 | 4 | 5 | 6 | fixed 7 | 15 | 16 | 25 | 26 | 27 |
28 |
29 |
30 |
31 |
32 |

Click the white box to move the marker to it.

33 | 34 | 35 | -------------------------------------------------------------------------------- /bower_components/jquery/test/data/offset/relative.html: -------------------------------------------------------------------------------- 1 | 3 | 4 | 5 | 6 | relative 7 | 13 | 14 | 24 | 25 | 26 |
27 |
28 |
29 |

Click the white box to move the marker to it. Clicking the box also changes the position to absolute (if not already) and sets the position according to the position method.

30 | 31 | 32 | -------------------------------------------------------------------------------- /bower_components/jquery/test/data/offset/scroll.html: -------------------------------------------------------------------------------- 1 | 3 | 4 | 5 | 6 | scroll 7 | 16 | 17 | 28 | 29 | 30 |
31 |
32 |
33 |
34 |
35 |
36 |
37 |

Click the white box to move the marker to it.

38 | 39 | 40 | -------------------------------------------------------------------------------- /bower_components/jquery/test/data/offset/static.html: -------------------------------------------------------------------------------- 1 | 3 | 4 | 5 | 6 | static 7 | 13 | 14 | 24 | 25 | 26 |
27 |
28 |
29 |

Click the white box to move the marker to it. Clicking the box also changes the position to absolute (if not already) and sets the position according to the position method.

30 | 31 | 32 | -------------------------------------------------------------------------------- /bower_components/jquery/test/data/offset/table.html: -------------------------------------------------------------------------------- 1 | 3 | 4 | 5 | 6 | table 7 | 13 | 14 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39 |
th-1th-2th-3
td-1td-2td-3
40 |
41 |

Click the white box to move the marker to it.

42 | 43 | 44 | -------------------------------------------------------------------------------- /bower_components/jquery/test/data/params_html.php: -------------------------------------------------------------------------------- 1 |
2 | $value ) 4 | echo "$value"; 5 | ?> 6 |
7 |
8 | $value ) 10 | echo "$value"; 11 | ?> 12 |
-------------------------------------------------------------------------------- /bower_components/jquery/test/data/readywaitasset.js: -------------------------------------------------------------------------------- 1 | var delayedMessage = "It worked!"; 2 | -------------------------------------------------------------------------------- /bower_components/jquery/test/data/readywaitloader.js: -------------------------------------------------------------------------------- 1 | // Simple script loader that uses jQuery.readyWait via jQuery.holdReady() 2 | 3 | //Hold on jQuery! 4 | jQuery.holdReady(true); 5 | 6 | var readyRegExp = /^(complete|loaded)$/; 7 | 8 | function assetLoaded( evt ){ 9 | var node = evt.currentTarget || evt.srcElement; 10 | if ( evt.type === "load" || readyRegExp.test(node.readyState) ) { 11 | jQuery.holdReady(false); 12 | } 13 | } 14 | 15 | setTimeout( function() { 16 | var script = document.createElement("script"); 17 | script.type = "text/javascript"; 18 | if ( script.addEventListener ) { 19 | script.addEventListener( "load", assetLoaded, false ); 20 | } else { 21 | script.attachEvent( "onreadystatechange", assetLoaded ); 22 | } 23 | script.src = "data/readywaitasset.js"; 24 | document.getElementsByTagName("head")[0].appendChild(script); 25 | }, 2000 ); 26 | -------------------------------------------------------------------------------- /bower_components/jquery/test/data/script.php: -------------------------------------------------------------------------------- 1 | 11 | ok( true, "Script executed correctly." ); 12 | -------------------------------------------------------------------------------- /bower_components/jquery/test/data/selector/html5_selector.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | jQuery selector - attributes 6 | 7 | 8 | 9 | 12 | 13 | 19 | 20 | 21 | 23 | 24 |
26 | 27 |
31 | 37 | 39 |
40 | 41 | 42 | 44 |
45 | 46 | 49 | 50 | 52 | 53 |
    55 | 56 |
    58 | 59 |
    61 | 62 | 73 | 74 | 76 | 77 | 82 | 83 | 84 | 87 | 88 | 89 | 93 | 94 | 100 | 101 |
    103 |
    Term
    This is the first definition in compact format.
    104 |
    Term
    This is the second definition in compact format.
    105 |
    106 | 107 | 109 | 110 | Scrolling text (non-standard) 113 | 114 | 115 | -------------------------------------------------------------------------------- /bower_components/jquery/test/data/selector/sizzle_cache.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | jQuery selector - sizzle cache 6 | 7 | 8 | 11 | 12 | 13 | 14 | 15 | 16 |
    17 | Worlds collide 18 |
    19 | 20 | 21 | 22 | -------------------------------------------------------------------------------- /bower_components/jquery/test/data/statusText.php: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /bower_components/jquery/test/data/support/bodyBackground.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 17 | 18 | 19 |
    20 | 21 |
    22 | 27 | 28 | 29 | -------------------------------------------------------------------------------- /bower_components/jquery/test/data/support/boxModelIE.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 8 | 9 | 10 | -------------------------------------------------------------------------------- /bower_components/jquery/test/data/support/hiddenIFrameFF.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /bower_components/jquery/test/data/support/testElementCrash.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 19 | 20 | 21 | -------------------------------------------------------------------------------- /bower_components/jquery/test/data/test.html: -------------------------------------------------------------------------------- 1 | html text
    2 | 6 | 7 | blabla 8 | -------------------------------------------------------------------------------- /bower_components/jquery/test/data/test.js: -------------------------------------------------------------------------------- 1 | var foobar = "bar"; 2 | jQuery('#ap').html('bar'); 3 | ok( true, "test.js executed"); 4 | -------------------------------------------------------------------------------- /bower_components/jquery/test/data/test.php: -------------------------------------------------------------------------------- 1 | html text
    2 | 6 | 7 | blabla -------------------------------------------------------------------------------- /bower_components/jquery/test/data/test2.html: -------------------------------------------------------------------------------- 1 | 6 | -------------------------------------------------------------------------------- /bower_components/jquery/test/data/test3.html: -------------------------------------------------------------------------------- 1 |
    This is a user
    2 |
    This is a user
    3 |
    This is a teacher
    4 | -------------------------------------------------------------------------------- /bower_components/jquery/test/data/testinit.js: -------------------------------------------------------------------------------- 1 | var jQuery = this.jQuery || "jQuery", // For testing .noConflict() 2 | $ = this.$ || "$", 3 | originaljQuery = jQuery, 4 | original$ = $, 5 | hasPHP = true, 6 | amdDefined; 7 | 8 | /** 9 | * Set up a mock AMD define function for testing AMD registration. 10 | */ 11 | function define(name, dependencies, callback) { 12 | amdDefined = callback(); 13 | } 14 | 15 | define.amd = { 16 | jQuery: true 17 | }; 18 | 19 | /** 20 | * Returns an array of elements with the given IDs, eg. 21 | * @example q("main", "foo", "bar") 22 | * @result [
    , , ] 23 | */ 24 | function q() { 25 | var r = []; 26 | 27 | for ( var i = 0; i < arguments.length; i++ ) { 28 | r.push( document.getElementById( arguments[i] ) ); 29 | } 30 | 31 | return r; 32 | } 33 | 34 | /** 35 | * Asserts that a select matches the given IDs * @example t("Check for something", "//[a]", ["foo", "baar"]); 36 | * @result returns true if "//[a]" return two elements with the IDs 'foo' and 'baar' 37 | */ 38 | function t(a,b,c) { 39 | var f = jQuery(b).get(), s = ""; 40 | 41 | for ( var i = 0; i < f.length; i++ ) { 42 | s += (s && ",") + '"' + f[i].id + '"'; 43 | } 44 | 45 | deepEqual(f, q.apply(q,c), a + " (" + b + ")"); 46 | } 47 | 48 | var fireNative; 49 | if ( document.createEvent ) { 50 | fireNative = function( node, type ) { 51 | var event = document.createEvent('HTMLEvents'); 52 | event.initEvent( type, true, true ); 53 | node.dispatchEvent( event ); 54 | }; 55 | } else { 56 | fireNative = function( node, type ) { 57 | var event = document.createEventObject(); 58 | node.fireEvent( 'on' + type, event ); 59 | }; 60 | } 61 | 62 | /** 63 | * Add random number to url to stop IE from caching 64 | * 65 | * @example url("data/test.html") 66 | * @result "data/test.html?10538358428943" 67 | * 68 | * @example url("data/test.php?foo=bar") 69 | * @result "data/test.php?foo=bar&10538358345554" 70 | */ 71 | function url(value) { 72 | return value + (/\?/.test(value) ? "&" : "?") + new Date().getTime() + "" + parseInt(Math.random()*100000); 73 | } 74 | 75 | (function () { 76 | // Store the old counts so that we only assert on tests that have actually leaked, 77 | // instead of asserting every time a test has leaked sometime in the past 78 | var oldCacheLength = 0, 79 | oldFragmentsLength = 0, 80 | oldTimersLength = 0, 81 | oldActive = 0; 82 | 83 | /** 84 | * Ensures that tests have cleaned up properly after themselves. Should be passed as the 85 | * teardown function on all modules' lifecycle object. 86 | */ 87 | this.moduleTeardown = function () { 88 | var i, fragmentsLength = 0, cacheLength = 0; 89 | 90 | // Allow QUnit.reset to clean up any attached elements before checking for leaks 91 | QUnit.reset(); 92 | 93 | for ( i in jQuery.cache ) { 94 | ++cacheLength; 95 | } 96 | 97 | jQuery.fragments = {}; 98 | 99 | for ( i in jQuery.fragments ) { 100 | ++fragmentsLength; 101 | } 102 | 103 | // Because QUnit doesn't have a mechanism for retrieving the number of expected assertions for a test, 104 | // if we unconditionally assert any of these, the test will fail with too many assertions :| 105 | if ( cacheLength !== oldCacheLength ) { 106 | equal( cacheLength, oldCacheLength, "No unit tests leak memory in jQuery.cache" ); 107 | oldCacheLength = cacheLength; 108 | } 109 | if ( fragmentsLength !== oldFragmentsLength ) { 110 | equal( fragmentsLength, oldFragmentsLength, "No unit tests leak memory in jQuery.fragments" ); 111 | oldFragmentsLength = fragmentsLength; 112 | } 113 | if ( jQuery.timers.length !== oldTimersLength ) { 114 | equal( jQuery.timers.length, oldTimersLength, "No timers are still running" ); 115 | oldTimersLength = jQuery.timers.length; 116 | } 117 | if ( jQuery.active !== oldActive ) { 118 | equal( jQuery.active, 0, "No AJAX requests are still active" ); 119 | oldActive = jQuery.active; 120 | } 121 | }; 122 | 123 | this.testIframe = function( fileName, name, fn ) { 124 | 125 | test(name, function() { 126 | // pause execution for now 127 | stop(); 128 | 129 | // load fixture in iframe 130 | var iframe = loadFixture(), 131 | win = iframe.contentWindow, 132 | interval = setInterval( function() { 133 | if ( win && win.jQuery && win.jQuery.isReady ) { 134 | clearInterval( interval ); 135 | // continue 136 | start(); 137 | // call actual tests passing the correct jQuery instance to use 138 | fn.call( this, win.jQuery, win, win.document ); 139 | document.body.removeChild( iframe ); 140 | iframe = null; 141 | } 142 | }, 15 ); 143 | }); 144 | 145 | function loadFixture() { 146 | var src = "./data/" + fileName + ".html?" + parseInt( Math.random()*1000, 10 ), 147 | iframe = jQuery("