New Case Study:See how Anthropic automated 95% of dependency reviews with Socket.Learn More
Socket
Sign inDemoInstall
Socket

foundation-apps

Package Overview
Dependencies
Maintainers
1
Versions
4
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

foundation-apps - npm Package Compare versions

Comparing version 1.0.3 to 1.1.0

dist/js/foundation-apps-templates.js

2

bin/gulp-dynamic-routing.js

@@ -10,3 +10,3 @@ var through = require('through2');

var configs = [];
var directory = process.cwd();
var directory = options.dir || process.cwd();

@@ -13,0 +13,0 @@ function bufferContents(file, enc, cb) {

{
"name": "foundation-apps",
"version": "1.0.3",
"version": "1.1.0",
"main": [

@@ -5,0 +5,0 @@ "dist/css/foundation-apps.css",

@@ -0,1 +1,88 @@

# Version 1.1 — Weisshorn
*March 17, 2015*
### General
- **The CLI has been updated to version 1.1.** It includes a streamlined install process, better error-handling, better cross-platform support, and *no Ruby dependency*. Run `npm update -g foundation-cli` to get it.
- **The documentation is way better.** We did a sweep of every docs page to fix typos, improve examples, and generally make things more clear. Enjoy!
- **Foundation for Apps is now libsass-first.** We're still testing the codebase in both Ruby Sass 3.4+ and libsass 3.1+, but our documentation and template stack now compile with libsass by default. **This means Ruby is no longer a hard dependency of the framework.**
- **Directive templates are now compiled to one file.** We're using [ng-html2js](https://github.com/yaru22/ng-html2js) to package up all of our directive templates into a single JavaScript file. This means you no longer need to include the `components` folder in a public directory! This method still works, but you can also just include the `templates.js` file and you're good to go.
- The templates file is included in the Bower and npm packages, under `dist/js/foundation-apps-templates.js`.
- A third CDN URL has been created for the template files.
- Thanks to @MikaAK for submitting the pull request that implemented this!
### Sass Variable Changes
These Sass variables changed. If you're upgrading an existing project, you'll need to update your `_settings.scss` file manually.
**Added:** `$button-background-hover: scale-color($button-background, $lightness: -15%)`
**Added:** `$motion-class-showhide: (in: "ng-hide-remove", out: "ng-hide-add");`
**Added:** `$motion-class-showhide-active: (in: "ng-hide-remove-active", out: "ng-hide-add-active");`
**Added:** `$input-background-disabled: smartscale($input-background)`
**Added:** `$input-cursor-disabled: not-allowed`
**Changed:** `$button-tag-selector` is now `false` (previously `true`)
**Removed:** `$panel-animation-speed`
**You don't need to add the new variables to your settings file,** unless you want to change their default values.
**The old variables are still in the codebase, but aren't being used.** They'll be permanently removed in version 1.2.
### Template Changes
- Sass is now compiled using libsass.
- Directive templates are compiled into a `templates.js` file, instead of being referenced using hardcoded paths to HTML files.
- **If you have an existing project, you don't need to change anything to upgrade to v1.1.**
### New Features
- **Improved view animation!** In and out animations on views will now play simultaneously. Thanks to @AntJanus, @stryju, and @jeanieshark for all their hard work in solving this difficult problem!
- `ui-view` elements no longer need the attribute `ng-class="['ui-animation']"` to animate properly; just having `ui-view` is enough.
- Prior to v1.1, view animations only worked if the states were created using our front matter routing plugin. Now you can enable view animation in manually-defined states by adding an `animation` property to the state object.
```js
$stateProvider
.state('home', {
url: '/',
templateUrl: 'templates/home.html',
animation: {
enter: 'slideInDown',
leave: 'fadeOut'
}
});
```
- #461: Added a `$background-hover` parameter to the `button-style()` mixin. You can pass in a color, or the `auto` keyword to automatically set a color based on the `$background` parameter.
- #462: Added styles for disabled form elements. They're automatically applied to any `<input>` element with the `disabled` or `readonly` attributes, or a `<fieldset>` with `disabled`. The styles can also be added manually by adding the `.disabled` class.
- #475: The path the `zf-iconic` directive uses to search for icon files can now be changed width the `IconicProvider` provider. Use `IconicProvider.setAssetPath(path)` to set the path. Thanks to @gjungb for implementing this!
- #495: The front matter routing plugin now supports ui-router's abstract states. Just add `abstract: true` to a view template to make it go.
- Added support for ngAnimate's "show" and "hide" events. This means you can now use Motion UI classes with `ng-show` and `ng-hide`.
- Added a `.noscroll` class for grid blocks and content blocks. I bet you can guess what it does!
- You can now pass a scope to a modal created with `ModalFactory`, by passing it through the `contentScope` property on the modal's configuration object.
### Bug Fixes
- #191: `<input type="range">` elements are properly styled in Internet Explorer 10+.
- #396: Prevent a `$digest already in progress` error from occuring with panels and off-canvas.
- #397: The `FoundationApi` service now has an `unsubscribe` method, which allows us to remove event listeners from elements that have been removed from the DOM.
- #467: The settings variables for buttons were placed above button group, which prevents an issue with undefined variables.
- #472: Fixed the `color` attribute of static notifications not applying.
- #478: Fixed an issue with modals where `scope.$root` could be `null` after a state change.
- #483: Fixed notifications with `autoclose` not automatically closing under some circumstances.
- #486: The `ModalFactory` factory will fetch the modal template before initialization.
- #489: Deprecated `$panel-animation-speed`, an unused Sass variable for panels. It will be removed in a future version of the framework.
- #511: Panels that have converted into a block won't play their in/out animations if triggered by an open or close event.
- #530: Visibility classes will not conflict with Angular's `.ng-hide` class.
- The `<button>` tag is no longer styled as a `.button` element by default.
- Any element with `zf-open`, `zf-close`, or `zf-toggle` applied gets the `cursor: pointer` property.
- Removed the dropdown arrow that Internet Explorer 10+ adds to `<select>` elements.
- Prevented ghosting issues in WebKit with views that are mid-transition, by adding `-webkit-transform-style: preserve3d`.
- Fixed landscape/portrait visibility classes not hiding properly.
- Images inside cards will stretch to the width of the container.
- Added a missing secondary coloring class to Iconic (`.iconic-color-secondary`).
*The British physicist John Tyndall was the first person to ascend Weisshorn. When the climb was at its most bleak, Tyndall strengthened his resolve with patriotic thoughts:*
> I thought of Englishmen in battle, of the qualities which had made them famous: it was mainly the quality of not knowing when to yield - of fighting for duty even after they had ceased to be animated by hope. Such thoughts helped to lift me over the rocks.
# Version 1.0.3

@@ -2,0 +89,0 @@

@@ -1,2 +0,2 @@

!function(t){"object"==typeof exports?module.exports=t():"function"==typeof define&&define.amd?define(t):"undefined"!=typeof window?window.IconicJS=t():"undefined"!=typeof global?global.IconicJS=t():"undefined"!=typeof self&&(self.IconicJS=t())}(function(){var t;return function e(t,n,i){function o(a,r){if(!n[a]){if(!t[a]){var s="function"==typeof require&&require;if(!r&&s)return s(a,!0);if(c)return c(a,!0);throw new Error("Cannot find module '"+a+"'")}var u=n[a]={exports:{}};t[a][0].call(u.exports,function(e){var n=t[a][1][e];return o(n?n:e)},u,u.exports,e,t,n,i)}return n[a].exports}for(var c="function"==typeof require&&require,a=0;a<i.length;a++)o(i[a]);return o}({1:[function(t,e){var n=(t("./modules/polyfills"),t("./modules/svg-injector")),i=t("./modules/extend"),o=t("./modules/responsive"),c=t("./modules/position"),a=t("./modules/container"),r=t("./modules/log"),s={},u=window.iconicSmartIconApis={},l=("file:"===window.location.protocol,0),d=function(t,e,o){e=i({},s,e||{});var c={evalScripts:e.evalScripts,pngFallback:e.pngFallback};c.each=function(t){if(t)if("string"==typeof t)r.debug(t);else if(t instanceof SVGSVGElement){var n=t.getAttribute("data-icon");if(n&&u[n]){var i=u[n](t);for(var o in i)t[o]=i[o]}/iconic-bg-/.test(t.getAttribute("class"))&&a.addBackground(t),f(t),l++,e&&e.each&&"function"==typeof e.each&&e.each(t)}},"string"==typeof t&&(t=document.querySelectorAll(t)),n(t,c,o)},f=function(t){var e=[];t?"string"==typeof t?e=document.querySelectorAll(t):void 0!==t.length?e=t:"object"==typeof t&&e.push(t):e=document.querySelectorAll("svg.iconic"),Array.prototype.forEach.call(e,function(t){t instanceof SVGSVGElement&&(t.update&&t.update(),o.refresh(t),c.refresh(t))})},p=function(){s.debug&&console.time&&console.time("autoInjectSelector - "+s.autoInjectSelector);var t=l;d(s.autoInjectSelector,{},function(){if(s.debug&&console.timeEnd&&console.timeEnd("autoInjectSelector - "+s.autoInjectSelector),r.debug("AutoInjected: "+(l-t)),o.refreshAll(),s.autoInjectDone&&"function"==typeof s.autoInjectDone){var e=l-t;s.autoInjectDone(e)}})},v=function(t){t&&""!==t&&"complete"!==document.readyState?document.addEventListener("DOMContentLoaded",p):document.removeEventListener("DOMContentLoaded",p)},m=function(t){return t=t||{},i(s,t),v(s.autoInjectSelector),r.enableDebug(s.debug),window._Iconic?window._Iconic:{inject:d,update:f,smartIconApis:u,svgInjectedCount:l}};e.exports=m,window._Iconic=new m({autoInjectSelector:"img.iconic",evalScripts:"once",pngFallback:!1,each:null,autoInjectDone:null,debug:!1})},{"./modules/container":2,"./modules/extend":3,"./modules/log":4,"./modules/polyfills":5,"./modules/position":6,"./modules/responsive":7,"./modules/svg-injector":8}],2:[function(t,e){var n=function(t){var e=t.getAttribute("class").split(" "),n=-1!==e.indexOf("iconic-fluid"),i=[],o=["iconic-bg"];Array.prototype.forEach.call(e,function(t){switch(t){case"iconic-sm":case"iconic-md":case"iconic-lg":i.push(t),n||o.push(t.replace(/-/,"-bg-"));break;case"iconic-fluid":i.push(t),o.push(t.replace(/-/,"-bg-"));break;case"iconic-bg-circle":case"iconic-bg-rounded-rect":case"iconic-bg-badge":o.push(t);break;default:i.push(t)}}),t.setAttribute("class",i.join(" "));var c=t.parentNode,a=Array.prototype.indexOf.call(c.childNodes,t),r=document.createElement("span");r.setAttribute("class",o.join(" ")),r.appendChild(t),c.insertBefore(r,c.childNodes[a])};e.exports={addBackground:n}},{}],3:[function(t,e){e.exports=function(t){return Array.prototype.forEach.call(Array.prototype.slice.call(arguments,1),function(e){if(e)for(var n in e)e.hasOwnProperty(n)&&(t[n]=e[n])}),t}},{}],4:[function(t,e){var n=!1,i=function(t){console&&console.log&&console.log(t)},o=function(t){i("Iconic INFO: "+t)},c=function(t){i("Iconic WARNING: "+t)},a=function(t){n&&i("Iconic DEBUG: "+t)},r=function(t){n=t};e.exports={info:o,warn:c,debug:a,enableDebug:r}},{}],5:[function(){Array.prototype.forEach||(Array.prototype.forEach=function(t,e){"use strict";if(void 0===this||null===this||"function"!=typeof t)throw new TypeError;var n,i=this.length>>>0;for(n=0;i>n;++n)n in this&&t.call(e,this[n],n,this)}),function(){if(Event.prototype.preventDefault||(Event.prototype.preventDefault=function(){this.returnValue=!1}),Event.prototype.stopPropagation||(Event.prototype.stopPropagation=function(){this.cancelBubble=!0}),!Element.prototype.addEventListener){var t=[],e=function(e,n){var i=this,o=function(t){t.target=t.srcElement,t.currentTarget=i,n.handleEvent?n.handleEvent(t):n.call(i,t)};if("DOMContentLoaded"==e){var c=function(t){"complete"==document.readyState&&o(t)};if(document.attachEvent("onreadystatechange",c),t.push({object:this,type:e,listener:n,wrapper:c}),"complete"==document.readyState){var a=new Event;a.srcElement=window,c(a)}}else this.attachEvent("on"+e,o),t.push({object:this,type:e,listener:n,wrapper:o})},n=function(e,n){for(var i=0;i<t.length;){var o=t[i];if(o.object==this&&o.type==e&&o.listener==n){"DOMContentLoaded"==e?this.detachEvent("onreadystatechange",o.wrapper):this.detachEvent("on"+e,o.wrapper);break}++i}};Element.prototype.addEventListener=e,Element.prototype.removeEventListener=n,HTMLDocument&&(HTMLDocument.prototype.addEventListener=e,HTMLDocument.prototype.removeEventListener=n),Window&&(Window.prototype.addEventListener=e,Window.prototype.removeEventListener=n)}}()},{}],6:[function(t,e){var n=function(t){var e=t.getAttribute("data-position");if(e&&""!==e){var n,i,o,c,a,r,s,u=t.getAttribute("width"),l=t.getAttribute("height"),d=e.split("-"),f=t.querySelectorAll("g.iconic-container");Array.prototype.forEach.call(f,function(t){if(n=t.getAttribute("data-width"),i=t.getAttribute("data-height"),n!==u||i!==l){if(o=t.getAttribute("transform"),c=1,o){var e=o.match(/scale\((\d)/);c=e&&e[1]?e[1]:1}a=Math.floor((u/c-n)/2),r=Math.floor((l/c-i)/2),Array.prototype.forEach.call(d,function(t){switch(t){case"top":r=0;break;case"bottom":r=l/c-i;break;case"left":a=0;break;case"right":a=u/c-n;break;case"center":break;default:console&&console.log&&console.log("Unknown position: "+t)}}),s=0===r?a:a+" "+r,s="translate("+s+")",o?/translate/.test(o)?o=o.replace(/translate\(.*?\)/,s):o+=" "+s:o=s,t.setAttribute("transform",o)}})}};e.exports={refresh:n}},{}],7:[function(t,e){var n=/(iconic-sm\b|iconic-md\b|iconic-lg\b)/,i=function(t,e){var n="undefined"!=typeof window.getComputedStyle&&window.getComputedStyle(t,null).getPropertyValue(e);return!n&&t.currentStyle&&(n=t.currentStyle[e.replace(/([a-z])\-([a-z])/,function(t,e,n){return e+n.toUpperCase()})]||t.currentStyle[e]),n},o=function(t){var e=t.style.display;t.style.display="block";var n=parseFloat(i(t,"width").slice(0,-2)),o=parseFloat(i(t,"height").slice(0,-2));return t.style.display=e,{width:n,height:o}},c=function(){var t="/* Iconic Responsive Support Styles */\n.iconic-property-fill, .iconic-property-text {stroke: none !important;}\n.iconic-property-stroke {fill: none !important;}\nsvg.iconic.iconic-fluid {height:100% !important;width:100% !important;}\nsvg.iconic.iconic-sm:not(.iconic-size-md):not(.iconic-size-lg), svg.iconic.iconic-size-sm{width:16px;height:16px;}\nsvg.iconic.iconic-md:not(.iconic-size-sm):not(.iconic-size-lg), svg.iconic.iconic-size-md{width:32px;height:32px;}\nsvg.iconic.iconic-lg:not(.iconic-size-sm):not(.iconic-size-md), svg.iconic.iconic-size-lg{width:128px;height:128px;}\nsvg.iconic-sm > g.iconic-md, svg.iconic-sm > g.iconic-lg, svg.iconic-md > g.iconic-sm, svg.iconic-md > g.iconic-lg, svg.iconic-lg > g.iconic-sm, svg.iconic-lg > g.iconic-md {display: none;}\nsvg.iconic.iconic-icon-sm > g.iconic-lg, svg.iconic.iconic-icon-md > g.iconic-lg {display:none;}\nsvg.iconic-sm:not(.iconic-icon-md):not(.iconic-icon-lg) > g.iconic-sm, svg.iconic-md.iconic-icon-sm > g.iconic-sm, svg.iconic-lg.iconic-icon-sm > g.iconic-sm {display:inline;}\nsvg.iconic-md:not(.iconic-icon-sm):not(.iconic-icon-lg) > g.iconic-md, svg.iconic-sm.iconic-icon-md > g.iconic-md, svg.iconic-lg.iconic-icon-md > g.iconic-md {display:inline;}\nsvg.iconic-lg:not(.iconic-icon-sm):not(.iconic-icon-md) > g.iconic-lg, svg.iconic-sm.iconic-icon-lg > g.iconic-lg, svg.iconic-md.iconic-icon-lg > g.iconic-lg {display:inline;}";navigator&&navigator.userAgent&&/MSIE 10\.0/.test(navigator.userAgent)&&(t+="svg.iconic{zoom:1.0001;}");var e=document.createElement("style");e.id="iconic-responsive-css",e.type="text/css",e.styleSheet?e.styleSheet.cssText=t:e.appendChild(document.createTextNode(t)),(document.head||document.getElementsByTagName("head")[0]).appendChild(e)},a=function(t){if(/iconic-fluid/.test(t.getAttribute("class"))){var e,i=o(t),c=t.viewBox.baseVal.width/t.viewBox.baseVal.height;e=1===c?Math.min(i.width,i.height):1>c?i.width:i.height;var a;a=32>e?"iconic-sm":e>=32&&128>e?"iconic-md":"iconic-lg";var r=t.getAttribute("class"),s=n.test(r)?r.replace(n,a):r+" "+a;t.setAttribute("class",s)}},r=function(){var t=document.querySelectorAll(".injected-svg.iconic-fluid");Array.prototype.forEach.call(t,function(t){a(t)})};document.addEventListener("DOMContentLoaded",function(){c()}),window.addEventListener("resize",function(){r()}),e.exports={refresh:a,refreshAll:r}},{}],8:[function(e,n,i){!function(e,o){"use strict";function c(t){t=t.split(" ");for(var e={},n=t.length,i=[];n--;)e.hasOwnProperty(t[n])||(e[t[n]]=1,i.unshift(t[n]));return i.join(" ")}var a="file:"===e.location.protocol,r=o.implementation.hasFeature("http://www.w3.org/TR/SVG11/feature#BasicStructure","1.1"),s=Array.prototype.forEach||function(t,e){if(void 0===this||null===this||"function"!=typeof t)throw new TypeError;var n,i=this.length>>>0;for(n=0;i>n;++n)n in this&&t.call(e,this[n],n,this)},u={},l=0,d=[],f=[],p={},v=function(t){return t.cloneNode(!0)},m=function(t,e){f[t]=f[t]||[],f[t].push(e)},g=function(t){for(var e=0,n=f[t].length;n>e;e++)!function(e){setTimeout(function(){f[t][e](v(u[t]))},0)}(e)},h=function(t,n){if(void 0!==u[t])u[t]instanceof SVGSVGElement?n(v(u[t])):m(t,n);else{if(!e.XMLHttpRequest)return n("Browser does not support XMLHttpRequest"),!1;u[t]={},m(t,n);var i=new XMLHttpRequest;i.onreadystatechange=function(){if(4===i.readyState){if(404===i.status||null===i.responseXML)return n("Unable to load SVG file: "+t),a&&n("Note: SVG injection ajax calls do not work locally without adjusting security setting in your browser. Or consider using a local webserver."),n(),!1;if(!(200===i.status||a&&0===i.status))return n("There was a problem injecting the SVG: "+i.status+" "+i.statusText),!1;if(i.responseXML instanceof Document)u[t]=i.responseXML.documentElement;else if(DOMParser&&DOMParser instanceof Function){var e;try{var o=new DOMParser;e=o.parseFromString(i.responseText,"text/xml")}catch(c){e=void 0}if(!e||e.getElementsByTagName("parsererror").length)return n("Unable to parse SVG file: "+t),!1;u[t]=e.documentElement}g(t)}},i.open("GET",t),i.overrideMimeType&&i.overrideMimeType("text/xml"),i.send()}},b=function(t,n,i,o){var a=t.getAttribute("data-src")||t.getAttribute("src");if(!/svg$/i.test(a))return void o("Attempted to inject a file with a non-svg extension: "+a);if(!r){var u=t.getAttribute("data-fallback")||t.getAttribute("data-png");return void(u?(t.setAttribute("src",u),o(null)):i?(t.setAttribute("src",i+"/"+a.split("/").pop().replace(".svg",".png")),o(null)):o("This browser does not support SVG and no PNG fallback was defined."))}-1===d.indexOf(t)&&(d.push(t),t.setAttribute("src",""),h(a,function(i){if("undefined"==typeof i||"string"==typeof i)return o(i),!1;var r=t.getAttribute("id");r&&i.setAttribute("id",r);var u=t.getAttribute("title");u&&i.setAttribute("title",u);var f=[].concat(i.getAttribute("class")||[],"injected-svg",t.getAttribute("class")||[]).join(" ");i.setAttribute("class",c(f));var v=t.getAttribute("style");v&&i.setAttribute("style",v);var m=[].filter.call(t.attributes,function(t){return/^data-\w[\w\-]*$/.test(t.name)});s.call(m,function(t){t.name&&t.value&&i.setAttribute(t.name,t.value)});for(var g,h=i.querySelectorAll("defs clipPath[id]"),b=0,y=h.length;y>b;b++){g=h[b].id+"-"+l;for(var A=i.querySelectorAll('[clip-path*="'+h[b].id+'"]'),w=0,$=A.length;$>w;w++)A[w].setAttribute("clip-path","url(#"+g+")");h[b].id=g}i.removeAttribute("xmlns:a");for(var E,S,j=i.querySelectorAll("script"),C=[],z=0,k=j.length;k>z;z++)S=j[z].getAttribute("type"),S&&"application/ecmascript"!==S&&"application/javascript"!==S||(E=j[z].innerText||j[z].textContent,C.push(E),i.removeChild(j[z]));if(C.length>0&&("always"===n||"once"===n&&!p[a])){for(var F=0,I=C.length;I>F;F++)new Function(C[F])(e);p[a]=!0}t.parentNode.replaceChild(i,t),delete d[d.indexOf(t)],t=null,l++,o(i)}))},y=function(t,e,n){e=e||{};var i=e.evalScripts||"always",o=e.pngFallback||!1,c=e.each;if(void 0!==t.length){var a=0;s.call(t,function(e){b(e,i,o,function(e){c&&"function"==typeof c&&c(e),n&&t.length===++a&&n(a)})})}else t?b(t,i,o,function(e){c&&"function"==typeof c&&c(e),n&&n(1),t=null}):n&&n(0)};"object"==typeof n&&"object"==typeof n.exports?n.exports=i=y:"function"==typeof t&&t.amd?t(function(){return y}):"object"==typeof e&&(e.SVGInjector=y)}(window,document)},{}]},{},[1])(1)}),function(){"use strict";function t(){function t(t,e){e?t.addClass(a):t.removeClass(a)}function e(t,e,i,s){function u(){f(t),v(),t[0].style.transitionDuration="",t.removeClass(b?"":a),p(),m=!1}function l(t){f(t),angular.element(t).off(r.join(" ")),m=!1}function d(t){var e={el:t,animation:g},i=n.filter(function(e){return e.el===t});if(i.length>0){var o=i[0].el[0];i[0].animation.cancelAnimation(o)}n.push(e)}function f(t){{var e;n.filter(function(n,i){n.el===t&&(e=i)})}e>=0&&n.splice(e,1)}function p(){return t[0].offsetWidth}function v(){t[0].style.transitionDuration=0,t.removeClass(o.join(" ")+" "+c.join(" ")+" "+i+" "+s)}var m=!0,g=this;g.cancelAnimation=l;var h=e?i:s,b=e,y=b?o[0]:o[1],A=b?c[0]:c[1];d(t),v(),t.addClass(h),t.addClass(y),t.addClass(a),p(),t[0].style.transitionDuration="",t.addClass(A),t.one(r.join(" "),function(){u()}),setTimeout(function(){m&&u()},3e3)}var n=[],i={},o=["ng-enter","ng-leave"],c=["ng-enter-active","ng-leave-active"],a="is-active",r=["webkitAnimationEnd","mozAnimationEnd","MSAnimationEnd","oanimationend","animationend","webkitTransitionEnd","otransitionend","transitionend"];return i.animate=e,i.toggleAnimation=t,i}angular.module("foundation.core.animation",[]).service("FoundationAnimation",t)}(),function(){"use strict";function t(t){function e(t,e){return u[t]||(u[t]=[]),u[t].push(e),!0}function n(t,e){u[t]||(u[t]=[]),u[t].forEach(function(t){t(e)})}function i(){return l}function o(t){return l=angular.extend(l,t)}function c(){var t="";do{t+="zf-uuid-";for(var e=0;15>e;e++)t+=Math.floor(16*Math.random()).toString(16)}while(!d.indexOf(t));return d.push(t),t}function a(e,n){t.toggleAnimate(e,n)}function r(t){var e=this;t=t||{};var n=document.querySelectorAll(".is-active[zf-closable]");n.length&&angular.forEach(n,function(n){t.exclude!==n.id&&e.publish(n.id,"close")})}function s(e,n,i,o){t.animate(e,n,i,o)}var u=[],l={},d=[],f={};return f.subscribe=e,f.publish=n,f.getSettings=i,f.modifySettings=o,f.generateUuid=c,f.toggleAnimate=a,f.closeActiveElements=r,f.animate=s,f}function e(t){function e(e){t.publish(e,"show")}function n(e){t.publish(e,"hide")}var i={};return i.activate=e,i.deactivate=n,i}function n(){function t(t,e){var n=null;return function(){var i=this,o=arguments;null===n&&(n=setTimeout(function(){t.apply(i,o),n=null},e))}}var e={};return e.throttle=t,e}angular.module("foundation.core",["foundation.core.animation"]).service("FoundationApi",t).service("FoundationAdapter",e).factory("Utils",n),t.$inject=["FoundationAnimation"],e.$inject=["FoundationApi"]}(),function(){"use strict";function t(t){function e(e,n){var c=e.scope();if(c.vars&&c.vars.animationIn){var a=c.vars.animationIn,r=c.vars.animationOut||"",s="ng-enter",u="ng-enter-active",l=!0;e.parent().addClass(o),e.removeClass(u+" "+s+" "+a+" "+r),e[0].style.transitionDuration=0,e.addClass(a),e.addClass(s),t.$digest(),e[0].style.transitionDuration="",e.addClass(u);var d=function(){e.parent().removeClass(o),e.removeClass(u+" "+s+" "+a+" "+r),l=!1,n()};e.one(i.join(" "),function(){d()}),setTimeout(function(){l&&d()},3e3)}else n();return function(){}}function n(e,n){var c=e.scope();if(c.vars&&c.vars.animationOut){var a=c.vars.animationIn||"",r=c.vars.animationOut,s="ng-leave",u="ng-leave-active",l=!0;e.removeClass(u+" "+s+" "+a+" "+r),e[0].style.transitionDuration=0,e.addClass(r),e.addClass(s),t.$digest(),e[0].style.transitionDuration="",e.addClass(u);var d=function(){e.parent().removeClass(o),e.removeClass(u+" "+s+" "+a+" "+r),l=!1,n()};e.one(i.join(" "),function(){d()}),setTimeout(function(){l&&d()},3e3)}else n();return function(){}}var i=["webkitAnimationEnd","mozAnimationEnd","MSAnimationEnd","oanimationend","animationend","webkitTransitionEnd","otransitionend","transitionend"],o="position-absolute",c={};return c.enter=e,c.leave=n,c}angular.module("foundation.dynamicRouting.animations",["ngAnimate","foundation.dynamicRouting"]).animation(".ui-animation",t),t.$inject=["$rootScope","$state"]}(),function(){"use strict";function t(t){function e(t){var e={vars:{}};return t.data&&("object"==typeof t.data.vars&&(e.vars=t.data.vars),delete t.data.vars,angular.extend(e,t.data)),delete t.data,angular.extend(e.vars,t),e}function n(t,e){return{templateUrl:t,controller:i(e)}}function i(t){var e=t.controller||"DefaultController";return/\w\s+as\s+\w/.test(e)||(e+=" as PageCtrl"),e}var o={};this.registerDynamicRoutes=function(c){var a=c||foundationRoutes;angular.forEach(a,function(n){if(n.hasComposed)angular.isDefined(o[n.parent])||(o[n.parent]={children:{}}),n.controller&&(n.controller=i(n)),o[n.parent].children[n.name]=n;else if(n.composed)angular.isDefined(o[n.name])||(o[n.name]={children:{}}),n.controller&&(n.controller=i(n)),angular.extend(o[n.name],n);else{var c={url:n.url,templateUrl:n.path,parent:n.parent||"",controller:i(n),data:e(n)};t.state(n.name,c)}}),angular.forEach(o,function(i){var o={url:i.url,parent:i.parent||"",data:e(i),views:{"":n(i.path,i)}};angular.forEach(i.children,function(t){o.views[t.name+"@"+i.name]=n(t.path,i)}),t.state(i.name,o)})},this.$get=angular.noop}function e(t,e,n){var i={};angular.forEach(e,function(t,e){i[e]=t}),t.params=i,t.current=n.current.name,n.current.views?(t.vars=n.current.data.vars,t.composed=n.current.data.vars.children):t.vars=n.current.data.vars}function n(t){t.registerDynamicRoutes(foundationRoutes)}function i(t,e,n){t.$state=e,t.$stateParams=n}angular.module("foundation.dynamicRouting",["ui.router"]).provider("$FoundationState",t).controller("DefaultController",e).config(n).run(i),t.$inject=["$stateProvider"],e.$inject=["$scope","$stateParams","$state"],n.$inject=["$FoundationStateProvider"],i.$inject=["$rootScope","$state","$stateParams"]}(),function(){"use strict";function t(t){t.init()}function e(t,e,n){function i(){var i,o;t.headerHelper(["foundation-mq"]),o=t.getStyle(".foundation-mq","font-family"),i=t.parseStyleToObject(o);for(var a in i)i[a]="only screen and (min-width: "+i[a].replace("rem","em")+")";e.modifySettings({mediaQueries:angular.extend(i,c)}),window.addEventListener("resize",n.throttle(function(){e.publish("resize","window resized")},50))}var o={},c={"default":"only screen",landscape:"only screen and (orientation: landscape)",portrait:"only screen and (orientation: portrait)",retina:"only screen and (-webkit-min-device-pixel-ratio: 2),only screen and (min--moz-device-pixel-ratio: 2),only screen and (-o-min-device-pixel-ratio: 2/1),only screen and (min-device-pixel-ratio: 2),only screen and (min-resolution: 192dpi),only screen and (min-resolution: 2dppx)"};return o.init=i,o}function n(){function t(t){for(var e=t.length,n=angular.element(document.querySelectorAll("head"));e--;)n.append('<meta class="'+t[e]+'" />')}function e(t){var e=document.querySelectorAll(t)[0],n=window.getComputedStyle(e,null);return n.getPropertyValue("font-family")}function n(t){var e={};return"string"!=typeof t?e:(t=t.trim().slice(1,-1))?e=t.split("&").reduce(function(t,e){var n=e.replace(/\+/g," ").split("="),i=n[0],o=n[1];return i=decodeURIComponent(i),o=void 0===o?null:decodeURIComponent(o),t.hasOwnProperty(i)?Array.isArray(t[i])?t[i].push(o):t[i]=[t[i],o]:t[i]=o,t},{}):e}var i={};return i.headerHelper=t,i.getStyle=e,i.parseStyleToObject=n,i}function i(t){function e(){return t.getSettings().mediaQueries}function n(t){var e=t.length,n=o.getMediaQueries(),i=[];if(e>0)for(;e--;){var c,a=t[e].media;c=matchMedia(n[a]?n[a]:a),c.matches&&i.push({ind:e})}return i}function i(t){var e=[],n=[],i=t.children(),o=0;return angular.forEach(i,function(t){var i=angular.element(t);i.attr("src")&&i.attr("src").match(/.html$/)?e[o]={media:i.attr("media"),src:i.attr("src")}:(n[o]=i,e[o]={media:i.attr("media"),templ:o}),o++}),{scenarios:e,templates:n}}var o=[];return o.getMediaQueries=e,o.match=n,o.collectScenariosFromElement=i,o}angular.module("foundation.mediaquery",["foundation.core"]).run(t).factory("FoundationMQInit",e).factory("mqHelpers",n).service("FoundationMQ",i),t.$inject=["FoundationMQInit"],e.$inject=["mqHelpers","FoundationApi","Utils"],i.$inject=["FoundationApi"]}(),angular.module("markdown",[]).directive("markdown",function(){return{restrict:"A",link:function(t,e){e.html(marked(e.html()))}}}),function(){var t={};angular.forEach(["clipPath","colorProfile","src","cursor","fill","filter","marker","markerStart","markerMid","markerEnd","mask","stroke"],function(e){t[e]=["$rootScope","$location","$interpolate","$sniffer","urlResolve","computeSVGAttrValue","svgAttrExpressions",function(t,n,i,o,c,a,r){return{restrict:"A",link:function(i,c,s){function u(){var t=a(l);t&&s[e]!==t&&s.$set(e,t)}var l;r.SVG_ELEMENT.test(c[0]&&c[0].toString())&&n.$$html5&&o.history&&(l=s[e],s.$observe(e,u),t.$on("$locationChangeSuccess",u))}}}]}),angular.module("ngSVGAttributes",[]).factory("urlResolve",[function(){var t=document.createElement("a");return function(e){return t.setAttribute("href",e),t}}]).value("svgAttrExpressions",{FUNC_URI:/^url\((.*)\)$/,SVG_ELEMENT:/SVG[a-zA-Z]*Element/,HASH_PART:/#.*/}).factory("computeSVGAttrValue",["$location","$sniffer","svgAttrExpressions","urlResolve",function(t,e,n,i){return function(e){var o,c;return(o=n.FUNC_URI.exec(e))&&(c=0===o[1].indexOf("#")?t.absUrl().replace(n.HASH_PART,"")+o[1]:i(o[1])),c?"url("+c+")":null}}]).directive(t)}(),function(){"use strict";function t(t){var e=this,n=e.sections=t.sections=[],i=(e.multiOpen=t.multiOpen=t.multiOpen||!1,e.collapsible=t.collapsible=t.multiOpen||t.collapsible||!0),o=e.autoOpen=t.autoOpen=t.autoOpen||!0;e.select=function(t){n.forEach(function(n){e.multiOpen?n.scope===t&&(n.scope.active=!n.scope.active):n.scope.active=n.scope===t?i?!n.scope.active:!0:!1})},e.addSection=function(t){n.push({scope:t}),1===n.length&&o===!0&&(n[0].active=!0,n[0].scope.active=!0)},e.closeAll=function(){n.forEach(function(t){t.scope.active=!1})}}function e(){function t(t,e,n,i){t.multiOpen=i.multiOpen="true"===t.multiOpen?!0:!1,t.collapsible=i.collapsible="true"===t.collapsible?!0:!1,t.autoOpen=i.autoOpen="true"===t.autoOpen?!0:!1}var e={restrict:"EA",transclude:"true",replace:!0,templateUrl:"components/accordion/accordion.html",controller:"ZfAccordionController",scope:{multiOpen:"@?",collapsible:"@?",autoOpen:"@?"},link:t};return e}function n(){function t(t,e,n,i){t.active=!1,i.addSection(t),t.activate=function(){i.select(t)}}var e={restrict:"EA",templateUrl:"components/accordion/accordion-item.html",transclude:!0,scope:{title:"@"},require:"^zfAccordion",replace:!0,controller:function(){},link:t};return e}angular.module("foundation.accordion",[]).controller("ZfAccordionController",t).directive("zfAccordion",e).directive("zfAccordionItem",n),t.$inject=["$scope"]}(),function(){"use strict";function t(t){function e(e){t.publish(e,"show")}function n(e){t.publish(e,"hide")}var i={};return i.activate=e,i.deactivate=n,i}function e(t){function e(t){var e=t.target,i=!1;do if(e.classList&&e.classList.contains("action-sheet-container")){i=!0;break}while(e=e.parentNode);i||n()}function n(){c.hide(),a.hide(),c.$apply(),a.$apply()}function i(){c.toggle(),a.toggle(),c.$apply(),a.$apply()}{var o=this,c=o.content=t.content,a=o.container=t.container;angular.element(document.body)}o.registerContent=function(t){c=t,c.active=!1},o.registerContainer=function(t){a=t,a.active=!1},o.toggle=i,o.hide=n,o.registerListener=function(){document.body.addEventListener("click",e)},o.deregisterListener=function(){document.body.removeEventListener("click",e)}}function n(t){function e(){function e(t,e,n){n.$set("zf-closable","actionsheet")}function n(e,n,i,o){var c=i.id||t.generateUuid();i.$set("id",c),e.active=!1,t.subscribe(c,function(t){"toggle"===t&&o.toggle(),("hide"===t||"close"===t)&&o.hide()}),o.registerContainer(e),e.toggle=function(){e.active=!e.active},e.hide=function(){e.active=!1}}return{pre:e,post:n}}var n={restrict:"EA",transclude:!0,replace:!0,templateUrl:"components/actionsheet/actionsheet.html",controller:"ZfActionSheetController",compile:e};return n}function i(){function t(t,e,n,i){t.active=!1,t.position=t.position||"bottom",i.registerContent(t),t.toggle=function(){t.active=!t.active,t.active?i.registerListener():i.deregisterListener()},t.hide=function(){t.active=!1,i.deregisterListener()}}var e={restrict:"EA",transclude:!0,replace:!0,templateUrl:"components/actionsheet/actionsheet-content.html",require:"^zfActionSheet",scope:{position:"@?"},link:t};return e}function o(){function t(t,e,n,i){e.on("click",function(t){i.toggle(),t.preventDefault()})}var e={restrict:"EA",transclude:!0,replace:!0,templateUrl:"components/actionsheet/actionsheet-button.html",require:"^zfActionSheet",scope:{title:"@?"},link:t};return e}angular.module("foundation.actionsheet",["foundation.core"]).controller("ZfActionSheetController",e).directive("zfActionSheet",n).directive("zfAsContent",i).directive("zfAsButton",o).service("FoundationActionSheet",t),t.$inject=["FoundationApi"],e.$inject=["$scope","FoundationApi"],n.$inject=["FoundationApi"],i.$inject=["FoundationApi"],o.$inject=["FoundationApi"]}(),function(){"use strict";function t(t){function e(e,n,i){var o="";if(i.zfClose)o=i.zfClose;else{for(var c=!1,a=n.parent();c===!1;)"BODY"==a[0].nodeName&&(c=""),"undefined"!=typeof a.attr("zf-closable")&&a.attr("zf-closable")!==!1&&(c=a),a=a.parent();o=c.attr("id")}n.on("click",function(e){t.publish(o,"close"),e.preventDefault()})}var n={restrict:"A",link:e};return n}function e(t){function e(e,n,i){n.on("click",function(e){t.publish(i.zfOpen,"open"),e.preventDefault()})}var n={restrict:"A",link:e};return n}function n(t){function e(e,n,i){n.on("click",function(e){t.publish(i.zfToggle,"toggle"),e.preventDefault()})}var n={restrict:"A",link:e};return n}function i(t){function e(e,n){n.on("keyup",function(e){27===e.keyCode&&t.closeActiveElements(),e.preventDefault()})}var n={restrict:"A",link:e};return n}function o(t){function e(e,n,i){var o,c;switch(Hammer&&(c=new Hammer(n[0]),c.get("swipe").set({direction:Hammer.DIRECTION_ALL,threshold:5,velocity:.5})),i.zfSwipeClose){case"right":o="swiperight";break;case"left":o="swipeleft";break;case"up":o="swipeup";break;case"down":o="swipedown";break;default:o="swipe"}c.on(o,function(){t.publish(i.id,"close")})}var n={restrict:"A",link:e};return n}function c(t){function e(e,n,i){n.on("click",function(e){t.closeActiveElements({exclude:i.zfHardToggle}),t.publish(i.zfHardToggle,"toggle"),e.preventDefault()})}var n={restrict:"A",link:e};return n}angular.module("foundation.common",["foundation.core"]).directive("zfClose",t).directive("zfOpen",e).directive("zfToggle",n).directive("zfEscClose",i).directive("zfSwipeClose",o).directive("zfHardToggle",c),t.$inject=["FoundationApi"],e.$inject=["FoundationApi"],n.$inject=["FoundationApi"],i.$inject=["FoundationApi"],o.$inject=["FoundationApi"],c.$inject=["FoundationApi"]}(),function(){"use strict";function t(){function t(){return e}var e=IconicJS(),n={};return n.getAccess=t,n}function e(t,e,n){function i(){function i(t,e,n){if(t.iconDir?(a=t.iconDir,"/"!==a.charAt(a.length-1)&&(a+="/")):a="assets/img/iconic/",t.dynSrc?n.$set("data-src",t.dynSrc):t.dynIcon?n.$set("data-src",a+t.dynIcon+".svg"):t.icon?n.$set("data-src",a+t.icon+".svg"):n.$set("data-src",n.src),!e.hasClass("iconic-sm")&&!e.hasClass("iconic-md")&&!e.hasClass("iconic-lg")){var i;switch(t.size){case"small":i="iconic-sm";break;case"medium":i="iconic-md";break;case"large":i="iconic-lg";break;default:i="iconic-fluid"}e.addClass(i)}c=e[0].outerHTML}function o(i,o){function r(t){u&&(u.empty(),u.append(angular.element(c)),u.attr("data-src",t),s(u[0]))}function s(t){l.inject(t,{each:function(t){var e=angular.element(t);u=n(e)(e.scope())}})}var u,l=t.getAccess();s(o[0]),e.subscribe("resize",function(){l.update(o[0])}),i.dynSrc&&i.$watch("dynSrc",function(t,e){t&&t!=e&&r(i.dynSrc)}),i.dynIcon&&i.$watch("dynIcon",function(t,e){t&&t!=e&&r(a+i.dynIcon+".svg")})}var c,a;return{pre:i,post:o}}var o={restrict:"A",template:"<img ng-transclude>",transclude:!0,replace:!0,scope:{dynSrc:"=?",dynIcon:"=?",size:"@?",icon:"@",iconDir:"@?"},compile:i};return o}angular.module("foundation.iconic",[]).service("Iconic",t).directive("zfIconic",e),e.$inject=["Iconic","FoundationApi","$compile","$location"]}(),function(){"use strict";function t(t,e,n,i,o){function c(c,a,r,s,u){function l(t){return e.get(t,{cache:n})}function d(t){var e=o.collectScenariosFromElement(t);m=e.scenarios,g=e.templates}function f(t){return!v||v!==t}{var p,v,m,g;o.getMediaQueries()}i.subscribe("resize",function(){u(function(e,n){m&&g||d(e);var i=o.match(m),c=0===i.length?null:m[i[0].ind];if(c&&f(c)){if(p&&(p.$destroy(),p=null),"undefined"!=typeof c.templ){p=n;var r=document.createElement("div");r.appendChild(g[c.templ][0]),a.html(r.innerHTML),t(a.contents())(p),v=c}else{var s=l(c.src);s.success(function(t){p=n,a.html(t)}).then(function(){t(a.contents())(p),v=c})}}})}),i.publish("resize","initial resize")}var a={restrict:"EA",transclude:"element",scope:{position:"@"},replace:!0,template:"<div></div>",link:c};return a}angular.module("foundation.interchange",["foundation.core","foundation.mediaquery"]).directive("zfInterchange",t),t.$inject=["$compile","$http","$templateCache","FoundationApi","FoundationMQ"]}(),function(){"use strict";function t(t,e){function n(e){t.publish(e,"show")}function i(e){t.publish(e,"hide")}function o(t){return new e(t)}var c={};return c.activate=n,c.deactivate=i,c.newModal=o,c}function e(t){function e(){function e(t,e,n){n.$set("zf-closable",i)}function n(e,n,i){function o(){e.overlay||n.css("background","transparent"),t.animate(n,e.active,u,l),t.animate(a,e.active,r,s)}function c(){e.active&&e.show()}var a=angular.element(n.children()[0]);e.active=e.active||!1,e.overlay="false"===i.overlay?!1:!0,e.overlayClose="false"===i.overlayClose?!1:!0;var r=i.animationIn||"fadeIn",s=i.animationOut||"fadeOut",u="fadeIn",l="fadeOut";e.hideOverlay=function(){e.overlayClose&&e.hide()},e.hide=function(){e.active=!1,o()},e.show=function(){e.active=!0,o(),a.tabIndex=-1,a[0].focus()},e.toggle=function(){e.active=!e.active,o()},c(),t.subscribe(i.id,function(t){"show"===t||"open"===t?e.show():"close"===t||"hide"===t?e.hide():"toggle"===t&&e.toggle(),e.$root.$$phase||e.$apply()})}var i="modal";return{pre:e,post:n}}var n={restrict:"EA",templateUrl:"components/modal/modal.html",transclude:!0,scope:!0,replace:!0,compile:e};return n}function n(t,e,n,i,o,c){function a(a){function r(){if(w)throw"Error: Modal was destroyed. Delete the object and create a new ModalFactory instance."}function s(){r(),o(function(){d(!0),c.publish(y,"show")},0,!1)}function u(){r(),o(function(){d(!1),c.publish(y,"hide")},0,!1)}function l(){r(),o(function(){d(!0),c.publish(y,"toggle")},0,!1)}function d(t){if(!A&&v.length>0){{b.append(m)}g.active=t,i(m)(g),A=!0}}function f(){v='<zf-modal id="'+y+'">'+v+"</zf-modal>",m=angular.element(v),g=n.$new();for(var t in $)a[t]&&m.attr(t,a[t])}function p(){h.deactivate(),setTimeout(function(){g.$destroy(),m.remove(),w=!0},3e3)}var v,m,g,h=this,b=angular.element(a.container||document.body),y=a.id||c.generateUuid(),A=!1,w=!1,$=["animationIn","animationOut","overlay","overlayClose"];
return a.templateUrl?t.get(a.templateUrl,{cache:e}).then(function(t){v=t.data,f()}):a.template&&(v=a.template,f()),h.activate=s,h.deactivate=u,h.toggle=l,h.destroy=p,{activate:s,deactivate:u,toggle:l,destroy:p}}return a}angular.module("foundation.modal",["foundation.core"]).directive("zfModal",e).factory("ModalFactory",n),t.$inject=["FoundationApi","ModalFactory"],e.$inject=["FoundationApi"],n.$inject=["$http","$templateCache","$rootScope","$compile","$timeout","FoundationApi"]}(),function(){"use strict";function t(t,e){function n(e){t.publish(e,"show")}function i(e){t.publish(e,"hide")}var o={};return o.activate=n,o.deactivate=i,o}function e(t,e){var n=this;n.notifications=t.notifications=t.notifications||[],n.addNotification=function(n){var i=e.generateUuid();n.id=i,t.notifications.push(n)},n.removeNotification=function(e){t.notifications.forEach(function(n){if(n.id===e){var i=t.notifications.indexOf(n);t.notifications.splice(i,1)}})},n.clearAll=function(){for(;t.notifications.length>0;)t.notifications.pop()}}function n(t){function e(e,n,i,o){e.position=e.position?e.position.split(" ").join("-"):"top-right",t.subscribe(i.id,function(t){"clearall"===t?o.clearAll():(o.addNotification(t),e.$root.$$phase||e.$apply())})}var n={restrict:"EA",templateUrl:"components/notification/notification-set.html",controller:"ZfNotificationController",replace:!0,scope:{position:"@"},link:e};return n}function i(t){function e(){function e(t,e,n){n.$set("zf-closable","notification")}function n(e,n,i,o){e.active=!1;var c,a=i.animationIn||"fadeIn",r=i.animationOut||"fadeOut";setTimeout(function(){e.active=!0,t.animate(n,e.active,a,r)},50),e.hide=function(){e.active=!1,t.animate(n,e.active,a,r),setTimeout(function(){o.removeNotification(e.notifId)},50)},e.autoclose&&e.active&&setTimeout(function(){e.hide()},parseInt(e.autoclose)),Hammer&&(c=new Hammer(n[0]),c.get("swipe").set({direction:Hammer.DIRECTION_ALL,threshold:5,velocity:.5})),c.on("swipe",function(){e.active&&e.hide()})}return{pre:e,post:n}}var n={restrict:"EA",templateUrl:"components/notification/notification.html",replace:!0,transclude:!0,require:"^zfNotificationSet",controller:function(){},scope:{title:"=?",content:"=?",image:"=?",notifId:"=",color:"=?",autoclose:"=?"},compile:e};return n}function o(t){function e(){function e(t,e,n){n.$set("zf-closable",i)}function n(e,n,i){e.position=i.position?i.position.split(" ").join("-"):"top-right";var o=i.animationIn||"fadeIn",c=i.animationOut||"fadeOut";t.subscribe(i.id,function(i){"show"==i||"open"==i?(e.show(),e.autoclose&&setTimeout(function(){e.hide()},parseInt(e.autoclose))):"close"==i||"hide"==i?e.hide():"toggle"==i&&(e.toggle(),e.autoclose&&setTimeout(function(){e.toggle()},parseInt(e.autoclose))),t.animate(n,e.active,o,c),e.$apply()}),e.hide=function(){e.active=!1,t.animate(n,e.active,o,c)},e.show=function(){e.active=!0,t.animate(n,e.active,o,c)},e.toggle=function(){e.active=!e.active,t.animate(n,e.active,o,c)}}var i="notification";return{pre:e,post:n}}var n={restrict:"EA",templateUrl:"components/notification/notification-static.html",replace:!0,transclude:!0,scope:{title:"@?",content:"@?",image:"@?",color:"@?",autoclose:"@?"},compile:e};return n}function c(t){function e(e,n,i){n.on("click",function(n){t.publish(i.zfNotify,{title:e.title,content:e.content,color:e.color,image:e.image,autoclose:e.autoclose}),n.preventDefault()})}var n={restrict:"A",scope:{title:"@?",content:"@?",color:"@?",image:"@?",autoclose:"@?"},link:e};return n}function a(t,e,n,i,o,c){function a(t){function e(){if(b)throw"Error: Notification Set was destroyed. Delete the object and create a new NotificationFactory instance."}function a(t){e(),o(function(){s(!0,t),c.publish(g,t)},0,!1)}function r(){e(),o(function(){c.publish(g,"clearall")},0,!1)}function s(t,e){if(!h&&d.length>0){{m.append(f)}p.notifications=[e],i(f)(p),h=!0}}function u(){d='<zf-notification-set id="'+g+'"></zf-notification-set>',f=angular.element(d),p=n.$new();for(var e in y)t[e]&&f.attr(e,t[e])}function l(){v.clearAll(),setTimeout(function(){p.$destroy(),f.remove(),b=!0},3e3)}var d,f,p,v=this,m=angular.element(t.container||document.body),g=t.id||c.generateUuid(),h=!1,b=!1,y=["position"];return u(),v.addNotification=a,v.clearAll=r,v.destroy=l,{addNotification:a,clearAll:r,destroy:l}}return a}angular.module("foundation.notification",["foundation.core"]).controller("ZfNotificationController",e).directive("zfNotificationSet",n).directive("zfNotification",i).directive("zfNotificationStatic",o).directive("zfNotify",c).factory("NotificationFactory",a).service("FoundationNotification",t),t.$inject=["FoundationApi","NotificationFactory"],e.$inject=["$scope","FoundationApi"],n.$inject=["FoundationApi"],i.$inject=["FoundationApi"],o.$inject=["FoundationApi"],c.$inject=["FoundationApi"],a.$inject=["$http","$templateCache","$rootScope","$compile","$timeout","FoundationApi"]}(),function(){"use strict";function t(t){function e(e){t.publish(e,"show")}function n(e){t.publish(e,"hide")}var i={};return i.activate=e,i.deactivate=n,i}function e(t){function e(){function e(t,e,n){n.$set("zf-closable",i),document.body.classList.add("has-off-canvas")}function n(e,n,i){e.position=e.position||"left",e.active=!1,t.subscribe(i.id,function(t){"show"===t||"open"===t?e.show():"close"===t||"hide"===t?e.hide():"toggle"===t&&e.toggle(),e.$apply()}),e.hide=function(){e.active=!1},e.show=function(){e.active=!0},e.toggle=function(){e.active=!e.active}}var i="offcanvas";return{pre:e,post:n}}var n={restrict:"EA",templateUrl:"components/offcanvas/offcanvas.html",transclude:!0,scope:{position:"@"},replace:!0,compile:e};return n}angular.module("foundation.offcanvas",["foundation.core"]).directive("zfOffcanvas",e).service("FoundationOffcanvas",t),t.$inject=["FoundationApi"],e.$inject=["FoundationApi"]}(),function(){"use strict";function t(t){function e(e){t.publish(e,"show")}function n(e){t.publish(e,"hide")}var i={};return i.activate=e,i.deactivate=n,i}function e(t){function e(){function e(t,e,n){n.$set("zf-closable",i),t.position=t.position||"left",t.positionClass="panel-"+t.position}function n(e,n,i){e.active=!1;var o,c,a=t.getSettings().mediaQueries;"left"===e.position?(o=i.animationIn||"slideInRight",c=i.animationOut||"slideOutLeft"):"right"===e.position?(o=i.animationIn||"slideInLeft",c=i.animationOut||"slideOutRight"):"top"===e.position?(o=i.animationIn||"slideInDown",c=i.animationOut||"slideOutUp"):"bottom"===e.position&&(o=i.animationIn||"slideInUp",c=i.animationOut||"slideOutBottom"),t.subscribe(i.id,function(t){"show"==t||"open"==t?e.show():"close"==t||"hide"==t?e.hide():"toggle"==t&&e.toggle(),e.$apply()}),e.hide=function(){e.active&&(e.active=!1,t.animate(n,e.active,o,c))},e.show=function(){e.active||(e.active=!0,t.animate(n,e.active,o,c))},e.toggle=function(){e.active=!e.active,t.animate(n,e.active,o,c)},n.on("click",function(i){var r=i.srcElement;!matchMedia(a.medium).matches&&r.href&&r.href.length>0&&(e.hide(),t.animate(n,e.active,o,c))})}var i="panel";return{pre:e,post:n}}var n={restrict:"EA",templateUrl:"components/panel/panel.html",transclude:!0,scope:{position:"@?"},replace:!0,compile:e};return n}angular.module("foundation.panel",["foundation.core"]).directive("zfPanel",e).service("FoundationPanel",t),t.$inject=["FoundationApi"],e.$inject=["FoundationApi"]}(),function(){"use strict";function t(t){function e(e){t.publish(e,"show")}function n(e){t.publish(e,"hide")}var i={};return i.activate=e,i.deactivate=n,i}function e(t){function e(){function e(t,e,n){n.$set("zf-closable","popup")}function n(e,n,i){function o(t){r||(e.target=document.getElementById(e.target?e.target:t),s=new Tether({element:n[0],target:e.target,attachment:c,targetAttachment:a,enable:!1}),r=!0)}e.active=!1,e.target=e.target||!1;var c=e.pinTo||"top center",a=e.pinAt||"bottom center",r=!1,s={};t.subscribe(i.id,function(t){"show"===t[0]||"open"===t[0]?e.show(t[1]):"close"===t[0]||"hide"===t[0]?e.hide():"toggle"===t[0]&&e.toggle(t[1]),e.$apply()}),e.hide=function(){e.active=!1,o(),s.disable()},e.show=function(t){e.active=!0,o(t),s.enable()},e.toggle=function(t){e.active=!e.active,o(t),e.active?s.enable():s.disable()}}return{pre:e,post:n}}var n={restrict:"EA",transclude:!0,replace:!0,templateUrl:"components/popup/popup.html",scope:{pinTo:"@?",pinAt:"@?",target:"@?"},compile:e};return n}function n(t){function e(e,n,i){var o=i.zfPopupToggle,c=i.id||t.generateUuid();i.$set("id",c),n.on("click",function(e){t.publish(o,["toggle",c]),e.preventDefault()})}var n={restrict:"A",link:e};return n}angular.module("foundation.popup",["foundation.core"]).directive("zfPopup",e).directive("zfPopupToggle",n).service("FoundationPopup",t),t.$inject=["FoundationApi"],e.$inject=["FoundationApi"],n.$inject=["FoundationApi"]}(),function(){"use strict";function t(t){function e(e){t.publish(e,"show")}var n={};return n.activate=e,n}function e(t,e){var n=this,i=n.tabs=t.tabs=[],o="";n.select=function(t){i.forEach(function(n){n.active=!1,n.scope.active=!1,n.scope===t&&(e.publish(o,["activate",n]),n.active=!0,n.scope.active=!0)})},n.addTab=function(t){i.push({scope:t,active:!1,parentContent:n.id}),1===i.length&&(i[0].active=!0,t.active=!0)},n.getId=function(){return o},n.setId=function(t){o=t}}function n(t){function e(e,n,i,o){e.id=i.id||t.generateUuid(),e.showTabContent="true"!==e.displaced,i.$set("id",e.id),o.setId(e.id);var c=function(){t.publish(e.id+"-tabs",e.tabs)};t.subscribe(e.id+"-get-tabs",function(){c()})}var n={restrict:"EA",transclude:"true",replace:!0,templateUrl:"components/tabs/tabs.html",controller:"ZfTabsController",scope:{displaced:"@?"},link:e};return n}function i(t){function e(e){e.tabs=e.tabs||[];var n=e.target;t.subscribe(n,function(t){if("activate"===t[0]){{t[1]}e.tabs.forEach(function(t){t.scope.active=!1,t.active=!1,t.scope.id===n&&(t.scope.active=!0,t.active=!0)})}}),0===e.tabs.length&&(t.subscribe(n+"-tabs",function(t){e.tabs=t}),t.publish(n+"-get-tabs",""))}var n={restrict:"A",transclude:"true",replace:!0,scope:{tabs:"=?",target:"@"},templateUrl:"components/tabs/tab-content.html",link:e};return n}function o(t){function e(e,n,i,o,c){e.id=i.id||t.generateUuid(),e.active=!1,e.transcludeFn=c,o.addTab(e),t.subscribe(e.id,function(t){("show"===t||"open"===t||"activate"===t)&&e.makeActive()}),e.makeActive=function(){o.select(e)}}var n={restrict:"EA",templateUrl:"components/tabs/tab.html",transclude:!0,scope:{title:"@"},require:"^zfTabs",replace:!0,link:e};return n}function c(t){function e(e,n,i){{var o=e.$eval(i.tab);o.scope.id}o.scope.transcludeFn(o.scope,function(t){n.append(t)}),t.subscribe(o.scope.id,function(){t.publish(o.parentContent,["activate",o.scope.id]),e.$apply()})}var n={restrict:"EA",transclude:"true",link:e};return n}function a(t){function e(e,n,i){function o(){n.parent().children().removeClass("is-active"),n.addClass("is-active")}var c=i.zfTabHref;t.subscribe(c,function(t){("activate"===t||"show"===t||"open"===t)&&o()}),n.on("click",function(e){t.publish(c,"activate"),o(),e.preventDefault()})}var n={restrict:"A",replace:!1,link:e};return n}function r(){function t(t,e){var n=e.children();angular.element(n[0]).addClass("is-active")}var e={restrict:"A",replace:!1,link:t};return e}function s(t){function e(e,n){function i(t){var e=n.children();angular.forEach(e,function(e){var n=angular.element(e);n.removeClass("is-active"),n.attr("id")===t&&n.addClass("is-active")})}var o=[],c=n.children();angular.forEach(c,function(e){if(e.id){var n=e.id;if(o.push(n),t.subscribe(n,function(t){("activate"===t||"show"===t||"open"===t)&&i(n)}),1===o.length){var c=angular.element(e);c.addClass("is-active")}}})}return{restrict:"A",link:e}}angular.module("foundation.tabs",["foundation.core"]).controller("ZfTabsController",e).directive("zfTabs",n).directive("zfTabContent",i).directive("zfTab",o).directive("zfTabIndividual",c).directive("zfTabHref",a).directive("zfTabCustom",r).directive("zfTabContentCustom",s).service("FoundationTabs",t),t.$inject=["FoundationApi"],e.$inject=["$scope","FoundationApi"],n.$inject=["FoundationApi"],i.$inject=["FoundationApi"],o.$inject=["FoundationApi"],c.$inject=["FoundationApi"],a.$inject=["FoundationApi"],r.$inject=["FoundationApi"],s.$inject=["FoundationApi"]}(),function(){"use strict";angular.module("foundation",["foundation.core","foundation.mediaquery","foundation.accordion","foundation.actionsheet","foundation.common","foundation.iconic","foundation.interchange","foundation.modal","foundation.notification","foundation.offcanvas","foundation.panel","foundation.popup","foundation.tabs"])}();
!function(t){"object"==typeof exports?module.exports=t():"function"==typeof define&&define.amd?define(t):"undefined"!=typeof window?window.IconicJS=t():"undefined"!=typeof global?global.IconicJS=t():"undefined"!=typeof self&&(self.IconicJS=t())}(function(){var t;return function e(t,n,i){function o(a,r){if(!n[a]){if(!t[a]){var u="function"==typeof require&&require;if(!r&&u)return u(a,!0);if(c)return c(a,!0);throw new Error("Cannot find module '"+a+"'")}var s=n[a]={exports:{}};t[a][0].call(s.exports,function(e){var n=t[a][1][e];return o(n?n:e)},s,s.exports,e,t,n,i)}return n[a].exports}for(var c="function"==typeof require&&require,a=0;a<i.length;a++)o(i[a]);return o}({1:[function(t,e){var n=(t("./modules/polyfills"),t("./modules/svg-injector")),i=t("./modules/extend"),o=t("./modules/responsive"),c=t("./modules/position"),a=t("./modules/container"),r=t("./modules/log"),u={},s=window.iconicSmartIconApis={},l=("file:"===window.location.protocol,0),f=function(t,e,o){e=i({},u,e||{});var c={evalScripts:e.evalScripts,pngFallback:e.pngFallback};c.each=function(t){if(t)if("string"==typeof t)r.debug(t);else if(t instanceof SVGSVGElement){var n=t.getAttribute("data-icon");if(n&&s[n]){var i=s[n](t);for(var o in i)t[o]=i[o]}/iconic-bg-/.test(t.getAttribute("class"))&&a.addBackground(t),d(t),l++,e&&e.each&&"function"==typeof e.each&&e.each(t)}},"string"==typeof t&&(t=document.querySelectorAll(t)),n(t,c,o)},d=function(t){var e=[];t?"string"==typeof t?e=document.querySelectorAll(t):void 0!==t.length?e=t:"object"==typeof t&&e.push(t):e=document.querySelectorAll("svg.iconic"),Array.prototype.forEach.call(e,function(t){t instanceof SVGSVGElement&&(t.update&&t.update(),o.refresh(t),c.refresh(t))})},p=function(){u.debug&&console.time&&console.time("autoInjectSelector - "+u.autoInjectSelector);var t=l;f(u.autoInjectSelector,{},function(){if(u.debug&&console.timeEnd&&console.timeEnd("autoInjectSelector - "+u.autoInjectSelector),r.debug("AutoInjected: "+(l-t)),o.refreshAll(),u.autoInjectDone&&"function"==typeof u.autoInjectDone){var e=l-t;u.autoInjectDone(e)}})},v=function(t){t&&""!==t&&"complete"!==document.readyState?document.addEventListener("DOMContentLoaded",p):document.removeEventListener("DOMContentLoaded",p)},m=function(t){return t=t||{},i(u,t),v(u.autoInjectSelector),r.enableDebug(u.debug),window._Iconic?window._Iconic:{inject:f,update:d,smartIconApis:s,svgInjectedCount:l}};e.exports=m,window._Iconic=new m({autoInjectSelector:"img.iconic",evalScripts:"once",pngFallback:!1,each:null,autoInjectDone:null,debug:!1})},{"./modules/container":2,"./modules/extend":3,"./modules/log":4,"./modules/polyfills":5,"./modules/position":6,"./modules/responsive":7,"./modules/svg-injector":8}],2:[function(t,e){var n=function(t){var e=t.getAttribute("class").split(" "),n=-1!==e.indexOf("iconic-fluid"),i=[],o=["iconic-bg"];Array.prototype.forEach.call(e,function(t){switch(t){case"iconic-sm":case"iconic-md":case"iconic-lg":i.push(t),n||o.push(t.replace(/-/,"-bg-"));break;case"iconic-fluid":i.push(t),o.push(t.replace(/-/,"-bg-"));break;case"iconic-bg-circle":case"iconic-bg-rounded-rect":case"iconic-bg-badge":o.push(t);break;default:i.push(t)}}),t.setAttribute("class",i.join(" "));var c=t.parentNode,a=Array.prototype.indexOf.call(c.childNodes,t),r=document.createElement("span");r.setAttribute("class",o.join(" ")),r.appendChild(t),c.insertBefore(r,c.childNodes[a])};e.exports={addBackground:n}},{}],3:[function(t,e){e.exports=function(t){return Array.prototype.forEach.call(Array.prototype.slice.call(arguments,1),function(e){if(e)for(var n in e)e.hasOwnProperty(n)&&(t[n]=e[n])}),t}},{}],4:[function(t,e){var n=!1,i=function(t){console&&console.log&&console.log(t)},o=function(t){i("Iconic INFO: "+t)},c=function(t){i("Iconic WARNING: "+t)},a=function(t){n&&i("Iconic DEBUG: "+t)},r=function(t){n=t};e.exports={info:o,warn:c,debug:a,enableDebug:r}},{}],5:[function(){Array.prototype.forEach||(Array.prototype.forEach=function(t,e){"use strict";if(void 0===this||null===this||"function"!=typeof t)throw new TypeError;var n,i=this.length>>>0;for(n=0;i>n;++n)n in this&&t.call(e,this[n],n,this)}),function(){if(Event.prototype.preventDefault||(Event.prototype.preventDefault=function(){this.returnValue=!1}),Event.prototype.stopPropagation||(Event.prototype.stopPropagation=function(){this.cancelBubble=!0}),!Element.prototype.addEventListener){var t=[],e=function(e,n){var i=this,o=function(t){t.target=t.srcElement,t.currentTarget=i,n.handleEvent?n.handleEvent(t):n.call(i,t)};if("DOMContentLoaded"==e){var c=function(t){"complete"==document.readyState&&o(t)};if(document.attachEvent("onreadystatechange",c),t.push({object:this,type:e,listener:n,wrapper:c}),"complete"==document.readyState){var a=new Event;a.srcElement=window,c(a)}}else this.attachEvent("on"+e,o),t.push({object:this,type:e,listener:n,wrapper:o})},n=function(e,n){for(var i=0;i<t.length;){var o=t[i];if(o.object==this&&o.type==e&&o.listener==n){"DOMContentLoaded"==e?this.detachEvent("onreadystatechange",o.wrapper):this.detachEvent("on"+e,o.wrapper);break}++i}};Element.prototype.addEventListener=e,Element.prototype.removeEventListener=n,HTMLDocument&&(HTMLDocument.prototype.addEventListener=e,HTMLDocument.prototype.removeEventListener=n),Window&&(Window.prototype.addEventListener=e,Window.prototype.removeEventListener=n)}}()},{}],6:[function(t,e){var n=function(t){var e=t.getAttribute("data-position");if(e&&""!==e){var n,i,o,c,a,r,u,s=t.getAttribute("width"),l=t.getAttribute("height"),f=e.split("-"),d=t.querySelectorAll("g.iconic-container");Array.prototype.forEach.call(d,function(t){if(n=t.getAttribute("data-width"),i=t.getAttribute("data-height"),n!==s||i!==l){if(o=t.getAttribute("transform"),c=1,o){var e=o.match(/scale\((\d)/);c=e&&e[1]?e[1]:1}a=Math.floor((s/c-n)/2),r=Math.floor((l/c-i)/2),Array.prototype.forEach.call(f,function(t){switch(t){case"top":r=0;break;case"bottom":r=l/c-i;break;case"left":a=0;break;case"right":a=s/c-n;break;case"center":break;default:console&&console.log&&console.log("Unknown position: "+t)}}),u=0===r?a:a+" "+r,u="translate("+u+")",o?/translate/.test(o)?o=o.replace(/translate\(.*?\)/,u):o+=" "+u:o=u,t.setAttribute("transform",o)}})}};e.exports={refresh:n}},{}],7:[function(t,e){var n=/(iconic-sm\b|iconic-md\b|iconic-lg\b)/,i=function(t,e){var n="undefined"!=typeof window.getComputedStyle&&window.getComputedStyle(t,null).getPropertyValue(e);return!n&&t.currentStyle&&(n=t.currentStyle[e.replace(/([a-z])\-([a-z])/,function(t,e,n){return e+n.toUpperCase()})]||t.currentStyle[e]),n},o=function(t){var e=t.style.display;t.style.display="block";var n=parseFloat(i(t,"width").slice(0,-2)),o=parseFloat(i(t,"height").slice(0,-2));return t.style.display=e,{width:n,height:o}},c=function(){var t="/* Iconic Responsive Support Styles */\n.iconic-property-fill, .iconic-property-text {stroke: none !important;}\n.iconic-property-stroke {fill: none !important;}\nsvg.iconic.iconic-fluid {height:100% !important;width:100% !important;}\nsvg.iconic.iconic-sm:not(.iconic-size-md):not(.iconic-size-lg), svg.iconic.iconic-size-sm{width:16px;height:16px;}\nsvg.iconic.iconic-md:not(.iconic-size-sm):not(.iconic-size-lg), svg.iconic.iconic-size-md{width:32px;height:32px;}\nsvg.iconic.iconic-lg:not(.iconic-size-sm):not(.iconic-size-md), svg.iconic.iconic-size-lg{width:128px;height:128px;}\nsvg.iconic-sm > g.iconic-md, svg.iconic-sm > g.iconic-lg, svg.iconic-md > g.iconic-sm, svg.iconic-md > g.iconic-lg, svg.iconic-lg > g.iconic-sm, svg.iconic-lg > g.iconic-md {display: none;}\nsvg.iconic.iconic-icon-sm > g.iconic-lg, svg.iconic.iconic-icon-md > g.iconic-lg {display:none;}\nsvg.iconic-sm:not(.iconic-icon-md):not(.iconic-icon-lg) > g.iconic-sm, svg.iconic-md.iconic-icon-sm > g.iconic-sm, svg.iconic-lg.iconic-icon-sm > g.iconic-sm {display:inline;}\nsvg.iconic-md:not(.iconic-icon-sm):not(.iconic-icon-lg) > g.iconic-md, svg.iconic-sm.iconic-icon-md > g.iconic-md, svg.iconic-lg.iconic-icon-md > g.iconic-md {display:inline;}\nsvg.iconic-lg:not(.iconic-icon-sm):not(.iconic-icon-md) > g.iconic-lg, svg.iconic-sm.iconic-icon-lg > g.iconic-lg, svg.iconic-md.iconic-icon-lg > g.iconic-lg {display:inline;}";navigator&&navigator.userAgent&&/MSIE 10\.0/.test(navigator.userAgent)&&(t+="svg.iconic{zoom:1.0001;}");var e=document.createElement("style");e.id="iconic-responsive-css",e.type="text/css",e.styleSheet?e.styleSheet.cssText=t:e.appendChild(document.createTextNode(t)),(document.head||document.getElementsByTagName("head")[0]).appendChild(e)},a=function(t){if(/iconic-fluid/.test(t.getAttribute("class"))){var e,i=o(t),c=t.viewBox.baseVal.width/t.viewBox.baseVal.height;e=1===c?Math.min(i.width,i.height):1>c?i.width:i.height;var a;a=32>e?"iconic-sm":e>=32&&128>e?"iconic-md":"iconic-lg";var r=t.getAttribute("class"),u=n.test(r)?r.replace(n,a):r+" "+a;t.setAttribute("class",u)}},r=function(){var t=document.querySelectorAll(".injected-svg.iconic-fluid");Array.prototype.forEach.call(t,function(t){a(t)})};document.addEventListener("DOMContentLoaded",function(){c()}),window.addEventListener("resize",function(){r()}),e.exports={refresh:a,refreshAll:r}},{}],8:[function(e,n,i){!function(e,o){"use strict";function c(t){t=t.split(" ");for(var e={},n=t.length,i=[];n--;)e.hasOwnProperty(t[n])||(e[t[n]]=1,i.unshift(t[n]));return i.join(" ")}var a="file:"===e.location.protocol,r=o.implementation.hasFeature("http://www.w3.org/TR/SVG11/feature#BasicStructure","1.1"),u=Array.prototype.forEach||function(t,e){if(void 0===this||null===this||"function"!=typeof t)throw new TypeError;var n,i=this.length>>>0;for(n=0;i>n;++n)n in this&&t.call(e,this[n],n,this)},s={},l=0,f=[],d=[],p={},v=function(t){return t.cloneNode(!0)},m=function(t,e){d[t]=d[t]||[],d[t].push(e)},g=function(t){for(var e=0,n=d[t].length;n>e;e++)!function(e){setTimeout(function(){d[t][e](v(s[t]))},0)}(e)},h=function(t,n){if(void 0!==s[t])s[t]instanceof SVGSVGElement?n(v(s[t])):m(t,n);else{if(!e.XMLHttpRequest)return n("Browser does not support XMLHttpRequest"),!1;s[t]={},m(t,n);var i=new XMLHttpRequest;i.onreadystatechange=function(){if(4===i.readyState){if(404===i.status||null===i.responseXML)return n("Unable to load SVG file: "+t),a&&n("Note: SVG injection ajax calls do not work locally without adjusting security setting in your browser. Or consider using a local webserver."),n(),!1;if(!(200===i.status||a&&0===i.status))return n("There was a problem injecting the SVG: "+i.status+" "+i.statusText),!1;if(i.responseXML instanceof Document)s[t]=i.responseXML.documentElement;else if(DOMParser&&DOMParser instanceof Function){var e;try{var o=new DOMParser;e=o.parseFromString(i.responseText,"text/xml")}catch(c){e=void 0}if(!e||e.getElementsByTagName("parsererror").length)return n("Unable to parse SVG file: "+t),!1;s[t]=e.documentElement}g(t)}},i.open("GET",t),i.overrideMimeType&&i.overrideMimeType("text/xml"),i.send()}},b=function(t,n,i,o){var a=t.getAttribute("data-src")||t.getAttribute("src");if(!/svg$/i.test(a))return void o("Attempted to inject a file with a non-svg extension: "+a);if(!r){var s=t.getAttribute("data-fallback")||t.getAttribute("data-png");return void(s?(t.setAttribute("src",s),o(null)):i?(t.setAttribute("src",i+"/"+a.split("/").pop().replace(".svg",".png")),o(null)):o("This browser does not support SVG and no PNG fallback was defined."))}-1===f.indexOf(t)&&(f.push(t),t.setAttribute("src",""),h(a,function(i){if("undefined"==typeof i||"string"==typeof i)return o(i),!1;var r=t.getAttribute("id");r&&i.setAttribute("id",r);var s=t.getAttribute("title");s&&i.setAttribute("title",s);var d=[].concat(i.getAttribute("class")||[],"injected-svg",t.getAttribute("class")||[]).join(" ");i.setAttribute("class",c(d));var v=t.getAttribute("style");v&&i.setAttribute("style",v);var m=[].filter.call(t.attributes,function(t){return/^data-\w[\w\-]*$/.test(t.name)});u.call(m,function(t){t.name&&t.value&&i.setAttribute(t.name,t.value)});for(var g,h=i.querySelectorAll("defs clipPath[id]"),b=0,y=h.length;y>b;b++){g=h[b].id+"-"+l;for(var A=i.querySelectorAll('[clip-path*="'+h[b].id+'"]'),w=0,$=A.length;$>w;w++)A[w].setAttribute("clip-path","url(#"+g+")");h[b].id=g}i.removeAttribute("xmlns:a");for(var E,S,j=i.querySelectorAll("script"),C=[],z=0,I=j.length;I>z;z++)S=j[z].getAttribute("type"),S&&"application/ecmascript"!==S&&"application/javascript"!==S||(E=j[z].innerText||j[z].textContent,C.push(E),i.removeChild(j[z]));if(C.length>0&&("always"===n||"once"===n&&!p[a])){for(var k=0,F=C.length;F>k;k++)new Function(C[k])(e);p[a]=!0}t.parentNode.replaceChild(i,t),delete f[f.indexOf(t)],t=null,l++,o(i)}))},y=function(t,e,n){e=e||{};var i=e.evalScripts||"always",o=e.pngFallback||!1,c=e.each;if(void 0!==t.length){var a=0;u.call(t,function(e){b(e,i,o,function(e){c&&"function"==typeof c&&c(e),n&&t.length===++a&&n(a)})})}else t?b(t,i,o,function(e){c&&"function"==typeof c&&c(e),n&&n(1),t=null}):n&&n(0)};"object"==typeof n&&"object"==typeof n.exports?n.exports=i=y:"function"==typeof t&&t.amd?t(function(){return y}):"object"==typeof e&&(e.SVGInjector=y)}(window,document)},{}]},{},[1])(1)}),function(){"use strict";function t(){function t(t,e){e?t.addClass(a):t.removeClass(a)}function e(t,e,i,u){function s(){d(t),v(),t[0].style.transitionDuration="",t.removeClass(b?"":a),p(),m=!1}function l(t){d(t),angular.element(t).off(r.join(" ")),m=!1}function f(t){var e={el:t,animation:g},i=n.filter(function(e){return e.el===t});if(i.length>0){var o=i[0].el[0];i[0].animation.cancelAnimation(o)}n.push(e)}function d(t){{var e;n.filter(function(n,i){n.el===t&&(e=i)})}e>=0&&n.splice(e,1)}function p(){return t[0].offsetWidth}function v(){t[0].style.transitionDuration=0,t.removeClass(o.join(" ")+" "+c.join(" ")+" "+i+" "+u)}var m=!0,g=this;g.cancelAnimation=l;var h=e?i:u,b=e,y=b?o[0]:o[1],A=b?c[0]:c[1];f(t),v(),t.addClass(h),t.addClass(y),t.addClass(a),p(),t[0].style.transitionDuration="",t.addClass(A),t.one(r.join(" "),function(){s()}),setTimeout(function(){m&&s()},3e3)}var n=[],i={},o=["ng-enter","ng-leave"],c=["ng-enter-active","ng-leave-active"],a="is-active",r=["webkitAnimationEnd","mozAnimationEnd","MSAnimationEnd","oanimationend","animationend","webkitTransitionEnd","otransitionend","transitionend"];return i.animate=e,i.toggleAnimation=t,i}angular.module("foundation.core.animation",[]).service("FoundationAnimation",t)}(),function(){"use strict";function t(t){function e(t,e){return l[t]||(l[t]=[]),l[t].push(e),!0}function n(t,e){void 0!==l[t]&&delete l[t],"function"==typeof e&&e.call(this)}function i(t,e){l[t]||(l[t]=[]),l[t].forEach(function(t){t(e)})}function o(){return f}function c(t){return f=angular.extend(f,t)}function a(){var t="";do{t+="zf-uuid-";for(var e=0;15>e;e++)t+=Math.floor(16*Math.random()).toString(16)}while(!d.indexOf(t));return d.push(t),t}function r(e,n){t.toggleAnimate(e,n)}function u(t){var e=this;t=t||{};var n=document.querySelectorAll(".is-active[zf-closable]"),i=document.querySelectorAll("[zf-closable] > .is-active");n.length&&angular.forEach(n,function(n){t.exclude!==n.id&&e.publish(n.id,"close")}),i.length&&angular.forEach(i,function(n){var i=n.parentNode.id;t.exclude!==i&&e.publish(i,"close")})}function s(e,n,i,o){t.animate(e,n,i,o)}var l={},f={},d=[],p={};return p.subscribe=e,p.unsubscribe=n,p.publish=i,p.getSettings=o,p.modifySettings=c,p.generateUuid=a,p.toggleAnimate=r,p.closeActiveElements=u,p.animate=s,p}function e(t){function e(e){t.publish(e,"show")}function n(e){t.publish(e,"hide")}var i={};return i.activate=e,i.deactivate=n,i}function n(){function t(t,e){var n=null;return function(){var i=this,o=arguments;null===n&&(n=setTimeout(function(){t.apply(i,o),n=null},e))}}var e={};return e.throttle=t,e}angular.module("foundation.core",["foundation.core.animation"]).service("FoundationApi",t).service("FoundationAdapter",e).factory("Utils",n),t.$inject=["FoundationAnimation"],e.$inject=["FoundationApi"]}(),function(){"use strict";function t(t,e){function n(n,i){function o(t,e,n,i){if(i.animation){if(!i.animation.leave&&!e.animation.leave)return;c(t,e,i)}}function c(t,e,n){v?(f(),i.addClass(n.animation.leave)):(l(),f(),i.removeClass(n.animation.leave))}function a(){p.leave&&i.removeClass(p.leave),l()}function r(){l(),e.includes(s())&&p.enter&&i.addClass(p.enter)}function u(t){t.targetScope===n&&p.enter&&i.removeClass(p.enter),v=!0}function s(){var t=i.data("$uiView"),e=t&&t.state&&t.state.self;return e&&angular.extend(p,e.animation),e}function l(){i.parent().removeClass("position-absolute"),d!==!0&&(i.parent()[0].style.height=null)}function f(){var t=parseInt(i.parent()[0].style.height),e=parseInt(window.getComputedStyle(i[0],null).getPropertyValue("height")),n=t>0?t:e>0?e:"";t>0&&(d=!0),i.parent()[0].style.height=n+"px",i.parent().addClass("position-absolute")}var d,p={},v=!1,m=[t.$on("$stateChangeStart",o),t.$on("$stateChangeError",a),n.$on("$stateChangeSuccess",r),n.$on("$viewContentAnimationEnded",u)],g=n.$on("$destroy",function(){angular.forEach(m,function(t){angular.isFunction(t)&&t()}),g()})}var i={restrict:"ECA",priority:-400,link:n};return i}angular.module("foundation.dynamicRouting.animations",["foundation.dynamicRouting"]).directive("uiView",t),t.$inject=["$rootScope","$state"]}(),function(){"use strict";function t(t){function e(t){var e={vars:{}};return t.data&&("object"==typeof t.data.vars&&(e.vars=t.data.vars),delete t.data.vars,angular.extend(e,t.data)),delete t.data,angular.extend(e.vars,t),e}function n(t,e){return{templateUrl:t,controller:i(e)}}function i(t){var e=t.controller||"DefaultController";return/\w\s+as\s+\w/.test(e)||(e+=" as PageCtrl"),e}function o(t){var e={};return t.animationIn&&(e.enter=t.animationIn),t.animationOut&&(e.leave=t.animationOut),e}var c={};this.registerDynamicRoutes=function(a){var r=a||foundationRoutes;angular.forEach(r,function(n){if(n.hasComposed)angular.isDefined(c[n.parent])||(c[n.parent]={children:{}}),n.controller&&(n.controller=i(n)),c[n.parent].children[n.name]=n;else if(n.composed)angular.isDefined(c[n.name])||(c[n.name]={children:{}}),n.controller&&(n.controller=i(n)),angular.extend(c[n.name],n);else{var a={url:n.url,templateUrl:n.path,"abstract":n["abstract"]||!1,parent:n.parent||"",controller:i(n),data:e(n),animation:o(n)};t.state(n.name,a)}}),angular.forEach(c,function(i){var c={url:i.url,parent:i.parent||"","abstract":i["abstract"]||!1,data:e(i),animation:o(i),views:{"":n(i.path,i)}};angular.forEach(i.children,function(t){c.views[t.name+"@"+i.name]=n(t.path,i)}),t.state(i.name,c)})},this.$get=angular.noop}function e(t,e,n){var i={};angular.forEach(e,function(t,e){i[e]=t}),t.params=i,t.current=n.current.name,n.current.views?(t.vars=n.current.data.vars,t.composed=n.current.data.vars.children):t.vars=n.current.data.vars}function n(t){t.registerDynamicRoutes(foundationRoutes)}function i(t,e,n){t.$state=e,t.$stateParams=n}angular.module("foundation.dynamicRouting",["ui.router"]).provider("$FoundationState",t).controller("DefaultController",e).config(n).run(i),t.$inject=["$stateProvider"],e.$inject=["$scope","$stateParams","$state"],n.$inject=["$FoundationStateProvider"],i.$inject=["$rootScope","$state","$stateParams"]}(),function(){"use strict";function t(t){t.init()}function e(t,e,n){function i(){var i,o;t.headerHelper(["foundation-mq"]),o=t.getStyle(".foundation-mq","font-family"),i=t.parseStyleToObject(o);for(var a in i)i[a]="only screen and (min-width: "+i[a].replace("rem","em")+")";e.modifySettings({mediaQueries:angular.extend(i,c)}),window.addEventListener("resize",n.throttle(function(){e.publish("resize","window resized")},50))}var o={},c={"default":"only screen",landscape:"only screen and (orientation: landscape)",portrait:"only screen and (orientation: portrait)",retina:"only screen and (-webkit-min-device-pixel-ratio: 2),only screen and (min--moz-device-pixel-ratio: 2),only screen and (-o-min-device-pixel-ratio: 2/1),only screen and (min-device-pixel-ratio: 2),only screen and (min-resolution: 192dpi),only screen and (min-resolution: 2dppx)"};return o.init=i,o}function n(){function t(t){for(var e=t.length,n=angular.element(document.querySelectorAll("head"));e--;)n.append('<meta class="'+t[e]+'" />')}function e(t){var e=document.querySelectorAll(t)[0],n=window.getComputedStyle(e,null);return n.getPropertyValue("font-family")}function n(t){var e={};return"string"!=typeof t?e:(t=t.trim().slice(1,-1))?e=t.split("&").reduce(function(t,e){var n=e.replace(/\+/g," ").split("="),i=n[0],o=n[1];return i=decodeURIComponent(i),o=void 0===o?null:decodeURIComponent(o),t.hasOwnProperty(i)?Array.isArray(t[i])?t[i].push(o):t[i]=[t[i],o]:t[i]=o,t},{}):e}var i={};return i.headerHelper=t,i.getStyle=e,i.parseStyleToObject=n,i}function i(t){function e(){return t.getSettings().mediaQueries}function n(t){var e=t.length,n=o.getMediaQueries(),i=[];if(e>0)for(;e--;){var c,a=t[e].media;c=matchMedia(n[a]?n[a]:a),c.matches&&i.push({ind:e})}return i}function i(t){var e=[],n=[],i=t.children(),o=0;return angular.forEach(i,function(t){var i=angular.element(t);i.attr("src")&&i.attr("src").match(/.html$/)?e[o]={media:i.attr("media"),src:i.attr("src")}:(n[o]=i,e[o]={media:i.attr("media"),templ:o}),o++}),{scenarios:e,templates:n}}var o=[];return o.getMediaQueries=e,o.match=n,o.collectScenariosFromElement=i,o}angular.module("foundation.mediaquery",["foundation.core"]).run(t).factory("FoundationMQInit",e).factory("mqHelpers",n).service("FoundationMQ",i),t.$inject=["FoundationMQInit"],e.$inject=["mqHelpers","FoundationApi","Utils"],i.$inject=["FoundationApi"]}(),angular.module("markdown",[]).directive("markdown",function(){return{restrict:"A",link:function(t,e){e.html(marked(e.html()))}}}),function(){var t={};angular.forEach(["clipPath","colorProfile","src","cursor","fill","filter","marker","markerStart","markerMid","markerEnd","mask","stroke"],function(e){t[e]=["$rootScope","$location","$interpolate","$sniffer","urlResolve","computeSVGAttrValue","svgAttrExpressions",function(t,n,i,o,c,a,r){return{restrict:"A",link:function(i,c,u){function s(){var t=a(l);t&&u[e]!==t&&u.$set(e,t)}var l;r.SVG_ELEMENT.test(c[0]&&c[0].toString())&&n.$$html5&&o.history&&(l=u[e],u.$observe(e,s),t.$on("$locationChangeSuccess",s))}}}]}),angular.module("ngSVGAttributes",[]).factory("urlResolve",[function(){var t=document.createElement("a");return function(e){return t.setAttribute("href",e),t}}]).value("svgAttrExpressions",{FUNC_URI:/^url\((.*)\)$/,SVG_ELEMENT:/SVG[a-zA-Z]*Element/,HASH_PART:/#.*/}).factory("computeSVGAttrValue",["$location","$sniffer","svgAttrExpressions","urlResolve",function(t,e,n,i){return function(e){var o,c;return(o=n.FUNC_URI.exec(e))&&(c=0===o[1].indexOf("#")?t.absUrl().replace(n.HASH_PART,"")+o[1]:i(o[1])),c?"url("+c+")":null}}]).directive(t)}(),function(){"use strict";function t(t){var e=this,n=e.sections=t.sections=[],i=(e.multiOpen=t.multiOpen=t.multiOpen||!1,e.collapsible=t.collapsible=t.multiOpen||t.collapsible||!0),o=e.autoOpen=t.autoOpen=t.autoOpen||!0;e.select=function(t){n.forEach(function(n){e.multiOpen?n.scope===t&&(n.scope.active=!n.scope.active):n.scope.active=n.scope===t?i?!n.scope.active:!0:!1})},e.addSection=function(t){n.push({scope:t}),1===n.length&&o===!0&&(n[0].active=!0,n[0].scope.active=!0)},e.closeAll=function(){n.forEach(function(t){t.scope.active=!1})}}function e(){function t(t,e,n,i){t.multiOpen=i.multiOpen="true"===t.multiOpen?!0:!1,t.collapsible=i.collapsible="true"===t.collapsible?!0:!1,t.autoOpen=i.autoOpen="true"===t.autoOpen?!0:!1}var e={restrict:"EA",transclude:"true",replace:!0,templateUrl:"components/accordion/accordion.html",controller:"ZfAccordionController",scope:{multiOpen:"@?",collapsible:"@?",autoOpen:"@?"},link:t};return e}function n(){function t(t,e,n,i){t.active=!1,i.addSection(t),t.activate=function(){i.select(t)}}var e={restrict:"EA",templateUrl:"components/accordion/accordion-item.html",transclude:!0,scope:{title:"@"},require:"^zfAccordion",replace:!0,controller:function(){},link:t};return e}angular.module("foundation.accordion",[]).controller("ZfAccordionController",t).directive("zfAccordion",e).directive("zfAccordionItem",n),t.$inject=["$scope"]}(),function(){"use strict";function t(t){function e(e){t.publish(e,"show")}function n(e){t.publish(e,"hide")}var i={};return i.activate=e,i.deactivate=n,i}function e(t){function e(t){var e=t.target,i=!1;do if(e.classList&&e.classList.contains("action-sheet-container")){i=!0;break}while(e=e.parentNode);if(!i){if(t.target.attributes["zf-toggle"]||t.target.attributes["zf-hard-toggle"])return;n()}}function n(){c.hide(),a.hide(),c.$apply(),a.$apply()}function i(){c.toggle(),a.toggle(),c.$apply(),a.$apply()}{var o=this,c=o.content=t.content,a=o.container=t.container;angular.element(document.body)}o.registerContent=function(t){c=t,c.active=!1},o.registerContainer=function(t){a=t,a.active=!1},o.toggle=i,o.hide=n,o.registerListener=function(){document.body.addEventListener("click",e)},o.deregisterListener=function(){document.body.removeEventListener("click",e)}}function n(t){function e(){function e(t,e,n){n.$set("zf-closable","actionsheet")}function n(e,n,i,o){var c=i.id||t.generateUuid();i.$set("id",c),e.active=!1,t.subscribe(c,function(t){"toggle"===t&&o.toggle(),("hide"===t||"close"===t)&&o.hide()}),o.registerContainer(e),e.toggle=function(){e.active=!e.active},e.hide=function(){e.active=!1}}return{pre:e,post:n}}var n={restrict:"EA",transclude:!0,replace:!0,templateUrl:"components/actionsheet/actionsheet.html",controller:"ZfActionSheetController",compile:e};return n}function i(){function t(t,e,n,i){t.active=!1,t.position=t.position||"bottom",i.registerContent(t),t.toggle=function(){t.active=!t.active,t.active?i.registerListener():i.deregisterListener()},t.hide=function(){t.active=!1,i.deregisterListener()}}var e={restrict:"EA",transclude:!0,replace:!0,templateUrl:"components/actionsheet/actionsheet-content.html",require:"^zfActionSheet",scope:{position:"@?"},link:t};return e}function o(){function t(t,e,n,i){e.on("click",function(t){i.toggle(),t.preventDefault()})}var e={restrict:"EA",transclude:!0,replace:!0,templateUrl:"components/actionsheet/actionsheet-button.html",require:"^zfActionSheet",scope:{title:"@?"},link:t};return e}angular.module("foundation.actionsheet",["foundation.core"]).controller("ZfActionSheetController",e).directive("zfActionSheet",n).directive("zfAsContent",i).directive("zfAsButton",o).service("FoundationActionSheet",t),t.$inject=["FoundationApi"],e.$inject=["$scope","FoundationApi"],n.$inject=["FoundationApi"],i.$inject=["FoundationApi"],o.$inject=["FoundationApi"]}(),function(){"use strict";function t(t){function e(e,n,i){var o="";if(i.zfClose)o=i.zfClose;else{for(var c=!1,a=n.parent();c===!1;)"BODY"==a[0].nodeName&&(c=""),"undefined"!=typeof a.attr("zf-closable")&&a.attr("zf-closable")!==!1&&(c=a),a=a.parent();o=c.attr("id")}n.on("click",function(e){t.publish(o,"close"),e.preventDefault()})}var n={restrict:"A",link:e};return n}function e(t){function e(e,n,i){n.on("click",function(e){t.publish(i.zfOpen,"open"),e.preventDefault()})}var n={restrict:"A",link:e};return n}function n(t){function e(e,n,i){n.on("click",function(e){t.publish(i.zfToggle,"toggle"),e.preventDefault()})}var n={restrict:"A",link:e};return n}function i(t){function e(e,n){n.on("keyup",function(e){27===e.keyCode&&t.closeActiveElements(),e.preventDefault()})}var n={restrict:"A",link:e};return n}function o(t){function e(e,n,i){var o,c;switch(Hammer&&(c=new Hammer(n[0]),c.get("swipe").set({direction:Hammer.DIRECTION_ALL,threshold:5,velocity:.5})),i.zfSwipeClose){case"right":o="swiperight";break;case"left":o="swipeleft";break;case"up":o="swipeup";break;case"down":o="swipedown";break;default:o="swipe"}c.on(o,function(){t.publish(i.id,"close")})}var n={restrict:"A",link:e};return n}function c(t){function e(e,n,i){n.on("click",function(e){t.closeActiveElements({exclude:i.zfHardToggle}),t.publish(i.zfHardToggle,"toggle"),e.preventDefault()})}var n={restrict:"A",link:e};return n}angular.module("foundation.common",["foundation.core"]).directive("zfClose",t).directive("zfOpen",e).directive("zfToggle",n).directive("zfEscClose",i).directive("zfSwipeClose",o).directive("zfHardToggle",c),t.$inject=["FoundationApi"],e.$inject=["FoundationApi"],n.$inject=["FoundationApi"],i.$inject=["FoundationApi"],o.$inject=["FoundationApi"],c.$inject=["FoundationApi"]}(),function(){"use strict";function t(){var t="assets/img/iconic/";this.setAssetPath=function(e){t=angular.isString(e)?e:t},this.$get=function(){function e(){return i}function n(){return t}var i=new IconicJS,o={getAccess:e,getAssetPath:n};return o}}function e(t,e,n){function i(){function i(e,n,i){if(a=e.iconDir?e.iconDir:t.getAssetPath(),"/"!==a.charAt(a.length-1)&&(a+="/"),e.dynSrc?i.$set("data-src",e.dynSrc):e.dynIcon?i.$set("data-src",a+e.dynIcon+".svg"):e.icon?i.$set("data-src",a+e.icon+".svg"):i.$set("data-src",i.src),!n.hasClass("iconic-sm")&&!n.hasClass("iconic-md")&&!n.hasClass("iconic-lg")){var o;switch(e.size){case"small":o="iconic-sm";break;case"medium":o="iconic-md";break;case"large":o="iconic-lg";break;default:o="iconic-fluid"}n.addClass(o)}c=n[0].outerHTML}function o(i,o){function r(t){s&&(s.empty(),s.append(angular.element(c)),s.attr("data-src",t),u(s[0]))}function u(t){l.inject(t,{each:function(t){var e=angular.element(t);s=n(e)(e.scope())}})}var s,l=t.getAccess();u(o[0]),e.subscribe("resize",function(){l.update(o[0])}),i.dynSrc&&i.$watch("dynSrc",function(t,e){t&&t!==e&&r(i.dynSrc)}),i.dynIcon&&i.$watch("dynIcon",function(t,e){t&&t!==e&&r(a+i.dynIcon+".svg")})}var c,a;return{pre:i,post:o}}var o={restrict:"A",template:"<img ng-transclude>",transclude:!0,replace:!0,scope:{dynSrc:"=?",dynIcon:"=?",size:"@?",icon:"@",iconDir:"@?"},compile:i};return o}angular.module("foundation.iconic",[]).provider("Iconic",t).directive("zfIconic",e),e.$inject=["Iconic","FoundationApi","$compile"]}(),function(){"use strict";function t(t,e,n,i,o){function c(c,a,r,u,s){function l(t){return e.get(t,{cache:n})}function f(t){var e=o.collectScenariosFromElement(t);m=e.scenarios,g=e.templates}function d(t){return!v||v!==t}{var p,v,m,g;o.getMediaQueries()}i.subscribe("resize",function(){s(function(e,n){m&&g||f(e);var i=o.match(m),c=0===i.length?null:m[i[0].ind];if(c&&d(c)){if(p&&(p.$destroy(),p=null),"undefined"!=typeof c.templ){p=n;var r=document.createElement("div");r.appendChild(g[c.templ][0]),a.html(r.innerHTML),t(a.contents())(p),v=c}else{var u=l(c.src);u.success(function(t){p=n,a.html(t)}).then(function(){t(a.contents())(p),v=c})}}})}),i.publish("resize","initial resize")}var a={restrict:"EA",transclude:"element",scope:{position:"@"},replace:!0,template:"<div></div>",link:c};return a}angular.module("foundation.interchange",["foundation.core","foundation.mediaquery"]).directive("zfInterchange",t),t.$inject=["$compile","$http","$templateCache","FoundationApi","FoundationMQ"]}(),function(){"use strict";function t(t,e){function n(e){t.publish(e,"show")}function i(e){t.publish(e,"hide")}function o(t){return new e(t)}var c={};return c.activate=n,c.deactivate=i,c.newModal=o,c}function e(t){function e(){function e(t,e,n){n.$set("zf-closable",i)}function n(e,n,i){function o(){e.overlay||n.css("background","transparent"),t.animate(n,e.active,s,l),t.animate(a,e.active,r,u)}function c(){e.active&&e.show()}var a=angular.element(n.children()[0]);e.active=e.active||!1,e.overlay="false"===i.overlay?!1:!0,e.overlayClose="false"===i.overlayClose?!1:!0;var r=i.animationIn||"fadeIn",u=i.animationOut||"fadeOut",s="fadeIn",l="fadeOut";e.hideOverlay=function(){e.overlayClose&&e.hide()},e.hide=function(){e.active=!1,o()},e.show=function(){e.active=!0,o(),a.tabIndex=-1,a[0].focus()},e.toggle=function(){e.active=!e.active,o()},c(),t.subscribe(i.id,function(t){"show"===t||"open"===t?e.show():"close"===t||"hide"===t?e.hide():"toggle"===t&&e.toggle(),e.$root&&!e.$root.$$phase&&e.$apply()})}var i="modal";return{pre:e,post:n}}var n={restrict:"EA",templateUrl:"components/modal/modal.html",transclude:!0,scope:!0,replace:!0,compile:e};return n}function n(t,e,n,i,o,c,a){function r(r){function u(){if(S)throw"Error: Modal was destroyed. Delete the object and create a new ModalFactory instance."}function s(){u(),o(function(){d(!0),a.publish($,"show")
},0,!1)}function l(){u(),o(function(){d(!1),a.publish($,"hide")},0,!1)}function f(){u(),o(function(){d(!0),a.publish($,"toggle")},0,!1)}function d(t){c.when(h).then(function(){if(!E&&m.length>0){{w.append(g)}b.active=t,i(g)(b),E=!0}})}function p(){if(!document.getElementById($)){m='<zf-modal id="'+$+'">'+m+"</zf-modal>",g=angular.element(m),b=n.$new();for(var t=0;t<j.length;t++){var e=j[t];if(r[e])switch(e){case"animationIn":g.attr("animation-in",r[e]);break;case"animationOut":g.attr("animation-out",r[e]);break;default:g.attr(e,r[e])}}if(r.contentScope){y=r.contentScope;for(var e in r.contentScope)r.contentScope.hasOwnProperty(e)&&(b[e]=r.contentScope[e])}}}function v(){A.deactivate(),setTimeout(function(){b.$destroy(),g.remove(),S=!0},3e3),a.unsubscribe($)}var m,g,h,b,y,A=this,w=angular.element(r.container||document.body),$=r.id||a.generateUuid(),E=!1,S=!1,j=["animationIn","animationOut","overlay","overlayClose"];return r.templateUrl?h=t.get(r.templateUrl,{cache:e}).then(function(t){m=t.data,p()}):r.template&&(h=!0,m=r.template,p()),A.activate=s,A.deactivate=l,A.toggle=f,A.destroy=v,{activate:s,deactivate:l,toggle:f,destroy:v}}return r}angular.module("foundation.modal",["foundation.core"]).directive("zfModal",e).factory("ModalFactory",n),t.$inject=["FoundationApi","ModalFactory"],e.$inject=["FoundationApi"],n.$inject=["$http","$templateCache","$rootScope","$compile","$timeout","$q","FoundationApi"]}(),function(){"use strict";function t(t,e){function n(e){t.publish(e,"show")}function i(e){t.publish(e,"hide")}var o={};return o.activate=n,o.deactivate=i,o}function e(t,e){var n=this;n.notifications=t.notifications=t.notifications||[],n.addNotification=function(n){var i=e.generateUuid();n.id=i,t.notifications.push(n)},n.removeNotification=function(e){t.notifications.forEach(function(n){if(n.id===e){var i=t.notifications.indexOf(n);t.notifications.splice(i,1)}})},n.clearAll=function(){for(;t.notifications.length>0;)t.notifications.pop()}}function n(t){function e(e,n,i,o){e.position=e.position?e.position.split(" ").join("-"):"top-right",t.subscribe(i.id,function(t){"clearall"===t?o.clearAll():(o.addNotification(t),e.$root.$$phase||e.$apply())})}var n={restrict:"EA",templateUrl:"components/notification/notification-set.html",controller:"ZfNotificationController",replace:!0,scope:{position:"@"},link:e};return n}function i(t){function e(){function e(t,e,n){n.$set("zf-closable","notification")}function n(e,n,i,o){e.active=!1;var c,a=i.animationIn||"fadeIn",r=i.animationOut||"fadeOut";setTimeout(function(){e.active=!0,t.animate(n,e.active,a,r)},50),e.hide=function(){e.active=!1,t.animate(n,e.active,a,r),setTimeout(function(){o.removeNotification(e.notifId)},50)},e.autoclose&&setTimeout(function(){e.active&&e.hide()},parseInt(e.autoclose)),Hammer&&(c=new Hammer(n[0]),c.get("swipe").set({direction:Hammer.DIRECTION_ALL,threshold:5,velocity:.5})),c.on("swipe",function(){e.active&&e.hide()})}return{pre:e,post:n}}var n={restrict:"EA",templateUrl:"components/notification/notification.html",replace:!0,transclude:!0,require:"^zfNotificationSet",controller:function(){},scope:{title:"=?",content:"=?",image:"=?",notifId:"=",color:"=?",autoclose:"=?"},compile:e};return n}function o(t){function e(){function e(t,e,n){n.$set("zf-closable",i)}function n(e,n,i){e.position=i.position?i.position.split(" ").join("-"):"top-right";var o=i.animationIn||"fadeIn",c=i.animationOut||"fadeOut";t.subscribe(i.id,function(i){"show"==i||"open"==i?(e.show(),e.autoclose&&setTimeout(function(){e.active&&e.hide()},parseInt(e.autoclose))):"close"==i||"hide"==i?e.hide():"toggle"==i&&(e.toggle(),e.autoclose&&setTimeout(function(){e.active&&e.toggle()},parseInt(e.autoclose))),t.animate(n,e.active,o,c),e.$apply()}),e.hide=function(){e.active=!1,t.animate(n,e.active,o,c)},e.show=function(){e.active=!0,t.animate(n,e.active,o,c)},e.toggle=function(){e.active=!e.active,t.animate(n,e.active,o,c)}}var i="notification";return{pre:e,post:n}}var n={restrict:"EA",templateUrl:"components/notification/notification-static.html",replace:!0,transclude:!0,scope:{title:"@?",content:"@?",image:"@?",color:"@?",autoclose:"@?"},compile:e};return n}function c(t){function e(e,n,i){n.on("click",function(n){t.publish(i.zfNotify,{title:e.title,content:e.content,color:e.color,image:e.image,autoclose:e.autoclose}),n.preventDefault()})}var n={restrict:"A",scope:{title:"@?",content:"@?",color:"@?",image:"@?",autoclose:"@?"},link:e};return n}function a(t,e,n,i,o,c){function a(t){function e(){if(y)throw"Error: Notification Set was destroyed. Delete the object and create a new NotificationFactory instance."}function a(t){e(),o(function(){c.publish(h,t)},0,!1)}function r(){e(),o(function(){c.publish(h,"clearall")},0,!1)}function u(t){if(!b&&f.length>0){{g.append(d)}p.active=t,i(d)(p),b=!0}}function s(){if(!document.getElementById(h)){f='<zf-notification-set id="'+h+'"></zf-notification-set>',d=angular.element(f),p=n.$new();for(var e=0;e<A.length;e++)t[A[e]]&&d.attr(A[e],t[A[e]]);if(t.contentScope){v=t.contentScope;for(var i in v)v.hasOwnProperty(i)&&(p[i]=v[i])}u(!0)}}function l(){m.clearAll(),setTimeout(function(){p.$destroy(),d.remove(),y=!0},3e3),c.unsubscribe(h)}var f,d,p,v,m=this,g=angular.element(t.container||document.body),h=t.id||c.generateUuid(),b=!1,y=!1,A=["position"];return s(),m.addNotification=a,m.clearAll=r,m.destroy=l,{addNotification:a,clearAll:r,destroy:l}}return a}angular.module("foundation.notification",["foundation.core"]).controller("ZfNotificationController",e).directive("zfNotificationSet",n).directive("zfNotification",i).directive("zfNotificationStatic",o).directive("zfNotify",c).factory("NotificationFactory",a).service("FoundationNotification",t),t.$inject=["FoundationApi","NotificationFactory"],e.$inject=["$scope","FoundationApi"],n.$inject=["FoundationApi"],i.$inject=["FoundationApi"],o.$inject=["FoundationApi"],c.$inject=["FoundationApi"],a.$inject=["$http","$templateCache","$rootScope","$compile","$timeout","FoundationApi"]}(),function(){"use strict";function t(t){function e(e){t.publish(e,"show")}function n(e){t.publish(e,"hide")}var i={};return i.activate=e,i.deactivate=n,i}function e(t){function e(){function e(t,e,n){n.$set("zf-closable",i),document.body.classList.add("has-off-canvas")}function n(e,n,i){e.position=e.position||"left",e.active=!1,t.subscribe(i.id,function(t){"show"===t||"open"===t?e.show():"close"===t||"hide"===t?e.hide():"toggle"===t&&e.toggle(),e.$root.$$phase||e.$apply()}),e.hide=function(){e.active=!1},e.show=function(){e.active=!0},e.toggle=function(){e.active=!e.active}}var i="offcanvas";return{pre:e,post:n}}var n={restrict:"EA",templateUrl:"components/offcanvas/offcanvas.html",transclude:!0,scope:{position:"@"},replace:!0,compile:e};return n}angular.module("foundation.offcanvas",["foundation.core"]).directive("zfOffcanvas",e).service("FoundationOffcanvas",t),t.$inject=["FoundationApi"],e.$inject=["FoundationApi"]}(),function(){"use strict";function t(t){function e(e){t.publish(e,"show")}function n(e){t.publish(e,"hide")}var i={};return i.activate=e,i.deactivate=n,i}function e(t,e){function n(){function n(t,e,n){n.$set("zf-closable",o),t.position=t.position||"left",t.positionClass="panel-"+t.position}function i(n,i,o){n.active=!1;var c,a,r=t.getSettings().mediaQueries;"left"===n.position?(c=o.animationIn||"slideInRight",a=o.animationOut||"slideOutLeft"):"right"===n.position?(c=o.animationIn||"slideInLeft",a=o.animationOut||"slideOutRight"):"top"===n.position?(c=o.animationIn||"slideInDown",a=o.animationOut||"slideOutUp"):"bottom"===n.position&&(c=o.animationIn||"slideInUp",a=o.animationOut||"slideOutBottom"),t.subscribe(o.id,function(t){var o=e.getComputedStyle(i[0]).getPropertyValue("position");"absolute"===o&&("show"==t||"open"==t?n.show():"close"==t||"hide"==t?n.hide():"toggle"==t&&n.toggle(),n.$root.$$phase||n.$apply())}),n.hide=function(){n.active&&(n.active=!1,t.animate(i,n.active,c,a))},n.show=function(){n.active||(n.active=!0,t.animate(i,n.active,c,a))},n.toggle=function(){n.active=!n.active,t.animate(i,n.active,c,a)},i.on("click",function(e){var o=e.srcElement;!matchMedia(r.medium).matches&&o.href&&o.href.length>0&&(n.hide(),t.animate(i,n.active,c,a))})}var o="panel";return{pre:n,post:i}}var i={restrict:"EA",templateUrl:"components/panel/panel.html",transclude:!0,scope:{position:"@?"},replace:!0,compile:n};return i}angular.module("foundation.panel",["foundation.core"]).directive("zfPanel",e).service("FoundationPanel",t),t.$inject=["FoundationApi"],e.$inject=["FoundationApi","$window"]}(),function(){"use strict";function t(t){function e(e){t.publish(e,"show")}function n(e){t.publish(e,"hide")}var i={};return i.activate=e,i.deactivate=n,i}function e(t){function e(){function e(t,e,n){n.$set("zf-closable","popup")}function n(e,n,i){function o(t){r||(e.target=document.getElementById(e.target?e.target:t),u=new Tether({element:n[0],target:e.target,attachment:c,targetAttachment:a,enable:!1}),r=!0)}e.active=!1,e.target=e.target||!1;var c=e.pinTo||"top center",a=e.pinAt||"bottom center",r=!1,u={};t.subscribe(i.id,function(t){"show"===t[0]||"open"===t[0]?e.show(t[1]):"close"===t[0]||"hide"===t[0]?e.hide():"toggle"===t[0]&&e.toggle(t[1]),e.$apply()}),e.hide=function(){e.active=!1,o(),u.disable()},e.show=function(t){e.active=!0,o(t),u.enable()},e.toggle=function(t){e.active=!e.active,o(t),e.active?u.enable():u.disable()}}return{pre:e,post:n}}var n={restrict:"EA",transclude:!0,replace:!0,templateUrl:"components/popup/popup.html",scope:{pinTo:"@?",pinAt:"@?",target:"@?"},compile:e};return n}function n(t){function e(e,n,i){var o=i.zfPopupToggle,c=i.id||t.generateUuid();i.$set("id",c),n.on("click",function(e){t.publish(o,["toggle",c]),e.preventDefault()})}var n={restrict:"A",link:e};return n}angular.module("foundation.popup",["foundation.core"]).directive("zfPopup",e).directive("zfPopupToggle",n).service("FoundationPopup",t),t.$inject=["FoundationApi"],e.$inject=["FoundationApi"],n.$inject=["FoundationApi"]}(),function(){"use strict";function t(t){function e(e){t.publish(e,"show")}var n={};return n.activate=e,n}function e(t,e){var n=this,i=n.tabs=t.tabs=[],o="";n.select=function(t){i.forEach(function(n){n.active=!1,n.scope.active=!1,n.scope===t&&(e.publish(o,["activate",n]),n.active=!0,n.scope.active=!0)})},n.addTab=function(t){i.push({scope:t,active:!1,parentContent:n.id}),1===i.length&&(i[0].active=!0,t.active=!0)},n.getId=function(){return o},n.setId=function(t){o=t}}function n(t){function e(e,n,i,o){e.id=i.id||t.generateUuid(),e.showTabContent="true"!==e.displaced,i.$set("id",e.id),o.setId(e.id);var c=function(){t.publish(e.id+"-tabs",e.tabs)};t.subscribe(e.id+"-get-tabs",function(){c()})}var n={restrict:"EA",transclude:"true",replace:!0,templateUrl:"components/tabs/tabs.html",controller:"ZfTabsController",scope:{displaced:"@?"},link:e};return n}function i(t){function e(e){e.tabs=e.tabs||[];var n=e.target;t.subscribe(n,function(t){if("activate"===t[0]){{t[1]}e.tabs.forEach(function(t){t.scope.active=!1,t.active=!1,t.scope.id===n&&(t.scope.active=!0,t.active=!0)})}}),0===e.tabs.length&&(t.subscribe(n+"-tabs",function(t){e.tabs=t}),t.publish(n+"-get-tabs",""))}var n={restrict:"A",transclude:"true",replace:!0,scope:{tabs:"=?",target:"@"},templateUrl:"components/tabs/tab-content.html",link:e};return n}function o(t){function e(e,n,i,o,c){e.id=i.id||t.generateUuid(),e.active=!1,e.transcludeFn=c,o.addTab(e),t.subscribe(e.id,function(t){("show"===t||"open"===t||"activate"===t)&&e.makeActive()}),e.makeActive=function(){o.select(e)}}var n={restrict:"EA",templateUrl:"components/tabs/tab.html",transclude:!0,scope:{title:"@"},require:"^zfTabs",replace:!0,link:e};return n}function c(t){function e(e,n,i){{var o=e.$eval(i.tab);o.scope.id}o.scope.transcludeFn(o.scope,function(t){n.append(t)}),t.subscribe(o.scope.id,function(){t.publish(o.parentContent,["activate",o.scope.id]),e.$apply()})}var n={restrict:"EA",transclude:"true",link:e};return n}function a(t){function e(e,n,i){function o(){n.parent().children().removeClass("is-active"),n.addClass("is-active")}var c=i.zfTabHref;t.subscribe(c,function(t){("activate"===t||"show"===t||"open"===t)&&o()}),n.on("click",function(e){t.publish(c,"activate"),o(),e.preventDefault()})}var n={restrict:"A",replace:!1,link:e};return n}function r(){function t(t,e){var n=e.children();angular.element(n[0]).addClass("is-active")}var e={restrict:"A",replace:!1,link:t};return e}function u(t){function e(e,n){function i(t){var e=n.children();angular.forEach(e,function(e){var n=angular.element(e);n.removeClass("is-active"),n.attr("id")===t&&n.addClass("is-active")})}var o=[],c=n.children();angular.forEach(c,function(e){if(e.id){var n=e.id;if(o.push(n),t.subscribe(n,function(t){("activate"===t||"show"===t||"open"===t)&&i(n)}),1===o.length){var c=angular.element(e);c.addClass("is-active")}}})}return{restrict:"A",link:e}}angular.module("foundation.tabs",["foundation.core"]).controller("ZfTabsController",e).directive("zfTabs",n).directive("zfTabContent",i).directive("zfTab",o).directive("zfTabIndividual",c).directive("zfTabHref",a).directive("zfTabCustom",r).directive("zfTabContentCustom",u).service("FoundationTabs",t),t.$inject=["FoundationApi"],e.$inject=["$scope","FoundationApi"],n.$inject=["FoundationApi"],i.$inject=["FoundationApi"],o.$inject=["FoundationApi"],c.$inject=["FoundationApi"],a.$inject=["FoundationApi"],r.$inject=["FoundationApi"],u.$inject=["FoundationApi"]}(),function(){"use strict";angular.module("foundation",["foundation.core","foundation.mediaquery","foundation.accordion","foundation.actionsheet","foundation.common","foundation.iconic","foundation.interchange","foundation.modal","foundation.notification","foundation.offcanvas","foundation.panel","foundation.popup","foundation.tabs"])}();

@@ -7,3 +7,2 @@ (function() {

'ngAnimate',
'ngSVGAttributes',

@@ -25,20 +24,14 @@ //foundation

$locationProvider.html5Mode({
enabled:true,
enabled: false,
requireBase: false
});
$locationProvider.hashPrefix('!');
}
run.$inject = ['$rootScope', '$location', '$compile'];
function run($rootScope, $location, $compile) {
function run() {
FastClick.attach(document.body);
}
if ($location.$$html5) {
$rootScope.$on('$zfIconicInjected', function(event, injectedElem) {
var angElem = angular.element(injectedElem);
$compile(angElem.contents())(angElem.scope());
});
}
}
})();

@@ -75,2 +75,7 @@ (function() {

if(!insideActionSheet) {
// if the element has a toggle attribute, do nothing
if (e.target.attributes['zf-toggle'] || e.target.attributes['zf-hard-toggle']) {
return;
};
// if the element is outside the action sheet and is NOT a toggle element, hide
hide();

@@ -178,3 +183,2 @@ }

scope.active = !scope.active;
if(scope.active) {

@@ -181,0 +185,0 @@ controller.registerListener();

@@ -1,27 +0,57 @@

(function() {
(function () {
'use strict';
angular.module('foundation.iconic', [])
.service('Iconic', iconic)
.provider('Iconic', Iconic)
.directive('zfIconic', zfIconic)
;
//iconic wrapper
function iconic() {
var iconicObject = IconicJS();
// iconic wrapper
function Iconic() {
// default path
var assetPath = 'assets/img/iconic/';
var service = {};
/**
* Sets the path used to locate the iconic SVG files
* @param {string} path - the base path used to locate the iconic SVG files
*/
this.setAssetPath = function (path) {
assetPath = angular.isString(path) ? path : assetPath;
};
service.getAccess = getAccess;
/**
* Service implementation
* @returns {{}}
*/
this.$get = function () {
var iconicObject = new IconicJS();
return service;
var service = {
getAccess: getAccess,
getAssetPath: getAssetPath
};
function getAccess() {
return iconicObject;
}
return service;
/**
*
* @returns {Window.IconicJS}
*/
function getAccess() {
return iconicObject;
}
/**
*
* @returns {string}
*/
function getAssetPath() {
return assetPath;
}
};
}
zfIconic.$inject = ['Iconic', 'FoundationApi', '$compile', '$location']
zfIconic.$inject = ['Iconic', 'FoundationApi', '$compile'];
function zfIconic(iconic, foundationApi, $compile, $location) {
function zfIconic(iconic, foundationApi, $compile) {
var directive = {

@@ -46,3 +76,3 @@ restrict: 'A',

var contents, assetPath;
return {

@@ -53,17 +83,19 @@ pre: preLink,

function preLink(scope, element, attrs, ctrl, transclude) {
function preLink(scope, element, attrs) {
if (scope.iconDir) {
// make sure ends with /
// path set via attribute
assetPath = scope.iconDir;
if (assetPath.charAt(assetPath.length - 1) !== '/') {
assetPath += '/';
}
} else {
// default path
assetPath = 'assets/img/iconic/';
assetPath = iconic.getAssetPath();
}
if(scope.dynSrc) {
// make sure ends with /
if (assetPath.charAt(assetPath.length - 1) !== '/') {
assetPath += '/';
}
if (scope.dynSrc) {
attrs.$set('data-src', scope.dynSrc);
} else if(scope.dynIcon) {
} else if (scope.dynIcon) {
attrs.$set('data-src', assetPath + scope.dynIcon + '.svg');

@@ -80,22 +112,20 @@ } else {

// check if size already added as class
if (!element.hasClass('iconic-sm') &&
!element.hasClass('iconic-md') &&
!element.hasClass('iconic-lg')) {
if (!element.hasClass('iconic-sm') && !element.hasClass('iconic-md') && !element.hasClass('iconic-lg')) {
var iconicClass;
switch (scope.size) {
case 'small':
iconicClass = 'iconic-sm'
iconicClass = 'iconic-sm';
break;
case 'medium':
iconicClass = 'iconic-md'
iconicClass = 'iconic-md';
break;
case 'large':
iconicClass = 'iconic-lg'
iconicClass = 'iconic-lg';
break;
default:
iconicClass = 'iconic-fluid'
iconicClass = 'iconic-fluid';
}
element.addClass(iconicClass);
}
// save contents of un-inject html, to use for dynamic re-injection

@@ -110,3 +140,3 @@ contents = element[0].outerHTML;

foundationApi.subscribe('resize', function() {
foundationApi.subscribe('resize', function () {
// only run update on current element

@@ -117,5 +147,5 @@ ico.update(element[0]);

// handle dynamic updating of src
if(scope.dynSrc) {
scope.$watch('dynSrc', function(newVal, oldVal) {
if (newVal && newVal != oldVal) {
if (scope.dynSrc) {
scope.$watch('dynSrc', function (newVal, oldVal) {
if (newVal && newVal !== oldVal) {
reinjectSvg(scope.dynSrc);

@@ -127,4 +157,4 @@ }

if (scope.dynIcon) {
scope.$watch('dynIcon', function(newVal, oldVal) {
if (newVal && newVal != oldVal) {
scope.$watch('dynIcon', function (newVal, oldVal) {
if (newVal && newVal !== oldVal) {
reinjectSvg(assetPath + scope.dynIcon + '.svg');

@@ -134,3 +164,3 @@ }

}
function reinjectSvg(newSrc) {

@@ -141,6 +171,6 @@ if (svgElement) {

svgElement.append(angular.element(contents));
// set new source
svgElement.attr('data-src', newSrc);
// reinject

@@ -153,3 +183,3 @@ injectSvg(svgElement[0]);

ico.inject(element, {
each: function(injectedElem) {
each: function (injectedElem) {
// compile injected svg

@@ -165,2 +195,2 @@ var angElem = angular.element(injectedElem);

})();
})();

@@ -72,2 +72,3 @@ (function() {

var animationOut = attrs.animationOut || 'fadeOut';
var overlayIn = 'fadeIn';

@@ -114,3 +115,3 @@ var overlayOut = 'fadeOut';

if (!scope.$root.$$phase) {
if (scope.$root && !scope.$root.$$phase) {
scope.$apply();

@@ -141,5 +142,5 @@ }

ModalFactory.$inject = ['$http', '$templateCache', '$rootScope', '$compile', '$timeout', 'FoundationApi'];
ModalFactory.$inject = ['$http', '$templateCache', '$rootScope', '$compile', '$timeout', '$q', 'FoundationApi'];
function ModalFactory($http, $templateCache, $rootScope, $compile, $timeout, foundationApi) {
function ModalFactory($http, $templateCache, $rootScope, $compile, $timeout, $q, foundationApi) {
return modalFactory;

@@ -155,3 +156,5 @@

element,
scope
fetched,
scope,
contentScope
;

@@ -168,3 +171,3 @@

//get template
$http.get(config.templateUrl, {
fetched = $http.get(config.templateUrl, {
cache: $templateCache

@@ -178,2 +181,3 @@ }).then(function (response) {

//use provided template
fetched = true;
html = config.template;

@@ -227,12 +231,20 @@ assembleDirective();

function init(state) {
if(!attached && html.length > 0) {
var modalEl = container.append(element);
$q.when(fetched).then(function() {
if(!attached && html.length > 0) {
var modalEl = container.append(element);
scope.active = state;
$compile(element)(scope);
attached = true;
}
scope.active = state;
$compile(element)(scope);
attached = true;
}
});
}
function assembleDirective() {
// check for duplicate elements to prevent factory from cloning modals
if (document.getElementById(id)) {
return;
}
html = '<zf-modal id="' + id + '">' + html + '</zf-modal>';

@@ -244,7 +256,28 @@

for(var prop in props) {
// account for directive attributes
for(var i = 0; i < props.length; i++) {
var prop = props[i];
if(config[prop]) {
element.attr(prop, config[prop]);
switch (prop) {
case 'animationIn':
element.attr('animation-in', config[prop]);
break;
case 'animationOut':
element.attr('animation-out', config[prop]);
break;
default:
element.attr(prop, config[prop]);
}
}
}
// access view scope variables
if (config.contentScope) {
contentScope = config.contentScope;
for (var prop in config.contentScope) {
if (config.contentScope.hasOwnProperty(prop)) {
scope[prop] = config.contentScope[prop];
}
}
}
}

@@ -259,2 +292,3 @@

}, 3000);
foundationApi.unsubscribe(id);
}

@@ -261,0 +295,0 @@

@@ -160,5 +160,7 @@ (function() {

// close if autoclose
if (scope.autoclose && scope.active) {
if (scope.autoclose) {
setTimeout(function() {
scope.hide();
if (scope.active) {
scope.hide();
}
}, parseInt(scope.autoclose));

@@ -232,3 +234,5 @@ };

setTimeout(function() {
scope.hide();
if (scope.active) {
scope.hide();
}
}, parseInt(scope.autoclose));

@@ -243,3 +247,5 @@ };

setTimeout(function() {
scope.toggle();
if (scope.active) {
scope.toggle();
}
}, parseInt(scope.autoclose));

@@ -321,3 +327,4 @@ };

element,
scope
scope,
contentScope
;

@@ -350,3 +357,2 @@

$timeout(function() {
init(true, notification);
foundationApi.publish(id, notification);

@@ -363,8 +369,9 @@ }, 0, false);

function init(state, notification) {
function init(state) {
if(!attached && html.length > 0) {
var modalEl = container.append(element);
scope.notifications = [ notification ];
scope.active = state;
$compile(element)(scope);
attached = true;

@@ -375,2 +382,6 @@ }

function assembleDirective() {
// check for duplicate element to prevent factory from cloning notification sets
if (document.getElementById(id)) {
return;
}
html = '<zf-notification-set id="' + id + '"></zf-notification-set>';

@@ -381,8 +392,19 @@

scope = $rootScope.$new();
for(var i = 0; i < props.length; i++) {
if(config[props[i]]) {
element.attr(props[i], config[props[i]]);
}
}
for(var prop in props) {
if(config[prop]) {
element.attr(prop, config[prop]);
// access view scope variables
if (config.contentScope) {
contentScope = config.contentScope;
for (var prop in contentScope) {
if (contentScope.hasOwnProperty(prop)) {
scope[prop] = contentScope[prop];
}
}
}
init(true);
}

@@ -397,2 +419,3 @@

}, 3000);
foundationApi.unsubscribe(id);
}

@@ -399,0 +422,0 @@

@@ -77,4 +77,6 @@ (function() {

scope.$apply();
if (!scope.$root.$$phase) {
scope.$apply();
}
return;

@@ -81,0 +83,0 @@ });

@@ -30,5 +30,5 @@ (function() {

zfPanel.$inject = ['FoundationApi'];
zfPanel.$inject = ['FoundationApi', '$window'];
function zfPanel(foundationApi) {
function zfPanel(foundationApi, $window) {
var directive = {

@@ -84,2 +84,9 @@ restrict: 'EA',

foundationApi.subscribe(attrs.id, function(msg) {
var panelPosition = $window.getComputedStyle(element[0]).getPropertyValue("position");
// patch to prevent panel animation on larger screen devices
if (panelPosition !== 'absolute') {
return;
}
if(msg == 'show' || msg == 'open') {

@@ -92,5 +99,7 @@ scope.show();

}
if (!scope.$root.$$phase) {
scope.$apply();
}
scope.$apply();
return;

@@ -97,0 +106,0 @@ });

@@ -15,3 +15,3 @@ (function() {

function FoundationApi(FoundationAnimation) {
var listeners = [];
var listeners = {};
var settings = {};

@@ -22,2 +22,3 @@ var uniqueIds = [];

service.subscribe = subscribe;
service.unsubscribe = unsubscribe;
service.publish = publish;

@@ -27,3 +28,3 @@ service.getSettings = getSettings;

service.generateUuid = generateUuid;
service.toggleAnimate = toggleAnimate;
service.toggleAnimate = toggleAnimate;
service.closeActiveElements = closeActiveElements;

@@ -43,2 +44,11 @@ service.animate = animate;

function unsubscribe(name, callback) {
if (listeners[name] !== undefined) {
delete listeners[name];
}
if (typeof callback == 'function') {
callback.call(this);
}
}
function publish(name, msg) {

@@ -88,2 +98,5 @@ if (!listeners[name]) {

var activeElements = document.querySelectorAll('.is-active[zf-closable]');
// action sheets are nested zf-closable elements, so we have to target the parent
var nestedActiveElements = document.querySelectorAll('[zf-closable] > .is-active')
if (activeElements.length) {

@@ -96,2 +109,10 @@ angular.forEach(activeElements, function(el) {

}
if (nestedActiveElements.length) {
angular.forEach(nestedActiveElements, function(el) {
var parentId = el.parentNode.id;
if (options.exclude !== parentId) {
self.publish(parentId, 'close');
}
})
}
}

@@ -98,0 +119,0 @@

(function() {
'use strict';
angular.module('foundation.dynamicRouting.animations', ['ngAnimate', 'foundation.dynamicRouting'])
.animation('.ui-animation', uiAnimation)
angular.module('foundation.dynamicRouting.animations', ['foundation.dynamicRouting'])
.directive('uiView', uiView)
;
uiAnimation.$inject = ['$rootScope', '$state'];
uiView.$inject = ['$rootScope', '$state'];
function uiAnimation($rootScope, $state) {
var events = ['webkitAnimationEnd', 'mozAnimationEnd', 'MSAnimationEnd', 'oanimationend', 'animationend',
'webkitTransitionEnd', 'otransitionend', 'transitionend'];
function uiView($rootScope, $state) {
var directive = {
restrict : 'ECA',
priority : -400,
link : link
};
var parentStyle = 'position-absolute';
return directive;
var animation = {};
function link(scope, element) {
var animation = {};
var animationEnded = false;
var presetHeight;
animation.enter = enterAnimation;
animation.leave = leaveAnimation;
var cleanup = [
$rootScope.$on('$stateChangeStart', onStateChangeStart),
$rootScope.$on('$stateChangeError', onStateChangeError),
scope.$on('$stateChangeSuccess', onStateChangeSuccess),
scope.$on('$viewContentAnimationEnded', onViewContentAnimationEnded)
];
return animation;
var destroyed = scope.$on('$destroy', function onDestroy() {
angular.forEach(cleanup, function (cb) {
if (angular.isFunction(cb)) {
cb();
}
});
function enterAnimation(element, done) {
var scope = element.scope();
destroyed();
});
if(scope.vars && scope.vars.animationIn) {
var animationIn = scope.vars.animationIn;
var animationOut = scope.vars.animationOut || '';
var initial = 'ng-enter';
var activate = 'ng-enter-active';
var timedOut = true;
function onStateChangeStart(event, toState, toParams, fromState, fromParams) {
//reset possible failed animations and bugs
element.parent().addClass(parentStyle);
element.removeClass(activate + ' ' + initial + ' ' + animationIn + ' ' + animationOut);
element[0].style.transitionDuration = 0;
if (fromState.animation) {
if (!fromState.animation.leave && !toState.animation.leave) {
return;
}
else {
animationRouter(event, toState, fromState);
}
}
}
//start animation
element.addClass(animationIn);
element.addClass(initial);
function animationRouter(event, toState, fromState) {
if (!animationEnded) {
resetParent();
prepareParent();
$rootScope.$digest();
element.removeClass(fromState.animation.leave);
}
else {
prepareParent();
element[0].style.transitionDuration = '';
element.addClass(activate);
var finishAnimation = function() {
element.parent().removeClass(parentStyle);
element.removeClass(activate + ' ' + initial + ' ' + animationIn + ' ' + animationOut);
timedOut = false;
done();
element.addClass(fromState.animation.leave);
}
element.one(events.join(' '), function() {
finishAnimation();
});
}
setTimeout(function() {
if (timedOut) {
finishAnimation();
}
}, 3000);
function onStateChangeError() {
if(animation.leave) {
element.removeClass(animation.leave);
}
} else {
done();
resetParent(); //reset parent if state change fails
}
return function(isCancelled) {
function onStateChangeSuccess() {
resetParent();
if ($state.includes(getState()) && animation.enter) {
element.addClass(animation.enter);
}
}
};
}
function onViewContentAnimationEnded(event) {
if (event.targetScope === scope && animation.enter) {
element.removeClass(animation.enter);
}
animationEnded = true;
function leaveAnimation(element, done) {
var scope = element.scope();
}
if(scope.vars && scope.vars.animationOut) {
var animationIn = scope.vars.animationIn || '';
var animationOut = scope.vars.animationOut;
var initial = 'ng-leave';
var activate = 'ng-leave-active';
var timedOut = true;
function getState() {
var view = element.data('$uiView');
var state = view && view.state && view.state.self;
element.removeClass(activate + ' ' + initial + ' ' + animationIn + ' ' + animationOut);
element[0].style.transitionDuration = 0;
if (state) {
angular.extend(animation, state.animation);
}
//start animation
element.addClass(animationOut);
element.addClass(initial);
return state;
}
$rootScope.$digest();
function resetParent() {
element.parent().removeClass('position-absolute');
if(presetHeight !== true) {
element.parent()[0].style.height = null;
}
}
element[0].style.transitionDuration = '';
element.addClass(activate);
function prepareParent() {
var parentHeight = parseInt(element.parent()[0].style.height);
var elHeight = parseInt(window.getComputedStyle(element[0], null).getPropertyValue('height'));
var tempHeight = parentHeight > 0 ? parentHeight : elHeight > 0 ? elHeight : '';
var finishAnimation = function() {
element.parent().removeClass(parentStyle);
element.removeClass(activate + ' ' + initial + ' ' + animationIn + ' ' + animationOut);
timedOut = false;
done();
if(parentHeight > 0) {
presetHeight = true;
}
element.one(events.join(' '), function() {
finishAnimation();
});
setTimeout(function() {
if (timedOut) {
finishAnimation();
}
}, 3000);
} else {
done();
element.parent()[0].style.height = tempHeight + 'px';
element.parent().addClass('position-absolute');
}
return function(isCancelled) {
};
}
}
})();
})();

@@ -45,5 +45,7 @@ (function() {

templateUrl: page.path,
abstract: page.abstract || false,
parent: page.parent || '',
controller: getController(page),
data: getData(page),
animation: buildAnimations(page),
};

@@ -59,3 +61,5 @@

parent: page.parent || '',
abstract: page.abstract || false,
data: getData(page),
animation: buildAnimations(page),
views: {

@@ -106,2 +110,16 @@ '': buildState(page.path, page)

}
function buildAnimations(state) {
var animations = {};
if (state.animationIn) {
animations.enter = state.animationIn;
}
if (state.animationOut) {
animations.leave = state.animationOut;
}
return animations;
}
}

@@ -108,0 +126,0 @@

{
"name": "foundation-apps",
"version": "1.0.3",
"version": "1.1.0",
"description": "A responsive, Angular-powered framework for web apps from ZURB.",

@@ -39,2 +39,3 @@ "scripts": {

"gulp-minify-css": "^0.3.11",
"gulp-ng-html2js": "^0.1.8",
"gulp-prompt": "^0.1.2",

@@ -44,3 +45,3 @@ "gulp-rename": "^1.2.0",

"gulp-ruby-sass": "1.0.0-alpha",
"gulp-sass": "1.2.3",
"gulp-sass": "^1.3.3",
"gulp-uglify": "^1.0.1",

@@ -47,0 +48,0 @@ "gulp-util": "^3.0.1",

@@ -20,5 +20,6 @@ # Foundation for Apps

The Sass and JavaScript components are available on Bower.
The Sass and JavaScript components are available on Bower and npm.
```
bower install foundation-apps --save
npm install foundation-apps --save
```

@@ -72,2 +73,3 @@

* `iconic`: A set of 24 icons from the folks at [Iconic](https://useiconic.com/).
* `dist`: Compiled CSS and JavaScript files, in minified and unmified flavors.
* `tests`: Unit tests for the Angular modules.

@@ -74,0 +76,0 @@

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is too big to display

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc