diff --git a/README.md b/README.md index da2b96b..6ce8e49 100644 --- a/README.md +++ b/README.md @@ -144,6 +144,7 @@ angular.module('app').controller('ctrl', function ($mdExpansionPanel) { instance.expand(); instance.collapse({animation: false}); instance.remove(); + instance.isOpen(); }); // sync @@ -401,6 +402,7 @@ $mdExpansionPanel('theComponentId').expand(); $mdExpansionPanel('theComponentId').contract(); $mdExpansionPanel('theComponentId').remove({animation: false}); $mdExpansionPanel('theComponentId').onRemove(function () {}); +$mdExpansionPanel('theComponentId').isOpen(); // Async $mdExpansionPanel().waitFor('theComponentId').then(function (instance) { @@ -408,6 +410,7 @@ $mdExpansionPanel().waitFor('theComponentId').then(function (instance) { instance.contract(); instance.remove({animation: false}); instance.onRemove(function () {}); + instance.isOpen(); }); ``` @@ -462,7 +465,7 @@ Exapnd Panel ### $mdExpansionPanel#collapse -Collapse Panle +Collapse Panel **Parameters** @@ -523,6 +526,17 @@ Add a click catcher that will call a given function when the page surrounding th Remove current click catcher +### $mdExpansionPanel#isOpen + +Returns boolean + +**Returns** + +| Type | Details | +| :--: | :--: | +| boolean |

true if panel is expanded false if panel is collapsed

