├── .gitignore ├── .travis.yml ├── CHANGELOG.md ├── Gruntfile.js ├── LICENSE.txt ├── README.md ├── app └── js │ ├── _timer.js │ ├── i18nService.js │ └── progressBarService.js ├── bower.json ├── bower_components ├── angular-mocks │ ├── .bower.json │ ├── README.md │ ├── angular-mocks.js │ ├── bower.json │ ├── ngAnimateMock.js │ ├── ngMock.js │ ├── ngMockE2E.js │ └── package.json ├── angular-scenario │ ├── .bower.json │ ├── README.md │ ├── angular-scenario.js │ ├── bower.json │ ├── jstd-scenario-adapter-config.js │ ├── jstd-scenario-adapter.js │ └── package.json ├── angular │ ├── .bower.json │ ├── README.md │ ├── angular-csp.css │ ├── angular.js │ ├── angular.min.js │ ├── angular.min.js.gzip │ ├── angular.min.js.map │ ├── bower.json │ ├── index.js │ └── package.json ├── bootstrap │ ├── .bower.json │ ├── .gitignore │ ├── .travis.yml │ ├── CHANGELOG.md │ ├── CONTRIBUTING.md │ ├── LICENSE │ ├── Makefile │ ├── README.md │ ├── bower.json │ ├── composer.json │ ├── docs │ │ ├── assets │ │ │ ├── css │ │ │ │ ├── bootstrap-responsive.css │ │ │ │ ├── bootstrap.css │ │ │ │ └── docs.css │ │ │ ├── ico │ │ │ │ ├── apple-touch-icon-114-precomposed.png │ │ │ │ ├── apple-touch-icon-144-precomposed.png │ │ │ │ ├── apple-touch-icon-57-precomposed.png │ │ │ │ ├── apple-touch-icon-72-precomposed.png │ │ │ │ ├── favicon.ico │ │ │ │ └── favicon.png │ │ │ ├── img │ │ │ │ ├── bootstrap-docs-readme.png │ │ │ │ ├── bootstrap-mdo-sfmoma-01.jpg │ │ │ │ ├── bootstrap-mdo-sfmoma-02.jpg │ │ │ │ ├── bootstrap-mdo-sfmoma-03.jpg │ │ │ │ ├── bs-docs-bootstrap-features.png │ │ │ │ ├── bs-docs-masthead-pattern.png │ │ │ │ ├── bs-docs-responsive-illustrations.png │ │ │ │ ├── bs-docs-twitter-github.png │ │ │ │ ├── example-sites │ │ │ │ │ ├── 8020select.png │ │ │ │ │ ├── adoptahydrant.png │ │ │ │ │ ├── breakingnews.png │ │ │ │ │ ├── fleetio.png │ │ │ │ │ ├── gathercontent.png │ │ │ │ │ ├── jshint.png │ │ │ │ │ ├── kippt.png │ │ │ │ │ └── soundready.png │ │ │ │ ├── examples │ │ │ │ │ ├── bootstrap-example-carousel.png │ │ │ │ │ ├── bootstrap-example-fluid.png │ │ │ │ │ ├── bootstrap-example-justified-nav.png │ │ │ │ │ ├── bootstrap-example-marketing-narrow.png │ │ │ │ │ ├── bootstrap-example-marketing.png │ │ │ │ │ ├── bootstrap-example-signin.png │ │ │ │ │ ├── bootstrap-example-starter.png │ │ │ │ │ ├── bootstrap-example-sticky-footer.png │ │ │ │ │ ├── browser-icon-chrome.png │ │ │ │ │ ├── browser-icon-firefox.png │ │ │ │ │ ├── browser-icon-safari.png │ │ │ │ │ ├── slide-01.jpg │ │ │ │ │ ├── slide-02.jpg │ │ │ │ │ └── slide-03.jpg │ │ │ │ ├── glyphicons-halflings-white.png │ │ │ │ ├── glyphicons-halflings.png │ │ │ │ ├── grid-baseline-20px.png │ │ │ │ ├── less-logo-large.png │ │ │ │ └── responsive-illustrations.png │ │ │ └── js │ │ │ │ ├── README.md │ │ │ │ ├── application.js │ │ │ │ ├── bootstrap-affix.js │ │ │ │ ├── bootstrap-alert.js │ │ │ │ ├── bootstrap-button.js │ │ │ │ ├── bootstrap-carousel.js │ │ │ │ ├── bootstrap-collapse.js │ │ │ │ ├── bootstrap-dropdown.js │ │ │ │ ├── bootstrap-modal.js │ │ │ │ ├── bootstrap-popover.js │ │ │ │ ├── bootstrap-scrollspy.js │ │ │ │ ├── bootstrap-tab.js │ │ │ │ ├── bootstrap-tooltip.js │ │ │ │ ├── bootstrap-transition.js │ │ │ │ ├── bootstrap-typeahead.js │ │ │ │ ├── bootstrap.js │ │ │ │ ├── bootstrap.min.js │ │ │ │ ├── google-code-prettify │ │ │ │ ├── prettify.css │ │ │ │ └── prettify.js │ │ │ │ ├── holder │ │ │ │ └── holder.js │ │ │ │ ├── html5shiv.js │ │ │ │ └── jquery.js │ │ ├── base-css.html │ │ ├── components.html │ │ ├── customize.html │ │ ├── examples │ │ │ ├── carousel.html │ │ │ ├── fluid.html │ │ │ ├── hero.html │ │ │ ├── justified-nav.html │ │ │ ├── marketing-narrow.html │ │ │ ├── signin.html │ │ │ ├── starter-template.html │ │ │ ├── sticky-footer-navbar.html │ │ │ └── sticky-footer.html │ │ ├── extend.html │ │ ├── getting-started.html │ │ ├── index.html │ │ ├── javascript.html │ │ ├── scaffolding.html │ │ └── templates │ │ │ ├── layout.mustache │ │ │ └── pages │ │ │ ├── base-css.mustache │ │ │ ├── components.mustache │ │ │ ├── customize.mustache │ │ │ ├── extend.mustache │ │ │ ├── getting-started.mustache │ │ │ ├── index.mustache │ │ │ ├── javascript.mustache │ │ │ └── scaffolding.mustache │ ├── img │ │ ├── glyphicons-halflings-white.png │ │ └── glyphicons-halflings.png │ ├── js │ │ ├── .jshintrc │ │ ├── bootstrap-affix.js │ │ ├── bootstrap-alert.js │ │ ├── bootstrap-button.js │ │ ├── bootstrap-carousel.js │ │ ├── bootstrap-collapse.js │ │ ├── bootstrap-dropdown.js │ │ ├── bootstrap-modal.js │ │ ├── bootstrap-popover.js │ │ ├── bootstrap-scrollspy.js │ │ ├── bootstrap-tab.js │ │ ├── bootstrap-tooltip.js │ │ ├── bootstrap-transition.js │ │ ├── bootstrap-typeahead.js │ │ └── tests │ │ │ ├── index.html │ │ │ ├── phantom.js │ │ │ ├── server.js │ │ │ ├── unit │ │ │ ├── bootstrap-affix.js │ │ │ ├── bootstrap-alert.js │ │ │ ├── bootstrap-button.js │ │ │ ├── bootstrap-carousel.js │ │ │ ├── bootstrap-collapse.js │ │ │ ├── bootstrap-dropdown.js │ │ │ ├── bootstrap-modal.js │ │ │ ├── bootstrap-phantom.js │ │ │ ├── bootstrap-popover.js │ │ │ ├── bootstrap-scrollspy.js │ │ │ ├── bootstrap-tab.js │ │ │ ├── bootstrap-tooltip.js │ │ │ ├── bootstrap-transition.js │ │ │ └── bootstrap-typeahead.js │ │ │ └── vendor │ │ │ ├── jquery.js │ │ │ ├── qunit.css │ │ │ └── qunit.js │ ├── less │ │ ├── accordion.less │ │ ├── alerts.less │ │ ├── bootstrap.less │ │ ├── breadcrumbs.less │ │ ├── button-groups.less │ │ ├── buttons.less │ │ ├── carousel.less │ │ ├── close.less │ │ ├── code.less │ │ ├── component-animations.less │ │ ├── dropdowns.less │ │ ├── forms.less │ │ ├── grid.less │ │ ├── hero-unit.less │ │ ├── labels-badges.less │ │ ├── layouts.less │ │ ├── media.less │ │ ├── mixins.less │ │ ├── modals.less │ │ ├── navbar.less │ │ ├── navs.less │ │ ├── pager.less │ │ ├── pagination.less │ │ ├── popovers.less │ │ ├── progress-bars.less │ │ ├── reset.less │ │ ├── responsive-1200px-min.less │ │ ├── responsive-767px-max.less │ │ ├── responsive-768px-979px.less │ │ ├── responsive-navbar.less │ │ ├── responsive-utilities.less │ │ ├── responsive.less │ │ ├── scaffolding.less │ │ ├── sprites.less │ │ ├── tables.less │ │ ├── tests │ │ │ ├── buttons.html │ │ │ ├── css-tests.css │ │ │ ├── css-tests.html │ │ │ ├── forms-responsive.html │ │ │ ├── forms.html │ │ │ ├── navbar-fixed-top.html │ │ │ ├── navbar-static-top.html │ │ │ └── navbar.html │ │ ├── thumbnails.less │ │ ├── tooltip.less │ │ ├── type.less │ │ ├── utilities.less │ │ ├── variables.less │ │ └── wells.less │ └── package.json ├── humanize-duration │ ├── .bower.json │ ├── CONTRIBUTING.md │ ├── LICENSE.txt │ ├── README.md │ ├── bower.json │ ├── humanize-duration.js │ └── package.json ├── jquery │ ├── .bower.json │ ├── .editorconfig │ ├── .gitattributes │ ├── .gitignore │ ├── .gitmodules │ ├── .jshintrc │ ├── .mailmap │ ├── AUTHORS.txt │ ├── CONTRIBUTING.md │ ├── Gruntfile.js │ ├── MIT-LICENSE.txt │ ├── README.md │ ├── bower.json │ ├── component.json │ ├── composer.json │ ├── jquery-migrate.js │ ├── jquery-migrate.min.js │ ├── jquery.js │ ├── jquery.min.js │ ├── jquery.min.map │ ├── package.json │ ├── 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 │ │ ├── .jshintrc │ │ ├── ajax.js │ │ ├── ajax │ │ │ ├── jsonp.js │ │ │ ├── script.js │ │ │ └── xhr.js │ │ ├── attributes.js │ │ ├── callbacks.js │ │ ├── core.js │ │ ├── css.js │ │ ├── data.js │ │ ├── deferred.js │ │ ├── deprecated.js │ │ ├── dimensions.js │ │ ├── effects.js │ │ ├── event-alias.js │ │ ├── event.js │ │ ├── exports.js │ │ ├── intro.js │ │ ├── manipulation.js │ │ ├── offset.js │ │ ├── outro.js │ │ ├── queue.js │ │ ├── selector-native.js │ │ ├── serialize.js │ │ ├── sizzle-jquery.js │ │ ├── support.js │ │ ├── traversing.js │ │ └── wrap.js │ └── test │ │ ├── .jshintignore │ │ ├── .jshintrc │ │ ├── data │ │ ├── 1x1.jpg │ │ ├── ajax │ │ │ └── unreleasedXHR.html │ │ ├── atom+xml.php │ │ ├── badcall.js │ │ ├── badjson.js │ │ ├── cleanScript.html │ │ ├── core │ │ │ ├── cc_on.html │ │ │ ├── dont_return.php │ │ │ └── dynamic_ready.html │ │ ├── dashboard.xml │ │ ├── dimensions │ │ │ ├── documentLarge.html │ │ │ └── documentSmall.html │ │ ├── echoData.php │ │ ├── echoQuery.php │ │ ├── errorWithJSON.php │ │ ├── errorWithText.php │ │ ├── etag.php │ │ ├── evalScript.php │ │ ├── event │ │ │ ├── focusElem.html │ │ │ ├── longLoadScript.php │ │ │ ├── onbeforeunload.html │ │ │ ├── promiseReady.html │ │ │ └── syncReady.html │ │ ├── headers.php │ │ ├── if_modified_since.php │ │ ├── iframe.html │ │ ├── jquery-1.9.1.ajax_xhr.min.js │ │ ├── json.php │ │ ├── json_obj.js │ │ ├── jsonp.php │ │ ├── manipulation │ │ │ └── iframe-denied.html │ │ ├── name.html │ │ ├── name.php │ │ ├── nocontent.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 │ │ │ ├── boxSizing.html │ │ │ ├── csp.js │ │ │ ├── csp.php │ │ │ ├── shrinkWrapBlocks.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 │ │ ├── jquery.js │ │ ├── localfile.html │ │ ├── networkerror.html │ │ ├── readywait.html │ │ ├── unit │ │ ├── ajax.js │ │ ├── attributes.js │ │ ├── callbacks.js │ │ ├── core.js │ │ ├── css.js │ │ ├── data.js │ │ ├── deferred.js │ │ ├── deprecated.js │ │ ├── dimensions.js │ │ ├── effects.js │ │ ├── event.js │ │ ├── exports.js │ │ ├── manipulation.js │ │ ├── offset.js │ │ ├── queue.js │ │ ├── selector.js │ │ ├── serialize.js │ │ ├── support.js │ │ ├── traversing.js │ │ └── wrap.js │ │ └── xhtml.php └── momentjs │ ├── .bower.json │ ├── CHANGELOG.md │ ├── LICENSE │ ├── Moment.js.nuspec │ ├── README.md │ ├── benchmarks │ └── clone.js │ ├── bower.json │ ├── locale │ ├── af.js │ ├── ar-ma.js │ ├── ar-sa.js │ ├── ar-tn.js │ ├── ar.js │ ├── az.js │ ├── be.js │ ├── bg.js │ ├── bn.js │ ├── bo.js │ ├── br.js │ ├── bs.js │ ├── ca.js │ ├── cs.js │ ├── cv.js │ ├── cy.js │ ├── da.js │ ├── de-at.js │ ├── de.js │ ├── el.js │ ├── en-au.js │ ├── en-ca.js │ ├── en-gb.js │ ├── eo.js │ ├── es.js │ ├── et.js │ ├── eu.js │ ├── fa.js │ ├── fi.js │ ├── fo.js │ ├── fr-ca.js │ ├── fr.js │ ├── fy.js │ ├── gl.js │ ├── he.js │ ├── hi.js │ ├── hr.js │ ├── hu.js │ ├── hy-am.js │ ├── id.js │ ├── is.js │ ├── it.js │ ├── ja.js │ ├── ka.js │ ├── km.js │ ├── ko.js │ ├── lb.js │ ├── lt.js │ ├── lv.js │ ├── mk.js │ ├── ml.js │ ├── mr.js │ ├── ms-my.js │ ├── my.js │ ├── nb.js │ ├── ne.js │ ├── nl.js │ ├── nn.js │ ├── pl.js │ ├── pt-br.js │ ├── pt.js │ ├── ro.js │ ├── ru.js │ ├── sk.js │ ├── sl.js │ ├── sq.js │ ├── sr-cyrl.js │ ├── sr.js │ ├── sv.js │ ├── ta.js │ ├── th.js │ ├── tl-ph.js │ ├── tr.js │ ├── tzm-latn.js │ ├── tzm.js │ ├── uk.js │ ├── uz.js │ ├── vi.js │ ├── zh-cn.js │ └── zh-tw.js │ ├── meteor │ ├── README.md │ ├── export.js │ └── test.js │ ├── min │ ├── locales.js │ ├── locales.min.js │ ├── moment-with-locales.js │ ├── moment-with-locales.min.js │ └── moment.min.js │ ├── moment.js │ └── scripts │ └── npm_prepublish.sh ├── config ├── karma-e2e.conf.js └── karma.conf.js ├── dist ├── angular-timer.js ├── angular-timer.min.js ├── assets │ ├── css │ │ └── angular-timer-bower.css │ └── js │ │ ├── angular-timer-all.min.js │ │ └── angular-timer-bower.js ├── examples.html ├── examples │ ├── angularjs-add-countdown-seconds.html │ ├── angularjs-multiple-timers.html │ ├── angularjs-polling-timer.html │ ├── angularjs-reset-timer │ ├── angularjs-single-timer.html │ ├── jquery-timer.html │ ├── plain-javascript.html │ └── timer-with-autostart-false-and-starttime.html └── navbar.html ├── docs ├── application.js ├── css │ ├── docs.css │ └── prettify.css ├── docs.js ├── images │ └── forkme.png └── prettify.js ├── examples.html ├── examples ├── angularjs-add-countdown-seconds.html ├── angularjs-multiple-timers.html ├── angularjs-polling-timer.html ├── angularjs-reset-timer ├── angularjs-single-timer.html ├── jquery-timer.html ├── plain-javascript.html └── timer-with-autostart-false-and-starttime.html ├── index.html ├── navbar.html ├── package.json └── test ├── e2e ├── runner.html └── scenarios.js └── unit ├── directivesSpec.js └── timerSetTimeTest.js /.gitignore: -------------------------------------------------------------------------------- 1 | logs/* 2 | !.gitkeep 3 | .idea 4 | *.iml 5 | build/ 6 | .DS_Store 7 | /node_modules/ 8 | *.log 9 | .grunt 10 | -------------------------------------------------------------------------------- /.travis.yml: -------------------------------------------------------------------------------- 1 | language: node_js 2 | node_js: 3 | - 0.10 4 | 5 | notifications: 6 | email: true 7 | 8 | install: 9 | - npm install 10 | - npm install -g grunt-cli 11 | - npm install bower 12 | - bower install 13 | script: 14 | - grunt tests 15 | -------------------------------------------------------------------------------- /LICENSE.txt: -------------------------------------------------------------------------------- 1 | The MIT License (MIT) 2 | 3 | Copyright (c) 2013 Siddique Hameed 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 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | ## angular-timer — A simple, re-usable, inter-operable timer directive 2 | 3 | [![Build Status](https://travis-ci.org/siddii/angular-timer.png)](https://travis-ci.org/siddii/angular-timer) 4 | [![](https://www.codeshelter.co/static/badges/badge-flat.svg)](https://www.codeshelter.co/) 5 | 6 | ### Getting started 7 | With any of the following options... 8 | * Download the latest script file - https://raw.github.com/siddii/angular-timer/master/dist/angular-timer.min.js 9 | * Clone the repo - `git@github.com:siddii/angular-timer.git` 10 | * Install angular-timer using [Bower](http://bower.io) - `bower install angular-timer` 11 | * Add ``timer`` to your list of modules 12 | 13 | ### Requirements 14 | With Bower install : 15 | * Install humanize-duration using [Bower](http://bower.io) - `bower install humanize-duration` 16 | * Install momentjs using [Bower](http://bower.io) - `bower install momentjs` 17 | 18 | And include these scripts in your webpage : 19 | * bower_components/momentjs/min/moment.min.js 20 | * bower_components/momentjs/min/locales.min.js 21 | * bower_components/humanize-duration/humanize-duration.js 22 | 23 | 24 | ### Running locally 25 | Install all bower components - `bower install` 26 | Using [Grunt](http://gruntjs.com/) type `grunt` from command line, the default task will open index.html page in your 27 | default browser 28 | 29 | ### Running tests 30 | Following command will run both unit & End-to-End (e2e) tests 31 | ```bash 32 | grunt tests 33 | ``` 34 | 35 | ### Examples 36 | There are some examples on the index page http://siddii.github.io/angular-timer/index.html. Please go over them to get an understanding on how this module works. 37 | -------------------------------------------------------------------------------- /app/js/progressBarService.js: -------------------------------------------------------------------------------- 1 | var app = angular.module('timer'); 2 | 3 | app.factory('progressBarService', function() { 4 | 5 | var ProgressBarService = function() {}; 6 | 7 | /** 8 | * calculate the remaining time in a progress bar in percentage 9 | * @param {momentjs} startValue in seconds 10 | * @param {integer} currentCountdown, where are we in the countdown 11 | * @param {integer} remainingTime, remaining milliseconds 12 | * @param {integer} endTime, end time, can be undefined 13 | * @param {integer} coutdown, original coutdown value, can be undefined 14 | * 15 | * joke : https://www.youtube.com/watch?v=gENVB6tjq_M 16 | * @return {float} 0 --> 100 17 | */ 18 | ProgressBarService.prototype.calculateProgressBar = function calculateProgressBar(startValue, remainingTime, endTimeAttr, coutdown) { 19 | var displayProgressBar = 0, 20 | endTimeValue, 21 | initialCountdown; 22 | 23 | remainingTime = remainingTime / 1000; //seconds 24 | 25 | 26 | if(endTimeAttr !== null){ 27 | endTimeValue = moment(endTimeAttr); 28 | initialCountdown = endTimeValue.diff(startValue, 'seconds'); 29 | displayProgressBar = remainingTime * 100 / initialCountdown; 30 | } 31 | else { 32 | displayProgressBar = remainingTime * 100 / coutdown; 33 | } 34 | 35 | displayProgressBar = 100 - displayProgressBar; //To have 0 to 100 and not 100 to 0 36 | displayProgressBar = Math.round(displayProgressBar * 10) / 10; //learn more why : http://stackoverflow.com/questions/588004/is-floating-point-math-broken 37 | 38 | if(displayProgressBar > 100){ //security 39 | displayProgressBar = 100; 40 | } 41 | 42 | return displayProgressBar; 43 | }; 44 | 45 | return new ProgressBarService(); 46 | }); 47 | -------------------------------------------------------------------------------- /bower.json: -------------------------------------------------------------------------------- 1 | { 2 | "author": "Siddique Hameed", 3 | "name": "angular-timer", 4 | "version": "1.3.5", 5 | "homepage": "https://github.com/siddii/angular-timer", 6 | "description": "Angular-Timer : A simple AngularJS directive demonstrating re-usability & interoperability", 7 | "repository": { 8 | "type": "git", 9 | "url": "git://github.com/siddii/angular-timer.git" 10 | }, 11 | "dependencies": { 12 | "angular": ">= 1.0.7", 13 | "moment": "~2.11.2", 14 | "humanize-duration": "~3.10.0" 15 | }, 16 | "devDependencies": { 17 | "bootstrap": "2.3.2", 18 | "angular-scenario": ">= 1.0.7", 19 | "angular-mocks": ">= 1.0.7" 20 | }, 21 | "main": "./dist/angular-timer.js", 22 | "ignore": [ 23 | "node_modules", 24 | "bower_components" 25 | ], 26 | "resolutions": { 27 | "moment": "~2.9.0" 28 | } 29 | } 30 | -------------------------------------------------------------------------------- /bower_components/angular-mocks/.bower.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "angular-mocks", 3 | "version": "1.3.14", 4 | "main": "./angular-mocks.js", 5 | "ignore": [], 6 | "dependencies": { 7 | "angular": "1.3.14" 8 | }, 9 | "homepage": "https://github.com/angular/bower-angular-mocks", 10 | "_release": "1.3.14", 11 | "_resolution": { 12 | "type": "version", 13 | "tag": "v1.3.14", 14 | "commit": "b33962810730adca9a0f7165ecd4835b6bf40abb" 15 | }, 16 | "_source": "git://github.com/angular/bower-angular-mocks.git", 17 | "_target": ">= 1.0.7", 18 | "_originalSource": "angular-mocks" 19 | } -------------------------------------------------------------------------------- /bower_components/angular-mocks/README.md: -------------------------------------------------------------------------------- 1 | # packaged angular-mocks 2 | 3 | This repo is for distribution on `npm` and `bower`. The source for this module is in the 4 | [main AngularJS repo](https://github.com/angular/angular.js/tree/master/src/ngMock). 5 | Please file issues and pull requests against that repo. 6 | 7 | ## Install 8 | 9 | You can install this package either with `npm` or with `bower`. 10 | 11 | ### npm 12 | 13 | ```shell 14 | npm install angular-mocks 15 | ``` 16 | 17 | You can `require` ngMock modules: 18 | 19 | ```js 20 | var angular = require('angular'); 21 | angular.module('myMod', [ 22 | require('angular-animate'), 23 | require('angular-mocks/ngMock') 24 | require('angular-mocks/ngAnimateMock') 25 | ]); 26 | ``` 27 | 28 | ### bower 29 | 30 | ```shell 31 | bower install angular-mocks 32 | ``` 33 | 34 | The mocks are then available at `bower_components/angular-mocks/angular-mocks.js`. 35 | 36 | ## Documentation 37 | 38 | Documentation is available on the 39 | [AngularJS docs site](https://docs.angularjs.org/guide/unit-testing). 40 | 41 | ## License 42 | 43 | The MIT License 44 | 45 | Copyright (c) 2010-2015 Google, Inc. http://angularjs.org 46 | 47 | Permission is hereby granted, free of charge, to any person obtaining a copy 48 | of this software and associated documentation files (the "Software"), to deal 49 | in the Software without restriction, including without limitation the rights 50 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 51 | copies of the Software, and to permit persons to whom the Software is 52 | furnished to do so, subject to the following conditions: 53 | 54 | The above copyright notice and this permission notice shall be included in 55 | all copies or substantial portions of the Software. 56 | 57 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 58 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 59 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 60 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 61 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 62 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN 63 | THE SOFTWARE. 64 | -------------------------------------------------------------------------------- /bower_components/angular-mocks/bower.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "angular-mocks", 3 | "version": "1.3.14", 4 | "main": "./angular-mocks.js", 5 | "ignore": [], 6 | "dependencies": { 7 | "angular": "1.3.14" 8 | } 9 | } 10 | -------------------------------------------------------------------------------- /bower_components/angular-mocks/ngAnimateMock.js: -------------------------------------------------------------------------------- 1 | require('./angular-mocks'); 2 | module.exports = 'ngAnimateMock'; 3 | -------------------------------------------------------------------------------- /bower_components/angular-mocks/ngMock.js: -------------------------------------------------------------------------------- 1 | require('./angular-mocks'); 2 | module.exports = 'ngMock'; 3 | -------------------------------------------------------------------------------- /bower_components/angular-mocks/ngMockE2E.js: -------------------------------------------------------------------------------- 1 | require('./angular-mocks'); 2 | module.exports = 'ngMockE2E'; 3 | -------------------------------------------------------------------------------- /bower_components/angular-mocks/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "angular-mocks", 3 | "version": "1.3.14", 4 | "description": "AngularJS mocks for testing", 5 | "main": "angular-mocks.js", 6 | "scripts": { 7 | "test": "echo \"Error: no test specified\" && exit 1" 8 | }, 9 | "repository": { 10 | "type": "git", 11 | "url": "https://github.com/angular/angular.js.git" 12 | }, 13 | "keywords": [ 14 | "angular", 15 | "framework", 16 | "browser", 17 | "mocks", 18 | "testing", 19 | "client-side" 20 | ], 21 | "author": "Angular Core Team ", 22 | "license": "MIT", 23 | "bugs": { 24 | "url": "https://github.com/angular/angular.js/issues" 25 | }, 26 | "homepage": "http://angularjs.org" 27 | } 28 | -------------------------------------------------------------------------------- /bower_components/angular-scenario/.bower.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "angular-scenario", 3 | "version": "1.3.14", 4 | "main": "./angular-scenario.js", 5 | "ignore": [], 6 | "dependencies": { 7 | "angular": "1.3.14" 8 | }, 9 | "homepage": "https://github.com/angular/bower-angular-scenario", 10 | "_release": "1.3.14", 11 | "_resolution": { 12 | "type": "version", 13 | "tag": "v1.3.14", 14 | "commit": "99606da40bcee15be4698104affaa3d2d26588e9" 15 | }, 16 | "_source": "git://github.com/angular/bower-angular-scenario.git", 17 | "_target": ">= 1.0.7", 18 | "_originalSource": "angular-scenario" 19 | } -------------------------------------------------------------------------------- /bower_components/angular-scenario/bower.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "angular-scenario", 3 | "version": "1.3.14", 4 | "main": "./angular-scenario.js", 5 | "ignore": [], 6 | "dependencies": { 7 | "angular": "1.3.14" 8 | } 9 | } 10 | -------------------------------------------------------------------------------- /bower_components/angular-scenario/jstd-scenario-adapter-config.js: -------------------------------------------------------------------------------- 1 | /** 2 | * Configuration for jstd scenario adapter 3 | */ 4 | var jstdScenarioAdapter = { 5 | relativeUrlPrefix: '/build/docs/' 6 | }; 7 | -------------------------------------------------------------------------------- /bower_components/angular-scenario/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "angular-scenario", 3 | "version": "1.3.14", 4 | "description": "AngularJS module for end-to-end testing", 5 | "main": "angular-scenario.js", 6 | "scripts": { 7 | "test": "echo \"Error: no test specified\" && exit 1" 8 | }, 9 | "repository": { 10 | "type": "git", 11 | "url": "https://github.com/angular/angular.js.git" 12 | }, 13 | "keywords": [ 14 | "angular", 15 | "framework", 16 | "browser", 17 | "testing", 18 | "client-side" 19 | ], 20 | "author": "Angular Core Team ", 21 | "license": "MIT", 22 | "bugs": { 23 | "url": "https://github.com/angular/angular.js/issues" 24 | }, 25 | "homepage": "http://angularjs.org" 26 | } 27 | -------------------------------------------------------------------------------- /bower_components/angular/.bower.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "angular", 3 | "version": "1.3.14", 4 | "main": "./angular.js", 5 | "ignore": [], 6 | "dependencies": {}, 7 | "homepage": "https://github.com/angular/bower-angular", 8 | "_release": "1.3.14", 9 | "_resolution": { 10 | "type": "version", 11 | "tag": "v1.3.14", 12 | "commit": "bdd91e1331b48ae89adfb8444998e290b774cc6d" 13 | }, 14 | "_source": "git://github.com/angular/bower-angular.git", 15 | "_target": ">= 1.0.7", 16 | "_originalSource": "angular" 17 | } -------------------------------------------------------------------------------- /bower_components/angular/README.md: -------------------------------------------------------------------------------- 1 | # packaged angular 2 | 3 | This repo is for distribution on `npm` and `bower`. The source for this module is in the 4 | [main AngularJS repo](https://github.com/angular/angular.js). 5 | Please file issues and pull requests against that repo. 6 | 7 | ## Install 8 | 9 | You can install this package either with `npm` or with `bower`. 10 | 11 | ### npm 12 | 13 | ```shell 14 | npm install angular 15 | ``` 16 | 17 | Then add a ` 21 | ``` 22 | 23 | Or `require('angular')` from your code. 24 | 25 | ### bower 26 | 27 | ```shell 28 | bower install angular 29 | ``` 30 | 31 | Then add a ` 35 | ``` 36 | 37 | ## Documentation 38 | 39 | Documentation is available on the 40 | [AngularJS docs site](http://docs.angularjs.org/). 41 | 42 | ## License 43 | 44 | The MIT License 45 | 46 | Copyright (c) 2010-2015 Google, Inc. http://angularjs.org 47 | 48 | Permission is hereby granted, free of charge, to any person obtaining a copy 49 | of this software and associated documentation files (the "Software"), to deal 50 | in the Software without restriction, including without limitation the rights 51 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 52 | copies of the Software, and to permit persons to whom the Software is 53 | furnished to do so, subject to the following conditions: 54 | 55 | The above copyright notice and this permission notice shall be included in 56 | all copies or substantial portions of the Software. 57 | 58 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 59 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 60 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 61 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 62 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 63 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN 64 | THE SOFTWARE. 65 | -------------------------------------------------------------------------------- /bower_components/angular/angular-csp.css: -------------------------------------------------------------------------------- 1 | /* Include this file in your html if you are using the CSP mode. */ 2 | 3 | @charset "UTF-8"; 4 | 5 | [ng\:cloak], [ng-cloak], [data-ng-cloak], [x-ng-cloak], 6 | .ng-cloak, .x-ng-cloak, 7 | .ng-hide:not(.ng-hide-animate) { 8 | display: none !important; 9 | } 10 | 11 | ng\:form { 12 | display: block; 13 | } 14 | -------------------------------------------------------------------------------- /bower_components/angular/angular.min.js.gzip: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/siddii/angular-timer/d58fbf8c3325f63e1fdb250ed1f1a0676c8344de/bower_components/angular/angular.min.js.gzip -------------------------------------------------------------------------------- /bower_components/angular/bower.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "angular", 3 | "version": "1.3.14", 4 | "main": "./angular.js", 5 | "ignore": [], 6 | "dependencies": { 7 | } 8 | } 9 | -------------------------------------------------------------------------------- /bower_components/angular/index.js: -------------------------------------------------------------------------------- 1 | require('./angular'); 2 | module.exports = angular; 3 | -------------------------------------------------------------------------------- /bower_components/angular/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "angular", 3 | "version": "1.3.14", 4 | "description": "HTML enhanced for web apps", 5 | "main": "index.js", 6 | "scripts": { 7 | "test": "echo \"Error: no test specified\" && exit 1" 8 | }, 9 | "repository": { 10 | "type": "git", 11 | "url": "https://github.com/angular/angular.js.git" 12 | }, 13 | "keywords": [ 14 | "angular", 15 | "framework", 16 | "browser", 17 | "client-side" 18 | ], 19 | "author": "Angular Core Team ", 20 | "license": "MIT", 21 | "bugs": { 22 | "url": "https://github.com/angular/angular.js/issues" 23 | }, 24 | "homepage": "http://angularjs.org" 25 | } 26 | -------------------------------------------------------------------------------- /bower_components/bootstrap/.bower.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "bootstrap", 3 | "version": "2.3.2", 4 | "main": [ 5 | "./docs/assets/js/bootstrap.js", 6 | "./docs/assets/css/bootstrap.css" 7 | ], 8 | "dependencies": { 9 | "jquery": ">=1.8.0 <2.1.0" 10 | }, 11 | "homepage": "https://github.com/twbs/bootstrap", 12 | "_release": "2.3.2", 13 | "_resolution": { 14 | "type": "version", 15 | "tag": "v2.3.2", 16 | "commit": "b4c4072679943773a7582daa63f545ba818fa627" 17 | }, 18 | "_source": "git://github.com/twbs/bootstrap.git", 19 | "_target": "2.3.2", 20 | "_originalSource": "bootstrap" 21 | } -------------------------------------------------------------------------------- /bower_components/bootstrap/.gitignore: -------------------------------------------------------------------------------- 1 | # Numerous always-ignore extensions 2 | *.diff 3 | *.err 4 | *.orig 5 | *.log 6 | *.rej 7 | *.swo 8 | *.swp 9 | *.zip 10 | *.vi 11 | *~ 12 | *.sass-cache 13 | 14 | # OS or Editor folders 15 | .DS_Store 16 | ._* 17 | Thumbs.db 18 | .cache 19 | .project 20 | .settings 21 | .tmproj 22 | *.esproj 23 | nbproject 24 | *.sublime-project 25 | *.sublime-workspace 26 | 27 | # Komodo 28 | *.komodoproject 29 | .komodotools 30 | 31 | # Folders to ignore 32 | .hg 33 | .svn 34 | .CVS 35 | .idea 36 | node_modules 37 | dist 38 | -------------------------------------------------------------------------------- /bower_components/bootstrap/.travis.yml: -------------------------------------------------------------------------------- 1 | language: node_js 2 | node_js: 3 | - 0.6 -------------------------------------------------------------------------------- /bower_components/bootstrap/bower.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "bootstrap", 3 | "version": "2.3.2", 4 | "main": ["./docs/assets/js/bootstrap.js", "./docs/assets/css/bootstrap.css"], 5 | "dependencies": { 6 | "jquery": ">=1.8.0 <2.1.0" 7 | } 8 | } -------------------------------------------------------------------------------- /bower_components/bootstrap/composer.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "twbs/bootstrap" 3 | , "description": "Sleek, intuitive, and powerful front-end framework for faster and easier web development." 4 | , "keywords": ["bootstrap", "css"] 5 | , "homepage": "http://twbs.github.com/bootstrap/" 6 | , "author": "Twitter Inc." 7 | , "license": "Apache-2.0" 8 | 9 | } 10 | -------------------------------------------------------------------------------- /bower_components/bootstrap/docs/assets/ico/apple-touch-icon-114-precomposed.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/siddii/angular-timer/d58fbf8c3325f63e1fdb250ed1f1a0676c8344de/bower_components/bootstrap/docs/assets/ico/apple-touch-icon-114-precomposed.png -------------------------------------------------------------------------------- /bower_components/bootstrap/docs/assets/ico/apple-touch-icon-144-precomposed.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/siddii/angular-timer/d58fbf8c3325f63e1fdb250ed1f1a0676c8344de/bower_components/bootstrap/docs/assets/ico/apple-touch-icon-144-precomposed.png -------------------------------------------------------------------------------- /bower_components/bootstrap/docs/assets/ico/apple-touch-icon-57-precomposed.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/siddii/angular-timer/d58fbf8c3325f63e1fdb250ed1f1a0676c8344de/bower_components/bootstrap/docs/assets/ico/apple-touch-icon-57-precomposed.png -------------------------------------------------------------------------------- /bower_components/bootstrap/docs/assets/ico/apple-touch-icon-72-precomposed.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/siddii/angular-timer/d58fbf8c3325f63e1fdb250ed1f1a0676c8344de/bower_components/bootstrap/docs/assets/ico/apple-touch-icon-72-precomposed.png -------------------------------------------------------------------------------- /bower_components/bootstrap/docs/assets/ico/favicon.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/siddii/angular-timer/d58fbf8c3325f63e1fdb250ed1f1a0676c8344de/bower_components/bootstrap/docs/assets/ico/favicon.ico -------------------------------------------------------------------------------- /bower_components/bootstrap/docs/assets/ico/favicon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/siddii/angular-timer/d58fbf8c3325f63e1fdb250ed1f1a0676c8344de/bower_components/bootstrap/docs/assets/ico/favicon.png -------------------------------------------------------------------------------- /bower_components/bootstrap/docs/assets/img/bootstrap-docs-readme.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/siddii/angular-timer/d58fbf8c3325f63e1fdb250ed1f1a0676c8344de/bower_components/bootstrap/docs/assets/img/bootstrap-docs-readme.png -------------------------------------------------------------------------------- /bower_components/bootstrap/docs/assets/img/bootstrap-mdo-sfmoma-01.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/siddii/angular-timer/d58fbf8c3325f63e1fdb250ed1f1a0676c8344de/bower_components/bootstrap/docs/assets/img/bootstrap-mdo-sfmoma-01.jpg -------------------------------------------------------------------------------- /bower_components/bootstrap/docs/assets/img/bootstrap-mdo-sfmoma-02.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/siddii/angular-timer/d58fbf8c3325f63e1fdb250ed1f1a0676c8344de/bower_components/bootstrap/docs/assets/img/bootstrap-mdo-sfmoma-02.jpg -------------------------------------------------------------------------------- /bower_components/bootstrap/docs/assets/img/bootstrap-mdo-sfmoma-03.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/siddii/angular-timer/d58fbf8c3325f63e1fdb250ed1f1a0676c8344de/bower_components/bootstrap/docs/assets/img/bootstrap-mdo-sfmoma-03.jpg -------------------------------------------------------------------------------- /bower_components/bootstrap/docs/assets/img/bs-docs-bootstrap-features.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/siddii/angular-timer/d58fbf8c3325f63e1fdb250ed1f1a0676c8344de/bower_components/bootstrap/docs/assets/img/bs-docs-bootstrap-features.png -------------------------------------------------------------------------------- /bower_components/bootstrap/docs/assets/img/bs-docs-masthead-pattern.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/siddii/angular-timer/d58fbf8c3325f63e1fdb250ed1f1a0676c8344de/bower_components/bootstrap/docs/assets/img/bs-docs-masthead-pattern.png -------------------------------------------------------------------------------- /bower_components/bootstrap/docs/assets/img/bs-docs-responsive-illustrations.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/siddii/angular-timer/d58fbf8c3325f63e1fdb250ed1f1a0676c8344de/bower_components/bootstrap/docs/assets/img/bs-docs-responsive-illustrations.png -------------------------------------------------------------------------------- /bower_components/bootstrap/docs/assets/img/bs-docs-twitter-github.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/siddii/angular-timer/d58fbf8c3325f63e1fdb250ed1f1a0676c8344de/bower_components/bootstrap/docs/assets/img/bs-docs-twitter-github.png -------------------------------------------------------------------------------- /bower_components/bootstrap/docs/assets/img/example-sites/8020select.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/siddii/angular-timer/d58fbf8c3325f63e1fdb250ed1f1a0676c8344de/bower_components/bootstrap/docs/assets/img/example-sites/8020select.png -------------------------------------------------------------------------------- /bower_components/bootstrap/docs/assets/img/example-sites/adoptahydrant.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/siddii/angular-timer/d58fbf8c3325f63e1fdb250ed1f1a0676c8344de/bower_components/bootstrap/docs/assets/img/example-sites/adoptahydrant.png -------------------------------------------------------------------------------- /bower_components/bootstrap/docs/assets/img/example-sites/breakingnews.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/siddii/angular-timer/d58fbf8c3325f63e1fdb250ed1f1a0676c8344de/bower_components/bootstrap/docs/assets/img/example-sites/breakingnews.png -------------------------------------------------------------------------------- /bower_components/bootstrap/docs/assets/img/example-sites/fleetio.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/siddii/angular-timer/d58fbf8c3325f63e1fdb250ed1f1a0676c8344de/bower_components/bootstrap/docs/assets/img/example-sites/fleetio.png -------------------------------------------------------------------------------- /bower_components/bootstrap/docs/assets/img/example-sites/gathercontent.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/siddii/angular-timer/d58fbf8c3325f63e1fdb250ed1f1a0676c8344de/bower_components/bootstrap/docs/assets/img/example-sites/gathercontent.png -------------------------------------------------------------------------------- /bower_components/bootstrap/docs/assets/img/example-sites/jshint.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/siddii/angular-timer/d58fbf8c3325f63e1fdb250ed1f1a0676c8344de/bower_components/bootstrap/docs/assets/img/example-sites/jshint.png -------------------------------------------------------------------------------- /bower_components/bootstrap/docs/assets/img/example-sites/kippt.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/siddii/angular-timer/d58fbf8c3325f63e1fdb250ed1f1a0676c8344de/bower_components/bootstrap/docs/assets/img/example-sites/kippt.png -------------------------------------------------------------------------------- /bower_components/bootstrap/docs/assets/img/example-sites/soundready.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/siddii/angular-timer/d58fbf8c3325f63e1fdb250ed1f1a0676c8344de/bower_components/bootstrap/docs/assets/img/example-sites/soundready.png -------------------------------------------------------------------------------- /bower_components/bootstrap/docs/assets/img/examples/bootstrap-example-carousel.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/siddii/angular-timer/d58fbf8c3325f63e1fdb250ed1f1a0676c8344de/bower_components/bootstrap/docs/assets/img/examples/bootstrap-example-carousel.png -------------------------------------------------------------------------------- /bower_components/bootstrap/docs/assets/img/examples/bootstrap-example-fluid.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/siddii/angular-timer/d58fbf8c3325f63e1fdb250ed1f1a0676c8344de/bower_components/bootstrap/docs/assets/img/examples/bootstrap-example-fluid.png -------------------------------------------------------------------------------- /bower_components/bootstrap/docs/assets/img/examples/bootstrap-example-justified-nav.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/siddii/angular-timer/d58fbf8c3325f63e1fdb250ed1f1a0676c8344de/bower_components/bootstrap/docs/assets/img/examples/bootstrap-example-justified-nav.png -------------------------------------------------------------------------------- /bower_components/bootstrap/docs/assets/img/examples/bootstrap-example-marketing-narrow.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/siddii/angular-timer/d58fbf8c3325f63e1fdb250ed1f1a0676c8344de/bower_components/bootstrap/docs/assets/img/examples/bootstrap-example-marketing-narrow.png -------------------------------------------------------------------------------- /bower_components/bootstrap/docs/assets/img/examples/bootstrap-example-marketing.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/siddii/angular-timer/d58fbf8c3325f63e1fdb250ed1f1a0676c8344de/bower_components/bootstrap/docs/assets/img/examples/bootstrap-example-marketing.png -------------------------------------------------------------------------------- /bower_components/bootstrap/docs/assets/img/examples/bootstrap-example-signin.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/siddii/angular-timer/d58fbf8c3325f63e1fdb250ed1f1a0676c8344de/bower_components/bootstrap/docs/assets/img/examples/bootstrap-example-signin.png -------------------------------------------------------------------------------- /bower_components/bootstrap/docs/assets/img/examples/bootstrap-example-starter.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/siddii/angular-timer/d58fbf8c3325f63e1fdb250ed1f1a0676c8344de/bower_components/bootstrap/docs/assets/img/examples/bootstrap-example-starter.png -------------------------------------------------------------------------------- /bower_components/bootstrap/docs/assets/img/examples/bootstrap-example-sticky-footer.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/siddii/angular-timer/d58fbf8c3325f63e1fdb250ed1f1a0676c8344de/bower_components/bootstrap/docs/assets/img/examples/bootstrap-example-sticky-footer.png -------------------------------------------------------------------------------- /bower_components/bootstrap/docs/assets/img/examples/browser-icon-chrome.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/siddii/angular-timer/d58fbf8c3325f63e1fdb250ed1f1a0676c8344de/bower_components/bootstrap/docs/assets/img/examples/browser-icon-chrome.png -------------------------------------------------------------------------------- /bower_components/bootstrap/docs/assets/img/examples/browser-icon-firefox.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/siddii/angular-timer/d58fbf8c3325f63e1fdb250ed1f1a0676c8344de/bower_components/bootstrap/docs/assets/img/examples/browser-icon-firefox.png -------------------------------------------------------------------------------- /bower_components/bootstrap/docs/assets/img/examples/browser-icon-safari.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/siddii/angular-timer/d58fbf8c3325f63e1fdb250ed1f1a0676c8344de/bower_components/bootstrap/docs/assets/img/examples/browser-icon-safari.png -------------------------------------------------------------------------------- /bower_components/bootstrap/docs/assets/img/examples/slide-01.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/siddii/angular-timer/d58fbf8c3325f63e1fdb250ed1f1a0676c8344de/bower_components/bootstrap/docs/assets/img/examples/slide-01.jpg -------------------------------------------------------------------------------- /bower_components/bootstrap/docs/assets/img/examples/slide-02.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/siddii/angular-timer/d58fbf8c3325f63e1fdb250ed1f1a0676c8344de/bower_components/bootstrap/docs/assets/img/examples/slide-02.jpg -------------------------------------------------------------------------------- /bower_components/bootstrap/docs/assets/img/examples/slide-03.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/siddii/angular-timer/d58fbf8c3325f63e1fdb250ed1f1a0676c8344de/bower_components/bootstrap/docs/assets/img/examples/slide-03.jpg -------------------------------------------------------------------------------- /bower_components/bootstrap/docs/assets/img/glyphicons-halflings-white.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/siddii/angular-timer/d58fbf8c3325f63e1fdb250ed1f1a0676c8344de/bower_components/bootstrap/docs/assets/img/glyphicons-halflings-white.png -------------------------------------------------------------------------------- /bower_components/bootstrap/docs/assets/img/glyphicons-halflings.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/siddii/angular-timer/d58fbf8c3325f63e1fdb250ed1f1a0676c8344de/bower_components/bootstrap/docs/assets/img/glyphicons-halflings.png -------------------------------------------------------------------------------- /bower_components/bootstrap/docs/assets/img/grid-baseline-20px.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/siddii/angular-timer/d58fbf8c3325f63e1fdb250ed1f1a0676c8344de/bower_components/bootstrap/docs/assets/img/grid-baseline-20px.png -------------------------------------------------------------------------------- /bower_components/bootstrap/docs/assets/img/less-logo-large.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/siddii/angular-timer/d58fbf8c3325f63e1fdb250ed1f1a0676c8344de/bower_components/bootstrap/docs/assets/img/less-logo-large.png -------------------------------------------------------------------------------- /bower_components/bootstrap/docs/assets/img/responsive-illustrations.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/siddii/angular-timer/d58fbf8c3325f63e1fdb250ed1f1a0676c8344de/bower_components/bootstrap/docs/assets/img/responsive-illustrations.png -------------------------------------------------------------------------------- /bower_components/bootstrap/docs/assets/js/bootstrap-transition.js: -------------------------------------------------------------------------------- 1 | /* =================================================== 2 | * bootstrap-transition.js v2.3.2 3 | * http://twbs.github.com/bootstrap/javascript.html#transitions 4 | * =================================================== 5 | * Copyright 2013 Twitter, Inc. 6 | * 7 | * Licensed under the Apache License, Version 2.0 (the "License"); 8 | * you may not use this file except in compliance with the License. 9 | * You may obtain a copy of the License at 10 | * 11 | * http://www.apache.org/licenses/LICENSE-2.0 12 | * 13 | * Unless required by applicable law or agreed to in writing, software 14 | * distributed under the License is distributed on an "AS IS" BASIS, 15 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 16 | * See the License for the specific language governing permissions and 17 | * limitations under the License. 18 | * ========================================================== */ 19 | 20 | 21 | !function ($) { 22 | 23 | "use strict"; // jshint ;_; 24 | 25 | 26 | /* CSS TRANSITION SUPPORT (http://www.modernizr.com/) 27 | * ======================================================= */ 28 | 29 | $(function () { 30 | 31 | $.support.transition = (function () { 32 | 33 | var transitionEnd = (function () { 34 | 35 | var el = document.createElement('bootstrap') 36 | , transEndEventNames = { 37 | 'WebkitTransition' : 'webkitTransitionEnd' 38 | , 'MozTransition' : 'transitionend' 39 | , 'OTransition' : 'oTransitionEnd otransitionend' 40 | , 'transition' : 'transitionend' 41 | } 42 | , name 43 | 44 | for (name in transEndEventNames){ 45 | if (el.style[name] !== undefined) { 46 | return transEndEventNames[name] 47 | } 48 | } 49 | 50 | }()) 51 | 52 | return transitionEnd && { 53 | end: transitionEnd 54 | } 55 | 56 | })() 57 | 58 | }) 59 | 60 | }(window.jQuery); -------------------------------------------------------------------------------- /bower_components/bootstrap/docs/assets/js/google-code-prettify/prettify.css: -------------------------------------------------------------------------------- 1 | .com { color: #93a1a1; } 2 | .lit { color: #195f91; } 3 | .pun, .opn, .clo { color: #93a1a1; } 4 | .fun { color: #dc322f; } 5 | .str, .atv { color: #D14; } 6 | .kwd, .prettyprint .tag { color: #1e347b; } 7 | .typ, .atn, .dec, .var { color: teal; } 8 | .pln { color: #48484c; } 9 | 10 | .prettyprint { 11 | padding: 8px; 12 | background-color: #f7f7f9; 13 | border: 1px solid #e1e1e8; 14 | } 15 | .prettyprint.linenums { 16 | -webkit-box-shadow: inset 40px 0 0 #fbfbfc, inset 41px 0 0 #ececf0; 17 | -moz-box-shadow: inset 40px 0 0 #fbfbfc, inset 41px 0 0 #ececf0; 18 | box-shadow: inset 40px 0 0 #fbfbfc, inset 41px 0 0 #ececf0; 19 | } 20 | 21 | /* Specify class=linenums on a pre to get line numbering */ 22 | ol.linenums { 23 | margin: 0 0 0 33px; /* IE indents via margin-left */ 24 | } 25 | ol.linenums li { 26 | padding-left: 12px; 27 | color: #bebec5; 28 | line-height: 20px; 29 | text-shadow: 0 1px 0 #fff; 30 | } -------------------------------------------------------------------------------- /bower_components/bootstrap/docs/assets/js/html5shiv.js: -------------------------------------------------------------------------------- 1 | /* 2 | HTML5 Shiv v3.6.2pre | @afarkas @jdalton @jon_neal @rem | MIT/GPL2 Licensed 3 | */ 4 | (function(l,f){function m(){var a=e.elements;return"string"==typeof a?a.split(" "):a}function i(a){var b=n[a[o]];b||(b={},h++,a[o]=h,n[h]=b);return b}function p(a,b,c){b||(b=f);if(g)return b.createElement(a);c||(c=i(b));b=c.cache[a]?c.cache[a].cloneNode():r.test(a)?(c.cache[a]=c.createElem(a)).cloneNode():c.createElem(a);return b.canHaveChildren&&!s.test(a)?c.frag.appendChild(b):b}function t(a,b){if(!b.cache)b.cache={},b.createElem=a.createElement,b.createFrag=a.createDocumentFragment,b.frag=b.createFrag(); 5 | a.createElement=function(c){return!e.shivMethods?b.createElem(c):p(c,a,b)};a.createDocumentFragment=Function("h,f","return function(){var n=f.cloneNode(),c=n.createElement;h.shivMethods&&("+m().join().replace(/\w+/g,function(a){b.createElem(a);b.frag.createElement(a);return'c("'+a+'")'})+");return n}")(e,b.frag)}function q(a){a||(a=f);var b=i(a);if(e.shivCSS&&!j&&!b.hasCSS){var c,d=a;c=d.createElement("p");d=d.getElementsByTagName("head")[0]||d.documentElement;c.innerHTML="x"; 6 | c=d.insertBefore(c.lastChild,d.firstChild);b.hasCSS=!!c}g||t(a,b);return a}var k=l.html5||{},s=/^<|^(?:button|map|select|textarea|object|iframe|option|optgroup)$/i,r=/^(?:a|b|code|div|fieldset|h1|h2|h3|h4|h5|h6|i|label|li|ol|p|q|span|strong|style|table|tbody|td|th|tr|ul)$/i,j,o="_html5shiv",h=0,n={},g;(function(){try{var a=f.createElement("a");a.innerHTML="";j="hidden"in a;var b;if(!(b=1==a.childNodes.length)){f.createElement("a");var c=f.createDocumentFragment();b="undefined"==typeof c.cloneNode|| 7 | "undefined"==typeof c.createDocumentFragment||"undefined"==typeof c.createElement}g=b}catch(d){g=j=!0}})();var e={elements:k.elements||"abbr article aside audio bdi canvas data datalist details figcaption figure footer header hgroup mark meter nav output progress section summary time video",version:"3.6.2pre",shivCSS:!1!==k.shivCSS,supportsUnknownElements:g,shivMethods:!1!==k.shivMethods,type:"default",shivDocument:q,createElement:p,createDocumentFragment:function(a,b){a||(a=f);if(g)return a.createDocumentFragment(); 8 | for(var b=b||i(a),c=b.frag.cloneNode(),d=0,e=m(),h=e.length;d 2 | 3 | 4 | Bootstrap Plugin Test Suite 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39 | 40 | 41 | 42 | 43 | 44 | 45 | 46 | 47 | 48 |
49 |

Bootstrap Plugin Test Suite

50 |

51 |

52 |
    53 |
    54 |
    55 | 56 | -------------------------------------------------------------------------------- /bower_components/bootstrap/js/tests/server.js: -------------------------------------------------------------------------------- 1 | /* 2 | * Simple connect server for phantom.js 3 | * Adapted from Modernizr 4 | */ 5 | 6 | var connect = require('connect') 7 | , http = require('http') 8 | , fs = require('fs') 9 | , app = connect() 10 | .use(connect.static(__dirname + '/../../')); 11 | 12 | http.createServer(app).listen(3000); 13 | 14 | fs.writeFileSync(__dirname + '/pid.txt', process.pid, 'utf-8') -------------------------------------------------------------------------------- /bower_components/bootstrap/js/tests/unit/bootstrap-affix.js: -------------------------------------------------------------------------------- 1 | $(function () { 2 | 3 | module("bootstrap-affix") 4 | 5 | test("should provide no conflict", function () { 6 | var affix = $.fn.affix.noConflict() 7 | ok(!$.fn.affix, 'affix was set back to undefined (org value)') 8 | $.fn.affix = affix 9 | }) 10 | 11 | test("should be defined on jquery object", function () { 12 | ok($(document.body).affix, 'affix method is defined') 13 | }) 14 | 15 | test("should return element", function () { 16 | ok($(document.body).affix()[0] == document.body, 'document.body returned') 17 | }) 18 | 19 | test("should exit early if element is not visible", function () { 20 | var $affix = $('
    ').affix() 21 | $affix.data('affix').checkPosition() 22 | ok(!$affix.hasClass('affix'), 'affix class was not added') 23 | }) 24 | 25 | }) -------------------------------------------------------------------------------- /bower_components/bootstrap/js/tests/unit/bootstrap-phantom.js: -------------------------------------------------------------------------------- 1 | // Logging setup for phantom integration 2 | // adapted from Modernizr 3 | 4 | QUnit.begin = function () { 5 | console.log("Starting test suite") 6 | console.log("================================================\n") 7 | } 8 | 9 | QUnit.moduleDone = function (opts) { 10 | if (opts.failed === 0) { 11 | console.log("\u2714 All tests passed in '" + opts.name + "' module") 12 | } else { 13 | console.log("\u2716 " + opts.failed + " tests failed in '" + opts.name + "' module") 14 | } 15 | } 16 | 17 | QUnit.done = function (opts) { 18 | console.log("\n================================================") 19 | console.log("Tests completed in " + opts.runtime + " milliseconds") 20 | console.log(opts.passed + " tests of " + opts.total + " passed, " + opts.failed + " failed.") 21 | } -------------------------------------------------------------------------------- /bower_components/bootstrap/js/tests/unit/bootstrap-scrollspy.js: -------------------------------------------------------------------------------- 1 | $(function () { 2 | 3 | module("bootstrap-scrollspy") 4 | 5 | test("should provide no conflict", function () { 6 | var scrollspy = $.fn.scrollspy.noConflict() 7 | ok(!$.fn.scrollspy, 'scrollspy was set back to undefined (org value)') 8 | $.fn.scrollspy = scrollspy 9 | }) 10 | 11 | test("should be defined on jquery object", function () { 12 | ok($(document.body).scrollspy, 'scrollspy method is defined') 13 | }) 14 | 15 | test("should return element", function () { 16 | ok($(document.body).scrollspy()[0] == document.body, 'document.body returned') 17 | }) 18 | 19 | test("should switch active class on scroll", function () { 20 | var sectionHTML = '
    ' 21 | , $section = $(sectionHTML).append('#qunit-fixture') 22 | , topbarHTML ='
    ' 23 | + '
    ' 24 | + '
    ' 25 | + '

    Bootstrap

    ' 26 | + '' 29 | + '
    ' 30 | + '
    ' 31 | + '
    ' 32 | , $topbar = $(topbarHTML).scrollspy() 33 | 34 | ok($topbar.find('.active', true)) 35 | }) 36 | 37 | }) -------------------------------------------------------------------------------- /bower_components/bootstrap/js/tests/unit/bootstrap-transition.js: -------------------------------------------------------------------------------- 1 | $(function () { 2 | 3 | module("bootstrap-transition") 4 | 5 | test("should be defined on jquery support object", function () { 6 | ok($.support.transition !== undefined, 'transition object is defined') 7 | }) 8 | 9 | test("should provide an end object", function () { 10 | ok($.support.transition ? $.support.transition.end : true, 'end string is defined') 11 | }) 12 | 13 | }) -------------------------------------------------------------------------------- /bower_components/bootstrap/less/accordion.less: -------------------------------------------------------------------------------- 1 | // 2 | // Accordion 3 | // -------------------------------------------------- 4 | 5 | 6 | // Parent container 7 | .accordion { 8 | margin-bottom: @baseLineHeight; 9 | } 10 | 11 | // Group == heading + body 12 | .accordion-group { 13 | margin-bottom: 2px; 14 | border: 1px solid #e5e5e5; 15 | .border-radius(@baseBorderRadius); 16 | } 17 | .accordion-heading { 18 | border-bottom: 0; 19 | } 20 | .accordion-heading .accordion-toggle { 21 | display: block; 22 | padding: 8px 15px; 23 | } 24 | 25 | // General toggle styles 26 | .accordion-toggle { 27 | cursor: pointer; 28 | } 29 | 30 | // Inner needs the styles because you can't animate properly with any styles on the element 31 | .accordion-inner { 32 | padding: 9px 15px; 33 | border-top: 1px solid #e5e5e5; 34 | } 35 | -------------------------------------------------------------------------------- /bower_components/bootstrap/less/alerts.less: -------------------------------------------------------------------------------- 1 | // 2 | // Alerts 3 | // -------------------------------------------------- 4 | 5 | 6 | // Base styles 7 | // ------------------------- 8 | 9 | .alert { 10 | padding: 8px 35px 8px 14px; 11 | margin-bottom: @baseLineHeight; 12 | text-shadow: 0 1px 0 rgba(255,255,255,.5); 13 | background-color: @warningBackground; 14 | border: 1px solid @warningBorder; 15 | .border-radius(@baseBorderRadius); 16 | } 17 | .alert, 18 | .alert h4 { 19 | // Specified for the h4 to prevent conflicts of changing @headingsColor 20 | color: @warningText; 21 | } 22 | .alert h4 { 23 | margin: 0; 24 | } 25 | 26 | // Adjust close link position 27 | .alert .close { 28 | position: relative; 29 | top: -2px; 30 | right: -21px; 31 | line-height: @baseLineHeight; 32 | } 33 | 34 | 35 | // Alternate styles 36 | // ------------------------- 37 | 38 | .alert-success { 39 | background-color: @successBackground; 40 | border-color: @successBorder; 41 | color: @successText; 42 | } 43 | .alert-success h4 { 44 | color: @successText; 45 | } 46 | .alert-danger, 47 | .alert-error { 48 | background-color: @errorBackground; 49 | border-color: @errorBorder; 50 | color: @errorText; 51 | } 52 | .alert-danger h4, 53 | .alert-error h4 { 54 | color: @errorText; 55 | } 56 | .alert-info { 57 | background-color: @infoBackground; 58 | border-color: @infoBorder; 59 | color: @infoText; 60 | } 61 | .alert-info h4 { 62 | color: @infoText; 63 | } 64 | 65 | 66 | // Block alerts 67 | // ------------------------- 68 | 69 | .alert-block { 70 | padding-top: 14px; 71 | padding-bottom: 14px; 72 | } 73 | .alert-block > p, 74 | .alert-block > ul { 75 | margin-bottom: 0; 76 | } 77 | .alert-block p + p { 78 | margin-top: 5px; 79 | } 80 | -------------------------------------------------------------------------------- /bower_components/bootstrap/less/bootstrap.less: -------------------------------------------------------------------------------- 1 | /*! 2 | * Bootstrap v2.3.2 3 | * 4 | * Copyright 2013 Twitter, Inc 5 | * Licensed under the Apache License v2.0 6 | * http://www.apache.org/licenses/LICENSE-2.0 7 | * 8 | * Designed and built with all the love in the world by @mdo and @fat. 9 | */ 10 | 11 | // Core variables and mixins 12 | @import "variables.less"; // Modify this for custom colors, font-sizes, etc 13 | @import "mixins.less"; 14 | 15 | // CSS Reset 16 | @import "reset.less"; 17 | 18 | // Grid system and page structure 19 | @import "scaffolding.less"; 20 | @import "grid.less"; 21 | @import "layouts.less"; 22 | 23 | // Base CSS 24 | @import "type.less"; 25 | @import "code.less"; 26 | @import "forms.less"; 27 | @import "tables.less"; 28 | 29 | // Components: common 30 | @import "sprites.less"; 31 | @import "dropdowns.less"; 32 | @import "wells.less"; 33 | @import "component-animations.less"; 34 | @import "close.less"; 35 | 36 | // Components: Buttons & Alerts 37 | @import "buttons.less"; 38 | @import "button-groups.less"; 39 | @import "alerts.less"; // Note: alerts share common CSS with buttons and thus have styles in buttons.less 40 | 41 | // Components: Nav 42 | @import "navs.less"; 43 | @import "navbar.less"; 44 | @import "breadcrumbs.less"; 45 | @import "pagination.less"; 46 | @import "pager.less"; 47 | 48 | // Components: Popovers 49 | @import "modals.less"; 50 | @import "tooltip.less"; 51 | @import "popovers.less"; 52 | 53 | // Components: Misc 54 | @import "thumbnails.less"; 55 | @import "media.less"; 56 | @import "labels-badges.less"; 57 | @import "progress-bars.less"; 58 | @import "accordion.less"; 59 | @import "carousel.less"; 60 | @import "hero-unit.less"; 61 | 62 | // Utility classes 63 | @import "utilities.less"; // Has to be last to override when necessary 64 | -------------------------------------------------------------------------------- /bower_components/bootstrap/less/breadcrumbs.less: -------------------------------------------------------------------------------- 1 | // 2 | // Breadcrumbs 3 | // -------------------------------------------------- 4 | 5 | 6 | .breadcrumb { 7 | padding: 8px 15px; 8 | margin: 0 0 @baseLineHeight; 9 | list-style: none; 10 | background-color: #f5f5f5; 11 | .border-radius(@baseBorderRadius); 12 | > li { 13 | display: inline-block; 14 | .ie7-inline-block(); 15 | text-shadow: 0 1px 0 @white; 16 | > .divider { 17 | padding: 0 5px; 18 | color: #ccc; 19 | } 20 | } 21 | > .active { 22 | color: @grayLight; 23 | } 24 | } 25 | -------------------------------------------------------------------------------- /bower_components/bootstrap/less/close.less: -------------------------------------------------------------------------------- 1 | // 2 | // Close icons 3 | // -------------------------------------------------- 4 | 5 | 6 | .close { 7 | float: right; 8 | font-size: 20px; 9 | font-weight: bold; 10 | line-height: @baseLineHeight; 11 | color: @black; 12 | text-shadow: 0 1px 0 rgba(255,255,255,1); 13 | .opacity(20); 14 | &:hover, 15 | &:focus { 16 | color: @black; 17 | text-decoration: none; 18 | cursor: pointer; 19 | .opacity(40); 20 | } 21 | } 22 | 23 | // Additional properties for button version 24 | // iOS requires the button element instead of an anchor tag. 25 | // If you want the anchor version, it requires `href="#"`. 26 | button.close { 27 | padding: 0; 28 | cursor: pointer; 29 | background: transparent; 30 | border: 0; 31 | -webkit-appearance: none; 32 | } -------------------------------------------------------------------------------- /bower_components/bootstrap/less/code.less: -------------------------------------------------------------------------------- 1 | // 2 | // Code (inline and blocK) 3 | // -------------------------------------------------- 4 | 5 | 6 | // Inline and block code styles 7 | code, 8 | pre { 9 | padding: 0 3px 2px; 10 | #font > #family > .monospace; 11 | font-size: @baseFontSize - 2; 12 | color: @grayDark; 13 | .border-radius(3px); 14 | } 15 | 16 | // Inline code 17 | code { 18 | padding: 2px 4px; 19 | color: #d14; 20 | background-color: #f7f7f9; 21 | border: 1px solid #e1e1e8; 22 | white-space: nowrap; 23 | } 24 | 25 | // Blocks of code 26 | pre { 27 | display: block; 28 | padding: (@baseLineHeight - 1) / 2; 29 | margin: 0 0 @baseLineHeight / 2; 30 | font-size: @baseFontSize - 1; // 14px to 13px 31 | line-height: @baseLineHeight; 32 | word-break: break-all; 33 | word-wrap: break-word; 34 | white-space: pre; 35 | white-space: pre-wrap; 36 | background-color: #f5f5f5; 37 | border: 1px solid #ccc; // fallback for IE7-8 38 | border: 1px solid rgba(0,0,0,.15); 39 | .border-radius(@baseBorderRadius); 40 | 41 | // Make prettyprint styles more spaced out for readability 42 | &.prettyprint { 43 | margin-bottom: @baseLineHeight; 44 | } 45 | 46 | // Account for some code outputs that place code tags in pre tags 47 | code { 48 | padding: 0; 49 | color: inherit; 50 | white-space: pre; 51 | white-space: pre-wrap; 52 | background-color: transparent; 53 | border: 0; 54 | } 55 | } 56 | 57 | // Enable scrollable blocks of code 58 | .pre-scrollable { 59 | max-height: 340px; 60 | overflow-y: scroll; 61 | } -------------------------------------------------------------------------------- /bower_components/bootstrap/less/component-animations.less: -------------------------------------------------------------------------------- 1 | // 2 | // Component animations 3 | // -------------------------------------------------- 4 | 5 | 6 | .fade { 7 | opacity: 0; 8 | .transition(opacity .15s linear); 9 | &.in { 10 | opacity: 1; 11 | } 12 | } 13 | 14 | .collapse { 15 | position: relative; 16 | height: 0; 17 | overflow: hidden; 18 | .transition(height .35s ease); 19 | &.in { 20 | height: auto; 21 | } 22 | } 23 | -------------------------------------------------------------------------------- /bower_components/bootstrap/less/grid.less: -------------------------------------------------------------------------------- 1 | // 2 | // Grid system 3 | // -------------------------------------------------- 4 | 5 | 6 | // Fixed (940px) 7 | #grid > .core(@gridColumnWidth, @gridGutterWidth); 8 | 9 | // Fluid (940px) 10 | #grid > .fluid(@fluidGridColumnWidth, @fluidGridGutterWidth); 11 | 12 | // Reset utility classes due to specificity 13 | [class*="span"].hide, 14 | .row-fluid [class*="span"].hide { 15 | display: none; 16 | } 17 | 18 | [class*="span"].pull-right, 19 | .row-fluid [class*="span"].pull-right { 20 | float: right; 21 | } 22 | -------------------------------------------------------------------------------- /bower_components/bootstrap/less/hero-unit.less: -------------------------------------------------------------------------------- 1 | // 2 | // Hero unit 3 | // -------------------------------------------------- 4 | 5 | 6 | .hero-unit { 7 | padding: 60px; 8 | margin-bottom: 30px; 9 | font-size: 18px; 10 | font-weight: 200; 11 | line-height: @baseLineHeight * 1.5; 12 | color: @heroUnitLeadColor; 13 | background-color: @heroUnitBackground; 14 | .border-radius(6px); 15 | h1 { 16 | margin-bottom: 0; 17 | font-size: 60px; 18 | line-height: 1; 19 | color: @heroUnitHeadingColor; 20 | letter-spacing: -1px; 21 | } 22 | li { 23 | line-height: @baseLineHeight * 1.5; // Reset since we specify in type.less 24 | } 25 | } 26 | -------------------------------------------------------------------------------- /bower_components/bootstrap/less/labels-badges.less: -------------------------------------------------------------------------------- 1 | // 2 | // Labels and badges 3 | // -------------------------------------------------- 4 | 5 | 6 | // Base classes 7 | .label, 8 | .badge { 9 | display: inline-block; 10 | padding: 2px 4px; 11 | font-size: @baseFontSize * .846; 12 | font-weight: bold; 13 | line-height: 14px; // ensure proper line-height if floated 14 | color: @white; 15 | vertical-align: baseline; 16 | white-space: nowrap; 17 | text-shadow: 0 -1px 0 rgba(0,0,0,.25); 18 | background-color: @grayLight; 19 | } 20 | // Set unique padding and border-radii 21 | .label { 22 | .border-radius(3px); 23 | } 24 | .badge { 25 | padding-left: 9px; 26 | padding-right: 9px; 27 | .border-radius(9px); 28 | } 29 | 30 | // Empty labels/badges collapse 31 | .label, 32 | .badge { 33 | &:empty { 34 | display: none; 35 | } 36 | } 37 | 38 | // Hover/focus state, but only for links 39 | a { 40 | &.label:hover, 41 | &.label:focus, 42 | &.badge:hover, 43 | &.badge:focus { 44 | color: @white; 45 | text-decoration: none; 46 | cursor: pointer; 47 | } 48 | } 49 | 50 | // Colors 51 | // Only give background-color difference to links (and to simplify, we don't qualifty with `a` but [href] attribute) 52 | .label, 53 | .badge { 54 | // Important (red) 55 | &-important { background-color: @errorText; } 56 | &-important[href] { background-color: darken(@errorText, 10%); } 57 | // Warnings (orange) 58 | &-warning { background-color: @orange; } 59 | &-warning[href] { background-color: darken(@orange, 10%); } 60 | // Success (green) 61 | &-success { background-color: @successText; } 62 | &-success[href] { background-color: darken(@successText, 10%); } 63 | // Info (turquoise) 64 | &-info { background-color: @infoText; } 65 | &-info[href] { background-color: darken(@infoText, 10%); } 66 | // Inverse (black) 67 | &-inverse { background-color: @grayDark; } 68 | &-inverse[href] { background-color: darken(@grayDark, 10%); } 69 | } 70 | 71 | // Quick fix for labels/badges in buttons 72 | .btn { 73 | .label, 74 | .badge { 75 | position: relative; 76 | top: -1px; 77 | } 78 | } 79 | .btn-mini { 80 | .label, 81 | .badge { 82 | top: 0; 83 | } 84 | } 85 | -------------------------------------------------------------------------------- /bower_components/bootstrap/less/layouts.less: -------------------------------------------------------------------------------- 1 | // 2 | // Layouts 3 | // -------------------------------------------------- 4 | 5 | 6 | // Container (centered, fixed-width layouts) 7 | .container { 8 | .container-fixed(); 9 | } 10 | 11 | // Fluid layouts (left aligned, with sidebar, min- & max-width content) 12 | .container-fluid { 13 | padding-right: @gridGutterWidth; 14 | padding-left: @gridGutterWidth; 15 | .clearfix(); 16 | } -------------------------------------------------------------------------------- /bower_components/bootstrap/less/media.less: -------------------------------------------------------------------------------- 1 | // Media objects 2 | // Source: http://stubbornella.org/content/?p=497 3 | // -------------------------------------------------- 4 | 5 | 6 | // Common styles 7 | // ------------------------- 8 | 9 | // Clear the floats 10 | .media, 11 | .media-body { 12 | overflow: hidden; 13 | *overflow: visible; 14 | zoom: 1; 15 | } 16 | 17 | // Proper spacing between instances of .media 18 | .media, 19 | .media .media { 20 | margin-top: 15px; 21 | } 22 | .media:first-child { 23 | margin-top: 0; 24 | } 25 | 26 | // For images and videos, set to block 27 | .media-object { 28 | display: block; 29 | } 30 | 31 | // Reset margins on headings for tighter default spacing 32 | .media-heading { 33 | margin: 0 0 5px; 34 | } 35 | 36 | 37 | // Media image alignment 38 | // ------------------------- 39 | 40 | .media > .pull-left { 41 | margin-right: 10px; 42 | } 43 | .media > .pull-right { 44 | margin-left: 10px; 45 | } 46 | 47 | 48 | // Media list variation 49 | // ------------------------- 50 | 51 | // Undo default ul/ol styles 52 | .media-list { 53 | margin-left: 0; 54 | list-style: none; 55 | } 56 | -------------------------------------------------------------------------------- /bower_components/bootstrap/less/pager.less: -------------------------------------------------------------------------------- 1 | // 2 | // Pager pagination 3 | // -------------------------------------------------- 4 | 5 | 6 | .pager { 7 | margin: @baseLineHeight 0; 8 | list-style: none; 9 | text-align: center; 10 | .clearfix(); 11 | } 12 | .pager li { 13 | display: inline; 14 | } 15 | .pager li > a, 16 | .pager li > span { 17 | display: inline-block; 18 | padding: 5px 14px; 19 | background-color: #fff; 20 | border: 1px solid #ddd; 21 | .border-radius(15px); 22 | } 23 | .pager li > a:hover, 24 | .pager li > a:focus { 25 | text-decoration: none; 26 | background-color: #f5f5f5; 27 | } 28 | .pager .next > a, 29 | .pager .next > span { 30 | float: right; 31 | } 32 | .pager .previous > a, 33 | .pager .previous > span { 34 | float: left; 35 | } 36 | .pager .disabled > a, 37 | .pager .disabled > a:hover, 38 | .pager .disabled > a:focus, 39 | .pager .disabled > span { 40 | color: @grayLight; 41 | background-color: #fff; 42 | cursor: default; 43 | } -------------------------------------------------------------------------------- /bower_components/bootstrap/less/responsive-1200px-min.less: -------------------------------------------------------------------------------- 1 | // 2 | // Responsive: Large desktop and up 3 | // -------------------------------------------------- 4 | 5 | 6 | @media (min-width: 1200px) { 7 | 8 | // Fixed grid 9 | #grid > .core(@gridColumnWidth1200, @gridGutterWidth1200); 10 | 11 | // Fluid grid 12 | #grid > .fluid(@fluidGridColumnWidth1200, @fluidGridGutterWidth1200); 13 | 14 | // Input grid 15 | #grid > .input(@gridColumnWidth1200, @gridGutterWidth1200); 16 | 17 | // Thumbnails 18 | .thumbnails { 19 | margin-left: -@gridGutterWidth1200; 20 | } 21 | .thumbnails > li { 22 | margin-left: @gridGutterWidth1200; 23 | } 24 | .row-fluid .thumbnails { 25 | margin-left: 0; 26 | } 27 | 28 | } 29 | -------------------------------------------------------------------------------- /bower_components/bootstrap/less/responsive-768px-979px.less: -------------------------------------------------------------------------------- 1 | // 2 | // Responsive: Tablet to desktop 3 | // -------------------------------------------------- 4 | 5 | 6 | @media (min-width: 768px) and (max-width: 979px) { 7 | 8 | // Fixed grid 9 | #grid > .core(@gridColumnWidth768, @gridGutterWidth768); 10 | 11 | // Fluid grid 12 | #grid > .fluid(@fluidGridColumnWidth768, @fluidGridGutterWidth768); 13 | 14 | // Input grid 15 | #grid > .input(@gridColumnWidth768, @gridGutterWidth768); 16 | 17 | // No need to reset .thumbnails here since it's the same @gridGutterWidth 18 | 19 | } 20 | -------------------------------------------------------------------------------- /bower_components/bootstrap/less/responsive-utilities.less: -------------------------------------------------------------------------------- 1 | // 2 | // Responsive: Utility classes 3 | // -------------------------------------------------- 4 | 5 | 6 | // IE10 Metro responsive 7 | // Required for Windows 8 Metro split-screen snapping with IE10 8 | // Source: http://timkadlec.com/2012/10/ie10-snap-mode-and-responsive-design/ 9 | @-ms-viewport{ 10 | width: device-width; 11 | } 12 | 13 | // Hide from screenreaders and browsers 14 | // Credit: HTML5 Boilerplate 15 | .hidden { 16 | display: none; 17 | visibility: hidden; 18 | } 19 | 20 | // Visibility utilities 21 | 22 | // For desktops 23 | .visible-phone { display: none !important; } 24 | .visible-tablet { display: none !important; } 25 | .hidden-phone { } 26 | .hidden-tablet { } 27 | .hidden-desktop { display: none !important; } 28 | .visible-desktop { display: inherit !important; } 29 | 30 | // Tablets & small desktops only 31 | @media (min-width: 768px) and (max-width: 979px) { 32 | // Hide everything else 33 | .hidden-desktop { display: inherit !important; } 34 | .visible-desktop { display: none !important ; } 35 | // Show 36 | .visible-tablet { display: inherit !important; } 37 | // Hide 38 | .hidden-tablet { display: none !important; } 39 | } 40 | 41 | // Phones only 42 | @media (max-width: 767px) { 43 | // Hide everything else 44 | .hidden-desktop { display: inherit !important; } 45 | .visible-desktop { display: none !important; } 46 | // Show 47 | .visible-phone { display: inherit !important; } // Use inherit to restore previous behavior 48 | // Hide 49 | .hidden-phone { display: none !important; } 50 | } 51 | 52 | // Print utilities 53 | .visible-print { display: none !important; } 54 | .hidden-print { } 55 | 56 | @media print { 57 | .visible-print { display: inherit !important; } 58 | .hidden-print { display: none !important; } 59 | } 60 | -------------------------------------------------------------------------------- /bower_components/bootstrap/less/responsive.less: -------------------------------------------------------------------------------- 1 | /*! 2 | * Bootstrap Responsive v2.3.2 3 | * 4 | * Copyright 2013 Twitter, Inc 5 | * Licensed under the Apache License v2.0 6 | * http://www.apache.org/licenses/LICENSE-2.0 7 | * 8 | * Designed and built with all the love in the world by @mdo and @fat. 9 | */ 10 | 11 | 12 | // Responsive.less 13 | // For phone and tablet devices 14 | // ------------------------------------------------------------- 15 | 16 | 17 | // REPEAT VARIABLES & MIXINS 18 | // ------------------------- 19 | // Required since we compile the responsive stuff separately 20 | 21 | @import "variables.less"; // Modify this for custom colors, font-sizes, etc 22 | @import "mixins.less"; 23 | 24 | 25 | // RESPONSIVE CLASSES 26 | // ------------------ 27 | 28 | @import "responsive-utilities.less"; 29 | 30 | 31 | // MEDIA QUERIES 32 | // ------------------ 33 | 34 | // Large desktops 35 | @import "responsive-1200px-min.less"; 36 | 37 | // Tablets to regular desktops 38 | @import "responsive-768px-979px.less"; 39 | 40 | // Phones to portrait tablets and narrow desktops 41 | @import "responsive-767px-max.less"; 42 | 43 | 44 | // RESPONSIVE NAVBAR 45 | // ------------------ 46 | 47 | // From 979px and below, show a button to toggle navbar contents 48 | @import "responsive-navbar.less"; 49 | -------------------------------------------------------------------------------- /bower_components/bootstrap/less/scaffolding.less: -------------------------------------------------------------------------------- 1 | // 2 | // Scaffolding 3 | // -------------------------------------------------- 4 | 5 | 6 | // Body reset 7 | // ------------------------- 8 | 9 | body { 10 | margin: 0; 11 | font-family: @baseFontFamily; 12 | font-size: @baseFontSize; 13 | line-height: @baseLineHeight; 14 | color: @textColor; 15 | background-color: @bodyBackground; 16 | } 17 | 18 | 19 | // Links 20 | // ------------------------- 21 | 22 | a { 23 | color: @linkColor; 24 | text-decoration: none; 25 | } 26 | a:hover, 27 | a:focus { 28 | color: @linkColorHover; 29 | text-decoration: underline; 30 | } 31 | 32 | 33 | // Images 34 | // ------------------------- 35 | 36 | // Rounded corners 37 | .img-rounded { 38 | .border-radius(6px); 39 | } 40 | 41 | // Add polaroid-esque trim 42 | .img-polaroid { 43 | padding: 4px; 44 | background-color: #fff; 45 | border: 1px solid #ccc; 46 | border: 1px solid rgba(0,0,0,.2); 47 | .box-shadow(0 1px 3px rgba(0,0,0,.1)); 48 | } 49 | 50 | // Perfect circle 51 | .img-circle { 52 | .border-radius(500px); // crank the border-radius so it works with most reasonably sized images 53 | } 54 | -------------------------------------------------------------------------------- /bower_components/bootstrap/less/thumbnails.less: -------------------------------------------------------------------------------- 1 | // 2 | // Thumbnails 3 | // -------------------------------------------------- 4 | 5 | 6 | // Note: `.thumbnails` and `.thumbnails > li` are overriden in responsive files 7 | 8 | // Make wrapper ul behave like the grid 9 | .thumbnails { 10 | margin-left: -@gridGutterWidth; 11 | list-style: none; 12 | .clearfix(); 13 | } 14 | // Fluid rows have no left margin 15 | .row-fluid .thumbnails { 16 | margin-left: 0; 17 | } 18 | 19 | // Float li to make thumbnails appear in a row 20 | .thumbnails > li { 21 | float: left; // Explicity set the float since we don't require .span* classes 22 | margin-bottom: @baseLineHeight; 23 | margin-left: @gridGutterWidth; 24 | } 25 | 26 | // The actual thumbnail (can be `a` or `div`) 27 | .thumbnail { 28 | display: block; 29 | padding: 4px; 30 | line-height: @baseLineHeight; 31 | border: 1px solid #ddd; 32 | .border-radius(@baseBorderRadius); 33 | .box-shadow(0 1px 3px rgba(0,0,0,.055)); 34 | .transition(all .2s ease-in-out); 35 | } 36 | // Add a hover/focus state for linked versions only 37 | a.thumbnail:hover, 38 | a.thumbnail:focus { 39 | border-color: @linkColor; 40 | .box-shadow(0 1px 4px rgba(0,105,214,.25)); 41 | } 42 | 43 | // Images and captions 44 | .thumbnail > img { 45 | display: block; 46 | max-width: 100%; 47 | margin-left: auto; 48 | margin-right: auto; 49 | } 50 | .thumbnail .caption { 51 | padding: 9px; 52 | color: @gray; 53 | } 54 | -------------------------------------------------------------------------------- /bower_components/bootstrap/less/tooltip.less: -------------------------------------------------------------------------------- 1 | // 2 | // Tooltips 3 | // -------------------------------------------------- 4 | 5 | 6 | // Base class 7 | .tooltip { 8 | position: absolute; 9 | z-index: @zindexTooltip; 10 | display: block; 11 | visibility: visible; 12 | font-size: 11px; 13 | line-height: 1.4; 14 | .opacity(0); 15 | &.in { .opacity(80); } 16 | &.top { margin-top: -3px; padding: 5px 0; } 17 | &.right { margin-left: 3px; padding: 0 5px; } 18 | &.bottom { margin-top: 3px; padding: 5px 0; } 19 | &.left { margin-left: -3px; padding: 0 5px; } 20 | } 21 | 22 | // Wrapper for the tooltip content 23 | .tooltip-inner { 24 | max-width: 200px; 25 | padding: 8px; 26 | color: @tooltipColor; 27 | text-align: center; 28 | text-decoration: none; 29 | background-color: @tooltipBackground; 30 | .border-radius(@baseBorderRadius); 31 | } 32 | 33 | // Arrows 34 | .tooltip-arrow { 35 | position: absolute; 36 | width: 0; 37 | height: 0; 38 | border-color: transparent; 39 | border-style: solid; 40 | } 41 | .tooltip { 42 | &.top .tooltip-arrow { 43 | bottom: 0; 44 | left: 50%; 45 | margin-left: -@tooltipArrowWidth; 46 | border-width: @tooltipArrowWidth @tooltipArrowWidth 0; 47 | border-top-color: @tooltipArrowColor; 48 | } 49 | &.right .tooltip-arrow { 50 | top: 50%; 51 | left: 0; 52 | margin-top: -@tooltipArrowWidth; 53 | border-width: @tooltipArrowWidth @tooltipArrowWidth @tooltipArrowWidth 0; 54 | border-right-color: @tooltipArrowColor; 55 | } 56 | &.left .tooltip-arrow { 57 | top: 50%; 58 | right: 0; 59 | margin-top: -@tooltipArrowWidth; 60 | border-width: @tooltipArrowWidth 0 @tooltipArrowWidth @tooltipArrowWidth; 61 | border-left-color: @tooltipArrowColor; 62 | } 63 | &.bottom .tooltip-arrow { 64 | top: 0; 65 | left: 50%; 66 | margin-left: -@tooltipArrowWidth; 67 | border-width: 0 @tooltipArrowWidth @tooltipArrowWidth; 68 | border-bottom-color: @tooltipArrowColor; 69 | } 70 | } 71 | -------------------------------------------------------------------------------- /bower_components/bootstrap/less/utilities.less: -------------------------------------------------------------------------------- 1 | // 2 | // Utility classes 3 | // -------------------------------------------------- 4 | 5 | 6 | // Quick floats 7 | .pull-right { 8 | float: right; 9 | } 10 | .pull-left { 11 | float: left; 12 | } 13 | 14 | // Toggling content 15 | .hide { 16 | display: none; 17 | } 18 | .show { 19 | display: block; 20 | } 21 | 22 | // Visibility 23 | .invisible { 24 | visibility: hidden; 25 | } 26 | 27 | // For Affix plugin 28 | .affix { 29 | position: fixed; 30 | } 31 | -------------------------------------------------------------------------------- /bower_components/bootstrap/less/wells.less: -------------------------------------------------------------------------------- 1 | // 2 | // Wells 3 | // -------------------------------------------------- 4 | 5 | 6 | // Base class 7 | .well { 8 | min-height: 20px; 9 | padding: 19px; 10 | margin-bottom: 20px; 11 | background-color: @wellBackground; 12 | border: 1px solid darken(@wellBackground, 7%); 13 | .border-radius(@baseBorderRadius); 14 | .box-shadow(inset 0 1px 1px rgba(0,0,0,.05)); 15 | blockquote { 16 | border-color: #ddd; 17 | border-color: rgba(0,0,0,.15); 18 | } 19 | } 20 | 21 | // Sizes 22 | .well-large { 23 | padding: 24px; 24 | .border-radius(@borderRadiusLarge); 25 | } 26 | .well-small { 27 | padding: 9px; 28 | .border-radius(@borderRadiusSmall); 29 | } 30 | -------------------------------------------------------------------------------- /bower_components/bootstrap/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "bootstrap" 3 | , "description": "Sleek, intuitive, and powerful front-end framework for faster and easier web development." 4 | , "version": "2.3.2" 5 | , "keywords": ["bootstrap", "css"] 6 | , "homepage": "http://twbs.github.com/bootstrap/" 7 | , "author": "Twitter Inc." 8 | , "scripts": { "test": "make test" } 9 | , "repository": { 10 | "type": "git" 11 | , "url": "https://github.com/twbs/bootstrap.git" 12 | } 13 | , "licenses": [ 14 | { 15 | "type": "Apache-2.0" 16 | , "url": "http://www.apache.org/licenses/LICENSE-2.0" 17 | } 18 | ] 19 | , "devDependencies": { 20 | "uglify-js": "1.3.4" 21 | , "jshint": "0.9.1" 22 | , "recess": "1.1.9" 23 | , "connect": "2.1.3" 24 | , "hogan.js": "2.0.0" 25 | } 26 | } 27 | -------------------------------------------------------------------------------- /bower_components/humanize-duration/.bower.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "humanize-duration", 3 | "authors": [ 4 | "Evan Hahn (http://evanhahn.com)", 5 | "Óli Tómas Freysson (https://github.com/olitomas)", 6 | "Martin Prins (https://github.com/magarcia)", 7 | "Filipi Siqueira (https://github.com/filipi777)", 8 | "Peter Rekdal Sunde (https://github.com/peters)", 9 | "Michał Janiec (https://github.com/mjjaniec)", 10 | "Eileen Li (https://github.com/eileen3)", 11 | "Tommy Brunn (https://github.com/Nevon)", 12 | "Giovanni Pellerano (https://github.com/evilaliv3)", 13 | "Rahma Sghaier (https://twitter.com/sghaierrahma)", 14 | "Evgenios Kastanias (https://github.com/evgenios)", 15 | "Oleksii Mylotskyi (https://github.com/spalax)", 16 | "Matthew Brandly (https://github.com/brandly)", 17 | "Patrik Simek (https://github.com/patriksimek)", 18 | "Toni Helminen (https://github.com/tonihelminen)", 19 | "Vidmantas Drasutis (https://github.com/drasius2)", 20 | "Manh Tuan (https://github.com/J2TeaM)", 21 | "Leonard Lee (https://github.com/sheeeng)", 22 | "Jesse Jackson (https://github.com/jsejcksn)" 23 | ], 24 | "version": "3.10.0", 25 | "description": "Convert millisecond durations to English and many other languages.", 26 | "main": "humanize-duration.js", 27 | "homepage": "https://github.com/EvanHahn/HumanizeDuration.js", 28 | "keywords": [ 29 | "humanize", 30 | "duration", 31 | "time", 32 | "hours", 33 | "minutes", 34 | "seconds", 35 | "days", 36 | "years", 37 | "months" 38 | ], 39 | "license": "Unlicense", 40 | "ignore": [ 41 | "**/.*", 42 | "node_modules", 43 | "bower_components", 44 | "test", 45 | "tests" 46 | ], 47 | "repository": { 48 | "type": "git", 49 | "url": "git://github.com/EvanHahn/HumanizeDuration.js.git" 50 | }, 51 | "_release": "3.10.0", 52 | "_resolution": { 53 | "type": "version", 54 | "tag": "v3.10.0", 55 | "commit": "18243414dc4ce75d93f6a501f0e88130f2126421" 56 | }, 57 | "_source": "https://github.com/EvanHahn/HumanizeDuration.js.git", 58 | "_target": "~3.10.0", 59 | "_originalSource": "humanize-duration" 60 | } -------------------------------------------------------------------------------- /bower_components/humanize-duration/CONTRIBUTING.md: -------------------------------------------------------------------------------- 1 | How to contribute 2 | ================= 3 | 4 | This assumes you have Node and npm installed. 5 | 6 | 1. Fork the repo on GitHub. 7 | 1. Clone the repo. 8 | 1. Run `npm install`. 9 | 1. Make your changes. _Please add tests!_ If adding a new language, define some tests in *test/definitions*. 10 | 1. Update `HISTORY.md` with your changes. 11 | 1. If adding a new language, add it to the README. 12 | 1. Credit yourself in the README, in `package.json`, and in `bower.json`. 13 | 1. Make sure `npm test` doesn't have any errors. 14 | 1. Make sure `npm run hint` doesn't give any JSHint errors. 15 | 1. Submit your pull request! 16 | 17 | Thanks so much. 18 | -------------------------------------------------------------------------------- /bower_components/humanize-duration/LICENSE.txt: -------------------------------------------------------------------------------- 1 | This is free and unencumbered software released into the public domain. 2 | 3 | Anyone is free to copy, modify, publish, use, compile, sell, or 4 | distribute this software, either in source code form or as a compiled 5 | binary, for any purpose, commercial or non-commercial, and by any 6 | means. 7 | 8 | In jurisdictions that recognize copyright laws, the author or authors 9 | of this software dedicate any and all copyright interest in the 10 | software to the public domain. We make this dedication for the benefit 11 | of the public at large and to the detriment of our heirs and 12 | successors. We intend this dedication to be an overt act of 13 | relinquishment in perpetuity of all present and future rights to this 14 | software under copyright law. 15 | 16 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, 17 | EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF 18 | MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. 19 | IN NO EVENT SHALL THE AUTHORS BE LIABLE FOR ANY CLAIM, DAMAGES OR 20 | OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, 21 | ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR 22 | OTHER DEALINGS IN THE SOFTWARE. 23 | 24 | For more information, please refer to -------------------------------------------------------------------------------- /bower_components/humanize-duration/bower.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "humanize-duration", 3 | "authors": [ 4 | "Evan Hahn (http://evanhahn.com)", 5 | "Óli Tómas Freysson (https://github.com/olitomas)", 6 | "Martin Prins (https://github.com/magarcia)", 7 | "Filipi Siqueira (https://github.com/filipi777)", 8 | "Peter Rekdal Sunde (https://github.com/peters)", 9 | "Michał Janiec (https://github.com/mjjaniec)", 10 | "Eileen Li (https://github.com/eileen3)", 11 | "Tommy Brunn (https://github.com/Nevon)", 12 | "Giovanni Pellerano (https://github.com/evilaliv3)", 13 | "Rahma Sghaier (https://twitter.com/sghaierrahma)", 14 | "Evgenios Kastanias (https://github.com/evgenios)", 15 | "Oleksii Mylotskyi (https://github.com/spalax)", 16 | "Matthew Brandly (https://github.com/brandly)", 17 | "Patrik Simek (https://github.com/patriksimek)", 18 | "Toni Helminen (https://github.com/tonihelminen)", 19 | "Vidmantas Drasutis (https://github.com/drasius2)", 20 | "Manh Tuan (https://github.com/J2TeaM)", 21 | "Leonard Lee (https://github.com/sheeeng)", 22 | "Jesse Jackson (https://github.com/jsejcksn)" 23 | ], 24 | "version": "3.10.0", 25 | "description": "Convert millisecond durations to English and many other languages.", 26 | "main": "humanize-duration.js", 27 | "homepage": "https://github.com/EvanHahn/HumanizeDuration.js", 28 | "keywords": [ 29 | "humanize", 30 | "duration", 31 | "time", 32 | "hours", 33 | "minutes", 34 | "seconds", 35 | "days", 36 | "years", 37 | "months" 38 | ], 39 | "license": "Unlicense", 40 | "ignore": [ 41 | "**/.*", 42 | "node_modules", 43 | "bower_components", 44 | "test", 45 | "tests" 46 | ], 47 | "repository": { 48 | "type": "git", 49 | "url": "git://github.com/EvanHahn/HumanizeDuration.js.git" 50 | } 51 | } 52 | -------------------------------------------------------------------------------- /bower_components/humanize-duration/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "humanize-duration", 3 | "author": "Evan Hahn (http://evanhahn.com)", 4 | "contributors": [ 5 | "Óli Tómas Freysson (https://github.com/olitomas)", 6 | "Martin Prins (https://github.com/magarcia)", 7 | "Filipi Siqueira (https://github.com/filipi777)", 8 | "Peter Rekdal Sunde (https://github.com/peters)", 9 | "Michał Janiec (https://github.com/mjjaniec)", 10 | "Eileen Li (https://github.com/eileen3)", 11 | "Tommy Brunn (https://github.com/Nevon)", 12 | "Giovanni Pellerano (https://github.com/evilaliv3)", 13 | "Rahma Sghaier (https://twitter.com/sghaierrahma)", 14 | "Evgenios Kastanias (https://github.com/evgenios)", 15 | "Oleksii Mylotskyi (https://github.com/spalax)", 16 | "Matthew Brandly (https://github.com/brandly)", 17 | "Patrik Simek (https://github.com/patriksimek)", 18 | "Toni Helminen (https://github.com/tonihelminen)", 19 | "Vidmantas Drasutis (https://github.com/drasius2)", 20 | "Manh Tuan (https://github.com/J2TeaM)", 21 | "Leonard Lee (https://github.com/sheeeng)", 22 | "Jesse Jackson (https://github.com/jsejcksn)" 23 | ], 24 | "version": "3.10.0", 25 | "description": "Convert millisecond durations to English and many other languages.", 26 | "homepage": "https://github.com/EvanHahn/HumanizeDuration.js", 27 | "main": "humanize-duration.js", 28 | "scripts": { 29 | "pretest": "standard", 30 | "test": "mocha" 31 | }, 32 | "devDependencies": { 33 | "csv-parse": "^1.1.1", 34 | "mocha": "^2.5.3", 35 | "ms": "^0.7.1", 36 | "standard": "^7.1.2" 37 | }, 38 | "keywords": [ 39 | "humanize", 40 | "duration", 41 | "time", 42 | "hours", 43 | "minutes", 44 | "seconds", 45 | "days", 46 | "years", 47 | "months" 48 | ], 49 | "repository": { 50 | "type": "git", 51 | "url": "git://github.com/EvanHahn/HumanizeDuration.js.git" 52 | }, 53 | "bugs": "https://github.com/EvanHahn/HumanizeDuration.js/issues", 54 | "license": "Unlicense", 55 | "standard": { 56 | "globals": [ 57 | "define", 58 | "describe", 59 | "it", 60 | "before" 61 | ] 62 | } 63 | } 64 | -------------------------------------------------------------------------------- /bower_components/jquery/.bower.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "jquery", 3 | "version": "2.0.3", 4 | "description": "jQuery component", 5 | "keywords": [ 6 | "jquery", 7 | "component" 8 | ], 9 | "main": "jquery.js", 10 | "license": "MIT", 11 | "homepage": "https://github.com/jquery/jquery", 12 | "_release": "2.0.3", 13 | "_resolution": { 14 | "type": "version", 15 | "tag": "2.0.3", 16 | "commit": "f852e631ba85af7da4ad7594785e122504e7b233" 17 | }, 18 | "_source": "git://github.com/jquery/jquery.git", 19 | "_target": ">=1.8.0 <2.1.0", 20 | "_originalSource": "jquery" 21 | } -------------------------------------------------------------------------------- /bower_components/jquery/.editorconfig: -------------------------------------------------------------------------------- 1 | # This file is for unifying the coding style for different editors and IDEs 2 | # editorconfig.org 3 | 4 | root = true 5 | 6 | 7 | [*] 8 | end_of_line = lf 9 | charset = utf-8 10 | trim_trailing_whitespace = true 11 | insert_final_newline = true 12 | 13 | # Tabs in JS unless otherwise specified 14 | [**.js] 15 | indent_style = tab 16 | 17 | [Makefile] 18 | indent_style = tab 19 | 20 | 21 | [speed/**.html] 22 | indent_style = tab 23 | 24 | [speed/**.css] 25 | indent_style = tab 26 | 27 | [speed/benchmarker.js] 28 | indent_style = space 29 | indent_size = 2 30 | 31 | 32 | [test/**.xml] 33 | indent_style = tab 34 | 35 | [test/**.php] 36 | indent_style = tab 37 | 38 | [test/**.html] 39 | indent_style = tab 40 | 41 | [test/**.css] 42 | indent_style = space 43 | indent_size = 8 44 | -------------------------------------------------------------------------------- /bower_components/jquery/.gitattributes: -------------------------------------------------------------------------------- 1 | * eol=lf 2 | *.jar binary 3 | -------------------------------------------------------------------------------- /bower_components/jquery/.gitignore: -------------------------------------------------------------------------------- 1 | src/selector-sizzle.js 2 | src/selector.js 3 | dist 4 | .project 5 | .settings 6 | *~ 7 | *.diff 8 | *.patch 9 | /*.html 10 | .DS_Store 11 | dist/.destination.json 12 | dist/.sizecache.json 13 | build/.sizecache.json 14 | node_modules 15 | -------------------------------------------------------------------------------- /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/.jshintrc: -------------------------------------------------------------------------------- 1 | { 2 | "boss": true, 3 | "curly": true, 4 | "eqeqeq": true, 5 | "eqnull": true, 6 | "expr": true, 7 | "immed": true, 8 | "noarg": true, 9 | "onevar": true, 10 | "quotmark": "double", 11 | "smarttabs": true, 12 | "trailing": true, 13 | "undef": true, 14 | "unused": true, 15 | 16 | "node": true 17 | } -------------------------------------------------------------------------------- /bower_components/jquery/MIT-LICENSE.txt: -------------------------------------------------------------------------------- 1 | Copyright 2013 jQuery Foundation and other contributors 2 | http://jquery.com/ 3 | 4 | Permission is hereby granted, free of charge, to any person obtaining 5 | a copy of this software and associated documentation files (the 6 | "Software"), to deal in the Software without restriction, including 7 | without limitation the rights to use, copy, modify, merge, publish, 8 | distribute, sublicense, and/or sell copies of the Software, and to 9 | permit persons to whom the Software is furnished to do so, subject to 10 | the following conditions: 11 | 12 | The above copyright notice and this permission notice shall be 13 | included in all copies or substantial portions of the Software. 14 | 15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, 16 | EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF 17 | MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND 18 | NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE 19 | LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION 20 | OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION 21 | WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. 22 | -------------------------------------------------------------------------------- /bower_components/jquery/bower.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "jquery", 3 | "version": "2.0.3", 4 | "description": "jQuery component", 5 | "keywords": [ 6 | "jquery", 7 | "component" 8 | ], 9 | "main": "jquery.js", 10 | "license": "MIT" 11 | } 12 | -------------------------------------------------------------------------------- /bower_components/jquery/component.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "jquery", 3 | "repo": "components/jquery", 4 | "version": "2.0.3", 5 | "description": "jQuery component", 6 | "keywords": [ 7 | "jquery", 8 | "component" 9 | ], 10 | "main": "jquery.js", 11 | "scripts": [ 12 | "jquery.js" 13 | ], 14 | "license": "MIT" 15 | } 16 | -------------------------------------------------------------------------------- /bower_components/jquery/composer.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "components/jquery", 3 | "description": "jQuery JavaScript Library", 4 | "type": "component", 5 | "homepage": "http://jquery.com", 6 | "license": "MIT", 7 | "support": { 8 | "irc": "irc://irc.freenode.org/jquery", 9 | "issues": "http://bugs.jquery.com", 10 | "forum": "http://forum.jquery.com", 11 | "wiki": "http://docs.jquery.com/", 12 | "source": "https://github.com/jquery/jquery" 13 | }, 14 | "authors": [ 15 | { 16 | "name": "John Resig", 17 | "email": "jeresig@gmail.com" 18 | } 19 | ], 20 | "require": { 21 | "robloach/component-installer": "*" 22 | }, 23 | "extra": { 24 | "component": { 25 | "scripts": [ 26 | "jquery.js" 27 | ], 28 | "files": [ 29 | "jquery.min.js", 30 | "jquery-migrate.js", 31 | "jquery-migrate.min.js" 32 | ] 33 | } 34 | } 35 | } 36 | -------------------------------------------------------------------------------- /bower_components/jquery/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "jquery", 3 | "title": "jQuery", 4 | "description": "JavaScript library for DOM operations", 5 | "version": "2.0.3", 6 | "homepage": "http://jquery.com", 7 | "author": { 8 | "name": "jQuery Foundation and other contributors", 9 | "url": "https://github.com/jquery/jquery/blob/master/AUTHORS.txt" 10 | }, 11 | "repository": { 12 | "type": "git", 13 | "url": "https://github.com/jquery/jquery.git" 14 | }, 15 | "bugs": { 16 | "url": "http://bugs.jquery.com" 17 | }, 18 | "licenses": [ 19 | { 20 | "type": "MIT", 21 | "url": "https://github.com/jquery/jquery/blob/master/MIT-LICENSE.txt" 22 | } 23 | ], 24 | "dependencies": {}, 25 | "devDependencies": { 26 | "grunt-compare-size": "~0.4.0", 27 | "grunt-git-authors": "1.2.0", 28 | "grunt-update-submodules": "0.2.0", 29 | "grunt-contrib-watch": "0.3.1", 30 | "grunt-contrib-jshint": "0.3.0", 31 | "grunt-contrib-uglify": "0.2.0", 32 | "grunt": "0.4.1", 33 | "gzip-js": "0.3.1", 34 | "testswarm": "~1.1.0", 35 | "archiver": "~0.4.2" 36 | }, 37 | "keywords": [] 38 | } 39 | -------------------------------------------------------------------------------- /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 | } 66 | -------------------------------------------------------------------------------- /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 | 48 | -------------------------------------------------------------------------------- /bower_components/jquery/src/.jshintrc: -------------------------------------------------------------------------------- 1 | { 2 | "boss": true, 3 | "curly": true, 4 | "eqeqeq": true, 5 | "eqnull": true, 6 | "expr": true, 7 | "immed": true, 8 | "noarg": true, 9 | "onevar": true, 10 | "quotmark": "double", 11 | "smarttabs": true, 12 | "trailing": true, 13 | "undef": true, 14 | "unused": true, 15 | 16 | "sub": true, 17 | 18 | "browser": true, 19 | "es5": true, 20 | 21 | "globals": { 22 | "jQuery": true, 23 | "define": true, 24 | "module": true 25 | } 26 | } 27 | -------------------------------------------------------------------------------- /bower_components/jquery/src/ajax/script.js: -------------------------------------------------------------------------------- 1 | // Install script dataType 2 | jQuery.ajaxSetup({ 3 | accepts: { 4 | script: "text/javascript, application/javascript, application/ecmascript, application/x-ecmascript" 5 | }, 6 | contents: { 7 | script: /(?:java|ecma)script/ 8 | }, 9 | converters: { 10 | "text script": function( text ) { 11 | jQuery.globalEval( text ); 12 | return text; 13 | } 14 | } 15 | }); 16 | 17 | // Handle cache's special case and crossDomain 18 | jQuery.ajaxPrefilter( "script", function( s ) { 19 | if ( s.cache === undefined ) { 20 | s.cache = false; 21 | } 22 | if ( s.crossDomain ) { 23 | s.type = "GET"; 24 | } 25 | }); 26 | 27 | // Bind script tag hack transport 28 | jQuery.ajaxTransport( "script", function( s ) { 29 | // This transport only deals with cross domain requests 30 | if ( s.crossDomain ) { 31 | var script, callback; 32 | return { 33 | send: function( _, complete ) { 34 | script = jQuery(" 7 | 21 | 22 | 23 | 24 | 25 | 26 | -------------------------------------------------------------------------------- /bower_components/jquery/test/data/atom+xml.php: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | -------------------------------------------------------------------------------- /bower_components/jquery/test/data/badcall.js: -------------------------------------------------------------------------------- 1 | undefined(); 2 | -------------------------------------------------------------------------------- /bower_components/jquery/test/data/badjson.js: -------------------------------------------------------------------------------- 1 | {bad: toTheBone} 2 | -------------------------------------------------------------------------------- /bower_components/jquery/test/data/cleanScript.html: -------------------------------------------------------------------------------- 1 | 6 | 11 | -------------------------------------------------------------------------------- /bower_components/jquery/test/data/core/cc_on.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 15 | 16 | 17 | 18 | 21 | 22 | 23 | -------------------------------------------------------------------------------- /bower_components/jquery/test/data/core/dont_return.php: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /bower_components/jquery/test/data/core/dynamic_ready.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 34 | 35 | 36 | -------------------------------------------------------------------------------- /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 | 18 | -------------------------------------------------------------------------------- /bower_components/jquery/test/data/dimensions/documentSmall.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 15 | 16 | 17 |
      18 | 19 |
      20 | 21 | 22 | -------------------------------------------------------------------------------- /bower_components/jquery/test/data/echoData.php: -------------------------------------------------------------------------------- 1 | 2 | -------------------------------------------------------------------------------- /bower_components/jquery/test/data/echoQuery.php: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /bower_components/jquery/test/data/errorWithJSON.php: -------------------------------------------------------------------------------- 1 | 22 | -------------------------------------------------------------------------------- /bower_components/jquery/test/data/evalScript.php: -------------------------------------------------------------------------------- 1 | ok( "" === "GET", "request method is " ); -------------------------------------------------------------------------------- /bower_components/jquery/test/data/event/focusElem.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | .focus() (activeElement access #13393) 6 | 7 | 8 | 9 | 10 | 11 | 15 | 16 | 17 | -------------------------------------------------------------------------------- /bower_components/jquery/test/data/event/longLoadScript.php: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /bower_components/jquery/test/data/event/onbeforeunload.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 20 | 21 | -------------------------------------------------------------------------------- /bower_components/jquery/test/data/event/promiseReady.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | Test case for jQuery ticket #11470 6 | 7 | 13 | 14 | 15 | 16 | 17 | 18 | -------------------------------------------------------------------------------- /bower_components/jquery/test/data/event/syncReady.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | Test case for jQuery ticket #10067 6 | 7 | 8 | 9 | 10 | 15 | 16 | 20 | 21 |
      22 | 23 | 24 | -------------------------------------------------------------------------------- /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/json.php: -------------------------------------------------------------------------------- 1 | 14 | -------------------------------------------------------------------------------- /bower_components/jquery/test/data/json_obj.js: -------------------------------------------------------------------------------- 1 | { "data": {"lang": "en", "length": 25} } 2 | -------------------------------------------------------------------------------- /bower_components/jquery/test/data/jsonp.php: -------------------------------------------------------------------------------- 1 | 15 | -------------------------------------------------------------------------------- /bower_components/jquery/test/data/manipulation/iframe-denied.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | body 6 | 7 | 8 |
      9 | 10 | 35 | 36 | 37 | -------------------------------------------------------------------------------- /bower_components/jquery/test/data/name.html: -------------------------------------------------------------------------------- 1 | ERROR 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/nocontent.php: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /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 | 12 | 13 | 21 | 22 | 23 |
      24 |
      25 | 26 | 27 | -------------------------------------------------------------------------------- /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/sizzle_cache.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | jQuery selector - sizzle cache 6 | 7 | 8 | 14 | 15 | 16 | 17 |
      18 | Worlds collide 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/boxSizing.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 10 | 11 | 12 | 13 | 18 | 19 | 20 | -------------------------------------------------------------------------------- /bower_components/jquery/test/data/support/csp.js: -------------------------------------------------------------------------------- 1 | jQuery(function() { 2 | parent.iframeCallback( jQuery.support ); 3 | }); 4 | -------------------------------------------------------------------------------- /bower_components/jquery/test/data/support/csp.php: -------------------------------------------------------------------------------- 1 | 11 | 12 | 13 | 14 | 15 | CSP Test Page 16 | 17 | 18 | 19 | 20 |

      CSP Test Page

      21 | 22 | 23 | -------------------------------------------------------------------------------- /bower_components/jquery/test/data/support/shrinkWrapBlocks.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 12 | 13 | 14 |
      15 | 16 |
      17 | 22 | 23 | 24 | -------------------------------------------------------------------------------- /bower_components/jquery/test/data/support/testElementCrash.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 10 | 11 | 12 | 13 | 16 | 17 | 18 | -------------------------------------------------------------------------------- /bower_components/jquery/test/data/test.html: -------------------------------------------------------------------------------- 1 | html text
      2 | 6 | 7 | blabla 8 | -------------------------------------------------------------------------------- /bower_components/jquery/test/data/test.js: -------------------------------------------------------------------------------- 1 | this.testBar = "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/text.php: -------------------------------------------------------------------------------- 1 | Lorem ipsum dolor sit amet 2 | consectetuer adipiscing elit 3 | Sed lorem leo 4 | lorem leo consectetuer adipiscing elit 5 | Sed lorem leo 6 | rhoncus sit amet 7 | elementum at 8 | bibendum at, eros 9 | Cras at mi et tortor egestas vestibulum 10 | sed Cras at mi vestibulum 11 | Phasellus sed felis sit amet 12 | orci dapibus semper. 13 | -------------------------------------------------------------------------------- /bower_components/jquery/test/data/with_fries.xml: -------------------------------------------------------------------------------- 1 | 2 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 1 14 | 15 | 16 | 17 | 18 | foo 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | -------------------------------------------------------------------------------- /bower_components/jquery/test/data/with_fries_over_jsonp.php: -------------------------------------------------------------------------------- 1 | 8 | -------------------------------------------------------------------------------- /bower_components/jquery/test/jquery.js: -------------------------------------------------------------------------------- 1 | // Use the right jQuery source in iframe tests 2 | document.write( " 8 | 12 | 13 | 14 |

      jQuery Local File Test

      15 |

      16 | Introduction 17 |

      18 |
        19 |
      • 20 | Access this file using the "file:" protocol, 21 |
      • 22 |
      • 23 | two green "OK" strings must appear below, 24 |
      • 25 |
      • 26 | Empty local files will issue errors, it's a known limitation. 27 |
      • 28 |
      29 |

      30 | Results 31 |

      32 |
        33 |
      • 34 | Success: 35 | 36 | 37 |
      • 38 |
      • 39 | Error: 40 | 41 | 42 |
      • 43 |
      44 |

      45 | Logs: 46 |

      47 |
        48 |
      49 | 75 | 76 | -------------------------------------------------------------------------------- /bower_components/jquery/test/networkerror.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 11 | 12 | 13 | jQuery Network Error Test for Firefox 14 | 15 | 18 | 19 | 36 | 37 | 38 |

      39 | jQuery Network Error Test for Firefox 40 |

      41 |
      42 | This is a test page for 43 | 44 | #8135 45 | 46 | which was reported in Firefox when accessing properties 47 | of an XMLHttpRequest object after a network error occurred. 48 |
      49 |
      Take the following steps:
      50 |
        51 |
      1. 52 | make sure you accessed this page through a web server, 53 |
      2. 54 |
      3. 55 | stop the web server, 56 |
      4. 57 |
      5. 58 | open the console, 59 |
      6. 60 |
      7. 61 | click this 62 | 63 | , 64 |
      8. 65 |
      9. 66 | wait for both requests to fail. 67 |
      10. 68 |
      69 |
      70 | Test passes if you get two log lines: 71 |
        72 |
      • 73 | the first starting with "abort", 74 |
      • 75 |
      • 76 | the second starting with "complete", 77 |
      • 78 |
      79 |
      80 |
      81 | Test fails if the browser notifies an exception. 82 |
      83 | 84 | 85 | -------------------------------------------------------------------------------- /bower_components/jquery/test/readywait.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 8 | 9 | 10 | jQuery.holdReady Test 11 | 12 | 17 | 18 | 19 | 21 | 22 | 23 | 34 | 35 | 36 |

      37 | jQuery.holdReady Test 38 |

      39 |

      40 | This is a test page for jQuery.readyWait and jQuery.holdReady, 41 | see 42 | #6781 43 | and 44 | #8803. 45 |

      46 |

      47 | Test for jQuery.holdReady, which can be used 48 | by plugins and other scripts to indicate something 49 | important to the page is still loading and needs 50 | to block the DOM ready callbacks that are registered 51 | with jQuery. 52 |

      53 |

      54 | Script loaders are the most likely kind of script 55 | to use jQuery.holdReady, but it could be used by 56 | other things like a script that loads a CSS file 57 | and wants to pause the DOM ready callbacks. 58 |

      59 |

      60 | Expected Result: The text 61 | It Worked! 62 | appears below after about 2 seconds. 63 |

      64 |

      65 | If there is an error in the console, 66 | or the text does not show up, then the test failed. 67 |

      68 |
      69 | 70 | 71 | -------------------------------------------------------------------------------- /bower_components/jquery/test/unit/deprecated.js: -------------------------------------------------------------------------------- 1 | module("deprecated", { teardown: moduleTeardown }); 2 | 3 | if ( jQuery.fn.size ) { 4 | test("size()", function() { 5 | expect(1); 6 | equal( jQuery("#qunit-fixture p").size(), 6, "Get Number of Elements Found" ); 7 | }); 8 | } 9 | -------------------------------------------------------------------------------- /bower_components/jquery/test/unit/exports.js: -------------------------------------------------------------------------------- 1 | module("exports", { teardown: moduleTeardown }); 2 | 3 | test("amdModule", function() { 4 | expect(1); 5 | 6 | equal( jQuery, amdDefined, "Make sure defined module matches jQuery" ); 7 | }); 8 | -------------------------------------------------------------------------------- /bower_components/jquery/test/xhtml.php: -------------------------------------------------------------------------------- 1 | 6 | -------------------------------------------------------------------------------- /bower_components/momentjs/.bower.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "moment", 3 | "version": "2.9.0", 4 | "main": "moment.js", 5 | "ignore": [ 6 | "**/.*", 7 | "node_modules", 8 | "bower_components", 9 | "test", 10 | "tests", 11 | "tasks", 12 | "component.json", 13 | "composer.json", 14 | "CONTRIBUTING.md", 15 | "ender.js", 16 | "Gruntfile.js", 17 | "package.js", 18 | "package.json" 19 | ], 20 | "homepage": "https://github.com/moment/moment", 21 | "_release": "2.9.0", 22 | "_resolution": { 23 | "type": "version", 24 | "tag": "2.9.0", 25 | "commit": "8b35bc74c0e88c1a8c58ccb90117a9edc9f6a479" 26 | }, 27 | "_source": "git://github.com/moment/moment.git", 28 | "_target": "~2.9.0", 29 | "_originalSource": "momentjs" 30 | } -------------------------------------------------------------------------------- /bower_components/momentjs/LICENSE: -------------------------------------------------------------------------------- 1 | Copyright (c) 2011-2014 Tim Wood, Iskren Chernev, Moment.js contributors 2 | 3 | Permission is hereby granted, free of charge, to any person 4 | obtaining a copy of this software and associated documentation 5 | files (the "Software"), to deal in the Software without 6 | restriction, including without limitation the rights to use, 7 | copy, modify, merge, publish, distribute, sublicense, and/or sell 8 | copies of the Software, and to permit persons to whom the 9 | Software is furnished to do so, subject to the following 10 | conditions: 11 | 12 | The above copyright notice and this permission notice shall be 13 | included in all copies or substantial portions of the Software. 14 | 15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, 16 | EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES 17 | OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND 18 | NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT 19 | HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, 20 | WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING 21 | FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR 22 | OTHER DEALINGS IN THE SOFTWARE. 23 | -------------------------------------------------------------------------------- /bower_components/momentjs/Moment.js.nuspec: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | Moment.js 5 | 2.8.4 6 | Tim Wood 7 | Cory Deppen, Iskren Chernev 8 | A lightweight javascript date library for parsing, manipulating, and formatting dates. 9 | 10 | - Add LTS localised format that includes seconds 11 | - Added formatToken 'x' for unix offset in milliseconds #1938 12 | - Support 24:00:00.000 to mean next day, at midnight. 13 | - Accept 'date' key when creating moment with object 14 | - Use native toISOString when we can 15 | - Some bugfixes and language improvements 16 | 17 | http://momentjs.com/ 18 | http://pbs.twimg.com/profile_images/482670411402858496/Xrtdc94q_normal.png 19 | https://raw.github.com/timrwood/moment/master/LICENSE 20 | JavaScript date time browser node.js 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | -------------------------------------------------------------------------------- /bower_components/momentjs/README.md: -------------------------------------------------------------------------------- 1 | [![NPM version][npm-version-image]][npm-url] [![NPM downloads][npm-downloads-image]][npm-url] [![MIT License][license-image]][license-url] [![Build Status][travis-image]][travis-url] 2 | 3 | A lightweight JavaScript date library for parsing, validating, manipulating, and formatting dates. 4 | 5 | ## [Documentation](http://momentjs.com/docs/) 6 | 7 | ## Upgrading to 2.0.0 8 | 9 | There are a number of small backwards incompatible changes with version 2.0.0. [See the full descriptions here](https://gist.github.com/timrwood/e72f2eef320ed9e37c51#backwards-incompatible-changes) 10 | 11 | * Changed language ordinal method to return the number + ordinal instead of just the ordinal. 12 | 13 | * Changed two digit year parsing cutoff to match strptime. 14 | 15 | * Removed `moment#sod` and `moment#eod` in favor of `moment#startOf` and `moment#endOf`. 16 | 17 | * Removed `moment.humanizeDuration()` in favor of `moment.duration().humanize()`. 18 | 19 | * Removed the lang data objects from the top level namespace. 20 | 21 | * Duplicate `Date` passed to `moment()` instead of referencing it. 22 | 23 | ## [Changelog](https://github.com/moment/moment/blob/develop/CHANGELOG.md) 24 | 25 | ## [Contributing](https://github.com/moment/moment/blob/develop/CONTRIBUTING.md) 26 | 27 | ## License 28 | 29 | Moment.js is freely distributable under the terms of the [MIT license](https://github.com/moment/moment/blob/develop/LICENSE). 30 | 31 | [license-image]: http://img.shields.io/badge/license-MIT-blue.svg?style=flat 32 | [license-url]: LICENSE 33 | 34 | [npm-url]: https://npmjs.org/package/moment 35 | [npm-version-image]: http://img.shields.io/npm/v/moment.svg?style=flat 36 | [npm-downloads-image]: http://img.shields.io/npm/dm/moment.svg?style=flat 37 | 38 | [travis-url]: http://travis-ci.org/moment/moment 39 | [travis-image]: http://img.shields.io/travis/moment/moment/develop.svg?style=flat 40 | -------------------------------------------------------------------------------- /bower_components/momentjs/benchmarks/clone.js: -------------------------------------------------------------------------------- 1 | var Benchmark = require('benchmark'), 2 | moment = require("./../moment.js"), 3 | base = moment('2013-05-25'); 4 | 5 | module.exports = { 6 | name: 'clone', 7 | onComplete: function(){console.log('done');}, 8 | fn: function(){base.clone();}, 9 | async: true 10 | }; 11 | -------------------------------------------------------------------------------- /bower_components/momentjs/bower.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "moment", 3 | "version": "2.9.0", 4 | "main": "moment.js", 5 | "ignore": [ 6 | "**/.*", 7 | "node_modules", 8 | "bower_components", 9 | "test", 10 | "tests", 11 | "tasks", 12 | "component.json", 13 | "composer.json", 14 | "CONTRIBUTING.md", 15 | "ender.js", 16 | "Gruntfile.js", 17 | "package.js", 18 | "package.json" 19 | ] 20 | } 21 | -------------------------------------------------------------------------------- /bower_components/momentjs/locale/ar-ma.js: -------------------------------------------------------------------------------- 1 | // moment.js locale configuration 2 | // locale : Moroccan Arabic (ar-ma) 3 | // author : ElFadili Yassine : https://github.com/ElFadiliY 4 | // author : Abdel Said : https://github.com/abdelsaid 5 | 6 | (function (factory) { 7 | if (typeof define === 'function' && define.amd) { 8 | define(['moment'], factory); // AMD 9 | } else if (typeof exports === 'object') { 10 | module.exports = factory(require('../moment')); // Node 11 | } else { 12 | factory((typeof global !== 'undefined' ? global : this).moment); // node or other global 13 | } 14 | }(function (moment) { 15 | return moment.defineLocale('ar-ma', { 16 | months : 'يناير_فبراير_مارس_أبريل_ماي_يونيو_يوليوز_غشت_شتنبر_أكتوبر_نونبر_دجنبر'.split('_'), 17 | monthsShort : 'يناير_فبراير_مارس_أبريل_ماي_يونيو_يوليوز_غشت_شتنبر_أكتوبر_نونبر_دجنبر'.split('_'), 18 | weekdays : 'الأحد_الإتنين_الثلاثاء_الأربعاء_الخميس_الجمعة_السبت'.split('_'), 19 | weekdaysShort : 'احد_اتنين_ثلاثاء_اربعاء_خميس_جمعة_سبت'.split('_'), 20 | weekdaysMin : 'ح_ن_ث_ر_خ_ج_س'.split('_'), 21 | longDateFormat : { 22 | LT : 'HH:mm', 23 | LTS : 'LT:ss', 24 | L : 'DD/MM/YYYY', 25 | LL : 'D MMMM YYYY', 26 | LLL : 'D MMMM YYYY LT', 27 | LLLL : 'dddd D MMMM YYYY LT' 28 | }, 29 | calendar : { 30 | sameDay: '[اليوم على الساعة] LT', 31 | nextDay: '[غدا على الساعة] LT', 32 | nextWeek: 'dddd [على الساعة] LT', 33 | lastDay: '[أمس على الساعة] LT', 34 | lastWeek: 'dddd [على الساعة] LT', 35 | sameElse: 'L' 36 | }, 37 | relativeTime : { 38 | future : 'في %s', 39 | past : 'منذ %s', 40 | s : 'ثوان', 41 | m : 'دقيقة', 42 | mm : '%d دقائق', 43 | h : 'ساعة', 44 | hh : '%d ساعات', 45 | d : 'يوم', 46 | dd : '%d أيام', 47 | M : 'شهر', 48 | MM : '%d أشهر', 49 | y : 'سنة', 50 | yy : '%d سنوات' 51 | }, 52 | week : { 53 | dow : 6, // Saturday is the first day of the week. 54 | doy : 12 // The week that contains Jan 1st is the first week of the year. 55 | } 56 | }); 57 | })); 58 | -------------------------------------------------------------------------------- /bower_components/momentjs/locale/ar-tn.js: -------------------------------------------------------------------------------- 1 | // moment.js locale configuration 2 | // locale : Tunisian Arabic (ar-tn) 3 | 4 | (function (factory) { 5 | if (typeof define === 'function' && define.amd) { 6 | define(['moment'], factory); // AMD 7 | } else if (typeof exports === 'object') { 8 | module.exports = factory(require('../moment')); // Node 9 | } else { 10 | factory((typeof global !== 'undefined' ? global : this).moment); // node or other global 11 | } 12 | }(function (moment) { 13 | return moment.defineLocale('ar-tn', { 14 | months: 'جانفي_فيفري_مارس_أفريل_ماي_جوان_جويلية_أوت_سبتمبر_أكتوبر_نوفمبر_ديسمبر'.split('_'), 15 | monthsShort: 'جانفي_فيفري_مارس_أفريل_ماي_جوان_جويلية_أوت_سبتمبر_أكتوبر_نوفمبر_ديسمبر'.split('_'), 16 | weekdays: 'الأحد_الإثنين_الثلاثاء_الأربعاء_الخميس_الجمعة_السبت'.split('_'), 17 | weekdaysShort: 'أحد_إثنين_ثلاثاء_أربعاء_خميس_جمعة_سبت'.split('_'), 18 | weekdaysMin: 'ح_ن_ث_ر_خ_ج_س'.split('_'), 19 | longDateFormat: { 20 | LT: 'HH:mm', 21 | LTS: 'LT:ss', 22 | L: 'DD/MM/YYYY', 23 | LL: 'D MMMM YYYY', 24 | LLL: 'D MMMM YYYY LT', 25 | LLLL: 'dddd D MMMM YYYY LT' 26 | }, 27 | calendar: { 28 | sameDay: '[اليوم على الساعة] LT', 29 | nextDay: '[غدا على الساعة] LT', 30 | nextWeek: 'dddd [على الساعة] LT', 31 | lastDay: '[أمس على الساعة] LT', 32 | lastWeek: 'dddd [على الساعة] LT', 33 | sameElse: 'L' 34 | }, 35 | relativeTime: { 36 | future: 'في %s', 37 | past: 'منذ %s', 38 | s: 'ثوان', 39 | m: 'دقيقة', 40 | mm: '%d دقائق', 41 | h: 'ساعة', 42 | hh: '%d ساعات', 43 | d: 'يوم', 44 | dd: '%d أيام', 45 | M: 'شهر', 46 | MM: '%d أشهر', 47 | y: 'سنة', 48 | yy: '%d سنوات' 49 | }, 50 | week: { 51 | dow: 1, // Monday is the first day of the week. 52 | doy: 4 // The week that contains Jan 4th is the first week of the year. 53 | } 54 | }); 55 | })); 56 | -------------------------------------------------------------------------------- /bower_components/momentjs/locale/da.js: -------------------------------------------------------------------------------- 1 | // moment.js locale configuration 2 | // locale : danish (da) 3 | // author : Ulrik Nielsen : https://github.com/mrbase 4 | 5 | (function (factory) { 6 | if (typeof define === 'function' && define.amd) { 7 | define(['moment'], factory); // AMD 8 | } else if (typeof exports === 'object') { 9 | module.exports = factory(require('../moment')); // Node 10 | } else { 11 | factory((typeof global !== 'undefined' ? global : this).moment); // node or other global 12 | } 13 | }(function (moment) { 14 | return moment.defineLocale('da', { 15 | months : 'januar_februar_marts_april_maj_juni_juli_august_september_oktober_november_december'.split('_'), 16 | monthsShort : 'jan_feb_mar_apr_maj_jun_jul_aug_sep_okt_nov_dec'.split('_'), 17 | weekdays : 'søndag_mandag_tirsdag_onsdag_torsdag_fredag_lørdag'.split('_'), 18 | weekdaysShort : 'søn_man_tir_ons_tor_fre_lør'.split('_'), 19 | weekdaysMin : 'sø_ma_ti_on_to_fr_lø'.split('_'), 20 | longDateFormat : { 21 | LT : 'HH:mm', 22 | LTS : 'LT:ss', 23 | L : 'DD/MM/YYYY', 24 | LL : 'D. MMMM YYYY', 25 | LLL : 'D. MMMM YYYY LT', 26 | LLLL : 'dddd [d.] D. MMMM YYYY LT' 27 | }, 28 | calendar : { 29 | sameDay : '[I dag kl.] LT', 30 | nextDay : '[I morgen kl.] LT', 31 | nextWeek : 'dddd [kl.] LT', 32 | lastDay : '[I går kl.] LT', 33 | lastWeek : '[sidste] dddd [kl] LT', 34 | sameElse : 'L' 35 | }, 36 | relativeTime : { 37 | future : 'om %s', 38 | past : '%s siden', 39 | s : 'få sekunder', 40 | m : 'et minut', 41 | mm : '%d minutter', 42 | h : 'en time', 43 | hh : '%d timer', 44 | d : 'en dag', 45 | dd : '%d dage', 46 | M : 'en måned', 47 | MM : '%d måneder', 48 | y : 'et år', 49 | yy : '%d år' 50 | }, 51 | ordinalParse: /\d{1,2}\./, 52 | ordinal : '%d.', 53 | week : { 54 | dow : 1, // Monday is the first day of the week. 55 | doy : 4 // The week that contains Jan 4th is the first week of the year. 56 | } 57 | }); 58 | })); 59 | -------------------------------------------------------------------------------- /bower_components/momentjs/locale/fo.js: -------------------------------------------------------------------------------- 1 | // moment.js locale configuration 2 | // locale : faroese (fo) 3 | // author : Ragnar Johannesen : https://github.com/ragnar123 4 | 5 | (function (factory) { 6 | if (typeof define === 'function' && define.amd) { 7 | define(['moment'], factory); // AMD 8 | } else if (typeof exports === 'object') { 9 | module.exports = factory(require('../moment')); // Node 10 | } else { 11 | factory((typeof global !== 'undefined' ? global : this).moment); // node or other global 12 | } 13 | }(function (moment) { 14 | return moment.defineLocale('fo', { 15 | months : 'januar_februar_mars_apríl_mai_juni_juli_august_september_oktober_november_desember'.split('_'), 16 | monthsShort : 'jan_feb_mar_apr_mai_jun_jul_aug_sep_okt_nov_des'.split('_'), 17 | weekdays : 'sunnudagur_mánadagur_týsdagur_mikudagur_hósdagur_fríggjadagur_leygardagur'.split('_'), 18 | weekdaysShort : 'sun_mán_týs_mik_hós_frí_ley'.split('_'), 19 | weekdaysMin : 'su_má_tý_mi_hó_fr_le'.split('_'), 20 | longDateFormat : { 21 | LT : 'HH:mm', 22 | LTS : 'LT:ss', 23 | L : 'DD/MM/YYYY', 24 | LL : 'D MMMM YYYY', 25 | LLL : 'D MMMM YYYY LT', 26 | LLLL : 'dddd D. MMMM, YYYY LT' 27 | }, 28 | calendar : { 29 | sameDay : '[Í dag kl.] LT', 30 | nextDay : '[Í morgin kl.] LT', 31 | nextWeek : 'dddd [kl.] LT', 32 | lastDay : '[Í gjár kl.] LT', 33 | lastWeek : '[síðstu] dddd [kl] LT', 34 | sameElse : 'L' 35 | }, 36 | relativeTime : { 37 | future : 'um %s', 38 | past : '%s síðani', 39 | s : 'fá sekund', 40 | m : 'ein minutt', 41 | mm : '%d minuttir', 42 | h : 'ein tími', 43 | hh : '%d tímar', 44 | d : 'ein dagur', 45 | dd : '%d dagar', 46 | M : 'ein mánaði', 47 | MM : '%d mánaðir', 48 | y : 'eitt ár', 49 | yy : '%d ár' 50 | }, 51 | ordinalParse: /\d{1,2}\./, 52 | ordinal : '%d.', 53 | week : { 54 | dow : 1, // Monday is the first day of the week. 55 | doy : 4 // The week that contains Jan 4th is the first week of the year. 56 | } 57 | }); 58 | })); 59 | -------------------------------------------------------------------------------- /bower_components/momentjs/locale/fr-ca.js: -------------------------------------------------------------------------------- 1 | // moment.js locale configuration 2 | // locale : canadian french (fr-ca) 3 | // author : Jonathan Abourbih : https://github.com/jonbca 4 | 5 | (function (factory) { 6 | if (typeof define === 'function' && define.amd) { 7 | define(['moment'], factory); // AMD 8 | } else if (typeof exports === 'object') { 9 | module.exports = factory(require('../moment')); // Node 10 | } else { 11 | factory((typeof global !== 'undefined' ? global : this).moment); // node or other global 12 | } 13 | }(function (moment) { 14 | return moment.defineLocale('fr-ca', { 15 | months : 'janvier_février_mars_avril_mai_juin_juillet_août_septembre_octobre_novembre_décembre'.split('_'), 16 | monthsShort : 'janv._févr._mars_avr._mai_juin_juil._août_sept._oct._nov._déc.'.split('_'), 17 | weekdays : 'dimanche_lundi_mardi_mercredi_jeudi_vendredi_samedi'.split('_'), 18 | weekdaysShort : 'dim._lun._mar._mer._jeu._ven._sam.'.split('_'), 19 | weekdaysMin : 'Di_Lu_Ma_Me_Je_Ve_Sa'.split('_'), 20 | longDateFormat : { 21 | LT : 'HH:mm', 22 | LTS : 'LT:ss', 23 | L : 'YYYY-MM-DD', 24 | LL : 'D MMMM YYYY', 25 | LLL : 'D MMMM YYYY LT', 26 | LLLL : 'dddd D MMMM YYYY LT' 27 | }, 28 | calendar : { 29 | sameDay: '[Aujourd\'hui à] LT', 30 | nextDay: '[Demain à] LT', 31 | nextWeek: 'dddd [à] LT', 32 | lastDay: '[Hier à] LT', 33 | lastWeek: 'dddd [dernier à] LT', 34 | sameElse: 'L' 35 | }, 36 | relativeTime : { 37 | future : 'dans %s', 38 | past : 'il y a %s', 39 | s : 'quelques secondes', 40 | m : 'une minute', 41 | mm : '%d minutes', 42 | h : 'une heure', 43 | hh : '%d heures', 44 | d : 'un jour', 45 | dd : '%d jours', 46 | M : 'un mois', 47 | MM : '%d mois', 48 | y : 'un an', 49 | yy : '%d ans' 50 | }, 51 | ordinalParse: /\d{1,2}(er|)/, 52 | ordinal : function (number) { 53 | return number + (number === 1 ? 'er' : ''); 54 | } 55 | }); 56 | })); 57 | -------------------------------------------------------------------------------- /bower_components/momentjs/locale/ja.js: -------------------------------------------------------------------------------- 1 | // moment.js locale configuration 2 | // locale : japanese (ja) 3 | // author : LI Long : https://github.com/baryon 4 | 5 | (function (factory) { 6 | if (typeof define === 'function' && define.amd) { 7 | define(['moment'], factory); // AMD 8 | } else if (typeof exports === 'object') { 9 | module.exports = factory(require('../moment')); // Node 10 | } else { 11 | factory((typeof global !== 'undefined' ? global : this).moment); // node or other global 12 | } 13 | }(function (moment) { 14 | return moment.defineLocale('ja', { 15 | months : '1月_2月_3月_4月_5月_6月_7月_8月_9月_10月_11月_12月'.split('_'), 16 | monthsShort : '1月_2月_3月_4月_5月_6月_7月_8月_9月_10月_11月_12月'.split('_'), 17 | weekdays : '日曜日_月曜日_火曜日_水曜日_木曜日_金曜日_土曜日'.split('_'), 18 | weekdaysShort : '日_月_火_水_木_金_土'.split('_'), 19 | weekdaysMin : '日_月_火_水_木_金_土'.split('_'), 20 | longDateFormat : { 21 | LT : 'Ah時m分', 22 | LTS : 'LTs秒', 23 | L : 'YYYY/MM/DD', 24 | LL : 'YYYY年M月D日', 25 | LLL : 'YYYY年M月D日LT', 26 | LLLL : 'YYYY年M月D日LT dddd' 27 | }, 28 | meridiemParse: /午前|午後/i, 29 | isPM : function (input) { 30 | return input === '午後'; 31 | }, 32 | meridiem : function (hour, minute, isLower) { 33 | if (hour < 12) { 34 | return '午前'; 35 | } else { 36 | return '午後'; 37 | } 38 | }, 39 | calendar : { 40 | sameDay : '[今日] LT', 41 | nextDay : '[明日] LT', 42 | nextWeek : '[来週]dddd LT', 43 | lastDay : '[昨日] LT', 44 | lastWeek : '[前週]dddd LT', 45 | sameElse : 'L' 46 | }, 47 | relativeTime : { 48 | future : '%s後', 49 | past : '%s前', 50 | s : '数秒', 51 | m : '1分', 52 | mm : '%d分', 53 | h : '1時間', 54 | hh : '%d時間', 55 | d : '1日', 56 | dd : '%d日', 57 | M : '1ヶ月', 58 | MM : '%dヶ月', 59 | y : '1年', 60 | yy : '%d年' 61 | } 62 | }); 63 | })); 64 | -------------------------------------------------------------------------------- /bower_components/momentjs/locale/km.js: -------------------------------------------------------------------------------- 1 | // moment.js locale configuration 2 | // locale : khmer (km) 3 | // author : Kruy Vanna : https://github.com/kruyvanna 4 | 5 | (function (factory) { 6 | if (typeof define === 'function' && define.amd) { 7 | define(['moment'], factory); // AMD 8 | } else if (typeof exports === 'object') { 9 | module.exports = factory(require('../moment')); // Node 10 | } else { 11 | factory((typeof global !== 'undefined' ? global : this).moment); // node or other global 12 | } 13 | }(function (moment) { 14 | return moment.defineLocale('km', { 15 | months: 'មករា_កុម្ភៈ_មិនា_មេសា_ឧសភា_មិថុនា_កក្កដា_សីហា_កញ្ញា_តុលា_វិច្ឆិកា_ធ្នូ'.split('_'), 16 | monthsShort: 'មករា_កុម្ភៈ_មិនា_មេសា_ឧសភា_មិថុនា_កក្កដា_សីហា_កញ្ញា_តុលា_វិច្ឆិកា_ធ្នូ'.split('_'), 17 | weekdays: 'អាទិត្យ_ច័ន្ទ_អង្គារ_ពុធ_ព្រហស្បតិ៍_សុក្រ_សៅរ៍'.split('_'), 18 | weekdaysShort: 'អាទិត្យ_ច័ន្ទ_អង្គារ_ពុធ_ព្រហស្បតិ៍_សុក្រ_សៅរ៍'.split('_'), 19 | weekdaysMin: 'អាទិត្យ_ច័ន្ទ_អង្គារ_ពុធ_ព្រហស្បតិ៍_សុក្រ_សៅរ៍'.split('_'), 20 | longDateFormat: { 21 | LT: 'HH:mm', 22 | LTS : 'LT:ss', 23 | L: 'DD/MM/YYYY', 24 | LL: 'D MMMM YYYY', 25 | LLL: 'D MMMM YYYY LT', 26 | LLLL: 'dddd, D MMMM YYYY LT' 27 | }, 28 | calendar: { 29 | sameDay: '[ថ្ងៃនៈ ម៉ោង] LT', 30 | nextDay: '[ស្អែក ម៉ោង] LT', 31 | nextWeek: 'dddd [ម៉ោង] LT', 32 | lastDay: '[ម្សិលមិញ ម៉ោង] LT', 33 | lastWeek: 'dddd [សប្តាហ៍មុន] [ម៉ោង] LT', 34 | sameElse: 'L' 35 | }, 36 | relativeTime: { 37 | future: '%sទៀត', 38 | past: '%sមុន', 39 | s: 'ប៉ុន្មានវិនាទី', 40 | m: 'មួយនាទី', 41 | mm: '%d នាទី', 42 | h: 'មួយម៉ោង', 43 | hh: '%d ម៉ោង', 44 | d: 'មួយថ្ងៃ', 45 | dd: '%d ថ្ងៃ', 46 | M: 'មួយខែ', 47 | MM: '%d ខែ', 48 | y: 'មួយឆ្នាំ', 49 | yy: '%d ឆ្នាំ' 50 | }, 51 | week: { 52 | dow: 1, // Monday is the first day of the week. 53 | doy: 4 // The week that contains Jan 4th is the first week of the year. 54 | } 55 | }); 56 | })); 57 | -------------------------------------------------------------------------------- /bower_components/momentjs/locale/ko.js: -------------------------------------------------------------------------------- 1 | // moment.js locale configuration 2 | // locale : korean (ko) 3 | // 4 | // authors 5 | // 6 | // - Kyungwook, Park : https://github.com/kyungw00k 7 | // - Jeeeyul Lee 8 | (function (factory) { 9 | if (typeof define === 'function' && define.amd) { 10 | define(['moment'], factory); // AMD 11 | } else if (typeof exports === 'object') { 12 | module.exports = factory(require('../moment')); // Node 13 | } else { 14 | factory((typeof global !== 'undefined' ? global : this).moment); // node or other global 15 | } 16 | }(function (moment) { 17 | return moment.defineLocale('ko', { 18 | months : '1월_2월_3월_4월_5월_6월_7월_8월_9월_10월_11월_12월'.split('_'), 19 | monthsShort : '1월_2월_3월_4월_5월_6월_7월_8월_9월_10월_11월_12월'.split('_'), 20 | weekdays : '일요일_월요일_화요일_수요일_목요일_금요일_토요일'.split('_'), 21 | weekdaysShort : '일_월_화_수_목_금_토'.split('_'), 22 | weekdaysMin : '일_월_화_수_목_금_토'.split('_'), 23 | longDateFormat : { 24 | LT : 'A h시 m분', 25 | LTS : 'A h시 m분 s초', 26 | L : 'YYYY.MM.DD', 27 | LL : 'YYYY년 MMMM D일', 28 | LLL : 'YYYY년 MMMM D일 LT', 29 | LLLL : 'YYYY년 MMMM D일 dddd LT' 30 | }, 31 | calendar : { 32 | sameDay : '오늘 LT', 33 | nextDay : '내일 LT', 34 | nextWeek : 'dddd LT', 35 | lastDay : '어제 LT', 36 | lastWeek : '지난주 dddd LT', 37 | sameElse : 'L' 38 | }, 39 | relativeTime : { 40 | future : '%s 후', 41 | past : '%s 전', 42 | s : '몇초', 43 | ss : '%d초', 44 | m : '일분', 45 | mm : '%d분', 46 | h : '한시간', 47 | hh : '%d시간', 48 | d : '하루', 49 | dd : '%d일', 50 | M : '한달', 51 | MM : '%d달', 52 | y : '일년', 53 | yy : '%d년' 54 | }, 55 | ordinalParse : /\d{1,2}일/, 56 | ordinal : '%d일', 57 | meridiemParse : /오전|오후/, 58 | isPM : function (token) { 59 | return token === '오후'; 60 | }, 61 | meridiem : function (hour, minute, isUpper) { 62 | return hour < 12 ? '오전' : '오후'; 63 | } 64 | }); 65 | })); 66 | -------------------------------------------------------------------------------- /bower_components/momentjs/locale/nn.js: -------------------------------------------------------------------------------- 1 | // moment.js locale configuration 2 | // locale : norwegian nynorsk (nn) 3 | // author : https://github.com/mechuwind 4 | 5 | (function (factory) { 6 | if (typeof define === 'function' && define.amd) { 7 | define(['moment'], factory); // AMD 8 | } else if (typeof exports === 'object') { 9 | module.exports = factory(require('../moment')); // Node 10 | } else { 11 | factory((typeof global !== 'undefined' ? global : this).moment); // node or other global 12 | } 13 | }(function (moment) { 14 | return moment.defineLocale('nn', { 15 | months : 'januar_februar_mars_april_mai_juni_juli_august_september_oktober_november_desember'.split('_'), 16 | monthsShort : 'jan_feb_mar_apr_mai_jun_jul_aug_sep_okt_nov_des'.split('_'), 17 | weekdays : 'sundag_måndag_tysdag_onsdag_torsdag_fredag_laurdag'.split('_'), 18 | weekdaysShort : 'sun_mån_tys_ons_tor_fre_lau'.split('_'), 19 | weekdaysMin : 'su_må_ty_on_to_fr_lø'.split('_'), 20 | longDateFormat : { 21 | LT : 'HH:mm', 22 | LTS : 'LT:ss', 23 | L : 'DD.MM.YYYY', 24 | LL : 'D MMMM YYYY', 25 | LLL : 'D MMMM YYYY LT', 26 | LLLL : 'dddd D MMMM YYYY LT' 27 | }, 28 | calendar : { 29 | sameDay: '[I dag klokka] LT', 30 | nextDay: '[I morgon klokka] LT', 31 | nextWeek: 'dddd [klokka] LT', 32 | lastDay: '[I går klokka] LT', 33 | lastWeek: '[Føregåande] dddd [klokka] LT', 34 | sameElse: 'L' 35 | }, 36 | relativeTime : { 37 | future : 'om %s', 38 | past : 'for %s sidan', 39 | s : 'nokre sekund', 40 | m : 'eit minutt', 41 | mm : '%d minutt', 42 | h : 'ein time', 43 | hh : '%d timar', 44 | d : 'ein dag', 45 | dd : '%d dagar', 46 | M : 'ein månad', 47 | MM : '%d månader', 48 | y : 'eit år', 49 | yy : '%d år' 50 | }, 51 | ordinalParse: /\d{1,2}\./, 52 | ordinal : '%d.', 53 | week : { 54 | dow : 1, // Monday is the first day of the week. 55 | doy : 4 // The week that contains Jan 4th is the first week of the year. 56 | } 57 | }); 58 | })); 59 | -------------------------------------------------------------------------------- /bower_components/momentjs/locale/tzm-latn.js: -------------------------------------------------------------------------------- 1 | // moment.js locale configuration 2 | // locale : Morocco Central Atlas Tamaziɣt in Latin (tzm-latn) 3 | // author : Abdel Said : https://github.com/abdelsaid 4 | 5 | (function (factory) { 6 | if (typeof define === 'function' && define.amd) { 7 | define(['moment'], factory); // AMD 8 | } else if (typeof exports === 'object') { 9 | module.exports = factory(require('../moment')); // Node 10 | } else { 11 | factory((typeof global !== 'undefined' ? global : this).moment); // node or other global 12 | } 13 | }(function (moment) { 14 | return moment.defineLocale('tzm-latn', { 15 | months : 'innayr_brˤayrˤ_marˤsˤ_ibrir_mayyw_ywnyw_ywlywz_ɣwšt_šwtanbir_ktˤwbrˤ_nwwanbir_dwjnbir'.split('_'), 16 | monthsShort : 'innayr_brˤayrˤ_marˤsˤ_ibrir_mayyw_ywnyw_ywlywz_ɣwšt_šwtanbir_ktˤwbrˤ_nwwanbir_dwjnbir'.split('_'), 17 | weekdays : 'asamas_aynas_asinas_akras_akwas_asimwas_asiḍyas'.split('_'), 18 | weekdaysShort : 'asamas_aynas_asinas_akras_akwas_asimwas_asiḍyas'.split('_'), 19 | weekdaysMin : 'asamas_aynas_asinas_akras_akwas_asimwas_asiḍyas'.split('_'), 20 | longDateFormat : { 21 | LT : 'HH:mm', 22 | LTS : 'LT:ss', 23 | L : 'DD/MM/YYYY', 24 | LL : 'D MMMM YYYY', 25 | LLL : 'D MMMM YYYY LT', 26 | LLLL : 'dddd D MMMM YYYY LT' 27 | }, 28 | calendar : { 29 | sameDay: '[asdkh g] LT', 30 | nextDay: '[aska g] LT', 31 | nextWeek: 'dddd [g] LT', 32 | lastDay: '[assant g] LT', 33 | lastWeek: 'dddd [g] LT', 34 | sameElse: 'L' 35 | }, 36 | relativeTime : { 37 | future : 'dadkh s yan %s', 38 | past : 'yan %s', 39 | s : 'imik', 40 | m : 'minuḍ', 41 | mm : '%d minuḍ', 42 | h : 'saɛa', 43 | hh : '%d tassaɛin', 44 | d : 'ass', 45 | dd : '%d ossan', 46 | M : 'ayowr', 47 | MM : '%d iyyirn', 48 | y : 'asgas', 49 | yy : '%d isgasn' 50 | }, 51 | week : { 52 | dow : 6, // Saturday is the first day of the week. 53 | doy : 12 // The week that contains Jan 1st is the first week of the year. 54 | } 55 | }); 56 | })); 57 | -------------------------------------------------------------------------------- /bower_components/momentjs/locale/tzm.js: -------------------------------------------------------------------------------- 1 | // moment.js locale configuration 2 | // locale : Morocco Central Atlas Tamaziɣt (tzm) 3 | // author : Abdel Said : https://github.com/abdelsaid 4 | 5 | (function (factory) { 6 | if (typeof define === 'function' && define.amd) { 7 | define(['moment'], factory); // AMD 8 | } else if (typeof exports === 'object') { 9 | module.exports = factory(require('../moment')); // Node 10 | } else { 11 | factory((typeof global !== 'undefined' ? global : this).moment); // node or other global 12 | } 13 | }(function (moment) { 14 | return moment.defineLocale('tzm', { 15 | months : 'ⵉⵏⵏⴰⵢⵔ_ⴱⵕⴰⵢⵕ_ⵎⴰⵕⵚ_ⵉⴱⵔⵉⵔ_ⵎⴰⵢⵢⵓ_ⵢⵓⵏⵢⵓ_ⵢⵓⵍⵢⵓⵣ_ⵖⵓⵛⵜ_ⵛⵓⵜⴰⵏⴱⵉⵔ_ⴽⵟⵓⴱⵕ_ⵏⵓⵡⴰⵏⴱⵉⵔ_ⴷⵓⵊⵏⴱⵉⵔ'.split('_'), 16 | monthsShort : 'ⵉⵏⵏⴰⵢⵔ_ⴱⵕⴰⵢⵕ_ⵎⴰⵕⵚ_ⵉⴱⵔⵉⵔ_ⵎⴰⵢⵢⵓ_ⵢⵓⵏⵢⵓ_ⵢⵓⵍⵢⵓⵣ_ⵖⵓⵛⵜ_ⵛⵓⵜⴰⵏⴱⵉⵔ_ⴽⵟⵓⴱⵕ_ⵏⵓⵡⴰⵏⴱⵉⵔ_ⴷⵓⵊⵏⴱⵉⵔ'.split('_'), 17 | weekdays : 'ⴰⵙⴰⵎⴰⵙ_ⴰⵢⵏⴰⵙ_ⴰⵙⵉⵏⴰⵙ_ⴰⴽⵔⴰⵙ_ⴰⴽⵡⴰⵙ_ⴰⵙⵉⵎⵡⴰⵙ_ⴰⵙⵉⴹⵢⴰⵙ'.split('_'), 18 | weekdaysShort : 'ⴰⵙⴰⵎⴰⵙ_ⴰⵢⵏⴰⵙ_ⴰⵙⵉⵏⴰⵙ_ⴰⴽⵔⴰⵙ_ⴰⴽⵡⴰⵙ_ⴰⵙⵉⵎⵡⴰⵙ_ⴰⵙⵉⴹⵢⴰⵙ'.split('_'), 19 | weekdaysMin : 'ⴰⵙⴰⵎⴰⵙ_ⴰⵢⵏⴰⵙ_ⴰⵙⵉⵏⴰⵙ_ⴰⴽⵔⴰⵙ_ⴰⴽⵡⴰⵙ_ⴰⵙⵉⵎⵡⴰⵙ_ⴰⵙⵉⴹⵢⴰⵙ'.split('_'), 20 | longDateFormat : { 21 | LT : 'HH:mm', 22 | LTS: 'LT:ss', 23 | L : 'DD/MM/YYYY', 24 | LL : 'D MMMM YYYY', 25 | LLL : 'D MMMM YYYY LT', 26 | LLLL : 'dddd D MMMM YYYY LT' 27 | }, 28 | calendar : { 29 | sameDay: '[ⴰⵙⴷⵅ ⴴ] LT', 30 | nextDay: '[ⴰⵙⴽⴰ ⴴ] LT', 31 | nextWeek: 'dddd [ⴴ] LT', 32 | lastDay: '[ⴰⵚⴰⵏⵜ ⴴ] LT', 33 | lastWeek: 'dddd [ⴴ] LT', 34 | sameElse: 'L' 35 | }, 36 | relativeTime : { 37 | future : 'ⴷⴰⴷⵅ ⵙ ⵢⴰⵏ %s', 38 | past : 'ⵢⴰⵏ %s', 39 | s : 'ⵉⵎⵉⴽ', 40 | m : 'ⵎⵉⵏⵓⴺ', 41 | mm : '%d ⵎⵉⵏⵓⴺ', 42 | h : 'ⵙⴰⵄⴰ', 43 | hh : '%d ⵜⴰⵙⵙⴰⵄⵉⵏ', 44 | d : 'ⴰⵙⵙ', 45 | dd : '%d oⵙⵙⴰⵏ', 46 | M : 'ⴰⵢoⵓⵔ', 47 | MM : '%d ⵉⵢⵢⵉⵔⵏ', 48 | y : 'ⴰⵙⴳⴰⵙ', 49 | yy : '%d ⵉⵙⴳⴰⵙⵏ' 50 | }, 51 | week : { 52 | dow : 6, // Saturday is the first day of the week. 53 | doy : 12 // The week that contains Jan 1st is the first week of the year. 54 | } 55 | }); 56 | })); 57 | -------------------------------------------------------------------------------- /bower_components/momentjs/locale/uz.js: -------------------------------------------------------------------------------- 1 | // moment.js locale configuration 2 | // locale : uzbek (uz) 3 | // author : Sardor Muminov : https://github.com/muminoff 4 | 5 | (function (factory) { 6 | if (typeof define === 'function' && define.amd) { 7 | define(['moment'], factory); // AMD 8 | } else if (typeof exports === 'object') { 9 | module.exports = factory(require('../moment')); // Node 10 | } else { 11 | factory((typeof global !== 'undefined' ? global : this).moment); // node or other global 12 | } 13 | }(function (moment) { 14 | return moment.defineLocale('uz', { 15 | months : 'январь_февраль_март_апрель_май_июнь_июль_август_сентябрь_октябрь_ноябрь_декабрь'.split('_'), 16 | monthsShort : 'янв_фев_мар_апр_май_июн_июл_авг_сен_окт_ноя_дек'.split('_'), 17 | weekdays : 'Якшанба_Душанба_Сешанба_Чоршанба_Пайшанба_Жума_Шанба'.split('_'), 18 | weekdaysShort : 'Якш_Душ_Сеш_Чор_Пай_Жум_Шан'.split('_'), 19 | weekdaysMin : 'Як_Ду_Се_Чо_Па_Жу_Ша'.split('_'), 20 | longDateFormat : { 21 | LT : 'HH:mm', 22 | LTS : 'LT:ss', 23 | L : 'DD/MM/YYYY', 24 | LL : 'D MMMM YYYY', 25 | LLL : 'D MMMM YYYY LT', 26 | LLLL : 'D MMMM YYYY, dddd LT' 27 | }, 28 | calendar : { 29 | sameDay : '[Бугун соат] LT [да]', 30 | nextDay : '[Эртага] LT [да]', 31 | nextWeek : 'dddd [куни соат] LT [да]', 32 | lastDay : '[Кеча соат] LT [да]', 33 | lastWeek : '[Утган] dddd [куни соат] LT [да]', 34 | sameElse : 'L' 35 | }, 36 | relativeTime : { 37 | future : 'Якин %s ичида', 38 | past : 'Бир неча %s олдин', 39 | s : 'фурсат', 40 | m : 'бир дакика', 41 | mm : '%d дакика', 42 | h : 'бир соат', 43 | hh : '%d соат', 44 | d : 'бир кун', 45 | dd : '%d кун', 46 | M : 'бир ой', 47 | MM : '%d ой', 48 | y : 'бир йил', 49 | yy : '%d йил' 50 | }, 51 | week : { 52 | dow : 1, // Monday is the first day of the week. 53 | doy : 7 // The week that contains Jan 4th is the first week of the year. 54 | } 55 | }); 56 | })); 57 | -------------------------------------------------------------------------------- /bower_components/momentjs/meteor/README.md: -------------------------------------------------------------------------------- 1 | Packaging [Moment](momentjs.org) for [Meteor.js](http://meteor.com). 2 | 3 | 4 | # Meteor 5 | 6 | If you're new to Meteor, here's what the excitement is all about - 7 | [watch the first two minutes](https://www.youtube.com/watch?v=fsi0aJ9yr2o); you'll be hooked by 1:28. 8 | 9 | That screencast is from 2012. In the meantime, Meteor has become a mature JavaScript-everywhere web 10 | development framework. Read more at [Why Meteor](http://www.meteorpedia.com/read/Why_Meteor). 11 | 12 | 13 | # Issues 14 | 15 | If you encounter an issue while using this package, please CC @dandv when you file it in this repo. 16 | 17 | 18 | # DONE 19 | 20 | * Simple test. Should be enough. 21 | 22 | 23 | # TODO 24 | 25 | * Add other tests; however, that is overkill, and the responsibiity of Moment, not of the Meteor integration. 26 | -------------------------------------------------------------------------------- /bower_components/momentjs/meteor/export.js: -------------------------------------------------------------------------------- 1 | // moment.js makes `moment` global on the window (or global) object, while Meteor expects a file-scoped global variable 2 | moment = this.moment; 3 | delete this.moment; 4 | -------------------------------------------------------------------------------- /bower_components/momentjs/meteor/test.js: -------------------------------------------------------------------------------- 1 | 'use strict'; 2 | 3 | Tinytest.add('Moment.is', function (test) { 4 | test.ok(moment.isMoment(moment()), {message: 'simple moment object'}); 5 | }); 6 | -------------------------------------------------------------------------------- /bower_components/momentjs/scripts/npm_prepublish.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | set -e 4 | 5 | if [ "$#" != 1 ]; then 6 | echo "Please provide tag to checkout" >&2 7 | exit 1 8 | fi 9 | tag="$1" 10 | 11 | while [ "$PWD" != '/' -a ! -f moment.js ]; do 12 | cd .. 13 | done 14 | 15 | if [ ! -f moment.js ]; then 16 | echo "Run me from the moment repo" >&2 17 | exit 1 18 | fi 19 | 20 | basename=$(basename $PWD) 21 | src=moment-npm-git 22 | dest=moment-npm 23 | 24 | cd .. 25 | 26 | rm -rf $src $dest 27 | 28 | git clone $basename $src 29 | mkdir $dest 30 | 31 | 32 | cp $src/moment.js $dest 33 | cp $src/package.json $dest 34 | cp $src/README.md $dest 35 | cp $src/LICENSE $dest 36 | cp -r $src/locale $dest 37 | cp -r $src/min $dest 38 | cp $src/ender.js $dest 39 | cp $src/package.js $dest 40 | 41 | rm -rf $src 42 | 43 | echo "Check out $dest" 44 | -------------------------------------------------------------------------------- /config/karma-e2e.conf.js: -------------------------------------------------------------------------------- 1 | module.exports = function(config){ 2 | config.set({ 3 | 4 | 5 | basePath : '../', 6 | 7 | files : [ 8 | 'test/e2e/**/*.js' 9 | ], 10 | 11 | autoWatch : false, 12 | 13 | browsers : ['Chrome'], 14 | 15 | frameworks: ['ng-scenario'], 16 | 17 | singleRun : true, 18 | 19 | proxies : { 20 | '/': 'http://localhost:3030/' 21 | }, 22 | 23 | plugins : [ 24 | 'karma-chrome-launcher', 25 | 'karma-firefox-launcher', 26 | 'karma-jasmine', 27 | 'karma-phantomjs-launcher', 28 | 'karma-ng-scenario' 29 | ], 30 | 31 | junitReporter : { 32 | outputFile: 'test_out/e2e.xml', 33 | suite: 'e2e' 34 | } 35 | 36 | }) 37 | }; 38 | -------------------------------------------------------------------------------- /config/karma.conf.js: -------------------------------------------------------------------------------- 1 | module.exports = function(config){ 2 | config.set({ 3 | 4 | 5 | basePath : '../', 6 | 7 | files : [ 8 | 'bower_components/humanize-duration/humanize-duration.js', 9 | 'bower_components/moment/min/moment-with-locales.js', 10 | 'bower_components/angular/angular.js', 11 | 'bower_components/angular-mocks/angular-mocks.js', 12 | 'app/js/*.js', 13 | 'test/unit/**/*.js' 14 | ], 15 | 16 | exclude : [ 17 | 'bower_components/angular-scenario/angular-scenario.js' 18 | ], 19 | 20 | autoWatch : false, 21 | 22 | browsers : ['Chrome'], 23 | 24 | frameworks: ['jasmine'], 25 | 26 | singleRun : true, 27 | 28 | proxies : { 29 | '/': 'http://localhost:3030/' 30 | }, 31 | 32 | plugins : [ 33 | 'karma-chrome-launcher', 34 | 'karma-firefox-launcher', 35 | 'karma-jasmine', 36 | 'karma-phantomjs-launcher', 37 | 'karma-ng-scenario' 38 | ], 39 | 40 | junitReporter : { 41 | outputFile: 'test_out/e2e.xml', 42 | suite: 'e2e' 43 | } 44 | 45 | }) 46 | }; 47 | -------------------------------------------------------------------------------- /dist/examples/angularjs-add-countdown-seconds.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | AngularJS Example - Single Timer Example 5 | 6 | 7 | 8 | 9 | 10 | 11 | 19 | 20 | 21 |
      22 |

      AngularJS - Add Countdown Seconds Example

      23 |

      {{countdown}}

      24 | 25 |
      26 |
      27 | 28 | -------------------------------------------------------------------------------- /dist/examples/angularjs-multiple-timers.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | AngularJS Example - Multiple Timers Example 5 | 6 | 7 | 8 | 9 | 29 | 30 | 31 |
      32 |

      AngularJS - Multiple Timers Example

      33 |

      Timer 1:

      34 |

      Timer 2:

      35 |

      Timer 3: {{minutes}} minutes, {{seconds}} seconds.

      36 | 37 | 38 |
      39 | 40 | -------------------------------------------------------------------------------- /dist/examples/angularjs-single-timer.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | AngularJS Example - Single Timer Example 5 | 6 | 7 | 8 | 9 | 29 | 30 | 31 |
      32 |

      AngularJS - Single Timer Example

      33 |

      34 | 35 | 36 |
      37 |
      38 | 39 | -------------------------------------------------------------------------------- /dist/examples/jquery-timer.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | JQuery Timer Example 5 | 6 | 7 | 8 | 17 | 18 | 19 |
      20 |

      JQuery - Timer Example

      21 |

      22 | 23 | 24 |
      25 |
      26 | 27 | -------------------------------------------------------------------------------- /dist/examples/plain-javascript.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | Plain Javascript Timer Example 5 | 6 | 7 | 8 | 17 | 18 | 19 |
      20 |

      Plain JavaScript - Timer Example

      21 |

      22 | 23 | 24 |
      25 |
      26 | 27 | -------------------------------------------------------------------------------- /dist/examples/timer-with-autostart-false-and-starttime.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | Start Time and Auto Start set - Timer Example 5 | 6 | 7 | 8 | 9 | 10 | 11 |
      12 |

      Start Time and Auto Start set - Timer Example

      13 |

      14 |
      15 |
      16 | 17 | -------------------------------------------------------------------------------- /docs/css/prettify.css: -------------------------------------------------------------------------------- 1 | .com { color: #93a1a1; } 2 | .lit { color: #195f91; } 3 | .pun, .opn, .clo { color: #93a1a1; } 4 | .fun { color: #dc322f; } 5 | .str, .atv { color: #D14; } 6 | .kwd, .prettyprint .tag { color: #1e347b; } 7 | .typ, .atn, .dec, .var { color: teal; } 8 | .pln { color: #48484c; } 9 | 10 | .prettyprint { 11 | padding: 8px; 12 | background-color: #f7f7f9; 13 | border: 1px solid #e1e1e8; 14 | } 15 | .prettyprint.linenums { 16 | -webkit-box-shadow: inset 40px 0 0 #fbfbfc, inset 41px 0 0 #ececf0; 17 | -moz-box-shadow: inset 40px 0 0 #fbfbfc, inset 41px 0 0 #ececf0; 18 | box-shadow: inset 40px 0 0 #fbfbfc, inset 41px 0 0 #ececf0; 19 | } 20 | 21 | /* Specify class=linenums on a pre to get line numbering */ 22 | ol.linenums { 23 | margin: 0 0 0 33px; /* IE indents via margin-left */ 24 | } 25 | ol.linenums li { 26 | padding-left: 12px; 27 | color: #bebec5; 28 | line-height: 20px; 29 | text-shadow: 0 1px 0 #fff; 30 | } -------------------------------------------------------------------------------- /docs/docs.js: -------------------------------------------------------------------------------- 1 | angular.module('timer-demo',['timer']).controller('TimerDemoController',['$scope', function ($scope) { 2 | $scope.linkAnchors = function () { 3 | $('ul.nav a').click(function (){ 4 | var path = $(this).attr('href'); 5 | if (path != '#') { 6 | window.location = path; 7 | } 8 | }); 9 | }; 10 | 11 | $scope.btnText = { 12 | reset: "Start", 13 | started: "Stop", 14 | stopped: "Resume" 15 | }; 16 | 17 | $scope.currentYear = (new Date).getFullYear(); 18 | $scope.startTime = (new Date($scope.currentYear, 0, 1)).getTime(); 19 | $scope.endYear = $scope.currentYear+1; 20 | $scope.endTime = (new Date($scope.endYear, 0, 1)).getTime(); 21 | 22 | $scope.callbackTimer={}; 23 | $scope.callbackTimer.status='Running'; 24 | $scope.callbackTimer.callbackCount=0; 25 | $scope.callbackTimer.finished=function(){ 26 | $scope.callbackTimer.status='COMPLETE!!'; 27 | $scope.callbackTimer.callbackCount++; 28 | $scope.$apply(); 29 | }; 30 | }]); 31 | -------------------------------------------------------------------------------- /docs/images/forkme.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/siddii/angular-timer/d58fbf8c3325f63e1fdb250ed1f1a0676c8344de/docs/images/forkme.png -------------------------------------------------------------------------------- /examples/angularjs-add-countdown-seconds.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | AngularJS Example - Single Timer Example 5 | 6 | 7 | 8 | 9 | 10 | 11 | 19 | 20 | 21 |
      22 |

      AngularJS - Add Countdown Seconds Example

      23 |

      {{countdown}}

      24 | 25 |
      26 |
      27 | 28 | -------------------------------------------------------------------------------- /examples/angularjs-multiple-timers.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | AngularJS Example - Multiple Timers Example 5 | 6 | 7 | 8 | 9 | 29 | 30 | 31 |
      32 |

      AngularJS - Multiple Timers Example

      33 |

      Timer 1:

      34 |

      Timer 2:

      35 |

      Timer 3: {{minutes}} minutes, {{seconds}} seconds.

      36 | 37 | 38 |
      39 | 40 | -------------------------------------------------------------------------------- /examples/angularjs-single-timer.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | AngularJS Example - Single Timer Example 5 | 6 | 7 | 8 | 9 | 29 | 30 | 31 |
      32 |

      AngularJS - Single Timer Example

      33 |

      34 | 35 | 36 |
      37 |
      38 | 39 | -------------------------------------------------------------------------------- /examples/jquery-timer.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | JQuery Timer Example 5 | 6 | 7 | 8 | 17 | 18 | 19 |
      20 |

      JQuery - Timer Example

      21 |

      22 | 23 | 24 |
      25 |
      26 | 27 | -------------------------------------------------------------------------------- /examples/plain-javascript.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | Plain Javascript Timer Example 5 | 6 | 7 | 8 | 17 | 18 | 19 |
      20 |

      Plain JavaScript - Timer Example

      21 |

      22 | 23 | 24 |
      25 |
      26 | 27 | -------------------------------------------------------------------------------- /examples/timer-with-autostart-false-and-starttime.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | Start Time and Auto Start set - Timer Example 5 | 6 | 7 | 8 | 9 | 10 | 11 |
      12 |

      Start Time and Auto Start set - Timer Example

      13 |

      14 |
      15 |
      16 | 17 | -------------------------------------------------------------------------------- /package.json: -------------------------------------------------------------------------------- 1 | { 2 | "author": "Siddique Hameed", 3 | "name": "angular-timer", 4 | "version": "1.3.5", 5 | "homepage": "https://github.com/siddii/angular-timer", 6 | "main": "dist/angular-timer.js", 7 | "license": "MIT", 8 | "licenses": { 9 | "type": "MIT", 10 | "url": "https://github.com/siddii/angular-timer/blob/master/LICENSE.txt" 11 | }, 12 | "bugs": "https://github.com/siddii/angular-timer/issues", 13 | "repository": { 14 | "type": "git", 15 | "url": "git@github.com:siddii/angular-timer.git" 16 | }, 17 | "dependencies": {}, 18 | "devDependencies": { 19 | "browserstack-runner": "~0.0.11", 20 | "grunt": "~0.4.1", 21 | "grunt-contrib-clean": "~0.5.0", 22 | "grunt-contrib-concat": "~0.3.0", 23 | "grunt-contrib-connect": "~0.5.0", 24 | "grunt-contrib-copy": "~0.4.0", 25 | "grunt-contrib-jshint": "~0.6.0", 26 | "grunt-contrib-qunit": "~0.2.2", 27 | "grunt-contrib-uglify": "~0.2.2", 28 | "grunt-contrib-watch": "~0.5.1", 29 | "grunt-gh-pages": "^0.10.0", 30 | "grunt-html-validation": "git://github.com/praveenvijayan/grunt-html-validation.git", 31 | "grunt-jekyll": "~0.3.8", 32 | "grunt-karma": "~0.6.2", 33 | "grunt-recess": "~0.3.3", 34 | "karma": "~0.10.8", 35 | "karma-chrome-launcher": "~0.1.1", 36 | "karma-coffee-preprocessor": "~0.1.1", 37 | "karma-firefox-launcher": "~0.1.2", 38 | "karma-html2js-preprocessor": "~0.1.0", 39 | "karma-jasmine": "~0.1.4", 40 | "karma-ng-scenario": "~0.1.0", 41 | "karma-phantomjs-launcher": "~0.1.1", 42 | "karma-requirejs": "~0.2.0", 43 | "karma-script-launcher": "~0.1.0", 44 | "requirejs": "~2.1.9" 45 | } 46 | } 47 | -------------------------------------------------------------------------------- /test/e2e/runner.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | End2end Test Runner 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /test/unit/directivesSpec.js: -------------------------------------------------------------------------------- 1 | 'use strict'; 2 | 3 | /* jasmine specs for directives go here */ 4 | 5 | describe('timer directive', function() { 6 | beforeEach(module('timer')); 7 | 8 | describe('default timer', function() { 9 | it('should run timer with 1 millisecond interval', function() { 10 | 11 | inject(function($compile, $rootScope, $browser, $timeout, $exceptionHandler) { 12 | var $scope = $rootScope.$new(); 13 | var element = $compile('')($scope); 14 | $scope.$digest(); 15 | $timeout(function() { 16 | expect(element.html()).toMatch(/^/); 17 | expect(element.html().indexOf('')).toBeGreaterThan(-1); 18 | $rootScope.$broadcast('timer-stop'); 19 | }, 300); 20 | $timeout.flush(); 21 | expect($exceptionHandler.errors).toEqual([]); 22 | }); 23 | }); 24 | }); 25 | }); 26 | -------------------------------------------------------------------------------- /test/unit/timerSetTimeTest.js: -------------------------------------------------------------------------------- 1 | 'use strict'; 2 | 3 | describe('timer-set-countdown-seconds event handling tests', function () { 4 | beforeEach(module('timer')); 5 | 6 | it('should call the event and set single digit seconds correctly', function () { 7 | inject(function ($compile, $rootScope, $timeout) { 8 | var scope = $rootScope.$new(); 9 | var element = $compile('{{sseconds}}')(scope); 10 | scope.$digest(); 11 | 12 | scope.$broadcast('timer-set-countdown-seconds', 5); 13 | 14 | $timeout(function () { 15 | scope.$digest(); 16 | expect(element.html().indexOf('05')).toBeGreaterThan(-1); 17 | }, 500); 18 | 19 | $timeout.flush(); 20 | }); 21 | }); 22 | 23 | it('should call the event and set larger second values correctly', function () { 24 | inject(function ($compile, $rootScope, $timeout) { 25 | var scope = $rootScope.$new(); 26 | var element = $compile('{{mminutes}}:{{sseconds}}')(scope); 27 | scope.$digest(); 28 | 29 | scope.$broadcast('timer-set-countdown-seconds', 135); 30 | 31 | $timeout(function () { 32 | scope.$digest(); 33 | expect(element.html().indexOf('02:15')).toBeGreaterThan(-1); 34 | }, 500); 35 | 36 | $timeout.flush(); 37 | }); 38 | }); 39 | }); --------------------------------------------------------------------------------