(js/css) Update generated files

pull/237/head
InverseBot 2017-06-30 01:28:54 -04:00
parent fa7aba89c2
commit 14b902241d
10 changed files with 464 additions and 283 deletions

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View File

@ -2,7 +2,7 @@
* AngularJS Material Design
* https://github.com/angular/material
* @license MIT
* v1.1.4-master-e1345ae
* v1.1.4-master-75237c6
*/
(function( window, angular, undefined ){
"use strict";
@ -2600,7 +2600,7 @@ attachToDocument.$inject = ["$mdGesture", "$$MdGestureHandler"];var HANDLERS = {
* as well as other information abstracted from the DOM.
*/
var pointer, lastPointer, forceSkipClickHijack = false;
var pointer, lastPointer, forceSkipClickHijack = false, maxClickDistance = 6;
/**
* The position of the most recent click if that click was on a label element.
@ -2615,7 +2615,7 @@ angular
.module('material.core.gestures', [ ])
.provider('$mdGesture', MdGestureProvider)
.factory('$$MdGestureHandler', MdGestureHandler)
.run( attachToDocument );
.run(attachToDocument );
/**
* @ngdoc service
@ -2626,6 +2626,7 @@ angular
* In some scenarios on Mobile devices (without jQuery), the click events should NOT be hijacked.
* `$mdGestureProvider` is used to configure the Gesture module to ignore or skip click hijacking on mobile
* devices.
* You can also change max click distance (6px by default) if you have issues on some touch screens.
*
* <hljs lang="js">
* app.config(function($mdGestureProvider) {
@ -2634,6 +2635,9 @@ angular
* // intercept click events during the capture phase.
* $mdGestureProvider.skipClickHijack();
*
* // If hijcacking clicks, change default 6px click distance
* $mdGestureProvider.setMaxClickDistance(12);
*
* });
* </hljs>
*
@ -2648,6 +2652,10 @@ MdGestureProvider.prototype = {
return forceSkipClickHijack = true;
},
setMaxClickDistance: function(clickDistance) {
maxClickDistance = parseInt(clickDistance);
},
/**
* $get is used to build an instance of $mdGesture
* @ngInject
@ -2678,7 +2686,6 @@ function MdGesture($$MdGestureHandler, $$rAF, $timeout) {
};
if (self.isHijackingClicks) {
var maxClickDistance = 6;
self.handler('click', {
options: {
maxDistance: maxClickDistance
@ -10023,8 +10030,6 @@ function MdDialogDirective($$rAF, $mdTheming, $mdDialog) {
* `three` into the controller, with the value 3. If `bindToController` is true, they will be
* copied to the controller instead.
* - `bindToController` - `bool`: bind the locals to the controller, instead of passing them in.
* - `resolve` - `{object=}`: Similar to locals, except it takes promises as values, and the
* dialog will not open until all of the promises resolve.
* - `controllerAs` - `{string=}`: An alias to assign the controller to on the scope.
* - `parent` - `{element=}`: The element to append the dialog to. Defaults to appending
* to the root element of the application.
@ -10090,7 +10095,7 @@ function MdDialogProvider($$interimElementProvider) {
})
.addPreset('prompt', {
methods: ['title', 'htmlContent', 'textContent', 'initialValue', 'content', 'placeholder', 'ariaLabel',
'ok', 'cancel', 'theme', 'css'],
'ok', 'cancel', 'theme', 'css', 'required'],
options: advancedDialogOptions
});
@ -10108,7 +10113,7 @@ function MdDialogProvider($$interimElementProvider) {
' </div>',
' <md-input-container md-no-float ng-if="::dialog.$type == \'prompt\'" class="md-prompt-input-container">',
' <input ng-keypress="dialog.keypress($event)" md-autofocus ng-model="dialog.result" ' +
' placeholder="{{::dialog.placeholder}}">',
' placeholder="{{::dialog.placeholder}}" ng-required="dialog.required">',
' </md-input-container>',
' </md-dialog-content>',
' <md-dialog-actions>',
@ -10116,7 +10121,8 @@ function MdDialogProvider($$interimElementProvider) {
' ng-click="dialog.abort()" class="md-primary md-cancel-button">',
' {{ dialog.cancel }}',
' </md-button>',
' <md-button ng-click="dialog.hide()" class="md-primary md-confirm-button" md-autofocus="dialog.$type===\'alert\'">',
' <md-button ng-click="dialog.hide()" class="md-primary md-confirm-button" md-autofocus="dialog.$type===\'alert\'"' +
' ng-disabled="dialog.required && !dialog.result">',
' {{ dialog.ok }}',
' </md-button>',
' </md-dialog-actions>',
@ -13933,7 +13939,7 @@ function mdListItemDirective($mdAria, $mdConstant, $mdUtil, $timeout) {
function copyAttributes(source, destination, extraAttrs) {
var copiedAttrs = $mdUtil.prefixer([
'ng-if', 'ng-click', 'ng-dblclick', 'aria-label', 'ng-disabled', 'ui-sref',
'href', 'ng-href', 'target', 'ng-attr-ui-sref', 'ui-sref-opts'
'href', 'ng-href', 'rel', 'target', 'ng-attr-ui-sref', 'ui-sref-opts'
]);
if (extraAttrs) {
@ -14843,6 +14849,7 @@ angular
* }
*
* function PanelMenuCtrl(mdPanelRef) {
* // The controller is provided with an import named 'mdPanelRef'
* this.closeMenu = function() {
* mdPanelRef && mdPanelRef.close();
* };
@ -14915,7 +14922,7 @@ angular
* clickOutsideToClose: true,
* escapeToClose: true,
* focusOnOpen: true
* }
* };
*
* $mdPanel.open(config)
* .then(function(result) {
@ -14967,7 +14974,8 @@ angular
* - `locals` - `{Object=}`: An object containing key/value pairs. The keys
* will be used as names of values to inject into the controller. For
* example, `locals: {three: 3}` would inject `three` into the controller,
* with the value 3.
* with the value 3. 'mdPanelRef' is a reserved key, and will always
* be set to the created MdPanelRef instance.
* - `resolve` - `{Object=}`: Similar to locals, except it takes promises as
* values. The panel will not open until all of the promises resolve.
* - `attachTo` - `{(string|!angular.JQLite|!Element)=}`: The element to
@ -16613,6 +16621,7 @@ MdPanelRef.prototype._createPanel = function() {
// Handle click and touch events for the panel container.
if (self.config['propagateContainerEvents']) {
self.panelContainer.css('pointer-events', 'none');
self.panelEl.css('pointer-events', 'all');
}
// Panel may be outside the $rootElement, tell ngAnimate to animate
@ -19968,6 +19977,14 @@ function SelectProvider($$interimElementProvider) {
* Interim-element onRemove logic....
*/
function onRemove(scope, element, opts) {
var animationRunner = null;
var destroyListener = scope.$on('$destroy', function() {
// Listen for the case where the element was destroyed while there was an
// ongoing close animation. If this happens, we need to end the animation
// manually.
animationRunner.end();
});
opts = opts || { };
opts.cleanupInteraction();
opts.cleanupResizing();
@ -19975,8 +19992,7 @@ function SelectProvider($$interimElementProvider) {
// For navigation $destroy events, do a quick, non-animated removal,
// but for normal closes (from clicks, etc) animate the removal
return (opts.$destroy === true) ? cleanElement() : animateRemoval().then( cleanElement );
return (opts.$destroy === true) ? cleanElement() : animateRemoval().then(cleanElement);
/**
* For normal closes (eg clicks), animate the removal.
@ -19984,17 +20000,20 @@ function SelectProvider($$interimElementProvider) {
* skip the animations
*/
function animateRemoval() {
return $animateCss(element, {addClass: 'md-leave'}).start();
animationRunner = $animateCss(element, {addClass: 'md-leave'});
return animationRunner.start();
}
/**
* Restore the element to a closed state
*/
function cleanElement() {
destroyListener();
element.removeClass('md-active');
element.attr('aria-hidden', 'true');
element[0].style.display = 'none';
element
.removeClass('md-active')
.attr('aria-hidden', 'true')
.css('display', 'none');
announceClosed(opts);
@ -22558,6 +22577,123 @@ angular.module('material.components.tabs', [
(function(){
"use strict";
angular
.module('material.components.tabs')
.service('MdTabsPaginationService', MdTabsPaginationService);
/**
* @private
* @module material.components.tabs
* @name MdTabsPaginationService
* @description Provides many standalone functions to ease in pagination calculations.
*
* Most functions accept the elements and the current offset.
*
* The `elements` parameter is typically the value returned from the `getElements()` function of the
* tabsController.
*
* The `offset` parameter is always positive regardless of LTR or RTL (we simply make the LTR one
* negative when we apply our transform). This is typically the `ctrl.leftOffset` variable in the
* tabsController.
*
* @returns MdTabsPaginationService
* @constructor
*/
function MdTabsPaginationService() {
return {
decreasePageOffset: decreasePageOffset,
increasePageOffset: increasePageOffset,
getTabOffsets: getTabOffsets,
getTotalTabsWidth: getTotalTabsWidth
};
/**
* Returns the offset for the next decreasing page.
*
* @param elements
* @param currentOffset
* @returns {number}
*/
function decreasePageOffset(elements, currentOffset) {
var canvas = elements.canvas,
tabOffsets = getTabOffsets(elements),
i, firstVisibleTabOffset;
// Find the first fully visible tab in offset range
for (i = 0; i < tabOffsets.length; i++) {
if (tabOffsets[i] >= currentOffset) {
firstVisibleTabOffset = tabOffsets[i];
break;
}
}
// Return (the first visible tab offset - the tabs container width) without going negative
return Math.max(0, firstVisibleTabOffset - canvas.clientWidth);
}
/**
* Returns the offset for the next increasing page.
*
* @param elements
* @param currentOffset
* @returns {number}
*/
function increasePageOffset(elements, currentOffset) {
var canvas = elements.canvas,
maxOffset = getTotalTabsWidth(elements) - canvas.clientWidth,
tabOffsets = getTabOffsets(elements),
i, firstHiddenTabOffset;
// Find the first partially (or fully) invisible tab
for (i = 0; i < tabOffsets.length, tabOffsets[i] <= currentOffset + canvas.clientWidth; i++) {
firstHiddenTabOffset = tabOffsets[i];
}
// Return the offset of the first hidden tab, or the maximum offset (whichever is smaller)
return Math.min(maxOffset, firstHiddenTabOffset);
}
/**
* Returns the offsets of all of the tabs based on their widths.
*
* @param elements
* @returns {number[]}
*/
function getTabOffsets(elements) {
var i, tab, currentOffset = 0, offsets = [];
for (i = 0; i < elements.tabs.length; i++) {
tab = elements.tabs[i];
offsets.push(currentOffset);
currentOffset += tab.offsetWidth;
}
return offsets;
}
/**
* Sum the width of all tabs.
*
* @param elements
* @returns {number}
*/
function getTotalTabsWidth(elements) {
var sum = 0, i, tab;
for (i = 0; i < elements.tabs.length; i++) {
tab = elements.tabs[i];
sum += tab.offsetWidth;
}
return sum;
}
}
})();
(function(){
"use strict";
/**
* @ngdoc module
* @name material.components.toast
@ -26413,7 +26549,7 @@ function MdAutocomplete ($$mdSvgRegistry) {
'type="button" ' +
'aria-label="Clear Input" ' +
'tabindex="-1" ' +
'ng-if="clearButton && $mdAutocompleteCtrl.scope.searchText && !$mdAutocompleteCtrl.isDisabled" ' +
'ng-if="clearButton && $mdAutocompleteCtrl.scope.searchText" ' +
'ng-click="$mdAutocompleteCtrl.clear($event)">' +
'<md-icon md-svg-src="' + $$mdSvgRegistry.mdClose + '"></md-icon>' +
'</button>';
@ -27902,7 +28038,7 @@ MdChipsCtrl.prototype.contentIdFor = function(index) {
*
* <ul>Validation
* <li>allow a validation callback</li>
* <li>hilighting style for invalid chips</li>
* <li>highlighting style for invalid chips</li>
* </ul>
*
* <ul>Item mutation
@ -34823,7 +34959,7 @@ function MdTabScroll ($parse) {
"use strict";
MdTabsController.$inject = ["$scope", "$element", "$window", "$mdConstant", "$mdTabInkRipple", "$mdUtil", "$animateCss", "$attrs", "$compile", "$mdTheming", "$mdInteraction"];angular
MdTabsController.$inject = ["$scope", "$element", "$window", "$mdConstant", "$mdTabInkRipple", "$mdUtil", "$animateCss", "$attrs", "$compile", "$mdTheming", "$mdInteraction", "MdTabsPaginationService"];angular
.module('material.components.tabs')
.controller('MdTabsController', MdTabsController);
@ -34831,7 +34967,8 @@ MdTabsController.$inject = ["$scope", "$element", "$window", "$mdConstant", "$md
* @ngInject
*/
function MdTabsController ($scope, $element, $window, $mdConstant, $mdTabInkRipple, $mdUtil,
$animateCss, $attrs, $compile, $mdTheming, $mdInteraction) {
$animateCss, $attrs, $compile, $mdTheming, $mdInteraction,
MdTabsPaginationService) {
// define private properties
var ctrl = this,
locked = false,
@ -35014,9 +35151,16 @@ function MdTabsController ($scope, $element, $window, $mdConstant, $mdTabInkRipp
if (newWidth !== oldWidth) {
var elements = getElements();
// Set the max width for the real tabs
angular.forEach(elements.tabs, function(tab) {
tab.style.maxWidth = newWidth + 'px';
});
// Set the max width for the dummy tabs too
angular.forEach(elements.dummies, function(tab) {
tab.style.maxWidth = newWidth + 'px';
});
$mdUtil.nextTick(ctrl.updateInkBarStyles);
}
}
@ -35046,7 +35190,10 @@ function MdTabsController ($scope, $element, $window, $mdConstant, $mdTabInkRipp
*/
function handleOffsetChange (left) {
var elements = getElements();
var newValue = ctrl.shouldCenterTabs ? '' : '-' + left + 'px';
var newValue = ((ctrl.shouldCenterTabs || isRtl() ? '' : '-') + left + 'px');
// Fix double-negative which can happen with RTL support
newValue = newValue.replace('--', '');
angular.element(elements.paging).css($mdConstant.CSS.TRANSFORM, 'translate3d(' + newValue + ', 0, 0)');
$scope.$broadcast('$mdTabsPaginationChanged');
@ -35132,6 +35279,13 @@ function MdTabsController ($scope, $element, $window, $mdConstant, $mdTabInkRipp
event.preventDefault();
if (!locked) select(ctrl.focusIndex);
break;
case $mdConstant.KEY_CODE.TAB:
// On tabbing out of the tablist, reset hasFocus to reset ng-focused and
// its md-focused class if the focused tab is not the active tab.
if (ctrl.focusIndex !== ctrl.selectedIndex) {
ctrl.focusIndex = ctrl.selectedIndex;
}
break;
}
}
@ -35165,48 +35319,23 @@ function MdTabsController ($scope, $element, $window, $mdConstant, $mdTabInkRipp
* Slides the tabs over approximately one page forward.
*/
function nextPage () {
var elements = getElements();
var viewportWidth = elements.canvas.clientWidth,
totalWidth = viewportWidth + ctrl.offsetLeft,
i, tab;
for (i = 0; i < elements.tabs.length; i++) {
tab = elements.tabs[ i ];
if (tab.offsetLeft + tab.offsetWidth > totalWidth) break;
}
if (!ctrl.canPageForward()) { return }
if (viewportWidth > tab.offsetWidth) {
//Canvas width *greater* than tab width: usual positioning
ctrl.offsetLeft = fixOffset(tab.offsetLeft);
} else {
/**
* Canvas width *smaller* than tab width: positioning at the *end* of current tab to let
* pagination "for loop" to proceed correctly on next tab when nextPage() is called again
*/
ctrl.offsetLeft = fixOffset(tab.offsetLeft + (tab.offsetWidth - viewportWidth + 1));
}
var newOffset = MdTabsPaginationService.increasePageOffset(getElements(), ctrl.offsetLeft);
ctrl.offsetLeft = fixOffset(newOffset);
}
/**
* Slides the tabs over approximately one page backward.
*/
function previousPage () {
var i, tab, elements = getElements();
if (!ctrl.canPageBack()) { return }
for (i = 0; i < elements.tabs.length; i++) {
tab = elements.tabs[ i ];
if (tab.offsetLeft + tab.offsetWidth >= ctrl.offsetLeft) break;
}
var newOffset = MdTabsPaginationService.decreasePageOffset(getElements(), ctrl.offsetLeft);
if (elements.canvas.clientWidth > tab.offsetWidth) {
//Canvas width *greater* than tab width: usual positioning
ctrl.offsetLeft = fixOffset(tab.offsetLeft + tab.offsetWidth - elements.canvas.clientWidth);
} else {
/**
* Canvas width *smaller* than tab width: positioning at the *beginning* of current tab to let
* pagination "for loop" to break correctly on previous tab when previousPage() is called again
*/
ctrl.offsetLeft = fixOffset(tab.offsetLeft);
}
// Set the new offset
ctrl.offsetLeft = fixOffset(newOffset);
}
/**
@ -35215,6 +35344,7 @@ function MdTabsController ($scope, $element, $window, $mdConstant, $mdTabInkRipp
function handleWindowResize () {
ctrl.lastSelectedIndex = ctrl.selectedIndex;
ctrl.offsetLeft = fixOffset(ctrl.offsetLeft);
$mdUtil.nextTick(function () {
ctrl.updateInkBarStyles();
updatePagination();
@ -35311,6 +35441,8 @@ function MdTabsController ($scope, $element, $window, $mdConstant, $mdTabInkRipp
elements.canvas = elements.wrapper.querySelector('md-tabs-canvas');
elements.paging = elements.canvas.querySelector('md-pagination-wrapper');
elements.inkBar = elements.paging.querySelector('md-ink-bar');
elements.nextButton = node.querySelector('md-next-button');
elements.prevButton = node.querySelector('md-prev-button');
elements.contents = node.querySelectorAll('md-tabs-content-wrapper > md-tab-content');
elements.tabs = elements.paging.querySelectorAll('md-tab-item');
@ -35324,6 +35456,7 @@ function MdTabsController ($scope, $element, $window, $mdConstant, $mdTabInkRipp
* @returns {boolean}
*/
function canPageBack () {
// This works for both LTR and RTL
return ctrl.offsetLeft > 0;
}
@ -35334,6 +35467,11 @@ function MdTabsController ($scope, $element, $window, $mdConstant, $mdTabInkRipp
function canPageForward () {
var elements = getElements();
var lastTab = elements.tabs[ elements.tabs.length - 1 ];
if (isRtl()) {
return ctrl.offsetLeft < elements.paging.offsetWidth - elements.canvas.offsetWidth;
}
return lastTab && lastTab.offsetLeft + lastTab.offsetWidth > elements.canvas.clientWidth +
ctrl.offsetLeft;
}
@ -35381,7 +35519,7 @@ function MdTabsController ($scope, $element, $window, $mdConstant, $mdTabInkRipp
if (ctrl.noPagination || !loaded) return false;
var canvasWidth = $element.prop('clientWidth');
angular.forEach(getElements().dummies, function (tab) {
angular.forEach(getElements().tabs, function (tab) {
canvasWidth -= tab.offsetWidth;
});
@ -35440,7 +35578,7 @@ function MdTabsController ($scope, $element, $window, $mdConstant, $mdTabInkRipp
* @returns {number}
*/
function calcPagingWidth () {
return calcTabsWidth(getElements().dummies);
return calcTabsWidth(getElements().tabs);
}
function calcTabsWidth(tabs) {
@ -35458,7 +35596,28 @@ function MdTabsController ($scope, $element, $window, $mdConstant, $mdTabInkRipp
}
function getMaxTabWidth () {
return $element.prop('clientWidth');
var elements = getElements(),
containerWidth = elements.canvas.clientWidth,
// See https://material.google.com/components/tabs.html#tabs-specs
specMax = 264;
// Do the spec maximum, or the canvas width; whichever is *smaller* (tabs larger than the canvas
// width can break the pagination) but not less than 0
return Math.max(0, Math.min(containerWidth - 1, specMax));
}
function getMinTabWidth() {
var elements = getElements(),
containerWidth = elements.canvas.clientWidth,
xsBreakpoint = 600,
// See https://material.google.com/components/tabs.html#tabs-specs
specMin = containerWidth > xsBreakpoint ? 160 : 72;
// Do the spec minimum, or the canvas width; whichever is *smaller* (tabs larger than the canvas
// width can break the pagination) but not less than 0
return Math.max(0, Math.min(containerWidth - 1, specMin));
}
/**
@ -35492,12 +35651,12 @@ function MdTabsController ($scope, $element, $window, $mdConstant, $mdTabInkRipp
}
/**
* This is used to forward focus to dummy elements. This method is necessary to avoid animation
* issues when attempting to focus an item that is out of view.
* This is used to forward focus to tab container elements. This method is necessary to avoid
* animation issues when attempting to focus an item that is out of view.
*/
function redirectFocus () {
ctrl.styleTabItemFocus = ($mdInteraction.getLastInteractionType() === 'keyboard');
getElements().dummies[ ctrl.focusIndex ].focus();
getElements().tabs[ ctrl.focusIndex ].focus();
}
/**
@ -35511,9 +35670,25 @@ function MdTabsController ($scope, $element, $window, $mdConstant, $mdTabInkRipp
if (ctrl.shouldCenterTabs) return;
var tab = elements.tabs[ index ],
left = tab.offsetLeft,
right = tab.offsetWidth + left;
ctrl.offsetLeft = Math.max(ctrl.offsetLeft, fixOffset(right - elements.canvas.clientWidth + 32 * 2));
ctrl.offsetLeft = Math.min(ctrl.offsetLeft, fixOffset(left));
right = tab.offsetWidth + left,
extraOffset = 32;
// If we are selecting the first tab (in LTR and RTL), always set the offset to 0
if (index == 0) {
ctrl.offsetLeft = 0;
return;
}
if (isRtl()) {
var tabWidthsBefore = calcTabsWidth(Array.prototype.slice.call(elements.tabs, 0, index));
var tabWidthsIncluding = calcTabsWidth(Array.prototype.slice.call(elements.tabs, 0, index + 1));
ctrl.offsetLeft = Math.min(ctrl.offsetLeft, fixOffset(tabWidthsBefore));
ctrl.offsetLeft = Math.max(ctrl.offsetLeft, fixOffset(tabWidthsIncluding - elements.canvas.clientWidth));
} else {
ctrl.offsetLeft = Math.max(ctrl.offsetLeft, fixOffset(right - elements.canvas.clientWidth + extraOffset));
ctrl.offsetLeft = Math.min(ctrl.offsetLeft, fixOffset(left));
}
}
/**
@ -35670,10 +35845,18 @@ function MdTabsController ($scope, $element, $window, $mdConstant, $mdTabInkRipp
var elements = getElements();
if (!elements.tabs.length || !ctrl.shouldPaginate) return 0;
var lastTab = elements.tabs[ elements.tabs.length - 1 ],
totalWidth = lastTab.offsetLeft + lastTab.offsetWidth;
value = Math.max(0, value);
value = Math.min(totalWidth - elements.canvas.clientWidth, value);
if (isRtl()) {
value = Math.min(elements.paging.offsetWidth - elements.canvas.clientWidth, value);
value = Math.max(0, value);
} else {
value = Math.max(0, value);
value = Math.min(totalWidth - elements.canvas.clientWidth, value);
}
return value;
}
@ -35699,6 +35882,10 @@ function MdTabsController ($scope, $element, $window, $mdConstant, $mdTabInkRipp
angular.element(nodes).attr('aria-controls', ctrl.tabContentPrefix + tab.id);
}
}
function isRtl() {
return ($mdUtil.bidi() == 'rtl');
}
}
})();
@ -35839,27 +36026,28 @@ function MdTabs ($$mdSvgRegistry) {
'<md-icon md-svg-src="'+ $$mdSvgRegistry.mdTabsArrow +'"></md-icon> ' +
'</md-next-button> ' +
'<md-tabs-canvas ' +
'tabindex="{{ $mdTabsCtrl.hasFocus ? -1 : 0 }}" ' +
'aria-activedescendant="{{$mdTabsCtrl.getFocusedTabId()}}" ' +
'ng-focus="$mdTabsCtrl.redirectFocus()" ' +
'ng-class="{ ' +
'\'md-paginated\': $mdTabsCtrl.shouldPaginate, ' +
'\'md-center-tabs\': $mdTabsCtrl.shouldCenterTabs ' +
'}" ' +
'ng-keydown="$mdTabsCtrl.keydown($event)" ' +
'role="tablist"> ' +
'ng-keydown="$mdTabsCtrl.keydown($event)"> ' +
'<md-pagination-wrapper ' +
'ng-class="{ \'md-center-tabs\': $mdTabsCtrl.shouldCenterTabs }" ' +
'md-tab-scroll="$mdTabsCtrl.scroll($event)"> ' +
'md-tab-scroll="$mdTabsCtrl.scroll($event)" ' +
'role="tablist"> ' +
'<md-tab-item ' +
'tabindex="-1" ' +
'tabindex="{{ tab.isActive() ? 0 : -1 }}" ' +
'class="md-tab" ' +
'ng-repeat="tab in $mdTabsCtrl.tabs" ' +
'role="tab" ' +
'id="tab-item-{{::tab.id}}" ' +
'md-tab-id="{{::tab.id}}"' +
'aria-selected="{{tab.isActive()}}" ' +
'aria-disabled="{{tab.scope.disabled || \'false\'}}" ' +
'ng-click="$mdTabsCtrl.select(tab.getIndex())" ' +
'ng-focus="$mdTabsCtrl.hasFocus = true" ' +
'ng-blur="$mdTabsCtrl.hasFocus = false" ' +
'ng-class="{ ' +
'\'md-active\': tab.isActive(), ' +
'\'md-focused\': tab.hasFocus(), ' +
@ -35872,16 +36060,10 @@ function MdTabs ($$mdSvgRegistry) {
'md-scope="::tab.parent"></md-tab-item> ' +
'<md-ink-bar></md-ink-bar> ' +
'</md-pagination-wrapper> ' +
'<md-tabs-dummy-wrapper class="md-visually-hidden md-dummy-wrapper"> ' +
'<md-tabs-dummy-wrapper aria-hidden="true" class="md-visually-hidden md-dummy-wrapper"> ' +
'<md-dummy-tab ' +
'class="md-tab" ' +
'tabindex="-1" ' +
'id="tab-item-{{::tab.id}}" ' +
'md-tab-id="{{::tab.id}}"' +
'aria-selected="{{tab.isActive()}}" ' +
'aria-disabled="{{tab.scope.disabled || \'false\'}}" ' +
'ng-focus="$mdTabsCtrl.hasFocus = true" ' +
'ng-blur="$mdTabsCtrl.hasFocus = false" ' +
'ng-repeat="tab in $mdTabsCtrl.tabs" ' +
'md-tabs-template="::tab.label" ' +
'md-scope="::tab.parent"></md-dummy-tab> ' +
@ -36032,4 +36214,4 @@ angular.module("material.core").constant("$MD_THEME_CSS", "md-autocomplete.md-TH
})();
})(window, window.angular);;window.ngMaterial={version:{full: "1.1.4-master-e1345ae"}};
})(window, window.angular);;window.ngMaterial={version:{full: "1.1.4-master-75237c6"}};

File diff suppressed because one or more lines are too long

View File

@ -4,7 +4,7 @@
* This causes it to be incompatible with plugins that depend on @uirouter/core.
* We recommend switching to the ui-router-core.js and ui-router-angularjs.js bundles instead.
* For more information, see http://ui-router.github.io/blog/angular-ui-router-umd-bundles
* @version v1.0.4
* @version v1.0.5
* @link https://ui-router.github.io
* @license MIT License, http://www.opensource.org/licenses/MIT
*/
@ -429,16 +429,16 @@ var StateObject = (function () {
StateObject.prototype.toString = function () {
return this.fqn();
};
/** Predicate which returns true if the object is an class with @State() decorator */
StateObject.isStateClass = function (stateDecl) {
return isFunction(stateDecl) && stateDecl['__uiRouterState'] === true;
};
/** Predicate which returns true if the object is an internal [[StateObject]] object */
StateObject.isState = function (obj) {
return isObject(obj['__stateObjectCache']);
};
return StateObject;
}());
/** Predicate which returns true if the object is an class with @State() decorator */
StateObject.isStateClass = function (stateDecl) {
return isFunction(stateDecl) && stateDecl['__uiRouterState'] === true;
};
/** Predicate which returns true if the object is an internal [[StateObject]] object */
StateObject.isState = function (obj) {
return isObject(obj['__stateObjectCache']);
};
/** Predicates
*
@ -1247,17 +1247,17 @@ var Rejection = (function () {
* @module trace
*/ /** for typedoc */
/** @hidden */
function uiViewString(viewData) {
if (!viewData)
function uiViewString(uiview) {
if (!uiview)
return 'ui-view (defunct)';
return "[ui-view#" + viewData.id + " tag " +
("in template from '" + (viewData.creationContext && viewData.creationContext.name || '(root)') + "' state]: ") +
("fqn: '" + viewData.fqn + "', ") +
("name: '" + viewData.name + "@" + viewData.creationContext + "')");
var state = uiview.creationContext ? uiview.creationContext.name || '(root)' : '(none)';
return "[ui-view#" + uiview.id + " " + uiview.$type + ":" + uiview.fqn + " (" + uiview.name + "@" + state + ")]";
}
/** @hidden */
var viewConfigString = function (viewConfig) {
return "[ViewConfig#" + viewConfig.$id + " from '" + (viewConfig.viewDecl.$context.name || '(root)') + "' state]: target ui-view: '" + viewConfig.viewDecl.$uiViewName + "@" + viewConfig.viewDecl.$uiViewContextAnchor + "'";
var view = viewConfig.viewDecl;
var state = view.$context.name || '(root)';
return "[View#" + viewConfig.$id + " from '" + state + "' state]: target ui-view: '" + view.$uiViewName + "@" + view.$uiViewContextAnchor + "'";
};
/** @hidden */
function normalizedCat(input) {
@ -1308,16 +1308,6 @@ var Trace = (function () {
}
categories.map(normalizedCat).forEach(function (category) { return _this._enabled[category] = enabled; });
};
/**
* Enables a trace [[Category]]
*
* ```js
* trace.enable("TRANSITION");
* ```
*
* @param categories categories to enable. If `categories` is omitted, all categories are enabled.
* Also takes strings (category name) or ordinal (category position)
*/
Trace.prototype.enable = function () {
var categories = [];
for (var _i = 0; _i < arguments.length; _i++) {
@ -1325,16 +1315,6 @@ var Trace = (function () {
}
this._set(true, categories);
};
/**
* Disables a trace [[Category]]
*
* ```js
* trace.disable("VIEWCONFIG");
* ```
*
* @param categories categories to disable. If `categories` is omitted, all categories are disabled.
* Also takes strings (category name) or ordinal (category position)
*/
Trace.prototype.disable = function () {
var categories = [];
for (var _i = 0; _i < arguments.length; _i++) {
@ -1423,6 +1403,18 @@ var Trace = (function () {
this.traceUIViewEvent("Fill", viewData, " with: " + maxLength(200, html));
};
/** @internalapi called by ui-router code */
Trace.prototype.traceViewSync = function (pairs) {
if (!this.enabled(exports.Category.VIEWCONFIG))
return;
var mapping = pairs.map(function (_a) {
var uiViewData = _a[0], config = _a[1];
var uiView = uiViewData.$type + ":" + uiViewData.fqn;
var view = config && config.viewDecl.$context.name + ": " + config.viewDecl.$name + " (" + config.viewDecl.$type + ")";
return { 'ui-view fqn': uiView, 'state: view name': view };
}).sort(function (a, b) { return a['ui-view fqn'].localeCompare(b['ui-view fqn']); });
console.table(mapping);
};
/** @internalapi called by ui-router code */
Trace.prototype.traceViewServiceEvent = function (event, viewConfig) {
if (!this.enabled(exports.Category.VIEWCONFIG))
return;
@ -1562,12 +1554,12 @@ var TargetState = (function () {
TargetState.prototype.toString = function () {
return "'" + this.name() + "'" + toJson(this.params());
};
/** Returns true if the object has a state property that might be a state or state name */
TargetState.isDef = function (obj) {
return obj && obj.state && (isString(obj.state) || isString(obj.state.name));
};
return TargetState;
}());
/** Returns true if the object has a state property that might be a state or state name */
TargetState.isDef = function (obj) {
return obj && obj.state && (isString(obj.state) || isString(obj.state.name));
};
/**
* @coreapi
@ -1744,38 +1736,38 @@ var TransitionHook = (function () {
TransitionHook.runAllHooks = function (hooks) {
hooks.forEach(function (hook) { return hook.invokeHook(); });
};
/**
* These GetResultHandler(s) are used by [[invokeHook]] below
* Each HookType chooses a GetResultHandler (See: [[TransitionService._defineCoreEvents]])
*/
TransitionHook.HANDLE_RESULT = function (hook) { return function (result) {
return hook.handleHookResult(result);
}; };
/**
* If the result is a promise rejection, log it.
* Otherwise, ignore the result.
*/
TransitionHook.LOG_REJECTED_RESULT = function (hook) { return function (result) {
isPromise(result) && result.catch(function (err) {
return hook.logError(Rejection.normalize(err));
});
return undefined;
}; };
/**
* These GetErrorHandler(s) are used by [[invokeHook]] below
* Each HookType chooses a GetErrorHandler (See: [[TransitionService._defineCoreEvents]])
*/
TransitionHook.LOG_ERROR = function (hook) { return function (error) {
return hook.logError(error);
}; };
TransitionHook.REJECT_ERROR = function (hook) { return function (error) {
return silentRejection(error);
}; };
TransitionHook.THROW_ERROR = function (hook) { return function (error) {
throw error;
}; };
return TransitionHook;
}());
/**
* These GetResultHandler(s) are used by [[invokeHook]] below
* Each HookType chooses a GetResultHandler (See: [[TransitionService._defineCoreEvents]])
*/
TransitionHook.HANDLE_RESULT = function (hook) { return function (result) {
return hook.handleHookResult(result);
}; };
/**
* If the result is a promise rejection, log it.
* Otherwise, ignore the result.
*/
TransitionHook.LOG_REJECTED_RESULT = function (hook) { return function (result) {
isPromise(result) && result.catch(function (err) {
return hook.logError(Rejection.normalize(err));
});
return undefined;
}; };
/**
* These GetErrorHandler(s) are used by [[invokeHook]] below
* Each HookType chooses a GetErrorHandler (See: [[TransitionService._defineCoreEvents]])
*/
TransitionHook.LOG_ERROR = function (hook) { return function (error) {
return hook.logError(error);
}; };
TransitionHook.REJECT_ERROR = function (hook) { return function (error) {
return silentRejection(error);
}; };
TransitionHook.THROW_ERROR = function (hook) { return function (error) {
throw error;
}; };
/**
* @coreapi
@ -2589,16 +2581,16 @@ var PathUtils = (function () {
var elementIdx = path.indexOf(node);
return elementIdx === -1 ? undefined : path.slice(0, elementIdx + 1);
};
PathUtils.nonDynamicParams = function (node) {
return node.state.parameters({ inherit: false })
.filter(function (param) { return !param.dynamic; });
};
/** Gets the raw parameter values from a path */
PathUtils.paramValues = function (path) {
return path.reduce(function (acc, node) { return extend(acc, node.paramValues); }, {});
};
return PathUtils;
}());
PathUtils.nonDynamicParams = function (node) {
return node.state.parameters({ inherit: false })
.filter(function (param) { return !param.dynamic; });
};
/** Gets the raw parameter values from a path */
PathUtils.paramValues = function (path) {
return path.reduce(function (acc, node) { return extend(acc, node.paramValues); }, {});
};
/**
* @coreapi
@ -2629,7 +2621,7 @@ var Resolvable = (function () {
extend(this, arg1);
}
else if (isFunction(resolveFn)) {
if (arg1 == null || arg1 == undefined)
if (isNullOrUndefined(arg1))
throw new Error("new Resolvable(): token argument is required");
if (!isFunction(resolveFn))
throw new Error("new Resolvable(): resolveFn argument must be a function");
@ -2719,11 +2711,11 @@ var Resolvable = (function () {
Resolvable.prototype.clone = function () {
return new Resolvable(this);
};
Resolvable.fromData = function (token, data) {
return new Resolvable(token, function () { return data; }, null, null, data);
};
return Resolvable;
}());
Resolvable.fromData = function (token, data) {
return new Resolvable(token, function () { return data; }, null, null, data);
};
/** @internalapi */
var resolvePolicies = {
@ -3535,10 +3527,10 @@ var Transition = (function () {
var id = this.$id, from = isObject(fromStateOrName) ? fromStateOrName.name : fromStateOrName, fromParams = toJson(avoidEmptyHash(this._treeChanges.from.map(prop('paramValues')).reduce(mergeR, {}))), toValid = this.valid() ? "" : "(X) ", to = isObject(toStateOrName) ? toStateOrName.name : toStateOrName, toParams = toJson(avoidEmptyHash(this.params()));
return "Transition#" + id + "( '" + from + "'" + fromParams + " -> " + toValid + "'" + to + "'" + toParams + " )";
};
/** @hidden */
Transition.diToken = Transition;
return Transition;
}());
/** @hidden */
Transition.diToken = Transition;
/**
* Functions that manipulate strings
@ -4100,15 +4092,20 @@ var StateBuilder = (function () {
return state;
};
StateBuilder.prototype.parentName = function (state) {
// name = 'foo.bar.baz.**'
var name = state.name || "";
// segments = ['foo', 'bar', 'baz', '.**']
var segments = name.split('.');
if (segments.length > 1) {
// segments = ['foo', 'bar', 'baz']
var lastSegment = segments.pop();
// segments = ['foo', 'bar'] (ignore .** segment for future states)
if (lastSegment === '**')
segments.pop();
if (segments.length) {
if (state.parent) {
throw new Error("States that specify the 'parent:' property should not have a '.' in their name (" + name + ")");
}
var lastSegment = segments.pop();
if (lastSegment === '**')
segments.pop();
// 'foo.bar'
return segments.join(".");
}
if (!state.parent)
@ -4550,7 +4547,7 @@ var UrlMatcher = (function () {
var matchDetails = function (m, isSearch) {
// IE[78] returns '' for unmatched groups instead of null
var id = m[2] || m[3];
var regexp = isSearch ? m[4] : m[4] || (m[1] === '*' ? '.*' : null);
var regexp = isSearch ? m[4] : m[4] || (m[1] === '*' ? '[\\s\\S]*' : null);
var makeRegexpType = function (regexp) { return inherit(paramTypes.type(isSearch ? "query" : "path"), {
pattern: new RegExp(regexp, _this.config.caseInsensitive ? 'i' : undefined)
}); };
@ -4906,10 +4903,10 @@ var UrlMatcher = (function () {
}
return 0;
};
/** @hidden */
UrlMatcher.nameValidator = /^\w+([-.]+\w+)*(?:\[\])?$/;
return UrlMatcher;
}());
/** @hidden */
UrlMatcher.nameValidator = /^\w+([-.]+\w+)*(?:\[\])?$/;
/**
* @internalapi
@ -5209,11 +5206,11 @@ var UrlRuleFactory = (function () {
var details = { regexp: regexp, type: "REGEXP" };
return extend(new BaseUrlRule(match, _handler), details);
};
UrlRuleFactory.isUrlRule = function (obj) {
return obj && ['type', 'match', 'handler'].every(function (key) { return isDefined(obj[key]); });
};
return UrlRuleFactory;
}());
UrlRuleFactory.isUrlRule = function (obj) {
return obj && ['type', 'match', 'handler'].every(function (key) { return isDefined(obj[key]); });
};
/**
* A base rule which calls `match`
*
@ -5597,7 +5594,9 @@ var ViewService = (function () {
uiView.configUpdated(viewConfig);
};
// Sort views by FQN and state depth. Process uiviews nearest the root first.
this._uiViews.sort(depthCompare(uiViewDepth, 1)).map(matchingConfigPair).forEach(configureUIView);
var pairs$$1 = this._uiViews.sort(depthCompare(uiViewDepth, 1)).map(matchingConfigPair);
trace.traceViewSync(pairs$$1);
pairs$$1.forEach(configureUIView);
};
/**
@ -5618,8 +5617,8 @@ var ViewService = (function () {
ViewService.prototype.registerUIView = function (uiView) {
trace.traceViewServiceUIViewEvent("-> Registering", uiView);
var uiViews = this._uiViews;
var fqnMatches = function (uiv) { return uiv.fqn === uiView.fqn; };
if (uiViews.filter(fqnMatches).length)
var fqnAndTypeMatches = function (uiv) { return uiv.fqn === uiView.fqn && uiv.$type === uiView.$type; };
if (uiViews.filter(fqnAndTypeMatches).length)
trace.traceViewServiceUIViewEvent("!!!! duplicate uiView named:", uiView);
uiViews.push(uiView);
this.sync();
@ -5692,84 +5691,84 @@ var ViewService = (function () {
}
return { uiViewName: uiViewName, uiViewContextAnchor: uiViewContextAnchor };
};
/**
* Given a ui-view and a ViewConfig, determines if they "match".
*
* A ui-view has a fully qualified name (fqn) and a context object. The fqn is built from its overall location in
* the DOM, describing its nesting relationship to any parent ui-view tags it is nested inside of.
*
* A ViewConfig has a target ui-view name and a context anchor. The ui-view name can be a simple name, or
* can be a segmented ui-view path, describing a portion of a ui-view fqn.
*
* In order for a ui-view to match ViewConfig, ui-view's $type must match the ViewConfig's $type
*
* If the ViewConfig's target ui-view name is a simple name (no dots), then a ui-view matches if:
* - the ui-view's name matches the ViewConfig's target name
* - the ui-view's context matches the ViewConfig's anchor
*
* If the ViewConfig's target ui-view name is a segmented name (with dots), then a ui-view matches if:
* - There exists a parent ui-view where:
* - the parent ui-view's name matches the first segment (index 0) of the ViewConfig's target name
* - the parent ui-view's context matches the ViewConfig's anchor
* - And the remaining segments (index 1..n) of the ViewConfig's target name match the tail of the ui-view's fqn
*
* Example:
*
* DOM:
* <ui-view> <!-- created in the root context (name: "") -->
* <ui-view name="foo"> <!-- created in the context named: "A" -->
* <ui-view> <!-- created in the context named: "A.B" -->
* <ui-view name="bar"> <!-- created in the context named: "A.B.C" -->
* </ui-view>
* </ui-view>
* </ui-view>
* </ui-view>
*
* uiViews: [
* { fqn: "$default", creationContext: { name: "" } },
* { fqn: "$default.foo", creationContext: { name: "A" } },
* { fqn: "$default.foo.$default", creationContext: { name: "A.B" } }
* { fqn: "$default.foo.$default.bar", creationContext: { name: "A.B.C" } }
* ]
*
* These four view configs all match the ui-view with the fqn: "$default.foo.$default.bar":
*
* - ViewConfig1: { uiViewName: "bar", uiViewContextAnchor: "A.B.C" }
* - ViewConfig2: { uiViewName: "$default.bar", uiViewContextAnchor: "A.B" }
* - ViewConfig3: { uiViewName: "foo.$default.bar", uiViewContextAnchor: "A" }
* - ViewConfig4: { uiViewName: "$default.foo.$default.bar", uiViewContextAnchor: "" }
*
* Using ViewConfig3 as an example, it matches the ui-view with fqn "$default.foo.$default.bar" because:
* - The ViewConfig's segmented target name is: [ "foo", "$default", "bar" ]
* - There exists a parent ui-view (which has fqn: "$default.foo") where:
* - the parent ui-view's name "foo" matches the first segment "foo" of the ViewConfig's target name
* - the parent ui-view's context "A" matches the ViewConfig's anchor context "A"
* - And the remaining segments [ "$default", "bar" ].join("."_ of the ViewConfig's target name match
* the tail of the ui-view's fqn "default.bar"
*
* @internalapi
*/
ViewService.matches = function (uiViewsByFqn, uiView) { return function (viewConfig) {
// Don't supply an ng1 ui-view with an ng2 ViewConfig, etc
if (uiView.$type !== viewConfig.viewDecl.$type)
return false;
// Split names apart from both viewConfig and uiView into segments
var vc = viewConfig.viewDecl;
var vcSegments = vc.$uiViewName.split(".");
var uivSegments = uiView.fqn.split(".");
// Check if the tails of the segment arrays match. ex, these arrays' tails match:
// vc: ["foo", "bar"], uiv fqn: ["$default", "foo", "bar"]
if (!equals(vcSegments, uivSegments.slice(0 - vcSegments.length)))
return false;
// Now check if the fqn ending at the first segment of the viewConfig matches the context:
// ["$default", "foo"].join(".") == "$default.foo", does the ui-view $default.foo context match?
var negOffset = (1 - vcSegments.length) || undefined;
var fqnToFirstSegment = uivSegments.slice(0, negOffset).join(".");
var uiViewContext = uiViewsByFqn[fqnToFirstSegment].creationContext;
return vc.$uiViewContextAnchor === (uiViewContext && uiViewContext.name);
}; };
return ViewService;
}());
/**
* Given a ui-view and a ViewConfig, determines if they "match".
*
* A ui-view has a fully qualified name (fqn) and a context object. The fqn is built from its overall location in
* the DOM, describing its nesting relationship to any parent ui-view tags it is nested inside of.
*
* A ViewConfig has a target ui-view name and a context anchor. The ui-view name can be a simple name, or
* can be a segmented ui-view path, describing a portion of a ui-view fqn.
*
* In order for a ui-view to match ViewConfig, ui-view's $type must match the ViewConfig's $type
*
* If the ViewConfig's target ui-view name is a simple name (no dots), then a ui-view matches if:
* - the ui-view's name matches the ViewConfig's target name
* - the ui-view's context matches the ViewConfig's anchor
*
* If the ViewConfig's target ui-view name is a segmented name (with dots), then a ui-view matches if:
* - There exists a parent ui-view where:
* - the parent ui-view's name matches the first segment (index 0) of the ViewConfig's target name
* - the parent ui-view's context matches the ViewConfig's anchor
* - And the remaining segments (index 1..n) of the ViewConfig's target name match the tail of the ui-view's fqn
*
* Example:
*
* DOM:
* <ui-view> <!-- created in the root context (name: "") -->
* <ui-view name="foo"> <!-- created in the context named: "A" -->
* <ui-view> <!-- created in the context named: "A.B" -->
* <ui-view name="bar"> <!-- created in the context named: "A.B.C" -->
* </ui-view>
* </ui-view>
* </ui-view>
* </ui-view>
*
* uiViews: [
* { fqn: "$default", creationContext: { name: "" } },
* { fqn: "$default.foo", creationContext: { name: "A" } },
* { fqn: "$default.foo.$default", creationContext: { name: "A.B" } }
* { fqn: "$default.foo.$default.bar", creationContext: { name: "A.B.C" } }
* ]
*
* These four view configs all match the ui-view with the fqn: "$default.foo.$default.bar":
*
* - ViewConfig1: { uiViewName: "bar", uiViewContextAnchor: "A.B.C" }
* - ViewConfig2: { uiViewName: "$default.bar", uiViewContextAnchor: "A.B" }
* - ViewConfig3: { uiViewName: "foo.$default.bar", uiViewContextAnchor: "A" }
* - ViewConfig4: { uiViewName: "$default.foo.$default.bar", uiViewContextAnchor: "" }
*
* Using ViewConfig3 as an example, it matches the ui-view with fqn "$default.foo.$default.bar" because:
* - The ViewConfig's segmented target name is: [ "foo", "$default", "bar" ]
* - There exists a parent ui-view (which has fqn: "$default.foo") where:
* - the parent ui-view's name "foo" matches the first segment "foo" of the ViewConfig's target name
* - the parent ui-view's context "A" matches the ViewConfig's anchor context "A"
* - And the remaining segments [ "$default", "bar" ].join("."_ of the ViewConfig's target name match
* the tail of the ui-view's fqn "default.bar"
*
* @internalapi
*/
ViewService.matches = function (uiViewsByFqn, uiView) { return function (viewConfig) {
// Don't supply an ng1 ui-view with an ng2 ViewConfig, etc
if (uiView.$type !== viewConfig.viewDecl.$type)
return false;
// Split names apart from both viewConfig and uiView into segments
var vc = viewConfig.viewDecl;
var vcSegments = vc.$uiViewName.split(".");
var uivSegments = uiView.fqn.split(".");
// Check if the tails of the segment arrays match. ex, these arrays' tails match:
// vc: ["foo", "bar"], uiv fqn: ["$default", "foo", "bar"]
if (!equals(vcSegments, uivSegments.slice(0 - vcSegments.length)))
return false;
// Now check if the fqn ending at the first segment of the viewConfig matches the context:
// ["$default", "foo"].join(".") == "$default.foo", does the ui-view $default.foo context match?
var negOffset = (1 - vcSegments.length) || undefined;
var fqnToFirstSegment = uivSegments.slice(0, negOffset).join(".");
var uiViewContext = uiViewsByFqn[fqnToFirstSegment].creationContext;
return vc.$uiViewContextAnchor === (uiViewContext && uiViewContext.name);
}; };
/**
* @coreapi
@ -5872,12 +5871,12 @@ var UrlService = (function () {
UrlService.prototype.deferIntercept = function (defer) { return; };
/** @inheritdoc */
UrlService.prototype.match = function (urlParts) { return; };
/** @hidden */
UrlService.locationServiceStub = makeStub(locationServicesFns);
/** @hidden */
UrlService.locationConfigStub = makeStub(locationConfigFns);
return UrlService;
}());
/** @hidden */
UrlService.locationServiceStub = makeStub(locationServicesFns);
/** @hidden */
UrlService.locationConfigStub = makeStub(locationConfigFns);
/**
* @coreapi
@ -8654,7 +8653,7 @@ function runBlock($injector$$1, $q$$1, $uiRouter) {
.map(function (x) { return x.$$state().resolvables; })
.reduce(unnestR, [])
.filter(function (x) { return x.deps === "deferred"; })
.forEach(function (resolvable) { return resolvable.deps = $injector$$1.annotate(resolvable.resolveFn); });
.forEach(function (resolvable) { return resolvable.deps = $injector$$1.annotate(resolvable.resolveFn, $injector$$1.strictDi); });
}
// $urlRouter service and $urlRouterProvider
var getUrlRouterProvider = function (uiRouter) {

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long