| + + diff --git a/bower.json b/bower.json index cc29085..5e0493a 100644 --- a/bower.json +++ b/bower.json @@ -1,6 +1,6 @@ { "name": "angular-material-expansion-panel", - "version": "0.5.0", + "version": "0.6.0", "description": "Material Design Expansion Panels.", "main": [ "dist/md-expansion-panel.js", diff --git a/dist/md-expansion-panel.css b/dist/md-expansion-panel.css index f16ae3f..3fd1f7c 100644 --- a/dist/md-expansion-panel.css +++ b/dist/md-expansion-panel.css @@ -171,12 +171,15 @@ md-expansion-panel:not(.md-no-animation) .md-expansion-panel-icon { transition: transform 0.6s cubic-bezier(0.25, 0.8, 0.25, 1); transition: transform 0.6s cubic-bezier(0.25, 0.8, 0.25, 1), -webkit-transform 0.6s cubic-bezier(0.25, 0.8, 0.25, 1); } -md-expansion-panel .md-expansion-panel-icon:first-child { - margin-right: 18px; } - -md-expansion-panel.md-open .md-expansion-panel-icon { +md-expansion-panel .md-expansion-panel-icon { -webkit-transform: rotate(90deg); transform: rotate(90deg); } + md-expansion-panel .md-expansion-panel-icon:first-child { + margin-right: 18px; } + +md-expansion-panel.md-open .md-expansion-panel-icon { + -webkit-transform: rotate(-90deg); + transform: rotate(-90deg); } @-webkit-keyframes panelBodyHeaderStickyHoverIn { 0% { diff --git a/dist/md-expansion-panel.js b/dist/md-expansion-panel.js index a9f411d..7218dae 100644 --- a/dist/md-expansion-panel.js +++ b/dist/md-expansion-panel.js @@ -37,7 +37,7 @@ function expansionPanelDirective() { require: ['mdExpansionPanel', '?^^mdExpansionPanelGroup'], scope: true, compile: compile, - controller: ['$scope', '$element', '$attrs', '$window', '$$rAF', '$mdConstant', '$mdUtil', '$mdComponentRegistry', '$timeout', '$q', '$animate', controller] + controller: ['$scope', '$element', '$attrs', '$window', '$$rAF', '$mdConstant', '$mdUtil', '$mdComponentRegistry', '$timeout', '$q', '$animate', '$parse', controller] }; return directive; @@ -60,23 +60,15 @@ function expansionPanelDirective() { var epxansionPanelCtrl = ctrls[0]; var epxansionPanelGroupCtrl = ctrls[1]; - if (epxansionPanelGroupCtrl) { - epxansionPanelCtrl.epxansionPanelGroupCtrl = epxansionPanelGroupCtrl; - epxansionPanelGroupCtrl.addPanel(epxansionPanelCtrl.componentId, { - expand: epxansionPanelCtrl.expand, - collapse: epxansionPanelCtrl.collapse, - remove: epxansionPanelCtrl.remove, - onRemove: epxansionPanelCtrl.onRemove, - destroy: epxansionPanelCtrl.destroy, - }); - } + epxansionPanelCtrl.epxansionPanelGroupCtrl = epxansionPanelGroupCtrl || undefined; + epxansionPanelCtrl.init(); }; } - function controller($scope, $element, $attrs, $window, $$rAF, $mdConstant, $mdUtil, $mdComponentRegistry, $timeout, $q, $animate) { + function controller($scope, $element, $attrs, $window, $$rAF, $mdConstant, $mdUtil, $mdComponentRegistry, $timeout, $q, $animate, $parse) { /* jshint validthis: true */ var vm = this; @@ -92,7 +84,9 @@ function expansionPanelDirective() { var onRemoveCallback; var transformParent; var backdrop; - var isOpen = false; + var inited = false; + var registerOnInit = false; + var _isOpen = false; var isDisabled = false; var debouncedUpdateScroll = $$rAF.throttle(updateScroll); var debouncedUpdateResize = $$rAF.throttle(updateResize); @@ -103,17 +97,23 @@ function expansionPanelDirective() { vm.registerFooter = function (ctrl) { footerCtrl = ctrl; }; + if ($attrs.mdComponentId === undefined) { $attrs.$set('mdComponentId', '_expansion_panel_id_' + $mdUtil.nextUid()); + registerPanel(); + } else { + $attrs.$observe('mdComponentId', function() { + registerPanel(); + }); } vm.$element = $element; - vm.componentId = $attrs.mdComponentId; vm.expand = expand; vm.collapse = collapse; vm.remove = remove; vm.destroy = destroy; vm.onRemove = onRemove; + vm.init = init; $attrs.$observe('disabled', function(disabled) { isDisabled = (typeof disabled === 'string' && disabled !== 'false') ? true : false; @@ -149,7 +149,8 @@ function expansionPanelDirective() { $scope.$panel = { collapse: collapse, expand: expand, - remove: remove + remove: remove, + isOpen: isOpen }; $scope.$on('$destroy', function () { @@ -164,23 +165,70 @@ function expansionPanelDirective() { }); - if ($attrs.mdComponentId) { + + + + function init() { + inited = true; + if (registerOnInit === true) { + registerPanel(); + } + } + + + function registerPanel() { + if (inited === false) { + registerOnInit = true; + return; + } + + // deregister if component was already registered + if (typeof deregister === 'function') { + deregister(); + deregister = undefined; + } + // remove component from group ctrl if component was already added + if (vm.componentId && vm.epxansionPanelGroupCtrl) { + vm.epxansionPanelGroupCtrl.removePanel(vm.componentId); + } + + // if componentId was removed then set one + if ($attrs.mdComponentId === undefined) { + $attrs.$set('mdComponentId', '_expansion_panel_id_' + $mdUtil.nextUid()); + } + + vm.componentId = $attrs.mdComponentId; deregister = $mdComponentRegistry.register({ expand: expand, collapse: collapse, remove: remove, onRemove: onRemove, + isOpen: isOpen, addClickCatcher: addClickCatcher, removeClickCatcher: removeClickCatcher, componentId: $attrs.mdComponentId }, $attrs.mdComponentId); + + if (vm.epxansionPanelGroupCtrl) { + vm.epxansionPanelGroupCtrl.addPanel(vm.componentId, { + expand: expand, + collapse: collapse, + remove: remove, + onRemove: onRemove, + destroy: destroy, + isOpen: isOpen + }); + } } + function isOpen() { + return _isOpen; + } function expand(options) { - if (isOpen === true || isDisabled === true) { return; } - isOpen = true; + if (_isOpen === true || isDisabled === true) { return; } + _isOpen = true; options = options || {}; var deferred = $q.defer(); @@ -212,8 +260,8 @@ function expansionPanelDirective() { function collapse(options) { - if (isOpen === false) { return; } - isOpen = false; + if (_isOpen === false) { return; } + _isOpen = false; options = options || {}; var deferred = $q.defer(); @@ -253,7 +301,7 @@ function expansionPanelDirective() { deregister = undefined; } - if (options.animation === false || isOpen === false) { + if (options.animation === false || _isOpen === false) { $scope.$destroy(); $element.remove(); deferred.resolve(); @@ -528,7 +576,6 @@ function expansionPanelCollapsedDirective($animateCss) { to: {opacity: 0} }; if (options.animation === false) { animationParams.duration = 0; } - void 0; $animateCss(element, animationParams) .start() .then(function () { diff --git a/dist/md-expansion-panel.min.css b/dist/md-expansion-panel.min.css index 1d1ffe4..39ce6e7 100644 --- a/dist/md-expansion-panel.min.css +++ b/dist/md-expansion-panel.min.css @@ -1 +1 @@ -md-expansion-panel,md-expansion-panel .md-expansion-panel-footer-container,md-expansion-panel .md-expansion-panel-header-container,md-expansion-panel md-expansion-panel-collapsed{background:#fff}md-expansion-panel .md-expansion-panel-footer-container .md-summary,md-expansion-panel .md-expansion-panel-footer-container .md-title,md-expansion-panel .md-expansion-panel-header-container .md-summary,md-expansion-panel .md-expansion-panel-header-container .md-title,md-expansion-panel md-expansion-panel-collapsed .md-summary,md-expansion-panel md-expansion-panel-collapsed .md-title{color:#333}md-expansion-panel md-expansion-panel-footer .md-expansion-panel-footer-container,md-expansion-panel md-expansion-panel-header .md-expansion-panel-header-container{border-color:#ddd}md-expansion-panel .md-expansion-panel-icon svg{fill:#999}md-expansion-panel[disabled] md-expansion-panel-collapsed{color:#ddd}md-expansion-panel:not(.md-open):not([disabled]):focus,md-expansion-panel:not(.md-open):not([disabled]):focus md-expansion-panel-collapsed{background:#eee}.layout-padding>md-expansion-panel-group{padding:0}md-expansion-panel{display:block;position:relative;outline:none;margin-top:0;margin-bottom:0;padding:0;box-shadow:0 -1px 0 #e5e5e5,0 0 2px rgba(0,0,0,.12),0 2px 4px rgba(0,0,0,.24)}md-expansion-panel.md-open{margin-top:16px;margin-bottom:16px}md-expansion-panel.md-open:first-of-type{margin-top:0}md-expansion-panel.md-close{overflow:hidden}md-expansion-panel:not(.md-no-animation).md-open{-webkit-transition:margin-top .12s cubic-bezier(.25,.8,.25,1),margin-bottom .12s cubic-bezier(.25,.8,.25,1);transition:margin-top .12s cubic-bezier(.25,.8,.25,1),margin-bottom .12s cubic-bezier(.25,.8,.25,1)}md-expansion-panel:not(.md-no-animation).md-close{-webkit-transition:margin-top .08s cubic-bezier(.25,.8,.25,1),margin-bottom .08s cubic-bezier(.25,.8,.25,1);transition:margin-top .08s cubic-bezier(.25,.8,.25,1),margin-bottom .08s cubic-bezier(.25,.8,.25,1)}md-expansion-panel-collapsed .md-title,md-expansion-panel-header .md-title{-webkit-box-flex:1;-ms-flex:1;flex:1;font-size:16px;font-weight:600;min-width:80px;max-width:184px;overflow:hidden;text-overflow:ellipsis;text-align:left;white-space:nowrap}md-expansion-panel-collapsed .md-summary,md-expansion-panel-header .md-summary{-webkit-box-flex:1;-ms-flex:1;flex:1;font-size:13px;overflow:hidden;text-overflow:ellipsis;text-align:left;white-space:nowrap}md-expansion-panel md-expansion-panel-collapsed{display:-webkit-box;display:-ms-flexbox;display:flex;min-height:48px;line-height:48px;padding:0 24px;opacity:1;z-index:1;box-sizing:border-box}md-expansion-panel md-expansion-panel-collapsed.md-absolute{position:absolute}md-expansion-panel md-expansion-panel-collapsed.md-hide{opacity:0}md-expansion-panel:not(.md-no-animation) md-expansion-panel-collapsed.md-show{-webkit-transition:opacity .03s linear;transition:opacity .03s linear}md-expansion-panel:not(.md-no-animation) md-expansion-panel-collapsed.md-hide{-webkit-transition:opacity .1s cubic-bezier(.25,.8,.25,1);transition:opacity .1s cubic-bezier(.25,.8,.25,1)}md-expansion-panel md-expansion-panel-expanded{display:none;min-height:48px}md-expansion-panel md-expansion-panel-expanded.md-hide,md-expansion-panel md-expansion-panel-expanded.md-show{display:block}md-expansion-panel md-expansion-panel-expanded.md-scroll-y{overflow-y:auto}md-expansion-panel md-expansion-panel-expanded.md-overflow{overflow:hidden}md-expansion-panel md-expansion-panel-expanded md-expansion-panel-content{display:block;padding:16px 24px}md-expansion-panel:not(.md-no-animation) md-expansion-panel-expanded.md-show{-webkit-transition:max-height .12s cubic-bezier(.25,.8,.25,1),opacity .12s cubic-bezier(.25,.8,.25,1);transition:max-height .12s cubic-bezier(.25,.8,.25,1),opacity .12s cubic-bezier(.25,.8,.25,1)}md-expansion-panel:not(.md-no-animation) md-expansion-panel-expanded.md-hide{-webkit-transition:max-height .06s cubic-bezier(.25,.8,.25,1),opacity .06s cubic-bezier(.25,.8,.25,1);transition:max-height .06s cubic-bezier(.25,.8,.25,1),opacity .06s cubic-bezier(.25,.8,.25,1)}md-expansion-panel-header{display:block;position:relative;outline:none}md-expansion-panel-header .md-expansion-panel-header-container{display:-webkit-box;display:-ms-flexbox;display:flex;min-height:48px;line-height:48px;padding:0 24px;box-sizing:border-box;border-bottom:1px solid;-webkit-box-align:center;-ms-flex-align:center;align-items:center}md-expansion-panel-header.md-stick .md-expansion-panel-header-container{position:fixed;z-index:1;-webkit-animation:a .3s ease-out both;animation:a .3s ease-out both}md-expansion-panel-header.md-no-stick .md-expansion-panel-header-container{-webkit-animation:b .3s ease-out both;animation:b .3s ease-out both}md-expansion-panel-footer{display:block;position:relative}md-expansion-panel-footer.md-hide,md-expansion-panel-footer.md-show{display:block}md-expansion-panel-footer .md-expansion-panel-footer-container{display:-webkit-box;display:-ms-flexbox;display:flex;min-height:48px;line-height:48px;padding:0 24px;border-top:1px solid;box-sizing:border-box}md-expansion-panel-footer.md-stick .md-expansion-panel-footer-container{position:fixed;z-index:1}md-expansion-panel:not(.md-no-animation) .md-expansion-panel-icon{-webkit-transition:-webkit-transform .6s cubic-bezier(.25,.8,.25,1);transition:-webkit-transform .6s cubic-bezier(.25,.8,.25,1);transition:transform .6s cubic-bezier(.25,.8,.25,1);transition:transform .6s cubic-bezier(.25,.8,.25,1),-webkit-transform .6s cubic-bezier(.25,.8,.25,1)}md-expansion-panel .md-expansion-panel-icon:first-child{margin-right:18px}md-expansion-panel.md-open .md-expansion-panel-icon{-webkit-transform:rotate(90deg);transform:rotate(90deg)}@-webkit-keyframes a{0%{box-shadow:0 0 0 0 transparent}to{box-shadow:0 2px 4px 0 rgba(0,0,0,.16)}}@keyframes a{0%{box-shadow:0 0 0 0 transparent}to{box-shadow:0 2px 4px 0 rgba(0,0,0,.16)}}@-webkit-keyframes b{0%{box-shadow:0 2px 4px 0 rgba(0,0,0,.16)}to{box-shadow:0 0 0 0 transparent}}@keyframes b{0%{box-shadow:0 2px 4px 0 rgba(0,0,0,.16)}to{box-shadow:0 0 0 0 transparent}} \ No newline at end of file +md-expansion-panel,md-expansion-panel .md-expansion-panel-footer-container,md-expansion-panel .md-expansion-panel-header-container,md-expansion-panel md-expansion-panel-collapsed{background:#fff}md-expansion-panel .md-expansion-panel-footer-container .md-summary,md-expansion-panel .md-expansion-panel-footer-container .md-title,md-expansion-panel .md-expansion-panel-header-container .md-summary,md-expansion-panel .md-expansion-panel-header-container .md-title,md-expansion-panel md-expansion-panel-collapsed .md-summary,md-expansion-panel md-expansion-panel-collapsed .md-title{color:#333}md-expansion-panel md-expansion-panel-footer .md-expansion-panel-footer-container,md-expansion-panel md-expansion-panel-header .md-expansion-panel-header-container{border-color:#ddd}md-expansion-panel .md-expansion-panel-icon svg{fill:#999}md-expansion-panel[disabled] md-expansion-panel-collapsed{color:#ddd}md-expansion-panel:not(.md-open):not([disabled]):focus,md-expansion-panel:not(.md-open):not([disabled]):focus md-expansion-panel-collapsed{background:#eee}.layout-padding>md-expansion-panel-group{padding:0}md-expansion-panel{display:block;position:relative;outline:none;margin-top:0;margin-bottom:0;padding:0;box-shadow:0 -1px 0 #e5e5e5,0 0 2px rgba(0,0,0,.12),0 2px 4px rgba(0,0,0,.24)}md-expansion-panel.md-open{margin-top:16px;margin-bottom:16px}md-expansion-panel.md-open:first-of-type{margin-top:0}md-expansion-panel.md-close{overflow:hidden}md-expansion-panel:not(.md-no-animation).md-open{-webkit-transition:margin-top .12s cubic-bezier(.25,.8,.25,1),margin-bottom .12s cubic-bezier(.25,.8,.25,1);transition:margin-top .12s cubic-bezier(.25,.8,.25,1),margin-bottom .12s cubic-bezier(.25,.8,.25,1)}md-expansion-panel:not(.md-no-animation).md-close{-webkit-transition:margin-top .08s cubic-bezier(.25,.8,.25,1),margin-bottom .08s cubic-bezier(.25,.8,.25,1);transition:margin-top .08s cubic-bezier(.25,.8,.25,1),margin-bottom .08s cubic-bezier(.25,.8,.25,1)}md-expansion-panel-collapsed .md-title,md-expansion-panel-header .md-title{-webkit-box-flex:1;-ms-flex:1;flex:1;font-size:16px;font-weight:600;min-width:80px;max-width:184px;overflow:hidden;text-overflow:ellipsis;text-align:left;white-space:nowrap}md-expansion-panel-collapsed .md-summary,md-expansion-panel-header .md-summary{-webkit-box-flex:1;-ms-flex:1;flex:1;font-size:13px;overflow:hidden;text-overflow:ellipsis;text-align:left;white-space:nowrap}md-expansion-panel md-expansion-panel-collapsed{display:-webkit-box;display:-ms-flexbox;display:flex;min-height:48px;line-height:48px;padding:0 24px;opacity:1;z-index:1;box-sizing:border-box}md-expansion-panel md-expansion-panel-collapsed.md-absolute{position:absolute}md-expansion-panel md-expansion-panel-collapsed.md-hide{opacity:0}md-expansion-panel:not(.md-no-animation) md-expansion-panel-collapsed.md-show{-webkit-transition:opacity .03s linear;transition:opacity .03s linear}md-expansion-panel:not(.md-no-animation) md-expansion-panel-collapsed.md-hide{-webkit-transition:opacity .1s cubic-bezier(.25,.8,.25,1);transition:opacity .1s cubic-bezier(.25,.8,.25,1)}md-expansion-panel md-expansion-panel-expanded{display:none;min-height:48px}md-expansion-panel md-expansion-panel-expanded.md-hide,md-expansion-panel md-expansion-panel-expanded.md-show{display:block}md-expansion-panel md-expansion-panel-expanded.md-scroll-y{overflow-y:auto}md-expansion-panel md-expansion-panel-expanded.md-overflow{overflow:hidden}md-expansion-panel md-expansion-panel-expanded md-expansion-panel-content{display:block;padding:16px 24px}md-expansion-panel:not(.md-no-animation) md-expansion-panel-expanded.md-show{-webkit-transition:max-height .12s cubic-bezier(.25,.8,.25,1),opacity .12s cubic-bezier(.25,.8,.25,1);transition:max-height .12s cubic-bezier(.25,.8,.25,1),opacity .12s cubic-bezier(.25,.8,.25,1)}md-expansion-panel:not(.md-no-animation) md-expansion-panel-expanded.md-hide{-webkit-transition:max-height .06s cubic-bezier(.25,.8,.25,1),opacity .06s cubic-bezier(.25,.8,.25,1);transition:max-height .06s cubic-bezier(.25,.8,.25,1),opacity .06s cubic-bezier(.25,.8,.25,1)}md-expansion-panel-header{display:block;position:relative;outline:none}md-expansion-panel-header .md-expansion-panel-header-container{display:-webkit-box;display:-ms-flexbox;display:flex;min-height:48px;line-height:48px;padding:0 24px;box-sizing:border-box;border-bottom:1px solid;-webkit-box-align:center;-ms-flex-align:center;align-items:center}md-expansion-panel-header.md-stick .md-expansion-panel-header-container{position:fixed;z-index:1;-webkit-animation:a .3s ease-out both;animation:a .3s ease-out both}md-expansion-panel-header.md-no-stick .md-expansion-panel-header-container{-webkit-animation:b .3s ease-out both;animation:b .3s ease-out both}md-expansion-panel-footer{display:block;position:relative}md-expansion-panel-footer.md-hide,md-expansion-panel-footer.md-show{display:block}md-expansion-panel-footer .md-expansion-panel-footer-container{display:-webkit-box;display:-ms-flexbox;display:flex;min-height:48px;line-height:48px;padding:0 24px;border-top:1px solid;box-sizing:border-box}md-expansion-panel-footer.md-stick .md-expansion-panel-footer-container{position:fixed;z-index:1}md-expansion-panel:not(.md-no-animation) .md-expansion-panel-icon{-webkit-transition:-webkit-transform .6s cubic-bezier(.25,.8,.25,1);transition:-webkit-transform .6s cubic-bezier(.25,.8,.25,1);transition:transform .6s cubic-bezier(.25,.8,.25,1);transition:transform .6s cubic-bezier(.25,.8,.25,1),-webkit-transform .6s cubic-bezier(.25,.8,.25,1)}md-expansion-panel .md-expansion-panel-icon{-webkit-transform:rotate(90deg);transform:rotate(90deg)}md-expansion-panel .md-expansion-panel-icon:first-child{margin-right:18px}md-expansion-panel.md-open .md-expansion-panel-icon{-webkit-transform:rotate(-90deg);transform:rotate(-90deg)}@-webkit-keyframes a{0%{box-shadow:0 0 0 0 transparent}to{box-shadow:0 2px 4px 0 rgba(0,0,0,.16)}}@keyframes a{0%{box-shadow:0 0 0 0 transparent}to{box-shadow:0 2px 4px 0 rgba(0,0,0,.16)}}@-webkit-keyframes b{0%{box-shadow:0 2px 4px 0 rgba(0,0,0,.16)}to{box-shadow:0 0 0 0 transparent}}@keyframes b{0%{box-shadow:0 2px 4px 0 rgba(0,0,0,.16)}to{box-shadow:0 0 0 0 transparent}} \ No newline at end of file diff --git a/dist/md-expansion-panel.min.js b/dist/md-expansion-panel.min.js index 96e2e3f..3e62205 100644 --- a/dist/md-expansion-panel.min.js +++ b/dist/md-expansion-panel.min.js @@ -1 +1 @@ -!function(){"use strict";angular.module("material.components.expansionPanels",["material.core"])}(),function(){"use strict";angular.module("material.components.expansionPanels").run(["$templateCache",function(e){e.put("icons/ic_keyboard_arrow_right_black_24px.svg",'\n \n \n')}])}(),function(){"use strict";function e(){function e(e,n){var o="Invalid HTML for md-expansion-panel: ";if(e.attr("tabindex",n.tabindex||"0"),null===e[0].querySelector("md-expansion-panel-collapsed"))throw Error(o+"Expected a child element of `md-epxansion-panel-collapsed`");if(null===e[0].querySelector("md-expansion-panel-expanded"))throw Error(o+"Expected a child element of `md-epxansion-panel-expanded`");return function(e,n,o,t){var i=t[0],r=t[1];r&&(i.epxansionPanelGroupCtrl=r,r.addPanel(i.componentId,{expand:i.expand,collapse:i.collapse,remove:i.remove,onRemove:i.onRemove,destroy:i.destroy}))}}function o(e,o,t,i,r,a,s,c,l,d,u){function m(e){var n=a.KEY_CODE;switch(e.keyCode){case n.ENTER:p();break;case n.ESCAPE:f()}}function p(e){if(O!==!0&&U!==!0){O=!0,e=e||{};var t=d.defer();return A.epxansionPanelGroupCtrl&&A.epxansionPanelGroupCtrl.expandPanel(A.componentId),o.removeClass("md-close"),o.addClass("md-open"),e.animation===!1?o.addClass("md-no-animation"):o.removeClass("md-no-animation"),C(),R.hide(e),I.show(e),S&&S.show(e),_&&_.show(e),l(function(){t.resolve()},e.animation===!1?0:n),t.promise}}function f(e){if(O!==!1){O=!1,e=e||{};var t=d.defer();return o.addClass("md-close"),o.removeClass("md-open"),e.animation===!1?o.addClass("md-no-animation"):o.removeClass("md-no-animation"),$(),R.show(e),I.hide(e),S&&S.hide(e),_&&_.hide(e),l(function(){t.resolve()},e.animation===!1?0:n),t.promise}}function v(t){t=t||{};var i=d.defer();return A.epxansionPanelGroupCtrl&&A.epxansionPanelGroupCtrl.removePanel(A.componentId),"function"==typeof N&&(N(),N=void 0),t.animation===!1||O===!1?(e.$destroy(),o.remove(),i.resolve(),g()):(f(),l(function(){e.$destroy(),o.remove(),i.resolve(),g()},n)),i.promise}function h(e){j=e}function g(){"function"==typeof j&&(j(),j=void 0)}function x(){e.$destroy()}function C(){(_&&_.noSticky!==!0||S&&S.noSticky!==!0)&&(G=e.$watch(function(){return o[0].offsetTop},T,!0),H=e.$watch(function(){return o[0].offsetWidth},F,!0),q=s.getNearestContentElement(o),"MD-CONTENT"===q.nodeName?(z=y(q),angular.element(q).on("scroll",T)):z=void 0,I.setHeight===!0&&I.$element.on("scroll",T),angular.element(i).on("scroll",T).on("resize",T).on("resize",F))}function $(){"function"==typeof G&&(G(),G=void 0),"function"==typeof H&&(H(),H=void 0),q&&"MD-CONTENT"===q.nodeName&&angular.element(q).off("scroll",T),I.setHeight===!0&&I.$element.off("scroll",T),angular.element(i).off("scroll",T).off("resize",T).off("resize",F)}function y(e){for(var n=e.parentNode;n&&n!==document;){if(E(n,"transform"))return n;n=n.parentNode}}function E(e,n){var o=!1;if(e){var t=i.getComputedStyle(e);o=void 0!==t[n]&&"none"!==t[n]}return o}function w(e){var n,o,t;t=I.setHeight===!0?I.$element[0].getBoundingClientRect():q.getBoundingClientRect();var i=z?z.getBoundingClientRect().top:0;n=Math.max(t.top,0),o=n+t.height,_&&_.noSticky===!1&&_.onScroll(n,o,i),S&&S.noSticky===!1&&S.onScroll(n,o,i)}function P(){var e=o[0].offsetWidth;_&&_.noSticky===!1&&_.onResize(e),S&&S.noSticky===!1&&S.onResize(e)}function k(n){B=s.createBackdrop(e),B[0].tabIndex=-1,"function"==typeof n&&B.on("click",n),u.enter(B,o.parent(),null,{duration:0}),o.css("z-index",60)}function b(){B&&(B.remove(),B.off("click"),B=void 0,o.css("z-index",""))}var R,I,S,_,N,q,G,H,j,z,B,A=this,O=!1,U=!1,T=r.throttle(w),F=r.throttle(P);A.registerCollapsed=function(e){R=e},A.registerExpanded=function(e){I=e},A.registerHeader=function(e){S=e},A.registerFooter=function(e){_=e},void 0===t.mdComponentId&&t.$set("mdComponentId","_expansion_panel_id_"+s.nextUid()),A.$element=o,A.componentId=t.mdComponentId,A.expand=p,A.collapse=f,A.remove=v,A.destroy=x,A.onRemove=h,t.$observe("disabled",function(e){U="string"==typeof e&&"false"!==e,U===!0?o.attr("tabindex","-1"):o.attr("tabindex","0")}),o.on("focus",function(e){o.on("keydown",m)}).on("blur",function(e){o.off("keydown",m)}),e.$panel={collapse:f,expand:p,remove:v},e.$on("$destroy",function(){b(),"function"==typeof N&&(N(),N=void 0),$()}),t.mdComponentId&&(N=c.register({expand:p,collapse:f,remove:v,onRemove:h,addClickCatcher:k,removeClickCatcher:b,componentId:t.mdComponentId},t.mdComponentId))}var t={restrict:"E",require:["mdExpansionPanel","?^^mdExpansionPanelGroup"],scope:!0,compile:e,controller:["$scope","$element","$attrs","$window","$$rAF","$mdConstant","$mdUtil","$mdComponentRegistry","$timeout","$q","$animate",o]};return t}angular.module("material.components.expansionPanels").directive("mdExpansionPanel",e);var n=180}(),function(){"use strict";function e(e,n,o){function t(t){var i=e.get(t);return i?i:void o.error(n.supplant(r,[t||""]))}function i(n){return e.when(n)["catch"](o.error)}var r="ExpansionPanel '{0}' is not available! Did you use md-component-id='{0}'?",a={find:t,waitFor:i};return function(e){return void 0===e?a:t(e)}}angular.module("material.components.expansionPanels").factory("$mdExpansionPanel",e),e.$inject=["$mdComponentRegistry","$mdUtil","$log"]}(),function(){"use strict";function e(e){function n(n,o,t,i){function r(n){o.css("width",o[0].offsetWidth+"px"),i.$element.css("min-height",o[0].offsetHeight+"px");var t={addClass:"md-absolute md-hide",from:{opacity:1},to:{opacity:0}};n.animation===!1&&(t.duration=0),e(o,t).start().then(function(){o.removeClass("md-hide"),o.css("display","none")})}function a(n){o.css("display",""),o.css("width",o[0].parentNode.offsetWidth+"px");var t={addClass:"md-show",from:{opacity:0},to:{opacity:1}};n.animation===!1&&(t.duration=0),e(o,t).start().then(function(){o.removeClass("md-absolute md-show"),o.css("width",""),i.$element.css("min-height","")})}i.registerCollapsed({show:a,hide:r}),o.on("click",function(){i.expand()})}var o={restrict:"E",require:"^^mdExpansionPanel",link:n};return o}angular.module("material.components.expansionPanels").directive("mdExpansionPanelCollapsed",e),e.$inject=["$animateCss"]}(),function(){"use strict";function e(e){function n(n,o,t,i){function r(n){var t=s?s:o[0].scrollHeight+"px";o.addClass("md-hide md-overflow"),o.removeClass("md-show md-scroll-y");var i={from:{"max-height":t,opacity:1},to:{"max-height":"48px",opacity:0}};n.animation===!1&&(i.duration=0),e(o,i).start().then(function(){o.css("display","none"),o.removeClass("md-hide")})}function a(n){o.css("display",""),o.addClass("md-show md-overflow");var t=s?s:o[0].scrollHeight+"px",i={from:{"max-height":"48px",opacity:0},to:{"max-height":t,opacity:1}};n.animation===!1&&(i.duration=0),e(o,i).start().then(function(){void 0!==s?o.addClass("md-scroll-y"):o.css("max-height","none"),o.removeClass("md-overflow")})}var s=t.height||void 0;void 0!==s&&(s=s.replace("px","")+"px"),i.registerExpanded({show:a,hide:r,setHeight:void 0!==s,$element:o})}var o={restrict:"E",require:"^^mdExpansionPanel",link:n};return o}angular.module("material.components.expansionPanels").directive("mdExpansionPanelExpanded",e),e.$inject=["$animateCss"]}(),function(){"use strict";function e(){function e(e,n,o,t){function i(){}function r(){c()}function a(e,o,i){var r,a,s=n[0].getBoundingClientRect();s.bottom>o?(r=u[0].offsetHeight,a=o-r-i,a',require:"^^mdExpansionPanel",link:e};return n}angular.module("material.components.expansionPanels").directive("mdExpansionPanelFooter",e)}(),function(){"use strict";function e(){function e(e,n,o,t){function i(e){return C.push(e),function(){C.splice(C.indexOf(e),1)}}function r(){var e=u();C.forEach(function(n){n(e)})}function a(e,n){x[e]=n,y===!0&&(n.expand(),m(e)),r()}function s(e){m(e)}function c(e,n){return x[e].remove(n)}function l(e){Object.keys(x).forEach(function(n){x[n].remove(e)})}function d(e){delete x[e],r()}function u(){return Object.keys(x).length}function m(e){$===!1&&Object.keys(x).forEach(function(n){n!==e&&x[n].collapse()})}function p(e,n){if(void 0!==g[e])throw Error('$mdExpansionPanelGroup.register() The name "'+e+'" has already been registered');g[e]=n}function f(e){if(void 0===g[e])throw Error('$mdExpansionPanelGroup.addPanel() Cannot find Panel with name of "'+e+'"');return g[e]}var v,h=this,g={},x={},C=[],$=void 0!==n.mdMultiple||void 0!==n.multiple,y=void 0!==n.mdAutoExpand||void 0!==n.autoExpand;v=t.register({$element:o,register:p,getRegistered:f,remove:c,removeAll:l,onChange:i,count:u},n.mdComponentId),h.addPanel=a,h.expandPanel=s,h.removePanel=d,e.$on("$destroy",function(){"function"==typeof v&&(v(),v=void 0),Object.keys(x).forEach(function(e){x[e].destroy()})})}var n={restrict:"E",controller:["$scope","$attrs","$element","$mdComponentRegistry",e]};return n}angular.module("material.components.expansionPanels").directive("mdExpansionPanelGroup",e)}(),function(){"use strict";function e(e,n,o,t,i,r,a,s,c){function l(o){var t=e.get(o);return t?u(t):void c.error(n.supplant(m,[o||""]))}function d(n){var o=s.defer();return e.when(n).then(function(e){o.resolve(u(e))})["catch"](function(e){o.reject(),c.error(e)}),o.promise}function u(e){function c(n,o){if("string"!=typeof n)throw Error("$mdExpansionPanelGroup.register() Expects name to be a string");f(o),e.register(n,o)}function l(n,o){return e.remove(n,o)}function d(n){e.removeAll(n)}function u(n){return e.onChange(n)}function m(){return e.count()}function p(t,c){if(c=c||{},"string"==typeof t)return p(e.getRegistered(t),c);if(f(t),t.componentId&&e.isPanelActive(t.componentId))return s.reject('panel with componentId "'+t.componentId+'" is currently active');var l=s.defer(),d=i.$new();return angular.extend(d,t.scope),v(t,function(i){var s=angular.element(i),u=t.componentId||s.attr("md-component-id")||"_panelComponentId_"+n.nextUid(),m=o().waitFor(u);s.attr("md-component-id",u);var p=r(s);if(t.controller){angular.extend(c,t.locals||{}),c.$scope=d,c.$panel=m;var f=a(t.controller,c,!0),v=f();s.data("$ngControllerController",v),s.children().data("$ngControllerController",v),t.controllerAs&&(d[t.controllerAs]=v)}e.$element.append(s),p(d),m.then(function(e){l.resolve(e)})}),l.promise}function f(e){if("object"!=typeof e||null===e)throw Error("$mdExapnsionPanelGroup.add()/.register() : Requires an options object to be passed in");if(!e.template&&!e.templateUrl)throw Error("$mdExapnsionPanelGroup.add()/.register() : Is missing required paramters to create. Required One of the following: template, templateUrl")}function v(e,n){void 0!==e.templateUrl?t(e.templateUrl).then(function(e){n(e)}):n(e.template)}var h={add:p,register:c,remove:l,removeAll:d,onChange:u,count:m};return h}var m="ExpansionPanelGroup '{0}' is not available! Did you use md-component-id='{0}'?",p={find:l,waitFor:d};return function(e){return void 0===e?p:l(e)}}angular.module("material.components.expansionPanels").factory("$mdExpansionPanelGroup",e),e.$inject=["$mdComponentRegistry","$mdUtil","$mdExpansionPanel","$templateRequest","$rootScope","$compile","$controller","$q","$log"]}(),function(){"use strict";function e(){function e(e,n,o,t){function i(){}function r(){c()}function a(e,o,t){var i,r,a=n[0].getBoundingClientRect();a.top',require:"^^mdExpansionPanel",link:e};return n}angular.module("material.components.expansionPanels").directive("mdExpansionPanelHeader",e),e.$inject=[]}(),function(){"use strict";function e(){var e={restrict:"E",template:'',replace:!0};return e}angular.module("material.components.expansionPanels").directive("mdExpansionPanelIcon",e)}(); \ No newline at end of file +!function(){"use strict";angular.module("material.components.expansionPanels",["material.core"])}(),function(){"use strict";angular.module("material.components.expansionPanels").run(["$templateCache",function(n){n.put("icons/ic_keyboard_arrow_right_black_24px.svg",'\n \n \n')}])}(),function(){"use strict";function n(){function n(n,e){var o="Invalid HTML for md-expansion-panel: ";if(n.attr("tabindex",e.tabindex||"0"),null===n[0].querySelector("md-expansion-panel-collapsed"))throw Error(o+"Expected a child element of `md-epxansion-panel-collapsed`");if(null===n[0].querySelector("md-expansion-panel-expanded"))throw Error(o+"Expected a child element of `md-epxansion-panel-expanded`");return function(n,e,o,t){var i=t[0],r=t[1];i.epxansionPanelGroupCtrl=r||void 0,i.init()}}function o(n,o,t,i,r,a,s,c,l,d,u,m){function p(n){var e=a.KEY_CODE;switch(n.keyCode){case e.ENTER:g();break;case e.ESCAPE:x()}}function f(){M=!0,W===!0&&v()}function v(){return M===!1?void(W=!0):("function"==typeof j&&(j(),j=void 0),F.componentId&&F.epxansionPanelGroupCtrl&&F.epxansionPanelGroupCtrl.removePanel(F.componentId),void 0===t.mdComponentId&&t.$set("mdComponentId","_expansion_panel_id_"+s.nextUid()),F.componentId=t.mdComponentId,j=c.register({expand:g,collapse:x,remove:C,onRemove:$,isOpen:h,addClickCatcher:S,removeClickCatcher:_,componentId:t.mdComponentId},t.mdComponentId),void(F.epxansionPanelGroupCtrl&&F.epxansionPanelGroupCtrl.addPanel(F.componentId,{expand:g,collapse:x,remove:C,onRemove:$,destroy:E,isOpen:h})))}function h(){return D}function g(n){if(D!==!0&&L!==!0){D=!0,n=n||{};var t=d.defer();return F.epxansionPanelGroupCtrl&&F.epxansionPanelGroupCtrl.expandPanel(F.componentId),o.removeClass("md-close"),o.addClass("md-open"),n.animation===!1?o.addClass("md-no-animation"):o.removeClass("md-no-animation"),w(),G.hide(n),N.show(n),q&&q.show(n),H&&H.show(n),l(function(){t.resolve()},n.animation===!1?0:e),t.promise}}function x(n){if(D!==!1){D=!1,n=n||{};var t=d.defer();return o.addClass("md-close"),o.removeClass("md-open"),n.animation===!1?o.addClass("md-no-animation"):o.removeClass("md-no-animation"),P(),G.show(n),N.hide(n),q&&q.hide(n),H&&H.hide(n),l(function(){t.resolve()},n.animation===!1?0:e),t.promise}}function C(t){t=t||{};var i=d.defer();return F.epxansionPanelGroupCtrl&&F.epxansionPanelGroupCtrl.removePanel(F.componentId),"function"==typeof j&&(j(),j=void 0),t.animation===!1||D===!1?(n.$destroy(),o.remove(),i.resolve(),y()):(x(),l(function(){n.$destroy(),o.remove(),i.resolve(),y()},e)),i.promise}function $(n){U=n}function y(){"function"==typeof U&&(U(),U=void 0)}function E(){n.$destroy()}function w(){(H&&H.noSticky!==!0||q&&q.noSticky!==!0)&&(O=n.$watch(function(){return o[0].offsetTop},K,!0),B=n.$watch(function(){return o[0].offsetWidth},Y,!0),z=s.getNearestContentElement(o),"MD-CONTENT"===z.nodeName?(A=k(z),angular.element(z).on("scroll",K)):A=void 0,N.setHeight===!0&&N.$element.on("scroll",K),angular.element(i).on("scroll",K).on("resize",K).on("resize",Y))}function P(){"function"==typeof O&&(O(),O=void 0),"function"==typeof B&&(B(),B=void 0),z&&"MD-CONTENT"===z.nodeName&&angular.element(z).off("scroll",K),N.setHeight===!0&&N.$element.off("scroll",K),angular.element(i).off("scroll",K).off("resize",K).off("resize",Y)}function k(n){for(var e=n.parentNode;e&&e!==document;){if(b(e,"transform"))return e;e=e.parentNode}}function b(n,e){var o=!1;if(n){var t=i.getComputedStyle(n);o=void 0!==t[e]&&"none"!==t[e]}return o}function I(n){var e,o,t;t=N.setHeight===!0?N.$element[0].getBoundingClientRect():z.getBoundingClientRect();var i=A?A.getBoundingClientRect().top:0;e=Math.max(t.top,0),o=e+t.height,H&&H.noSticky===!1&&H.onScroll(e,o,i),q&&q.noSticky===!1&&q.onScroll(e,o,i)}function R(){var n=o[0].offsetWidth;H&&H.noSticky===!1&&H.onResize(n),q&&q.noSticky===!1&&q.onResize(n)}function S(e){T=s.createBackdrop(n),T[0].tabIndex=-1,"function"==typeof e&&T.on("click",e),u.enter(T,o.parent(),null,{duration:0}),o.css("z-index",60)}function _(){T&&(T.remove(),T.off("click"),T=void 0,o.css("z-index",""))}var G,N,q,H,j,z,O,B,U,A,T,F=this,M=!1,W=!1,D=!1,L=!1,K=r.throttle(I),Y=r.throttle(R);F.registerCollapsed=function(n){G=n},F.registerExpanded=function(n){N=n},F.registerHeader=function(n){q=n},F.registerFooter=function(n){H=n},void 0===t.mdComponentId?(t.$set("mdComponentId","_expansion_panel_id_"+s.nextUid()),v()):t.$observe("mdComponentId",function(){v()}),F.$element=o,F.expand=g,F.collapse=x,F.remove=C,F.destroy=E,F.onRemove=$,F.init=f,t.$observe("disabled",function(n){L="string"==typeof n&&"false"!==n,L===!0?o.attr("tabindex","-1"):o.attr("tabindex","0")}),o.on("focus",function(n){o.on("keydown",p)}).on("blur",function(n){o.off("keydown",p)}),n.$panel={collapse:x,expand:g,remove:C,isOpen:h},n.$on("$destroy",function(){_(),"function"==typeof j&&(j(),j=void 0),P()})}var t={restrict:"E",require:["mdExpansionPanel","?^^mdExpansionPanelGroup"],scope:!0,compile:n,controller:["$scope","$element","$attrs","$window","$$rAF","$mdConstant","$mdUtil","$mdComponentRegistry","$timeout","$q","$animate","$parse",o]};return t}angular.module("material.components.expansionPanels").directive("mdExpansionPanel",n);var e=180}(),function(){"use strict";function n(n,e,o){function t(t){var i=n.get(t);return i?i:void o.error(e.supplant(r,[t||""]))}function i(e){return n.when(e)["catch"](o.error)}var r="ExpansionPanel '{0}' is not available! Did you use md-component-id='{0}'?",a={find:t,waitFor:i};return function(n){return void 0===n?a:t(n)}}angular.module("material.components.expansionPanels").factory("$mdExpansionPanel",n),n.$inject=["$mdComponentRegistry","$mdUtil","$log"]}(),function(){"use strict";function n(n){function e(e,o,t,i){function r(e){o.css("width",o[0].offsetWidth+"px"),i.$element.css("min-height",o[0].offsetHeight+"px");var t={addClass:"md-absolute md-hide",from:{opacity:1},to:{opacity:0}};e.animation===!1&&(t.duration=0),n(o,t).start().then(function(){o.removeClass("md-hide"),o.css("display","none")})}function a(e){o.css("display",""),o.css("width",o[0].parentNode.offsetWidth+"px");var t={addClass:"md-show",from:{opacity:0},to:{opacity:1}};e.animation===!1&&(t.duration=0),n(o,t).start().then(function(){o.removeClass("md-absolute md-show"),o.css("width",""),i.$element.css("min-height","")})}i.registerCollapsed({show:a,hide:r}),o.on("click",function(){i.expand()})}var o={restrict:"E",require:"^^mdExpansionPanel",link:e};return o}angular.module("material.components.expansionPanels").directive("mdExpansionPanelCollapsed",n),n.$inject=["$animateCss"]}(),function(){"use strict";function n(n){function e(e,o,t,i){function r(e){var t=s?s:o[0].scrollHeight+"px";o.addClass("md-hide md-overflow"),o.removeClass("md-show md-scroll-y");var i={from:{"max-height":t,opacity:1},to:{"max-height":"48px",opacity:0}};e.animation===!1&&(i.duration=0),n(o,i).start().then(function(){o.css("display","none"),o.removeClass("md-hide")})}function a(e){o.css("display",""),o.addClass("md-show md-overflow");var t=s?s:o[0].scrollHeight+"px",i={from:{"max-height":"48px",opacity:0},to:{"max-height":t,opacity:1}};e.animation===!1&&(i.duration=0),n(o,i).start().then(function(){void 0!==s?o.addClass("md-scroll-y"):o.css("max-height","none"),o.removeClass("md-overflow")})}var s=t.height||void 0;void 0!==s&&(s=s.replace("px","")+"px"),i.registerExpanded({show:a,hide:r,setHeight:void 0!==s,$element:o})}var o={restrict:"E",require:"^^mdExpansionPanel",link:e};return o}angular.module("material.components.expansionPanels").directive("mdExpansionPanelExpanded",n),n.$inject=["$animateCss"]}(),function(){"use strict";function n(){function n(n,e,o,t){function i(){}function r(){c()}function a(n,o,i){var r,a,s=e[0].getBoundingClientRect();s.bottom>o?(r=u[0].offsetHeight,a=o-r-i,a',require:"^^mdExpansionPanel",link:n};return e}angular.module("material.components.expansionPanels").directive("mdExpansionPanelFooter",n)}(),function(){"use strict";function n(){function n(n,e,o,t){function i(n){return C.push(n),function(){C.splice(C.indexOf(n),1)}}function r(){var n=u();C.forEach(function(e){e(n)})}function a(n,e){x[n]=e,y===!0&&(e.expand(),m(n)),r()}function s(n){m(n)}function c(n,e){return x[n].remove(e)}function l(n){Object.keys(x).forEach(function(e){x[e].remove(n)})}function d(n){delete x[n],r()}function u(){return Object.keys(x).length}function m(n){$===!1&&Object.keys(x).forEach(function(e){e!==n&&x[e].collapse()})}function p(n,e){if(void 0!==g[n])throw Error('$mdExpansionPanelGroup.register() The name "'+n+'" has already been registered');g[n]=e}function f(n){if(void 0===g[n])throw Error('$mdExpansionPanelGroup.addPanel() Cannot find Panel with name of "'+n+'"');return g[n]}var v,h=this,g={},x={},C=[],$=void 0!==e.mdMultiple||void 0!==e.multiple,y=void 0!==e.mdAutoExpand||void 0!==e.autoExpand;v=t.register({$element:o,register:p,getRegistered:f,remove:c,removeAll:l,onChange:i,count:u},e.mdComponentId),h.addPanel=a,h.expandPanel=s,h.removePanel=d,n.$on("$destroy",function(){"function"==typeof v&&(v(),v=void 0),Object.keys(x).forEach(function(n){x[n].destroy()})})}var e={restrict:"E",controller:["$scope","$attrs","$element","$mdComponentRegistry",n]};return e}angular.module("material.components.expansionPanels").directive("mdExpansionPanelGroup",n)}(),function(){"use strict";function n(n,e,o,t,i,r,a,s,c){function l(o){var t=n.get(o);return t?u(t):void c.error(e.supplant(m,[o||""]))}function d(e){var o=s.defer();return n.when(e).then(function(n){o.resolve(u(n))})["catch"](function(n){o.reject(),c.error(n)}),o.promise}function u(n){function c(e,o){if("string"!=typeof e)throw Error("$mdExpansionPanelGroup.register() Expects name to be a string");f(o),n.register(e,o)}function l(e,o){return n.remove(e,o)}function d(e){n.removeAll(e)}function u(e){return n.onChange(e)}function m(){return n.count()}function p(t,c){if(c=c||{},"string"==typeof t)return p(n.getRegistered(t),c);if(f(t),t.componentId&&n.isPanelActive(t.componentId))return s.reject('panel with componentId "'+t.componentId+'" is currently active');var l=s.defer(),d=i.$new();return angular.extend(d,t.scope),v(t,function(i){var s=angular.element(i),u=t.componentId||s.attr("md-component-id")||"_panelComponentId_"+e.nextUid(),m=o().waitFor(u);s.attr("md-component-id",u);var p=r(s);if(t.controller){angular.extend(c,t.locals||{}),c.$scope=d,c.$panel=m;var f=a(t.controller,c,!0),v=f();s.data("$ngControllerController",v),s.children().data("$ngControllerController",v),t.controllerAs&&(d[t.controllerAs]=v)}n.$element.append(s),p(d),m.then(function(n){l.resolve(n)})}),l.promise}function f(n){if("object"!=typeof n||null===n)throw Error("$mdExapnsionPanelGroup.add()/.register() : Requires an options object to be passed in");if(!n.template&&!n.templateUrl)throw Error("$mdExapnsionPanelGroup.add()/.register() : Is missing required paramters to create. Required One of the following: template, templateUrl")}function v(n,e){void 0!==n.templateUrl?t(n.templateUrl).then(function(n){e(n)}):e(n.template)}var h={add:p,register:c,remove:l,removeAll:d,onChange:u,count:m};return h}var m="ExpansionPanelGroup '{0}' is not available! Did you use md-component-id='{0}'?",p={find:l,waitFor:d};return function(n){return void 0===n?p:l(n)}}angular.module("material.components.expansionPanels").factory("$mdExpansionPanelGroup",n),n.$inject=["$mdComponentRegistry","$mdUtil","$mdExpansionPanel","$templateRequest","$rootScope","$compile","$controller","$q","$log"]}(),function(){"use strict";function n(){function n(n,e,o,t){function i(){}function r(){c()}function a(n,o,t){var i,r,a=e[0].getBoundingClientRect();a.top',require:"^^mdExpansionPanel",link:n};return e}angular.module("material.components.expansionPanels").directive("mdExpansionPanelHeader",n),n.$inject=[]}(),function(){"use strict";function n(){var n={restrict:"E",template:'',replace:!0};return n}angular.module("material.components.expansionPanels").directive("mdExpansionPanelIcon",n)}(); \ No newline at end of file diff --git a/package.json b/package.json index e5cb734..64d4b12 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "angular-material-expansion-panel", - "version": "0.5.0", + "version": "0.6.0", "author": "Ben Rubin", "description": "Material Design Expansion Panels for angular material", "keywords": "material, material-design, design, angular, component, expansion, panel, panels",