├── .bowerrc ├── ionic.project ├── resources ├── icon.png ├── splash.png ├── ios │ ├── icon │ │ ├── icon.png │ │ ├── icon-40.png │ │ ├── icon-50.png │ │ ├── icon-60.png │ │ ├── icon-72.png │ │ ├── icon-76.png │ │ ├── icon@2x.png │ │ ├── icon-40@2x.png │ │ ├── icon-50@2x.png │ │ ├── icon-60@2x.png │ │ ├── icon-60@3x.png │ │ ├── icon-72@2x.png │ │ ├── icon-76@2x.png │ │ ├── icon-small.png │ │ ├── icon-small@2x.png │ │ └── icon-small@3x.png │ └── splash │ │ ├── Default-667h.png │ │ ├── Default-736h.png │ │ ├── Default~iphone.png │ │ ├── Default@2x~iphone.png │ │ ├── Default-Portrait~ipad.png │ │ ├── Default-568h@2x~iphone.png │ │ ├── Default-Landscape-736h.png │ │ ├── Default-Landscape~ipad.png │ │ ├── Default-Landscape@2x~ipad.png │ │ └── Default-Portrait@2x~ipad.png └── android │ ├── icon │ ├── drawable-hdpi-icon.png │ ├── drawable-ldpi-icon.png │ ├── drawable-mdpi-icon.png │ ├── drawable-xhdpi-icon.png │ ├── drawable-xxhdpi-icon.png │ └── drawable-xxxhdpi-icon.png │ └── splash │ ├── drawable-land-hdpi-screen.png │ ├── drawable-land-ldpi-screen.png │ ├── drawable-land-mdpi-screen.png │ ├── drawable-land-xhdpi-screen.png │ ├── drawable-land-xxhdpi-screen.png │ ├── drawable-port-hdpi-screen.png │ ├── drawable-port-ldpi-screen.png │ ├── drawable-port-mdpi-screen.png │ ├── drawable-port-xhdpi-screen.png │ ├── drawable-port-xxhdpi-screen.png │ ├── drawable-land-xxxhdpi-screen.png │ └── drawable-port-xxxhdpi-screen.png ├── www ├── lib │ ├── ionic │ │ ├── fonts │ │ │ ├── ionicons.eot │ │ │ ├── ionicons.ttf │ │ │ └── ionicons.woff │ │ ├── scss │ │ │ ├── _progress.scss │ │ │ ├── _loaders.scss │ │ │ ├── _backdrop.scss │ │ │ ├── _split-pane.scss │ │ │ ├── ionicons │ │ │ │ ├── ionicons.scss │ │ │ │ ├── _ionicons-font.scss │ │ │ │ └── _ionicons-animation.scss │ │ │ ├── ionic.scss │ │ │ ├── _loading.scss │ │ │ ├── _slide-box.scss │ │ │ ├── _button-bar.scss │ │ │ ├── _menu.scss │ │ │ ├── _animations.scss │ │ │ ├── _radio.scss │ │ │ ├── _spinner.scss │ │ │ ├── _badge.scss │ │ │ ├── _platform.scss │ │ │ ├── _popup.scss │ │ │ ├── _modal.scss │ │ │ ├── _list.scss │ │ │ ├── _refresher.scss │ │ │ └── _select.scss │ │ ├── README.md │ │ ├── bower.json │ │ └── .bower.json │ ├── angular │ │ ├── angular.min.js.gzip │ │ ├── bower.json │ │ ├── angular-csp.css │ │ ├── .bower.json │ │ ├── package.json │ │ └── README.md │ ├── moment │ │ ├── meteor │ │ │ ├── test.js │ │ │ ├── export.js │ │ │ └── README.md │ │ ├── benchmarks │ │ │ └── clone.js │ │ ├── bower.json │ │ ├── .bower.json │ │ ├── scripts │ │ │ └── npm_prepublish.sh │ │ ├── LICENSE │ │ ├── Moment.js.nuspec │ │ ├── README.md │ │ └── locale │ │ │ ├── ar-tn.js │ │ │ ├── ja.js │ │ │ ├── fr-ca.js │ │ │ ├── km.js │ │ │ ├── ko.js │ │ │ ├── uz.js │ │ │ ├── tzm.js │ │ │ ├── da.js │ │ │ ├── ar-ma.js │ │ │ ├── nn.js │ │ │ ├── tzm-latn.js │ │ │ ├── fo.js │ │ │ ├── tl-ph.js │ │ │ ├── nb.js │ │ │ ├── fr.js │ │ │ ├── pt-br.js │ │ │ ├── en-ca.js │ │ │ ├── vi.js │ │ │ ├── pt.js │ │ │ ├── th.js │ │ │ ├── eu.js │ │ │ ├── sv.js │ │ │ ├── cv.js │ │ │ ├── en-au.js │ │ │ ├── en-gb.js │ │ │ ├── sq.js │ │ │ ├── it.js │ │ │ ├── ml.js │ │ │ ├── nl.js │ │ │ ├── fy.js │ │ │ ├── ro.js │ │ │ ├── af.js │ │ │ ├── eo.js │ │ │ ├── gl.js │ │ │ ├── he.js │ │ │ ├── my.js │ │ │ ├── de.js │ │ │ ├── ms-my.js │ │ │ ├── de-at.js │ │ │ ├── cy.js │ │ │ ├── ca.js │ │ │ ├── es.js │ │ │ ├── lv.js │ │ │ ├── id.js │ │ │ └── tr.js │ ├── angular-animate │ │ ├── bower.json │ │ ├── .bower.json │ │ ├── package.json │ │ └── README.md │ ├── angular-sanitize │ │ ├── bower.json │ │ ├── .bower.json │ │ ├── package.json │ │ └── README.md │ └── angular-ui-router │ │ ├── bower.json │ │ ├── .bower.json │ │ ├── LICENSE │ │ └── src │ │ ├── stateFilters.js │ │ ├── viewScroll.js │ │ └── view.js ├── js │ ├── item.controller.js │ ├── app.js │ └── groupby.js └── index.html ├── bower.json ├── .gitignore ├── README.md ├── package.json ├── scss └── ionic.app.scss ├── gulpfile.js ├── hooks ├── after_prepare │ └── 010_add_platform_class.js └── README.md └── config.xml /.bowerrc: -------------------------------------------------------------------------------- 1 | { 2 | "directory": "www/lib" 3 | } 4 | -------------------------------------------------------------------------------- /ionic.project: -------------------------------------------------------------------------------- 1 | { 2 | "name": "ionic-tutorial-groupby", 3 | "app_id": "" 4 | } -------------------------------------------------------------------------------- /resources/icon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ashteya/ionic-tutorial-groupby/HEAD/resources/icon.png -------------------------------------------------------------------------------- /resources/splash.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ashteya/ionic-tutorial-groupby/HEAD/resources/splash.png -------------------------------------------------------------------------------- /resources/ios/icon/icon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ashteya/ionic-tutorial-groupby/HEAD/resources/ios/icon/icon.png -------------------------------------------------------------------------------- /resources/ios/icon/icon-40.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ashteya/ionic-tutorial-groupby/HEAD/resources/ios/icon/icon-40.png -------------------------------------------------------------------------------- /resources/ios/icon/icon-50.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ashteya/ionic-tutorial-groupby/HEAD/resources/ios/icon/icon-50.png -------------------------------------------------------------------------------- /resources/ios/icon/icon-60.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ashteya/ionic-tutorial-groupby/HEAD/resources/ios/icon/icon-60.png -------------------------------------------------------------------------------- /resources/ios/icon/icon-72.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ashteya/ionic-tutorial-groupby/HEAD/resources/ios/icon/icon-72.png -------------------------------------------------------------------------------- /resources/ios/icon/icon-76.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ashteya/ionic-tutorial-groupby/HEAD/resources/ios/icon/icon-76.png -------------------------------------------------------------------------------- /resources/ios/icon/icon@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ashteya/ionic-tutorial-groupby/HEAD/resources/ios/icon/icon@2x.png -------------------------------------------------------------------------------- /resources/ios/icon/icon-40@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ashteya/ionic-tutorial-groupby/HEAD/resources/ios/icon/icon-40@2x.png -------------------------------------------------------------------------------- /resources/ios/icon/icon-50@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ashteya/ionic-tutorial-groupby/HEAD/resources/ios/icon/icon-50@2x.png -------------------------------------------------------------------------------- /resources/ios/icon/icon-60@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ashteya/ionic-tutorial-groupby/HEAD/resources/ios/icon/icon-60@2x.png -------------------------------------------------------------------------------- /resources/ios/icon/icon-60@3x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ashteya/ionic-tutorial-groupby/HEAD/resources/ios/icon/icon-60@3x.png -------------------------------------------------------------------------------- /resources/ios/icon/icon-72@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ashteya/ionic-tutorial-groupby/HEAD/resources/ios/icon/icon-72@2x.png -------------------------------------------------------------------------------- /resources/ios/icon/icon-76@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ashteya/ionic-tutorial-groupby/HEAD/resources/ios/icon/icon-76@2x.png -------------------------------------------------------------------------------- /resources/ios/icon/icon-small.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ashteya/ionic-tutorial-groupby/HEAD/resources/ios/icon/icon-small.png -------------------------------------------------------------------------------- /www/lib/ionic/fonts/ionicons.eot: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ashteya/ionic-tutorial-groupby/HEAD/www/lib/ionic/fonts/ionicons.eot -------------------------------------------------------------------------------- /www/lib/ionic/fonts/ionicons.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ashteya/ionic-tutorial-groupby/HEAD/www/lib/ionic/fonts/ionicons.ttf -------------------------------------------------------------------------------- /www/lib/ionic/fonts/ionicons.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ashteya/ionic-tutorial-groupby/HEAD/www/lib/ionic/fonts/ionicons.woff -------------------------------------------------------------------------------- /resources/ios/icon/icon-small@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ashteya/ionic-tutorial-groupby/HEAD/resources/ios/icon/icon-small@2x.png -------------------------------------------------------------------------------- /resources/ios/icon/icon-small@3x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ashteya/ionic-tutorial-groupby/HEAD/resources/ios/icon/icon-small@3x.png -------------------------------------------------------------------------------- /www/lib/angular/angular.min.js.gzip: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ashteya/ionic-tutorial-groupby/HEAD/www/lib/angular/angular.min.js.gzip -------------------------------------------------------------------------------- /resources/ios/splash/Default-667h.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ashteya/ionic-tutorial-groupby/HEAD/resources/ios/splash/Default-667h.png -------------------------------------------------------------------------------- /resources/ios/splash/Default-736h.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ashteya/ionic-tutorial-groupby/HEAD/resources/ios/splash/Default-736h.png -------------------------------------------------------------------------------- /resources/ios/splash/Default~iphone.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ashteya/ionic-tutorial-groupby/HEAD/resources/ios/splash/Default~iphone.png -------------------------------------------------------------------------------- /resources/ios/splash/Default@2x~iphone.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ashteya/ionic-tutorial-groupby/HEAD/resources/ios/splash/Default@2x~iphone.png -------------------------------------------------------------------------------- /resources/android/icon/drawable-hdpi-icon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ashteya/ionic-tutorial-groupby/HEAD/resources/android/icon/drawable-hdpi-icon.png -------------------------------------------------------------------------------- /resources/android/icon/drawable-ldpi-icon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ashteya/ionic-tutorial-groupby/HEAD/resources/android/icon/drawable-ldpi-icon.png -------------------------------------------------------------------------------- /resources/android/icon/drawable-mdpi-icon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ashteya/ionic-tutorial-groupby/HEAD/resources/android/icon/drawable-mdpi-icon.png -------------------------------------------------------------------------------- /resources/android/icon/drawable-xhdpi-icon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ashteya/ionic-tutorial-groupby/HEAD/resources/android/icon/drawable-xhdpi-icon.png -------------------------------------------------------------------------------- /resources/ios/splash/Default-Portrait~ipad.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ashteya/ionic-tutorial-groupby/HEAD/resources/ios/splash/Default-Portrait~ipad.png -------------------------------------------------------------------------------- /resources/android/icon/drawable-xxhdpi-icon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ashteya/ionic-tutorial-groupby/HEAD/resources/android/icon/drawable-xxhdpi-icon.png -------------------------------------------------------------------------------- /resources/android/icon/drawable-xxxhdpi-icon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ashteya/ionic-tutorial-groupby/HEAD/resources/android/icon/drawable-xxxhdpi-icon.png -------------------------------------------------------------------------------- /resources/ios/splash/Default-568h@2x~iphone.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ashteya/ionic-tutorial-groupby/HEAD/resources/ios/splash/Default-568h@2x~iphone.png -------------------------------------------------------------------------------- /resources/ios/splash/Default-Landscape-736h.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ashteya/ionic-tutorial-groupby/HEAD/resources/ios/splash/Default-Landscape-736h.png -------------------------------------------------------------------------------- /resources/ios/splash/Default-Landscape~ipad.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ashteya/ionic-tutorial-groupby/HEAD/resources/ios/splash/Default-Landscape~ipad.png -------------------------------------------------------------------------------- /bower.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "ionic-tutorial-groupby", 3 | "private": "true", 4 | "devDependencies": { 5 | "ionic": "driftyco/ionic-bower#1.0.0-rc.1" 6 | } 7 | } -------------------------------------------------------------------------------- /resources/ios/splash/Default-Landscape@2x~ipad.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ashteya/ionic-tutorial-groupby/HEAD/resources/ios/splash/Default-Landscape@2x~ipad.png -------------------------------------------------------------------------------- /resources/ios/splash/Default-Portrait@2x~ipad.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ashteya/ionic-tutorial-groupby/HEAD/resources/ios/splash/Default-Portrait@2x~ipad.png -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | # Specifies intentionally untracked files to ignore when using Git 2 | # http://git-scm.com/docs/gitignore 3 | 4 | node_modules/ 5 | platforms/ 6 | plugins/ 7 | -------------------------------------------------------------------------------- /www/lib/angular/bower.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "angular", 3 | "version": "1.3.13", 4 | "main": "./angular.js", 5 | "ignore": [], 6 | "dependencies": { 7 | } 8 | } 9 | -------------------------------------------------------------------------------- /resources/android/splash/drawable-land-hdpi-screen.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ashteya/ionic-tutorial-groupby/HEAD/resources/android/splash/drawable-land-hdpi-screen.png -------------------------------------------------------------------------------- /resources/android/splash/drawable-land-ldpi-screen.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ashteya/ionic-tutorial-groupby/HEAD/resources/android/splash/drawable-land-ldpi-screen.png -------------------------------------------------------------------------------- /resources/android/splash/drawable-land-mdpi-screen.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ashteya/ionic-tutorial-groupby/HEAD/resources/android/splash/drawable-land-mdpi-screen.png -------------------------------------------------------------------------------- /resources/android/splash/drawable-land-xhdpi-screen.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ashteya/ionic-tutorial-groupby/HEAD/resources/android/splash/drawable-land-xhdpi-screen.png -------------------------------------------------------------------------------- /resources/android/splash/drawable-land-xxhdpi-screen.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ashteya/ionic-tutorial-groupby/HEAD/resources/android/splash/drawable-land-xxhdpi-screen.png -------------------------------------------------------------------------------- /resources/android/splash/drawable-port-hdpi-screen.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ashteya/ionic-tutorial-groupby/HEAD/resources/android/splash/drawable-port-hdpi-screen.png -------------------------------------------------------------------------------- /resources/android/splash/drawable-port-ldpi-screen.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ashteya/ionic-tutorial-groupby/HEAD/resources/android/splash/drawable-port-ldpi-screen.png -------------------------------------------------------------------------------- /resources/android/splash/drawable-port-mdpi-screen.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ashteya/ionic-tutorial-groupby/HEAD/resources/android/splash/drawable-port-mdpi-screen.png -------------------------------------------------------------------------------- /resources/android/splash/drawable-port-xhdpi-screen.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ashteya/ionic-tutorial-groupby/HEAD/resources/android/splash/drawable-port-xhdpi-screen.png -------------------------------------------------------------------------------- /resources/android/splash/drawable-port-xxhdpi-screen.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ashteya/ionic-tutorial-groupby/HEAD/resources/android/splash/drawable-port-xxhdpi-screen.png -------------------------------------------------------------------------------- /resources/android/splash/drawable-land-xxxhdpi-screen.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ashteya/ionic-tutorial-groupby/HEAD/resources/android/splash/drawable-land-xxxhdpi-screen.png -------------------------------------------------------------------------------- /resources/android/splash/drawable-port-xxxhdpi-screen.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ashteya/ionic-tutorial-groupby/HEAD/resources/android/splash/drawable-port-xxxhdpi-screen.png -------------------------------------------------------------------------------- /www/lib/moment/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 | -------------------------------------------------------------------------------- /www/lib/moment/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 | -------------------------------------------------------------------------------- /www/lib/angular-animate/bower.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "angular-animate", 3 | "version": "1.3.13", 4 | "main": "./angular-animate.js", 5 | "ignore": [], 6 | "dependencies": { 7 | "angular": "1.3.13" 8 | } 9 | } 10 | -------------------------------------------------------------------------------- /www/lib/angular-sanitize/bower.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "angular-sanitize", 3 | "version": "1.3.13", 4 | "main": "./angular-sanitize.js", 5 | "ignore": [], 6 | "dependencies": { 7 | "angular": "1.3.13" 8 | } 9 | } 10 | -------------------------------------------------------------------------------- /www/lib/ionic/scss/_progress.scss: -------------------------------------------------------------------------------- 1 | 2 | /** 3 | * Progress 4 | * -------------------------------------------------- 5 | */ 6 | 7 | progress { 8 | display: block; 9 | margin: $progress-margin; 10 | width: $progress-width; 11 | } 12 | -------------------------------------------------------------------------------- /www/lib/moment/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 | -------------------------------------------------------------------------------- /www/lib/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 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # ionic-tutorial-groupby 2 | 3 | This code is part of a tutorial on how group items with collection-repeat. 4 | 5 | Read the tutorial here: [How To Group Items In Ionic's Collection Repeat](http://gonehybrid.com/how-to-group-items-in-ionics-collection-repeat) 6 | 7 | For more tutorials on Ionic, check out my blog [Gone Hybrid](http://gonehybrid.com). 8 | -------------------------------------------------------------------------------- /www/lib/moment/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 | -------------------------------------------------------------------------------- /www/lib/ionic/scss/_loaders.scss: -------------------------------------------------------------------------------- 1 | /** 2 | * Loaders (Spinners) 3 | * -------------------------------------------------- 4 | */ 5 | 6 | svg.loader { 7 | width: 28px; 8 | height: 28px; 9 | stroke: #333; 10 | fill: #333; 11 | } 12 | 13 | .loader-ios, 14 | .loader-ios-small { 15 | 16 | line { 17 | stroke: #69717d; 18 | } 19 | 20 | } 21 | 22 | .loader-android { 23 | 24 | circle { 25 | stroke: #4b8bf4; 26 | } 27 | 28 | } 29 | -------------------------------------------------------------------------------- /www/lib/ionic/scss/_backdrop.scss: -------------------------------------------------------------------------------- 1 | 2 | .backdrop { 3 | position: fixed; 4 | top: 0; 5 | left: 0; 6 | z-index: $z-index-backdrop; 7 | 8 | width: 100%; 9 | height: 100%; 10 | 11 | background-color: $loading-backdrop-bg-color; 12 | 13 | visibility: hidden; 14 | opacity: 0; 15 | 16 | &.visible { 17 | visibility: visible; 18 | } 19 | &.active { 20 | opacity: 1; 21 | } 22 | 23 | @include transition($loading-backdrop-fadein-duration opacity linear); 24 | } 25 | -------------------------------------------------------------------------------- /www/lib/angular-ui-router/bower.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "angular-ui-router", 3 | "version": "0.2.13", 4 | "main": "./release/angular-ui-router.js", 5 | "dependencies": { 6 | "angular": ">= 1.0.8" 7 | }, 8 | "ignore": [ 9 | "**/.*", 10 | "node_modules", 11 | "bower_components", 12 | "component.json", 13 | "package.json", 14 | "lib", 15 | "config", 16 | "sample", 17 | "test", 18 | "tests", 19 | "ngdoc_assets", 20 | "Gruntfile.js", 21 | "files.js" 22 | ] 23 | } 24 | -------------------------------------------------------------------------------- /www/lib/angular/.bower.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "angular", 3 | "version": "1.3.13", 4 | "main": "./angular.js", 5 | "ignore": [], 6 | "dependencies": {}, 7 | "homepage": "https://github.com/angular/bower-angular", 8 | "_release": "1.3.13", 9 | "_resolution": { 10 | "type": "version", 11 | "tag": "v1.3.13", 12 | "commit": "ad68cfecb69ff7cacb27813377ce9d95e072529b" 13 | }, 14 | "_source": "git://github.com/angular/bower-angular.git", 15 | "_target": "1.3.13", 16 | "_originalSource": "angular" 17 | } -------------------------------------------------------------------------------- /www/lib/ionic/README.md: -------------------------------------------------------------------------------- 1 | # ionic-bower 2 | 3 | Bower repository for [Ionic Framework](http://github.com/driftyco/ionic) 4 | 5 | ### Usage 6 | 7 | Include `js/ionic.bundle.js` to get ionic and all of its dependencies. 8 | 9 | Alternatively, include the individual ionic files with the dependencies separately. 10 | 11 | ### Versions 12 | 13 | To install the latest stable version, `bower install driftyco/ionic-bower#v1.0.0-beta.13` 14 | 15 | To install the latest nightly release, `bower install driftyco/ionic-bower#master` 16 | -------------------------------------------------------------------------------- /www/js/item.controller.js: -------------------------------------------------------------------------------- 1 | (function() { 2 | 3 | angular.module('starter') 4 | .controller('ItemController', ItemController) 5 | 6 | function ItemController() { 7 | var vm = this, 8 | items = []; 9 | 10 | for (var i = 1; i < 1000; i++) { 11 | var itemDate = moment().add(i, 'days'); 12 | 13 | var item = { 14 | description: 'Description for item ' + i, 15 | date: itemDate.toDate() 16 | }; 17 | items.push(item); 18 | } 19 | 20 | vm.items = items; 21 | return vm; 22 | 23 | } 24 | 25 | })(); 26 | -------------------------------------------------------------------------------- /package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "ionic-tutorial-groupby", 3 | "version": "1.0.0", 4 | "description": "ionic-tutorial-groupby: An Ionic project", 5 | "dependencies": { 6 | "gulp": "^3.5.6", 7 | "gulp-sass": "^1.3.3", 8 | "gulp-concat": "^2.2.0", 9 | "gulp-minify-css": "^0.3.0", 10 | "gulp-rename": "^1.2.0" 11 | }, 12 | "devDependencies": { 13 | "bower": "^1.3.3", 14 | "gulp-util": "^2.2.14", 15 | "shelljs": "^0.3.0" 16 | }, 17 | "cordovaPlugins": [], 18 | "cordovaPlatforms": [ 19 | "ios" 20 | ] 21 | } -------------------------------------------------------------------------------- /www/lib/angular-animate/.bower.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "angular-animate", 3 | "version": "1.3.13", 4 | "main": "./angular-animate.js", 5 | "ignore": [], 6 | "dependencies": { 7 | "angular": "1.3.13" 8 | }, 9 | "homepage": "https://github.com/angular/bower-angular-animate", 10 | "_release": "1.3.13", 11 | "_resolution": { 12 | "type": "version", 13 | "tag": "v1.3.13", 14 | "commit": "f18cb98590471ad9c1e5ae0e57178e9ecb8d384c" 15 | }, 16 | "_source": "git://github.com/angular/bower-angular-animate.git", 17 | "_target": "1.3.13", 18 | "_originalSource": "angular-animate" 19 | } -------------------------------------------------------------------------------- /www/lib/angular-sanitize/.bower.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "angular-sanitize", 3 | "version": "1.3.13", 4 | "main": "./angular-sanitize.js", 5 | "ignore": [], 6 | "dependencies": { 7 | "angular": "1.3.13" 8 | }, 9 | "homepage": "https://github.com/angular/bower-angular-sanitize", 10 | "_release": "1.3.13", 11 | "_resolution": { 12 | "type": "version", 13 | "tag": "v1.3.13", 14 | "commit": "ee7a595d32ae566701da29873eb1dfb466e3cfef" 15 | }, 16 | "_source": "git://github.com/angular/bower-angular-sanitize.git", 17 | "_target": "1.3.13", 18 | "_originalSource": "angular-sanitize" 19 | } -------------------------------------------------------------------------------- /www/lib/ionic/scss/_split-pane.scss: -------------------------------------------------------------------------------- 1 | 2 | /** 3 | * Split Pane 4 | * -------------------------------------------------- 5 | */ 6 | 7 | .split-pane { 8 | @include display-flex(); 9 | @include align-items(stretch); 10 | width: 100%; 11 | height: 100%; 12 | } 13 | 14 | .split-pane-menu { 15 | @include flex(0, 0, $split-pane-menu-width); 16 | 17 | overflow-y: auto; 18 | width: $split-pane-menu-width; 19 | height: 100%; 20 | border-right: 1px solid $split-pane-menu-border-color; 21 | 22 | @media all and (max-width: 568px) { 23 | border-right: none; 24 | } 25 | } 26 | 27 | .split-pane-content { 28 | @include flex(1, 0, auto); 29 | } 30 | -------------------------------------------------------------------------------- /www/lib/ionic/scss/ionicons/ionicons.scss: -------------------------------------------------------------------------------- 1 | @charset "UTF-8"; 2 | @import "ionicons-variables"; 3 | /*! 4 | Ionicons, v2.0.1 5 | Created by Ben Sperry for the Ionic Framework, http://ionicons.com/ 6 | https://twitter.com/benjsperry https://twitter.com/ionicframework 7 | MIT License: https://github.com/driftyco/ionicons 8 | 9 | Android-style icons originally built by Google’s 10 | Material Design Icons: https://github.com/google/material-design-icons 11 | used under CC BY http://creativecommons.org/licenses/by/4.0/ 12 | Modified icons to fit ionicon’s grid from original. 13 | */ 14 | 15 | @import "ionicons-font"; 16 | @import "ionicons-icons"; 17 | -------------------------------------------------------------------------------- /www/lib/angular/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "angular", 3 | "version": "1.3.13", 4 | "description": "HTML enhanced for web apps", 5 | "main": "angular.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 | -------------------------------------------------------------------------------- /www/lib/angular-animate/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "angular-animate", 3 | "version": "1.3.13", 4 | "description": "AngularJS module for animations", 5 | "main": "angular-animate.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 | "animation", 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 | -------------------------------------------------------------------------------- /www/lib/angular-sanitize/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "angular-sanitize", 3 | "version": "1.3.13", 4 | "description": "AngularJS module for sanitizing HTML", 5 | "main": "angular-sanitize.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 | "html", 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 | -------------------------------------------------------------------------------- /www/lib/moment/.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": "moment", 30 | "_direct": true 31 | } -------------------------------------------------------------------------------- /www/lib/moment/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 | -------------------------------------------------------------------------------- /www/lib/moment/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 | -------------------------------------------------------------------------------- /www/lib/ionic/scss/ionic.scss: -------------------------------------------------------------------------------- 1 | @charset "UTF-8"; 2 | 3 | @import 4 | // Ionicons 5 | "ionicons/ionicons.scss", 6 | 7 | // Variables 8 | "mixins", 9 | "variables", 10 | 11 | // Base 12 | "reset", 13 | "scaffolding", 14 | "type", 15 | 16 | // Components 17 | "action-sheet", 18 | "backdrop", 19 | "bar", 20 | "tabs", 21 | "menu", 22 | "modal", 23 | "popover", 24 | "popup", 25 | "loading", 26 | "items", 27 | "list", 28 | "badge", 29 | "slide-box", 30 | "refresher", 31 | "spinner", 32 | 33 | // Forms 34 | "form", 35 | "checkbox", 36 | "toggle", 37 | "radio", 38 | "range", 39 | "select", 40 | "progress", 41 | 42 | // Buttons 43 | "button", 44 | "button-bar", 45 | 46 | // Util 47 | "grid", 48 | "util", 49 | "platform", 50 | 51 | // Animations 52 | "animations", 53 | "transitions"; 54 | -------------------------------------------------------------------------------- /www/lib/angular-ui-router/.bower.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "angular-ui-router", 3 | "version": "0.2.13", 4 | "main": "./release/angular-ui-router.js", 5 | "dependencies": { 6 | "angular": ">= 1.0.8" 7 | }, 8 | "ignore": [ 9 | "**/.*", 10 | "node_modules", 11 | "bower_components", 12 | "component.json", 13 | "package.json", 14 | "lib", 15 | "config", 16 | "sample", 17 | "test", 18 | "tests", 19 | "ngdoc_assets", 20 | "Gruntfile.js", 21 | "files.js" 22 | ], 23 | "homepage": "https://github.com/angular-ui/ui-router", 24 | "_release": "0.2.13", 25 | "_resolution": { 26 | "type": "version", 27 | "tag": "0.2.13", 28 | "commit": "c3d543aae43d4600512520a0d70723ac31f2cb62" 29 | }, 30 | "_source": "git://github.com/angular-ui/ui-router.git", 31 | "_target": "0.2.13", 32 | "_originalSource": "angular-ui-router" 33 | } -------------------------------------------------------------------------------- /scss/ionic.app.scss: -------------------------------------------------------------------------------- 1 | /* 2 | To customize the look and feel of Ionic, you can override the variables 3 | in ionic's _variables.scss file. 4 | 5 | For example, you might change some of the default colors: 6 | 7 | $light: #fff !default; 8 | $stable: #f8f8f8 !default; 9 | $positive: #387ef5 !default; 10 | $calm: #11c1f3 !default; 11 | $balanced: #33cd5f !default; 12 | $energized: #ffc900 !default; 13 | $assertive: #ef473a !default; 14 | $royal: #886aea !default; 15 | $dark: #444 !default; 16 | */ 17 | 18 | // The path for our ionicons font files, relative to the built CSS in www/css 19 | $ionicons-font-path: "../lib/ionic/fonts" !default; 20 | 21 | // Include all of Ionic 22 | @import "www/lib/ionic/scss/ionic"; 23 | 24 | -------------------------------------------------------------------------------- /www/lib/ionic/bower.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "ionic", 3 | "version": "1.0.0-rc.1", 4 | "codename": "osmium-ostrich", 5 | "homepage": "https://github.com/driftyco/ionic", 6 | "authors": [ 7 | "Max Lynch ", 8 | "Adam Bradley ", 9 | "Ben Sperry " 10 | ], 11 | "description": "Advanced HTML5 hybrid mobile app development framework.", 12 | "main": [ 13 | "css/ionic.css", 14 | "fonts/*", 15 | "js/ionic.js", 16 | "js/ionic-angular.js" 17 | ], 18 | "keywords": [ 19 | "mobile", 20 | "html5", 21 | "ionic", 22 | "cordova", 23 | "phonegap", 24 | "trigger", 25 | "triggerio", 26 | "angularjs", 27 | "angular" 28 | ], 29 | "license": "MIT", 30 | "private": false, 31 | "dependencies": { 32 | "angular": "1.3.13", 33 | "angular-animate": "1.3.13", 34 | "angular-sanitize": "1.3.13", 35 | "angular-ui-router": "0.2.13" 36 | } 37 | } 38 | -------------------------------------------------------------------------------- /www/lib/ionic/scss/ionicons/_ionicons-font.scss: -------------------------------------------------------------------------------- 1 | // Ionicons Font Path 2 | // -------------------------- 3 | 4 | @font-face { 5 | font-family: $ionicons-font-family; 6 | src:url("#{$ionicons-font-path}/ionicons.eot?v=#{$ionicons-version}"); 7 | src:url("#{$ionicons-font-path}/ionicons.eot?v=#{$ionicons-version}#iefix") format("embedded-opentype"), 8 | url("#{$ionicons-font-path}/ionicons.ttf?v=#{$ionicons-version}") format("truetype"), 9 | url("#{$ionicons-font-path}/ionicons.woff?v=#{$ionicons-version}") format("woff"), 10 | url("#{$ionicons-font-path}/ionicons.svg?v=#{$ionicons-version}#Ionicons") format("svg"); 11 | font-weight: normal; 12 | font-style: normal; 13 | } 14 | 15 | .ion { 16 | display: inline-block; 17 | font-family: $ionicons-font-family; 18 | speak: none; 19 | font-style: normal; 20 | font-weight: normal; 21 | font-variant: normal; 22 | text-transform: none; 23 | text-rendering: auto; 24 | line-height: 1; 25 | -webkit-font-smoothing: antialiased; 26 | -moz-osx-font-smoothing: grayscale; 27 | } -------------------------------------------------------------------------------- /www/lib/ionic/scss/_loading.scss: -------------------------------------------------------------------------------- 1 | 2 | /** 3 | * Loading 4 | * -------------------------------------------------- 5 | */ 6 | 7 | .loading-container { 8 | position: absolute; 9 | left: 0; 10 | top: 0; 11 | right: 0; 12 | bottom: 0; 13 | 14 | z-index: $z-index-loading; 15 | 16 | @include display-flex(); 17 | @include justify-content(center); 18 | @include align-items(center); 19 | 20 | @include transition(0.2s opacity linear); 21 | visibility: hidden; 22 | opacity: 0; 23 | 24 | &:not(.visible) .icon { 25 | display: none; 26 | } 27 | &.visible { 28 | visibility: visible; 29 | } 30 | &.active { 31 | opacity: 1; 32 | } 33 | 34 | .loading { 35 | padding: $loading-padding; 36 | 37 | border-radius: $loading-border-radius; 38 | background-color: $loading-bg-color; 39 | 40 | color: $loading-text-color; 41 | 42 | text-align: center; 43 | text-overflow: ellipsis; 44 | font-size: $loading-font-size; 45 | 46 | h1, h2, h3, h4, h5, h6 { 47 | color: $loading-text-color; 48 | } 49 | } 50 | } 51 | -------------------------------------------------------------------------------- /www/lib/ionic/scss/_slide-box.scss: -------------------------------------------------------------------------------- 1 | 2 | /** 3 | * Slide Box 4 | * -------------------------------------------------- 5 | */ 6 | 7 | .slider { 8 | position: relative; 9 | visibility: hidden; 10 | // Make sure items don't scroll over ever 11 | overflow: hidden; 12 | } 13 | 14 | .slider-slides { 15 | position: relative; 16 | height: 100%; 17 | } 18 | 19 | .slider-slide { 20 | position: relative; 21 | display: block; 22 | float: left; 23 | width: 100%; 24 | height: 100%; 25 | vertical-align: top; 26 | } 27 | 28 | .slider-slide-image { 29 | > img { 30 | width: 100%; 31 | } 32 | } 33 | 34 | .slider-pager { 35 | position: absolute; 36 | bottom: 20px; 37 | z-index: $z-index-slider-pager; 38 | width: 100%; 39 | height: 15px; 40 | text-align: center; 41 | 42 | .slider-pager-page { 43 | display: inline-block; 44 | margin: 0px 3px; 45 | width: 15px; 46 | color: #000; 47 | text-decoration: none; 48 | 49 | opacity: 0.3; 50 | 51 | &.active { 52 | @include transition(opacity 0.4s ease-in); 53 | opacity: 1; 54 | } 55 | } 56 | } 57 | -------------------------------------------------------------------------------- /www/lib/ionic/scss/_button-bar.scss: -------------------------------------------------------------------------------- 1 | 2 | /** 3 | * Button Bar 4 | * -------------------------------------------------- 5 | */ 6 | 7 | .button-bar { 8 | @include display-flex(); 9 | @include flex(1); 10 | width: 100%; 11 | 12 | &.button-bar-inline { 13 | display: block; 14 | width: auto; 15 | 16 | @include clearfix(); 17 | 18 | > .button { 19 | width: auto; 20 | display: inline-block; 21 | float: left; 22 | } 23 | } 24 | } 25 | 26 | .button-bar > .button { 27 | @include flex(1); 28 | display: block; 29 | 30 | overflow: hidden; 31 | 32 | padding: 0 16px; 33 | 34 | width: 0; 35 | 36 | border-width: 1px 0px 1px 1px; 37 | border-radius: 0; 38 | text-align: center; 39 | text-overflow: ellipsis; 40 | white-space: nowrap; 41 | 42 | &:before, 43 | .icon:before { 44 | line-height: 44px; 45 | } 46 | 47 | &:first-child { 48 | border-radius: $button-border-radius 0px 0px $button-border-radius; 49 | } 50 | &:last-child { 51 | border-right-width: 1px; 52 | border-radius: 0px $button-border-radius $button-border-radius 0px; 53 | } 54 | } 55 | -------------------------------------------------------------------------------- /www/lib/moment/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 | -------------------------------------------------------------------------------- /www/lib/angular-ui-router/LICENSE: -------------------------------------------------------------------------------- 1 | The MIT License 2 | 3 | Copyright (c) 2014 The AngularUI Team, Karsten Sperling 4 | 5 | Permission is hereby granted, free of charge, to any person obtaining a copy 6 | of this software and associated documentation files (the "Software"), to deal 7 | in the Software without restriction, including without limitation the rights 8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 9 | copies of the Software, and to permit persons to whom the Software is 10 | furnished to do so, subject to the following conditions: 11 | 12 | The above copyright notice and this permission notice shall be included in 13 | all 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, 17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN 21 | THE SOFTWARE. 22 | -------------------------------------------------------------------------------- /www/lib/angular-ui-router/src/stateFilters.js: -------------------------------------------------------------------------------- 1 | /** 2 | * @ngdoc filter 3 | * @name ui.router.state.filter:isState 4 | * 5 | * @requires ui.router.state.$state 6 | * 7 | * @description 8 | * Translates to {@link ui.router.state.$state#methods_is $state.is("stateName")}. 9 | */ 10 | $IsStateFilter.$inject = ['$state']; 11 | function $IsStateFilter($state) { 12 | var isFilter = function (state) { 13 | return $state.is(state); 14 | }; 15 | isFilter.$stateful = true; 16 | return isFilter; 17 | } 18 | 19 | /** 20 | * @ngdoc filter 21 | * @name ui.router.state.filter:includedByState 22 | * 23 | * @requires ui.router.state.$state 24 | * 25 | * @description 26 | * Translates to {@link ui.router.state.$state#methods_includes $state.includes('fullOrPartialStateName')}. 27 | */ 28 | $IncludedByStateFilter.$inject = ['$state']; 29 | function $IncludedByStateFilter($state) { 30 | var includesFilter = function (state) { 31 | return $state.includes(state); 32 | }; 33 | includesFilter.$stateful = true; 34 | return includesFilter; 35 | } 36 | 37 | angular.module('ui.router.state') 38 | .filter('isState', $IsStateFilter) 39 | .filter('includedByState', $IncludedByStateFilter); 40 | -------------------------------------------------------------------------------- /www/lib/ionic/.bower.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "ionic", 3 | "version": "1.0.0-rc.1", 4 | "codename": "osmium-ostrich", 5 | "homepage": "https://github.com/driftyco/ionic", 6 | "authors": [ 7 | "Max Lynch ", 8 | "Adam Bradley ", 9 | "Ben Sperry " 10 | ], 11 | "description": "Advanced HTML5 hybrid mobile app development framework.", 12 | "main": [ 13 | "css/ionic.css", 14 | "fonts/*", 15 | "js/ionic.js", 16 | "js/ionic-angular.js" 17 | ], 18 | "keywords": [ 19 | "mobile", 20 | "html5", 21 | "ionic", 22 | "cordova", 23 | "phonegap", 24 | "trigger", 25 | "triggerio", 26 | "angularjs", 27 | "angular" 28 | ], 29 | "license": "MIT", 30 | "private": false, 31 | "dependencies": { 32 | "angular": "1.3.13", 33 | "angular-animate": "1.3.13", 34 | "angular-sanitize": "1.3.13", 35 | "angular-ui-router": "0.2.13" 36 | }, 37 | "_release": "1.0.0-rc.1", 38 | "_resolution": { 39 | "type": "version", 40 | "tag": "v1.0.0-rc.1", 41 | "commit": "082fc0ad40ce400ed9dc0e5439924a23f00d3534" 42 | }, 43 | "_source": "git://github.com/driftyco/ionic-bower.git", 44 | "_target": "1.0.0-rc.1", 45 | "_originalSource": "driftyco/ionic-bower" 46 | } -------------------------------------------------------------------------------- /www/js/app.js: -------------------------------------------------------------------------------- 1 | // Ionic Starter App 2 | 3 | // angular.module is a global place for creating, registering and retrieving Angular modules 4 | // 'starter' is the name of this angular module example (also set in a attribute in index.html) 5 | // the 2nd parameter is an array of 'requires' 6 | angular.module('starter', ['ionic']) 7 | 8 | .run(function($ionicPlatform) { 9 | $ionicPlatform.ready(function() { 10 | // Hide the accessory bar by default (remove this to show the accessory bar above the keyboard 11 | // for form inputs). 12 | // The reason we default this to hidden is that native apps don't usually show an accessory bar, at 13 | // least on iOS. It's a dead giveaway that an app is using a Web View. However, it's sometimes 14 | // useful especially with forms, though we would prefer giving the user a little more room 15 | // to interact with the app. 16 | if(window.cordova && window.cordova.plugins.Keyboard) { 17 | cordova.plugins.Keyboard.hideKeyboardAccessoryBar(true); 18 | } 19 | if(window.StatusBar) { 20 | // Set the statusbar to use the default style, tweak this to 21 | // remove the status bar on iOS or change it to use white instead of dark colors. 22 | StatusBar.styleDefault(); 23 | } 24 | }); 25 | }); 26 | -------------------------------------------------------------------------------- /www/lib/ionic/scss/_menu.scss: -------------------------------------------------------------------------------- 1 | 2 | /** 3 | * Menus 4 | * -------------------------------------------------- 5 | * Side panel structure 6 | */ 7 | 8 | .menu { 9 | position: absolute; 10 | top: 0; 11 | bottom: 0; 12 | z-index: $z-index-menu; 13 | overflow: hidden; 14 | 15 | min-height: 100%; 16 | max-height: 100%; 17 | width: $menu-width; 18 | 19 | background-color: $menu-bg; 20 | 21 | .scroll-content { 22 | z-index: $z-index-menu-scroll-content; 23 | } 24 | 25 | .bar-header { 26 | z-index: $z-index-menu-bar-header; 27 | } 28 | } 29 | 30 | .menu-content { 31 | @include transform(none); 32 | box-shadow: $menu-side-shadow; 33 | } 34 | 35 | .menu-open .menu-content .pane, 36 | .menu-open .menu-content .scroll-content { 37 | pointer-events: none; 38 | } 39 | 40 | .grade-b .menu-content, 41 | .grade-c .menu-content { 42 | @include box-sizing(content-box); 43 | right: -1px; 44 | left: -1px; 45 | border-right: 1px solid #ccc; 46 | border-left: 1px solid #ccc; 47 | box-shadow: none; 48 | } 49 | 50 | .menu-left { 51 | left: 0; 52 | } 53 | 54 | .menu-right { 55 | right: 0; 56 | } 57 | 58 | .aside-open.aside-resizing .menu-right { 59 | display: none; 60 | } 61 | 62 | .menu-animated { 63 | @include transition-transform($menu-animation-speed ease); 64 | } 65 | -------------------------------------------------------------------------------- /www/lib/ionic/scss/_animations.scss: -------------------------------------------------------------------------------- 1 | 2 | // Slide up from the bottom, used for modals 3 | // ------------------------------- 4 | 5 | .slide-in-up { 6 | @include translate3d(0, 100%, 0); 7 | } 8 | .slide-in-up.ng-enter, 9 | .slide-in-up > .ng-enter { 10 | @include transition(all cubic-bezier(.1, .7, .1, 1) 400ms); 11 | } 12 | .slide-in-up.ng-enter-active, 13 | .slide-in-up > .ng-enter-active { 14 | @include translate3d(0, 0, 0); 15 | } 16 | 17 | .slide-in-up.ng-leave, 18 | .slide-in-up > .ng-leave { 19 | @include transition(all ease-in-out 250ms); 20 | } 21 | 22 | 23 | // Scale Out 24 | // Scale from hero (1 in this case) to zero 25 | // ------------------------------- 26 | 27 | @-webkit-keyframes scaleOut { 28 | from { -webkit-transform: scale(1); opacity: 1; } 29 | to { -webkit-transform: scale(0.8); opacity: 0; } 30 | } 31 | @keyframes scaleOut { 32 | from { transform: scale(1); opacity: 1; } 33 | to { transform: scale(0.8); opacity: 0; } 34 | } 35 | 36 | 37 | // Super Scale In 38 | // Scale from super (1.x) to duper (1 in this case) 39 | // ------------------------------- 40 | 41 | @-webkit-keyframes superScaleIn { 42 | from { -webkit-transform: scale(1.2); opacity: 0; } 43 | to { -webkit-transform: scale(1); opacity: 1 } 44 | } 45 | @keyframes superScaleIn { 46 | from { transform: scale(1.2); opacity: 0; } 47 | to { transform: scale(1); opacity: 1; } 48 | } 49 | -------------------------------------------------------------------------------- /www/lib/ionic/scss/_radio.scss: -------------------------------------------------------------------------------- 1 | 2 | /** 3 | * Radio Button Inputs 4 | * -------------------------------------------------- 5 | */ 6 | 7 | .item-radio { 8 | padding: 0; 9 | 10 | &:hover { 11 | cursor: pointer; 12 | } 13 | } 14 | 15 | .item-radio .item-content { 16 | /* give some room to the right for the checkmark icon */ 17 | padding-right: $item-padding * 4; 18 | } 19 | 20 | .item-radio .radio-icon { 21 | /* checkmark icon will be hidden by default */ 22 | position: absolute; 23 | top: 0; 24 | right: 0; 25 | z-index: $z-index-item-radio; 26 | visibility: hidden; 27 | padding: $item-padding - 2; 28 | height: 100%; 29 | font-size: 24px; 30 | } 31 | 32 | .item-radio input { 33 | /* hide any radio button inputs elements (the ugly circles) */ 34 | position: absolute; 35 | left: -9999px; 36 | 37 | &:checked ~ .item-content { 38 | /* style the item content when its checked */ 39 | background: #f7f7f7; 40 | } 41 | 42 | &:checked ~ .radio-icon { 43 | /* show the checkmark icon when its checked */ 44 | visibility: visible; 45 | } 46 | } 47 | 48 | // Hack for Android to correctly display the checked item 49 | // http://timpietrusky.com/advanced-checkbox-hack 50 | .platform-android.grade-b .item-radio, 51 | .platform-android.grade-c .item-radio { 52 | -webkit-animation: androidCheckedbugfix infinite 1s; 53 | } 54 | @-webkit-keyframes androidCheckedbugfix { 55 | from { padding: 0; } 56 | to { padding: 0; } 57 | } 58 | -------------------------------------------------------------------------------- /gulpfile.js: -------------------------------------------------------------------------------- 1 | var gulp = require('gulp'); 2 | var gutil = require('gulp-util'); 3 | var bower = require('bower'); 4 | var concat = require('gulp-concat'); 5 | var sass = require('gulp-sass'); 6 | var minifyCss = require('gulp-minify-css'); 7 | var rename = require('gulp-rename'); 8 | var sh = require('shelljs'); 9 | 10 | var paths = { 11 | sass: ['./scss/**/*.scss'] 12 | }; 13 | 14 | gulp.task('default', ['sass']); 15 | 16 | gulp.task('sass', function(done) { 17 | gulp.src('./scss/ionic.app.scss') 18 | .pipe(sass()) 19 | .pipe(gulp.dest('./www/css/')) 20 | .pipe(minifyCss({ 21 | keepSpecialComments: 0 22 | })) 23 | .pipe(rename({ extname: '.min.css' })) 24 | .pipe(gulp.dest('./www/css/')) 25 | .on('end', done); 26 | }); 27 | 28 | gulp.task('watch', function() { 29 | gulp.watch(paths.sass, ['sass']); 30 | }); 31 | 32 | gulp.task('install', ['git-check'], function() { 33 | return bower.commands.install() 34 | .on('log', function(data) { 35 | gutil.log('bower', gutil.colors.cyan(data.id), data.message); 36 | }); 37 | }); 38 | 39 | gulp.task('git-check', function(done) { 40 | if (!sh.which('git')) { 41 | console.log( 42 | ' ' + gutil.colors.red('Git is not installed.'), 43 | '\n Git, the version control system, is required to download Ionic.', 44 | '\n Download git here:', gutil.colors.cyan('http://git-scm.com/downloads') + '.', 45 | '\n Once git is installed, run \'' + gutil.colors.cyan('gulp install') + '\' again.' 46 | ); 47 | process.exit(1); 48 | } 49 | done(); 50 | }); 51 | -------------------------------------------------------------------------------- /www/js/groupby.js: -------------------------------------------------------------------------------- 1 | (function() { 2 | 3 | angular.module('starter') 4 | 5 | .filter('groupByMonthYear', function($parse) { 6 | 7 | var dividers = {}; 8 | 9 | return function(input) { 10 | if (!input || !input.length) return; 11 | 12 | var output = [], 13 | previousDate, 14 | currentDate; 15 | 16 | for (var i = 0, ii = input.length; i < ii && (item = input[i]); i++) { 17 | currentDate = moment(item.date); 18 | if (!previousDate || 19 | currentDate.month() != previousDate.month() || 20 | currentDate.year() != previousDate.year()) { 21 | 22 | var dividerId = currentDate.format('MMYYYY'); 23 | 24 | if (!dividers[dividerId]) { 25 | dividers[dividerId] = { 26 | isDivider: true, 27 | divider: currentDate.format('MMMM YYYY') 28 | }; 29 | } 30 | 31 | output.push(dividers[dividerId]); 32 | 33 | } 34 | output.push(item); 35 | 36 | previousDate = currentDate; 37 | } 38 | 39 | return output; 40 | }; 41 | 42 | }) 43 | 44 | .directive('dividerCollectionRepeat', function($parse) { 45 | return { 46 | priority: 1001, 47 | compile: compile 48 | }; 49 | 50 | function compile (element, attr) { 51 | var height = attr.itemHeight || '73'; 52 | attr.$set('itemHeight', 'item.isDivider ? 37 : ' + height); 53 | 54 | element.children().attr('ng-hide', 'item.isDivider'); 55 | element.prepend( 56 | '
' 57 | ); 58 | } 59 | }); 60 | 61 | })(); -------------------------------------------------------------------------------- /www/lib/moment/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 | -------------------------------------------------------------------------------- /www/lib/ionic/scss/_spinner.scss: -------------------------------------------------------------------------------- 1 | /** 2 | * Spinners 3 | * -------------------------------------------------- 4 | */ 5 | 6 | .spinner { 7 | svg { 8 | width: $spinner-width; 9 | height: $spinner-height; 10 | } 11 | 12 | stroke: $spinner-default-stroke; 13 | fill: $spinner-default-fill; 14 | 15 | &.spinner-light { 16 | stroke: $spinner-light-stroke; 17 | fill: $spinner-light-fill; 18 | } 19 | &.spinner-stable { 20 | stroke: $spinner-stable-stroke; 21 | fill: $spinner-stable-fill; 22 | } 23 | &.spinner-positive { 24 | stroke: $spinner-positive-stroke; 25 | fill: $spinner-positive-fill; 26 | } 27 | &.spinner-calm { 28 | stroke: $spinner-calm-stroke; 29 | fill: $spinner-calm-fill; 30 | } 31 | &.spinner-balanced { 32 | stroke: $spinner-balanced-stroke; 33 | fill: $spinner-balanced-fill; 34 | } 35 | &.spinner-assertive { 36 | stroke: $spinner-assertive-stroke; 37 | fill: $spinner-assertive-fill; 38 | } 39 | &.spinner-energized { 40 | stroke: $spinner-energized-stroke; 41 | fill: $spinner-energized-fill; 42 | } 43 | &.spinner-royal { 44 | stroke: $spinner-royal-stroke; 45 | fill: $spinner-royal-fill; 46 | } 47 | &.spinner-dark { 48 | stroke: $spinner-dark-stroke; 49 | fill: $spinner-dark-fill; 50 | } 51 | } 52 | 53 | .spinner-android { 54 | stroke: #4b8bf4; 55 | } 56 | 57 | .spinner-ios, 58 | .spinner-ios-small { 59 | stroke: #69717d; 60 | } 61 | 62 | .spinner-spiral { 63 | .stop1 { 64 | stop-color: $spinner-light-fill; 65 | stop-opacity: 0; 66 | } 67 | 68 | &.spinner-light { 69 | .stop1 { 70 | stop-color: $spinner-default-fill; 71 | } 72 | .stop2 { 73 | stop-color: $spinner-light-fill; 74 | } 75 | } 76 | } 77 | -------------------------------------------------------------------------------- /www/lib/angular-ui-router/src/viewScroll.js: -------------------------------------------------------------------------------- 1 | /** 2 | * @ngdoc object 3 | * @name ui.router.state.$uiViewScrollProvider 4 | * 5 | * @description 6 | * Provider that returns the {@link ui.router.state.$uiViewScroll} service function. 7 | */ 8 | function $ViewScrollProvider() { 9 | 10 | var useAnchorScroll = false; 11 | 12 | /** 13 | * @ngdoc function 14 | * @name ui.router.state.$uiViewScrollProvider#useAnchorScroll 15 | * @methodOf ui.router.state.$uiViewScrollProvider 16 | * 17 | * @description 18 | * Reverts back to using the core [`$anchorScroll`](http://docs.angularjs.org/api/ng.$anchorScroll) service for 19 | * scrolling based on the url anchor. 20 | */ 21 | this.useAnchorScroll = function () { 22 | useAnchorScroll = true; 23 | }; 24 | 25 | /** 26 | * @ngdoc object 27 | * @name ui.router.state.$uiViewScroll 28 | * 29 | * @requires $anchorScroll 30 | * @requires $timeout 31 | * 32 | * @description 33 | * When called with a jqLite element, it scrolls the element into view (after a 34 | * `$timeout` so the DOM has time to refresh). 35 | * 36 | * If you prefer to rely on `$anchorScroll` to scroll the view to the anchor, 37 | * this can be enabled by calling {@link ui.router.state.$uiViewScrollProvider#methods_useAnchorScroll `$uiViewScrollProvider.useAnchorScroll()`}. 38 | */ 39 | this.$get = ['$anchorScroll', '$timeout', function ($anchorScroll, $timeout) { 40 | if (useAnchorScroll) { 41 | return $anchorScroll; 42 | } 43 | 44 | return function ($element) { 45 | $timeout(function () { 46 | $element[0].scrollIntoView(); 47 | }, 0, false); 48 | }; 49 | }]; 50 | } 51 | 52 | angular.module('ui.router.state').provider('$uiViewScroll', $ViewScrollProvider); 53 | -------------------------------------------------------------------------------- /www/lib/ionic/scss/_badge.scss: -------------------------------------------------------------------------------- 1 | 2 | /** 3 | * Badges 4 | * -------------------------------------------------- 5 | */ 6 | 7 | .badge { 8 | @include badge-style($badge-default-bg, $badge-default-text); 9 | z-index: $z-index-badge; 10 | display: inline-block; 11 | padding: 3px 8px; 12 | min-width: 10px; 13 | border-radius: $badge-border-radius; 14 | vertical-align: baseline; 15 | text-align: center; 16 | white-space: nowrap; 17 | font-weight: $badge-font-weight; 18 | font-size: $badge-font-size; 19 | line-height: $badge-line-height; 20 | 21 | &:empty { 22 | display: none; 23 | } 24 | } 25 | 26 | //Be sure to override specificity of rule that 'badge color matches tab color by default' 27 | .tabs .tab-item .badge, 28 | .badge { 29 | &.badge-light { 30 | @include badge-style($badge-light-bg, $badge-light-text); 31 | } 32 | &.badge-stable { 33 | @include badge-style($badge-stable-bg, $badge-stable-text); 34 | } 35 | &.badge-positive { 36 | @include badge-style($badge-positive-bg, $badge-positive-text); 37 | } 38 | &.badge-calm { 39 | @include badge-style($badge-calm-bg, $badge-calm-text); 40 | } 41 | &.badge-assertive { 42 | @include badge-style($badge-assertive-bg, $badge-assertive-text); 43 | } 44 | &.badge-balanced { 45 | @include badge-style($badge-balanced-bg, $badge-balanced-text); 46 | } 47 | &.badge-energized { 48 | @include badge-style($badge-energized-bg, $badge-energized-text); 49 | } 50 | &.badge-royal { 51 | @include badge-style($badge-royal-bg, $badge-royal-text); 52 | } 53 | &.badge-dark { 54 | @include badge-style($badge-dark-bg, $badge-dark-text); 55 | } 56 | } 57 | 58 | // Quick fix for labels/badges in buttons 59 | .button .badge { 60 | position: relative; 61 | top: -1px; 62 | } 63 | -------------------------------------------------------------------------------- /www/index.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | 32 |

