8 | ngAudio is a lightweight package of directives and services that treat sound in an angular way.
9 |
Adjust volume and time with getters and setters
10 |
Attach easily to the scope
11 |
Preloads sounds automatically
12 |
Falls back to native HTML5 when possible
13 |
14 |
15 |
16 |
What can you use angular audio for
17 |
18 | Angular audio is designed to be powerful and awesome, so use it everywhere, even in projects where you hadn't even considered using sound in the first place. Its directives make sound a breeze.
19 |
20 |
use as a base for an audio player
21 |
add very fast and easy sounds to your ui
22 |
just have better control over sounds
23 |
avoid jquery
24 |
25 |
--------------------------------------------------------------------------------
/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 |
--------------------------------------------------------------------------------
/bower_components/angular-ui/build/angular-ui-ieshiv.min.js:
--------------------------------------------------------------------------------
1 | /**
2 | * AngularUI - The companion suite for AngularJS
3 | * @version v0.4.0 - 2013-02-15
4 | * @link http://angular-ui.github.com
5 | * @license MIT License, http://www.opensource.org/licenses/MIT
6 | */
7 | (function(e){var t=window.ieShivDebug||!1,n=["ngInclude","ngPluralize","ngView","ngSwitch","uiCurrency","uiCodemirror","uiDate","uiEvent","uiKeypress","uiKeyup","uiKeydown","uiMask","uiMapInfoWindow","uiMapMarker","uiMapPolyline","uiMapPolygon","uiMapRectangle","uiMapCircle","uiMapGroundOverlay","uiModal","uiReset","uiScrollfix","uiSelect2","uiShow","uiHide","uiToggle","uiSortable","uiTinymce"];window.myCustomTags=window.myCustomTags||[],n.push.apply(n,window.myCustomTags);var r=function(e){var t=[],n=e.replace(/([A-Z])/g,function(e){return" "+e.toLowerCase()}),r=n.split(" "),i=r[0],s=r.slice(1).join("-");return t.push(i+":"+s),t.push(i+"-"+s),t.push("x-"+i+"-"+s),t.push("data-"+i+"-"+s),t};for(var i=0,s=n.length;i=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 |
--------------------------------------------------------------------------------
/bower_components/bourbon/app/assets/stylesheets/css3/_selection.scss:
--------------------------------------------------------------------------------
1 | @charset "UTF-8";
2 |
3 | /// Outputs the spec and prefixed versions of the `::selection` pseudo-element.
4 | ///
5 | /// @param {Bool} $current-selector [false]
6 | /// If set to `true`, it takes the current element into consideration.
7 | ///
8 | /// @example scss - Usage
9 | /// .element {
10 | /// @include selection(true) {
11 | /// background-color: #ffbb52;
12 | /// }
13 | /// }
14 | ///
15 | /// @example css - CSS Output
16 | /// .element::-moz-selection {
17 | /// background-color: #ffbb52;
18 | /// }
19 | ///
20 | /// .element::selection {
21 | /// background-color: #ffbb52;
22 | /// }
23 |
24 | @mixin selection($current-selector: false) {
25 | @if $current-selector {
26 | &::-moz-selection {
27 | @content;
28 | }
29 |
30 | &::selection {
31 | @content;
32 | }
33 | } @else {
34 | ::-moz-selection {
35 | @content;
36 | }
37 |
38 | ::selection {
39 | @content;
40 | }
41 | }
42 | }
43 |
--------------------------------------------------------------------------------
/doap.ttl:
--------------------------------------------------------------------------------
1 | <#this>
2 | a , ;
3 | "A dashboard App for the SoLiD platform" ;
4 | ;
5 | ;
6 | "mit" ;
7 | ;
8 | "dashboard" ;
9 | "A dashboard App for the SoLiD platform" ;
10 | "dashboard" ;
11 | "A dashboard App for the SoLiD platform" ;
12 | ;
13 | ;
14 | "dashboard" .
15 |
--------------------------------------------------------------------------------
/bower_components/bourbon/app/assets/stylesheets/helpers/_linear-side-corner-parser.scss:
--------------------------------------------------------------------------------
1 | // Private function for linear-gradient-parser
2 | @function _linear-side-corner-parser($image, $first-val, $prefix, $suffix, $has-multiple-vals) {
3 | $val-1: str-slice($first-val, 1, $has-multiple-vals - 1);
4 | $val-2: str-slice($first-val, $has-multiple-vals + 1, str-length($first-val));
5 | $val-3: null;
6 | $has-val-3: str-index($val-2, " ");
7 |
8 | @if $has-val-3 {
9 | $val-3: str-slice($val-2, $has-val-3 + 1, str-length($val-2));
10 | $val-2: str-slice($val-2, 1, $has-val-3 - 1);
11 | }
12 |
13 | $pos: _position-flipper($val-1) _position-flipper($val-2) _position-flipper($val-3);
14 | $pos: unquote($pos + "");
15 |
16 | // Use old spec for webkit
17 | @if $val-1 == "to" {
18 | @return (
19 | webkit-image: -webkit- + $prefix + $pos + $suffix,
20 | spec-image: $image
21 | );
22 | }
23 |
24 | // Bring the code up to spec
25 | @else {
26 | @return (
27 | webkit-image: -webkit- + $image,
28 | spec-image: $prefix + "to " + $pos + $suffix
29 | );
30 | }
31 | }
32 |
--------------------------------------------------------------------------------
/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 |
--------------------------------------------------------------------------------
/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 |
--------------------------------------------------------------------------------
/bower_components/jquery/src/core/parseHTML.js:
--------------------------------------------------------------------------------
1 | define([
2 | "../core",
3 | "./var/rsingleTag",
4 | "../manipulation" // buildFragment
5 | ], function( jQuery, rsingleTag ) {
6 |
7 | // data: string of html
8 | // context (optional): If specified, the fragment will be created in this context, defaults to document
9 | // keepScripts (optional): If true, will include scripts passed in the html string
10 | jQuery.parseHTML = function( data, context, keepScripts ) {
11 | if ( !data || typeof data !== "string" ) {
12 | return null;
13 | }
14 | if ( typeof context === "boolean" ) {
15 | keepScripts = context;
16 | context = false;
17 | }
18 | context = context || document;
19 |
20 | var parsed = rsingleTag.exec( data ),
21 | scripts = !keepScripts && [];
22 |
23 | // Single tag
24 | if ( parsed ) {
25 | return [ context.createElement( parsed[1] ) ];
26 | }
27 |
28 | parsed = jQuery.buildFragment( [ data ], context, scripts );
29 |
30 | if ( scripts && scripts.length ) {
31 | jQuery( scripts ).remove();
32 | }
33 |
34 | return jQuery.merge( [], parsed.childNodes );
35 | };
36 |
37 | return jQuery.parseHTML;
38 |
39 | });
40 |
--------------------------------------------------------------------------------
/bower_components/bourbon/.bower.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "bourbon",
3 | "description": "A simple and lightweight mixin library for Sass.",
4 | "version": "4.2.6",
5 | "main": "app/assets/stylesheets/_bourbon.scss",
6 | "license": "MIT",
7 | "ignore": [
8 | "**/.*",
9 | "CONTRIBUTING.md",
10 | "Gemfile",
11 | "Gemfile.lock",
12 | "Rakefile",
13 | "_site",
14 | "bin",
15 | "bourbon.gemspec",
16 | "features",
17 | "lib",
18 | "package.json",
19 | "sache.json",
20 | "spec"
21 | ],
22 | "keywords": [
23 | "css",
24 | "mixins",
25 | "sass",
26 | "scss"
27 | ],
28 | "authors": [
29 | "thoughtbot (http://thoughtbot.com)"
30 | ],
31 | "homepage": "http://bourbon.io",
32 | "repository": {
33 | "type": "git",
34 | "url": "https://github.com/thoughtbot/bourbon.git"
35 | },
36 | "_release": "4.2.6",
37 | "_resolution": {
38 | "type": "version",
39 | "tag": "v4.2.6",
40 | "commit": "a979f3084e38589f050e1349df71d3a35fe52ae3"
41 | },
42 | "_source": "git://github.com/thoughtbot/bourbon.git",
43 | "_target": "*",
44 | "_originalSource": "bourbon"
45 | }
--------------------------------------------------------------------------------
/bower_components/jquery/src/manipulation/support.js:
--------------------------------------------------------------------------------
1 | define([
2 | "../var/support"
3 | ], function( support ) {
4 |
5 | (function() {
6 | var fragment = document.createDocumentFragment(),
7 | div = fragment.appendChild( document.createElement( "div" ) ),
8 | input = document.createElement( "input" );
9 |
10 | // Support: Safari<=5.1
11 | // Check state lost if the name is set (#11217)
12 | // Support: Windows Web Apps (WWA)
13 | // `name` and `type` must use .setAttribute for WWA (#14901)
14 | input.setAttribute( "type", "radio" );
15 | input.setAttribute( "checked", "checked" );
16 | input.setAttribute( "name", "t" );
17 |
18 | div.appendChild( input );
19 |
20 | // Support: Safari<=5.1, Android<4.2
21 | // Older WebKit doesn't clone checked state correctly in fragments
22 | support.checkClone = div.cloneNode( true ).cloneNode( true ).lastChild.checked;
23 |
24 | // Support: IE<=11+
25 | // Make sure textarea (and checkbox) defaultValue is properly cloned
26 | div.innerHTML = "";
27 | support.noCloneChecked = !!div.cloneNode( true ).lastChild.defaultValue;
28 | })();
29 |
30 | return support;
31 |
32 | });
33 |
--------------------------------------------------------------------------------
/bower_components/lumx/core/scss/trumps/_helpers.scss:
--------------------------------------------------------------------------------
1 | ///*------------------------------------*\
2 | // #TRUMPS-HELPERS
3 | //\*------------------------------------*/
4 |
5 | // Clearfix.
6 | .clearfix { @include clearfix; }
7 |
8 |
9 |
10 |
11 |
12 | // Add/remove floats.
13 | .float-right { float:right !important; }
14 | .float-left { float:left !important; }
15 | .float-none { float:none !important; }
16 |
17 |
18 |
19 |
20 |
21 | // Text alignment.
22 | .text-left { text-align: left !important; }
23 | .text-center { text-align: center !important; }
24 | .text-right { text-align: right !important; }
25 |
26 |
27 |
28 |
29 |
30 | // Display block.
31 | .display-block {
32 | display: block;
33 | }
34 |
35 |
36 |
37 |
38 |
39 | // Hide content off-screen without resorting to `display:none;`.
40 | .visuallyhidden,
41 | %visuallyhidden {
42 | border: 0 !important;
43 | clip: rect(0 0 0 0) !important;
44 | height: 1px !important;
45 | margin: -1px !important;
46 | overflow: hidden !important;
47 | padding: 0 !important;
48 | position: absolute !important;
49 | width: 1px !important;
50 | }
--------------------------------------------------------------------------------
/bower_components/lumx/dist/scss/trumps/_helpers.scss:
--------------------------------------------------------------------------------
1 | ///*------------------------------------*\
2 | // #TRUMPS-HELPERS
3 | //\*------------------------------------*/
4 |
5 | // Clearfix.
6 | .clearfix { @include clearfix; }
7 |
8 |
9 |
10 |
11 |
12 | // Add/remove floats.
13 | .float-right { float:right !important; }
14 | .float-left { float:left !important; }
15 | .float-none { float:none !important; }
16 |
17 |
18 |
19 |
20 |
21 | // Text alignment.
22 | .text-left { text-align: left !important; }
23 | .text-center { text-align: center !important; }
24 | .text-right { text-align: right !important; }
25 |
26 |
27 |
28 |
29 |
30 | // Display block.
31 | .display-block {
32 | display: block;
33 | }
34 |
35 |
36 |
37 |
38 |
39 | // Hide content off-screen without resorting to `display:none;`.
40 | .visuallyhidden,
41 | %visuallyhidden {
42 | border: 0 !important;
43 | clip: rect(0 0 0 0) !important;
44 | height: 1px !important;
45 | margin: -1px !important;
46 | overflow: hidden !important;
47 | padding: 0 !important;
48 | position: absolute !important;
49 | width: 1px !important;
50 | }
--------------------------------------------------------------------------------
/bower_components/moment/src/lib/moment/get-set.js:
--------------------------------------------------------------------------------
1 | import { normalizeUnits } from '../units/aliases';
2 | import { hooks } from '../utils/hooks';
3 |
4 | export function makeGetSet (unit, keepTime) {
5 | return function (value) {
6 | if (value != null) {
7 | set(this, unit, value);
8 | hooks.updateOffset(this, keepTime);
9 | return this;
10 | } else {
11 | return get(this, unit);
12 | }
13 | };
14 | }
15 |
16 | export function get (mom, unit) {
17 | return mom._d['get' + (mom._isUTC ? 'UTC' : '') + unit]();
18 | }
19 |
20 | export function set (mom, unit, value) {
21 | return mom._d['set' + (mom._isUTC ? 'UTC' : '') + unit](value);
22 | }
23 |
24 | // MOMENTS
25 |
26 | export function getSet (units, value) {
27 | var unit;
28 | if (typeof units === 'object') {
29 | for (unit in units) {
30 | this.set(unit, units[unit]);
31 | }
32 | } else {
33 | units = normalizeUnits(units);
34 | if (typeof this[units] === 'function') {
35 | return this[units](value);
36 | }
37 | }
38 | return this;
39 | }
40 |
--------------------------------------------------------------------------------
/LICENSE:
--------------------------------------------------------------------------------
1 | The MIT License (MIT)
2 |
3 | Copyright (c) 2015 Melvin Carvalho
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 |
--------------------------------------------------------------------------------
/bower_components/angular-ui/modules/filters/format/test/formatSpec.js:
--------------------------------------------------------------------------------
1 | describe('format', function() {
2 | var formatFilter;
3 |
4 | beforeEach(module('ui.filters'));
5 | beforeEach(inject(function($filter) {
6 | formatFilter = $filter('format');
7 | }));
8 |
9 | it('should replace all instances of $0 if string token is passed', function() {
10 | expect(formatFilter('First $0, then $0, finally $0', 'bob')).toEqual('First bob, then bob, finally bob');
11 | });
12 | it('should replace all instances of $n based on order of token array', function() {
13 | expect(formatFilter('First is $0, then $1, finally $2', ['bob','frank','dianne'])).toEqual('First is bob, then frank, finally dianne');
14 | });
15 | it('should replace all instances :tokens based on keys of token object', function() {
16 | expect(formatFilter('First is :first, next is :second, finally there is :third', {first:'bob',second:'frank',third:'dianne'})).toEqual('First is bob, next is frank, finally there is dianne');
17 | });
18 | it('should do nothing if tokens are undefined', function() {
19 | expect(formatFilter('Hello There')).toEqual('Hello There');
20 | });
21 | });
--------------------------------------------------------------------------------
/bower_components/lumx/core/scss/base/_page.scss:
--------------------------------------------------------------------------------
1 | ///*------------------------------------*\
2 | // #BASE-PAGE
3 | //\*------------------------------------*/
4 |
5 | // High page-level styling.
6 | //
7 | // 1. Set the default `font-size` and `line-height` for the entire project,
8 | // sourced from our default variables. The `font-size` is calculated to exist
9 | // in ems, the `line-height` is calculated to exist unitlessly.
10 | // 2. Ensure the page always fills at least the entire height of the viewport.
11 | // 3. Prevent certain mobile browsers from automatically zooming fonts.
12 | // 4. Fonts on OSX will look more consistent with other systems that do not
13 | // render text using sub-pixel anti-aliasing.
14 | html {
15 | font-size: ($base-font-size / 16px) * 1em; // [1]
16 | line-height: $base-line-height / $base-font-size; // [1]
17 | background-color: $base-background-color;
18 | color: $base-text-color;
19 | min-height: 100%; // [2]
20 | -webkit-text-size-adjust: 100%; // [3]
21 | -ms-text-size-adjust: 100%; // [3]
22 | -moz-osx-font-smoothing: grayscale; // [4]
23 | -webkit-font-smoothing: antialiased; // [4]
24 | }
--------------------------------------------------------------------------------
/bower_components/lumx/dist/scss/base/_page.scss:
--------------------------------------------------------------------------------
1 | ///*------------------------------------*\
2 | // #BASE-PAGE
3 | //\*------------------------------------*/
4 |
5 | // High page-level styling.
6 | //
7 | // 1. Set the default `font-size` and `line-height` for the entire project,
8 | // sourced from our default variables. The `font-size` is calculated to exist
9 | // in ems, the `line-height` is calculated to exist unitlessly.
10 | // 2. Ensure the page always fills at least the entire height of the viewport.
11 | // 3. Prevent certain mobile browsers from automatically zooming fonts.
12 | // 4. Fonts on OSX will look more consistent with other systems that do not
13 | // render text using sub-pixel anti-aliasing.
14 | html {
15 | font-size: ($base-font-size / 16px) * 1em; // [1]
16 | line-height: $base-line-height / $base-font-size; // [1]
17 | background-color: $base-background-color;
18 | color: $base-text-color;
19 | min-height: 100%; // [2]
20 | -webkit-text-size-adjust: 100%; // [3]
21 | -ms-text-size-adjust: 100%; // [3]
22 | -moz-osx-font-smoothing: grayscale; // [4]
23 | -webkit-font-smoothing: antialiased; // [4]
24 | }
--------------------------------------------------------------------------------
/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 |
--------------------------------------------------------------------------------
/bower_components/lumx/modules/progress/views/progress.html:
--------------------------------------------------------------------------------
1 |