├── lib ├── public │ ├── assets │ │ ├── js │ │ │ └── script.js │ │ └── fonts │ │ │ ├── FontAwesome.otf │ │ │ ├── fontawesome-webfont.eot │ │ │ ├── fontawesome-webfont.ttf │ │ │ ├── fontawesome-webfont.woff │ │ │ └── fontawesome-webfont.woff2 │ ├── bower_components │ │ ├── jquery │ │ │ ├── src │ │ │ │ ├── outro.js │ │ │ │ ├── var │ │ │ │ │ ├── arr.js │ │ │ │ │ ├── deletedIds.js │ │ │ │ │ ├── rnotwhite.js │ │ │ │ │ ├── document.js │ │ │ │ │ ├── push.js │ │ │ │ │ ├── concat.js │ │ │ │ │ ├── slice.js │ │ │ │ │ ├── class2type.js │ │ │ │ │ ├── indexOf.js │ │ │ │ │ ├── pnum.js │ │ │ │ │ ├── toString.js │ │ │ │ │ ├── hasOwn.js │ │ │ │ │ ├── documentElement.js │ │ │ │ │ ├── support.js │ │ │ │ │ └── rcssNum.js │ │ │ │ ├── selector.js │ │ │ │ ├── ajax │ │ │ │ │ ├── var │ │ │ │ │ │ ├── rquery.js │ │ │ │ │ │ ├── location.js │ │ │ │ │ │ └── nonce.js │ │ │ │ │ ├── parseJSON.js │ │ │ │ │ ├── parseXML.js │ │ │ │ │ └── script.js │ │ │ │ ├── css │ │ │ │ │ ├── var │ │ │ │ │ │ ├── rmargin.js │ │ │ │ │ │ ├── cssExpand.js │ │ │ │ │ │ ├── rnumnonpx.js │ │ │ │ │ │ ├── isHidden.js │ │ │ │ │ │ ├── getStyles.js │ │ │ │ │ │ └── swap.js │ │ │ │ │ ├── hiddenVisibleSelectors.js │ │ │ │ │ ├── addGetHookIf.js │ │ │ │ │ ├── showHide.js │ │ │ │ │ ├── curCSS.js │ │ │ │ │ └── defaultDisplay.js │ │ │ │ ├── manipulation │ │ │ │ │ ├── var │ │ │ │ │ │ ├── rtagName.js │ │ │ │ │ │ ├── rleadingWhitespace.js │ │ │ │ │ │ ├── rcheckableType.js │ │ │ │ │ │ ├── rscriptType.js │ │ │ │ │ │ └── nodeNames.js │ │ │ │ │ ├── _evalUrl.js │ │ │ │ │ ├── createSafeFragment.js │ │ │ │ │ ├── setGlobalEval.js │ │ │ │ │ ├── getAll.js │ │ │ │ │ ├── wrapMap.js │ │ │ │ │ └── support.js │ │ │ │ ├── data │ │ │ │ │ ├── var │ │ │ │ │ │ ├── dataPriv.js │ │ │ │ │ │ ├── dataUser.js │ │ │ │ │ │ └── acceptData.js │ │ │ │ │ ├── support.js │ │ │ │ │ └── accepts.js │ │ │ │ ├── core │ │ │ │ │ ├── var │ │ │ │ │ │ └── rsingleTag.js │ │ │ │ │ ├── DOMEval.js │ │ │ │ │ ├── support.js │ │ │ │ │ ├── parseHTML.js │ │ │ │ │ └── access.js │ │ │ │ ├── traversing │ │ │ │ │ └── var │ │ │ │ │ │ ├── rneedsContext.js │ │ │ │ │ │ ├── siblings.js │ │ │ │ │ │ └── dir.js │ │ │ │ ├── event │ │ │ │ │ ├── support.js │ │ │ │ │ ├── ajax.js │ │ │ │ │ ├── alias.js │ │ │ │ │ └── focusin.js │ │ │ │ ├── attributes.js │ │ │ │ ├── effects │ │ │ │ │ ├── animatedSelector.js │ │ │ │ │ └── support.js │ │ │ │ ├── selector-sizzle.js │ │ │ │ ├── .jshintrc │ │ │ │ ├── exports │ │ │ │ │ ├── global.js │ │ │ │ │ └── amd.js │ │ │ │ ├── deferred │ │ │ │ │ └── exceptionHook.js │ │ │ │ ├── queue │ │ │ │ │ └── delay.js │ │ │ │ ├── jquery.js │ │ │ │ ├── deprecated.js │ │ │ │ ├── attributes │ │ │ │ │ └── support.js │ │ │ │ ├── intro.js │ │ │ │ ├── wrap.js │ │ │ │ ├── support.js │ │ │ │ └── dimensions.js │ │ │ ├── bower.json │ │ │ ├── .bower.json │ │ │ └── LICENSE.txt │ │ ├── angular │ │ │ ├── index.js │ │ │ ├── angular.min.js.gzip │ │ │ ├── bower.json │ │ │ ├── angular-csp.css │ │ │ ├── .bower.json │ │ │ └── package.json │ │ ├── angular-moment │ │ │ ├── .npmignore │ │ │ ├── .gitignore │ │ │ ├── .travis.yml │ │ │ ├── .jshintrc │ │ │ ├── .editorconfig │ │ │ ├── bower.json │ │ │ ├── .bower.json │ │ │ ├── karma.conf.js │ │ │ ├── package.json │ │ │ ├── LICENSE │ │ │ ├── angular-moment.nuspec │ │ │ └── Gruntfile.js │ │ ├── sweetalert │ │ │ ├── .gitignore │ │ │ ├── sweetalert.gif │ │ │ ├── example │ │ │ │ └── images │ │ │ │ │ ├── logo_big.png │ │ │ │ │ ├── vs_icon.png │ │ │ │ │ ├── logo_small.png │ │ │ │ │ ├── thumbs-up.jpg │ │ │ │ │ ├── vs_icon@2x.png │ │ │ │ │ ├── logo_big@2x.png │ │ │ │ │ ├── logo_small@2x.png │ │ │ │ │ └── te-logo-small.svg │ │ │ ├── .travis.yml │ │ │ ├── .jshintrc │ │ │ ├── .editorconfig │ │ │ ├── dev │ │ │ │ ├── gulpfile-wrap-template.js │ │ │ │ ├── modules │ │ │ │ │ ├── default-params.js │ │ │ │ │ ├── utils.js │ │ │ │ │ └── injected-html.js │ │ │ │ └── ie9.css │ │ │ ├── bower.json │ │ │ ├── test │ │ │ │ └── index.html │ │ │ ├── lib │ │ │ │ └── modules │ │ │ │ │ ├── default-params.js │ │ │ │ │ └── injected-html.js │ │ │ ├── .bower.json │ │ │ ├── LICENSE │ │ │ └── package.json │ │ ├── moment │ │ │ ├── src │ │ │ │ ├── lib │ │ │ │ │ ├── locale │ │ │ │ │ │ ├── pre-post-format.js │ │ │ │ │ │ ├── constructor.js │ │ │ │ │ │ ├── invalid.js │ │ │ │ │ │ ├── ordinal.js │ │ │ │ │ │ ├── calendar.js │ │ │ │ │ │ ├── en.js │ │ │ │ │ │ ├── formats.js │ │ │ │ │ │ ├── relative.js │ │ │ │ │ │ ├── locale.js │ │ │ │ │ │ ├── lists.js │ │ │ │ │ │ └── set.js │ │ │ │ │ ├── moment │ │ │ │ │ │ ├── now.js │ │ │ │ │ │ ├── clone.js │ │ │ │ │ │ ├── creation-data.js │ │ │ │ │ │ ├── valid.js │ │ │ │ │ │ ├── to.js │ │ │ │ │ │ ├── from.js │ │ │ │ │ │ ├── moment.js │ │ │ │ │ │ ├── to-type.js │ │ │ │ │ │ ├── calendar.js │ │ │ │ │ │ ├── format.js │ │ │ │ │ │ ├── locale.js │ │ │ │ │ │ ├── get-set.js │ │ │ │ │ │ ├── start-end-of.js │ │ │ │ │ │ └── add-subtract.js │ │ │ │ │ ├── utils │ │ │ │ │ │ ├── is-undefined.js │ │ │ │ │ │ ├── has-own-prop.js │ │ │ │ │ │ ├── is-object.js │ │ │ │ │ │ ├── is-date.js │ │ │ │ │ │ ├── is-array.js │ │ │ │ │ │ ├── is-function.js │ │ │ │ │ │ ├── abs-ceil.js │ │ │ │ │ │ ├── map.js │ │ │ │ │ │ ├── abs-floor.js │ │ │ │ │ │ ├── abs-round.js │ │ │ │ │ │ ├── defaults.js │ │ │ │ │ │ ├── to-int.js │ │ │ │ │ │ ├── zero-fill.js │ │ │ │ │ │ ├── hooks.js │ │ │ │ │ │ ├── extend.js │ │ │ │ │ │ ├── compare-arrays.js │ │ │ │ │ │ └── deprecate.js │ │ │ │ │ ├── create │ │ │ │ │ │ ├── local.js │ │ │ │ │ │ ├── utc.js │ │ │ │ │ │ ├── from-object.js │ │ │ │ │ │ ├── parsing-flags.js │ │ │ │ │ │ ├── date-from-array.js │ │ │ │ │ │ ├── valid.js │ │ │ │ │ │ ├── check-overflow.js │ │ │ │ │ │ └── from-string-and-array.js │ │ │ │ │ ├── units │ │ │ │ │ │ ├── constants.js │ │ │ │ │ │ ├── timezone.js │ │ │ │ │ │ ├── units.js │ │ │ │ │ │ ├── timestamp.js │ │ │ │ │ │ ├── minute.js │ │ │ │ │ │ ├── second.js │ │ │ │ │ │ ├── quarter.js │ │ │ │ │ │ ├── aliases.js │ │ │ │ │ │ ├── day-of-month.js │ │ │ │ │ │ ├── day-of-year.js │ │ │ │ │ │ ├── week.js │ │ │ │ │ │ └── millisecond.js │ │ │ │ │ ├── duration │ │ │ │ │ │ ├── duration.js │ │ │ │ │ │ ├── abs.js │ │ │ │ │ │ ├── add-subtract.js │ │ │ │ │ │ ├── get.js │ │ │ │ │ │ ├── constructor.js │ │ │ │ │ │ ├── iso-string.js │ │ │ │ │ │ └── prototype.js │ │ │ │ │ └── parse │ │ │ │ │ │ └── token.js │ │ │ │ └── locale │ │ │ │ │ ├── ar-tn.js │ │ │ │ │ ├── fr-ca.js │ │ │ │ │ ├── km.js │ │ │ │ │ ├── ko.js │ │ │ │ │ ├── uz.js │ │ │ │ │ ├── sw.js │ │ │ │ │ ├── tzm.js │ │ │ │ │ ├── da.js │ │ │ │ │ ├── ar-ma.js │ │ │ │ │ ├── nn.js │ │ │ │ │ ├── tzm-latn.js │ │ │ │ │ ├── fo.js │ │ │ │ │ ├── tl-ph.js │ │ │ │ │ ├── fr.js │ │ │ │ │ ├── nb.js │ │ │ │ │ ├── fr-ch.js │ │ │ │ │ ├── pt-br.js │ │ │ │ │ ├── en-ca.js │ │ │ │ │ ├── ja.js │ │ │ │ │ ├── se.js │ │ │ │ │ ├── lo.js │ │ │ │ │ ├── pt.js │ │ │ │ │ └── sv.js │ │ │ ├── templates │ │ │ │ ├── globals.js │ │ │ │ ├── amd.js │ │ │ │ ├── amd-named.js │ │ │ │ ├── default.js │ │ │ │ ├── locale-header.js │ │ │ │ └── test-header.js │ │ │ ├── bower.json │ │ │ ├── .bower.json │ │ │ └── LICENSE │ │ ├── simplemde │ │ │ ├── .gitignore │ │ │ ├── .eslintrc │ │ │ ├── bower.json │ │ │ ├── .bower.json │ │ │ ├── .travis.yml │ │ │ ├── LICENSE │ │ │ ├── src │ │ │ │ └── js │ │ │ │ │ └── codemirror │ │ │ │ │ └── tablist.js │ │ │ └── CONTRIBUTING.md │ │ └── toastr │ │ │ ├── bower.json │ │ │ └── .bower.json │ └── favicon.ico └── views │ ├── layouts │ └── install.hbs │ └── partials │ └── discussion.hbs ├── .gitignore ├── Makefile ├── .bowerrc ├── app.js ├── .inch.yml ├── circle.yml ├── bower.json ├── .travis.yml ├── LICENSE ├── docs.config.json ├── wercker.yml └── package.json /lib/public/assets/js/script.js: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | flarum 2 | docs 3 | coverage 4 | ./app.js 5 | 6 | -------------------------------------------------------------------------------- /lib/public/bower_components/jquery/src/outro.js: -------------------------------------------------------------------------------- 1 | return jQuery; 2 | })); 3 | -------------------------------------------------------------------------------- /Makefile: -------------------------------------------------------------------------------- 1 | test: 2 | ./node_modules/.bin/mocha --reporter spec 3 | 4 | .PHONY: test 5 | -------------------------------------------------------------------------------- /lib/public/bower_components/angular/index.js: -------------------------------------------------------------------------------- 1 | require('./angular'); 2 | module.exports = angular; 3 | -------------------------------------------------------------------------------- /lib/public/bower_components/jquery/src/var/arr.js: -------------------------------------------------------------------------------- 1 | define( function() { 2 | return []; 3 | } ); 4 | -------------------------------------------------------------------------------- /lib/public/favicon.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/FlarumJS/node-flarum/HEAD/lib/public/favicon.ico -------------------------------------------------------------------------------- /lib/public/bower_components/jquery/src/selector.js: -------------------------------------------------------------------------------- 1 | define( [ "./selector-sizzle" ], function() {} ); 2 | -------------------------------------------------------------------------------- /lib/public/bower_components/jquery/src/var/deletedIds.js: -------------------------------------------------------------------------------- 1 | define( function() { 2 | return []; 3 | } ); 4 | -------------------------------------------------------------------------------- /lib/public/bower_components/jquery/src/ajax/var/rquery.js: -------------------------------------------------------------------------------- 1 | define( function() { 2 | return ( /\?/ ); 3 | } ); 4 | -------------------------------------------------------------------------------- /lib/public/bower_components/jquery/src/var/rnotwhite.js: -------------------------------------------------------------------------------- 1 | define( function() { 2 | return ( /\S+/g ); 3 | } ); 4 | -------------------------------------------------------------------------------- /lib/public/bower_components/angular-moment/.npmignore: -------------------------------------------------------------------------------- 1 | .idea 2 | bower_components 3 | node_modules 4 | coverage 5 | -------------------------------------------------------------------------------- /lib/public/bower_components/jquery/src/css/var/rmargin.js: -------------------------------------------------------------------------------- 1 | define( function() { 2 | return ( /^margin/ ); 3 | } ); 4 | -------------------------------------------------------------------------------- /lib/public/bower_components/jquery/src/var/document.js: -------------------------------------------------------------------------------- 1 | define( function() { 2 | return window.document; 3 | } ); 4 | -------------------------------------------------------------------------------- /lib/public/bower_components/jquery/src/ajax/var/location.js: -------------------------------------------------------------------------------- 1 | define( function() { 2 | return window.location; 3 | } ); 4 | -------------------------------------------------------------------------------- /lib/public/bower_components/angular-moment/.gitignore: -------------------------------------------------------------------------------- 1 | /.idea 2 | /bower_components 3 | /node_modules 4 | /coverage 5 | npm-debug.log -------------------------------------------------------------------------------- /lib/public/bower_components/jquery/src/manipulation/var/rtagName.js: -------------------------------------------------------------------------------- 1 | define( function() { 2 | return ( /<([\w:-]+)/ ); 3 | } ); 4 | -------------------------------------------------------------------------------- /lib/public/bower_components/jquery/src/var/push.js: -------------------------------------------------------------------------------- 1 | define( [ 2 | "./arr" 3 | ], function( arr ) { 4 | return arr.push; 5 | } ); 6 | -------------------------------------------------------------------------------- /lib/public/bower_components/sweetalert/.gitignore: -------------------------------------------------------------------------------- 1 | *.codekit 2 | *.sass-cache 3 | *.DS_STORE 4 | node_modules 5 | bower_components 6 | -------------------------------------------------------------------------------- /lib/public/assets/fonts/FontAwesome.otf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/FlarumJS/node-flarum/HEAD/lib/public/assets/fonts/FontAwesome.otf -------------------------------------------------------------------------------- /lib/public/bower_components/jquery/src/manipulation/var/rleadingWhitespace.js: -------------------------------------------------------------------------------- 1 | define( function() { 2 | return ( /^\s+/ ); 3 | } ); 4 | -------------------------------------------------------------------------------- /lib/public/bower_components/jquery/src/var/concat.js: -------------------------------------------------------------------------------- 1 | define( [ 2 | "./arr" 3 | ], function( arr ) { 4 | return arr.concat; 5 | } ); 6 | -------------------------------------------------------------------------------- /lib/public/bower_components/jquery/src/var/slice.js: -------------------------------------------------------------------------------- 1 | define( [ 2 | "./arr" 3 | ], function( arr ) { 4 | return arr.slice; 5 | } ); 6 | -------------------------------------------------------------------------------- /.bowerrc: -------------------------------------------------------------------------------- 1 | { 2 | "directory": "lib/public/bower_components", 3 | "timeout": 120000, 4 | "color": true, 5 | "interactive": true 6 | } 7 | -------------------------------------------------------------------------------- /lib/public/bower_components/jquery/src/css/var/cssExpand.js: -------------------------------------------------------------------------------- 1 | define( function() { 2 | return [ "Top", "Right", "Bottom", "Left" ]; 3 | } ); 4 | -------------------------------------------------------------------------------- /lib/public/bower_components/jquery/src/var/class2type.js: -------------------------------------------------------------------------------- 1 | define( function() { 2 | 3 | // [[Class]] -> type pairs 4 | return {}; 5 | } ); 6 | -------------------------------------------------------------------------------- /lib/public/bower_components/jquery/src/var/indexOf.js: -------------------------------------------------------------------------------- 1 | define( [ 2 | "./arr" 3 | ], function( arr ) { 4 | return arr.indexOf; 5 | } ); 6 | -------------------------------------------------------------------------------- /lib/public/bower_components/jquery/src/data/var/dataPriv.js: -------------------------------------------------------------------------------- 1 | define( [ 2 | "../Data" 3 | ], function( Data ) { 4 | return new Data(); 5 | } ); 6 | -------------------------------------------------------------------------------- /lib/public/bower_components/jquery/src/data/var/dataUser.js: -------------------------------------------------------------------------------- 1 | define( [ 2 | "../Data" 3 | ], function( Data ) { 4 | return new Data(); 5 | } ); 6 | -------------------------------------------------------------------------------- /lib/public/bower_components/jquery/src/manipulation/var/rcheckableType.js: -------------------------------------------------------------------------------- 1 | define( function() { 2 | return ( /^(?:checkbox|radio)$/i ); 3 | } ); 4 | -------------------------------------------------------------------------------- /lib/public/bower_components/jquery/src/var/pnum.js: -------------------------------------------------------------------------------- 1 | define( function() { 2 | return ( /[+-]?(?:\d*\.|)\d+(?:[eE][+-]?\d+|)/ ).source; 3 | } ); 4 | -------------------------------------------------------------------------------- /lib/public/bower_components/moment/src/lib/locale/pre-post-format.js: -------------------------------------------------------------------------------- 1 | export function preParsePostFormat (string) { 2 | return string; 3 | } 4 | -------------------------------------------------------------------------------- /lib/public/assets/fonts/fontawesome-webfont.eot: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/FlarumJS/node-flarum/HEAD/lib/public/assets/fonts/fontawesome-webfont.eot -------------------------------------------------------------------------------- /lib/public/assets/fonts/fontawesome-webfont.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/FlarumJS/node-flarum/HEAD/lib/public/assets/fonts/fontawesome-webfont.ttf -------------------------------------------------------------------------------- /lib/public/assets/fonts/fontawesome-webfont.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/FlarumJS/node-flarum/HEAD/lib/public/assets/fonts/fontawesome-webfont.woff -------------------------------------------------------------------------------- /lib/public/bower_components/jquery/src/ajax/var/nonce.js: -------------------------------------------------------------------------------- 1 | define( [ 2 | "../../core" 3 | ], function( jQuery ) { 4 | return jQuery.now(); 5 | } ); 6 | -------------------------------------------------------------------------------- /lib/public/bower_components/jquery/src/manipulation/var/rscriptType.js: -------------------------------------------------------------------------------- 1 | define( function() { 2 | return ( /^$|\/(?:java|ecma)script/i ); 3 | } ); 4 | -------------------------------------------------------------------------------- /lib/public/bower_components/moment/src/lib/moment/now.js: -------------------------------------------------------------------------------- 1 | export var now = function () { 2 | return Date.now ? Date.now() : +(new Date()); 3 | }; 4 | -------------------------------------------------------------------------------- /lib/public/bower_components/moment/src/lib/utils/is-undefined.js: -------------------------------------------------------------------------------- 1 | export default function isUndefined(input) { 2 | return input === void 0; 3 | } 4 | -------------------------------------------------------------------------------- /lib/public/assets/fonts/fontawesome-webfont.woff2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/FlarumJS/node-flarum/HEAD/lib/public/assets/fonts/fontawesome-webfont.woff2 -------------------------------------------------------------------------------- /lib/public/bower_components/moment/templates/globals.js: -------------------------------------------------------------------------------- 1 | /*global window:false*/ 2 | 3 | import moment from "./moment"; 4 | 5 | window.moment = moment; 6 | -------------------------------------------------------------------------------- /lib/public/bower_components/jquery/src/var/toString.js: -------------------------------------------------------------------------------- 1 | define( [ 2 | "./class2type" 3 | ], function( class2type ) { 4 | return class2type.toString; 5 | } ); 6 | -------------------------------------------------------------------------------- /lib/public/bower_components/sweetalert/sweetalert.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/FlarumJS/node-flarum/HEAD/lib/public/bower_components/sweetalert/sweetalert.gif -------------------------------------------------------------------------------- /lib/public/bower_components/angular/angular.min.js.gzip: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/FlarumJS/node-flarum/HEAD/lib/public/bower_components/angular/angular.min.js.gzip -------------------------------------------------------------------------------- /lib/public/bower_components/jquery/src/var/hasOwn.js: -------------------------------------------------------------------------------- 1 | define( [ 2 | "./class2type" 3 | ], function( class2type ) { 4 | return class2type.hasOwnProperty; 5 | } ); 6 | -------------------------------------------------------------------------------- /lib/public/bower_components/jquery/src/var/documentElement.js: -------------------------------------------------------------------------------- 1 | define( [ 2 | "./document" 3 | ], function( document ) { 4 | return document.documentElement; 5 | } ); 6 | -------------------------------------------------------------------------------- /lib/public/bower_components/jquery/src/var/support.js: -------------------------------------------------------------------------------- 1 | define( function() { 2 | 3 | // All support tests are defined in their respective modules. 4 | return {}; 5 | } ); 6 | -------------------------------------------------------------------------------- /lib/public/bower_components/moment/src/lib/locale/constructor.js: -------------------------------------------------------------------------------- 1 | export function Locale(config) { 2 | if (config != null) { 3 | this.set(config); 4 | } 5 | } 6 | -------------------------------------------------------------------------------- /lib/public/bower_components/moment/src/lib/moment/clone.js: -------------------------------------------------------------------------------- 1 | import { Moment } from './constructor'; 2 | 3 | export function clone () { 4 | return new Moment(this); 5 | } 6 | -------------------------------------------------------------------------------- /lib/public/bower_components/moment/src/lib/utils/has-own-prop.js: -------------------------------------------------------------------------------- 1 | export default function hasOwnProp(a, b) { 2 | return Object.prototype.hasOwnProperty.call(a, b); 3 | } 4 | -------------------------------------------------------------------------------- /lib/public/bower_components/simplemde/.gitignore: -------------------------------------------------------------------------------- 1 | localtesting/ 2 | node_modules/ 3 | bower_components/ 4 | 5 | #For IDE 6 | *.iml 7 | *.ipr 8 | *.iws 9 | .idea/ 10 | -------------------------------------------------------------------------------- /lib/public/bower_components/jquery/src/core/var/rsingleTag.js: -------------------------------------------------------------------------------- 1 | define( function() { 2 | 3 | // Match a standalone tag 4 | return ( /^<([\w-]+)\s*\/?>(?:<\/\1>|)$/ ); 5 | } ); 6 | -------------------------------------------------------------------------------- /lib/public/bower_components/moment/templates/amd.js: -------------------------------------------------------------------------------- 1 | /*global define:false*/ 2 | 3 | import moment from "./moment"; 4 | 5 | define([], function () { 6 | return moment; 7 | }); 8 | -------------------------------------------------------------------------------- /lib/public/bower_components/sweetalert/example/images/logo_big.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/FlarumJS/node-flarum/HEAD/lib/public/bower_components/sweetalert/example/images/logo_big.png -------------------------------------------------------------------------------- /lib/public/bower_components/sweetalert/example/images/vs_icon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/FlarumJS/node-flarum/HEAD/lib/public/bower_components/sweetalert/example/images/vs_icon.png -------------------------------------------------------------------------------- /lib/public/bower_components/moment/src/lib/utils/is-object.js: -------------------------------------------------------------------------------- 1 | export default function isObject(input) { 2 | return Object.prototype.toString.call(input) === '[object Object]'; 3 | } 4 | -------------------------------------------------------------------------------- /lib/public/bower_components/sweetalert/example/images/logo_small.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/FlarumJS/node-flarum/HEAD/lib/public/bower_components/sweetalert/example/images/logo_small.png -------------------------------------------------------------------------------- /lib/public/bower_components/sweetalert/example/images/thumbs-up.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/FlarumJS/node-flarum/HEAD/lib/public/bower_components/sweetalert/example/images/thumbs-up.jpg -------------------------------------------------------------------------------- /lib/public/bower_components/sweetalert/example/images/vs_icon@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/FlarumJS/node-flarum/HEAD/lib/public/bower_components/sweetalert/example/images/vs_icon@2x.png -------------------------------------------------------------------------------- /lib/public/bower_components/jquery/src/css/var/rnumnonpx.js: -------------------------------------------------------------------------------- 1 | define( [ 2 | "../../var/pnum" 3 | ], function( pnum ) { 4 | return new RegExp( "^(" + pnum + ")(?!px)[a-z%]+$", "i" ); 5 | } ); 6 | -------------------------------------------------------------------------------- /lib/public/bower_components/moment/src/lib/locale/invalid.js: -------------------------------------------------------------------------------- 1 | export var defaultInvalidDate = 'Invalid date'; 2 | 3 | export function invalidDate () { 4 | return this._invalidDate; 5 | } 6 | -------------------------------------------------------------------------------- /lib/public/bower_components/sweetalert/example/images/logo_big@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/FlarumJS/node-flarum/HEAD/lib/public/bower_components/sweetalert/example/images/logo_big@2x.png -------------------------------------------------------------------------------- /lib/public/bower_components/sweetalert/example/images/logo_small@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/FlarumJS/node-flarum/HEAD/lib/public/bower_components/sweetalert/example/images/logo_small@2x.png -------------------------------------------------------------------------------- /lib/public/bower_components/jquery/src/var/rcssNum.js: -------------------------------------------------------------------------------- 1 | define( [ 2 | "../var/pnum" 3 | ], function( pnum ) { 4 | 5 | return new RegExp( "^(?:([+-])=|)(" + pnum + ")([a-z%]*)$", "i" ); 6 | 7 | } ); 8 | -------------------------------------------------------------------------------- /lib/public/bower_components/moment/templates/amd-named.js: -------------------------------------------------------------------------------- 1 | /*global define:false*/ 2 | 3 | import moment from "./moment"; 4 | 5 | define("moment", [], function () { 6 | return moment; 7 | }); 8 | -------------------------------------------------------------------------------- /lib/public/bower_components/jquery/src/traversing/var/rneedsContext.js: -------------------------------------------------------------------------------- 1 | define( [ 2 | "../../core", 3 | "../../selector" 4 | ], function( jQuery ) { 5 | return jQuery.expr.match.needsContext; 6 | } ); 7 | -------------------------------------------------------------------------------- /lib/public/bower_components/moment/src/lib/utils/is-date.js: -------------------------------------------------------------------------------- 1 | export default function isDate(input) { 2 | return input instanceof Date || Object.prototype.toString.call(input) === '[object Date]'; 3 | } 4 | -------------------------------------------------------------------------------- /lib/public/bower_components/toastr/bower.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "toastr", 3 | "version": "2.1.2", 4 | "main": ["toastr.js", "toastr.css"], 5 | "dependencies": { 6 | "jquery": ">=1.6.3" 7 | } 8 | } 9 | -------------------------------------------------------------------------------- /lib/public/bower_components/moment/src/lib/utils/is-array.js: -------------------------------------------------------------------------------- 1 | export default function isArray(input) { 2 | return input instanceof Array || Object.prototype.toString.call(input) === '[object Array]'; 3 | } 4 | -------------------------------------------------------------------------------- /lib/views/layouts/install.hbs: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | {{title}} 6 | 7 | 8 | {{{body}}} 9 | 10 | 11 | -------------------------------------------------------------------------------- /lib/public/bower_components/jquery/src/event/support.js: -------------------------------------------------------------------------------- 1 | define( [ 2 | "../var/support" 3 | ], function( support ) { 4 | 5 | support.focusin = "onfocusin" in window; 6 | 7 | return support; 8 | 9 | } ); 10 | -------------------------------------------------------------------------------- /lib/public/bower_components/sweetalert/.travis.yml: -------------------------------------------------------------------------------- 1 | language: node_js 2 | node_js: 3 | - "0.12" 4 | before script: 5 | - npm install -g gulp 6 | - npm install -g bower 7 | - bower install 8 | script: gulp test 9 | -------------------------------------------------------------------------------- /lib/public/bower_components/angular/bower.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "angular", 3 | "version": "1.5.0", 4 | "license": "MIT", 5 | "main": "./angular.js", 6 | "ignore": [], 7 | "dependencies": { 8 | } 9 | } 10 | -------------------------------------------------------------------------------- /lib/public/bower_components/moment/src/lib/utils/is-function.js: -------------------------------------------------------------------------------- 1 | export default function isFunction(input) { 2 | return input instanceof Function || Object.prototype.toString.call(input) === '[object Function]'; 3 | } 4 | -------------------------------------------------------------------------------- /lib/public/bower_components/moment/src/lib/utils/abs-ceil.js: -------------------------------------------------------------------------------- 1 | export default function absCeil (number) { 2 | if (number < 0) { 3 | return Math.floor(number); 4 | } else { 5 | return Math.ceil(number); 6 | } 7 | } 8 | -------------------------------------------------------------------------------- /lib/public/bower_components/moment/src/lib/utils/map.js: -------------------------------------------------------------------------------- 1 | export default function map(arr, fn) { 2 | var res = [], i; 3 | for (i = 0; i < arr.length; ++i) { 4 | res.push(fn(arr[i], i)); 5 | } 6 | return res; 7 | } 8 | -------------------------------------------------------------------------------- /lib/public/bower_components/sweetalert/.jshintrc: -------------------------------------------------------------------------------- 1 | { 2 | "predef": [ 3 | "document", 4 | "window", 5 | "module", 6 | "define" 7 | ], 8 | "browser": true, 9 | "esnext": true, 10 | "validthis": true 11 | } 12 | -------------------------------------------------------------------------------- /lib/public/bower_components/moment/src/lib/utils/abs-floor.js: -------------------------------------------------------------------------------- 1 | export default function absFloor (number) { 2 | if (number < 0) { 3 | return Math.ceil(number); 4 | } else { 5 | return Math.floor(number); 6 | } 7 | } 8 | -------------------------------------------------------------------------------- /lib/public/bower_components/moment/src/lib/locale/ordinal.js: -------------------------------------------------------------------------------- 1 | export var defaultOrdinal = '%d'; 2 | export var defaultOrdinalParse = /\d{1,2}/; 3 | 4 | export function ordinal (number) { 5 | return this._ordinal.replace('%d', number); 6 | } 7 | 8 | -------------------------------------------------------------------------------- /lib/public/bower_components/moment/src/lib/utils/abs-round.js: -------------------------------------------------------------------------------- 1 | export default function absRound (number) { 2 | if (number < 0) { 3 | return Math.round(-1 * number) * -1; 4 | } else { 5 | return Math.round(number); 6 | } 7 | } 8 | -------------------------------------------------------------------------------- /lib/public/bower_components/angular-moment/.travis.yml: -------------------------------------------------------------------------------- 1 | language: node_js 2 | sudo: false 3 | node_js: 4 | - "0.10" 5 | before_script: 6 | - npm run bower 7 | after_success: 8 | - cat ./coverage/*/lcov.info | ./node_modules/coveralls/bin/coveralls.js 9 | -------------------------------------------------------------------------------- /lib/public/bower_components/moment/src/lib/create/local.js: -------------------------------------------------------------------------------- 1 | import { createLocalOrUTC } from './from-anything'; 2 | 3 | export function createLocal (input, format, locale, strict) { 4 | return createLocalOrUTC(input, format, locale, strict, false); 5 | } 6 | -------------------------------------------------------------------------------- /lib/public/bower_components/moment/src/lib/create/utc.js: -------------------------------------------------------------------------------- 1 | import { createLocalOrUTC } from './from-anything'; 2 | 3 | export function createUTC (input, format, locale, strict) { 4 | return createLocalOrUTC(input, format, locale, strict, true).utc(); 5 | } 6 | -------------------------------------------------------------------------------- /lib/public/bower_components/sweetalert/.editorconfig: -------------------------------------------------------------------------------- 1 | # editorconfig.org 2 | 3 | root = true 4 | 5 | [*] 6 | charset = utf-8 7 | end_of_line = lf 8 | indent_size = 2 9 | indent_style = space 10 | insert_final_newline = true 11 | trim_trailing_whitespace = true 12 | -------------------------------------------------------------------------------- /lib/public/bower_components/jquery/bower.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "jquery", 3 | "main": "dist/jquery.js", 4 | "license": "MIT", 5 | "ignore": [ 6 | "package.json" 7 | ], 8 | "keywords": [ 9 | "jquery", 10 | "javascript", 11 | "browser", 12 | "library" 13 | ] 14 | } -------------------------------------------------------------------------------- /lib/public/bower_components/moment/src/lib/moment/creation-data.js: -------------------------------------------------------------------------------- 1 | export function creationData() { 2 | return { 3 | input: this._i, 4 | format: this._f, 5 | locale: this._locale, 6 | isUTC: this._isUTC, 7 | strict: this._strict 8 | }; 9 | } 10 | -------------------------------------------------------------------------------- /lib/public/bower_components/jquery/src/attributes.js: -------------------------------------------------------------------------------- 1 | define( [ 2 | "./core", 3 | "./attributes/attr", 4 | "./attributes/prop", 5 | "./attributes/classes", 6 | "./attributes/val" 7 | ], function( jQuery ) { 8 | 9 | // Return jQuery for attributes-only inclusion 10 | return jQuery; 11 | } ); 12 | -------------------------------------------------------------------------------- /lib/public/bower_components/moment/src/lib/units/constants.js: -------------------------------------------------------------------------------- 1 | export var YEAR = 0; 2 | export var MONTH = 1; 3 | export var DATE = 2; 4 | export var HOUR = 3; 5 | export var MINUTE = 4; 6 | export var SECOND = 5; 7 | export var MILLISECOND = 6; 8 | export var WEEK = 7; 9 | export var WEEKDAY = 8; 10 | -------------------------------------------------------------------------------- /lib/public/bower_components/moment/src/lib/utils/defaults.js: -------------------------------------------------------------------------------- 1 | // Pick the first defined of two or three arguments. 2 | export default function defaults(a, b, c) { 3 | if (a != null) { 4 | return a; 5 | } 6 | if (b != null) { 7 | return b; 8 | } 9 | return c; 10 | } 11 | -------------------------------------------------------------------------------- /app.js: -------------------------------------------------------------------------------- 1 | var http = require('http'); 2 | var connect = require('connect'); 3 | var bodyParser = require('connect-hopeful-body-parser'); 4 | 5 | var flarum = require('./index'); 6 | 7 | var app = connect(); 8 | 9 | app.use(bodyParser()); 10 | app.use(flarum); 11 | 12 | http.createServer(app).listen(8080); 13 | -------------------------------------------------------------------------------- /lib/public/bower_components/jquery/src/manipulation/var/nodeNames.js: -------------------------------------------------------------------------------- 1 | define( function() { 2 | return "abbr|article|aside|audio|bdi|canvas|data|datalist|" + 3 | "details|dialog|figcaption|figure|footer|header|hgroup|main|" + 4 | "mark|meter|nav|output|picture|progress|section|summary|template|time|video"; 5 | } ); 6 | -------------------------------------------------------------------------------- /lib/public/bower_components/moment/templates/default.js: -------------------------------------------------------------------------------- 1 | ;(function (global, factory) { 2 | typeof exports === 'object' && typeof module !== 'undefined' ? module.exports = factory() : 3 | typeof define === 'function' && define.amd ? define(factory) : 4 | global.moment = factory() 5 | }(this, function () { 'use strict'; 6 | -------------------------------------------------------------------------------- /lib/views/partials/discussion.hbs: -------------------------------------------------------------------------------- 1 |
2 |

{{discussion.title}}

3 |
4 | {{#each discussion.post}} 5 |
6 |

{{username}}

7 |
8 | {{content}} 9 |
10 |
11 | {{/each}} 12 |
13 |
14 | -------------------------------------------------------------------------------- /lib/public/bower_components/jquery/src/ajax/parseJSON.js: -------------------------------------------------------------------------------- 1 | define( [ 2 | "../core" 3 | ], function( jQuery ) { 4 | 5 | // Support: Android 2.3 6 | // Workaround failure to string-cast null input 7 | jQuery.parseJSON = function( data ) { 8 | return JSON.parse( data + "" ); 9 | }; 10 | 11 | return jQuery.parseJSON; 12 | 13 | } ); 14 | -------------------------------------------------------------------------------- /lib/public/bower_components/jquery/src/traversing/var/siblings.js: -------------------------------------------------------------------------------- 1 | define( function() { 2 | 3 | return function( n, elem ) { 4 | var matched = []; 5 | 6 | for ( ; n; n = n.nextSibling ) { 7 | if ( n.nodeType === 1 && n !== elem ) { 8 | matched.push( n ); 9 | } 10 | } 11 | 12 | return matched; 13 | }; 14 | 15 | } ); 16 | -------------------------------------------------------------------------------- /lib/public/bower_components/jquery/src/effects/animatedSelector.js: -------------------------------------------------------------------------------- 1 | define( [ 2 | "../core", 3 | "../selector", 4 | "../effects" 5 | ], function( jQuery ) { 6 | 7 | jQuery.expr.filters.animated = function( elem ) { 8 | return jQuery.grep( jQuery.timers, function( fn ) { 9 | return elem === fn.elem; 10 | } ).length; 11 | }; 12 | 13 | } ); 14 | -------------------------------------------------------------------------------- /lib/public/bower_components/moment/src/lib/duration/duration.js: -------------------------------------------------------------------------------- 1 | // Side effect imports 2 | import './prototype'; 3 | 4 | import { createDuration } from './create'; 5 | import { isDuration } from './constructor'; 6 | import { getSetRelativeTimeThreshold } from './humanize'; 7 | 8 | export { 9 | createDuration, 10 | isDuration, 11 | getSetRelativeTimeThreshold 12 | }; 13 | -------------------------------------------------------------------------------- /lib/public/bower_components/jquery/src/core/DOMEval.js: -------------------------------------------------------------------------------- 1 | define( [ 2 | "../var/document" 3 | ], function( document ) { 4 | function DOMEval( code, doc ) { 5 | doc = doc || document; 6 | 7 | var script = doc.createElement( "script" ); 8 | 9 | script.text = code; 10 | doc.head.appendChild( script ).parentNode.removeChild( script ); 11 | } 12 | 13 | return DOMEval; 14 | } ); 15 | -------------------------------------------------------------------------------- /lib/public/bower_components/moment/src/lib/utils/to-int.js: -------------------------------------------------------------------------------- 1 | import absFloor from './abs-floor'; 2 | 3 | export default function toInt(argumentForCoercion) { 4 | var coercedNumber = +argumentForCoercion, 5 | value = 0; 6 | 7 | if (coercedNumber !== 0 && isFinite(coercedNumber)) { 8 | value = absFloor(coercedNumber); 9 | } 10 | 11 | return value; 12 | } 13 | -------------------------------------------------------------------------------- /lib/public/bower_components/moment/templates/locale-header.js: -------------------------------------------------------------------------------- 1 | ;(function (global, factory) { 2 | typeof exports === 'object' && typeof module !== 'undefined' 3 | && typeof require === 'function' ? factory(require('../moment')) : 4 | typeof define === 'function' && define.amd ? define(['moment'], factory) : 5 | factory(global.moment) 6 | }(this, function (moment) { 'use strict'; 7 | -------------------------------------------------------------------------------- /lib/public/bower_components/moment/templates/test-header.js: -------------------------------------------------------------------------------- 1 | ;(function (global, factory) { 2 | typeof exports === 'object' && typeof module !== 'undefined' 3 | && typeof require === 'function' ? factory(require('../../moment')) : 4 | typeof define === 'function' && define.amd ? define(['../../moment'], factory) : 5 | factory(global.moment) 6 | }(this, function (moment) { 'use strict'; 7 | -------------------------------------------------------------------------------- /lib/public/bower_components/moment/src/lib/utils/zero-fill.js: -------------------------------------------------------------------------------- 1 | export default function zeroFill(number, targetLength, forceSign) { 2 | var absNumber = '' + Math.abs(number), 3 | zerosToFill = targetLength - absNumber.length, 4 | sign = number >= 0; 5 | return (sign ? (forceSign ? '+' : '') : '-') + 6 | Math.pow(10, Math.max(0, zerosToFill)).toString().substr(1) + absNumber; 7 | } 8 | -------------------------------------------------------------------------------- /lib/public/bower_components/moment/src/lib/utils/hooks.js: -------------------------------------------------------------------------------- 1 | export { hooks, setHookCallback }; 2 | 3 | var hookCallback; 4 | 5 | function hooks () { 6 | return hookCallback.apply(null, arguments); 7 | } 8 | 9 | // This is done to register the method called with moment() 10 | // without creating circular dependencies. 11 | function setHookCallback (callback) { 12 | hookCallback = callback; 13 | } 14 | -------------------------------------------------------------------------------- /lib/public/bower_components/simplemde/.eslintrc: -------------------------------------------------------------------------------- 1 | { 2 | "rules": { 3 | "indent": [ 4 | 2, 5 | "tab" 6 | ], 7 | "strict": 0, 8 | "no-console": 0, 9 | "quotes": [ 10 | 2, 11 | "double" 12 | ], 13 | "semi": [ 14 | 2, 15 | "always" 16 | ] 17 | }, 18 | "env": { 19 | "browser": true, 20 | "node":true 21 | }, 22 | "extends": "eslint:recommended" 23 | } -------------------------------------------------------------------------------- /.inch.yml: -------------------------------------------------------------------------------- 1 | files: 2 | # define files included in the analysis (defaults to ["{app,lib}/**/*.rb"]) 3 | included: 4 | - lib/**/*.js 5 | - lib/**/**/*.js 6 | # define files excluded from the analysis (defaults to []) 7 | excluded: 8 | - lib/public/assets/angular/angular.min.js 9 | - lib/public/assets/js/marked.min.js 10 | - lib/public/assets/js/prism.min.js 11 | - lib/public/assets/js/forum-8a0805bb.js 12 | -------------------------------------------------------------------------------- /lib/public/bower_components/jquery/src/selector-sizzle.js: -------------------------------------------------------------------------------- 1 | define( [ 2 | "./core", 3 | "../external/sizzle/dist/sizzle" 4 | ], function( jQuery, Sizzle ) { 5 | 6 | jQuery.find = Sizzle; 7 | jQuery.expr = Sizzle.selectors; 8 | jQuery.expr[ ":" ] = jQuery.expr.pseudos; 9 | jQuery.uniqueSort = jQuery.unique = Sizzle.uniqueSort; 10 | jQuery.text = Sizzle.getText; 11 | jQuery.isXMLDoc = Sizzle.isXML; 12 | jQuery.contains = Sizzle.contains; 13 | 14 | } ); 15 | -------------------------------------------------------------------------------- /lib/public/bower_components/moment/src/lib/units/timezone.js: -------------------------------------------------------------------------------- 1 | import { addFormatToken } from '../format/format'; 2 | 3 | // FORMATTING 4 | 5 | addFormatToken('z', 0, 0, 'zoneAbbr'); 6 | addFormatToken('zz', 0, 0, 'zoneName'); 7 | 8 | // MOMENTS 9 | 10 | export function getZoneAbbr () { 11 | return this._isUTC ? 'UTC' : ''; 12 | } 13 | 14 | export function getZoneName () { 15 | return this._isUTC ? 'Coordinated Universal Time' : ''; 16 | } 17 | -------------------------------------------------------------------------------- /lib/public/bower_components/jquery/src/data/var/acceptData.js: -------------------------------------------------------------------------------- 1 | define( function() { 2 | 3 | /** 4 | * Determines whether an object can have data 5 | */ 6 | return function( owner ) { 7 | 8 | // Accepts only: 9 | // - Node 10 | // - Node.ELEMENT_NODE 11 | // - Node.DOCUMENT_NODE 12 | // - Object 13 | // - Any 14 | /* jshint -W018 */ 15 | return owner.nodeType === 1 || owner.nodeType === 9 || !( +owner.nodeType ); 16 | }; 17 | 18 | } ); 19 | -------------------------------------------------------------------------------- /lib/public/bower_components/jquery/src/event/ajax.js: -------------------------------------------------------------------------------- 1 | define( [ 2 | "../core", 3 | "../event" 4 | ], function( jQuery ) { 5 | 6 | // Attach a bunch of functions for handling common AJAX events 7 | jQuery.each( [ 8 | "ajaxStart", 9 | "ajaxStop", 10 | "ajaxComplete", 11 | "ajaxError", 12 | "ajaxSuccess", 13 | "ajaxSend" 14 | ], function( i, type ) { 15 | jQuery.fn[ type ] = function( fn ) { 16 | return this.on( type, fn ); 17 | }; 18 | } ); 19 | 20 | } ); 21 | -------------------------------------------------------------------------------- /lib/public/bower_components/jquery/src/manipulation/_evalUrl.js: -------------------------------------------------------------------------------- 1 | define( [ 2 | "../ajax" 3 | ], function( jQuery ) { 4 | 5 | jQuery._evalUrl = function( url ) { 6 | return jQuery.ajax( { 7 | url: url, 8 | 9 | // Make this explicit, since user can override this through ajaxSetup (#11264) 10 | type: "GET", 11 | dataType: "script", 12 | async: false, 13 | global: false, 14 | "throws": true 15 | } ); 16 | }; 17 | 18 | return jQuery._evalUrl; 19 | 20 | } ); 21 | -------------------------------------------------------------------------------- /lib/public/bower_components/angular/angular-csp.css: -------------------------------------------------------------------------------- 1 | /* Include this file in your html if you are using the CSP mode. */ 2 | 3 | @charset "UTF-8"; 4 | 5 | [ng\:cloak], [ng-cloak], [data-ng-cloak], [x-ng-cloak], 6 | .ng-cloak, .x-ng-cloak, 7 | .ng-hide:not(.ng-hide-animate) { 8 | display: none !important; 9 | } 10 | 11 | ng\:form { 12 | display: block; 13 | } 14 | 15 | .ng-animate-shim { 16 | visibility:hidden; 17 | } 18 | 19 | .ng-anchor { 20 | position:absolute; 21 | } 22 | -------------------------------------------------------------------------------- /lib/public/bower_components/jquery/src/css/var/isHidden.js: -------------------------------------------------------------------------------- 1 | define( [ 2 | "../../core", 3 | "../../selector" 4 | 5 | // css is assumed 6 | ], function( jQuery ) { 7 | 8 | return function( elem, el ) { 9 | 10 | // isHidden might be called from jQuery#filter function; 11 | // in that case, element will be second argument 12 | elem = el || elem; 13 | return jQuery.css( elem, "display" ) === "none" || 14 | !jQuery.contains( elem.ownerDocument, elem ); 15 | }; 16 | } ); 17 | -------------------------------------------------------------------------------- /lib/public/bower_components/moment/src/lib/moment/valid.js: -------------------------------------------------------------------------------- 1 | import { isValid as _isValid } from '../create/valid'; 2 | import extend from '../utils/extend'; 3 | import getParsingFlags from '../create/parsing-flags'; 4 | 5 | export function isValid () { 6 | return _isValid(this); 7 | } 8 | 9 | export function parsingFlags () { 10 | return extend({}, getParsingFlags(this)); 11 | } 12 | 13 | export function invalidAt () { 14 | return getParsingFlags(this).overflow; 15 | } 16 | -------------------------------------------------------------------------------- /lib/public/bower_components/moment/src/lib/utils/extend.js: -------------------------------------------------------------------------------- 1 | import hasOwnProp from './has-own-prop'; 2 | 3 | export default function extend(a, b) { 4 | for (var i in b) { 5 | if (hasOwnProp(b, i)) { 6 | a[i] = b[i]; 7 | } 8 | } 9 | 10 | if (hasOwnProp(b, 'toString')) { 11 | a.toString = b.toString; 12 | } 13 | 14 | if (hasOwnProp(b, 'valueOf')) { 15 | a.valueOf = b.valueOf; 16 | } 17 | 18 | return a; 19 | } 20 | -------------------------------------------------------------------------------- /lib/public/bower_components/moment/bower.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "moment", 3 | "main": "moment.js", 4 | "ignore": [ 5 | "**/.*", 6 | "benchmarks", 7 | "bower_components", 8 | "meteor", 9 | "node_modules", 10 | "scripts", 11 | "tasks", 12 | "test", 13 | "component.json", 14 | "composer.json", 15 | "CONTRIBUTING.md", 16 | "ender.js", 17 | "Gruntfile.js", 18 | "Moment.js.nuspec", 19 | "package.js", 20 | "package.json" 21 | ] 22 | } 23 | -------------------------------------------------------------------------------- /lib/public/bower_components/jquery/src/css/var/getStyles.js: -------------------------------------------------------------------------------- 1 | define( function() { 2 | return function( elem ) { 3 | 4 | // Support: IE<=11+, Firefox<=30+ (#15098, #14150) 5 | // IE throws on elements created in popups 6 | // FF meanwhile throws on frame elements through "defaultView.getComputedStyle" 7 | var view = elem.ownerDocument.defaultView; 8 | 9 | if ( !view || !view.opener ) { 10 | view = window; 11 | } 12 | 13 | return view.getComputedStyle( elem ); 14 | }; 15 | } ); 16 | -------------------------------------------------------------------------------- /lib/public/bower_components/jquery/src/traversing/var/dir.js: -------------------------------------------------------------------------------- 1 | define( [ 2 | "../../core" 3 | ], function( jQuery ) { 4 | 5 | return function( elem, dir, until ) { 6 | var matched = [], 7 | truncate = until !== undefined; 8 | 9 | while ( ( elem = elem[ dir ] ) && elem.nodeType !== 9 ) { 10 | if ( elem.nodeType === 1 ) { 11 | if ( truncate && jQuery( elem ).is( until ) ) { 12 | break; 13 | } 14 | matched.push( elem ); 15 | } 16 | } 17 | return matched; 18 | }; 19 | 20 | } ); 21 | -------------------------------------------------------------------------------- /lib/public/bower_components/sweetalert/dev/gulpfile-wrap-template.js: -------------------------------------------------------------------------------- 1 | ;(function(window, document, undefined) { 2 | "use strict"; 3 | 4 | <%= contents %> 5 | 6 | /* 7 | * Use SweetAlert with RequireJS 8 | */ 9 | 10 | if (typeof define === 'function' && define.amd) { 11 | define(function () { 12 | return sweetAlert; 13 | }); 14 | } else if (typeof module !== 'undefined' && module.exports) { 15 | module.exports = sweetAlert; 16 | } 17 | 18 | })(window, document); -------------------------------------------------------------------------------- /lib/public/bower_components/jquery/src/data/support.js: -------------------------------------------------------------------------------- 1 | define( [ 2 | "../var/document", 3 | "../var/support" 4 | ], function( document, support ) { 5 | 6 | ( function() { 7 | var div = document.createElement( "div" ); 8 | 9 | // Support: IE<9 10 | support.deleteExpando = true; 11 | try { 12 | delete div.test; 13 | } catch ( e ) { 14 | support.deleteExpando = false; 15 | } 16 | 17 | // Null elements to avoid leaks in IE. 18 | div = null; 19 | } )(); 20 | 21 | return support; 22 | 23 | } ); 24 | -------------------------------------------------------------------------------- /lib/public/bower_components/jquery/src/manipulation/createSafeFragment.js: -------------------------------------------------------------------------------- 1 | define( [ 2 | "./var/nodeNames" 3 | ], function( nodeNames ) { 4 | 5 | function createSafeFragment( document ) { 6 | var list = nodeNames.split( "|" ), 7 | safeFrag = document.createDocumentFragment(); 8 | 9 | if ( safeFrag.createElement ) { 10 | while ( list.length ) { 11 | safeFrag.createElement( 12 | list.pop() 13 | ); 14 | } 15 | } 16 | return safeFrag; 17 | } 18 | 19 | return createSafeFragment; 20 | } ); 21 | -------------------------------------------------------------------------------- /lib/public/bower_components/jquery/src/data/accepts.js: -------------------------------------------------------------------------------- 1 | define([ 2 | "../core" 3 | ], function( jQuery ) { 4 | 5 | /** 6 | * Determines whether an object can have data 7 | */ 8 | jQuery.acceptData = function( owner ) { 9 | // Accepts only: 10 | // - Node 11 | // - Node.ELEMENT_NODE 12 | // - Node.DOCUMENT_NODE 13 | // - Object 14 | // - Any 15 | /* jshint -W018 */ 16 | return owner.nodeType === 1 || owner.nodeType === 9 || !( +owner.nodeType ); 17 | }; 18 | 19 | return jQuery.acceptData; 20 | }); 21 | -------------------------------------------------------------------------------- /lib/public/bower_components/jquery/src/manipulation/setGlobalEval.js: -------------------------------------------------------------------------------- 1 | define( [ 2 | "../data/var/dataPriv" 3 | ], function( dataPriv ) { 4 | 5 | // Mark scripts as having already been evaluated 6 | function setGlobalEval( elems, refElements ) { 7 | var i = 0, 8 | l = elems.length; 9 | 10 | for ( ; i < l; i++ ) { 11 | dataPriv.set( 12 | elems[ i ], 13 | "globalEval", 14 | !refElements || dataPriv.get( refElements[ i ], "globalEval" ) 15 | ); 16 | } 17 | } 18 | 19 | return setGlobalEval; 20 | } ); 21 | -------------------------------------------------------------------------------- /lib/public/bower_components/moment/src/lib/locale/calendar.js: -------------------------------------------------------------------------------- 1 | export var defaultCalendar = { 2 | sameDay : '[Today at] LT', 3 | nextDay : '[Tomorrow at] LT', 4 | nextWeek : 'dddd [at] LT', 5 | lastDay : '[Yesterday at] LT', 6 | lastWeek : '[Last] dddd [at] LT', 7 | sameElse : 'L' 8 | }; 9 | 10 | import isFunction from '../utils/is-function'; 11 | 12 | export function calendar (key, mom, now) { 13 | var output = this._calendar[key]; 14 | return isFunction(output) ? output.call(mom, now) : output; 15 | } 16 | -------------------------------------------------------------------------------- /lib/public/bower_components/moment/src/lib/units/units.js: -------------------------------------------------------------------------------- 1 | // Side effect imports 2 | import './day-of-month'; 3 | import './day-of-week'; 4 | import './day-of-year'; 5 | import './hour'; 6 | import './millisecond'; 7 | import './minute'; 8 | import './month'; 9 | import './offset'; 10 | import './quarter'; 11 | import './second'; 12 | import './timestamp'; 13 | import './timezone'; 14 | import './week-year'; 15 | import './week'; 16 | import './year'; 17 | 18 | import { normalizeUnits } from './aliases'; 19 | 20 | export { normalizeUnits }; 21 | -------------------------------------------------------------------------------- /lib/public/bower_components/moment/src/lib/locale/en.js: -------------------------------------------------------------------------------- 1 | import './prototype'; 2 | import { getSetGlobalLocale } from './locales'; 3 | import toInt from '../utils/to-int'; 4 | 5 | getSetGlobalLocale('en', { 6 | ordinalParse: /\d{1,2}(th|st|nd|rd)/, 7 | ordinal : function (number) { 8 | var b = number % 10, 9 | output = (toInt(number % 100 / 10) === 1) ? 'th' : 10 | (b === 1) ? 'st' : 11 | (b === 2) ? 'nd' : 12 | (b === 3) ? 'rd' : 'th'; 13 | return number + output; 14 | } 15 | }); 16 | -------------------------------------------------------------------------------- /lib/public/bower_components/angular-moment/.jshintrc: -------------------------------------------------------------------------------- 1 | { 2 | "node": true, 3 | "browser": true, 4 | "esnext": true, 5 | "bitwise": true, 6 | "camelcase": true, 7 | "curly": true, 8 | "eqeqeq": true, 9 | "immed": true, 10 | "indent": 2, 11 | "latedef": true, 12 | "newcap": true, 13 | "noarg": true, 14 | "quotmark": "single", 15 | "regexp": true, 16 | "undef": true, 17 | "unused": true, 18 | "strict": true, 19 | "trailing": true, 20 | "smarttabs": true, 21 | "maxdepth": 2, 22 | "maxcomplexity": 10, 23 | "globals": { 24 | "angular": false 25 | } 26 | } 27 | -------------------------------------------------------------------------------- /lib/public/bower_components/angular/.bower.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "angular", 3 | "version": "1.5.0", 4 | "license": "MIT", 5 | "main": "./angular.js", 6 | "ignore": [], 7 | "dependencies": {}, 8 | "homepage": "https://github.com/angular/bower-angular", 9 | "_release": "1.5.0", 10 | "_resolution": { 11 | "type": "version", 12 | "tag": "v1.5.0", 13 | "commit": "017a583b226a335740c5b50b3e9381a52d0bb260" 14 | }, 15 | "_source": "git://github.com/angular/bower-angular.git", 16 | "_target": "^1.5.0", 17 | "_originalSource": "angular", 18 | "_direct": true 19 | } -------------------------------------------------------------------------------- /lib/public/bower_components/moment/src/lib/create/from-object.js: -------------------------------------------------------------------------------- 1 | import { normalizeObjectUnits } from '../units/aliases'; 2 | import { configFromArray } from './from-array'; 3 | import map from '../utils/map'; 4 | 5 | export function configFromObject(config) { 6 | if (config._d) { 7 | return; 8 | } 9 | 10 | var i = normalizeObjectUnits(config._i); 11 | config._a = map([i.year, i.month, i.day || i.date, i.hour, i.minute, i.second, i.millisecond], function (obj) { 12 | return obj && parseInt(obj, 10); 13 | }); 14 | 15 | configFromArray(config); 16 | } 17 | -------------------------------------------------------------------------------- /lib/public/bower_components/toastr/.bower.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "toastr", 3 | "version": "2.1.2", 4 | "main": [ 5 | "toastr.js", 6 | "toastr.css" 7 | ], 8 | "dependencies": { 9 | "jquery": ">=1.6.3" 10 | }, 11 | "homepage": "https://github.com/johnpapa/toastr-bower", 12 | "_release": "2.1.2", 13 | "_resolution": { 14 | "type": "version", 15 | "tag": "2.1.2", 16 | "commit": "8a0e68eb66b9be5e42e7e9d6af4f10a5d91368aa" 17 | }, 18 | "_source": "git://github.com/johnpapa/toastr-bower.git", 19 | "_target": "^2.1.2", 20 | "_originalSource": "toastr" 21 | } -------------------------------------------------------------------------------- /lib/public/bower_components/angular-moment/.editorconfig: -------------------------------------------------------------------------------- 1 | # EditorConfig helps developers define and maintain consistent 2 | # coding styles between different editors and IDEs 3 | # editorconfig.org 4 | 5 | root = true 6 | 7 | [*] 8 | 9 | # Change these settings to your own preference 10 | indent_style = tab 11 | indent_size = 4 12 | 13 | # We recommend you to keep these unchanged 14 | end_of_line = lf 15 | charset = utf-8 16 | trim_trailing_whitespace = true 17 | insert_final_newline = true 18 | 19 | [{package.json,bower.json}] 20 | indent_style=space 21 | indent_size=2 22 | 23 | [*.md] 24 | trim_trailing_whitespace = false 25 | -------------------------------------------------------------------------------- /lib/public/bower_components/jquery/src/.jshintrc: -------------------------------------------------------------------------------- 1 | { 2 | "boss": true, 3 | "curly": true, 4 | "eqeqeq": true, 5 | "eqnull": true, 6 | "expr": true, 7 | "immed": true, 8 | "noarg": true, 9 | "quotmark": "double", 10 | "undef": true, 11 | "unused": true, 12 | 13 | "sub": true, 14 | 15 | // Support: IE < 10, Android < 4.1 16 | // The above browsers are failing a lot of tests in the ES5 17 | // test suite at http://test262.ecmascript.org. 18 | "es3": true, 19 | 20 | "globals": { 21 | "window": true, 22 | "JSON": false, 23 | 24 | "jQuery": true, 25 | "define": true, 26 | "module": true, 27 | "noGlobal": true 28 | } 29 | } 30 | -------------------------------------------------------------------------------- /lib/public/bower_components/jquery/src/ajax/parseXML.js: -------------------------------------------------------------------------------- 1 | define( [ 2 | "../core" 3 | ], function( jQuery ) { 4 | 5 | // Cross-browser xml parsing 6 | jQuery.parseXML = function( data ) { 7 | var xml; 8 | if ( !data || typeof data !== "string" ) { 9 | return null; 10 | } 11 | 12 | // Support: IE9 13 | try { 14 | xml = ( new window.DOMParser() ).parseFromString( data, "text/xml" ); 15 | } catch ( e ) { 16 | xml = undefined; 17 | } 18 | 19 | if ( !xml || xml.getElementsByTagName( "parsererror" ).length ) { 20 | jQuery.error( "Invalid XML: " + data ); 21 | } 22 | return xml; 23 | }; 24 | 25 | return jQuery.parseXML; 26 | 27 | } ); 28 | -------------------------------------------------------------------------------- /lib/public/bower_components/moment/src/lib/utils/compare-arrays.js: -------------------------------------------------------------------------------- 1 | import toInt from './to-int'; 2 | 3 | // compare two arrays, return the number of differences 4 | export default function compareArrays(array1, array2, dontConvert) { 5 | var len = Math.min(array1.length, array2.length), 6 | lengthDiff = Math.abs(array1.length - array2.length), 7 | diffs = 0, 8 | i; 9 | for (i = 0; i < len; i++) { 10 | if ((dontConvert && array1[i] !== array2[i]) || 11 | (!dontConvert && toInt(array1[i]) !== toInt(array2[i]))) { 12 | diffs++; 13 | } 14 | } 15 | return diffs + lengthDiff; 16 | } 17 | -------------------------------------------------------------------------------- /lib/public/bower_components/simplemde/bower.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "simplemde", 3 | "version": "1.10.0", 4 | "homepage": "https://github.com/NextStepWebs/simplemde-markdown-editor", 5 | "authors": [ 6 | "Wes Cossick" 7 | ], 8 | "description": "A simple, beautiful, and embeddable JavaScript Markdown editor.", 9 | "main": ["dist/simplemde.min.js", "dist/simplemde.min.css"], 10 | "moduleType": [ 11 | "globals" 12 | ], 13 | "keywords": [ 14 | "embeddable", 15 | "markdown", 16 | "editor", 17 | "javascript", 18 | "wysiwyg" 19 | ], 20 | "license": "MIT", 21 | "ignore": [ 22 | "node_modules", 23 | "bower_components" 24 | ] 25 | } 26 | -------------------------------------------------------------------------------- /lib/public/bower_components/jquery/src/css/var/swap.js: -------------------------------------------------------------------------------- 1 | define( function() { 2 | 3 | // A method for quickly swapping in/out CSS properties to get correct calculations. 4 | return function( elem, options, callback, args ) { 5 | var ret, name, 6 | old = {}; 7 | 8 | // Remember the old values, and insert the new ones 9 | for ( name in options ) { 10 | old[ name ] = elem.style[ name ]; 11 | elem.style[ name ] = options[ name ]; 12 | } 13 | 14 | ret = callback.apply( elem, args || [] ); 15 | 16 | // Revert the old values 17 | for ( name in options ) { 18 | elem.style[ name ] = old[ name ]; 19 | } 20 | 21 | return ret; 22 | }; 23 | 24 | } ); 25 | -------------------------------------------------------------------------------- /lib/public/bower_components/angular-moment/bower.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "angular-moment", 3 | "description": "Moment.JS directives & filters for AngularJS (timeago alternative)", 4 | "author": "Uri Shaked", 5 | "license": "MIT", 6 | "homepage": "http://github.com/urish/angular-moment", 7 | "main": "./angular-moment.js", 8 | "ignore": [ 9 | ], 10 | "dependencies": { 11 | "angular": ">=1.2.0 <1.5.0", 12 | "moment": ">=2.8.0 <2.11.0" 13 | }, 14 | "devDependencies": { 15 | "angular-mocks": "1.4.x", 16 | "moment-timezone": "0.4.0" 17 | }, 18 | "repository": { 19 | "type": "git", 20 | "url": "git://github.com/urish/angular-moment.git" 21 | } 22 | } 23 | -------------------------------------------------------------------------------- /lib/public/bower_components/jquery/src/css/hiddenVisibleSelectors.js: -------------------------------------------------------------------------------- 1 | define( [ 2 | "../core", 3 | "../selector" 4 | ], function( jQuery ) { 5 | 6 | jQuery.expr.filters.hidden = function( elem ) { 7 | return !jQuery.expr.filters.visible( elem ); 8 | }; 9 | jQuery.expr.filters.visible = function( elem ) { 10 | 11 | // Support: Opera <= 12.12 12 | // Opera reports offsetWidths and offsetHeights less than zero on some elements 13 | // Use OR instead of AND as the element is not visible if either is true 14 | // See tickets #10406 and #13132 15 | return elem.offsetWidth > 0 || elem.offsetHeight > 0 || elem.getClientRects().length > 0; 16 | }; 17 | 18 | } ); 19 | -------------------------------------------------------------------------------- /lib/public/bower_components/jquery/.bower.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "jquery", 3 | "main": "dist/jquery.js", 4 | "license": "MIT", 5 | "ignore": [ 6 | "package.json" 7 | ], 8 | "keywords": [ 9 | "jquery", 10 | "javascript", 11 | "browser", 12 | "library" 13 | ], 14 | "homepage": "https://github.com/jquery/jquery-dist", 15 | "version": "2.2.1", 16 | "_release": "2.2.1", 17 | "_resolution": { 18 | "type": "version", 19 | "tag": "2.2.1", 20 | "commit": "788eaba2f83e7b7445c7a83a50c81c0704423874" 21 | }, 22 | "_source": "git://github.com/jquery/jquery-dist.git", 23 | "_target": ">=1.6.3", 24 | "_originalSource": "jquery" 25 | } -------------------------------------------------------------------------------- /lib/public/bower_components/jquery/src/css/addGetHookIf.js: -------------------------------------------------------------------------------- 1 | define( function() { 2 | 3 | function addGetHookIf( conditionFn, hookFn ) { 4 | 5 | // Define the hook, we'll check on the first run if it's really needed. 6 | return { 7 | get: function() { 8 | if ( conditionFn() ) { 9 | 10 | // Hook not needed (or it's not possible to use it due 11 | // to missing dependency), remove it. 12 | delete this.get; 13 | return; 14 | } 15 | 16 | // Hook needed; redefine it so that the support test is not executed again. 17 | return ( this.get = hookFn ).apply( this, arguments ); 18 | } 19 | }; 20 | } 21 | 22 | return addGetHookIf; 23 | 24 | } ); 25 | -------------------------------------------------------------------------------- /lib/public/bower_components/moment/src/lib/duration/abs.js: -------------------------------------------------------------------------------- 1 | var mathAbs = Math.abs; 2 | 3 | export function abs () { 4 | var data = this._data; 5 | 6 | this._milliseconds = mathAbs(this._milliseconds); 7 | this._days = mathAbs(this._days); 8 | this._months = mathAbs(this._months); 9 | 10 | data.milliseconds = mathAbs(data.milliseconds); 11 | data.seconds = mathAbs(data.seconds); 12 | data.minutes = mathAbs(data.minutes); 13 | data.hours = mathAbs(data.hours); 14 | data.months = mathAbs(data.months); 15 | data.years = mathAbs(data.years); 16 | 17 | return this; 18 | } 19 | -------------------------------------------------------------------------------- /lib/public/bower_components/jquery/src/manipulation/getAll.js: -------------------------------------------------------------------------------- 1 | define( [ 2 | "../core" 3 | ], function( jQuery ) { 4 | 5 | function getAll( context, tag ) { 6 | 7 | // Support: IE9-11+ 8 | // Use typeof to avoid zero-argument method invocation on host objects (#15151) 9 | var ret = typeof context.getElementsByTagName !== "undefined" ? 10 | context.getElementsByTagName( tag || "*" ) : 11 | typeof context.querySelectorAll !== "undefined" ? 12 | context.querySelectorAll( tag || "*" ) : 13 | []; 14 | 15 | return tag === undefined || tag && jQuery.nodeName( context, tag ) ? 16 | jQuery.merge( [ context ], ret ) : 17 | ret; 18 | } 19 | 20 | return getAll; 21 | } ); 22 | -------------------------------------------------------------------------------- /lib/public/bower_components/jquery/src/exports/global.js: -------------------------------------------------------------------------------- 1 | var 2 | 3 | // Map over jQuery in case of overwrite 4 | _jQuery = window.jQuery, 5 | 6 | // Map over the $ in case of overwrite 7 | _$ = window.$; 8 | 9 | jQuery.noConflict = function( deep ) { 10 | if ( window.$ === jQuery ) { 11 | window.$ = _$; 12 | } 13 | 14 | if ( deep && window.jQuery === jQuery ) { 15 | window.jQuery = _jQuery; 16 | } 17 | 18 | return jQuery; 19 | }; 20 | 21 | // Expose jQuery and $ identifiers, even in AMD 22 | // (#7102#comment:10, https://github.com/jquery/jquery/pull/557) 23 | // and CommonJS for browser emulators (#13566) 24 | if ( !noGlobal ) { 25 | window.jQuery = window.$ = jQuery; 26 | } 27 | -------------------------------------------------------------------------------- /lib/public/bower_components/moment/src/lib/moment/to.js: -------------------------------------------------------------------------------- 1 | import { createDuration } from '../duration/create'; 2 | import { createLocal } from '../create/local'; 3 | import { isMoment } from '../moment/constructor'; 4 | 5 | export function to (time, withoutSuffix) { 6 | if (this.isValid() && 7 | ((isMoment(time) && time.isValid()) || 8 | createLocal(time).isValid())) { 9 | return createDuration({from: this, to: time}).locale(this.locale()).humanize(!withoutSuffix); 10 | } else { 11 | return this.localeData().invalidDate(); 12 | } 13 | } 14 | 15 | export function toNow (withoutSuffix) { 16 | return this.to(createLocal(), withoutSuffix); 17 | } 18 | -------------------------------------------------------------------------------- /lib/public/bower_components/sweetalert/bower.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "sweetalert", 3 | "homepage": "http://tristanedwards.me/sweetalert", 4 | "authors": [ 5 | "Tristan Edwards (http://tristanedwards.me)" 6 | ], 7 | "description": "A beautiful replacement for JavaScript's alert.", 8 | "main": [ 9 | "dist/sweetalert.min.js", 10 | "dist/sweetalert.css" 11 | ], 12 | "keywords": [ 13 | "alert", 14 | "modal" 15 | ], 16 | "repository": { 17 | "type": "git", 18 | "url": "git@github.com:t4t5/sweetalert.git" 19 | }, 20 | "license": "MIT", 21 | "devDependencies": { 22 | "qunit": "~1.18.0", 23 | "jquery": "~2.1.4" 24 | } 25 | } 26 | -------------------------------------------------------------------------------- /lib/public/bower_components/moment/src/lib/create/parsing-flags.js: -------------------------------------------------------------------------------- 1 | function defaultParsingFlags() { 2 | // We need to deep clone this object. 3 | return { 4 | empty : false, 5 | unusedTokens : [], 6 | unusedInput : [], 7 | overflow : -2, 8 | charsLeftOver : 0, 9 | nullInput : false, 10 | invalidMonth : null, 11 | invalidFormat : false, 12 | userInvalidated : false, 13 | iso : false 14 | }; 15 | } 16 | 17 | export default function getParsingFlags(m) { 18 | if (m._pf == null) { 19 | m._pf = defaultParsingFlags(); 20 | } 21 | return m._pf; 22 | } 23 | -------------------------------------------------------------------------------- /lib/public/bower_components/moment/src/lib/moment/from.js: -------------------------------------------------------------------------------- 1 | import { createDuration } from '../duration/create'; 2 | import { createLocal } from '../create/local'; 3 | import { isMoment } from '../moment/constructor'; 4 | 5 | export function from (time, withoutSuffix) { 6 | if (this.isValid() && 7 | ((isMoment(time) && time.isValid()) || 8 | createLocal(time).isValid())) { 9 | return createDuration({to: this, from: time}).locale(this.locale()).humanize(!withoutSuffix); 10 | } else { 11 | return this.localeData().invalidDate(); 12 | } 13 | } 14 | 15 | export function fromNow (withoutSuffix) { 16 | return this.from(createLocal(), withoutSuffix); 17 | } 18 | -------------------------------------------------------------------------------- /lib/public/bower_components/sweetalert/dev/modules/default-params.js: -------------------------------------------------------------------------------- 1 | var defaultParams = { 2 | title: '', 3 | text: '', 4 | type: null, 5 | allowOutsideClick: false, 6 | showConfirmButton: true, 7 | showCancelButton: false, 8 | closeOnConfirm: true, 9 | closeOnCancel: true, 10 | confirmButtonText: 'OK', 11 | confirmButtonColor: '#8CD4F5', 12 | cancelButtonText: 'Cancel', 13 | imageUrl: null, 14 | imageSize: null, 15 | timer: null, 16 | customClass: '', 17 | html: false, 18 | animation: true, 19 | allowEscapeKey: true, 20 | inputType: 'text', 21 | inputPlaceholder: '', 22 | inputValue: '', 23 | showLoaderOnConfirm: false 24 | }; 25 | 26 | export default defaultParams; 27 | -------------------------------------------------------------------------------- /lib/public/bower_components/angular/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "angular", 3 | "version": "1.5.0", 4 | "description": "HTML enhanced for web apps", 5 | "main": "index.js", 6 | "scripts": { 7 | "test": "echo \"Error: no test specified\" && exit 1" 8 | }, 9 | "repository": { 10 | "type": "git", 11 | "url": "https://github.com/angular/angular.js.git" 12 | }, 13 | "keywords": [ 14 | "angular", 15 | "framework", 16 | "browser", 17 | "client-side" 18 | ], 19 | "author": "Angular Core Team ", 20 | "license": "MIT", 21 | "bugs": { 22 | "url": "https://github.com/angular/angular.js/issues" 23 | }, 24 | "homepage": "http://angularjs.org" 25 | } 26 | -------------------------------------------------------------------------------- /circle.yml: -------------------------------------------------------------------------------- 1 | machine: 2 | 3 | timezone: 4 | America/Los_Angeles # Set the timezone 5 | 6 | # Version of ruby to use 7 | node: 8 | version: 9 | 4.1.0 10 | 11 | # Add some environment variables 12 | environment: 13 | NODE_ENV: development 14 | 15 | services: 16 | - mongodb 17 | 18 | ## Customize checkout 19 | checkout: 20 | post: 21 | - git submodule sync 22 | - git submodule update --init # use submodules 23 | 24 | ## Customize dependencies 25 | dependencies: 26 | override: 27 | - npm install # install from a different package manager 28 | - npm install --dev # use a custom version of bundler 29 | 30 | post: 31 | - mkdir flarum 32 | - echo \"{}\" >> flarum/config.json 33 | -------------------------------------------------------------------------------- /lib/public/bower_components/jquery/src/core/support.js: -------------------------------------------------------------------------------- 1 | define( [ 2 | "../var/document", 3 | "../var/support" 4 | ], function( document, support ) { 5 | 6 | // Support: Safari 8+ 7 | // In Safari 8 documents created via document.implementation.createHTMLDocument 8 | // collapse sibling forms: the second one becomes a child of the first one. 9 | // Because of that, this security measure has to be disabled in Safari 8. 10 | // https://bugs.webkit.org/show_bug.cgi?id=137337 11 | support.createHTMLDocument = ( function() { 12 | var body = document.implementation.createHTMLDocument( "" ).body; 13 | body.innerHTML = "
"; 14 | return body.childNodes.length === 2; 15 | } )(); 16 | 17 | return support; 18 | } ); 19 | -------------------------------------------------------------------------------- /lib/public/bower_components/moment/src/lib/units/timestamp.js: -------------------------------------------------------------------------------- 1 | import { addFormatToken } from '../format/format'; 2 | import { addRegexToken, matchTimestamp, matchSigned } from '../parse/regex'; 3 | import { addParseToken } from '../parse/token'; 4 | import toInt from '../utils/to-int'; 5 | 6 | // FORMATTING 7 | 8 | addFormatToken('X', 0, 0, 'unix'); 9 | addFormatToken('x', 0, 0, 'valueOf'); 10 | 11 | // PARSING 12 | 13 | addRegexToken('x', matchSigned); 14 | addRegexToken('X', matchTimestamp); 15 | addParseToken('X', function (input, array, config) { 16 | config._d = new Date(parseFloat(input, 10) * 1000); 17 | }); 18 | addParseToken('x', function (input, array, config) { 19 | config._d = new Date(toInt(input)); 20 | }); 21 | -------------------------------------------------------------------------------- /lib/public/bower_components/jquery/src/deferred/exceptionHook.js: -------------------------------------------------------------------------------- 1 | define( [ 2 | "../core", 3 | "../deferred" 4 | ], function( jQuery ) { 5 | 6 | // These usually indicate a programmer mistake during development, 7 | // warn about them ASAP rather than swallowing them by default. 8 | var rerrorNames = /^(Eval|Internal|Range|Reference|Syntax|Type|URI)Error$/; 9 | 10 | jQuery.Deferred.exceptionHook = function( error, stack ) { 11 | 12 | // Support: IE9 13 | // Console exists when dev tools are open, which can happen at any time 14 | if ( window.console && window.console.warn && error && rerrorNames.test( error.name ) ) { 15 | window.console.warn( "jQuery.Deferred exception: " + error.message, stack ); 16 | } 17 | }; 18 | 19 | } ); 20 | -------------------------------------------------------------------------------- /lib/public/bower_components/moment/src/lib/locale/formats.js: -------------------------------------------------------------------------------- 1 | export var defaultLongDateFormat = { 2 | LTS : 'h:mm:ss A', 3 | LT : 'h:mm A', 4 | L : 'MM/DD/YYYY', 5 | LL : 'MMMM D, YYYY', 6 | LLL : 'MMMM D, YYYY h:mm A', 7 | LLLL : 'dddd, MMMM D, YYYY h:mm A' 8 | }; 9 | 10 | export function longDateFormat (key) { 11 | var format = this._longDateFormat[key], 12 | formatUpper = this._longDateFormat[key.toUpperCase()]; 13 | 14 | if (format || !formatUpper) { 15 | return format; 16 | } 17 | 18 | this._longDateFormat[key] = formatUpper.replace(/MMMM|MM|DD|dddd/g, function (val) { 19 | return val.slice(1); 20 | }); 21 | 22 | return this._longDateFormat[key]; 23 | } 24 | -------------------------------------------------------------------------------- /lib/public/bower_components/moment/src/lib/units/minute.js: -------------------------------------------------------------------------------- 1 | import { makeGetSet } from '../moment/get-set'; 2 | import { addFormatToken } from '../format/format'; 3 | import { addUnitAlias } from './aliases'; 4 | import { addRegexToken, match1to2, match2 } from '../parse/regex'; 5 | import { addParseToken } from '../parse/token'; 6 | import { MINUTE } from './constants'; 7 | 8 | // FORMATTING 9 | 10 | addFormatToken('m', ['mm', 2], 0, 'minute'); 11 | 12 | // ALIASES 13 | 14 | addUnitAlias('minute', 'm'); 15 | 16 | // PARSING 17 | 18 | addRegexToken('m', match1to2); 19 | addRegexToken('mm', match1to2, match2); 20 | addParseToken(['m', 'mm'], MINUTE); 21 | 22 | // MOMENTS 23 | 24 | export var getSetMinute = makeGetSet('Minutes', false); 25 | -------------------------------------------------------------------------------- /lib/public/bower_components/moment/src/lib/units/second.js: -------------------------------------------------------------------------------- 1 | import { makeGetSet } from '../moment/get-set'; 2 | import { addFormatToken } from '../format/format'; 3 | import { addUnitAlias } from './aliases'; 4 | import { addRegexToken, match1to2, match2 } from '../parse/regex'; 5 | import { addParseToken } from '../parse/token'; 6 | import { SECOND } from './constants'; 7 | 8 | // FORMATTING 9 | 10 | addFormatToken('s', ['ss', 2], 0, 'second'); 11 | 12 | // ALIASES 13 | 14 | addUnitAlias('second', 's'); 15 | 16 | // PARSING 17 | 18 | addRegexToken('s', match1to2); 19 | addRegexToken('ss', match1to2, match2); 20 | addParseToken(['s', 'ss'], SECOND); 21 | 22 | // MOMENTS 23 | 24 | export var getSetSecond = makeGetSet('Seconds', false); 25 | -------------------------------------------------------------------------------- /lib/public/bower_components/jquery/src/queue/delay.js: -------------------------------------------------------------------------------- 1 | define( [ 2 | "../core", 3 | "../queue", 4 | "../effects" // Delay is optional because of this dependency 5 | ], function( jQuery ) { 6 | 7 | // Based off of the plugin by Clint Helfers, with permission. 8 | // http://web.archive.org/web/20100324014747/http://blindsignals.com/index.php/2009/07/jquery-delay/ 9 | jQuery.fn.delay = function( time, type ) { 10 | time = jQuery.fx ? jQuery.fx.speeds[ time ] || time : time; 11 | type = type || "fx"; 12 | 13 | return this.queue( type, function( next, hooks ) { 14 | var timeout = window.setTimeout( next, time ); 15 | hooks.stop = function() { 16 | window.clearTimeout( timeout ); 17 | }; 18 | } ); 19 | }; 20 | 21 | return jQuery.fn.delay; 22 | } ); 23 | -------------------------------------------------------------------------------- /lib/public/bower_components/sweetalert/dev/ie9.css: -------------------------------------------------------------------------------- 1 | /* Internet Explorer 9 has some special quirks that are fixed here */ 2 | /* The icons are not animated. */ 3 | /* This file is automatically merged into sweet-alert.min.js through Gulp */ 4 | 5 | /* Error icon */ 6 | .sweet-alert .sa-icon.sa-error .sa-line.sa-left { 7 | -ms-transform: rotate(45deg)\9; 8 | } 9 | .sweet-alert .sa-icon.sa-error .sa-line.sa-right { 10 | -ms-transform: rotate(-45deg)\9; 11 | } 12 | 13 | 14 | /* Success icon */ 15 | .sweet-alert .sa-icon.sa-success { 16 | border-color: transparent\9; 17 | } 18 | .sweet-alert .sa-icon.sa-success .sa-line.sa-tip { 19 | -ms-transform: rotate(45deg)\9; 20 | } 21 | .sweet-alert .sa-icon.sa-success .sa-line.sa-long { 22 | -ms-transform: rotate(-45deg)\9; 23 | } -------------------------------------------------------------------------------- /bower.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "node-flarum", 3 | "description": "The Flarum forum with NodeJS", 4 | "main": "index.js", 5 | "authors": [ 6 | "David Sevilla Martín (dsevilla192@icloud.com)" 7 | ], 8 | "license": "MIT", 9 | "keywords": [ 10 | "flarum", 11 | "nodejs", 12 | "node", 13 | "mongo", 14 | "mongodb", 15 | "forum" 16 | ], 17 | "homepage": "http://node-flarum.tk", 18 | "moduleType": [ 19 | "node" 20 | ], 21 | "ignore": [ 22 | "**/.*", 23 | "node_modules", 24 | "bower_components" 25 | ], 26 | "dependencies": { 27 | "angular-moment": "^0.10.3", 28 | "moment": "^2.12.0", 29 | "toastr": "^2.1.2", 30 | "angular": "^1.5.0", 31 | "simplemde": "^1.10.0", 32 | "sweetalert": "^1.1.3" 33 | } 34 | } 35 | -------------------------------------------------------------------------------- /lib/public/bower_components/moment/src/lib/moment/moment.js: -------------------------------------------------------------------------------- 1 | import { createLocal } from '../create/local'; 2 | import { createUTC } from '../create/utc'; 3 | import { createInvalid } from '../create/valid'; 4 | import { isMoment } from './constructor'; 5 | import { min, max } from './min-max'; 6 | import { now } from './now'; 7 | import momentPrototype from './prototype'; 8 | 9 | function createUnix (input) { 10 | return createLocal(input * 1000); 11 | } 12 | 13 | function createInZone () { 14 | return createLocal.apply(null, arguments).parseZone(); 15 | } 16 | 17 | export { 18 | now, 19 | min, 20 | max, 21 | isMoment, 22 | createUTC, 23 | createUnix, 24 | createLocal, 25 | createInZone, 26 | createInvalid, 27 | momentPrototype 28 | }; 29 | -------------------------------------------------------------------------------- /lib/public/bower_components/moment/src/lib/duration/add-subtract.js: -------------------------------------------------------------------------------- 1 | import { createDuration } from './create'; 2 | 3 | function addSubtract (duration, input, value, direction) { 4 | var other = createDuration(input, value); 5 | 6 | duration._milliseconds += direction * other._milliseconds; 7 | duration._days += direction * other._days; 8 | duration._months += direction * other._months; 9 | 10 | return duration._bubble(); 11 | } 12 | 13 | // supports only 2.0-style add(1, 's') or add(duration) 14 | export function add (input, value) { 15 | return addSubtract(this, input, value, 1); 16 | } 17 | 18 | // supports only 2.0-style subtract(1, 's') or subtract(duration) 19 | export function subtract (input, value) { 20 | return addSubtract(this, input, value, -1); 21 | } 22 | -------------------------------------------------------------------------------- /lib/public/bower_components/jquery/src/event/alias.js: -------------------------------------------------------------------------------- 1 | define( [ 2 | "../core", 3 | 4 | "../event", 5 | "./trigger" 6 | ], function( jQuery ) { 7 | 8 | jQuery.each( ( "blur focus focusin focusout load resize scroll unload click dblclick " + 9 | "mousedown mouseup mousemove mouseover mouseout mouseenter mouseleave " + 10 | "change select submit keydown keypress keyup error contextmenu" ).split( " " ), 11 | function( i, name ) { 12 | 13 | // Handle event binding 14 | jQuery.fn[ name ] = function( data, fn ) { 15 | return arguments.length > 0 ? 16 | this.on( name, null, data, fn ) : 17 | this.trigger( name ); 18 | }; 19 | } ); 20 | 21 | jQuery.fn.extend( { 22 | hover: function( fnOver, fnOut ) { 23 | return this.mouseenter( fnOver ).mouseleave( fnOut || fnOver ); 24 | } 25 | } ); 26 | 27 | } ); 28 | -------------------------------------------------------------------------------- /lib/public/bower_components/jquery/src/jquery.js: -------------------------------------------------------------------------------- 1 | define( [ 2 | "./core", 3 | "./selector", 4 | "./traversing", 5 | "./callbacks", 6 | "./deferred", 7 | "./core/ready", 8 | "./data", 9 | "./queue", 10 | "./queue/delay", 11 | "./attributes", 12 | "./event", 13 | "./event/alias", 14 | "./event/focusin", 15 | "./manipulation", 16 | "./manipulation/_evalUrl", 17 | "./wrap", 18 | "./css", 19 | "./css/hiddenVisibleSelectors", 20 | "./serialize", 21 | "./ajax", 22 | "./ajax/xhr", 23 | "./ajax/script", 24 | "./ajax/jsonp", 25 | "./ajax/load", 26 | "./event/ajax", 27 | "./effects", 28 | "./effects/animatedSelector", 29 | "./offset", 30 | "./dimensions", 31 | "./deprecated", 32 | "./exports/amd" 33 | ], function( jQuery ) { 34 | 35 | return ( window.jQuery = window.$ = jQuery ); 36 | 37 | } ); 38 | -------------------------------------------------------------------------------- /lib/public/bower_components/jquery/src/deprecated.js: -------------------------------------------------------------------------------- 1 | define( [ 2 | "./core" 3 | ], function( jQuery ) { 4 | 5 | jQuery.fn.extend( { 6 | 7 | bind: function( types, data, fn ) { 8 | return this.on( types, null, data, fn ); 9 | }, 10 | unbind: function( types, fn ) { 11 | return this.off( types, null, fn ); 12 | }, 13 | 14 | delegate: function( selector, types, data, fn ) { 15 | return this.on( types, selector, data, fn ); 16 | }, 17 | undelegate: function( selector, types, fn ) { 18 | 19 | // ( namespace ) or ( selector, types [, fn] ) 20 | return arguments.length === 1 ? 21 | this.off( selector, "**" ) : 22 | this.off( types, selector || "**", fn ); 23 | }, 24 | size: function() { 25 | return this.length; 26 | } 27 | } ); 28 | 29 | jQuery.fn.andSelf = jQuery.fn.addBack; 30 | 31 | } ); 32 | 33 | -------------------------------------------------------------------------------- /lib/public/bower_components/moment/src/lib/units/quarter.js: -------------------------------------------------------------------------------- 1 | import { addFormatToken } from '../format/format'; 2 | import { addUnitAlias } from './aliases'; 3 | import { addRegexToken, match1 } from '../parse/regex'; 4 | import { addParseToken } from '../parse/token'; 5 | import { MONTH } from './constants'; 6 | import toInt from '../utils/to-int'; 7 | 8 | // FORMATTING 9 | 10 | addFormatToken('Q', 0, 'Qo', 'quarter'); 11 | 12 | // ALIASES 13 | 14 | addUnitAlias('quarter', 'Q'); 15 | 16 | // PARSING 17 | 18 | addRegexToken('Q', match1); 19 | addParseToken('Q', function (input, array) { 20 | array[MONTH] = (toInt(input) - 1) * 3; 21 | }); 22 | 23 | // MOMENTS 24 | 25 | export function getSetQuarter (input) { 26 | return input == null ? Math.ceil((this.month() + 1) / 3) : this.month((input - 1) * 3 + this.month() % 3); 27 | } 28 | -------------------------------------------------------------------------------- /lib/public/bower_components/sweetalert/test/index.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | Tests 6 | 7 | 8 | 9 | 10 |
11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | -------------------------------------------------------------------------------- /lib/public/bower_components/moment/src/lib/duration/get.js: -------------------------------------------------------------------------------- 1 | import { normalizeUnits } from '../units/aliases'; 2 | import absFloor from '../utils/abs-floor'; 3 | 4 | export function get (units) { 5 | units = normalizeUnits(units); 6 | return this[units + 's'](); 7 | } 8 | 9 | function makeGetter(name) { 10 | return function () { 11 | return this._data[name]; 12 | }; 13 | } 14 | 15 | export var milliseconds = makeGetter('milliseconds'); 16 | export var seconds = makeGetter('seconds'); 17 | export var minutes = makeGetter('minutes'); 18 | export var hours = makeGetter('hours'); 19 | export var days = makeGetter('days'); 20 | export var months = makeGetter('months'); 21 | export var years = makeGetter('years'); 22 | 23 | export function weeks () { 24 | return absFloor(this.days() / 7); 25 | } 26 | -------------------------------------------------------------------------------- /lib/public/bower_components/sweetalert/lib/modules/default-params.js: -------------------------------------------------------------------------------- 1 | 'use strict'; 2 | 3 | Object.defineProperty(exports, '__esModule', { 4 | value: true 5 | }); 6 | var defaultParams = { 7 | title: '', 8 | text: '', 9 | type: null, 10 | allowOutsideClick: false, 11 | showConfirmButton: true, 12 | showCancelButton: false, 13 | closeOnConfirm: true, 14 | closeOnCancel: true, 15 | confirmButtonText: 'OK', 16 | confirmButtonColor: '#8CD4F5', 17 | cancelButtonText: 'Cancel', 18 | imageUrl: null, 19 | imageSize: null, 20 | timer: null, 21 | customClass: '', 22 | html: false, 23 | animation: true, 24 | allowEscapeKey: true, 25 | inputType: 'text', 26 | inputPlaceholder: '', 27 | inputValue: '', 28 | showLoaderOnConfirm: false 29 | }; 30 | 31 | exports['default'] = defaultParams; 32 | module.exports = exports['default']; -------------------------------------------------------------------------------- /lib/public/bower_components/moment/src/lib/create/date-from-array.js: -------------------------------------------------------------------------------- 1 | export function createDate (y, m, d, h, M, s, ms) { 2 | //can't just apply() to create a date: 3 | //http://stackoverflow.com/questions/181348/instantiating-a-javascript-object-by-calling-prototype-constructor-apply 4 | var date = new Date(y, m, d, h, M, s, ms); 5 | 6 | //the date constructor remaps years 0-99 to 1900-1999 7 | if (y < 100 && y >= 0 && isFinite(date.getFullYear())) { 8 | date.setFullYear(y); 9 | } 10 | return date; 11 | } 12 | 13 | export function createUTCDate (y) { 14 | var date = new Date(Date.UTC.apply(null, arguments)); 15 | 16 | //the Date.UTC function remaps years 0-99 to 1900-1999 17 | if (y < 100 && y >= 0 && isFinite(date.getUTCFullYear())) { 18 | date.setUTCFullYear(y); 19 | } 20 | return date; 21 | } 22 | -------------------------------------------------------------------------------- /lib/public/bower_components/moment/.bower.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "moment", 3 | "main": "moment.js", 4 | "ignore": [ 5 | "**/.*", 6 | "benchmarks", 7 | "bower_components", 8 | "meteor", 9 | "node_modules", 10 | "scripts", 11 | "tasks", 12 | "test", 13 | "component.json", 14 | "composer.json", 15 | "CONTRIBUTING.md", 16 | "ender.js", 17 | "Gruntfile.js", 18 | "Moment.js.nuspec", 19 | "package.js", 20 | "package.json" 21 | ], 22 | "homepage": "https://github.com/moment/moment", 23 | "version": "2.12.0", 24 | "_release": "2.12.0", 25 | "_resolution": { 26 | "type": "version", 27 | "tag": "2.12.0", 28 | "commit": "d3d7488b4d60632854181cb0a9af325d57fb3d51" 29 | }, 30 | "_source": "git://github.com/moment/moment.git", 31 | "_target": "^2.12.0", 32 | "_originalSource": "moment" 33 | } -------------------------------------------------------------------------------- /.travis.yml: -------------------------------------------------------------------------------- 1 | install: 2 | - npm install 3 | - npm install mocha 4 | - npm install chai 5 | - npm install supertest 6 | - mkdir flarum 7 | - echo \"{}\" >> flarum/config.json 8 | 9 | script: NODE_ENV=development make test 10 | 11 | services: 12 | - mongodb 13 | 14 | language: node_js 15 | 16 | node_js: 17 | - "node" 18 | - "stable" 19 | - "4.3" 20 | - "0.12" 21 | - "0.10" 22 | - "iojs" 23 | 24 | addons: 25 | code_climate: 26 | repo_token: dac170b5bb47313c472e6a9088f5bacab8be920c8b31b7cae4607331ae9724db 27 | 28 | 29 | notifications: 30 | webhooks: 31 | urls: 32 | - https://webhooks.gitter.im/e/e2d330370c9d9ac55f89 33 | on_success: change # options: [always|never|change] default: always 34 | on_failure: always # options: [always|never|change] default: always 35 | on_start: never # options: [always|never|change] default: always 36 | -------------------------------------------------------------------------------- /lib/public/bower_components/jquery/src/manipulation/wrapMap.js: -------------------------------------------------------------------------------- 1 | define( function() { 2 | 3 | // We have to close these tags to support XHTML (#13200) 4 | var wrapMap = { 5 | 6 | // Support: IE9 7 | option: [ 1, "" ], 8 | 9 | // XHTML parsers do not magically insert elements in the 10 | // same way that tag soup parsers do. So we cannot shorten 11 | // this by omitting or other required elements. 12 | thead: [ 1, "", "
" ], 13 | col: [ 2, "", "
" ], 14 | tr: [ 2, "", "
" ], 15 | td: [ 3, "", "
" ], 16 | 17 | _default: [ 0, "", "" ] 18 | }; 19 | 20 | // Support: IE9 21 | wrapMap.optgroup = wrapMap.option; 22 | 23 | wrapMap.tbody = wrapMap.tfoot = wrapMap.colgroup = wrapMap.caption = wrapMap.thead; 24 | wrapMap.th = wrapMap.td; 25 | 26 | return wrapMap; 27 | } ); 28 | -------------------------------------------------------------------------------- /lib/public/bower_components/moment/src/lib/units/aliases.js: -------------------------------------------------------------------------------- 1 | import hasOwnProp from '../utils/has-own-prop'; 2 | 3 | var aliases = {}; 4 | 5 | export function addUnitAlias (unit, shorthand) { 6 | var lowerCase = unit.toLowerCase(); 7 | aliases[lowerCase] = aliases[lowerCase + 's'] = aliases[shorthand] = unit; 8 | } 9 | 10 | export function normalizeUnits(units) { 11 | return typeof units === 'string' ? aliases[units] || aliases[units.toLowerCase()] : undefined; 12 | } 13 | 14 | export function normalizeObjectUnits(inputObject) { 15 | var normalizedInput = {}, 16 | normalizedProp, 17 | prop; 18 | 19 | for (prop in inputObject) { 20 | if (hasOwnProp(inputObject, prop)) { 21 | normalizedProp = normalizeUnits(prop); 22 | if (normalizedProp) { 23 | normalizedInput[normalizedProp] = inputObject[prop]; 24 | } 25 | } 26 | } 27 | 28 | return normalizedInput; 29 | } 30 | -------------------------------------------------------------------------------- /lib/public/bower_components/moment/src/lib/moment/to-type.js: -------------------------------------------------------------------------------- 1 | export function valueOf () { 2 | return +this._d - ((this._offset || 0) * 60000); 3 | } 4 | 5 | export function unix () { 6 | return Math.floor(+this / 1000); 7 | } 8 | 9 | export function toDate () { 10 | return this._offset ? new Date(+this) : this._d; 11 | } 12 | 13 | export function toArray () { 14 | var m = this; 15 | return [m.year(), m.month(), m.date(), m.hour(), m.minute(), m.second(), m.millisecond()]; 16 | } 17 | 18 | export function toObject () { 19 | var m = this; 20 | return { 21 | years: m.year(), 22 | months: m.month(), 23 | date: m.date(), 24 | hours: m.hours(), 25 | minutes: m.minutes(), 26 | seconds: m.seconds(), 27 | milliseconds: m.milliseconds() 28 | }; 29 | } 30 | 31 | export function toJSON () { 32 | // new Date(NaN).toJSON() === null 33 | return this.isValid() ? this.toISOString() : null; 34 | } 35 | -------------------------------------------------------------------------------- /lib/public/bower_components/moment/src/lib/locale/relative.js: -------------------------------------------------------------------------------- 1 | export var defaultRelativeTime = { 2 | future : 'in %s', 3 | past : '%s ago', 4 | s : 'a few seconds', 5 | m : 'a minute', 6 | mm : '%d minutes', 7 | h : 'an hour', 8 | hh : '%d hours', 9 | d : 'a day', 10 | dd : '%d days', 11 | M : 'a month', 12 | MM : '%d months', 13 | y : 'a year', 14 | yy : '%d years' 15 | }; 16 | 17 | import isFunction from '../utils/is-function'; 18 | 19 | export function relativeTime (number, withoutSuffix, string, isFuture) { 20 | var output = this._relativeTime[string]; 21 | return (isFunction(output)) ? 22 | output(number, withoutSuffix, string, isFuture) : 23 | output.replace(/%d/i, number); 24 | } 25 | 26 | export function pastFuture (diff, output) { 27 | var format = this._relativeTime[diff > 0 ? 'future' : 'past']; 28 | return isFunction(format) ? format(output) : format.replace(/%s/i, output); 29 | } 30 | -------------------------------------------------------------------------------- /lib/public/bower_components/angular-moment/.bower.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "angular-moment", 3 | "description": "Moment.JS directives & filters for AngularJS (timeago alternative)", 4 | "author": "Uri Shaked", 5 | "license": "MIT", 6 | "homepage": "http://github.com/urish/angular-moment", 7 | "main": "./angular-moment.js", 8 | "ignore": [], 9 | "dependencies": { 10 | "angular": ">=1.2.0 <1.5.0", 11 | "moment": ">=2.8.0 <2.11.0" 12 | }, 13 | "devDependencies": { 14 | "angular-mocks": "1.4.x", 15 | "moment-timezone": "0.4.0" 16 | }, 17 | "repository": { 18 | "type": "git", 19 | "url": "git://github.com/urish/angular-moment.git" 20 | }, 21 | "version": "0.10.3", 22 | "_release": "0.10.3", 23 | "_resolution": { 24 | "type": "version", 25 | "tag": "0.10.3", 26 | "commit": "07d373b7a2fd17ff25ab927ff7fcb0b53b2d13fd" 27 | }, 28 | "_source": "git://github.com/urish/angular-moment.git", 29 | "_target": "^0.10.3", 30 | "_originalSource": "angular-moment" 31 | } -------------------------------------------------------------------------------- /lib/public/bower_components/moment/src/lib/moment/calendar.js: -------------------------------------------------------------------------------- 1 | import { createLocal } from '../create/local'; 2 | import { cloneWithOffset } from '../units/offset'; 3 | import isFunction from '../utils/is-function'; 4 | 5 | export function calendar (time, formats) { 6 | // We want to compare the start of today, vs this. 7 | // Getting start-of-today depends on whether we're local/utc/offset or not. 8 | var now = time || createLocal(), 9 | sod = cloneWithOffset(now, this).startOf('day'), 10 | diff = this.diff(sod, 'days', true), 11 | format = diff < -6 ? 'sameElse' : 12 | diff < -1 ? 'lastWeek' : 13 | diff < 0 ? 'lastDay' : 14 | diff < 1 ? 'sameDay' : 15 | diff < 2 ? 'nextDay' : 16 | diff < 7 ? 'nextWeek' : 'sameElse'; 17 | 18 | var output = formats && (isFunction(formats[format]) ? formats[format]() : formats[format]); 19 | 20 | return this.format(output || this.localeData().calendar(format, this, createLocal(now))); 21 | } 22 | -------------------------------------------------------------------------------- /lib/public/bower_components/moment/src/lib/locale/locale.js: -------------------------------------------------------------------------------- 1 | // Side effect imports 2 | import './prototype'; 3 | 4 | import { 5 | getSetGlobalLocale, 6 | defineLocale, 7 | updateLocale, 8 | getLocale, 9 | listLocales 10 | } from './locales'; 11 | 12 | import { 13 | listMonths, 14 | listMonthsShort, 15 | listWeekdays, 16 | listWeekdaysShort, 17 | listWeekdaysMin 18 | } from './lists'; 19 | 20 | export { 21 | getSetGlobalLocale, 22 | defineLocale, 23 | updateLocale, 24 | getLocale, 25 | listLocales, 26 | listMonths, 27 | listMonthsShort, 28 | listWeekdays, 29 | listWeekdaysShort, 30 | listWeekdaysMin 31 | }; 32 | 33 | import { deprecate } from '../utils/deprecate'; 34 | import { hooks } from '../utils/hooks'; 35 | 36 | hooks.lang = deprecate('moment.lang is deprecated. Use moment.locale instead.', getSetGlobalLocale); 37 | hooks.langData = deprecate('moment.langData is deprecated. Use moment.localeData instead.', getLocale); 38 | 39 | import './en'; 40 | -------------------------------------------------------------------------------- /lib/public/bower_components/sweetalert/.bower.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "sweetalert", 3 | "homepage": "http://tristanedwards.me/sweetalert", 4 | "authors": [ 5 | "Tristan Edwards (http://tristanedwards.me)" 6 | ], 7 | "description": "A beautiful replacement for JavaScript's alert.", 8 | "main": [ 9 | "dist/sweetalert.min.js", 10 | "dist/sweetalert.css" 11 | ], 12 | "keywords": [ 13 | "alert", 14 | "modal" 15 | ], 16 | "repository": { 17 | "type": "git", 18 | "url": "git@github.com:t4t5/sweetalert.git" 19 | }, 20 | "license": "MIT", 21 | "devDependencies": { 22 | "qunit": "~1.18.0", 23 | "jquery": "~2.1.4" 24 | }, 25 | "version": "1.1.3", 26 | "_release": "1.1.3", 27 | "_resolution": { 28 | "type": "version", 29 | "tag": "v1.1.3", 30 | "commit": "1228f1e0a7ccda1f445224f3945867b4fc1234e5" 31 | }, 32 | "_source": "git://github.com/t4t5/sweetalert.git", 33 | "_target": "^1.1.3", 34 | "_originalSource": "sweetalert", 35 | "_direct": true 36 | } -------------------------------------------------------------------------------- /lib/public/bower_components/simplemde/.bower.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "simplemde", 3 | "version": "1.10.0", 4 | "homepage": "https://github.com/NextStepWebs/simplemde-markdown-editor", 5 | "authors": [ 6 | "Wes Cossick" 7 | ], 8 | "description": "A simple, beautiful, and embeddable JavaScript Markdown editor.", 9 | "main": [ 10 | "dist/simplemde.min.js", 11 | "dist/simplemde.min.css" 12 | ], 13 | "moduleType": [ 14 | "globals" 15 | ], 16 | "keywords": [ 17 | "embeddable", 18 | "markdown", 19 | "editor", 20 | "javascript", 21 | "wysiwyg" 22 | ], 23 | "license": "MIT", 24 | "ignore": [ 25 | "node_modules", 26 | "bower_components" 27 | ], 28 | "_release": "1.10.0", 29 | "_resolution": { 30 | "type": "version", 31 | "tag": "1.10.0", 32 | "commit": "6318fc1b193fc419a0aede13738b2be07355b16a" 33 | }, 34 | "_source": "git://github.com/NextStepWebs/simplemde-markdown-editor.git", 35 | "_target": "^1.10.0", 36 | "_originalSource": "simplemde", 37 | "_direct": true 38 | } -------------------------------------------------------------------------------- /lib/public/bower_components/moment/src/lib/units/day-of-month.js: -------------------------------------------------------------------------------- 1 | import { makeGetSet } from '../moment/get-set'; 2 | import { addFormatToken } from '../format/format'; 3 | import { addUnitAlias } from './aliases'; 4 | import { addRegexToken, match1to2, match2 } from '../parse/regex'; 5 | import { addParseToken } from '../parse/token'; 6 | import { DATE } from './constants'; 7 | import toInt from '../utils/to-int'; 8 | 9 | // FORMATTING 10 | 11 | addFormatToken('D', ['DD', 2], 'Do', 'date'); 12 | 13 | // ALIASES 14 | 15 | addUnitAlias('date', 'D'); 16 | 17 | // PARSING 18 | 19 | addRegexToken('D', match1to2); 20 | addRegexToken('DD', match1to2, match2); 21 | addRegexToken('Do', function (isStrict, locale) { 22 | return isStrict ? locale._ordinalParse : locale._ordinalParseLenient; 23 | }); 24 | 25 | addParseToken(['D', 'DD'], DATE); 26 | addParseToken('Do', function (input, array) { 27 | array[DATE] = toInt(input.match(match1to2)[0], 10); 28 | }); 29 | 30 | // MOMENTS 31 | 32 | export var getSetDayOfMonth = makeGetSet('Date', true); 33 | -------------------------------------------------------------------------------- /lib/public/bower_components/moment/src/lib/utils/deprecate.js: -------------------------------------------------------------------------------- 1 | import extend from './extend'; 2 | import { hooks } from './hooks'; 3 | import isUndefined from './is-undefined'; 4 | 5 | function warn(msg) { 6 | if (hooks.suppressDeprecationWarnings === false && 7 | (typeof console !== 'undefined') && console.warn) { 8 | console.warn('Deprecation warning: ' + msg); 9 | } 10 | } 11 | 12 | export function deprecate(msg, fn) { 13 | var firstTime = true; 14 | 15 | return extend(function () { 16 | if (firstTime) { 17 | warn(msg + '\nArguments: ' + Array.prototype.slice.call(arguments).join(', ') + '\n' + (new Error()).stack); 18 | firstTime = false; 19 | } 20 | return fn.apply(this, arguments); 21 | }, fn); 22 | } 23 | 24 | var deprecations = {}; 25 | 26 | export function deprecateSimple(name, msg) { 27 | if (!deprecations[name]) { 28 | warn(msg); 29 | deprecations[name] = true; 30 | } 31 | } 32 | 33 | hooks.suppressDeprecationWarnings = false; 34 | -------------------------------------------------------------------------------- /lib/public/bower_components/simplemde/.travis.yml: -------------------------------------------------------------------------------- 1 | language: node_js 2 | node_js: 3 | - '5' 4 | - '4' 5 | - '0.12' 6 | before_script: 7 | - npm install -g gulp 8 | script: gulp 9 | deploy: 10 | provider: npm 11 | email: support@nextstepwebs.com 12 | api_key: 13 | secure: nADZupyOhJAhTQgr5uOIydbDEjCTAj+3nGHW7ZBJUrVJcb0uR4pg8ngmwrUpvaCeNXgKPG9Uag75/mPcBre9ly2cigBIG9LHlxImlF8qi1jRJykcNRmBb9N2MJJj+zdAMwLaF5Ns+f2v3zt97qxovbEzunhXGcZeCaxc6y40nDM8OTyo0PESNBjQYqaNblt2gO2KHysrwFL8i4kCCKLa+HOBLu2iqgk/fYVqTmfhEeOiiwQ4lIXJeyPyzgb3OPhKCMV1FI5H0T48fRD0MPczt8ds3Daj1OjCbIZurQ7s1dcKwz1g6TKATN59HcMsSarW4lImrEeYmfQxz2F5NjKDRhnith5V0W2IssrkpDG9teTFQ20eQdl5cpnlGjgBvsjb8GhPLR44GvefyJL4+kJGI3O1KVq3/7wbmu/IXrvhtKHEQSdGL2PTqW8QxKasAoUCnk3LGZKN12g8bg0xDg2tvoCUk5Z3asHLRdCJpDbBq1h8QfZ4HV5VLYjr84xduOUZbEUtfMVAixPpJ4h1E3OXJ1wil97BlHjxOZ8JkkxJg5lgSUZ/O/QWwJokEAYXR9c+ouMoVokChAyleV77cRZ5qLn9zbnUxZtnKX8w0IUKeu95/z8QgiaRcERKVCpZvceo8Qw0Y+JoiEtno7Zg/nsrZGxsS6K/V3yg1QQmT3bjDHQ= 14 | on: 15 | tags: true 16 | repo: NextStepWebs/simplemde-markdown-editor 17 | branch: production 18 | -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- 1 | Copyright (©) 2016 Flarum & FlarumJS 2 | 3 | Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: 4 | 5 | The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. 6 | 7 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. 8 | -------------------------------------------------------------------------------- /lib/public/bower_components/moment/src/lib/parse/token.js: -------------------------------------------------------------------------------- 1 | import hasOwnProp from '../utils/has-own-prop'; 2 | import toInt from '../utils/to-int'; 3 | 4 | var tokens = {}; 5 | 6 | export function addParseToken (token, callback) { 7 | var i, func = callback; 8 | if (typeof token === 'string') { 9 | token = [token]; 10 | } 11 | if (typeof callback === 'number') { 12 | func = function (input, array) { 13 | array[callback] = toInt(input); 14 | }; 15 | } 16 | for (i = 0; i < token.length; i++) { 17 | tokens[token[i]] = func; 18 | } 19 | } 20 | 21 | export function addWeekParseToken (token, callback) { 22 | addParseToken(token, function (input, array, config, token) { 23 | config._w = config._w || {}; 24 | callback(input, config._w, config, token); 25 | }); 26 | } 27 | 28 | export function addTimeToArrayFromToken(token, input, config) { 29 | if (input != null && hasOwnProp(tokens, token)) { 30 | tokens[token](input, config._a, config, token); 31 | } 32 | } 33 | -------------------------------------------------------------------------------- /docs.config.json: -------------------------------------------------------------------------------- 1 | { 2 | "tags": { 3 | "allowUnknownTags": true, 4 | "dictionaries": ["jsdoc","closure"] 5 | }, 6 | "source": { 7 | "exclude":["node_modules", "bower_components", "lib/public/bower_components", "docs"], 8 | "includePattern": ".+\\.js(doc)?$", 9 | "excludePattern": "(^|\\/|\\\\)_" 10 | }, 11 | "plugins": [], 12 | "templates": { 13 | "cleverLinks": false, 14 | "monospaceLinks": false 15 | }, 16 | "templates": { 17 | "systemName" : "FlarumJS/Node-Flarum Inline Documentation", 18 | "footer" : "", 19 | "copyright" : "© 2016 FlarumJS", 20 | "includeDate" : true, 21 | "navType" : "inline", 22 | "theme" : "cosmo", 23 | "linenums" : true, 24 | "collapseSymbols" : true, 25 | "inverseNav" : true, 26 | "outputSourceFiles" : true, 27 | "outputSourcePath" : false, 28 | "dateFormat" : "dddd, MMMM Do YYYY, h:mm:ss a", 29 | "syntaxTheme" : "default", 30 | "sort" : "since" 31 | } 32 | } 33 | -------------------------------------------------------------------------------- /lib/public/bower_components/angular-moment/karma.conf.js: -------------------------------------------------------------------------------- 1 | /* License: MIT. 2 | * Copyright (C) 2013, 2014, 2015, Uri Shaked. 3 | */ 4 | 5 | 'use strict'; 6 | 7 | module.exports = function (config) { 8 | config.set({ 9 | basePath: '', 10 | frameworks: ['jasmine'], 11 | logLevel: config.LOG_INFO, 12 | browsers: ['PhantomJS'], 13 | autoWatch: true, 14 | reporters: ['dots', 'coverage'], 15 | files: [ 16 | 'bower_components/angular/angular.js', 17 | 'bower_components/moment/moment.js', 18 | 'bower_components/moment/{locale,lang}/fr.js', 19 | 'bower_components/moment-timezone/moment-timezone.js', 20 | 'angular-moment.js', 21 | 22 | // angular-mocks defines a global variable named 'module' which confuses moment-timezone.js. 23 | // Therefore, it must be included after moment-timezone.js. 24 | 'bower_components/angular-mocks/angular-mocks.js', 25 | 26 | 'tests.js' 27 | ], 28 | preprocessors: { 29 | 'angular-moment.js': 'coverage' 30 | }, 31 | coverageReporter: { 32 | type: 'lcov', 33 | dir: 'coverage/' 34 | } 35 | }); 36 | }; 37 | -------------------------------------------------------------------------------- /lib/public/bower_components/moment/src/lib/units/day-of-year.js: -------------------------------------------------------------------------------- 1 | import { addFormatToken } from '../format/format'; 2 | import { addUnitAlias } from './aliases'; 3 | import { addRegexToken, match3, match1to3 } from '../parse/regex'; 4 | import { daysInYear } from './year'; 5 | import { createUTCDate } from '../create/date-from-array'; 6 | import { addParseToken } from '../parse/token'; 7 | import toInt from '../utils/to-int'; 8 | 9 | // FORMATTING 10 | 11 | addFormatToken('DDD', ['DDDD', 3], 'DDDo', 'dayOfYear'); 12 | 13 | // ALIASES 14 | 15 | addUnitAlias('dayOfYear', 'DDD'); 16 | 17 | // PARSING 18 | 19 | addRegexToken('DDD', match1to3); 20 | addRegexToken('DDDD', match3); 21 | addParseToken(['DDD', 'DDDD'], function (input, array, config) { 22 | config._dayOfYear = toInt(input); 23 | }); 24 | 25 | // HELPERS 26 | 27 | // MOMENTS 28 | 29 | export function getSetDayOfYear (input) { 30 | var dayOfYear = Math.round((this.clone().startOf('day') - this.clone().startOf('year')) / 864e5) + 1; 31 | return input == null ? dayOfYear : this.add((input - dayOfYear), 'd'); 32 | } 33 | -------------------------------------------------------------------------------- /lib/public/bower_components/moment/src/lib/moment/format.js: -------------------------------------------------------------------------------- 1 | import { formatMoment } from '../format/format'; 2 | import { hooks } from '../utils/hooks'; 3 | import isFunction from '../utils/is-function'; 4 | 5 | hooks.defaultFormat = 'YYYY-MM-DDTHH:mm:ssZ'; 6 | 7 | export function toString () { 8 | return this.clone().locale('en').format('ddd MMM DD YYYY HH:mm:ss [GMT]ZZ'); 9 | } 10 | 11 | export function toISOString () { 12 | var m = this.clone().utc(); 13 | if (0 < m.year() && m.year() <= 9999) { 14 | if (isFunction(Date.prototype.toISOString)) { 15 | // native implementation is ~50x faster, use it when we can 16 | return this.toDate().toISOString(); 17 | } else { 18 | return formatMoment(m, 'YYYY-MM-DD[T]HH:mm:ss.SSS[Z]'); 19 | } 20 | } else { 21 | return formatMoment(m, 'YYYYYY-MM-DD[T]HH:mm:ss.SSS[Z]'); 22 | } 23 | } 24 | 25 | export function format (inputString) { 26 | var output = formatMoment(this, inputString || hooks.defaultFormat); 27 | return this.localeData().postformat(output); 28 | } 29 | -------------------------------------------------------------------------------- /lib/public/bower_components/angular-moment/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "angular-moment", 3 | "version": "0.10.3", 4 | "main": "angular-moment.js", 5 | "repository": { 6 | "type": "git", 7 | "url": "http://github.com/urish/angular-moment.git" 8 | }, 9 | "dependencies": { 10 | "moment": ">=2.8.0 <2.11.0" 11 | }, 12 | "devDependencies": { 13 | "bower": "^1.3.12", 14 | "coveralls": "~2.11.0", 15 | "grunt": "~0.4.1", 16 | "grunt-cli": "^0.1.13", 17 | "grunt-contrib-jshint": "~0.11.0", 18 | "grunt-contrib-uglify": "0.8.1", 19 | "grunt-karma": "~0.10.1", 20 | "grunt-ngdocs": "^0.2.7", 21 | "jasmine-core": "2.2.0", 22 | "karma": "~0.12.0", 23 | "karma-coverage": "~0.2.0", 24 | "karma-jasmine": "~0.3.5", 25 | "karma-phantomjs-launcher": "~0.1.1", 26 | "load-grunt-tasks": "3.1.0" 27 | }, 28 | "engines": { 29 | "node": ">=0.10.0" 30 | }, 31 | "scripts": { 32 | "bower": "node_modules/.bin/bower install", 33 | "test": "node_modules/.bin/grunt test", 34 | "build": "node_modules/.bin/grunt build" 35 | } 36 | } 37 | -------------------------------------------------------------------------------- /lib/public/bower_components/jquery/src/attributes/support.js: -------------------------------------------------------------------------------- 1 | define( [ 2 | "../var/document", 3 | "../var/support" 4 | ], function( document, support ) { 5 | 6 | ( function() { 7 | var input = document.createElement( "input" ), 8 | select = document.createElement( "select" ), 9 | opt = select.appendChild( document.createElement( "option" ) ); 10 | 11 | input.type = "checkbox"; 12 | 13 | // Support: iOS<=5.1, Android<=4.2+ 14 | // Default value for a checkbox should be "on" 15 | support.checkOn = input.value !== ""; 16 | 17 | // Support: IE<=11+ 18 | // Must access selectedIndex to make default options select 19 | support.optSelected = opt.selected; 20 | 21 | // Support: Android<=2.3 22 | // Options inside disabled selects are incorrectly marked as disabled 23 | select.disabled = true; 24 | support.optDisabled = !opt.disabled; 25 | 26 | // Support: IE<=11+ 27 | // An input loses its value after becoming a radio 28 | input = document.createElement( "input" ); 29 | input.value = "t"; 30 | input.type = "radio"; 31 | support.radioValue = input.value === "t"; 32 | } )(); 33 | 34 | return support; 35 | 36 | } ); 37 | -------------------------------------------------------------------------------- /lib/public/bower_components/moment/src/lib/moment/locale.js: -------------------------------------------------------------------------------- 1 | import { getLocale } from '../locale/locales'; 2 | import { deprecate } from '../utils/deprecate'; 3 | 4 | // If passed a locale key, it will set the locale for this 5 | // instance. Otherwise, it will return the locale configuration 6 | // variables for this instance. 7 | export function locale (key) { 8 | var newLocaleData; 9 | 10 | if (key === undefined) { 11 | return this._locale._abbr; 12 | } else { 13 | newLocaleData = getLocale(key); 14 | if (newLocaleData != null) { 15 | this._locale = newLocaleData; 16 | } 17 | return this; 18 | } 19 | } 20 | 21 | export var lang = deprecate( 22 | 'moment().lang() is deprecated. Instead, use moment().localeData() to get the language configuration. Use moment().locale() to change languages.', 23 | function (key) { 24 | if (key === undefined) { 25 | return this.localeData(); 26 | } else { 27 | return this.locale(key); 28 | } 29 | } 30 | ); 31 | 32 | export function localeData () { 33 | return this._locale; 34 | } 35 | -------------------------------------------------------------------------------- /lib/public/bower_components/jquery/src/exports/amd.js: -------------------------------------------------------------------------------- 1 | define( [ 2 | "../core" 3 | ], function( jQuery ) { 4 | 5 | // Register as a named AMD module, since jQuery can be concatenated with other 6 | // files that may use define, but not via a proper concatenation script that 7 | // understands anonymous AMD modules. A named AMD is safest and most robust 8 | // way to register. Lowercase jquery is used because AMD module names are 9 | // derived from file names, and jQuery is normally delivered in a lowercase 10 | // file name. Do this after creating the global so that if an AMD module wants 11 | // to call noConflict to hide this version of jQuery, it will work. 12 | 13 | // Note that for maximum portability, libraries that are not jQuery should 14 | // declare themselves as anonymous modules, and avoid setting a global if an 15 | // AMD loader is present. jQuery is a special case. For more information, see 16 | // https://github.com/jrburke/requirejs/wiki/Updating-existing-libraries#wiki-anon 17 | 18 | if ( typeof define === "function" && define.amd ) { 19 | define( "jquery", [], function() { 20 | return jQuery; 21 | } ); 22 | } 23 | 24 | } ); 25 | -------------------------------------------------------------------------------- /lib/public/bower_components/sweetalert/example/images/te-logo-small.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | te-logo-small 5 | Created with Sketch. 6 | 7 | 8 | 9 | 10 | 11 | 12 | -------------------------------------------------------------------------------- /lib/public/bower_components/moment/src/lib/create/valid.js: -------------------------------------------------------------------------------- 1 | import extend from '../utils/extend'; 2 | import { createUTC } from './utc'; 3 | import getParsingFlags from '../create/parsing-flags'; 4 | 5 | export function isValid(m) { 6 | if (m._isValid == null) { 7 | var flags = getParsingFlags(m); 8 | m._isValid = !isNaN(m._d.getTime()) && 9 | flags.overflow < 0 && 10 | !flags.empty && 11 | !flags.invalidMonth && 12 | !flags.invalidWeekday && 13 | !flags.nullInput && 14 | !flags.invalidFormat && 15 | !flags.userInvalidated; 16 | 17 | if (m._strict) { 18 | m._isValid = m._isValid && 19 | flags.charsLeftOver === 0 && 20 | flags.unusedTokens.length === 0 && 21 | flags.bigHour === undefined; 22 | } 23 | } 24 | return m._isValid; 25 | } 26 | 27 | export function createInvalid (flags) { 28 | var m = createUTC(NaN); 29 | if (flags != null) { 30 | extend(getParsingFlags(m), flags); 31 | } 32 | else { 33 | getParsingFlags(m).userInvalidated = true; 34 | } 35 | 36 | return m; 37 | } 38 | -------------------------------------------------------------------------------- /lib/public/bower_components/sweetalert/LICENSE: -------------------------------------------------------------------------------- 1 | The MIT License (MIT) 2 | 3 | Copyright (c) 2014 Tristan Edwards 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 all 13 | copies or substantial portions of the Software. 14 | 15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 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 THE 21 | SOFTWARE. 22 | 23 | -------------------------------------------------------------------------------- /lib/public/bower_components/simplemde/LICENSE: -------------------------------------------------------------------------------- 1 | The MIT License (MIT) 2 | 3 | Copyright (c) 2015 Next Step Webs, Inc. 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 all 13 | copies or substantial portions of the Software. 14 | 15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 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 THE 21 | SOFTWARE. 22 | 23 | -------------------------------------------------------------------------------- /lib/public/bower_components/moment/LICENSE: -------------------------------------------------------------------------------- 1 | Copyright (c) 2011-2016 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 | -------------------------------------------------------------------------------- /lib/public/bower_components/angular-moment/LICENSE: -------------------------------------------------------------------------------- 1 | The MIT License (MIT) 2 | 3 | Copyright (c) 2013-2015 Uri Shaked and contributors 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 | -------------------------------------------------------------------------------- /lib/public/bower_components/jquery/src/manipulation/support.js: -------------------------------------------------------------------------------- 1 | define( [ 2 | "../var/document", 3 | "../var/support" 4 | ], function( document, support ) { 5 | 6 | ( function() { 7 | var fragment = document.createDocumentFragment(), 8 | div = fragment.appendChild( document.createElement( "div" ) ), 9 | input = document.createElement( "input" ); 10 | 11 | // Support: Android 4.0-4.3, Safari<=5.1 12 | // Check state lost if the name is set (#11217) 13 | // Support: Windows Web Apps (WWA) 14 | // `name` and `type` must use .setAttribute for WWA (#14901) 15 | input.setAttribute( "type", "radio" ); 16 | input.setAttribute( "checked", "checked" ); 17 | input.setAttribute( "name", "t" ); 18 | 19 | div.appendChild( input ); 20 | 21 | // Support: Safari<=5.1, Android<4.2 22 | // Older WebKit doesn't clone checked state correctly in fragments 23 | support.checkClone = div.cloneNode( true ).cloneNode( true ).lastChild.checked; 24 | 25 | // Support: IE<=11+ 26 | // Make sure textarea (and checkbox) defaultValue is properly cloned 27 | div.innerHTML = ""; 28 | support.noCloneChecked = !!div.cloneNode( true ).lastChild.defaultValue; 29 | } )(); 30 | 31 | return support; 32 | 33 | } ); 34 | -------------------------------------------------------------------------------- /lib/public/bower_components/jquery/src/css/showHide.js: -------------------------------------------------------------------------------- 1 | define( [ 2 | "../data/var/dataPriv" 3 | ], function( dataPriv ) { 4 | 5 | function showHide( elements, show ) { 6 | var display, elem, 7 | values = [], 8 | index = 0, 9 | length = elements.length; 10 | 11 | // Determine new display value for elements that need to change 12 | for ( ; index < length; index++ ) { 13 | elem = elements[ index ]; 14 | if ( !elem.style ) { 15 | continue; 16 | } 17 | 18 | display = elem.style.display; 19 | if ( show ) { 20 | if ( display === "none" ) { 21 | 22 | // Restore a pre-hide() value if we have one 23 | values[ index ] = dataPriv.get( elem, "display" ) || ""; 24 | } 25 | } else { 26 | if ( display !== "none" ) { 27 | values[ index ] = "none"; 28 | 29 | // Remember the value we're replacing 30 | dataPriv.set( elem, "display", display ); 31 | } 32 | } 33 | } 34 | 35 | // Set the display of the elements in a second loop 36 | // to avoid the constant reflow 37 | for ( index = 0; index < length; index++ ) { 38 | if ( values[ index ] != null ) { 39 | elements[ index ].style.display = values[ index ]; 40 | } 41 | } 42 | 43 | return elements; 44 | } 45 | 46 | return showHide; 47 | 48 | } ); 49 | -------------------------------------------------------------------------------- /lib/public/bower_components/angular-moment/angular-moment.nuspec: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | angular-moment 5 | 0.10.3 6 | Angular Moment 7 | urish 8 | https://github.com/urish/angular-moment 9 | false 10 | Moment.JS directives for AngularJS (timeago and more) 11 | Moment.JS directives for AngularJS (timeago and more). 12 | 13 | 14 | 15 | 16 | 17 | AngularJS MomentJS Moment 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | -------------------------------------------------------------------------------- /lib/public/bower_components/angular-moment/Gruntfile.js: -------------------------------------------------------------------------------- 1 | /* License: MIT. 2 | * Copyright (C) 2013, 2014, 2015, Uri Shaked. 3 | */ 4 | 5 | 'use strict'; 6 | 7 | module.exports = function (grunt) { 8 | // Load grunt tasks automatically 9 | require('load-grunt-tasks')(grunt); 10 | 11 | grunt.initConfig({ 12 | karma: { 13 | unit: { 14 | configFile: 'karma.conf.js', 15 | singleRun: true 16 | } 17 | }, 18 | jshint: { 19 | options: { 20 | jshintrc: '.jshintrc' 21 | }, 22 | all: [ 23 | 'Gruntfile.js', 24 | 'angular-moment.js', 25 | 'tests.js' 26 | ] 27 | }, 28 | uglify: { 29 | dist: { 30 | options: { 31 | sourceMap: true 32 | }, 33 | files: { 34 | 'angular-moment.min.js': 'angular-moment.js' 35 | } 36 | } 37 | }, 38 | ngdocs: { 39 | options: { 40 | startPage: '/', 41 | title: false, 42 | html5Mode: false 43 | }, 44 | api: { 45 | src: 'angular-moment.js', 46 | title: 'angular-moment API Documentation' 47 | } 48 | } 49 | }); 50 | 51 | grunt.registerTask('test', [ 52 | 'jshint', 53 | 'karma' 54 | ]); 55 | 56 | grunt.registerTask('build', [ 57 | 'jshint', 58 | 'uglify' 59 | ]); 60 | 61 | grunt.registerTask('default', ['build']); 62 | }; 63 | -------------------------------------------------------------------------------- /lib/public/bower_components/moment/src/lib/moment/get-set.js: -------------------------------------------------------------------------------- 1 | import { normalizeUnits } from '../units/aliases'; 2 | import { hooks } from '../utils/hooks'; 3 | import isFunction from '../utils/is-function'; 4 | 5 | export function makeGetSet (unit, keepTime) { 6 | return function (value) { 7 | if (value != null) { 8 | set(this, unit, value); 9 | hooks.updateOffset(this, keepTime); 10 | return this; 11 | } else { 12 | return get(this, unit); 13 | } 14 | }; 15 | } 16 | 17 | export function get (mom, unit) { 18 | return mom.isValid() ? 19 | mom._d['get' + (mom._isUTC ? 'UTC' : '') + unit]() : NaN; 20 | } 21 | 22 | export function set (mom, unit, value) { 23 | if (mom.isValid()) { 24 | mom._d['set' + (mom._isUTC ? 'UTC' : '') + unit](value); 25 | } 26 | } 27 | 28 | // MOMENTS 29 | 30 | export function getSet (units, value) { 31 | var unit; 32 | if (typeof units === 'object') { 33 | for (unit in units) { 34 | this.set(unit, units[unit]); 35 | } 36 | } else { 37 | units = normalizeUnits(units); 38 | if (isFunction(this[units])) { 39 | return this[units](value); 40 | } 41 | } 42 | return this; 43 | } 44 | -------------------------------------------------------------------------------- /lib/public/bower_components/simplemde/src/js/codemirror/tablist.js: -------------------------------------------------------------------------------- 1 | // CodeMirror, copyright (c) by Marijn Haverbeke and others 2 | // Distributed under an MIT license: http://codemirror.net/LICENSE 3 | 4 | var CodeMirror = require("codemirror"); 5 | 6 | CodeMirror.commands.tabAndIndentMarkdownList = function (cm) { 7 | var ranges = cm.listSelections(); 8 | var pos = ranges[0].head; 9 | var eolState = cm.getStateAfter(pos.line); 10 | var inList = eolState.list !== false; 11 | 12 | if (inList) { 13 | cm.execCommand("indentMore"); 14 | return; 15 | } 16 | 17 | if (cm.options.indentWithTabs) { 18 | cm.execCommand("insertTab"); 19 | } 20 | else { 21 | var spaces = Array(cm.options.tabSize + 1).join(" "); 22 | cm.replaceSelection(spaces); 23 | } 24 | }; 25 | 26 | CodeMirror.commands.shiftTabAndUnindentMarkdownList = function (cm) { 27 | var ranges = cm.listSelections(); 28 | var pos = ranges[0].head; 29 | var eolState = cm.getStateAfter(pos.line); 30 | var inList = eolState.list !== false; 31 | 32 | if (inList) { 33 | cm.execCommand("indentLess"); 34 | return; 35 | } 36 | 37 | if (cm.options.indentWithTabs) { 38 | cm.execCommand("insertTab"); 39 | } 40 | else { 41 | var spaces = Array(cm.options.tabSize + 1).join(" "); 42 | cm.replaceSelection(spaces); 43 | } 44 | }; 45 | -------------------------------------------------------------------------------- /lib/public/bower_components/simplemde/CONTRIBUTING.md: -------------------------------------------------------------------------------- 1 | ### Overview 2 | First of all, thanks for your interest in helping make SimpleMDE even better. Contributions help resolve rare bugs, accomplish neat new features, polish the code, and improve the documentation. 3 | 4 | ### Guidelines for contributing 5 | - The *most important* guideline for contributing is to compare against the `development` branch when creating a pull request. This allows time to test and modify code changes before merging them into the stable master branch with the next release. 6 | - Travis CI is configured to build and verify all PRs. If your PR causes the build to fail, please add an additional commit that resolves any problems. 7 | - If you really want to earn some brownie points, create a JSFiddle that demonstrates your code changes. Seriously, this helps immensely and allows one or multiple people to easily provide feedback on the great work you've done. 8 | - When creating the JSFiddle, keep in mind that you can use http://rawgit.com for your files. 9 | - Do your best to fully test your changes. Anticipate edge-case behavior. 10 | - Try to keep your codebase that you're making changes to as up-to-date as possible with the origin. SimpleMDE creates new releases frequently, so it's easy to fall behind if you've been working on something new for a while. 11 | -------------------------------------------------------------------------------- /lib/public/bower_components/sweetalert/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "sweetalert", 3 | "version": "1.1.3", 4 | "description": "A beautiful replacement for JavaScript's \"alert\"", 5 | "main": "lib/sweetalert.js", 6 | "directories": { 7 | "example": "example" 8 | }, 9 | "scripts": { 10 | "test": "gulp test" 11 | }, 12 | "repository": { 13 | "type": "git", 14 | "url": "https://github.com/t4t5/sweetalert" 15 | }, 16 | "keywords": [ 17 | "sweetalert", 18 | "alert", 19 | "modal", 20 | "popup" 21 | ], 22 | "author": "Tristan Edwards (http://tristanedwards.me)", 23 | "license": "MIT", 24 | "bugs": { 25 | "url": "https://github.com/t4t5/sweetalert/issues" 26 | }, 27 | "homepage": "http://tristanedwards.me/sweetalert", 28 | "devDependencies": { 29 | "babelify": "^6.0.2", 30 | "browserify": "^9.0.8", 31 | "glob": "^5.0.3", 32 | "gulp": "^3.9.0", 33 | "gulp-babel": "^5.2.1", 34 | "gulp-concat": "^2.4.3", 35 | "gulp-jshint": "^1.9.0", 36 | "gulp-minify-css": "^0.3.13", 37 | "gulp-qunit": "latest", 38 | "gulp-rename": "^1.2.0", 39 | "gulp-sass": "^2.0.1", 40 | "gulp-uglify": "^1.0.2", 41 | "gulp-wrap": "^0.11.0", 42 | "path": "^0.11.14", 43 | "vinyl-buffer": "^1.0.0", 44 | "vinyl-source-stream": "^1.1.0" 45 | } 46 | } 47 | -------------------------------------------------------------------------------- /lib/public/bower_components/moment/src/lib/locale/lists.js: -------------------------------------------------------------------------------- 1 | import { getLocale } from './locales'; 2 | import { createUTC } from '../create/utc'; 3 | 4 | function get (format, index, field, setter) { 5 | var locale = getLocale(); 6 | var utc = createUTC().set(setter, index); 7 | return locale[field](utc, format); 8 | } 9 | 10 | function list (format, index, field, count, setter) { 11 | if (typeof format === 'number') { 12 | index = format; 13 | format = undefined; 14 | } 15 | 16 | format = format || ''; 17 | 18 | if (index != null) { 19 | return get(format, index, field, setter); 20 | } 21 | 22 | var i; 23 | var out = []; 24 | for (i = 0; i < count; i++) { 25 | out[i] = get(format, i, field, setter); 26 | } 27 | return out; 28 | } 29 | 30 | export function listMonths (format, index) { 31 | return list(format, index, 'months', 12, 'month'); 32 | } 33 | 34 | export function listMonthsShort (format, index) { 35 | return list(format, index, 'monthsShort', 12, 'month'); 36 | } 37 | 38 | export function listWeekdays (format, index) { 39 | return list(format, index, 'weekdays', 7, 'day'); 40 | } 41 | 42 | export function listWeekdaysShort (format, index) { 43 | return list(format, index, 'weekdaysShort', 7, 'day'); 44 | } 45 | 46 | export function listWeekdaysMin (format, index) { 47 | return list(format, index, 'weekdaysMin', 7, 'day'); 48 | } 49 | -------------------------------------------------------------------------------- /lib/public/bower_components/moment/src/lib/locale/set.js: -------------------------------------------------------------------------------- 1 | import isFunction from '../utils/is-function'; 2 | import extend from '../utils/extend'; 3 | import isObject from '../utils/is-object'; 4 | import hasOwnProp from '../utils/has-own-prop'; 5 | 6 | export function set (config) { 7 | var prop, i; 8 | for (i in config) { 9 | prop = config[i]; 10 | if (isFunction(prop)) { 11 | this[i] = prop; 12 | } else { 13 | this['_' + i] = prop; 14 | } 15 | } 16 | this._config = config; 17 | // Lenient ordinal parsing accepts just a number in addition to 18 | // number + (possibly) stuff coming from _ordinalParseLenient. 19 | this._ordinalParseLenient = new RegExp(this._ordinalParse.source + '|' + (/\d{1,2}/).source); 20 | } 21 | 22 | export function mergeConfigs(parentConfig, childConfig) { 23 | var res = extend({}, parentConfig), prop; 24 | for (prop in childConfig) { 25 | if (hasOwnProp(childConfig, prop)) { 26 | if (isObject(parentConfig[prop]) && isObject(childConfig[prop])) { 27 | res[prop] = {}; 28 | extend(res[prop], parentConfig[prop]); 29 | extend(res[prop], childConfig[prop]); 30 | } else if (childConfig[prop] != null) { 31 | res[prop] = childConfig[prop]; 32 | } else { 33 | delete res[prop]; 34 | } 35 | } 36 | } 37 | return res; 38 | } 39 | -------------------------------------------------------------------------------- /lib/public/bower_components/moment/src/lib/create/check-overflow.js: -------------------------------------------------------------------------------- 1 | import { daysInMonth } from '../units/month'; 2 | import { YEAR, MONTH, DATE, HOUR, MINUTE, SECOND, MILLISECOND, WEEK, WEEKDAY } from '../units/constants'; 3 | import getParsingFlags from '../create/parsing-flags'; 4 | 5 | export default function checkOverflow (m) { 6 | var overflow; 7 | var a = m._a; 8 | 9 | if (a && getParsingFlags(m).overflow === -2) { 10 | overflow = 11 | a[MONTH] < 0 || a[MONTH] > 11 ? MONTH : 12 | a[DATE] < 1 || a[DATE] > daysInMonth(a[YEAR], a[MONTH]) ? DATE : 13 | a[HOUR] < 0 || a[HOUR] > 24 || (a[HOUR] === 24 && (a[MINUTE] !== 0 || a[SECOND] !== 0 || a[MILLISECOND] !== 0)) ? HOUR : 14 | a[MINUTE] < 0 || a[MINUTE] > 59 ? MINUTE : 15 | a[SECOND] < 0 || a[SECOND] > 59 ? SECOND : 16 | a[MILLISECOND] < 0 || a[MILLISECOND] > 999 ? MILLISECOND : 17 | -1; 18 | 19 | if (getParsingFlags(m)._overflowDayOfYear && (overflow < YEAR || overflow > DATE)) { 20 | overflow = DATE; 21 | } 22 | if (getParsingFlags(m)._overflowWeeks && overflow === -1) { 23 | overflow = WEEK; 24 | } 25 | if (getParsingFlags(m)._overflowWeekday && overflow === -1) { 26 | overflow = WEEKDAY; 27 | } 28 | 29 | getParsingFlags(m).overflow = overflow; 30 | } 31 | 32 | return m; 33 | } 34 | 35 | -------------------------------------------------------------------------------- /lib/public/bower_components/jquery/src/core/parseHTML.js: -------------------------------------------------------------------------------- 1 | define( [ 2 | "../core", 3 | "../var/document", 4 | "./var/rsingleTag", 5 | "../manipulation/buildFragment", 6 | 7 | // This is the only module that needs core/support 8 | "./support" 9 | ], function( jQuery, document, rsingleTag, buildFragment, support ) { 10 | 11 | // Argument "data" should be string of html 12 | // context (optional): If specified, the fragment will be created in this context, 13 | // defaults to document 14 | // keepScripts (optional): If true, will include scripts passed in the html string 15 | jQuery.parseHTML = function( data, context, keepScripts ) { 16 | if ( !data || typeof data !== "string" ) { 17 | return null; 18 | } 19 | if ( typeof context === "boolean" ) { 20 | keepScripts = context; 21 | context = false; 22 | } 23 | 24 | // Stop scripts or inline event handlers from being executed immediately 25 | // by using document.implementation 26 | context = context || ( support.createHTMLDocument ? 27 | document.implementation.createHTMLDocument( "" ) : 28 | document ); 29 | 30 | var parsed = rsingleTag.exec( data ), 31 | scripts = !keepScripts && []; 32 | 33 | // Single tag 34 | if ( parsed ) { 35 | return [ context.createElement( parsed[ 1 ] ) ]; 36 | } 37 | 38 | parsed = buildFragment( [ data ], context, scripts ); 39 | 40 | if ( scripts && scripts.length ) { 41 | jQuery( scripts ).remove(); 42 | } 43 | 44 | return jQuery.merge( [], parsed.childNodes ); 45 | }; 46 | 47 | return jQuery.parseHTML; 48 | 49 | } ); 50 | -------------------------------------------------------------------------------- /lib/public/bower_components/moment/src/lib/moment/start-end-of.js: -------------------------------------------------------------------------------- 1 | import { normalizeUnits } from '../units/aliases'; 2 | 3 | export function startOf (units) { 4 | units = normalizeUnits(units); 5 | // the following switch intentionally omits break keywords 6 | // to utilize falling through the cases. 7 | switch (units) { 8 | case 'year': 9 | this.month(0); 10 | /* falls through */ 11 | case 'quarter': 12 | case 'month': 13 | this.date(1); 14 | /* falls through */ 15 | case 'week': 16 | case 'isoWeek': 17 | case 'day': 18 | this.hours(0); 19 | /* falls through */ 20 | case 'hour': 21 | this.minutes(0); 22 | /* falls through */ 23 | case 'minute': 24 | this.seconds(0); 25 | /* falls through */ 26 | case 'second': 27 | this.milliseconds(0); 28 | } 29 | 30 | // weeks are a special case 31 | if (units === 'week') { 32 | this.weekday(0); 33 | } 34 | if (units === 'isoWeek') { 35 | this.isoWeekday(1); 36 | } 37 | 38 | // quarters are also special 39 | if (units === 'quarter') { 40 | this.month(Math.floor(this.month() / 3) * 3); 41 | } 42 | 43 | return this; 44 | } 45 | 46 | export function endOf (units) { 47 | units = normalizeUnits(units); 48 | if (units === undefined || units === 'millisecond') { 49 | return this; 50 | } 51 | return this.startOf(units).add(1, (units === 'isoWeek' ? 'week' : units)).subtract(1, 'ms'); 52 | } 53 | -------------------------------------------------------------------------------- /wercker.yml: -------------------------------------------------------------------------------- 1 | # This references the default nodejs container from 2 | # the Docker Hub: https://registry.hub.docker.com/_/node/ 3 | # If you want Nodesource's container you would reference nodesource/node 4 | # Read more about containers on our dev center 5 | # http://devcenter.wercker.com/docs/containers/index.html 6 | box: node 7 | # This is the build pipeline. Pipelines are the core of wercker 8 | # Read more about pipelines on our dev center 9 | # http://devcenter.wercker.com/docs/pipelines/index.html 10 | 11 | # You can also use services such as databases. Read more on our dev center: 12 | # http://devcenter.wercker.com/docs/services/index.html 13 | # services: 14 | # - postgres 15 | # http://devcenter.wercker.com/docs/services/postgresql.html 16 | 17 | # - mongodb 18 | # http://devcenter.wercker.com/docs/services/mongodb.html 19 | build: 20 | # The steps that will be executed on build 21 | # Steps make up the actions in your pipeline 22 | # Read more about steps on our dev center: 23 | # http://devcenter.wercker.com/docs/steps/index.html 24 | steps: 25 | # A step that executes `npm install` command 26 | - npm-install 27 | # A step that executes `npm test` command 28 | - npm-test 29 | 30 | # A custom script step, name value is used in the UI 31 | # and the code value contains the command that get executed 32 | - script: 33 | name: echo nodejs information 34 | code: | 35 | echo "node version $(node -v) running" 36 | echo "npm version $(npm -v) running" 37 | -------------------------------------------------------------------------------- /lib/public/bower_components/jquery/src/core/access.js: -------------------------------------------------------------------------------- 1 | define( [ 2 | "../core" 3 | ], function( jQuery ) { 4 | 5 | // Multifunctional method to get and set values of a collection 6 | // The value/s can optionally be executed if it's a function 7 | var access = function( elems, fn, key, value, chainable, emptyGet, raw ) { 8 | var i = 0, 9 | len = elems.length, 10 | bulk = key == null; 11 | 12 | // Sets many values 13 | if ( jQuery.type( key ) === "object" ) { 14 | chainable = true; 15 | for ( i in key ) { 16 | access( elems, fn, i, key[ i ], true, emptyGet, raw ); 17 | } 18 | 19 | // Sets one value 20 | } else if ( value !== undefined ) { 21 | chainable = true; 22 | 23 | if ( !jQuery.isFunction( value ) ) { 24 | raw = true; 25 | } 26 | 27 | if ( bulk ) { 28 | 29 | // Bulk operations run against the entire set 30 | if ( raw ) { 31 | fn.call( elems, value ); 32 | fn = null; 33 | 34 | // ...except when executing function values 35 | } else { 36 | bulk = fn; 37 | fn = function( elem, key, value ) { 38 | return bulk.call( jQuery( elem ), value ); 39 | }; 40 | } 41 | } 42 | 43 | if ( fn ) { 44 | for ( ; i < len; i++ ) { 45 | fn( 46 | elems[ i ], key, raw ? 47 | value : 48 | value.call( elems[ i ], i, fn( elems[ i ], key ) ) 49 | ); 50 | } 51 | } 52 | } 53 | 54 | return chainable ? 55 | elems : 56 | 57 | // Gets 58 | bulk ? 59 | fn.call( elems ) : 60 | len ? fn( elems[ 0 ], key ) : emptyGet; 61 | }; 62 | 63 | return access; 64 | 65 | } ); 66 | -------------------------------------------------------------------------------- /lib/public/bower_components/moment/src/lib/duration/constructor.js: -------------------------------------------------------------------------------- 1 | import { normalizeObjectUnits } from '../units/aliases'; 2 | import { getLocale } from '../locale/locales'; 3 | 4 | export function Duration (duration) { 5 | var normalizedInput = normalizeObjectUnits(duration), 6 | years = normalizedInput.year || 0, 7 | quarters = normalizedInput.quarter || 0, 8 | months = normalizedInput.month || 0, 9 | weeks = normalizedInput.week || 0, 10 | days = normalizedInput.day || 0, 11 | hours = normalizedInput.hour || 0, 12 | minutes = normalizedInput.minute || 0, 13 | seconds = normalizedInput.second || 0, 14 | milliseconds = normalizedInput.millisecond || 0; 15 | 16 | // representation for dateAddRemove 17 | this._milliseconds = +milliseconds + 18 | seconds * 1e3 + // 1000 19 | minutes * 6e4 + // 1000 * 60 20 | hours * 36e5; // 1000 * 60 * 60 21 | // Because of dateAddRemove treats 24 hours as different from a 22 | // day when working around DST, we need to store them separately 23 | this._days = +days + 24 | weeks * 7; 25 | // It is impossible translate months into days without knowing 26 | // which months you are are talking about, so we have to store 27 | // it separately. 28 | this._months = +months + 29 | quarters * 3 + 30 | years * 12; 31 | 32 | this._data = {}; 33 | 34 | this._locale = getLocale(); 35 | 36 | this._bubble(); 37 | } 38 | 39 | export function isDuration (obj) { 40 | return obj instanceof Duration; 41 | } 42 | -------------------------------------------------------------------------------- /lib/public/bower_components/jquery/src/intro.js: -------------------------------------------------------------------------------- 1 | /*! 2 | * jQuery JavaScript Library v@VERSION 3 | * http://jquery.com/ 4 | * 5 | * Includes Sizzle.js 6 | * http://sizzlejs.com/ 7 | * 8 | * Copyright jQuery Foundation and other contributors 9 | * Released under the MIT license 10 | * http://jquery.org/license 11 | * 12 | * Date: @DATE 13 | */ 14 | 15 | (function( global, factory ) { 16 | 17 | if ( typeof module === "object" && typeof module.exports === "object" ) { 18 | // For CommonJS and CommonJS-like environments where a proper `window` 19 | // is present, execute the factory and get jQuery. 20 | // For environments that do not have a `window` with a `document` 21 | // (such as Node.js), expose a factory as module.exports. 22 | // This accentuates the need for the creation of a real `window`. 23 | // e.g. var jQuery = require("jquery")(window); 24 | // See ticket #14549 for more info. 25 | module.exports = global.document ? 26 | factory( global, true ) : 27 | function( w ) { 28 | if ( !w.document ) { 29 | throw new Error( "jQuery requires a window with a document" ); 30 | } 31 | return factory( w ); 32 | }; 33 | } else { 34 | factory( global ); 35 | } 36 | 37 | // Pass this if window is not defined yet 38 | }(typeof window !== "undefined" ? window : this, function( window, noGlobal ) { 39 | 40 | // Support: Firefox 18+ 41 | // Can't be in strict mode, several libs including ASP.NET trace 42 | // the stack via arguments.caller.callee and Firefox dies if 43 | // you try to trace through "use strict" call chains. (#13335) 44 | //"use strict"; 45 | -------------------------------------------------------------------------------- /lib/public/bower_components/moment/src/locale/ar-tn.js: -------------------------------------------------------------------------------- 1 | //! moment.js locale configuration 2 | //! locale : Tunisian Arabic (ar-tn) 3 | 4 | import moment from '../moment'; 5 | 6 | export default moment.defineLocale('ar-tn', { 7 | months: 'جانفي_فيفري_مارس_أفريل_ماي_جوان_جويلية_أوت_سبتمبر_أكتوبر_نوفمبر_ديسمبر'.split('_'), 8 | monthsShort: 'جانفي_فيفري_مارس_أفريل_ماي_جوان_جويلية_أوت_سبتمبر_أكتوبر_نوفمبر_ديسمبر'.split('_'), 9 | weekdays: 'الأحد_الإثنين_الثلاثاء_الأربعاء_الخميس_الجمعة_السبت'.split('_'), 10 | weekdaysShort: 'أحد_إثنين_ثلاثاء_أربعاء_خميس_جمعة_سبت'.split('_'), 11 | weekdaysMin: 'ح_ن_ث_ر_خ_ج_س'.split('_'), 12 | longDateFormat: { 13 | LT: 'HH:mm', 14 | LTS: 'HH:mm:ss', 15 | L: 'DD/MM/YYYY', 16 | LL: 'D MMMM YYYY', 17 | LLL: 'D MMMM YYYY HH:mm', 18 | LLLL: 'dddd D MMMM YYYY HH:mm' 19 | }, 20 | calendar: { 21 | sameDay: '[اليوم على الساعة] LT', 22 | nextDay: '[غدا على الساعة] LT', 23 | nextWeek: 'dddd [على الساعة] LT', 24 | lastDay: '[أمس على الساعة] LT', 25 | lastWeek: 'dddd [على الساعة] LT', 26 | sameElse: 'L' 27 | }, 28 | relativeTime: { 29 | future: 'في %s', 30 | past: 'منذ %s', 31 | s: 'ثوان', 32 | m: 'دقيقة', 33 | mm: '%d دقائق', 34 | h: 'ساعة', 35 | hh: '%d ساعات', 36 | d: 'يوم', 37 | dd: '%d أيام', 38 | M: 'شهر', 39 | MM: '%d أشهر', 40 | y: 'سنة', 41 | yy: '%d سنوات' 42 | }, 43 | week: { 44 | dow: 1, // Monday is the first day of the week. 45 | doy: 4 // The week that contains Jan 4th is the first week of the year. 46 | } 47 | }); 48 | 49 | -------------------------------------------------------------------------------- /lib/public/bower_components/jquery/src/ajax/script.js: -------------------------------------------------------------------------------- 1 | define( [ 2 | "../core", 3 | "../var/document", 4 | "../ajax" 5 | ], function( jQuery, document ) { 6 | 7 | // Install script dataType 8 | jQuery.ajaxSetup( { 9 | accepts: { 10 | script: "text/javascript, application/javascript, " + 11 | "application/ecmascript, application/x-ecmascript" 12 | }, 13 | contents: { 14 | script: /\b(?:java|ecma)script\b/ 15 | }, 16 | converters: { 17 | "text script": function( text ) { 18 | jQuery.globalEval( text ); 19 | return text; 20 | } 21 | } 22 | } ); 23 | 24 | // Handle cache's special case and crossDomain 25 | jQuery.ajaxPrefilter( "script", function( s ) { 26 | if ( s.cache === undefined ) { 27 | s.cache = false; 28 | } 29 | if ( s.crossDomain ) { 30 | s.type = "GET"; 31 | } 32 | } ); 33 | 34 | // Bind script tag hack transport 35 | jQuery.ajaxTransport( "script", function( s ) { 36 | 37 | // This transport only deals with cross domain requests 38 | if ( s.crossDomain ) { 39 | var script, callback; 40 | return { 41 | send: function( _, complete ) { 42 | script = jQuery( "