Group By Month & Year

33 |
34 | 35 | 39 | 40 |
41 | 42 |
{{ item.description }}
43 |
{{ item.date | date:'dd-MM-yyyy' }}
44 |
45 |
46 |
47 |
48 |
49 | 50 | 51 | -------------------------------------------------------------------------------- /www/lib/ionic/scss/_platform.scss: -------------------------------------------------------------------------------- 1 | 2 | /** 3 | * Platform 4 | * -------------------------------------------------- 5 | * Platform specific tweaks 6 | */ 7 | 8 | .platform-ios.platform-cordova { 9 | // iOS has a status bar which sits on top of the header. 10 | // Bump down everything to make room for it. However, if 11 | // if its in Cordova, and set to fullscreen, then disregard the bump. 12 | &:not(.fullscreen) { 13 | .bar-header:not(.bar-subheader) { 14 | height: $bar-height + $ios-statusbar-height; 15 | 16 | &.item-input-inset .item-input-wrapper { 17 | margin-top: 19px !important; 18 | } 19 | 20 | > * { 21 | margin-top: $ios-statusbar-height; 22 | } 23 | } 24 | .tabs-top > .tabs, 25 | .tabs.tabs-top { 26 | top: $bar-height + $ios-statusbar-height; 27 | } 28 | 29 | .has-header, 30 | .bar-subheader { 31 | top: $bar-height + $ios-statusbar-height; 32 | } 33 | .has-subheader { 34 | top: $bar-height + $bar-subheader-height + $ios-statusbar-height; 35 | } 36 | .has-header.has-tabs-top { 37 | top: $bar-height + $tabs-height + $ios-statusbar-height; 38 | } 39 | .has-header.has-subheader.has-tabs-top { 40 | top: $bar-height + $bar-subheader-height + $tabs-height + $ios-statusbar-height; 41 | } 42 | } 43 | &.status-bar-hide { 44 | // Cordova doesn't adjust the body height correctly, this makes up for it 45 | margin-bottom: 20px; 46 | } 47 | } 48 | 49 | @media (orientation:landscape) { 50 | .platform-ios.platform-browser.platform-ipad { 51 | position: fixed; // required for iPad 7 Safari 52 | } 53 | } 54 | 55 | .platform-c:not(.enable-transitions) * { 56 | // disable transitions on grade-c devices (Android 2) 57 | -webkit-transition: none !important; 58 | transition: none !important; 59 | } 60 | -------------------------------------------------------------------------------- /www/lib/moment/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 | -------------------------------------------------------------------------------- /www/lib/moment/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 | -------------------------------------------------------------------------------- /www/lib/moment/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 | -------------------------------------------------------------------------------- /www/lib/moment/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 | -------------------------------------------------------------------------------- /www/lib/moment/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 | -------------------------------------------------------------------------------- /www/lib/ionic/scss/ionicons/_ionicons-animation.scss: -------------------------------------------------------------------------------- 1 | // Animation Icons 2 | // -------------------------- 3 | 4 | .#{$ionicons-prefix}spin { 5 | -webkit-animation: spin 1s infinite linear; 6 | -moz-animation: spin 1s infinite linear; 7 | -o-animation: spin 1s infinite linear; 8 | animation: spin 1s infinite linear; 9 | } 10 | 11 | @-moz-keyframes spin { 12 | 0% { -moz-transform: rotate(0deg); } 13 | 100% { -moz-transform: rotate(359deg); } 14 | } 15 | @-webkit-keyframes spin { 16 | 0% { -webkit-transform: rotate(0deg); } 17 | 100% { -webkit-transform: rotate(359deg); } 18 | } 19 | @-o-keyframes spin { 20 | 0% { -o-transform: rotate(0deg); } 21 | 100% { -o-transform: rotate(359deg); } 22 | } 23 | @-ms-keyframes spin { 24 | 0% { -ms-transform: rotate(0deg); } 25 | 100% { -ms-transform: rotate(359deg); } 26 | } 27 | @keyframes spin { 28 | 0% { transform: rotate(0deg); } 29 | 100% { transform: rotate(359deg); } 30 | } 31 | 32 | 33 | .#{$ionicons-prefix}loading-a, 34 | .#{$ionicons-prefix}loading-b, 35 | .#{$ionicons-prefix}loading-c, 36 | .#{$ionicons-prefix}loading-d, 37 | .#{$ionicons-prefix}looping, 38 | .#{$ionicons-prefix}refreshing, 39 | .#{$ionicons-prefix}ios7-reloading { 40 | @extend .ion; 41 | // must spin entire element for android 4.3 and below 42 | @extend .#{$ionicons-prefix}spin; 43 | } 44 | 45 | .#{$ionicons-prefix}loading-a { 46 | -webkit-animation-timing-function: steps(8, start); 47 | -moz-animation-timing-function: steps(8, start); 48 | animation-timing-function: steps(8, start); 49 | } 50 | 51 | .#{$ionicons-prefix}loading-a:before { 52 | @extend .#{$ionicons-prefix}load-a:before; 53 | } 54 | 55 | .#{$ionicons-prefix}loading-b:before { 56 | @extend .#{$ionicons-prefix}load-b:before; 57 | } 58 | 59 | .#{$ionicons-prefix}loading-c:before { 60 | @extend .#{$ionicons-prefix}load-c:before; 61 | } 62 | 63 | .#{$ionicons-prefix}loading-d:before { 64 | @extend .#{$ionicons-prefix}load-d:before; 65 | } 66 | 67 | .#{$ionicons-prefix}looping:before { 68 | @extend .#{$ionicons-prefix}loop:before; 69 | } 70 | 71 | .#{$ionicons-prefix}refreshing:before { 72 | @extend .#{$ionicons-prefix}refresh:before; 73 | } 74 | 75 | .#{$ionicons-prefix}ios7-reloading:before { 76 | @extend .#{$ionicons-prefix}ios7-reload:before; 77 | } 78 | -------------------------------------------------------------------------------- /www/lib/moment/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 | -------------------------------------------------------------------------------- /www/lib/moment/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 | -------------------------------------------------------------------------------- /www/lib/moment/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 | -------------------------------------------------------------------------------- /www/lib/moment/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 | -------------------------------------------------------------------------------- /www/lib/moment/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 | -------------------------------------------------------------------------------- /www/lib/moment/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 | -------------------------------------------------------------------------------- /www/lib/moment/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 | -------------------------------------------------------------------------------- /www/lib/moment/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 | -------------------------------------------------------------------------------- /www/lib/moment/locale/tl-ph.js: -------------------------------------------------------------------------------- 1 | // moment.js locale configuration 2 | // locale : Tagalog/Filipino (tl-ph) 3 | // author : Dan Hagman 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('tl-ph', { 15 | months : 'Enero_Pebrero_Marso_Abril_Mayo_Hunyo_Hulyo_Agosto_Setyembre_Oktubre_Nobyembre_Disyembre'.split('_'), 16 | monthsShort : 'Ene_Peb_Mar_Abr_May_Hun_Hul_Ago_Set_Okt_Nob_Dis'.split('_'), 17 | weekdays : 'Linggo_Lunes_Martes_Miyerkules_Huwebes_Biyernes_Sabado'.split('_'), 18 | weekdaysShort : 'Lin_Lun_Mar_Miy_Huw_Biy_Sab'.split('_'), 19 | weekdaysMin : 'Li_Lu_Ma_Mi_Hu_Bi_Sab'.split('_'), 20 | longDateFormat : { 21 | LT : 'HH:mm', 22 | LTS : 'LT:ss', 23 | L : 'MM/D/YYYY', 24 | LL : 'MMMM D, YYYY', 25 | LLL : 'MMMM D, YYYY LT', 26 | LLLL : 'dddd, MMMM DD, YYYY LT' 27 | }, 28 | calendar : { 29 | sameDay: '[Ngayon sa] LT', 30 | nextDay: '[Bukas sa] LT', 31 | nextWeek: 'dddd [sa] LT', 32 | lastDay: '[Kahapon sa] LT', 33 | lastWeek: 'dddd [huling linggo] LT', 34 | sameElse: 'L' 35 | }, 36 | relativeTime : { 37 | future : 'sa loob ng %s', 38 | past : '%s ang nakalipas', 39 | s : 'ilang segundo', 40 | m : 'isang minuto', 41 | mm : '%d minuto', 42 | h : 'isang oras', 43 | hh : '%d oras', 44 | d : 'isang araw', 45 | dd : '%d araw', 46 | M : 'isang buwan', 47 | MM : '%d buwan', 48 | y : 'isang taon', 49 | yy : '%d taon' 50 | }, 51 | ordinalParse: /\d{1,2}/, 52 | ordinal : function (number) { 53 | return number; 54 | }, 55 | week : { 56 | dow : 1, // Monday is the first day of the week. 57 | doy : 4 // The week that contains Jan 4th is the first week of the year. 58 | } 59 | }); 60 | })); 61 | -------------------------------------------------------------------------------- /www/lib/moment/locale/nb.js: -------------------------------------------------------------------------------- 1 | // moment.js locale configuration 2 | // locale : norwegian bokmål (nb) 3 | // authors : Espen Hovlandsdal : https://github.com/rexxars 4 | // Sigurd Gartmann : https://github.com/sigurdga 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('nb', { 16 | months : 'januar_februar_mars_april_mai_juni_juli_august_september_oktober_november_desember'.split('_'), 17 | monthsShort : 'jan_feb_mar_apr_mai_jun_jul_aug_sep_okt_nov_des'.split('_'), 18 | weekdays : 'søndag_mandag_tirsdag_onsdag_torsdag_fredag_lørdag'.split('_'), 19 | weekdaysShort : 'søn_man_tirs_ons_tors_fre_lør'.split('_'), 20 | weekdaysMin : 'sø_ma_ti_on_to_fr_lø'.split('_'), 21 | longDateFormat : { 22 | LT : 'H.mm', 23 | LTS : 'LT.ss', 24 | L : 'DD.MM.YYYY', 25 | LL : 'D. MMMM YYYY', 26 | LLL : 'D. MMMM YYYY [kl.] LT', 27 | LLLL : 'dddd D. MMMM YYYY [kl.] LT' 28 | }, 29 | calendar : { 30 | sameDay: '[i dag kl.] LT', 31 | nextDay: '[i morgen kl.] LT', 32 | nextWeek: 'dddd [kl.] LT', 33 | lastDay: '[i går kl.] LT', 34 | lastWeek: '[forrige] dddd [kl.] LT', 35 | sameElse: 'L' 36 | }, 37 | relativeTime : { 38 | future : 'om %s', 39 | past : 'for %s siden', 40 | s : 'noen sekunder', 41 | m : 'ett minutt', 42 | mm : '%d minutter', 43 | h : 'en time', 44 | hh : '%d timer', 45 | d : 'en dag', 46 | dd : '%d dager', 47 | M : 'en måned', 48 | MM : '%d måneder', 49 | y : 'ett år', 50 | yy : '%d år' 51 | }, 52 | ordinalParse: /\d{1,2}\./, 53 | ordinal : '%d.', 54 | week : { 55 | dow : 1, // Monday is the first day of the week. 56 | doy : 4 // The week that contains Jan 4th is the first week of the year. 57 | } 58 | }); 59 | })); 60 | -------------------------------------------------------------------------------- /www/lib/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 | Note that this package is not in CommonJS format, so doing `require('angular')` will return `undefined`. 24 | If you're using [Browserify](https://github.com/substack/node-browserify), you can use 25 | [exposify](https://github.com/thlorenz/exposify) to have `require('angular')` return the `angular` 26 | global. 27 | 28 | ### bower 29 | 30 | ```shell 31 | bower install angular 32 | ``` 33 | 34 | Then add a ` 38 | ``` 39 | 40 | ## Documentation 41 | 42 | Documentation is available on the 43 | [AngularJS docs site](http://docs.angularjs.org/). 44 | 45 | ## License 46 | 47 | The MIT License 48 | 49 | Copyright (c) 2010-2012 Google, Inc. http://angularjs.org 50 | 51 | Permission is hereby granted, free of charge, to any person obtaining a copy 52 | of this software and associated documentation files (the "Software"), to deal 53 | in the Software without restriction, including without limitation the rights 54 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 55 | copies of the Software, and to permit persons to whom the Software is 56 | furnished to do so, subject to the following conditions: 57 | 58 | The above copyright notice and this permission notice shall be included in 59 | all copies or substantial portions of the Software. 60 | 61 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 62 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 63 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 64 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 65 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 66 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN 67 | THE SOFTWARE. 68 | -------------------------------------------------------------------------------- /www/lib/moment/locale/fr.js: -------------------------------------------------------------------------------- 1 | // moment.js locale configuration 2 | // locale : french (fr) 3 | // author : John Fischer : https://github.com/jfroffice 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', { 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 : '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: '[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 | week : { 56 | dow : 1, // Monday is the first day of the week. 57 | doy : 4 // The week that contains Jan 4th is the first week of the year. 58 | } 59 | }); 60 | })); 61 | -------------------------------------------------------------------------------- /www/lib/angular-ui-router/src/view.js: -------------------------------------------------------------------------------- 1 | 2 | $ViewProvider.$inject = []; 3 | function $ViewProvider() { 4 | 5 | this.$get = $get; 6 | /** 7 | * @ngdoc object 8 | * @name ui.router.state.$view 9 | * 10 | * @requires ui.router.util.$templateFactory 11 | * @requires $rootScope 12 | * 13 | * @description 14 | * 15 | */ 16 | $get.$inject = ['$rootScope', '$templateFactory']; 17 | function $get( $rootScope, $templateFactory) { 18 | return { 19 | // $view.load('full.viewName', { template: ..., controller: ..., resolve: ..., async: false, params: ... }) 20 | /** 21 | * @ngdoc function 22 | * @name ui.router.state.$view#load 23 | * @methodOf ui.router.state.$view 24 | * 25 | * @description 26 | * 27 | * @param {string} name name 28 | * @param {object} options option object. 29 | */ 30 | load: function load(name, options) { 31 | var result, defaults = { 32 | template: null, controller: null, view: null, locals: null, notify: true, async: true, params: {} 33 | }; 34 | options = extend(defaults, options); 35 | 36 | if (options.view) { 37 | result = $templateFactory.fromConfig(options.view, options.params, options.locals); 38 | } 39 | if (result && options.notify) { 40 | /** 41 | * @ngdoc event 42 | * @name ui.router.state.$state#$viewContentLoading 43 | * @eventOf ui.router.state.$view 44 | * @eventType broadcast on root scope 45 | * @description 46 | * 47 | * Fired once the view **begins loading**, *before* the DOM is rendered. 48 | * 49 | * @param {Object} event Event object. 50 | * @param {Object} viewConfig The view config properties (template, controller, etc). 51 | * 52 | * @example 53 | * 54 | *
55 |          * $scope.$on('$viewContentLoading',
56 |          * function(event, viewConfig){
57 |          *     // Access to all the view config properties.
58 |          *     // and one special property 'targetView'
59 |          *     // viewConfig.targetView
60 |          * });
61 |          * 
62 | */ 63 | $rootScope.$broadcast('$viewContentLoading', options); 64 | } 65 | return result; 66 | } 67 | }; 68 | } 69 | } 70 | 71 | angular.module('ui.router.state').provider('$view', $ViewProvider); 72 | -------------------------------------------------------------------------------- /www/lib/moment/locale/pt-br.js: -------------------------------------------------------------------------------- 1 | // moment.js locale configuration 2 | // locale : brazilian portuguese (pt-br) 3 | // author : Caio Ribeiro Pereira : https://github.com/caio-ribeiro-pereira 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('pt-br', { 15 | months : 'janeiro_fevereiro_março_abril_maio_junho_julho_agosto_setembro_outubro_novembro_dezembro'.split('_'), 16 | monthsShort : 'jan_fev_mar_abr_mai_jun_jul_ago_set_out_nov_dez'.split('_'), 17 | weekdays : 'domingo_segunda-feira_terça-feira_quarta-feira_quinta-feira_sexta-feira_sábado'.split('_'), 18 | weekdaysShort : 'dom_seg_ter_qua_qui_sex_sáb'.split('_'), 19 | weekdaysMin : 'dom_2ª_3ª_4ª_5ª_6ª_sáb'.split('_'), 20 | longDateFormat : { 21 | LT : 'HH:mm', 22 | LTS : 'LT:ss', 23 | L : 'DD/MM/YYYY', 24 | LL : 'D [de] MMMM [de] YYYY', 25 | LLL : 'D [de] MMMM [de] YYYY [às] LT', 26 | LLLL : 'dddd, D [de] MMMM [de] YYYY [às] LT' 27 | }, 28 | calendar : { 29 | sameDay: '[Hoje às] LT', 30 | nextDay: '[Amanhã às] LT', 31 | nextWeek: 'dddd [às] LT', 32 | lastDay: '[Ontem às] LT', 33 | lastWeek: function () { 34 | return (this.day() === 0 || this.day() === 6) ? 35 | '[Último] dddd [às] LT' : // Saturday + Sunday 36 | '[Última] dddd [às] LT'; // Monday - Friday 37 | }, 38 | sameElse: 'L' 39 | }, 40 | relativeTime : { 41 | future : 'em %s', 42 | past : '%s atrás', 43 | s : 'segundos', 44 | m : 'um minuto', 45 | mm : '%d minutos', 46 | h : 'uma hora', 47 | hh : '%d horas', 48 | d : 'um dia', 49 | dd : '%d dias', 50 | M : 'um mês', 51 | MM : '%d meses', 52 | y : 'um ano', 53 | yy : '%d anos' 54 | }, 55 | ordinalParse: /\d{1,2}º/, 56 | ordinal : '%dº' 57 | }); 58 | })); 59 | -------------------------------------------------------------------------------- /www/lib/moment/locale/en-ca.js: -------------------------------------------------------------------------------- 1 | // moment.js locale configuration 2 | // locale : canadian english (en-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('en-ca', { 15 | months : 'January_February_March_April_May_June_July_August_September_October_November_December'.split('_'), 16 | monthsShort : 'Jan_Feb_Mar_Apr_May_Jun_Jul_Aug_Sep_Oct_Nov_Dec'.split('_'), 17 | weekdays : 'Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday'.split('_'), 18 | weekdaysShort : 'Sun_Mon_Tue_Wed_Thu_Fri_Sat'.split('_'), 19 | weekdaysMin : 'Su_Mo_Tu_We_Th_Fr_Sa'.split('_'), 20 | longDateFormat : { 21 | LT : 'h:mm A', 22 | LTS : 'h:mm:ss A', 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 : '[Today at] LT', 30 | nextDay : '[Tomorrow at] LT', 31 | nextWeek : 'dddd [at] LT', 32 | lastDay : '[Yesterday at] LT', 33 | lastWeek : '[Last] dddd [at] LT', 34 | sameElse : 'L' 35 | }, 36 | relativeTime : { 37 | future : 'in %s', 38 | past : '%s ago', 39 | s : 'a few seconds', 40 | m : 'a minute', 41 | mm : '%d minutes', 42 | h : 'an hour', 43 | hh : '%d hours', 44 | d : 'a day', 45 | dd : '%d days', 46 | M : 'a month', 47 | MM : '%d months', 48 | y : 'a year', 49 | yy : '%d years' 50 | }, 51 | ordinalParse: /\d{1,2}(st|nd|rd|th)/, 52 | ordinal : function (number) { 53 | var b = number % 10, 54 | output = (~~(number % 100 / 10) === 1) ? 'th' : 55 | (b === 1) ? 'st' : 56 | (b === 2) ? 'nd' : 57 | (b === 3) ? 'rd' : 'th'; 58 | return number + output; 59 | } 60 | }); 61 | })); 62 | -------------------------------------------------------------------------------- /www/lib/moment/locale/vi.js: -------------------------------------------------------------------------------- 1 | // moment.js locale configuration 2 | // locale : vietnamese (vi) 3 | // author : Bang Nguyen : https://github.com/bangnk 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('vi', { 15 | months : 'tháng 1_tháng 2_tháng 3_tháng 4_tháng 5_tháng 6_tháng 7_tháng 8_tháng 9_tháng 10_tháng 11_tháng 12'.split('_'), 16 | monthsShort : 'Th01_Th02_Th03_Th04_Th05_Th06_Th07_Th08_Th09_Th10_Th11_Th12'.split('_'), 17 | weekdays : 'chủ nhật_thứ hai_thứ ba_thứ tư_thứ năm_thứ sáu_thứ bảy'.split('_'), 18 | weekdaysShort : 'CN_T2_T3_T4_T5_T6_T7'.split('_'), 19 | weekdaysMin : 'CN_T2_T3_T4_T5_T6_T7'.split('_'), 20 | longDateFormat : { 21 | LT : 'HH:mm', 22 | LTS : 'LT:ss', 23 | L : 'DD/MM/YYYY', 24 | LL : 'D MMMM [năm] YYYY', 25 | LLL : 'D MMMM [năm] YYYY LT', 26 | LLLL : 'dddd, D MMMM [năm] YYYY LT', 27 | l : 'DD/M/YYYY', 28 | ll : 'D MMM YYYY', 29 | lll : 'D MMM YYYY LT', 30 | llll : 'ddd, D MMM YYYY LT' 31 | }, 32 | calendar : { 33 | sameDay: '[Hôm nay lúc] LT', 34 | nextDay: '[Ngày mai lúc] LT', 35 | nextWeek: 'dddd [tuần tới lúc] LT', 36 | lastDay: '[Hôm qua lúc] LT', 37 | lastWeek: 'dddd [tuần rồi lúc] LT', 38 | sameElse: 'L' 39 | }, 40 | relativeTime : { 41 | future : '%s tới', 42 | past : '%s trước', 43 | s : 'vài giây', 44 | m : 'một phút', 45 | mm : '%d phút', 46 | h : 'một giờ', 47 | hh : '%d giờ', 48 | d : 'một ngày', 49 | dd : '%d ngày', 50 | M : 'một tháng', 51 | MM : '%d tháng', 52 | y : 'một năm', 53 | yy : '%d năm' 54 | }, 55 | ordinalParse: /\d{1,2}/, 56 | ordinal : function (number) { 57 | return number; 58 | }, 59 | week : { 60 | dow : 1, // Monday is the first day of the week. 61 | doy : 4 // The week that contains Jan 4th is the first week of the year. 62 | } 63 | }); 64 | })); 65 | -------------------------------------------------------------------------------- /www/lib/moment/locale/pt.js: -------------------------------------------------------------------------------- 1 | // moment.js locale configuration 2 | // locale : portuguese (pt) 3 | // author : Jefferson : https://github.com/jalex79 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('pt', { 15 | months : 'janeiro_fevereiro_março_abril_maio_junho_julho_agosto_setembro_outubro_novembro_dezembro'.split('_'), 16 | monthsShort : 'jan_fev_mar_abr_mai_jun_jul_ago_set_out_nov_dez'.split('_'), 17 | weekdays : 'domingo_segunda-feira_terça-feira_quarta-feira_quinta-feira_sexta-feira_sábado'.split('_'), 18 | weekdaysShort : 'dom_seg_ter_qua_qui_sex_sáb'.split('_'), 19 | weekdaysMin : 'dom_2ª_3ª_4ª_5ª_6ª_sáb'.split('_'), 20 | longDateFormat : { 21 | LT : 'HH:mm', 22 | LTS : 'LT:ss', 23 | L : 'DD/MM/YYYY', 24 | LL : 'D [de] MMMM [de] YYYY', 25 | LLL : 'D [de] MMMM [de] YYYY LT', 26 | LLLL : 'dddd, D [de] MMMM [de] YYYY LT' 27 | }, 28 | calendar : { 29 | sameDay: '[Hoje às] LT', 30 | nextDay: '[Amanhã às] LT', 31 | nextWeek: 'dddd [às] LT', 32 | lastDay: '[Ontem às] LT', 33 | lastWeek: function () { 34 | return (this.day() === 0 || this.day() === 6) ? 35 | '[Último] dddd [às] LT' : // Saturday + Sunday 36 | '[Última] dddd [às] LT'; // Monday - Friday 37 | }, 38 | sameElse: 'L' 39 | }, 40 | relativeTime : { 41 | future : 'em %s', 42 | past : 'há %s', 43 | s : 'segundos', 44 | m : 'um minuto', 45 | mm : '%d minutos', 46 | h : 'uma hora', 47 | hh : '%d horas', 48 | d : 'um dia', 49 | dd : '%d dias', 50 | M : 'um mês', 51 | MM : '%d meses', 52 | y : 'um ano', 53 | yy : '%d anos' 54 | }, 55 | ordinalParse: /\d{1,2}º/, 56 | ordinal : '%dº', 57 | week : { 58 | dow : 1, // Monday is the first day of the week. 59 | doy : 4 // The week that contains Jan 4th is the first week of the year. 60 | } 61 | }); 62 | })); 63 | -------------------------------------------------------------------------------- /www/lib/moment/locale/th.js: -------------------------------------------------------------------------------- 1 | // moment.js locale configuration 2 | // locale : thai (th) 3 | // author : Kridsada Thanabulpong : https://github.com/sirn 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('th', { 15 | months : 'มกราคม_กุมภาพันธ์_มีนาคม_เมษายน_พฤษภาคม_มิถุนายน_กรกฎาคม_สิงหาคม_กันยายน_ตุลาคม_พฤศจิกายน_ธันวาคม'.split('_'), 16 | monthsShort : 'มกรา_กุมภา_มีนา_เมษา_พฤษภา_มิถุนา_กรกฎา_สิงหา_กันยา_ตุลา_พฤศจิกา_ธันวา'.split('_'), 17 | weekdays : 'อาทิตย์_จันทร์_อังคาร_พุธ_พฤหัสบดี_ศุกร์_เสาร์'.split('_'), 18 | weekdaysShort : 'อาทิตย์_จันทร์_อังคาร_พุธ_พฤหัส_ศุกร์_เสาร์'.split('_'), // yes, three characters difference 19 | weekdaysMin : 'อา._จ._อ._พ._พฤ._ศ._ส.'.split('_'), 20 | longDateFormat : { 21 | LT : 'H นาฬิกา m นาที', 22 | LTS : 'LT s วินาที', 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 | meridiemParse: /ก่อนเที่ยง|หลังเที่ยง/, 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 | -------------------------------------------------------------------------------- /www/lib/moment/locale/eu.js: -------------------------------------------------------------------------------- 1 | // moment.js locale configuration 2 | // locale : euskara (eu) 3 | // author : Eneko Illarramendi : https://github.com/eillarra 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('eu', { 15 | months : 'urtarrila_otsaila_martxoa_apirila_maiatza_ekaina_uztaila_abuztua_iraila_urria_azaroa_abendua'.split('_'), 16 | monthsShort : 'urt._ots._mar._api._mai._eka._uzt._abu._ira._urr._aza._abe.'.split('_'), 17 | weekdays : 'igandea_astelehena_asteartea_asteazkena_osteguna_ostirala_larunbata'.split('_'), 18 | weekdaysShort : 'ig._al._ar._az._og._ol._lr.'.split('_'), 19 | weekdaysMin : 'ig_al_ar_az_og_ol_lr'.split('_'), 20 | longDateFormat : { 21 | LT : 'HH:mm', 22 | LTS : 'LT:ss', 23 | L : 'YYYY-MM-DD', 24 | LL : 'YYYY[ko] MMMM[ren] D[a]', 25 | LLL : 'YYYY[ko] MMMM[ren] D[a] LT', 26 | LLLL : 'dddd, YYYY[ko] MMMM[ren] D[a] LT', 27 | l : 'YYYY-M-D', 28 | ll : 'YYYY[ko] MMM D[a]', 29 | lll : 'YYYY[ko] MMM D[a] LT', 30 | llll : 'ddd, YYYY[ko] MMM D[a] LT' 31 | }, 32 | calendar : { 33 | sameDay : '[gaur] LT[etan]', 34 | nextDay : '[bihar] LT[etan]', 35 | nextWeek : 'dddd LT[etan]', 36 | lastDay : '[atzo] LT[etan]', 37 | lastWeek : '[aurreko] dddd LT[etan]', 38 | sameElse : 'L' 39 | }, 40 | relativeTime : { 41 | future : '%s barru', 42 | past : 'duela %s', 43 | s : 'segundo batzuk', 44 | m : 'minutu bat', 45 | mm : '%d minutu', 46 | h : 'ordu bat', 47 | hh : '%d ordu', 48 | d : 'egun bat', 49 | dd : '%d egun', 50 | M : 'hilabete bat', 51 | MM : '%d hilabete', 52 | y : 'urte bat', 53 | yy : '%d urte' 54 | }, 55 | ordinalParse: /\d{1,2}\./, 56 | ordinal : '%d.', 57 | week : { 58 | dow : 1, // Monday is the first day of the week. 59 | doy : 7 // The week that contains Jan 1st is the first week of the year. 60 | } 61 | }); 62 | })); 63 | -------------------------------------------------------------------------------- /www/lib/moment/locale/sv.js: -------------------------------------------------------------------------------- 1 | // moment.js locale configuration 2 | // locale : swedish (sv) 3 | // author : Jens Alm : https://github.com/ulmus 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('sv', { 15 | months : 'januari_februari_mars_april_maj_juni_juli_augusti_september_oktober_november_december'.split('_'), 16 | monthsShort : 'jan_feb_mar_apr_maj_jun_jul_aug_sep_okt_nov_dec'.split('_'), 17 | weekdays : 'söndag_måndag_tisdag_onsdag_torsdag_fredag_lördag'.split('_'), 18 | weekdaysShort : 'sön_mån_tis_ons_tor_fre_lör'.split('_'), 19 | weekdaysMin : 'sö_må_ti_on_to_fr_lö'.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: '[Idag] LT', 30 | nextDay: '[Imorgon] LT', 31 | lastDay: '[Igår] LT', 32 | nextWeek: 'dddd LT', 33 | lastWeek: '[Förra] dddd[en] LT', 34 | sameElse: 'L' 35 | }, 36 | relativeTime : { 37 | future : 'om %s', 38 | past : 'för %s sedan', 39 | s : 'några sekunder', 40 | m : 'en minut', 41 | mm : '%d minuter', 42 | h : 'en timme', 43 | hh : '%d timmar', 44 | d : 'en dag', 45 | dd : '%d dagar', 46 | M : 'en månad', 47 | MM : '%d månader', 48 | y : 'ett år', 49 | yy : '%d år' 50 | }, 51 | ordinalParse: /\d{1,2}(e|a)/, 52 | ordinal : function (number) { 53 | var b = number % 10, 54 | output = (~~(number % 100 / 10) === 1) ? 'e' : 55 | (b === 1) ? 'a' : 56 | (b === 2) ? 'a' : 57 | (b === 3) ? 'e' : 'e'; 58 | return number + output; 59 | }, 60 | week : { 61 | dow : 1, // Monday is the first day of the week. 62 | doy : 4 // The week that contains Jan 4th is the first week of the year. 63 | } 64 | }); 65 | })); 66 | -------------------------------------------------------------------------------- /www/lib/moment/locale/cv.js: -------------------------------------------------------------------------------- 1 | // moment.js locale configuration 2 | // locale : chuvash (cv) 3 | // author : Anatoly Mironov : https://github.com/mirontoli 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('cv', { 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 : 'YYYY [çулхи] MMMM [уйăхĕн] D[-мĕшĕ]', 25 | LLL : 'YYYY [çулхи] MMMM [уйăхĕн] D[-мĕшĕ], LT', 26 | LLLL : 'dddd, YYYY [çулхи] MMMM [уйăхĕн] D[-мĕшĕ], LT' 27 | }, 28 | calendar : { 29 | sameDay: '[Паян] LT [сехетре]', 30 | nextDay: '[Ыран] LT [сехетре]', 31 | lastDay: '[Ĕнер] LT [сехетре]', 32 | nextWeek: '[Çитес] dddd LT [сехетре]', 33 | lastWeek: '[Иртнĕ] dddd LT [сехетре]', 34 | sameElse: 'L' 35 | }, 36 | relativeTime : { 37 | future : function (output) { 38 | var affix = /сехет$/i.exec(output) ? 'рен' : /çул$/i.exec(output) ? 'тан' : 'ран'; 39 | return output + affix; 40 | }, 41 | past : '%s каялла', 42 | s : 'пĕр-ик çеккунт', 43 | m : 'пĕр минут', 44 | mm : '%d минут', 45 | h : 'пĕр сехет', 46 | hh : '%d сехет', 47 | d : 'пĕр кун', 48 | dd : '%d кун', 49 | M : 'пĕр уйăх', 50 | MM : '%d уйăх', 51 | y : 'пĕр çул', 52 | yy : '%d çул' 53 | }, 54 | ordinalParse: /\d{1,2}-мĕш/, 55 | ordinal : '%d-мĕш', 56 | week : { 57 | dow : 1, // Monday is the first day of the week. 58 | doy : 7 // The week that contains Jan 1st is the first week of the year. 59 | } 60 | }); 61 | })); 62 | -------------------------------------------------------------------------------- /www/lib/moment/locale/en-au.js: -------------------------------------------------------------------------------- 1 | // moment.js locale configuration 2 | // locale : australian english (en-au) 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('en-au', { 14 | months : 'January_February_March_April_May_June_July_August_September_October_November_December'.split('_'), 15 | monthsShort : 'Jan_Feb_Mar_Apr_May_Jun_Jul_Aug_Sep_Oct_Nov_Dec'.split('_'), 16 | weekdays : 'Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday'.split('_'), 17 | weekdaysShort : 'Sun_Mon_Tue_Wed_Thu_Fri_Sat'.split('_'), 18 | weekdaysMin : 'Su_Mo_Tu_We_Th_Fr_Sa'.split('_'), 19 | longDateFormat : { 20 | LT : 'h:mm A', 21 | LTS : 'h:mm:ss A', 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 : '[Today at] LT', 29 | nextDay : '[Tomorrow at] LT', 30 | nextWeek : 'dddd [at] LT', 31 | lastDay : '[Yesterday at] LT', 32 | lastWeek : '[Last] dddd [at] LT', 33 | sameElse : 'L' 34 | }, 35 | relativeTime : { 36 | future : 'in %s', 37 | past : '%s ago', 38 | s : 'a few seconds', 39 | m : 'a minute', 40 | mm : '%d minutes', 41 | h : 'an hour', 42 | hh : '%d hours', 43 | d : 'a day', 44 | dd : '%d days', 45 | M : 'a month', 46 | MM : '%d months', 47 | y : 'a year', 48 | yy : '%d years' 49 | }, 50 | ordinalParse: /\d{1,2}(st|nd|rd|th)/, 51 | ordinal : function (number) { 52 | var b = number % 10, 53 | output = (~~(number % 100 / 10) === 1) ? 'th' : 54 | (b === 1) ? 'st' : 55 | (b === 2) ? 'nd' : 56 | (b === 3) ? 'rd' : 'th'; 57 | return number + output; 58 | }, 59 | week : { 60 | dow : 1, // Monday is the first day of the week. 61 | doy : 4 // The week that contains Jan 4th is the first week of the year. 62 | } 63 | }); 64 | })); 65 | -------------------------------------------------------------------------------- /www/lib/angular-animate/README.md: -------------------------------------------------------------------------------- 1 | # packaged angular-animate 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/ngAnimate). 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-animate 15 | ``` 16 | 17 | Add a ` 21 | ``` 22 | 23 | Then add `ngAnimate` as a dependency for your app: 24 | 25 | ```javascript 26 | angular.module('myApp', ['ngAnimate']); 27 | ``` 28 | 29 | Note that this package is not in CommonJS format, so doing `require('angular-animate')` will 30 | return `undefined`. 31 | 32 | ### bower 33 | 34 | ```shell 35 | bower install angular-animate 36 | ``` 37 | 38 | Then add a ` 42 | ``` 43 | 44 | Then add `ngAnimate` as a dependency for your app: 45 | 46 | ```javascript 47 | angular.module('myApp', ['ngAnimate']); 48 | ``` 49 | 50 | ## Documentation 51 | 52 | Documentation is available on the 53 | [AngularJS docs site](http://docs.angularjs.org/api/ngAnimate). 54 | 55 | ## License 56 | 57 | The MIT License 58 | 59 | Copyright (c) 2010-2012 Google, Inc. http://angularjs.org 60 | 61 | Permission is hereby granted, free of charge, to any person obtaining a copy 62 | of this software and associated documentation files (the "Software"), to deal 63 | in the Software without restriction, including without limitation the rights 64 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 65 | copies of the Software, and to permit persons to whom the Software is 66 | furnished to do so, subject to the following conditions: 67 | 68 | The above copyright notice and this permission notice shall be included in 69 | all copies or substantial portions of the Software. 70 | 71 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 72 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 73 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 74 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 75 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 76 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN 77 | THE SOFTWARE. 78 | -------------------------------------------------------------------------------- /www/lib/angular-sanitize/README.md: -------------------------------------------------------------------------------- 1 | # packaged angular-sanitize 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/ngSanitize). 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-sanitize 15 | ``` 16 | 17 | Add a ` 21 | ``` 22 | 23 | Then add `ngSanitize` as a dependency for your app: 24 | 25 | ```javascript 26 | angular.module('myApp', ['ngSanitize']); 27 | ``` 28 | 29 | Note that this package is not in CommonJS format, so doing `require('angular-sanitize')` will 30 | return `undefined`. 31 | 32 | ### bower 33 | 34 | ```shell 35 | bower install angular-sanitize 36 | ``` 37 | 38 | Add a ` 42 | ``` 43 | 44 | Then add `ngSanitize` as a dependency for your app: 45 | 46 | ```javascript 47 | angular.module('myApp', ['ngSanitize']); 48 | ``` 49 | 50 | ## Documentation 51 | 52 | Documentation is available on the 53 | [AngularJS docs site](http://docs.angularjs.org/api/ngSanitize). 54 | 55 | ## License 56 | 57 | The MIT License 58 | 59 | Copyright (c) 2010-2012 Google, Inc. http://angularjs.org 60 | 61 | Permission is hereby granted, free of charge, to any person obtaining a copy 62 | of this software and associated documentation files (the "Software"), to deal 63 | in the Software without restriction, including without limitation the rights 64 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 65 | copies of the Software, and to permit persons to whom the Software is 66 | furnished to do so, subject to the following conditions: 67 | 68 | The above copyright notice and this permission notice shall be included in 69 | all copies or substantial portions of the Software. 70 | 71 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 72 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 73 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 74 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 75 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 76 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN 77 | THE SOFTWARE. 78 | -------------------------------------------------------------------------------- /www/lib/ionic/scss/_popup.scss: -------------------------------------------------------------------------------- 1 | 2 | /** 3 | * Popups 4 | * -------------------------------------------------- 5 | */ 6 | 7 | .popup-container { 8 | position: absolute; 9 | top: 0; 10 | left: 0; 11 | bottom: 0; 12 | right: 0; 13 | background: rgba(0,0,0,0); 14 | 15 | @include display-flex(); 16 | @include justify-content(center); 17 | @include align-items(center); 18 | 19 | z-index: $z-index-popup; 20 | 21 | // Start hidden 22 | visibility: hidden; 23 | &.popup-showing { 24 | visibility: visible; 25 | } 26 | 27 | &.popup-hidden .popup { 28 | @include animation-name(scaleOut); 29 | @include animation-duration($popup-leave-animation-duration); 30 | @include animation-timing-function(ease-in-out); 31 | @include animation-fill-mode(both); 32 | } 33 | 34 | &.active .popup { 35 | @include animation-name(superScaleIn); 36 | @include animation-duration($popup-enter-animation-duration); 37 | @include animation-timing-function(ease-in-out); 38 | @include animation-fill-mode(both); 39 | } 40 | 41 | .popup { 42 | width: $popup-width; 43 | max-width: 100%; 44 | max-height: 90%; 45 | 46 | border-radius: $popup-border-radius; 47 | background-color: $popup-background-color; 48 | 49 | @include display-flex(); 50 | @include flex-direction(column); 51 | } 52 | 53 | input, 54 | textarea { 55 | width: 100%; 56 | } 57 | } 58 | 59 | .popup-head { 60 | padding: 15px 10px; 61 | border-bottom: 1px solid #eee; 62 | text-align: center; 63 | } 64 | .popup-title { 65 | margin: 0; 66 | padding: 0; 67 | font-size: 15px; 68 | } 69 | .popup-sub-title { 70 | margin: 5px 0 0 0; 71 | padding: 0; 72 | font-weight: normal; 73 | font-size: 11px; 74 | } 75 | .popup-body { 76 | padding: 10px; 77 | overflow: scroll; 78 | } 79 | 80 | .popup-buttons { 81 | @include display-flex(); 82 | @include flex-direction(row); 83 | padding: 10px; 84 | min-height: $popup-button-min-height + 20; 85 | 86 | .button { 87 | @include flex(1); 88 | display: block; 89 | min-height: $popup-button-min-height; 90 | border-radius: $popup-button-border-radius; 91 | line-height: $popup-button-line-height; 92 | 93 | margin-right: 5px; 94 | &:last-child { 95 | margin-right: 0px; 96 | } 97 | } 98 | } 99 | 100 | .popup-open { 101 | pointer-events: none; 102 | 103 | &.modal-open .modal { 104 | pointer-events: none; 105 | } 106 | 107 | .popup-backdrop, .popup { 108 | pointer-events: auto; 109 | } 110 | } 111 | -------------------------------------------------------------------------------- /www/lib/moment/locale/en-gb.js: -------------------------------------------------------------------------------- 1 | // moment.js locale configuration 2 | // locale : great britain english (en-gb) 3 | // author : Chris Gedrim : https://github.com/chrisgedrim 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('en-gb', { 15 | months : 'January_February_March_April_May_June_July_August_September_October_November_December'.split('_'), 16 | monthsShort : 'Jan_Feb_Mar_Apr_May_Jun_Jul_Aug_Sep_Oct_Nov_Dec'.split('_'), 17 | weekdays : 'Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday'.split('_'), 18 | weekdaysShort : 'Sun_Mon_Tue_Wed_Thu_Fri_Sat'.split('_'), 19 | weekdaysMin : 'Su_Mo_Tu_We_Th_Fr_Sa'.split('_'), 20 | longDateFormat : { 21 | LT : 'HH:mm', 22 | LTS : 'HH:mm: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 : '[Today at] LT', 30 | nextDay : '[Tomorrow at] LT', 31 | nextWeek : 'dddd [at] LT', 32 | lastDay : '[Yesterday at] LT', 33 | lastWeek : '[Last] dddd [at] LT', 34 | sameElse : 'L' 35 | }, 36 | relativeTime : { 37 | future : 'in %s', 38 | past : '%s ago', 39 | s : 'a few seconds', 40 | m : 'a minute', 41 | mm : '%d minutes', 42 | h : 'an hour', 43 | hh : '%d hours', 44 | d : 'a day', 45 | dd : '%d days', 46 | M : 'a month', 47 | MM : '%d months', 48 | y : 'a year', 49 | yy : '%d years' 50 | }, 51 | ordinalParse: /\d{1,2}(st|nd|rd|th)/, 52 | ordinal : function (number) { 53 | var b = number % 10, 54 | output = (~~(number % 100 / 10) === 1) ? 'th' : 55 | (b === 1) ? 'st' : 56 | (b === 2) ? 'nd' : 57 | (b === 3) ? 'rd' : 'th'; 58 | return number + output; 59 | }, 60 | week : { 61 | dow : 1, // Monday is the first day of the week. 62 | doy : 4 // The week that contains Jan 4th is the first week of the year. 63 | } 64 | }); 65 | })); 66 | -------------------------------------------------------------------------------- /www/lib/ionic/scss/_modal.scss: -------------------------------------------------------------------------------- 1 | 2 | /** 3 | * Modals 4 | * -------------------------------------------------- 5 | * Modals are independent windows that slide in from off-screen. 6 | */ 7 | 8 | .modal-backdrop, 9 | .modal-backdrop-bg { 10 | position: fixed; 11 | top: 0; 12 | left: 0; 13 | z-index: $z-index-modal; 14 | width: 100%; 15 | height: 100%; 16 | } 17 | 18 | .modal-backdrop-bg { 19 | pointer-events: none; 20 | } 21 | 22 | .modal { 23 | display: block; 24 | position: absolute; 25 | top: 0; 26 | z-index: $z-index-modal; 27 | overflow: hidden; 28 | min-height: 100%; 29 | width: 100%; 30 | background-color: $modal-bg-color; 31 | } 32 | 33 | @media (min-width: $modal-inset-mode-break-point) { 34 | // inset mode is when the modal doesn't fill the entire 35 | // display but instead is centered within a large display 36 | .modal { 37 | top: $modal-inset-mode-top; 38 | right: $modal-inset-mode-right; 39 | bottom: $modal-inset-mode-bottom; 40 | left: $modal-inset-mode-left; 41 | overflow: visible; 42 | min-height: $modal-inset-mode-min-height; 43 | width: (100% - $modal-inset-mode-left - $modal-inset-mode-right); 44 | } 45 | 46 | .modal.ng-leave-active { 47 | bottom: 0; 48 | } 49 | 50 | // remove ios header padding from inset header 51 | .platform-ios.platform-cordova .modal-wrapper .modal { 52 | .bar-header:not(.bar-subheader) { 53 | height: $bar-height; 54 | > * { 55 | margin-top: 0; 56 | } 57 | } 58 | .tabs-top > .tabs, 59 | .tabs.tabs-top { 60 | top: $bar-height; 61 | } 62 | .has-header, 63 | .bar-subheader { 64 | top: $bar-height; 65 | } 66 | .has-subheader { 67 | top: $bar-height + $bar-subheader-height; 68 | } 69 | .has-tabs-top { 70 | top: $bar-height + $tabs-height; 71 | } 72 | .has-header.has-subheader.has-tabs-top { 73 | top: $bar-height + $bar-subheader-height + $tabs-height; 74 | } 75 | } 76 | 77 | .modal-backdrop-bg { 78 | @include transition(opacity 300ms ease-in-out); 79 | background-color: $modal-backdrop-bg-active; 80 | opacity: 0; 81 | } 82 | 83 | .active .modal-backdrop-bg { 84 | opacity: 0.5; 85 | } 86 | } 87 | 88 | // disable clicks on all but the modal 89 | .modal-open { 90 | pointer-events: none; 91 | 92 | .modal, 93 | .modal-backdrop { 94 | pointer-events: auto; 95 | } 96 | // prevent clicks on modal when loading overlay is active though 97 | &.loading-active { 98 | .modal, 99 | .modal-backdrop { 100 | pointer-events: none; 101 | } 102 | } 103 | } 104 | -------------------------------------------------------------------------------- /www/lib/moment/locale/sq.js: -------------------------------------------------------------------------------- 1 | // moment.js locale configuration 2 | // locale : Albanian (sq) 3 | // author : Flakërim Ismani : https://github.com/flakerimi 4 | // author: Menelion Elensúle: https://github.com/Oire (tests) 5 | // author : Oerd Cukalla : https://github.com/oerd (fixes) 6 | 7 | (function (factory) { 8 | if (typeof define === 'function' && define.amd) { 9 | define(['moment'], factory); // AMD 10 | } else if (typeof exports === 'object') { 11 | module.exports = factory(require('../moment')); // Node 12 | } else { 13 | factory((typeof global !== 'undefined' ? global : this).moment); // node or other global 14 | } 15 | }(function (moment) { 16 | return moment.defineLocale('sq', { 17 | months : 'Janar_Shkurt_Mars_Prill_Maj_Qershor_Korrik_Gusht_Shtator_Tetor_Nëntor_Dhjetor'.split('_'), 18 | monthsShort : 'Jan_Shk_Mar_Pri_Maj_Qer_Kor_Gus_Sht_Tet_Nën_Dhj'.split('_'), 19 | weekdays : 'E Diel_E Hënë_E Martë_E Mërkurë_E Enjte_E Premte_E Shtunë'.split('_'), 20 | weekdaysShort : 'Die_Hën_Mar_Mër_Enj_Pre_Sht'.split('_'), 21 | weekdaysMin : 'D_H_Ma_Më_E_P_Sh'.split('_'), 22 | meridiemParse: /PD|MD/, 23 | isPM: function (input) { 24 | return input.charAt(0) === 'M'; 25 | }, 26 | meridiem : function (hours, minutes, isLower) { 27 | return hours < 12 ? 'PD' : 'MD'; 28 | }, 29 | longDateFormat : { 30 | LT : 'HH:mm', 31 | LTS : 'LT:ss', 32 | L : 'DD/MM/YYYY', 33 | LL : 'D MMMM YYYY', 34 | LLL : 'D MMMM YYYY LT', 35 | LLLL : 'dddd, D MMMM YYYY LT' 36 | }, 37 | calendar : { 38 | sameDay : '[Sot në] LT', 39 | nextDay : '[Nesër në] LT', 40 | nextWeek : 'dddd [në] LT', 41 | lastDay : '[Dje në] LT', 42 | lastWeek : 'dddd [e kaluar në] LT', 43 | sameElse : 'L' 44 | }, 45 | relativeTime : { 46 | future : 'në %s', 47 | past : '%s më parë', 48 | s : 'disa sekonda', 49 | m : 'një minutë', 50 | mm : '%d minuta', 51 | h : 'një orë', 52 | hh : '%d orë', 53 | d : 'një ditë', 54 | dd : '%d ditë', 55 | M : 'një muaj', 56 | MM : '%d muaj', 57 | y : 'një vit', 58 | yy : '%d vite' 59 | }, 60 | ordinalParse: /\d{1,2}\./, 61 | ordinal : '%d.', 62 | week : { 63 | dow : 1, // Monday is the first day of the week. 64 | doy : 4 // The week that contains Jan 4th is the first week of the year. 65 | } 66 | }); 67 | })); 68 | -------------------------------------------------------------------------------- /www/lib/moment/locale/it.js: -------------------------------------------------------------------------------- 1 | // moment.js locale configuration 2 | // locale : italian (it) 3 | // author : Lorenzo : https://github.com/aliem 4 | // author: Mattia Larentis: https://github.com/nostalgiaz 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('it', { 16 | months : 'gennaio_febbraio_marzo_aprile_maggio_giugno_luglio_agosto_settembre_ottobre_novembre_dicembre'.split('_'), 17 | monthsShort : 'gen_feb_mar_apr_mag_giu_lug_ago_set_ott_nov_dic'.split('_'), 18 | weekdays : 'Domenica_Lunedì_Martedì_Mercoledì_Giovedì_Venerdì_Sabato'.split('_'), 19 | weekdaysShort : 'Dom_Lun_Mar_Mer_Gio_Ven_Sab'.split('_'), 20 | weekdaysMin : 'D_L_Ma_Me_G_V_S'.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: '[Oggi alle] LT', 31 | nextDay: '[Domani alle] LT', 32 | nextWeek: 'dddd [alle] LT', 33 | lastDay: '[Ieri alle] LT', 34 | lastWeek: function () { 35 | switch (this.day()) { 36 | case 0: 37 | return '[la scorsa] dddd [alle] LT'; 38 | default: 39 | return '[lo scorso] dddd [alle] LT'; 40 | } 41 | }, 42 | sameElse: 'L' 43 | }, 44 | relativeTime : { 45 | future : function (s) { 46 | return ((/^[0-9].+$/).test(s) ? 'tra' : 'in') + ' ' + s; 47 | }, 48 | past : '%s fa', 49 | s : 'alcuni secondi', 50 | m : 'un minuto', 51 | mm : '%d minuti', 52 | h : 'un\'ora', 53 | hh : '%d ore', 54 | d : 'un giorno', 55 | dd : '%d giorni', 56 | M : 'un mese', 57 | MM : '%d mesi', 58 | y : 'un anno', 59 | yy : '%d anni' 60 | }, 61 | ordinalParse : /\d{1,2}º/, 62 | ordinal: '%dº', 63 | week : { 64 | dow : 1, // Monday is the first day of the week. 65 | doy : 4 // The week that contains Jan 4th is the first week of the year. 66 | } 67 | }); 68 | })); 69 | -------------------------------------------------------------------------------- /www/lib/moment/locale/ml.js: -------------------------------------------------------------------------------- 1 | // moment.js locale configuration 2 | // locale : malayalam (ml) 3 | // author : Floyd Pink : https://github.com/floydpink 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('ml', { 15 | months : 'ജനുവരി_ഫെബ്രുവരി_മാർച്ച്_ഏപ്രിൽ_മേയ്_ജൂൺ_ജൂലൈ_ഓഗസ്റ്റ്_സെപ്റ്റംബർ_ഒക്ടോബർ_നവംബർ_ഡിസംബർ'.split('_'), 16 | monthsShort : 'ജനു._ഫെബ്രു._മാർ._ഏപ്രി._മേയ്_ജൂൺ_ജൂലൈ._ഓഗ._സെപ്റ്റ._ഒക്ടോ._നവം._ഡിസം.'.split('_'), 17 | weekdays : 'ഞായറാഴ്ച_തിങ്കളാഴ്ച_ചൊവ്വാഴ്ച_ബുധനാഴ്ച_വ്യാഴാഴ്ച_വെള്ളിയാഴ്ച_ശനിയാഴ്ച'.split('_'), 18 | weekdaysShort : 'ഞായർ_തിങ്കൾ_ചൊവ്വ_ബുധൻ_വ്യാഴം_വെള്ളി_ശനി'.split('_'), 19 | weekdaysMin : 'ഞാ_തി_ചൊ_ബു_വ്യാ_വെ_ശ'.split('_'), 20 | longDateFormat : { 21 | LT : 'A h:mm -നു', 22 | LTS : 'A h:mm: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 | meridiemParse: /രാത്രി|രാവിലെ|ഉച്ച കഴിഞ്ഞ്|വൈകുന്നേരം|രാത്രി/i, 52 | isPM : function (input) { 53 | return /^(ഉച്ച കഴിഞ്ഞ്|വൈകുന്നേരം|രാത്രി)$/.test(input); 54 | }, 55 | meridiem : function (hour, minute, isLower) { 56 | if (hour < 4) { 57 | return 'രാത്രി'; 58 | } else if (hour < 12) { 59 | return 'രാവിലെ'; 60 | } else if (hour < 17) { 61 | return 'ഉച്ച കഴിഞ്ഞ്'; 62 | } else if (hour < 20) { 63 | return 'വൈകുന്നേരം'; 64 | } else { 65 | return 'രാത്രി'; 66 | } 67 | } 68 | }); 69 | })); 70 | -------------------------------------------------------------------------------- /www/lib/moment/locale/nl.js: -------------------------------------------------------------------------------- 1 | // moment.js locale configuration 2 | // locale : dutch (nl) 3 | // author : Joris Röling : https://github.com/jjupiter 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 | var monthsShortWithDots = 'jan._feb._mrt._apr._mei_jun._jul._aug._sep._okt._nov._dec.'.split('_'), 15 | monthsShortWithoutDots = 'jan_feb_mrt_apr_mei_jun_jul_aug_sep_okt_nov_dec'.split('_'); 16 | 17 | return moment.defineLocale('nl', { 18 | months : 'januari_februari_maart_april_mei_juni_juli_augustus_september_oktober_november_december'.split('_'), 19 | monthsShort : function (m, format) { 20 | if (/-MMM-/.test(format)) { 21 | return monthsShortWithoutDots[m.month()]; 22 | } else { 23 | return monthsShortWithDots[m.month()]; 24 | } 25 | }, 26 | weekdays : 'zondag_maandag_dinsdag_woensdag_donderdag_vrijdag_zaterdag'.split('_'), 27 | weekdaysShort : 'zo._ma._di._wo._do._vr._za.'.split('_'), 28 | weekdaysMin : 'Zo_Ma_Di_Wo_Do_Vr_Za'.split('_'), 29 | longDateFormat : { 30 | LT : 'HH:mm', 31 | LTS : 'LT:ss', 32 | L : 'DD-MM-YYYY', 33 | LL : 'D MMMM YYYY', 34 | LLL : 'D MMMM YYYY LT', 35 | LLLL : 'dddd D MMMM YYYY LT' 36 | }, 37 | calendar : { 38 | sameDay: '[vandaag om] LT', 39 | nextDay: '[morgen om] LT', 40 | nextWeek: 'dddd [om] LT', 41 | lastDay: '[gisteren om] LT', 42 | lastWeek: '[afgelopen] dddd [om] LT', 43 | sameElse: 'L' 44 | }, 45 | relativeTime : { 46 | future : 'over %s', 47 | past : '%s geleden', 48 | s : 'een paar seconden', 49 | m : 'één minuut', 50 | mm : '%d minuten', 51 | h : 'één uur', 52 | hh : '%d uur', 53 | d : 'één dag', 54 | dd : '%d dagen', 55 | M : 'één maand', 56 | MM : '%d maanden', 57 | y : 'één jaar', 58 | yy : '%d jaar' 59 | }, 60 | ordinalParse: /\d{1,2}(ste|de)/, 61 | ordinal : function (number) { 62 | return number + ((number === 1 || number === 8 || number >= 20) ? 'ste' : 'de'); 63 | }, 64 | week : { 65 | dow : 1, // Monday is the first day of the week. 66 | doy : 4 // The week that contains Jan 4th is the first week of the year. 67 | } 68 | }); 69 | })); 70 | -------------------------------------------------------------------------------- /www/lib/moment/locale/fy.js: -------------------------------------------------------------------------------- 1 | // moment.js locale configuration 2 | // locale : frisian (fy) 3 | // author : Robin van der Vliet : https://github.com/robin0van0der0v 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 | var monthsShortWithDots = 'jan._feb._mrt._apr._mai_jun._jul._aug._sep._okt._nov._des.'.split('_'), 15 | monthsShortWithoutDots = 'jan_feb_mrt_apr_mai_jun_jul_aug_sep_okt_nov_des'.split('_'); 16 | 17 | return moment.defineLocale('fy', { 18 | months : 'jannewaris_febrewaris_maart_april_maaie_juny_july_augustus_septimber_oktober_novimber_desimber'.split('_'), 19 | monthsShort : function (m, format) { 20 | if (/-MMM-/.test(format)) { 21 | return monthsShortWithoutDots[m.month()]; 22 | } else { 23 | return monthsShortWithDots[m.month()]; 24 | } 25 | }, 26 | weekdays : 'snein_moandei_tiisdei_woansdei_tongersdei_freed_sneon'.split('_'), 27 | weekdaysShort : 'si._mo._ti._wo._to._fr._so.'.split('_'), 28 | weekdaysMin : 'Si_Mo_Ti_Wo_To_Fr_So'.split('_'), 29 | longDateFormat : { 30 | LT : 'HH:mm', 31 | LTS : 'LT:ss', 32 | L : 'DD-MM-YYYY', 33 | LL : 'D MMMM YYYY', 34 | LLL : 'D MMMM YYYY LT', 35 | LLLL : 'dddd D MMMM YYYY LT' 36 | }, 37 | calendar : { 38 | sameDay: '[hjoed om] LT', 39 | nextDay: '[moarn om] LT', 40 | nextWeek: 'dddd [om] LT', 41 | lastDay: '[juster om] LT', 42 | lastWeek: '[ôfrûne] dddd [om] LT', 43 | sameElse: 'L' 44 | }, 45 | relativeTime : { 46 | future : 'oer %s', 47 | past : '%s lyn', 48 | s : 'in pear sekonden', 49 | m : 'ien minút', 50 | mm : '%d minuten', 51 | h : 'ien oere', 52 | hh : '%d oeren', 53 | d : 'ien dei', 54 | dd : '%d dagen', 55 | M : 'ien moanne', 56 | MM : '%d moannen', 57 | y : 'ien jier', 58 | yy : '%d jierren' 59 | }, 60 | ordinalParse: /\d{1,2}(ste|de)/, 61 | ordinal : function (number) { 62 | return number + ((number === 1 || number === 8 || number >= 20) ? 'ste' : 'de'); 63 | }, 64 | week : { 65 | dow : 1, // Monday is the first day of the week. 66 | doy : 4 // The week that contains Jan 4th is the first week of the year. 67 | } 68 | }); 69 | })); 70 | -------------------------------------------------------------------------------- /www/lib/moment/locale/ro.js: -------------------------------------------------------------------------------- 1 | // moment.js locale configuration 2 | // locale : romanian (ro) 3 | // author : Vlad Gurdiga : https://github.com/gurdiga 4 | // author : Valentin Agachi : https://github.com/avaly 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 | function relativeTimeWithPlural(number, withoutSuffix, key) { 16 | var format = { 17 | 'mm': 'minute', 18 | 'hh': 'ore', 19 | 'dd': 'zile', 20 | 'MM': 'luni', 21 | 'yy': 'ani' 22 | }, 23 | separator = ' '; 24 | if (number % 100 >= 20 || (number >= 100 && number % 100 === 0)) { 25 | separator = ' de '; 26 | } 27 | 28 | return number + separator + format[key]; 29 | } 30 | 31 | return moment.defineLocale('ro', { 32 | months : 'ianuarie_februarie_martie_aprilie_mai_iunie_iulie_august_septembrie_octombrie_noiembrie_decembrie'.split('_'), 33 | monthsShort : 'ian._febr._mart._apr._mai_iun._iul._aug._sept._oct._nov._dec.'.split('_'), 34 | weekdays : 'duminică_luni_marți_miercuri_joi_vineri_sâmbătă'.split('_'), 35 | weekdaysShort : 'Dum_Lun_Mar_Mie_Joi_Vin_Sâm'.split('_'), 36 | weekdaysMin : 'Du_Lu_Ma_Mi_Jo_Vi_Sâ'.split('_'), 37 | longDateFormat : { 38 | LT : 'H:mm', 39 | LTS : 'LT:ss', 40 | L : 'DD.MM.YYYY', 41 | LL : 'D MMMM YYYY', 42 | LLL : 'D MMMM YYYY H:mm', 43 | LLLL : 'dddd, D MMMM YYYY H:mm' 44 | }, 45 | calendar : { 46 | sameDay: '[azi la] LT', 47 | nextDay: '[mâine la] LT', 48 | nextWeek: 'dddd [la] LT', 49 | lastDay: '[ieri la] LT', 50 | lastWeek: '[fosta] dddd [la] LT', 51 | sameElse: 'L' 52 | }, 53 | relativeTime : { 54 | future : 'peste %s', 55 | past : '%s în urmă', 56 | s : 'câteva secunde', 57 | m : 'un minut', 58 | mm : relativeTimeWithPlural, 59 | h : 'o oră', 60 | hh : relativeTimeWithPlural, 61 | d : 'o zi', 62 | dd : relativeTimeWithPlural, 63 | M : 'o lună', 64 | MM : relativeTimeWithPlural, 65 | y : 'un an', 66 | yy : relativeTimeWithPlural 67 | }, 68 | week : { 69 | dow : 1, // Monday is the first day of the week. 70 | doy : 7 // The week that contains Jan 1st is the first week of the year. 71 | } 72 | }); 73 | })); 74 | -------------------------------------------------------------------------------- /www/lib/moment/locale/af.js: -------------------------------------------------------------------------------- 1 | // moment.js locale configuration 2 | // locale : afrikaans (af) 3 | // author : Werner Mollentze : https://github.com/wernerm 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('af', { 15 | months : 'Januarie_Februarie_Maart_April_Mei_Junie_Julie_Augustus_September_Oktober_November_Desember'.split('_'), 16 | monthsShort : 'Jan_Feb_Mar_Apr_Mei_Jun_Jul_Aug_Sep_Okt_Nov_Des'.split('_'), 17 | weekdays : 'Sondag_Maandag_Dinsdag_Woensdag_Donderdag_Vrydag_Saterdag'.split('_'), 18 | weekdaysShort : 'Son_Maa_Din_Woe_Don_Vry_Sat'.split('_'), 19 | weekdaysMin : 'So_Ma_Di_Wo_Do_Vr_Sa'.split('_'), 20 | meridiemParse: /vm|nm/i, 21 | isPM : function (input) { 22 | return /^nm$/i.test(input); 23 | }, 24 | meridiem : function (hours, minutes, isLower) { 25 | if (hours < 12) { 26 | return isLower ? 'vm' : 'VM'; 27 | } else { 28 | return isLower ? 'nm' : 'NM'; 29 | } 30 | }, 31 | longDateFormat : { 32 | LT : 'HH:mm', 33 | LTS : 'LT:ss', 34 | L : 'DD/MM/YYYY', 35 | LL : 'D MMMM YYYY', 36 | LLL : 'D MMMM YYYY LT', 37 | LLLL : 'dddd, D MMMM YYYY LT' 38 | }, 39 | calendar : { 40 | sameDay : '[Vandag om] LT', 41 | nextDay : '[Môre om] LT', 42 | nextWeek : 'dddd [om] LT', 43 | lastDay : '[Gister om] LT', 44 | lastWeek : '[Laas] dddd [om] LT', 45 | sameElse : 'L' 46 | }, 47 | relativeTime : { 48 | future : 'oor %s', 49 | past : '%s gelede', 50 | s : '\'n paar sekondes', 51 | m : '\'n minuut', 52 | mm : '%d minute', 53 | h : '\'n uur', 54 | hh : '%d ure', 55 | d : '\'n dag', 56 | dd : '%d dae', 57 | M : '\'n maand', 58 | MM : '%d maande', 59 | y : '\'n jaar', 60 | yy : '%d jaar' 61 | }, 62 | ordinalParse: /\d{1,2}(ste|de)/, 63 | ordinal : function (number) { 64 | return number + ((number === 1 || number === 8 || number >= 20) ? 'ste' : 'de'); // Thanks to Joris Röling : https://github.com/jjupiter 65 | }, 66 | week : { 67 | dow : 1, // Maandag is die eerste dag van die week. 68 | doy : 4 // Die week wat die 4de Januarie bevat is die eerste week van die jaar. 69 | } 70 | }); 71 | })); 72 | -------------------------------------------------------------------------------- /www/lib/moment/locale/eo.js: -------------------------------------------------------------------------------- 1 | // moment.js locale configuration 2 | // locale : esperanto (eo) 3 | // author : Colin Dean : https://github.com/colindean 4 | // komento: Mi estas malcerta se mi korekte traktis akuzativojn en tiu traduko. 5 | // Se ne, bonvolu korekti kaj avizi min por ke mi povas lerni! 6 | 7 | (function (factory) { 8 | if (typeof define === 'function' && define.amd) { 9 | define(['moment'], factory); // AMD 10 | } else if (typeof exports === 'object') { 11 | module.exports = factory(require('../moment')); // Node 12 | } else { 13 | factory((typeof global !== 'undefined' ? global : this).moment); // node or other global 14 | } 15 | }(function (moment) { 16 | return moment.defineLocale('eo', { 17 | months : 'januaro_februaro_marto_aprilo_majo_junio_julio_aŭgusto_septembro_oktobro_novembro_decembro'.split('_'), 18 | monthsShort : 'jan_feb_mar_apr_maj_jun_jul_aŭg_sep_okt_nov_dec'.split('_'), 19 | weekdays : 'Dimanĉo_Lundo_Mardo_Merkredo_Ĵaŭdo_Vendredo_Sabato'.split('_'), 20 | weekdaysShort : 'Dim_Lun_Mard_Merk_Ĵaŭ_Ven_Sab'.split('_'), 21 | weekdaysMin : 'Di_Lu_Ma_Me_Ĵa_Ve_Sa'.split('_'), 22 | longDateFormat : { 23 | LT : 'HH:mm', 24 | LTS : 'LT:ss', 25 | L : 'YYYY-MM-DD', 26 | LL : 'D[-an de] MMMM, YYYY', 27 | LLL : 'D[-an de] MMMM, YYYY LT', 28 | LLLL : 'dddd, [la] D[-an de] MMMM, YYYY LT' 29 | }, 30 | meridiemParse: /[ap]\.t\.m/i, 31 | isPM: function (input) { 32 | return input.charAt(0).toLowerCase() === 'p'; 33 | }, 34 | meridiem : function (hours, minutes, isLower) { 35 | if (hours > 11) { 36 | return isLower ? 'p.t.m.' : 'P.T.M.'; 37 | } else { 38 | return isLower ? 'a.t.m.' : 'A.T.M.'; 39 | } 40 | }, 41 | calendar : { 42 | sameDay : '[Hodiaŭ je] LT', 43 | nextDay : '[Morgaŭ je] LT', 44 | nextWeek : 'dddd [je] LT', 45 | lastDay : '[Hieraŭ je] LT', 46 | lastWeek : '[pasinta] dddd [je] LT', 47 | sameElse : 'L' 48 | }, 49 | relativeTime : { 50 | future : 'je %s', 51 | past : 'antaŭ %s', 52 | s : 'sekundoj', 53 | m : 'minuto', 54 | mm : '%d minutoj', 55 | h : 'horo', 56 | hh : '%d horoj', 57 | d : 'tago',//ne 'diurno', ĉar estas uzita por proksimumo 58 | dd : '%d tagoj', 59 | M : 'monato', 60 | MM : '%d monatoj', 61 | y : 'jaro', 62 | yy : '%d jaroj' 63 | }, 64 | ordinalParse: /\d{1,2}a/, 65 | ordinal : '%da', 66 | week : { 67 | dow : 1, // Monday is the first day of the week. 68 | doy : 7 // The week that contains Jan 1st is the first week of the year. 69 | } 70 | }); 71 | })); 72 | -------------------------------------------------------------------------------- /www/lib/moment/locale/gl.js: -------------------------------------------------------------------------------- 1 | // moment.js locale configuration 2 | // locale : galician (gl) 3 | // author : Juan G. Hurtado : https://github.com/juanghurtado 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('gl', { 15 | months : 'Xaneiro_Febreiro_Marzo_Abril_Maio_Xuño_Xullo_Agosto_Setembro_Outubro_Novembro_Decembro'.split('_'), 16 | monthsShort : 'Xan._Feb._Mar._Abr._Mai._Xuñ._Xul._Ago._Set._Out._Nov._Dec.'.split('_'), 17 | weekdays : 'Domingo_Luns_Martes_Mércores_Xoves_Venres_Sábado'.split('_'), 18 | weekdaysShort : 'Dom._Lun._Mar._Mér._Xov._Ven._Sáb.'.split('_'), 19 | weekdaysMin : 'Do_Lu_Ma_Mé_Xo_Ve_Sá'.split('_'), 20 | longDateFormat : { 21 | LT : 'H: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 : function () { 30 | return '[hoxe ' + ((this.hours() !== 1) ? 'ás' : 'á') + '] LT'; 31 | }, 32 | nextDay : function () { 33 | return '[mañá ' + ((this.hours() !== 1) ? 'ás' : 'á') + '] LT'; 34 | }, 35 | nextWeek : function () { 36 | return 'dddd [' + ((this.hours() !== 1) ? 'ás' : 'a') + '] LT'; 37 | }, 38 | lastDay : function () { 39 | return '[onte ' + ((this.hours() !== 1) ? 'á' : 'a') + '] LT'; 40 | }, 41 | lastWeek : function () { 42 | return '[o] dddd [pasado ' + ((this.hours() !== 1) ? 'ás' : 'a') + '] LT'; 43 | }, 44 | sameElse : 'L' 45 | }, 46 | relativeTime : { 47 | future : function (str) { 48 | if (str === 'uns segundos') { 49 | return 'nuns segundos'; 50 | } 51 | return 'en ' + str; 52 | }, 53 | past : 'hai %s', 54 | s : 'uns segundos', 55 | m : 'un minuto', 56 | mm : '%d minutos', 57 | h : 'unha hora', 58 | hh : '%d horas', 59 | d : 'un día', 60 | dd : '%d días', 61 | M : 'un mes', 62 | MM : '%d meses', 63 | y : 'un ano', 64 | yy : '%d anos' 65 | }, 66 | ordinalParse : /\d{1,2}º/, 67 | ordinal : '%dº', 68 | week : { 69 | dow : 1, // Monday is the first day of the week. 70 | doy : 7 // The week that contains Jan 1st is the first week of the year. 71 | } 72 | }); 73 | })); 74 | -------------------------------------------------------------------------------- /www/lib/ionic/scss/_list.scss: -------------------------------------------------------------------------------- 1 | 2 | /** 3 | * Lists 4 | * -------------------------------------------------- 5 | */ 6 | 7 | .list { 8 | position: relative; 9 | padding-top: $item-border-width; 10 | padding-bottom: $item-border-width; 11 | padding-left: 0; // reset padding because ul and ol 12 | margin-bottom: 20px; 13 | } 14 | .list:last-child { 15 | margin-bottom: 0px; 16 | &.card{ 17 | margin-bottom:40px; 18 | } 19 | } 20 | 21 | 22 | /** 23 | * List Header 24 | * -------------------------------------------------- 25 | */ 26 | 27 | .list-header { 28 | margin-top: $list-header-margin-top; 29 | padding: $list-header-padding; 30 | background-color: $list-header-bg; 31 | color: $list-header-color; 32 | font-weight: bold; 33 | } 34 | 35 | // when its a card make sure it doesn't duplicate top and bottom borders 36 | .card.list .list-item { 37 | padding-right: 1px; 38 | padding-left: 1px; 39 | } 40 | 41 | 42 | /** 43 | * Cards and Inset Lists 44 | * -------------------------------------------------- 45 | * A card and list-inset are close to the same thing, except a card as a box shadow. 46 | */ 47 | 48 | .card, 49 | .list-inset { 50 | overflow: hidden; 51 | margin: ($content-padding * 2) $content-padding; 52 | border-radius: $card-border-radius; 53 | background-color: $card-body-bg; 54 | } 55 | 56 | .card { 57 | padding-top: $item-border-width; 58 | padding-bottom: $item-border-width; 59 | box-shadow: $card-box-shadow; 60 | 61 | .item { 62 | border-left: 0; 63 | border-right: 0; 64 | } 65 | .item:first-child { 66 | border-top: 0; 67 | } 68 | .item:last-child { 69 | border-bottom: 0; 70 | } 71 | } 72 | 73 | .padding { 74 | .card, .list-inset { 75 | margin-left: 0; 76 | margin-right: 0; 77 | } 78 | } 79 | 80 | .card .item, 81 | .list-inset .item, 82 | .padding > .list .item 83 | { 84 | &:first-child { 85 | border-top-left-radius: $card-border-radius; 86 | border-top-right-radius: $card-border-radius; 87 | 88 | .item-content { 89 | border-top-left-radius: $card-border-radius; 90 | border-top-right-radius: $card-border-radius; 91 | } 92 | } 93 | &:last-child { 94 | border-bottom-right-radius: $card-border-radius; 95 | border-bottom-left-radius: $card-border-radius; 96 | 97 | .item-content { 98 | border-bottom-right-radius: $card-border-radius; 99 | border-bottom-left-radius: $card-border-radius; 100 | } 101 | } 102 | } 103 | 104 | .card .item:last-child, 105 | .list-inset .item:last-child { 106 | margin-bottom: $item-border-width * -1; 107 | } 108 | 109 | .card .item, 110 | .list-inset .item, 111 | .padding > .list .item, 112 | .padding-horizontal > .list .item { 113 | margin-right: 0; 114 | margin-left: 0; 115 | 116 | &.item-input input { 117 | padding-right: 44px; 118 | } 119 | } 120 | .padding-left > .list .item { 121 | margin-left: 0; 122 | } 123 | .padding-right > .list .item { 124 | margin-right: 0; 125 | } 126 | -------------------------------------------------------------------------------- /www/lib/moment/locale/he.js: -------------------------------------------------------------------------------- 1 | // moment.js locale configuration 2 | // locale : Hebrew (he) 3 | // author : Tomer Cohen : https://github.com/tomer 4 | // author : Moshe Simantov : https://github.com/DevelopmentIL 5 | // author : Tal Ater : https://github.com/TalAter 6 | 7 | (function (factory) { 8 | if (typeof define === 'function' && define.amd) { 9 | define(['moment'], factory); // AMD 10 | } else if (typeof exports === 'object') { 11 | module.exports = factory(require('../moment')); // Node 12 | } else { 13 | factory((typeof global !== 'undefined' ? global : this).moment); // node or other global 14 | } 15 | }(function (moment) { 16 | return moment.defineLocale('he', { 17 | months : 'ינואר_פברואר_מרץ_אפריל_מאי_יוני_יולי_אוגוסט_ספטמבר_אוקטובר_נובמבר_דצמבר'.split('_'), 18 | monthsShort : 'ינו׳_פבר׳_מרץ_אפר׳_מאי_יוני_יולי_אוג׳_ספט׳_אוק׳_נוב׳_דצמ׳'.split('_'), 19 | weekdays : 'ראשון_שני_שלישי_רביעי_חמישי_שישי_שבת'.split('_'), 20 | weekdaysShort : 'א׳_ב׳_ג׳_ד׳_ה׳_ו׳_ש׳'.split('_'), 21 | weekdaysMin : 'א_ב_ג_ד_ה_ו_ש'.split('_'), 22 | longDateFormat : { 23 | LT : 'HH:mm', 24 | LTS : 'LT:ss', 25 | L : 'DD/MM/YYYY', 26 | LL : 'D [ב]MMMM YYYY', 27 | LLL : 'D [ב]MMMM YYYY LT', 28 | LLLL : 'dddd, D [ב]MMMM YYYY LT', 29 | l : 'D/M/YYYY', 30 | ll : 'D MMM YYYY', 31 | lll : 'D MMM YYYY LT', 32 | llll : 'ddd, D MMM YYYY LT' 33 | }, 34 | calendar : { 35 | sameDay : '[היום ב־]LT', 36 | nextDay : '[מחר ב־]LT', 37 | nextWeek : 'dddd [בשעה] LT', 38 | lastDay : '[אתמול ב־]LT', 39 | lastWeek : '[ביום] dddd [האחרון בשעה] LT', 40 | sameElse : 'L' 41 | }, 42 | relativeTime : { 43 | future : 'בעוד %s', 44 | past : 'לפני %s', 45 | s : 'מספר שניות', 46 | m : 'דקה', 47 | mm : '%d דקות', 48 | h : 'שעה', 49 | hh : function (number) { 50 | if (number === 2) { 51 | return 'שעתיים'; 52 | } 53 | return number + ' שעות'; 54 | }, 55 | d : 'יום', 56 | dd : function (number) { 57 | if (number === 2) { 58 | return 'יומיים'; 59 | } 60 | return number + ' ימים'; 61 | }, 62 | M : 'חודש', 63 | MM : function (number) { 64 | if (number === 2) { 65 | return 'חודשיים'; 66 | } 67 | return number + ' חודשים'; 68 | }, 69 | y : 'שנה', 70 | yy : function (number) { 71 | if (number === 2) { 72 | return 'שנתיים'; 73 | } else if (number % 10 === 0 && number !== 10) { 74 | return number + ' שנה'; 75 | } 76 | return number + ' שנים'; 77 | } 78 | } 79 | }); 80 | })); 81 | -------------------------------------------------------------------------------- /www/lib/moment/locale/my.js: -------------------------------------------------------------------------------- 1 | // moment.js locale configuration 2 | // locale : Burmese (my) 3 | // author : Squar team, mysquar.com 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 | var symbolMap = { 15 | '1': '၁', 16 | '2': '၂', 17 | '3': '၃', 18 | '4': '၄', 19 | '5': '၅', 20 | '6': '၆', 21 | '7': '၇', 22 | '8': '၈', 23 | '9': '၉', 24 | '0': '၀' 25 | }, numberMap = { 26 | '၁': '1', 27 | '၂': '2', 28 | '၃': '3', 29 | '၄': '4', 30 | '၅': '5', 31 | '၆': '6', 32 | '၇': '7', 33 | '၈': '8', 34 | '၉': '9', 35 | '၀': '0' 36 | }; 37 | return moment.defineLocale('my', { 38 | months: 'ဇန်နဝါရီ_ဖေဖော်ဝါရီ_မတ်_ဧပြီ_မေ_ဇွန်_ဇူလိုင်_သြဂုတ်_စက်တင်ဘာ_အောက်တိုဘာ_နိုဝင်ဘာ_ဒီဇင်ဘာ'.split('_'), 39 | monthsShort: 'ဇန်_ဖေ_မတ်_ပြီ_မေ_ဇွန်_လိုင်_သြ_စက်_အောက်_နို_ဒီ'.split('_'), 40 | weekdays: 'တနင်္ဂနွေ_တနင်္လာ_အင်္ဂါ_ဗုဒ္ဓဟူး_ကြာသပတေး_သောကြာ_စနေ'.split('_'), 41 | weekdaysShort: 'နွေ_လာ_င်္ဂါ_ဟူး_ကြာ_သော_နေ'.split('_'), 42 | weekdaysMin: 'နွေ_လာ_င်္ဂါ_ဟူး_ကြာ_သော_နေ'.split('_'), 43 | longDateFormat: { 44 | LT: 'HH:mm', 45 | LTS: 'HH:mm:ss', 46 | L: 'DD/MM/YYYY', 47 | LL: 'D MMMM YYYY', 48 | LLL: 'D MMMM YYYY LT', 49 | LLLL: 'dddd D MMMM YYYY LT' 50 | }, 51 | calendar: { 52 | sameDay: '[ယနေ.] LT [မှာ]', 53 | nextDay: '[မနက်ဖြန်] LT [မှာ]', 54 | nextWeek: 'dddd LT [မှာ]', 55 | lastDay: '[မနေ.က] LT [မှာ]', 56 | lastWeek: '[ပြီးခဲ့သော] dddd LT [မှာ]', 57 | sameElse: 'L' 58 | }, 59 | relativeTime: { 60 | future: 'လာမည့် %s မှာ', 61 | past: 'လွန်ခဲ့သော %s က', 62 | s: 'စက္ကန်.အနည်းငယ်', 63 | m: 'တစ်မိနစ်', 64 | mm: '%d မိနစ်', 65 | h: 'တစ်နာရီ', 66 | hh: '%d နာရီ', 67 | d: 'တစ်ရက်', 68 | dd: '%d ရက်', 69 | M: 'တစ်လ', 70 | MM: '%d လ', 71 | y: 'တစ်နှစ်', 72 | yy: '%d နှစ်' 73 | }, 74 | preparse: function (string) { 75 | return string.replace(/[၁၂၃၄၅၆၇၈၉၀]/g, function (match) { 76 | return numberMap[match]; 77 | }); 78 | }, 79 | postformat: function (string) { 80 | return string.replace(/\d/g, function (match) { 81 | return symbolMap[match]; 82 | }); 83 | }, 84 | week: { 85 | dow: 1, // Monday is the first day of the week. 86 | doy: 4 // The week that contains Jan 1st is the first week of the year. 87 | } 88 | }); 89 | })); 90 | -------------------------------------------------------------------------------- /www/lib/moment/locale/de.js: -------------------------------------------------------------------------------- 1 | // moment.js locale configuration 2 | // locale : german (de) 3 | // author : lluchs : https://github.com/lluchs 4 | // author: Menelion Elensúle: https://github.com/Oire 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 | function processRelativeTime(number, withoutSuffix, key, isFuture) { 16 | var format = { 17 | 'm': ['eine Minute', 'einer Minute'], 18 | 'h': ['eine Stunde', 'einer Stunde'], 19 | 'd': ['ein Tag', 'einem Tag'], 20 | 'dd': [number + ' Tage', number + ' Tagen'], 21 | 'M': ['ein Monat', 'einem Monat'], 22 | 'MM': [number + ' Monate', number + ' Monaten'], 23 | 'y': ['ein Jahr', 'einem Jahr'], 24 | 'yy': [number + ' Jahre', number + ' Jahren'] 25 | }; 26 | return withoutSuffix ? format[key][0] : format[key][1]; 27 | } 28 | 29 | return moment.defineLocale('de', { 30 | months : 'Januar_Februar_März_April_Mai_Juni_Juli_August_September_Oktober_November_Dezember'.split('_'), 31 | monthsShort : 'Jan._Febr._Mrz._Apr._Mai_Jun._Jul._Aug._Sept._Okt._Nov._Dez.'.split('_'), 32 | weekdays : 'Sonntag_Montag_Dienstag_Mittwoch_Donnerstag_Freitag_Samstag'.split('_'), 33 | weekdaysShort : 'So._Mo._Di._Mi._Do._Fr._Sa.'.split('_'), 34 | weekdaysMin : 'So_Mo_Di_Mi_Do_Fr_Sa'.split('_'), 35 | longDateFormat : { 36 | LT: 'HH:mm', 37 | LTS: 'HH:mm:ss', 38 | L : 'DD.MM.YYYY', 39 | LL : 'D. MMMM YYYY', 40 | LLL : 'D. MMMM YYYY LT', 41 | LLLL : 'dddd, D. MMMM YYYY LT' 42 | }, 43 | calendar : { 44 | sameDay: '[Heute um] LT [Uhr]', 45 | sameElse: 'L', 46 | nextDay: '[Morgen um] LT [Uhr]', 47 | nextWeek: 'dddd [um] LT [Uhr]', 48 | lastDay: '[Gestern um] LT [Uhr]', 49 | lastWeek: '[letzten] dddd [um] LT [Uhr]' 50 | }, 51 | relativeTime : { 52 | future : 'in %s', 53 | past : 'vor %s', 54 | s : 'ein paar Sekunden', 55 | m : processRelativeTime, 56 | mm : '%d Minuten', 57 | h : processRelativeTime, 58 | hh : '%d Stunden', 59 | d : processRelativeTime, 60 | dd : processRelativeTime, 61 | M : processRelativeTime, 62 | MM : processRelativeTime, 63 | y : processRelativeTime, 64 | yy : processRelativeTime 65 | }, 66 | ordinalParse: /\d{1,2}\./, 67 | ordinal : '%d.', 68 | week : { 69 | dow : 1, // Monday is the first day of the week. 70 | doy : 4 // The week that contains Jan 4th is the first week of the year. 71 | } 72 | }); 73 | })); 74 | -------------------------------------------------------------------------------- /hooks/after_prepare/010_add_platform_class.js: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env node 2 | 3 | // Add Platform Class 4 | // v1.0 5 | // Automatically adds the platform class to the body tag 6 | // after the `prepare` command. By placing the platform CSS classes 7 | // directly in the HTML built for the platform, it speeds up 8 | // rendering the correct layout/style for the specific platform 9 | // instead of waiting for the JS to figure out the correct classes. 10 | 11 | var fs = require('fs'); 12 | var path = require('path'); 13 | 14 | var rootdir = process.argv[2]; 15 | 16 | function addPlatformBodyTag(indexPath, platform) { 17 | // add the platform class to the body tag 18 | try { 19 | var platformClass = 'platform-' + platform; 20 | var cordovaClass = 'platform-cordova platform-webview'; 21 | 22 | var html = fs.readFileSync(indexPath, 'utf8'); 23 | 24 | var bodyTag = findBodyTag(html); 25 | if(!bodyTag) return; // no opening body tag, something's wrong 26 | 27 | if(bodyTag.indexOf(platformClass) > -1) return; // already added 28 | 29 | var newBodyTag = bodyTag; 30 | 31 | var classAttr = findClassAttr(bodyTag); 32 | if(classAttr) { 33 | // body tag has existing class attribute, add the classname 34 | var endingQuote = classAttr.substring(classAttr.length-1); 35 | var newClassAttr = classAttr.substring(0, classAttr.length-1); 36 | newClassAttr += ' ' + platformClass + ' ' + cordovaClass + endingQuote; 37 | newBodyTag = bodyTag.replace(classAttr, newClassAttr); 38 | 39 | } else { 40 | // add class attribute to the body tag 41 | newBodyTag = bodyTag.replace('>', ' class="' + platformClass + ' ' + cordovaClass + '">'); 42 | } 43 | 44 | html = html.replace(bodyTag, newBodyTag); 45 | 46 | fs.writeFileSync(indexPath, html, 'utf8'); 47 | 48 | process.stdout.write('add to body class: ' + platformClass + '\n'); 49 | } catch(e) { 50 | process.stdout.write(e); 51 | } 52 | } 53 | 54 | function findBodyTag(html) { 55 | // get the body tag 56 | try{ 57 | return html.match(/])(.*?)>/gi)[0]; 58 | }catch(e){} 59 | } 60 | 61 | function findClassAttr(bodyTag) { 62 | // get the body tag's class attribute 63 | try{ 64 | return bodyTag.match(/ class=["|'](.*?)["|']/gi)[0]; 65 | }catch(e){} 66 | } 67 | 68 | if (rootdir) { 69 | 70 | // go through each of the platform directories that have been prepared 71 | var platforms = (process.env.CORDOVA_PLATFORMS ? process.env.CORDOVA_PLATFORMS.split(',') : []); 72 | 73 | for(var x=0; x .scroll{ 83 | &.overscroll{ 84 | position:fixed; 85 | } 86 | -webkit-overflow-scrolling:touch; 87 | width:100%; 88 | } 89 | 90 | @-webkit-keyframes refresh-spin { 91 | 0% { -webkit-transform: translate3d(0,0,0) rotate(0); } 92 | 100% { -webkit-transform: translate3d(0,0,0) rotate(180deg); } 93 | } 94 | 95 | @keyframes refresh-spin { 96 | 0% { transform: translate3d(0,0,0) rotate(0); } 97 | 100% { transform: translate3d(0,0,0) rotate(180deg); } 98 | } 99 | 100 | @-webkit-keyframes refresh-spin-back { 101 | 0% { -webkit-transform: translate3d(0,0,0) rotate(180deg); } 102 | 100% { -webkit-transform: translate3d(0,0,0) rotate(0); } 103 | } 104 | 105 | @keyframes refresh-spin-back { 106 | 0% { transform: translate3d(0,0,0) rotate(180deg); } 107 | 100% { transform: translate3d(0,0,0) rotate(0); } 108 | } 109 | -------------------------------------------------------------------------------- /www/lib/moment/locale/ms-my.js: -------------------------------------------------------------------------------- 1 | // moment.js locale configuration 2 | // locale : Bahasa Malaysia (ms-MY) 3 | // author : Weldan Jamili : https://github.com/weldan 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('ms-my', { 15 | months : 'Januari_Februari_Mac_April_Mei_Jun_Julai_Ogos_September_Oktober_November_Disember'.split('_'), 16 | monthsShort : 'Jan_Feb_Mac_Apr_Mei_Jun_Jul_Ogs_Sep_Okt_Nov_Dis'.split('_'), 17 | weekdays : 'Ahad_Isnin_Selasa_Rabu_Khamis_Jumaat_Sabtu'.split('_'), 18 | weekdaysShort : 'Ahd_Isn_Sel_Rab_Kha_Jum_Sab'.split('_'), 19 | weekdaysMin : 'Ah_Is_Sl_Rb_Km_Jm_Sb'.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 [pukul] LT', 26 | LLLL : 'dddd, D MMMM YYYY [pukul] LT' 27 | }, 28 | meridiemParse: /pagi|tengahari|petang|malam/, 29 | meridiemHour: function (hour, meridiem) { 30 | if (hour === 12) { 31 | hour = 0; 32 | } 33 | if (meridiem === 'pagi') { 34 | return hour; 35 | } else if (meridiem === 'tengahari') { 36 | return hour >= 11 ? hour : hour + 12; 37 | } else if (meridiem === 'petang' || meridiem === 'malam') { 38 | return hour + 12; 39 | } 40 | }, 41 | meridiem : function (hours, minutes, isLower) { 42 | if (hours < 11) { 43 | return 'pagi'; 44 | } else if (hours < 15) { 45 | return 'tengahari'; 46 | } else if (hours < 19) { 47 | return 'petang'; 48 | } else { 49 | return 'malam'; 50 | } 51 | }, 52 | calendar : { 53 | sameDay : '[Hari ini pukul] LT', 54 | nextDay : '[Esok pukul] LT', 55 | nextWeek : 'dddd [pukul] LT', 56 | lastDay : '[Kelmarin pukul] LT', 57 | lastWeek : 'dddd [lepas pukul] LT', 58 | sameElse : 'L' 59 | }, 60 | relativeTime : { 61 | future : 'dalam %s', 62 | past : '%s yang lepas', 63 | s : 'beberapa saat', 64 | m : 'seminit', 65 | mm : '%d minit', 66 | h : 'sejam', 67 | hh : '%d jam', 68 | d : 'sehari', 69 | dd : '%d hari', 70 | M : 'sebulan', 71 | MM : '%d bulan', 72 | y : 'setahun', 73 | yy : '%d tahun' 74 | }, 75 | week : { 76 | dow : 1, // Monday is the first day of the week. 77 | doy : 7 // The week that contains Jan 1st is the first week of the year. 78 | } 79 | }); 80 | })); 81 | -------------------------------------------------------------------------------- /www/lib/moment/locale/de-at.js: -------------------------------------------------------------------------------- 1 | // moment.js locale configuration 2 | // locale : austrian german (de-at) 3 | // author : lluchs : https://github.com/lluchs 4 | // author: Menelion Elensúle: https://github.com/Oire 5 | // author : Martin Groller : https://github.com/MadMG 6 | 7 | (function (factory) { 8 | if (typeof define === 'function' && define.amd) { 9 | define(['moment'], factory); // AMD 10 | } else if (typeof exports === 'object') { 11 | module.exports = factory(require('../moment')); // Node 12 | } else { 13 | factory((typeof global !== 'undefined' ? global : this).moment); // node or other global 14 | } 15 | }(function (moment) { 16 | function processRelativeTime(number, withoutSuffix, key, isFuture) { 17 | var format = { 18 | 'm': ['eine Minute', 'einer Minute'], 19 | 'h': ['eine Stunde', 'einer Stunde'], 20 | 'd': ['ein Tag', 'einem Tag'], 21 | 'dd': [number + ' Tage', number + ' Tagen'], 22 | 'M': ['ein Monat', 'einem Monat'], 23 | 'MM': [number + ' Monate', number + ' Monaten'], 24 | 'y': ['ein Jahr', 'einem Jahr'], 25 | 'yy': [number + ' Jahre', number + ' Jahren'] 26 | }; 27 | return withoutSuffix ? format[key][0] : format[key][1]; 28 | } 29 | 30 | return moment.defineLocale('de-at', { 31 | months : 'Jänner_Februar_März_April_Mai_Juni_Juli_August_September_Oktober_November_Dezember'.split('_'), 32 | monthsShort : 'Jän._Febr._Mrz._Apr._Mai_Jun._Jul._Aug._Sept._Okt._Nov._Dez.'.split('_'), 33 | weekdays : 'Sonntag_Montag_Dienstag_Mittwoch_Donnerstag_Freitag_Samstag'.split('_'), 34 | weekdaysShort : 'So._Mo._Di._Mi._Do._Fr._Sa.'.split('_'), 35 | weekdaysMin : 'So_Mo_Di_Mi_Do_Fr_Sa'.split('_'), 36 | longDateFormat : { 37 | LT: 'HH:mm', 38 | LTS: 'HH:mm:ss', 39 | L : 'DD.MM.YYYY', 40 | LL : 'D. MMMM YYYY', 41 | LLL : 'D. MMMM YYYY LT', 42 | LLLL : 'dddd, D. MMMM YYYY LT' 43 | }, 44 | calendar : { 45 | sameDay: '[Heute um] LT [Uhr]', 46 | sameElse: 'L', 47 | nextDay: '[Morgen um] LT [Uhr]', 48 | nextWeek: 'dddd [um] LT [Uhr]', 49 | lastDay: '[Gestern um] LT [Uhr]', 50 | lastWeek: '[letzten] dddd [um] LT [Uhr]' 51 | }, 52 | relativeTime : { 53 | future : 'in %s', 54 | past : 'vor %s', 55 | s : 'ein paar Sekunden', 56 | m : processRelativeTime, 57 | mm : '%d Minuten', 58 | h : processRelativeTime, 59 | hh : '%d Stunden', 60 | d : processRelativeTime, 61 | dd : processRelativeTime, 62 | M : processRelativeTime, 63 | MM : processRelativeTime, 64 | y : processRelativeTime, 65 | yy : processRelativeTime 66 | }, 67 | ordinalParse: /\d{1,2}\./, 68 | ordinal : '%d.', 69 | week : { 70 | dow : 1, // Monday is the first day of the week. 71 | doy : 4 // The week that contains Jan 4th is the first week of the year. 72 | } 73 | }); 74 | })); 75 | -------------------------------------------------------------------------------- /www/lib/moment/locale/cy.js: -------------------------------------------------------------------------------- 1 | // moment.js locale configuration 2 | // locale : Welsh (cy) 3 | // author : Robert Allen 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('cy', { 15 | months: 'Ionawr_Chwefror_Mawrth_Ebrill_Mai_Mehefin_Gorffennaf_Awst_Medi_Hydref_Tachwedd_Rhagfyr'.split('_'), 16 | monthsShort: 'Ion_Chwe_Maw_Ebr_Mai_Meh_Gor_Aws_Med_Hyd_Tach_Rhag'.split('_'), 17 | weekdays: 'Dydd Sul_Dydd Llun_Dydd Mawrth_Dydd Mercher_Dydd Iau_Dydd Gwener_Dydd Sadwrn'.split('_'), 18 | weekdaysShort: 'Sul_Llun_Maw_Mer_Iau_Gwe_Sad'.split('_'), 19 | weekdaysMin: 'Su_Ll_Ma_Me_Ia_Gw_Sa'.split('_'), 20 | // time formats are the same as en-gb 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: '[Heddiw am] LT', 31 | nextDay: '[Yfory am] LT', 32 | nextWeek: 'dddd [am] LT', 33 | lastDay: '[Ddoe am] LT', 34 | lastWeek: 'dddd [diwethaf am] LT', 35 | sameElse: 'L' 36 | }, 37 | relativeTime: { 38 | future: 'mewn %s', 39 | past: '%s yn ôl', 40 | s: 'ychydig eiliadau', 41 | m: 'munud', 42 | mm: '%d munud', 43 | h: 'awr', 44 | hh: '%d awr', 45 | d: 'diwrnod', 46 | dd: '%d diwrnod', 47 | M: 'mis', 48 | MM: '%d mis', 49 | y: 'blwyddyn', 50 | yy: '%d flynedd' 51 | }, 52 | ordinalParse: /\d{1,2}(fed|ain|af|il|ydd|ed|eg)/, 53 | // traditional ordinal numbers above 31 are not commonly used in colloquial Welsh 54 | ordinal: function (number) { 55 | var b = number, 56 | output = '', 57 | lookup = [ 58 | '', 'af', 'il', 'ydd', 'ydd', 'ed', 'ed', 'ed', 'fed', 'fed', 'fed', // 1af to 10fed 59 | 'eg', 'fed', 'eg', 'eg', 'fed', 'eg', 'eg', 'fed', 'eg', 'fed' // 11eg to 20fed 60 | ]; 61 | 62 | if (b > 20) { 63 | if (b === 40 || b === 50 || b === 60 || b === 80 || b === 100) { 64 | output = 'fed'; // not 30ain, 70ain or 90ain 65 | } else { 66 | output = 'ain'; 67 | } 68 | } else if (b > 0) { 69 | output = lookup[b]; 70 | } 71 | 72 | return number + output; 73 | }, 74 | week : { 75 | dow : 1, // Monday is the first day of the week. 76 | doy : 4 // The week that contains Jan 4th is the first week of the year. 77 | } 78 | }); 79 | })); 80 | -------------------------------------------------------------------------------- /config.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | ionic-tutorial-groupby 4 | 5 | An Ionic Framework and Cordova project. 6 | 7 | 8 | Ionic Framework Team 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 | -------------------------------------------------------------------------------- /www/lib/moment/locale/ca.js: -------------------------------------------------------------------------------- 1 | // moment.js locale configuration 2 | // locale : catalan (ca) 3 | // author : Juan G. Hurtado : https://github.com/juanghurtado 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('ca', { 15 | months : 'gener_febrer_març_abril_maig_juny_juliol_agost_setembre_octubre_novembre_desembre'.split('_'), 16 | monthsShort : 'gen._febr._mar._abr._mai._jun._jul._ag._set._oct._nov._des.'.split('_'), 17 | weekdays : 'diumenge_dilluns_dimarts_dimecres_dijous_divendres_dissabte'.split('_'), 18 | weekdaysShort : 'dg._dl._dt._dc._dj._dv._ds.'.split('_'), 19 | weekdaysMin : 'Dg_Dl_Dt_Dc_Dj_Dv_Ds'.split('_'), 20 | longDateFormat : { 21 | LT : 'H: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 : function () { 30 | return '[avui a ' + ((this.hours() !== 1) ? 'les' : 'la') + '] LT'; 31 | }, 32 | nextDay : function () { 33 | return '[demà a ' + ((this.hours() !== 1) ? 'les' : 'la') + '] LT'; 34 | }, 35 | nextWeek : function () { 36 | return 'dddd [a ' + ((this.hours() !== 1) ? 'les' : 'la') + '] LT'; 37 | }, 38 | lastDay : function () { 39 | return '[ahir a ' + ((this.hours() !== 1) ? 'les' : 'la') + '] LT'; 40 | }, 41 | lastWeek : function () { 42 | return '[el] dddd [passat a ' + ((this.hours() !== 1) ? 'les' : 'la') + '] LT'; 43 | }, 44 | sameElse : 'L' 45 | }, 46 | relativeTime : { 47 | future : 'en %s', 48 | past : 'fa %s', 49 | s : 'uns segons', 50 | m : 'un minut', 51 | mm : '%d minuts', 52 | h : 'una hora', 53 | hh : '%d hores', 54 | d : 'un dia', 55 | dd : '%d dies', 56 | M : 'un mes', 57 | MM : '%d mesos', 58 | y : 'un any', 59 | yy : '%d anys' 60 | }, 61 | ordinalParse: /\d{1,2}(r|n|t|è|a)/, 62 | ordinal : function (number, period) { 63 | var output = (number === 1) ? 'r' : 64 | (number === 2) ? 'n' : 65 | (number === 3) ? 'r' : 66 | (number === 4) ? 't' : 'è'; 67 | if (period === 'w' || period === 'W') { 68 | output = 'a'; 69 | } 70 | return number + output; 71 | }, 72 | week : { 73 | dow : 1, // Monday is the first day of the week. 74 | doy : 4 // The week that contains Jan 4th is the first week of the year. 75 | } 76 | }); 77 | })); 78 | -------------------------------------------------------------------------------- /www/lib/moment/locale/es.js: -------------------------------------------------------------------------------- 1 | // moment.js locale configuration 2 | // locale : spanish (es) 3 | // author : Julio Napurí : https://github.com/julionc 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 | var monthsShortDot = 'ene._feb._mar._abr._may._jun._jul._ago._sep._oct._nov._dic.'.split('_'), 15 | monthsShort = 'ene_feb_mar_abr_may_jun_jul_ago_sep_oct_nov_dic'.split('_'); 16 | 17 | return moment.defineLocale('es', { 18 | months : 'enero_febrero_marzo_abril_mayo_junio_julio_agosto_septiembre_octubre_noviembre_diciembre'.split('_'), 19 | monthsShort : function (m, format) { 20 | if (/-MMM-/.test(format)) { 21 | return monthsShort[m.month()]; 22 | } else { 23 | return monthsShortDot[m.month()]; 24 | } 25 | }, 26 | weekdays : 'domingo_lunes_martes_miércoles_jueves_viernes_sábado'.split('_'), 27 | weekdaysShort : 'dom._lun._mar._mié._jue._vie._sáb.'.split('_'), 28 | weekdaysMin : 'Do_Lu_Ma_Mi_Ju_Vi_Sá'.split('_'), 29 | longDateFormat : { 30 | LT : 'H:mm', 31 | LTS : 'LT:ss', 32 | L : 'DD/MM/YYYY', 33 | LL : 'D [de] MMMM [de] YYYY', 34 | LLL : 'D [de] MMMM [de] YYYY LT', 35 | LLLL : 'dddd, D [de] MMMM [de] YYYY LT' 36 | }, 37 | calendar : { 38 | sameDay : function () { 39 | return '[hoy a la' + ((this.hours() !== 1) ? 's' : '') + '] LT'; 40 | }, 41 | nextDay : function () { 42 | return '[mañana a la' + ((this.hours() !== 1) ? 's' : '') + '] LT'; 43 | }, 44 | nextWeek : function () { 45 | return 'dddd [a la' + ((this.hours() !== 1) ? 's' : '') + '] LT'; 46 | }, 47 | lastDay : function () { 48 | return '[ayer a la' + ((this.hours() !== 1) ? 's' : '') + '] LT'; 49 | }, 50 | lastWeek : function () { 51 | return '[el] dddd [pasado a la' + ((this.hours() !== 1) ? 's' : '') + '] LT'; 52 | }, 53 | sameElse : 'L' 54 | }, 55 | relativeTime : { 56 | future : 'en %s', 57 | past : 'hace %s', 58 | s : 'unos segundos', 59 | m : 'un minuto', 60 | mm : '%d minutos', 61 | h : 'una hora', 62 | hh : '%d horas', 63 | d : 'un día', 64 | dd : '%d días', 65 | M : 'un mes', 66 | MM : '%d meses', 67 | y : 'un año', 68 | yy : '%d años' 69 | }, 70 | ordinalParse : /\d{1,2}º/, 71 | ordinal : '%dº', 72 | week : { 73 | dow : 1, // Monday is the first day of the week. 74 | doy : 4 // The week that contains Jan 4th is the first week of the year. 75 | } 76 | }); 77 | })); 78 | -------------------------------------------------------------------------------- /www/lib/moment/locale/lv.js: -------------------------------------------------------------------------------- 1 | // moment.js locale configuration 2 | // locale : latvian (lv) 3 | // author : Kristaps Karlsons : https://github.com/skakri 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 | var units = { 15 | 'mm': 'minūti_minūtes_minūte_minūtes', 16 | 'hh': 'stundu_stundas_stunda_stundas', 17 | 'dd': 'dienu_dienas_diena_dienas', 18 | 'MM': 'mēnesi_mēnešus_mēnesis_mēneši', 19 | 'yy': 'gadu_gadus_gads_gadi' 20 | }; 21 | 22 | function format(word, number, withoutSuffix) { 23 | var forms = word.split('_'); 24 | if (withoutSuffix) { 25 | return number % 10 === 1 && number !== 11 ? forms[2] : forms[3]; 26 | } else { 27 | return number % 10 === 1 && number !== 11 ? forms[0] : forms[1]; 28 | } 29 | } 30 | 31 | function relativeTimeWithPlural(number, withoutSuffix, key) { 32 | return number + ' ' + format(units[key], number, withoutSuffix); 33 | } 34 | 35 | return moment.defineLocale('lv', { 36 | months : 'janvāris_februāris_marts_aprīlis_maijs_jūnijs_jūlijs_augusts_septembris_oktobris_novembris_decembris'.split('_'), 37 | monthsShort : 'jan_feb_mar_apr_mai_jūn_jūl_aug_sep_okt_nov_dec'.split('_'), 38 | weekdays : 'svētdiena_pirmdiena_otrdiena_trešdiena_ceturtdiena_piektdiena_sestdiena'.split('_'), 39 | weekdaysShort : 'Sv_P_O_T_C_Pk_S'.split('_'), 40 | weekdaysMin : 'Sv_P_O_T_C_Pk_S'.split('_'), 41 | longDateFormat : { 42 | LT : 'HH:mm', 43 | LTS : 'LT:ss', 44 | L : 'DD.MM.YYYY', 45 | LL : 'YYYY. [gada] D. MMMM', 46 | LLL : 'YYYY. [gada] D. MMMM, LT', 47 | LLLL : 'YYYY. [gada] D. MMMM, dddd, LT' 48 | }, 49 | calendar : { 50 | sameDay : '[Šodien pulksten] LT', 51 | nextDay : '[Rīt pulksten] LT', 52 | nextWeek : 'dddd [pulksten] LT', 53 | lastDay : '[Vakar pulksten] LT', 54 | lastWeek : '[Pagājušā] dddd [pulksten] LT', 55 | sameElse : 'L' 56 | }, 57 | relativeTime : { 58 | future : '%s vēlāk', 59 | past : '%s agrāk', 60 | s : 'dažas sekundes', 61 | m : 'minūti', 62 | mm : relativeTimeWithPlural, 63 | h : 'stundu', 64 | hh : relativeTimeWithPlural, 65 | d : 'dienu', 66 | dd : relativeTimeWithPlural, 67 | M : 'mēnesi', 68 | MM : relativeTimeWithPlural, 69 | y : 'gadu', 70 | yy : relativeTimeWithPlural 71 | }, 72 | ordinalParse: /\d{1,2}\./, 73 | ordinal : '%d.', 74 | week : { 75 | dow : 1, // Monday is the first day of the week. 76 | doy : 4 // The week that contains Jan 4th is the first week of the year. 77 | } 78 | }); 79 | })); 80 | -------------------------------------------------------------------------------- /www/lib/moment/locale/id.js: -------------------------------------------------------------------------------- 1 | // moment.js locale configuration 2 | // locale : Bahasa Indonesia (id) 3 | // author : Mohammad Satrio Utomo : https://github.com/tyok 4 | // reference: http://id.wikisource.org/wiki/Pedoman_Umum_Ejaan_Bahasa_Indonesia_yang_Disempurnakan 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('id', { 16 | months : 'Januari_Februari_Maret_April_Mei_Juni_Juli_Agustus_September_Oktober_November_Desember'.split('_'), 17 | monthsShort : 'Jan_Feb_Mar_Apr_Mei_Jun_Jul_Ags_Sep_Okt_Nov_Des'.split('_'), 18 | weekdays : 'Minggu_Senin_Selasa_Rabu_Kamis_Jumat_Sabtu'.split('_'), 19 | weekdaysShort : 'Min_Sen_Sel_Rab_Kam_Jum_Sab'.split('_'), 20 | weekdaysMin : 'Mg_Sn_Sl_Rb_Km_Jm_Sb'.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 [pukul] LT', 27 | LLLL : 'dddd, D MMMM YYYY [pukul] LT' 28 | }, 29 | meridiemParse: /pagi|siang|sore|malam/, 30 | meridiemHour : function (hour, meridiem) { 31 | if (hour === 12) { 32 | hour = 0; 33 | } 34 | if (meridiem === 'pagi') { 35 | return hour; 36 | } else if (meridiem === 'siang') { 37 | return hour >= 11 ? hour : hour + 12; 38 | } else if (meridiem === 'sore' || meridiem === 'malam') { 39 | return hour + 12; 40 | } 41 | }, 42 | meridiem : function (hours, minutes, isLower) { 43 | if (hours < 11) { 44 | return 'pagi'; 45 | } else if (hours < 15) { 46 | return 'siang'; 47 | } else if (hours < 19) { 48 | return 'sore'; 49 | } else { 50 | return 'malam'; 51 | } 52 | }, 53 | calendar : { 54 | sameDay : '[Hari ini pukul] LT', 55 | nextDay : '[Besok pukul] LT', 56 | nextWeek : 'dddd [pukul] LT', 57 | lastDay : '[Kemarin pukul] LT', 58 | lastWeek : 'dddd [lalu pukul] LT', 59 | sameElse : 'L' 60 | }, 61 | relativeTime : { 62 | future : 'dalam %s', 63 | past : '%s yang lalu', 64 | s : 'beberapa detik', 65 | m : 'semenit', 66 | mm : '%d menit', 67 | h : 'sejam', 68 | hh : '%d jam', 69 | d : 'sehari', 70 | dd : '%d hari', 71 | M : 'sebulan', 72 | MM : '%d bulan', 73 | y : 'setahun', 74 | yy : '%d tahun' 75 | }, 76 | week : { 77 | dow : 1, // Monday is the first day of the week. 78 | doy : 7 // The week that contains Jan 1st is the first week of the year. 79 | } 80 | }); 81 | })); 82 | -------------------------------------------------------------------------------- /www/lib/moment/locale/tr.js: -------------------------------------------------------------------------------- 1 | // moment.js locale configuration 2 | // locale : turkish (tr) 3 | // authors : Erhan Gundogan : https://github.com/erhangundogan, 4 | // Burak Yiğit Kaya: https://github.com/BYK 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 | var suffixes = { 16 | 1: '\'inci', 17 | 5: '\'inci', 18 | 8: '\'inci', 19 | 70: '\'inci', 20 | 80: '\'inci', 21 | 22 | 2: '\'nci', 23 | 7: '\'nci', 24 | 20: '\'nci', 25 | 50: '\'nci', 26 | 27 | 3: '\'üncü', 28 | 4: '\'üncü', 29 | 100: '\'üncü', 30 | 31 | 6: '\'ncı', 32 | 33 | 9: '\'uncu', 34 | 10: '\'uncu', 35 | 30: '\'uncu', 36 | 37 | 60: '\'ıncı', 38 | 90: '\'ıncı' 39 | }; 40 | 41 | return moment.defineLocale('tr', { 42 | months : 'Ocak_Şubat_Mart_Nisan_Mayıs_Haziran_Temmuz_Ağustos_Eylül_Ekim_Kasım_Aralık'.split('_'), 43 | monthsShort : 'Oca_Şub_Mar_Nis_May_Haz_Tem_Ağu_Eyl_Eki_Kas_Ara'.split('_'), 44 | weekdays : 'Pazar_Pazartesi_Salı_Çarşamba_Perşembe_Cuma_Cumartesi'.split('_'), 45 | weekdaysShort : 'Paz_Pts_Sal_Çar_Per_Cum_Cts'.split('_'), 46 | weekdaysMin : 'Pz_Pt_Sa_Ça_Pe_Cu_Ct'.split('_'), 47 | longDateFormat : { 48 | LT : 'HH:mm', 49 | LTS : 'LT:ss', 50 | L : 'DD.MM.YYYY', 51 | LL : 'D MMMM YYYY', 52 | LLL : 'D MMMM YYYY LT', 53 | LLLL : 'dddd, D MMMM YYYY LT' 54 | }, 55 | calendar : { 56 | sameDay : '[bugün saat] LT', 57 | nextDay : '[yarın saat] LT', 58 | nextWeek : '[haftaya] dddd [saat] LT', 59 | lastDay : '[dün] LT', 60 | lastWeek : '[geçen hafta] dddd [saat] LT', 61 | sameElse : 'L' 62 | }, 63 | relativeTime : { 64 | future : '%s sonra', 65 | past : '%s önce', 66 | s : 'birkaç saniye', 67 | m : 'bir dakika', 68 | mm : '%d dakika', 69 | h : 'bir saat', 70 | hh : '%d saat', 71 | d : 'bir gün', 72 | dd : '%d gün', 73 | M : 'bir ay', 74 | MM : '%d ay', 75 | y : 'bir yıl', 76 | yy : '%d yıl' 77 | }, 78 | ordinalParse: /\d{1,2}'(inci|nci|üncü|ncı|uncu|ıncı)/, 79 | ordinal : function (number) { 80 | if (number === 0) { // special case for zero 81 | return number + '\'ıncı'; 82 | } 83 | var a = number % 10, 84 | b = number % 100 - a, 85 | c = number >= 100 ? 100 : null; 86 | 87 | return number + (suffixes[a] || suffixes[b] || suffixes[c]); 88 | }, 89 | week : { 90 | dow : 1, // Monday is the first day of the week. 91 | doy : 7 // The week that contains Jan 1st is the first week of the year. 92 | } 93 | }); 94 | })); 95 | -------------------------------------------------------------------------------- /hooks/README.md: -------------------------------------------------------------------------------- 1 | 21 | # Cordova Hooks 22 | 23 | This directory may contain scripts used to customize cordova commands. This 24 | directory used to exist at `.cordova/hooks`, but has now been moved to the 25 | project root. Any scripts you add to these directories will be executed before 26 | and after the commands corresponding to the directory name. Useful for 27 | integrating your own build systems or integrating with version control systems. 28 | 29 | __Remember__: Make your scripts executable. 30 | 31 | ## Hook Directories 32 | The following subdirectories will be used for hooks: 33 | 34 | after_build/ 35 | after_compile/ 36 | after_docs/ 37 | after_emulate/ 38 | after_platform_add/ 39 | after_platform_rm/ 40 | after_platform_ls/ 41 | after_plugin_add/ 42 | after_plugin_ls/ 43 | after_plugin_rm/ 44 | after_plugin_search/ 45 | after_prepare/ 46 | after_run/ 47 | after_serve/ 48 | before_build/ 49 | before_compile/ 50 | before_docs/ 51 | before_emulate/ 52 | before_platform_add/ 53 | before_platform_rm/ 54 | before_platform_ls/ 55 | before_plugin_add/ 56 | before_plugin_ls/ 57 | before_plugin_rm/ 58 | before_plugin_search/ 59 | before_prepare/ 60 | before_run/ 61 | before_serve/ 62 | pre_package/ <-- Windows 8 and Windows Phone only. 63 | 64 | ## Script Interface 65 | 66 | All scripts are run from the project's root directory and have the root directory passes as the first argument. All other options are passed to the script using environment variables: 67 | 68 | * CORDOVA_VERSION - The version of the Cordova-CLI. 69 | * CORDOVA_PLATFORMS - Comma separated list of platforms that the command applies to (e.g.: android, ios). 70 | * CORDOVA_PLUGINS - Comma separated list of plugin IDs that the command applies to (e.g.: org.apache.cordova.file, org.apache.cordova.file-transfer) 71 | * CORDOVA_HOOK - Path to the hook that is being executed. 72 | * CORDOVA_CMDLINE - The exact command-line arguments passed to cordova (e.g.: cordova run ios --emulate) 73 | 74 | If a script returns a non-zero exit code, then the parent cordova command will be aborted. 75 | 76 | 77 | ## Writing hooks 78 | 79 | We highly recommend writting your hooks using Node.js so that they are 80 | cross-platform. Some good examples are shown here: 81 | 82 | [http://devgirl.org/2013/11/12/three-hooks-your-cordovaphonegap-project-needs/](http://devgirl.org/2013/11/12/three-hooks-your-cordovaphonegap-project-needs/) 83 | 84 | -------------------------------------------------------------------------------- /www/lib/ionic/scss/_select.scss: -------------------------------------------------------------------------------- 1 | 2 | /** 3 | * Select 4 | * -------------------------------------------------- 5 | */ 6 | 7 | .item-select { 8 | position: relative; 9 | 10 | select { 11 | @include appearance(none); 12 | position: absolute; 13 | top: 0; 14 | right: 0; 15 | padding: ($item-padding - 2) ($item-padding * 3) ($item-padding) $item-padding; 16 | max-width: 65%; 17 | 18 | border: none; 19 | background: $item-default-bg; 20 | color: #333; 21 | 22 | // hack to hide default dropdown arrow in FF 23 | text-indent: .01px; 24 | text-overflow: ''; 25 | 26 | white-space: nowrap; 27 | font-size: $font-size-base; 28 | 29 | cursor: pointer; 30 | direction: rtl; // right align the select text 31 | } 32 | 33 | select::-ms-expand { 34 | // hide default dropdown arrow in IE 35 | display: none; 36 | } 37 | 38 | option { 39 | direction: ltr; 40 | } 41 | 42 | &:after { 43 | position: absolute; 44 | top: 50%; 45 | right: $item-padding; 46 | margin-top: -3px; 47 | width: 0; 48 | height: 0; 49 | border-top: 5px solid; 50 | border-right: 5px solid rgba(0, 0, 0, 0); 51 | border-left: 5px solid rgba(0, 0, 0, 0); 52 | color: #999; 53 | content: ""; 54 | pointer-events: none; 55 | } 56 | &.item-light { 57 | select{ 58 | background:$item-light-bg; 59 | color:$item-light-text; 60 | } 61 | } 62 | &.item-stable { 63 | select{ 64 | background:$item-stable-bg; 65 | color:$item-stable-text; 66 | } 67 | &:after, .input-label{ 68 | color:darken($item-stable-border,30%); 69 | } 70 | } 71 | &.item-positive { 72 | select{ 73 | background:$item-positive-bg; 74 | color:$item-positive-text; 75 | } 76 | &:after, .input-label{ 77 | color:$item-positive-text; 78 | } 79 | } 80 | &.item-calm { 81 | select{ 82 | background:$item-calm-bg; 83 | color:$item-calm-text; 84 | } 85 | &:after, .input-label{ 86 | color:$item-calm-text; 87 | } 88 | } 89 | &.item-assertive { 90 | select{ 91 | background:$item-assertive-bg; 92 | color:$item-assertive-text; 93 | } 94 | &:after, .input-label{ 95 | color:$item-assertive-text; 96 | } 97 | } 98 | &.item-balanced { 99 | select{ 100 | background:$item-balanced-bg; 101 | color:$item-balanced-text; 102 | } 103 | &:after, .input-label{ 104 | color:$item-balanced-text; 105 | } 106 | } 107 | &.item-energized { 108 | select{ 109 | background:$item-energized-bg; 110 | color:$item-energized-text; 111 | } 112 | &:after, .input-label{ 113 | color:$item-energized-text; 114 | } 115 | } 116 | &.item-royal { 117 | select{ 118 | background:$item-royal-bg; 119 | color:$item-royal-text; 120 | } 121 | &:after, .input-label{ 122 | color:$item-royal-text; 123 | } 124 | } 125 | &.item-dark { 126 | select{ 127 | background:$item-dark-bg; 128 | color:$item-dark-text; 129 | } 130 | &:after, .input-label{ 131 | color:$item-dark-text; 132 | } 133 | } 134 | } 135 | 136 | select { 137 | &[multiple], 138 | &[size] { 139 | height: auto; 140 | } 141 | } 142 | --------------------------------------------------------------------------------