diff --git a/angular-semantic-ui.js b/angular-semantic-ui.js
index f9f5440..e537b75 100644
--- a/angular-semantic-ui.js
+++ b/angular-semantic-ui.js
@@ -396,6 +396,117 @@ angular.module('semantic-ui', [
})( angular.module('semantic-ui-core', []) );
+(function(app)
+{
+
+ app
+ .factory('SemanticAccordionLink', ['SemanticUI', SemanticAccordionLink])
+ .directive('smAccordionBind', ['SemanticUI', SemanticAccordionBind])
+ .directive('smAccordion', ['SemanticAccordionLink', SemanticAccordion])
+ .directive('smAccordionGroup', SemanticAccordionGroup)
+ ;
+
+ var BEHAVIORS = {
+ smAccordionOpen: 'open',
+ smAccordionCloseOthers: 'close others',
+ smAccordionClose: 'close',
+ smAccordionToggle: 'toggle'
+ };
+
+ angular.forEach( BEHAVIORS, function(method, directive)
+ {
+ app.directive( directive, ['SemanticUI', function(SemanticUI)
+ {
+ return SemanticUI.createBehavior( directive, 'accordion', method );
+ }]);
+ });
+
+ function SemanticAccordionBind(SemanticUI)
+ {
+ return SemanticUI.createBind( 'smAccordionBind', 'accordion' );
+ }
+
+ function SemanticAccordion(SemanticAccordionLink)
+ {
+ return {
+
+ restrict: 'E',
+
+ replace: true,
+
+ transclude: true,
+
+ scope: {
+ /* Optional */
+ settings: '=',
+ onInit: '=',
+ /* Events */
+ onOpening: '=',
+ onOpen: '=',
+ onClosing: '=',
+ onClose: '=',
+ onChange: '='
+ },
+
+ template: '
',
+
+ link: SemanticAccordionLink
+ };
+ }
+
+ function SemanticAccordionLink(SemanticUI)
+ {
+ return function(scope, element, attributes)
+ {
+ element.ready(function()
+ {
+ var settings = scope.settings || {};
+
+ SemanticUI.linkSettings( scope, element, attributes, 'accordion', true );
+
+ SemanticUI.linkEvents( scope, settings, $.fn.accordion.settings, {
+ onOpening: 'onOpening',
+ onOpen: 'onOpen',
+ onClosing: 'onClosing',
+ onClose: 'onClose',
+ onChange: 'onChange'
+ });
+
+ element.accordion( settings );
+
+ if ( angular.isFunction( scope.onInit ) )
+ {
+ scope.onInit( element );
+ }
+ });
+ };
+ }
+
+ function SemanticAccordionGroup()
+ {
+ return {
+ restrict: 'E',
+ required: 'title',
+ transclude: true,
+ scope: {
+ /* Required */
+ title: '=',
+ /* Optional */
+ active: '='
+ },
+ template: [
+ '',
+ ' ',
+ ' {{ title }}',
+ '
',
+ '',
+ '
'
+ ].join('\n')
+ }
+ }
+
+})( angular.module('semantic-ui-accordion', ['semantic-ui-core']) );
+
(function(app)
{
@@ -781,117 +892,6 @@ angular.module('semantic-ui', [
})( angular.module('semantic-ui-radio', ['semantic-ui-core']) );
-(function(app)
-{
-
- app
- .factory('SemanticAccordionLink', ['SemanticUI', SemanticAccordionLink])
- .directive('smAccordionBind', ['SemanticUI', SemanticAccordionBind])
- .directive('smAccordion', ['SemanticAccordionLink', SemanticAccordion])
- .directive('smAccordionGroup', SemanticAccordionGroup)
- ;
-
- var BEHAVIORS = {
- smAccordionOpen: 'open',
- smAccordionCloseOthers: 'close others',
- smAccordionClose: 'close',
- smAccordionToggle: 'toggle'
- };
-
- angular.forEach( BEHAVIORS, function(method, directive)
- {
- app.directive( directive, ['SemanticUI', function(SemanticUI)
- {
- return SemanticUI.createBehavior( directive, 'accordion', method );
- }]);
- });
-
- function SemanticAccordionBind(SemanticUI)
- {
- return SemanticUI.createBind( 'smAccordionBind', 'accordion' );
- }
-
- function SemanticAccordion(SemanticAccordionLink)
- {
- return {
-
- restrict: 'E',
-
- replace: true,
-
- transclude: true,
-
- scope: {
- /* Optional */
- settings: '=',
- onInit: '=',
- /* Events */
- onOpening: '=',
- onOpen: '=',
- onClosing: '=',
- onClose: '=',
- onChange: '='
- },
-
- template: '',
-
- link: SemanticAccordionLink
- };
- }
-
- function SemanticAccordionLink(SemanticUI)
- {
- return function(scope, element, attributes)
- {
- element.ready(function()
- {
- var settings = scope.settings || {};
-
- SemanticUI.linkSettings( scope, element, attributes, 'accordion', true );
-
- SemanticUI.linkEvents( scope, settings, $.fn.accordion.settings, {
- onOpening: 'onOpening',
- onOpen: 'onOpen',
- onClosing: 'onClosing',
- onClose: 'onClose',
- onChange: 'onChange'
- });
-
- element.accordion( settings );
-
- if ( angular.isFunction( scope.onInit ) )
- {
- scope.onInit( element );
- }
- });
- };
- }
-
- function SemanticAccordionGroup()
- {
- return {
- restrict: 'E',
- required: 'title',
- transclude: true,
- scope: {
- /* Required */
- title: '=',
- /* Optional */
- active: '='
- },
- template: [
- '',
- ' ',
- ' {{ title }}',
- '
',
- '',
- '
'
- ].join('\n')
- }
- }
-
-})( angular.module('semantic-ui-accordion', ['semantic-ui-core']) );
-
(function(app)
{
@@ -1029,145 +1029,44 @@ angular.module('semantic-ui', [
{
app
- .factory('SemanticDimmerLink', ['SemanticUI', SemanticDimmerLink])
- .directive('smDimmerBind', ['SemanticUI', SemanticDimmerBind])
- .directive('smDimmer', ['SemanticDimmerLink', SemanticDimmer])
+ .controller('SemanticDropdownController', ['$scope', SemanticDropdownController])
+ .factory('SemanticDropdownLink', ['SemanticUI', '$timeout', SemanticDropdownLink])
+ .directive('smDropdownBind', ['SemanticUI', SemanticDropdownBind])
+ .directive('smDropdown', ['SemanticDropdownLink', SemanticDropdown])
;
var BEHAVIORS = {
- smDimmerShow: 'show',
- smDimmerHide: 'hide',
- smDimmerToggle: 'toggle'
+ smDropdownToggle: 'toggle',
+ smDropdownShow: 'show',
+ smDropdownHide: 'hide',
+ smDropdownClear: 'clear',
+ smDropdownHideOthers: 'hide others',
+ smDropdownRestoreDefaults: 'restore defaults',
+ smDropdownRestoreDefaultText: 'restore default text',
+ smDropdownRestoreDefaultValue: 'restore default value',
+ smDropdownSaveDefaults: 'save defaults',
+ smDropdownSetSelected: 'set selected',
+ smDropdownSetText: 'set text',
+ smDropdownSetValue: 'set value',
+ smDropdownBindTouchEvents: 'bind touch events',
+ smDropdownMouseEvents: 'mouse events',
+ smDropdownBindIntent: 'bind intent',
+ smDropdownUnbindIntent: 'unbind intent',
+ smDropdownSetActive: 'set active',
+ smDropdownSetVisible: 'set visible',
+ smDropdownRemoveActive: 'remove active',
+ smDropdownRemoveVisible: 'remove visible'
};
angular.forEach( BEHAVIORS, function(method, directive)
{
app.directive( directive, ['SemanticUI', function(SemanticUI)
{
- return SemanticUI.createBehavior( directive, 'dimmer', method );
+ return SemanticUI.createBehavior( directive, 'dropdown', method );
}]);
});
- function SemanticDimmerBind(SemanticUI)
- {
- return SemanticUI.createBind( 'smDimmerBind', 'dimmer' );
- }
-
- function SemanticDimmer(SemanticDimmerLink)
- {
- return {
-
- restrict: 'E',
-
- replace: true,
-
- transclude: true,
-
- scope: {
- /* Optional */
- visible: '=',
- settings: '=',
- onInit: '=',
- /* Events */
- onShow: '=',
- onHide: '=',
- onChange: '='
- },
-
- template: '',
-
- link: SemanticDimmerLink
- };
- }
-
- function SemanticDimmerLink(SemanticUI)
- {
- return function(scope, element, attributes)
- {
- var settings = scope.settings || {};
-
- SemanticUI.linkSettings( scope, element, attributes, 'dimmer' );
-
- // If the visible attribute is specified, listen to onHide and update modal when variable changes.
- if ( attributes.visible )
- {
- var visibleWatcher = SemanticUI.watcher( scope, 'visible',
- function(updated) {
- element.dimmer( updated ? 'show' : 'hide' );
- }
- );
-
- SemanticUI.onEvent( settings, 'onShow',
- function(value) {
- visibleWatcher.set( true );
- }
- );
-
- SemanticUI.onEvent( settings, 'onHide',
- function(value) {
- visibleWatcher.set( false );
- }
- );
- }
-
- SemanticUI.linkEvents( scope, settings, $.fn.dimmer.settings, {
- onShow: 'onShow',
- onHide: 'onHide',
- onChange: 'onChange'
- });
-
- element.dimmer( settings );
-
- if ( angular.isFunction( scope.onInit ) ) {
- scope.onInit( element );
- }
- };
- }
-
-})( angular.module('semantic-ui-dimmer', ['semantic-ui-core']) );
-
-(function(app)
-{
-
- app
- .controller('SemanticDropdownController', ['$scope', SemanticDropdownController])
- .factory('SemanticDropdownLink', ['SemanticUI', '$timeout', SemanticDropdownLink])
- .directive('smDropdownBind', ['SemanticUI', SemanticDropdownBind])
- .directive('smDropdown', ['SemanticDropdownLink', SemanticDropdown])
- ;
-
- var BEHAVIORS = {
- smDropdownToggle: 'toggle',
- smDropdownShow: 'show',
- smDropdownHide: 'hide',
- smDropdownClear: 'clear',
- smDropdownHideOthers: 'hide others',
- smDropdownRestoreDefaults: 'restore defaults',
- smDropdownRestoreDefaultText: 'restore default text',
- smDropdownRestoreDefaultValue: 'restore default value',
- smDropdownSaveDefaults: 'save defaults',
- smDropdownSetSelected: 'set selected',
- smDropdownSetText: 'set text',
- smDropdownSetValue: 'set value',
- smDropdownBindTouchEvents: 'bind touch events',
- smDropdownMouseEvents: 'mouse events',
- smDropdownBindIntent: 'bind intent',
- smDropdownUnbindIntent: 'unbind intent',
- smDropdownSetActive: 'set active',
- smDropdownSetVisible: 'set visible',
- smDropdownRemoveActive: 'remove active',
- smDropdownRemoveVisible: 'remove visible'
- };
-
- angular.forEach( BEHAVIORS, function(method, directive)
- {
- app.directive( directive, ['SemanticUI', function(SemanticUI)
- {
- return SemanticUI.createBehavior( directive, 'dropdown', method );
- }]);
- });
-
- function SemanticDropdownBind(SemanticUI)
+ function SemanticDropdownBind(SemanticUI)
{
return SemanticUI.createBind( 'smDropdownBind', 'dropdown' );
}
@@ -1449,6 +1348,107 @@ angular.module('semantic-ui', [
})( angular.module('semantic-ui-dropdown', ['semantic-ui-core']) );
+(function(app)
+{
+
+ app
+ .factory('SemanticDimmerLink', ['SemanticUI', SemanticDimmerLink])
+ .directive('smDimmerBind', ['SemanticUI', SemanticDimmerBind])
+ .directive('smDimmer', ['SemanticDimmerLink', SemanticDimmer])
+ ;
+
+ var BEHAVIORS = {
+ smDimmerShow: 'show',
+ smDimmerHide: 'hide',
+ smDimmerToggle: 'toggle'
+ };
+
+ angular.forEach( BEHAVIORS, function(method, directive)
+ {
+ app.directive( directive, ['SemanticUI', function(SemanticUI)
+ {
+ return SemanticUI.createBehavior( directive, 'dimmer', method );
+ }]);
+ });
+
+ function SemanticDimmerBind(SemanticUI)
+ {
+ return SemanticUI.createBind( 'smDimmerBind', 'dimmer' );
+ }
+
+ function SemanticDimmer(SemanticDimmerLink)
+ {
+ return {
+
+ restrict: 'E',
+
+ replace: true,
+
+ transclude: true,
+
+ scope: {
+ /* Optional */
+ visible: '=',
+ settings: '=',
+ onInit: '=',
+ /* Events */
+ onShow: '=',
+ onHide: '=',
+ onChange: '='
+ },
+
+ template: '',
+
+ link: SemanticDimmerLink
+ };
+ }
+
+ function SemanticDimmerLink(SemanticUI)
+ {
+ return function(scope, element, attributes)
+ {
+ var settings = scope.settings || {};
+
+ SemanticUI.linkSettings( scope, element, attributes, 'dimmer' );
+
+ // If the visible attribute is specified, listen to onHide and update modal when variable changes.
+ if ( attributes.visible )
+ {
+ var visibleWatcher = SemanticUI.watcher( scope, 'visible',
+ function(updated) {
+ element.dimmer( updated ? 'show' : 'hide' );
+ }
+ );
+
+ SemanticUI.onEvent( settings, 'onShow',
+ function(value) {
+ visibleWatcher.set( true );
+ }
+ );
+
+ SemanticUI.onEvent( settings, 'onHide',
+ function(value) {
+ visibleWatcher.set( false );
+ }
+ );
+ }
+
+ SemanticUI.linkEvents( scope, settings, $.fn.dimmer.settings, {
+ onShow: 'onShow',
+ onHide: 'onHide',
+ onChange: 'onChange'
+ });
+
+ element.dimmer( settings );
+
+ if ( angular.isFunction( scope.onInit ) ) {
+ scope.onInit( element );
+ }
+ };
+ }
+
+})( angular.module('semantic-ui-dimmer', ['semantic-ui-core']) );
+
(function(app)
{
@@ -1817,52 +1817,210 @@ angular.module('semantic-ui', [
{
app
- .factory('SemanticPopupLink', ['SemanticUI', SemanticPopupLink])
- .factory('SemanticPopupInlineLink', ['SemanticUI', SemanticPopupInlineLink])
- .factory('SemanticPopupDisplayLink', ['SemanticUI', SemanticPopupDisplayLink])
- .directive('smPopupBind', ['SemanticUI', SemanticModalBind])
- .directive('smPopup', ['SemanticPopupLink', SemanticPopup])
- .directive('smPopupInline', ['SemanticPopupInlineLink', SemanticPopupInline])
- .directive('smPopupDisplay', ['SemanticPopupDisplayLink', SemanticPopupDisplay])
- .directive('smPopupDetached', [SemanticPopupDetached])
+ .factory('SemanticProgressLink', ['SemanticUI', SemanticProgressLink])
+ .directive('smProgressBind', ['SemanticUI', SemanticModalBind])
+ .directive('smProgress', ['SemanticProgressLink', SemanticProgress])
;
var BEHAVIORS = {
- smPopupShow: 'show',
- smPopupHide: 'hide',
- smPopupHideAll: 'hide all',
- smPopupToggle: 'toggle',
- smPopupReposition: 'reposition',
- smPopupDestroy: 'destroy',
- smPopupRemove: 'remove popup'
+ 'smProgressIncrement': 'increment'
};
angular.forEach( BEHAVIORS, function(method, directive)
{
app.directive( directive, ['SemanticUI', function(SemanticUI)
{
- return SemanticUI.createBehavior( directive, 'popup', method );
+ return SemanticUI.createBehavior( directive, 'progress', method );
}]);
});
function SemanticModalBind(SemanticUI)
{
- return SemanticUI.createBind( 'smPopupBind', 'popup' );
+ return SemanticUI.createBind( 'smProgressBind', 'progress' );
}
- // An attribute directive which displays a popup for this element.
- function SemanticPopup(SemanticPopupLink)
+ function SemanticProgress(SemanticProgressLink)
{
return {
- restrict: 'A',
+ restrict: 'E',
+
+ replace: true,
+
+ transclude: true,
scope: {
/* Required */
- smPopup: '=',
+ model: '=',
/* Optional */
- smPopupTitle: '=',
- smPopupHtml: '=',
+ total: '=',
+ label: '@',
+ activeText: '@',
+ successText: '@',
+ errorText: '@',
+ warningText: '@',
+ duration: '@',
+ onInit: '=',
+ /* Events */
+ onChange: '=',
+ onSuccess: '=',
+ onActive: '=',
+ onError: '=',
+ onWarning: '='
+ },
+
+ template: [
+ ''
+ ].join('\n'),
+
+ link: SemanticProgressLink
+ };
+ }
+
+ function SemanticProgressLink(SemanticUI)
+ {
+ var addText = function( scope, attributes, settings, attribute, property )
+ {
+ if ( angular.isDefined( attributes[ attribute ] ) )
+ {
+ settings.text = settings.text || {};
+ settings.text[ property ] = scope[ attribute ];
+ }
+ };
+
+ return function(scope, element, attributes)
+ {
+ var settings = scope.settings || {};
+
+ SemanticUI.linkSettings( scope, element, attributes, 'progress' );
+
+ SemanticUI.linkEvents( scope, settings, $.fn.progress.settings, {
+ onChange: 'onChange',
+ onSuccess: 'onSuccess',
+ onActive: 'onActive',
+ onError: 'onError',
+ onWarning: 'onWarning'
+ });
+
+ if ( !angular.isDefined( settings.showActivity ) )
+ {
+ settings.showActivity = false;
+ }
+
+ if ( angular.isDefined( attributes.label ) )
+ {
+ settings.label = scope.label;
+ }
+
+ if ( angular.isDefined( attributes.total ) )
+ {
+ settings.total = scope.total;
+ }
+ else
+ {
+ settings.total = 100;
+ }
+
+ if ( angular.isDefined( attributes.model ) )
+ {
+ settings.value = scope.model;
+ }
+
+ addText( scope, attributes, settings, 'activeText', 'active' );
+ addText( scope, attributes, settings, 'successText', 'success' );
+ addText( scope, attributes, settings, 'errorText', 'error' );
+ addText( scope, attributes, settings, 'warningText', 'warning' );
+
+ element.progress( settings );
+
+ SemanticUI.watcher( scope, 'model', function(value)
+ {
+ var total = element.progress( 'get total' ) || 100;
+
+ element.progress( 'set percent', value * 100 / total );
+ element.progress( 'set value', value );
+ });
+
+ if ( angular.isDefined( attributes.duration ) )
+ {
+ SemanticUI.watcher( scope, 'duration', function(duration)
+ {
+ element.progress( 'set duration', duration );
+ });
+ }
+
+ if ( angular.isDefined( attributes.total ) )
+ {
+ SemanticUI.watcher( scope, 'total', function(total)
+ {
+ element.progress( 'set total', total );
+ });
+ }
+
+ if ( angular.isFunction( scope.onInit ) )
+ {
+ scope.onInit( element );
+ }
+ };
+ }
+
+})( angular.module('semantic-ui-progress', ['semantic-ui-core']) );
+
+(function(app)
+{
+
+ app
+ .factory('SemanticPopupLink', ['SemanticUI', SemanticPopupLink])
+ .factory('SemanticPopupInlineLink', ['SemanticUI', SemanticPopupInlineLink])
+ .factory('SemanticPopupDisplayLink', ['SemanticUI', SemanticPopupDisplayLink])
+ .directive('smPopupBind', ['SemanticUI', SemanticModalBind])
+ .directive('smPopup', ['SemanticPopupLink', SemanticPopup])
+ .directive('smPopupInline', ['SemanticPopupInlineLink', SemanticPopupInline])
+ .directive('smPopupDisplay', ['SemanticPopupDisplayLink', SemanticPopupDisplay])
+ .directive('smPopupDetached', [SemanticPopupDetached])
+ ;
+
+ var BEHAVIORS = {
+ smPopupShow: 'show',
+ smPopupHide: 'hide',
+ smPopupHideAll: 'hide all',
+ smPopupToggle: 'toggle',
+ smPopupReposition: 'reposition',
+ smPopupDestroy: 'destroy',
+ smPopupRemove: 'remove popup'
+ };
+
+ angular.forEach( BEHAVIORS, function(method, directive)
+ {
+ app.directive( directive, ['SemanticUI', function(SemanticUI)
+ {
+ return SemanticUI.createBehavior( directive, 'popup', method );
+ }]);
+ });
+
+ function SemanticModalBind(SemanticUI)
+ {
+ return SemanticUI.createBind( 'smPopupBind', 'popup' );
+ }
+
+ // An attribute directive which displays a popup for this element.
+ function SemanticPopup(SemanticPopupLink)
+ {
+ return {
+
+ restrict: 'A',
+
+ scope: {
+ /* Required */
+ smPopup: '=',
+ /* Optional */
+ smPopupTitle: '=',
+ smPopupHtml: '=',
smPopupPosition: '@',
smPopupVariation: '@',
smPopupSettings: '=',
@@ -2004,196 +2162,38 @@ angular.module('semantic-ui', [
onVisible: 'smPopupDisplayOnVisible',
onHide: 'smPopupDisplayOnHide',
onHidden: 'smPopupDisplayOnHidden'
- });
-
- settings.popup = '[data-popup-named="' + attributes.smPopupDisplay + '"]';
-
- element.popup( settings );
-
- if ( angular.isFunction( scope.smPopupDisplayOnInit ) ) {
- scope.smPopupDisplayOnInit( element );
- }
- };
- }
-
- // An element directive for a popup, can be used after an element or can be named and used with sm-popup-display.
- function SemanticPopupDetached()
- {
- return {
-
- restrict: 'E',
-
- replace: true,
-
- transclude: true,
-
- scope: {
- name: '@'
- },
-
- template: ''
- };
- }
-
-})( angular.module('semantic-ui-popup', ['semantic-ui-core']) );
-
-(function(app)
-{
-
- app
- .factory('SemanticProgressLink', ['SemanticUI', SemanticProgressLink])
- .directive('smProgressBind', ['SemanticUI', SemanticModalBind])
- .directive('smProgress', ['SemanticProgressLink', SemanticProgress])
- ;
-
- var BEHAVIORS = {
- 'smProgressIncrement': 'increment'
- };
-
- angular.forEach( BEHAVIORS, function(method, directive)
- {
- app.directive( directive, ['SemanticUI', function(SemanticUI)
- {
- return SemanticUI.createBehavior( directive, 'progress', method );
- }]);
- });
-
- function SemanticModalBind(SemanticUI)
- {
- return SemanticUI.createBind( 'smProgressBind', 'progress' );
- }
-
- function SemanticProgress(SemanticProgressLink)
- {
- return {
-
- restrict: 'E',
-
- replace: true,
-
- transclude: true,
-
- scope: {
- /* Required */
- model: '=',
- /* Optional */
- total: '=',
- label: '@',
- activeText: '@',
- successText: '@',
- errorText: '@',
- warningText: '@',
- duration: '@',
- onInit: '=',
- /* Events */
- onChange: '=',
- onSuccess: '=',
- onActive: '=',
- onError: '=',
- onWarning: '='
- },
-
- template: [
- ''
- ].join('\n'),
-
- link: SemanticProgressLink
- };
- }
-
- function SemanticProgressLink(SemanticUI)
- {
- var addText = function( scope, attributes, settings, attribute, property )
- {
- if ( angular.isDefined( attributes[ attribute ] ) )
- {
- settings.text = settings.text || {};
- settings.text[ property ] = scope[ attribute ];
- }
- };
-
- return function(scope, element, attributes)
- {
- var settings = scope.settings || {};
-
- SemanticUI.linkSettings( scope, element, attributes, 'progress' );
-
- SemanticUI.linkEvents( scope, settings, $.fn.progress.settings, {
- onChange: 'onChange',
- onSuccess: 'onSuccess',
- onActive: 'onActive',
- onError: 'onError',
- onWarning: 'onWarning'
- });
-
- if ( !angular.isDefined( settings.showActivity ) )
- {
- settings.showActivity = false;
- }
-
- if ( angular.isDefined( attributes.label ) )
- {
- settings.label = scope.label;
- }
+ });
- if ( angular.isDefined( attributes.total ) )
- {
- settings.total = scope.total;
- }
- else
- {
- settings.total = 100;
- }
+ settings.popup = '[data-popup-named="' + attributes.smPopupDisplay + '"]';
- if ( angular.isDefined( attributes.model ) )
- {
- settings.value = scope.model;
- }
+ element.popup( settings );
- addText( scope, attributes, settings, 'activeText', 'active' );
- addText( scope, attributes, settings, 'successText', 'success' );
- addText( scope, attributes, settings, 'errorText', 'error' );
- addText( scope, attributes, settings, 'warningText', 'warning' );
+ if ( angular.isFunction( scope.smPopupDisplayOnInit ) ) {
+ scope.smPopupDisplayOnInit( element );
+ }
+ };
+ }
- element.progress( settings );
+ // An element directive for a popup, can be used after an element or can be named and used with sm-popup-display.
+ function SemanticPopupDetached()
+ {
+ return {
- SemanticUI.watcher( scope, 'model', function(value)
- {
- var total = element.progress( 'get total' ) || 100;
+ restrict: 'E',
- element.progress( 'set percent', value * 100 / total );
- element.progress( 'set value', value );
- });
+ replace: true,
- if ( angular.isDefined( attributes.duration ) )
- {
- SemanticUI.watcher( scope, 'duration', function(duration)
- {
- element.progress( 'set duration', duration );
- });
- }
+ transclude: true,
- if ( angular.isDefined( attributes.total ) )
- {
- SemanticUI.watcher( scope, 'total', function(total)
- {
- element.progress( 'set total', total );
- });
- }
+ scope: {
+ name: '@'
+ },
- if ( angular.isFunction( scope.onInit ) )
- {
- scope.onInit( element );
- }
+ template: ''
};
}
-})( angular.module('semantic-ui-progress', ['semantic-ui-core']) );
+})( angular.module('semantic-ui-popup', ['semantic-ui-core']) );
(function(app)
{
@@ -2435,6 +2435,98 @@ angular.module('semantic-ui', [
})( angular.module('semantic-ui-search', ['semantic-ui-core']) );
+(function(app)
+{
+
+ app
+ .factory('SemanticShapeLink', ['SemanticUI', SemanticShapeLink])
+ .directive('smShapeBind', ['SemanticUI', SemanticShapeBind])
+ .directive('smShape', ['SemanticShapeLink', SemanticShape])
+ ;
+
+ var BEHAVIORS = {
+ smShapeFlipUp: 'flip up',
+ smShapeFlipDown: 'flip down',
+ smShapeFlipLeft: 'flip left',
+ smShapeFlipRight: 'flip right',
+ smShapeFlipOver: 'flip over',
+ smShapeFlipBack: 'flip back',
+ smShapeSetNextSide: 'set next side',
+ smShapeReset: 'reset',
+ smShapeQueue: 'queue',
+ smShapeRepaint: 'repaint',
+ smShapeSetDefaultSide: 'set default side',
+ smShapeSetStageSize: 'set stage size',
+ smShapeRefresh: 'refresh'
+ };
+
+ angular.forEach( BEHAVIORS, function(method, directive)
+ {
+ app.directive( directive, ['SemanticUI', function(SemanticUI)
+ {
+ return SemanticUI.createBehavior( directive, 'shape', method );
+ }]);
+ });
+
+ function SemanticShapeBind(SemanticUI)
+ {
+ return SemanticUI.createBind( 'smShapeBind', 'shape' );
+ }
+
+ function SemanticShape(SemanticShapeLink)
+ {
+ return {
+
+ restrict: 'E',
+
+ replace: true,
+
+ transclude: true,
+
+ scope: {
+
+ settings: '=',
+ onInit: '=',
+ /* Events */
+ onBeforeChange: '=',
+ onChange: '=',
+ },
+
+ template: [
+ ''
+ ].join('\n'),
+
+ link: SemanticShapeLink
+
+ };
+ }
+
+ function SemanticShapeLink(SemanticUI)
+ {
+ return function(scope, element, attributes)
+ {
+ var settings = scope.settings || {};
+
+ SemanticUI.linkSettings( scope, element, attributes, 'shape' );
+
+ SemanticUI.linkEvents( scope, settings, $.fn.shape.settings, {
+ onBeforeChange: 'onBeforeChange',
+ onChange: 'onChange'
+ });
+
+ element.shape( settings );
+
+ if ( angular.isFunction( scope.onInit ) ) {
+ scope.onInit( element );
+ }
+ };
+ }
+
+})( angular.module('semantic-ui-shape', ['semantic-ui-core']) );
+
(function(app)
{
@@ -2475,10 +2567,9 @@ angular.module('semantic-ui', [
replace: true,
+ transclude: true,
+
scope: {
- /* Required */
- items: '=',
- label: '&',
/* Optional */
onClick: '&',
visible: '=',
@@ -2492,11 +2583,7 @@ angular.module('semantic-ui', [
onHidden: '='
},
- template: [
- ''
- ].join('\n'),
+ template: '',
link: SemanticSidebarLink
};
@@ -2508,8 +2595,6 @@ angular.module('semantic-ui', [
{
var settings = scope.settings || {};
- SemanticUI.setDefaultFunction( scope, 'label', attributes, function(locals){return locals.item} );
-
SemanticUI.linkSettings( scope, element, attributes, 'sidebar' );
if ( attributes.visible )
@@ -2565,98 +2650,6 @@ angular.module('semantic-ui', [
})( angular.module('semantic-ui-sidebar', ['semantic-ui-core']) );
-(function(app)
-{
-
- app
- .factory('SemanticShapeLink', ['SemanticUI', SemanticShapeLink])
- .directive('smShapeBind', ['SemanticUI', SemanticShapeBind])
- .directive('smShape', ['SemanticShapeLink', SemanticShape])
- ;
-
- var BEHAVIORS = {
- smShapeFlipUp: 'flip up',
- smShapeFlipDown: 'flip down',
- smShapeFlipLeft: 'flip left',
- smShapeFlipRight: 'flip right',
- smShapeFlipOver: 'flip over',
- smShapeFlipBack: 'flip back',
- smShapeSetNextSide: 'set next side',
- smShapeReset: 'reset',
- smShapeQueue: 'queue',
- smShapeRepaint: 'repaint',
- smShapeSetDefaultSide: 'set default side',
- smShapeSetStageSize: 'set stage size',
- smShapeRefresh: 'refresh'
- };
-
- angular.forEach( BEHAVIORS, function(method, directive)
- {
- app.directive( directive, ['SemanticUI', function(SemanticUI)
- {
- return SemanticUI.createBehavior( directive, 'shape', method );
- }]);
- });
-
- function SemanticShapeBind(SemanticUI)
- {
- return SemanticUI.createBind( 'smShapeBind', 'shape' );
- }
-
- function SemanticShape(SemanticShapeLink)
- {
- return {
-
- restrict: 'E',
-
- replace: true,
-
- transclude: true,
-
- scope: {
-
- settings: '=',
- onInit: '=',
- /* Events */
- onBeforeChange: '=',
- onChange: '=',
- },
-
- template: [
- ''
- ].join('\n'),
-
- link: SemanticShapeLink
-
- };
- }
-
- function SemanticShapeLink(SemanticUI)
- {
- return function(scope, element, attributes)
- {
- var settings = scope.settings || {};
-
- SemanticUI.linkSettings( scope, element, attributes, 'shape' );
-
- SemanticUI.linkEvents( scope, settings, $.fn.shape.settings, {
- onBeforeChange: 'onBeforeChange',
- onChange: 'onChange'
- });
-
- element.shape( settings );
-
- if ( angular.isFunction( scope.onInit ) ) {
- scope.onInit( element );
- }
- };
- }
-
-})( angular.module('semantic-ui-shape', ['semantic-ui-core']) );
-
(function(app)
{
diff --git a/angular-semantic-ui.min.js b/angular-semantic-ui.min.js
index 64fa265..37cef72 100644
--- a/angular-semantic-ui.min.js
+++ b/angular-semantic-ui.min.js
@@ -6,6 +6,6 @@
* Released under the MIT license.
* Copyright 2016 Philip Diffenderfer and contributors.
*/
-angular.module("semantic-ui",["semantic-ui-core","semantic-ui-accordion","semantic-ui-checkbox","semantic-ui-radio","semantic-ui-comment","semantic-ui-dimmer","semantic-ui-dropdown","semantic-ui-embed","semantic-ui-list","semantic-ui-menu","semantic-ui-modal","semantic-ui-popup","semantic-ui-progress","semantic-ui-rating","semantic-ui-search","semantic-ui-shape","semantic-ui-sidebar","semantic-ui-sticky","semantic-ui-tab","semantic-ui-transition","semantic-ui-timeago"]),function(e){function n(e){var n={setDefaultFunction:function(e,n,i,t){i[n]||(e[n]=t)},triggerChange:function(e,n,i,t){e.$watch(n,function(n){t&&e.$evalAsync(function(){i.trigger("change")}),t=!0})},bindAttribute:function(e,n,i,t){e.$watch(n,function(e){i.attr(t,e)})},onEvent:function(e,n,i){e[n]=function(e,n){return function(){var t=n;angular.isFunction(e)&&(t=e.apply(this,arguments));var o=i.apply(this,arguments);return t!==n?t:o}}(e[n])},linkEvents:function(e,i,t,o){for(var a in o)!function(o,a){n.onEvent(i,a,function(){var n=e[o];return angular.isFunction(n)?n.apply(this,arguments):angular.isFunction(t[a])?t[a].apply(this,arguments):void 0})}(o[a],a)},linkSettings:function(e,n,i,t,o,a){var c=a||"settings";c in i&&e.$watch(c,function(e){o&&angular.forEach(e,function(e,i){n[t]("setting",i,e)}),o=!0},!0)},createBind:function(e,i){return{restrict:"A",link:function(t,o,a){n.linkSettings(t,o,a,i,!1,e),n.initBind(t,o,a,e,i)}}},initBind:function(e,n,i,t,o){n.ready(function(){var a={},c=i[t];c&&(a=e.$eval(c)),n[o](a)})},createBehavior:function(e,i,t){return{restrict:"A",link:function(o,a,c){n.initBehavior(o,c,e,a,i,t)}}},initBehavior:function(e,n,i,t,o,a){var c={$:void 0,evt:"click",enabled:!0,value:void 0},s=function(){c.enabled&&$(c.$)[o](a,c.value)},r=!1;e.$watch(n[i],function(e){angular.isString(e)?c.$=e:angular.isObject(e)&&(angular.isString(e.evt)||(e.evt=c.evt),angular.isDefined(e.enabled)||(e.enabled=c.enabled),c=e),r&&t.off(r,s),t.on(r=c.evt,s)},!0)},watcher:function(e,n,i,t,o,a){var c=!1;return e.$watch(n,function(e){c||i.call(t,e),c=!1},a),{set:function(i){(e[n]!=i||o)&&e.$evalAsync(function(){e[n]=i,c=!0})},update:function(){e.$evalAsync(function(){c=!0})}}},RecursiveCompiler:function(n){return function(i,t){angular.isFunction(t)&&(t={post:t});var o,a=i.contents().remove();return{pre:t&&t.pre?t.pre:null,post:function(i,c){o||(o=e(a)),o(i,function(e){c.append(e)}),t&&t.post&&t.post.apply(null,arguments),angular.isFunction(n)&&n.apply(null,arguments)}}}}};return n}function i(){return{restrict:"E",replace:!0,transclude:!0,template:''}}function t(){return{restrict:"E",replace:!0,transclude:!0,scope:{icon:"@"},template:''}}function o(){return{restrict:"E",replace:!0,template:['"].join("\n")}}function a(e){var n=function(e){return e};try{$sce=e.get("$sce"),n=function(e){return $sce.getTrustedHtml($sce.trustAsHtml(e))}}catch(i){}return function(e,i,t){e.$watch(t.smHtml,function(e){i.html(n(e||""))})}}e.factory("SemanticUI",["$compile",n]).directive("smButton",i).directive("smMenuItem",t).directive("smFlatMenu",o).directive("smHtml",["$injector",a])}(angular.module("semantic-ui-core",[])),function(e){function n(e){return e.createBind("smCheckboxBind","checkbox")}function i(e){return{restrict:"E",replace:!0,transclude:!0,scope:{model:"=",label:"@",settings:"=",enabled:"=",indeterminateValue:"=",checkedValue:"=",uncheckedValue:"=",children:"@",onInit:"=",onChange:"=",onChecked:"=",onIndeterminate:"=",onDeterminate:"=",onUnchecked:"=",onEnable:"=",onDisable:"="},template:['',' '," ","
"].join("\n"),link:e}}function t(e){return function(n,i,t){i.ready(function(){var o=n.settings||{};e.linkSettings(n,i,t,"checkbox",!0),e.triggerChange(n,"model",i,!0);var a=function(){return angular.isDefined(n.checkedValue)?n.checkedValue:!0},c=function(){return angular.isDefined(n.uncheckedValue)?n.uncheckedValue:!1},s=function(){return angular.isDefined(n.indeterminateValue)?n.indeterminateValue:void 0};if(t.enabled){var r=e.watcher(n,"enabled",function(e){angular.isDefined(e)&&i.checkbox(e?"set enabled":"set disabled")});e.onEvent(o,"onEnable",function(e){r.set(!0)}),e.onEvent(o,"onDisable",function(e){r.set(!1)})}var l=e.watcher(n,"model",function(e){angular.isDefined(e)&&i.checkbox(e?"set checked":"set unchecked")});if(e.onEvent(o,"onChecked",function(){l.set(a())}),e.onEvent(o,"onUnchecked",function(){l.set(c())}),e.onEvent(o,"onIndeterminate",function(){l.set(s())}),e.linkEvents(n,o,$.fn.checkbox.settings,{onChange:"onChange",onChecked:"onChecked",onIndeterminate:"onIndeterminate",onDeterminate:"onDeterminate",onUnchecked:"onUnchecked",onEnable:"onEnable",onDisable:"onDisable"}),n.children){var u=$(n.children),d=!1;e.onEvent(o,"onChecked",function(){d=!0,u.checkbox("check"),d=!1}),e.onEvent(o,"onUnchecked",function(){d=!0,u.checkbox("uncheck"),d=!1}),u.children("input[type=checkbox], input[type=radio]").change(function(){if(!d){var e=0;u.each(function(n,i){$(i).checkbox("is checked")&&e++}),i.checkbox(0===e?"uncheck":e===u.length?"check":"indeterminate")}})}i.checkbox(o),n.model==a()?i.checkbox("set checked"):n.model===s()&&i.checkbox("set indeterminate"),angular.isDefined(n.enabled)&&!n.enabled&&i.checkbox("set disabled"),angular.isFunction(n.onInit)&&n.onInit(i)})}}e.factory("SemanticCheckboxLink",["SemanticUI",t]).directive("smCheckboxBind",["SemanticUI",n]).directive("smCheckbox",["SemanticCheckboxLink",i]);var o={smCheckboxToggle:"toggle",smCheckboxCheck:"check",smCheckboxUncheck:"uncheck",smCheckboxIndeterminate:"indeterminate",smCheckboxDeterminate:"determinate",smCheckboxEnable:"enable",smCheckboxDisable:"disable"};angular.forEach(o,function(n,i){e.directive(i,["SemanticUI",function(e){return e.createBehavior(i,"checkbox",n)}])})}(angular.module("semantic-ui-checkbox",["semantic-ui-core"])),function(e){function n(e){return e.createBind("smRadioBind","checkbox")}function i(e){return{restrict:"E",replace:!0,transclude:!0,scope:{model:"=",label:"@",name:"@",value:"=",settings:"=",enabled:"=",onInit:"=",onChange:"=",onChecked:"=",onUnchecked:"=",onEnable:"=",onDisable:"="},template:['',' '," ","
"].join("\n"),link:e}}function t(e){return function(n,i,t){i.ready(function(){var o=n.settings||{};if(e.linkSettings(n,i,t,"checkbox",!0),e.triggerChange(n,"model",i,!0),t.enabled){var a=e.watcher(n,"enabled",function(e){angular.isDefined(e)&&i.checkbox(e?"set enabled":"set disabled")});e.onEvent(o,"onEnable",function(e){a.set(!0)}),e.onEvent(o,"onDisable",function(e){a.set(!1)})}var c=e.watcher(n,"model",function(e){e===n.value&&i.checkbox("set checked")});e.onEvent(o,"onChecked",function(){c.set(n.value)}),e.linkEvents(n,o,$.fn.checkbox.settings,{onChange:"onChange",onChecked:"onChecked",onUnchecked:"onUnchecked",onEnable:"onEnable",onDisable:"onDisable"}),i.checkbox(o),n.model===n.value&&i.checkbox("set checked"),i.hasClass("slider")&&i.removeClass("radio"),angular.isDefined(n.enabled)&&!n.enabled&&i.checkbox("set disabled"),angular.isFunction(n.onInit)&&n.onInit(i)})}}e.factory("SemanticRadioLink",["SemanticUI",t]).directive("smRadioBind",["SemanticUI",n]).directive("smRadio",["SemanticRadioLink",i]);var o={smRadioCheck:"check",smRadioEnable:"enable",smRadioDisable:"disable"};angular.forEach(o,function(n,i){e.directive(i,["SemanticUI",function(e){return e.createBehavior(i,"checkbox",n)}])})}(angular.module("semantic-ui-radio",["semantic-ui-core"])),function(e){function n(e){return e.createBind("smAccordionBind","accordion")}function i(e){return{restrict:"E",replace:!0,transclude:!0,scope:{settings:"=",onInit:"=",onOpening:"=",onOpen:"=",onClosing:"=",onClose:"=",onChange:"="},template:'',link:e}}function t(e){return function(n,i,t){i.ready(function(){var o=n.settings||{};e.linkSettings(n,i,t,"accordion",!0),e.linkEvents(n,o,$.fn.accordion.settings,{onOpening:"onOpening",onOpen:"onOpen",onClosing:"onClosing",onClose:"onClose",onChange:"onChange"}),i.accordion(o),angular.isFunction(n.onInit)&&n.onInit(i)})}}function o(){return{restrict:"E",required:"title",transclude:!0,scope:{title:"=",active:"="},template:['',' '," {{ title }}","
",'',"
"].join("\n")}}e.factory("SemanticAccordionLink",["SemanticUI",t]).directive("smAccordionBind",["SemanticUI",n]).directive("smAccordion",["SemanticAccordionLink",i]).directive("smAccordionGroup",o);var a={smAccordionOpen:"open",smAccordionCloseOthers:"close others",smAccordionClose:"close",smAccordionToggle:"toggle"};angular.forEach(a,function(n,i){e.directive(i,["SemanticUI",function(e){return e.createBehavior(i,"accordion",n)}])})}(angular.module("semantic-ui-accordion",["semantic-ui-core"])),function(e){function n(e){return{restrict:"E",replace:!0,scope:{comments:"=",content:"&",avatar:"&",author:"&",date:"&",replies:"&",reply:"=",collapsible:"=",onAuthor:"&",onReply:"&",onShowReplies:"&",onHideReplies:"&"},template:['"].join("\n"),controller:"SemanticCommentsController",compile:e.RecursiveCompiler()}}function i(e){e.setCollapsed=function(n,i,t){var o={comment:n,$event:i};n.$isCollapsed!=t&&(n.$isCollapsed?e.onShowReplies(o)!==!1&&(n.$isCollapsed=!1):e.onHideReplies(o)!==!1&&(n.$isCollapsed=!0))},e.hasReplies=function(n){if(!e.reply)return!1;var i=e.replies(n);return i&&i.length},e.getReplyCount=function(n){if(!e.reply)return!1;var i=e.replies(n);return i?i.length:0},e.getShowRepliesText=function(n){var i=e.getReplyCount(n);return 0===i?"":1===i?"Show Reply":"Show Replies ("+i+")"},e.getHideRepliesText=function(n){var i=e.getReplyCount(n);return 0===i?"":1===i?"Hide Reply":"Hide Replies ("+i+")"}}e.controller("SemanticCommentsController",["$scope",i]).directive("smComments",["SemanticUI",n])}(angular.module("semantic-ui-comment",["semantic-ui-core","semantic-ui-timeago"])),function(e){function n(e){return e.createBind("smDimmerBind","dimmer")}function i(e){return{restrict:"E",replace:!0,transclude:!0,scope:{visible:"=",settings:"=",onInit:"=",onShow:"=",onHide:"=",onChange:"="},template:'',link:e}}function t(e){return function(n,i,t){var o=n.settings||{};if(e.linkSettings(n,i,t,"dimmer"),t.visible){var a=e.watcher(n,"visible",function(e){i.dimmer(e?"show":"hide")});e.onEvent(o,"onShow",function(e){a.set(!0)}),e.onEvent(o,"onHide",function(e){a.set(!1)})}e.linkEvents(n,o,$.fn.dimmer.settings,{onShow:"onShow",onHide:"onHide",onChange:"onChange"}),i.dimmer(o),angular.isFunction(n.onInit)&&n.onInit(i)}}e.factory("SemanticDimmerLink",["SemanticUI",t]).directive("smDimmerBind",["SemanticUI",n]).directive("smDimmer",["SemanticDimmerLink",i]);var o={smDimmerShow:"show",smDimmerHide:"hide",smDimmerToggle:"toggle"};angular.forEach(o,function(n,i){e.directive(i,["SemanticUI",function(e){return e.createBehavior(i,"dimmer",n)}])})}(angular.module("semantic-ui-dimmer",["semantic-ui-core"])),function(e){function n(e){return e.createBind("smDropdownBind","dropdown")}function i(e){return{restrict:"E",replace:!0,transclude:!0,scope:{model:"=",items:"=",label:"&",value:"&",settings:"=",defaultText:"=",onInit:"=",emptyValue:"=",onChange:"=",onAdd:"=",onRemove:"=",onLabelCreate:"=",onLabelSelect:"=",onNoResults:"=",onShow:"=",onHide:"="},template:['"].join("\n"),controller:"SemanticDropdownController",link:e}}function t(e){var n={};e.getValue=function(n){return e.getKey(e.value({item:n}))},e.getKey=function(e){return(e?e.$$hashKey||e:e)+""},e.isEmpty=function(){return!e.model||0===e.model.length},e.translateValue=function(n){var i=e.getKey(n),t=e.findMatchingItem(i);return angular.isDefined(t)?e.getValue(t):void 0},e.hasDefault=function(){return e.defaultText&&e.isEmpty()},e.getDefaultText=function(){return e.isEmpty()?e.defaultText:""},e.findMatchingItem=function(e){return n[e]},e.updateHashMap=function(i){n={},angular.forEach(i,function(i){n[e.getValue(i)]=i})}}function o(e,n){return function(i,t,o){var a=function(e){n(function(){if(t.dropdown("is multiple")){if(e instanceof Array){for(var n=[],o=0;o',link:e}}function t(e){return function(n,i,t){var o=n.settings||{};e.linkSettings(n,i,t,"embed"),n.source&&(o.source=n.source),n.sourceId&&(o.id=n.sourceId),n.placeholder&&(o.placeholder=n.placeholder),n.icon&&(o.icon=n.icon),n.url&&(o.url=n.url),e.linkEvents(n,o,$.fn.embed.settings,{onCreate:"onCreate",onDisplay:"onDisplay",onPlaceholderDisplay:"onPlaceholderDisplay",onEmbed:"onEmbed"}),i.embed(o),angular.isFunction(n.onInit)&&n.onInit(i)}}e.factory("SemanticEmbedLink",["SemanticUI",t]).directive("smEmbedBind",["SemanticUI",n]).directive("smEmbed",["SemanticEmbedLink",i]);var o={smEmbedReset:"reset",smEmbedShow:"show",smEmbedHide:"hide",smEmbedDestroy:"destroy"};angular.forEach(o,function(n,i){e.directive(i,["SemanticUI",function(e){return e.createBehavior(i,"embed",n)}])})}(angular.module("semantic-ui-embed",["semantic-ui-core"])),function(e){function n(e,n){return{restrict:"E",replace:!0,scope:{items:"=",description:"&",icon:"&",image:"&",header:"&",headerHref:"&",children:"&",onHeader:"&",has:"=?"},template:['','
','
','
![]()
','
",'
',"
","
"].join("\n"),compile:e.RecursiveCompiler(n)}}function i(e){return function(n,i,t){n.has||(n.has={icon:!!t.icon,image:!!t.image,header:!!t.header,headerLink:!!t.headerHref,description:!!t.description,children:!!t.children}),n.getChildCount=function(e){var i=n.children(e);return i?i.length:0},e.setDefaultFunction(n,"description",t,function(e){return e.item}),e.setDefaultFunction(n,"icon",t,function(e){return e.item.icon}),e.setDefaultFunction(n,"header",t,function(e){return e.item.header}),e.setDefaultFunction(n,"children",t,function(e){return e.item.children})}}e.factory("SemanticListLink",["SemanticUI",i]).directive("smList",["SemanticUI","SemanticListLink",n])}(angular.module("semantic-ui-list",["semantic-ui-core"])),function(e){function n(e){return{restrict:"E",replace:!0,scope:{items:"=",label:"&",onClick:"&",children:"&",description:"&",icon:"&",hidden:"&",divider:"&"},template:['"].join("\n"),controller:"SemanticMenuController",compile:e.RecursiveCompiler()}}function i(e){e.hasChildren=function(n){var i=e.children({item:n});return i&&i.length},e.getChildren=function(n){return e.children({item:n})},e.getLabel=function(n){return e.label({item:n})},e.getIcon=function(n){return e.icon({item:n})},e.getDescription=function(n){return e.description({item:n})},e.isHidden=function(n){return e.hidden({item:n})},e.isDivider=function(n){return e.divider({item:n})}}e.controller("SemanticMenuController",["$scope",i]).directive("smMenu",["SemanticUI",n])}(angular.module("semantic-ui-menu",["semantic-ui-core"])),function(e){function n(e){return e.createBind("smModalBind","modal")}function i(e){return{restrict:"E",replace:!0,transclude:!0,scope:{visible:"=",settings:"=",onInit:"=",onShow:"=",onVisible:"=",onHide:"=",onHidden:"=",onApprove:"=",onDeny:"="},template:'',link:e}}function t(e){return function(n,i,t){var o=n.settings||{};if(e.linkSettings(n,i,t,"modal"),t.visible){var a=e.watcher(n,"visible",function(e){i.modal(e?"show":"hide")});e.onEvent(o,"onHide",function(){a.set(!1)}),e.onEvent(o,"onShow",function(){a.set(!0)})}e.linkEvents(n,o,$.fn.modal.settings,{onShow:"onShow",onVisible:"onVisible",onHide:"onHide",onHidden:"onHidden",onApprove:"onApprove",onDeny:"onDeny"}),i.modal(o),angular.isFunction(n.onInit)&&n.onInit(i)}}e.factory("SemanticModalLink",["SemanticUI",t]).directive("smModalBind",["SemanticUI",n]).directive("smModal",["SemanticModalLink",i]);var o={smModalShow:"show",smModalHide:"hide",smModalToggle:"toggle",smModalRefresh:"refresh",smModalShowDimmer:"show dimmer",smModalHideDimmer:"hide dimmer",smModalHideOthers:"hide others",smModalHideAll:"hide all",smModalCacheSizes:"cache sizes",smModalSetActive:"set active"};angular.forEach(o,function(n,i){e.directive(i,["SemanticUI",function(e){return e.createBehavior(i,"modal",n)}])})}(angular.module("semantic-ui-modal",["semantic-ui-core"])),function(e){function n(e){return e.createBind("smPopupBind","popup")}function i(e){return{restrict:"A",scope:{smPopup:"=",smPopupTitle:"=",smPopupHtml:"=",smPopupPosition:"@",smPopupVariation:"@",smPopupSettings:"=",smPopupOnInit:"=",smPopupOnCreate:"=",smPopupOnRemove:"=",smPopupOnShow:"=",smPopupOnVisible:"=",smPopupOnHide:"=",smPopupOnHidden:"="},link:e}}function t(e){return function(n,i,t){var o=n.smPopupSettings||{};e.linkSettings(n,i,t,"popup",!1,"smPopupSettings"),e.bindAttribute(n,"smPopup",i,"data-content"),e.bindAttribute(n,"smPopupTitle",i,"data-title"),e.bindAttribute(n,"smPopupHtml",i,"data-html"),e.bindAttribute(n,"smPopupPosition",i,"data-position"),e.bindAttribute(n,"smPopupVariation",i,"data-variation"),e.linkEvents(n,o,{onCreate:"smPopupOnCreate",onRemove:"smPopupOnRemove",onShow:"smPopupOnShow",onVisible:"smPopupOnVisible",onHide:"smPopupOnHide",onHidden:"smPopupOnHidden"}),i.popup(o),angular.isFunction(n.smPopupOnInit)&&n.smPopupOnInit(i)}}function o(e){return{restrict:"A",scope:{smPopupInline:"=",smPopupInlineOnInit:"=",smPopupInlineOnCreate:"=",smPopupInlineOnRemove:"=",smPopupInlineOnShow:"=",smPopupInlineOnVisible:"=",smPopupInlineOnHide:"=",smPopupInlineOnHidden:"="},link:e}}function a(e){return function(n,i,t){var o=n.smPopupInline||{};e.linkSettings(n,i,t,"popup",!1,"smPopupInline"),e.linkEvents(n,o,{onCreate:"smPopupInlineOnCreate",onRemove:"smPopupInlineOnRemove",onShow:"smPopupInlineOnShow",onVisible:"smPopupInlineOnVisible",onHide:"smPopupInlineOnHide",onHidden:"smPopupInlineOnHidden"}),o.inline=!0,i.popup(o),angular.isFunction(n.smPopupInlineOnInit)&&n.smPopupInlineOnInit(i)}}function c(e){return{restrict:"A",scope:{smPopupDisplay:"@",smPopupDisplaySettings:"=",smPopupDisplayOnInit:"=",smPopupDisplayOnCreate:"=",smPopupDisplayOnRemove:"=",smPopupDisplayOnShow:"=",smPopupDisplayOnVisible:"=",smPopupDisplayOnHide:"=",smPopupDisplayOnHidden:"="},link:e}}function s(e){return function(n,i,t){var o=n.smPopupDisplaySettings||{};e.linkSettings(n,i,t,"popup",!1,"smPopupDisplaySettings"),e.linkEvents(n,o,$.fn.popup.settings,{onCreate:"smPopupDisplayOnCreate",onRemove:"smPopupDisplayOnRemove",onShow:"smPopupDisplayOnShow",onVisible:"smPopupDisplayOnVisible",onHide:"smPopupDisplayOnHide",onHidden:"smPopupDisplayOnHidden"}),o.popup='[data-popup-named="'+t.smPopupDisplay+'"]',i.popup(o),angular.isFunction(n.smPopupDisplayOnInit)&&n.smPopupDisplayOnInit(i)}}function r(){return{restrict:"E",replace:!0,transclude:!0,scope:{name:"@"},template:''}}e.factory("SemanticPopupLink",["SemanticUI",t]).factory("SemanticPopupInlineLink",["SemanticUI",a]).factory("SemanticPopupDisplayLink",["SemanticUI",s]).directive("smPopupBind",["SemanticUI",n]).directive("smPopup",["SemanticPopupLink",i]).directive("smPopupInline",["SemanticPopupInlineLink",o]).directive("smPopupDisplay",["SemanticPopupDisplayLink",c]).directive("smPopupDetached",[r]);var l={smPopupShow:"show",smPopupHide:"hide",smPopupHideAll:"hide all",smPopupToggle:"toggle",smPopupReposition:"reposition",smPopupDestroy:"destroy",smPopupRemove:"remove popup"};angular.forEach(l,function(n,i){e.directive(i,["SemanticUI",function(e){return e.createBehavior(i,"popup",n)}])})}(angular.module("semantic-ui-popup",["semantic-ui-core"])),function(e){function n(e){return e.createBind("smProgressBind","progress")}function i(e){return{restrict:"E",replace:!0,transclude:!0,scope:{model:"=",total:"=",label:"@",activeText:"@",successText:"@",errorText:"@",warningText:"@",duration:"@",onInit:"=",onChange:"=",onSuccess:"=",onActive:"=",onError:"=",onWarning:"="},template:['"].join("\n"),link:e}}function t(e){var n=function(e,n,i,t,o){angular.isDefined(n[t])&&(i.text=i.text||{},i.text[o]=e[t])};return function(i,t,o){var a=i.settings||{};e.linkSettings(i,t,o,"progress"),e.linkEvents(i,a,$.fn.progress.settings,{onChange:"onChange",onSuccess:"onSuccess",onActive:"onActive",onError:"onError",onWarning:"onWarning"}),angular.isDefined(a.showActivity)||(a.showActivity=!1),angular.isDefined(o.label)&&(a.label=i.label),a.total=angular.isDefined(o.total)?i.total:100,angular.isDefined(o.model)&&(a.value=i.model),n(i,o,a,"activeText","active"),n(i,o,a,"successText","success"),n(i,o,a,"errorText","error"),n(i,o,a,"warningText","warning"),t.progress(a),e.watcher(i,"model",function(e){var n=t.progress("get total")||100;t.progress("set percent",100*e/n),t.progress("set value",e)}),angular.isDefined(o.duration)&&e.watcher(i,"duration",function(e){t.progress("set duration",e)}),angular.isDefined(o.total)&&e.watcher(i,"total",function(e){t.progress("set total",e)}),angular.isFunction(i.onInit)&&i.onInit(t)}}e.factory("SemanticProgressLink",["SemanticUI",t]).directive("smProgressBind",["SemanticUI",n]).directive("smProgress",["SemanticProgressLink",i]);var o={smProgressIncrement:"increment"};angular.forEach(o,function(n,i){e.directive(i,["SemanticUI",function(e){return e.createBehavior(i,"progress",n)}])})}(angular.module("semantic-ui-progress",["semantic-ui-core"])),function(e){function n(e){return e.createBind("smRatingBind","rating")}function i(e){return{restrict:"E",replace:!0,scope:{model:"=",total:"=",type:"@",disabled:"=",settings:"=",onInit:"=",onRate:"="},template:'',link:e}}function t(e){return function(n,i,t){i.ready(function(){var o=n.settings||{};if(e.linkSettings(n,i,t,"rating",!0),e.triggerChange(n,"model",i,!0),t.disabled){e.watcher(n,"disabled",function(e){i.rating(e?"disable":"enable")})}var a=e.watcher(n,"model",function(e){i.rating("set rating",e)});e.onEvent(o,"onRate",function(e){a.set(e)}),e.linkEvents(n,o,$.fn.rating.settings,{onRate:"onRate"}),i.rating(o),n.disabled&&i.rating("disable"),angular.isFunction(n.onInit)&&n.onInit(i)})}}e.factory("SemanticRatingLink",["SemanticUI",t]).directive("smRatingBind",["SemanticUI",n]).directive("smRating",["SemanticRatingLink",i]);var o={smRatingSet:"set rating",smRatingDisable:"disable",smRatingEnable:"enable",smRatingClear:"clear rating"};angular.forEach(o,function(n,i){e.directive(i,["SemanticUI",function(e){return e.createBehavior(i,"rating",n)}])})}(angular.module("semantic-ui-rating",["semantic-ui-core"])),function(e){function n(e){return e.createBind("smSearchBind","search")}function i(e){return{restrict:"E",replace:!0,scope:{model:"=",text:"=?",icon:"@",placeholder:"@",category:"@",local:"=",remote:"@",settings:"=",onInit:"=",onSelect:"=",onResultsAdd:"=",onSearchQuery:"=",onResults:"=",onResultsOpen:"=",onResultsClose:"="},template:['"].join("\n"),link:e}}function t(e){var n=$.fn.search&&$.fn.search.settings&&$.fn.search.settings.fields?$.fn.search.settings.fields.title:"";return function(i,t,o){var a=i.settings||{},c=a.fields&&a.fields.title?a.fields.title:n;e.linkSettings(i,t,o,"search"),i.local&&(a.source=i.local),i.remote&&(a.apiSettings={url:i.remote}),i.category&&(a.type="category");var s=e.watcher(i,"model",function(e){t.search("set value",e&&c in e?e[c]:e)});e.onEvent(a,"onSelect",function(e,n){s.set(e),o.text&&i.$evalAsync(function(){i.text=e[c]})}),e.linkEvents(i,a,$.fn.search.settings,{onSelect:"onSelect",onResultsAdd:"onResultsAdd",onSearchQuery:"onSearchQuery",onResults:"onResults",onResultsOpen:"onResultsOpen",onResultsClose:"onResultsClose"}),t.search(a),angular.isFunction(i.onInit)&&i.onInit(t),i.model&&o.text&&c in i.model&&(i.text=i.model[c])}}e.factory("SemanticSearchLink",["SemanticUI",t]).directive("smSearchBind",["SemanticUI",n]).directive("smSearch",["SemanticSearchLink",i]);var o={smSearchQuery:"query",smSearchCancelQuery:"cancel query",smSearchSearchLocal:"search local",smSearchSearchRemote:"search remote",smSearchSet:"set value",smSearchShowResults:"show results",smSearchHideResults:"hide results",smSearchDestroy:"destroy"};angular.forEach(o,function(n,i){e.directive(i,["SemanticUI",function(e){return e.createBehavior(i,"search",n)}])})}(angular.module("semantic-ui-search",["semantic-ui-core"])),function(e){function n(e){return e.createBind("smSidebarBind","sidebar")}function i(e){return{restrict:"E",replace:!0,scope:{items:"=",label:"&",onClick:"&",visible:"=",settings:"=",onInit:"=",onVisible:"=",onShow:"=",onChange:"=",onHide:"=",onHidden:"="},template:['"].join("\n"),link:e}}function t(e){return function(n,i,t){var o=n.settings||{};if(e.setDefaultFunction(n,"label",t,function(e){
-return e.item}),e.linkSettings(n,i,t,"sidebar"),t.visible){var a=e.watcher(n,"visible",function(e){i.sidebar(e?"show":"hide")});e.onEvent(o,"onHide",function(){a.set(!1)}),e.onEvent(o,"onShow",function(){a.set(!0)})}e.linkEvents(n,o,$.fn.sidebar.settings,{onVisible:"onVisible",onShow:"onShow",onChange:"onChange",onHide:"onHide",onHidden:"onHidden"});var c=$(".pusher");c.length&&i.insertBefore(c),i.sidebar(o),n.visible&&i.sidebar("show"),angular.isFunction(n.onInit)&&n.onInit(i)}}e.factory("SemanticSidebarLink",["SemanticUI",t]).directive("smSidebarBind",["SemanticUI",n]).directive("smSidebar",["SemanticSidebarLink",i]);var o={smSidebarShow:"show",smSidebarHide:"hide",smSidebarToggle:"toggle",smSidebarPushPage:"push page",smSidebarPullPage:"pull page",smSidebarAddBodyCss:"add body css",smSidebarRemoveBodyCss:"remove body css"};angular.forEach(o,function(n,i){e.directive(i,["SemanticUI",function(e){return e.createBehavior(i,"sidebar",n)}])})}(angular.module("semantic-ui-sidebar",["semantic-ui-core"])),function(e){function n(e){return e.createBind("smShapeBind","shape")}function i(e){return{restrict:"E",replace:!0,transclude:!0,scope:{settings:"=",onInit:"=",onBeforeChange:"=",onChange:"="},template:['"].join("\n"),link:e}}function t(e){return function(n,i,t){var o=n.settings||{};e.linkSettings(n,i,t,"shape"),e.linkEvents(n,o,$.fn.shape.settings,{onBeforeChange:"onBeforeChange",onChange:"onChange"}),i.shape(o),angular.isFunction(n.onInit)&&n.onInit(i)}}e.factory("SemanticShapeLink",["SemanticUI",t]).directive("smShapeBind",["SemanticUI",n]).directive("smShape",["SemanticShapeLink",i]);var o={smShapeFlipUp:"flip up",smShapeFlipDown:"flip down",smShapeFlipLeft:"flip left",smShapeFlipRight:"flip right",smShapeFlipOver:"flip over",smShapeFlipBack:"flip back",smShapeSetNextSide:"set next side",smShapeReset:"reset",smShapeQueue:"queue",smShapeRepaint:"repaint",smShapeSetDefaultSide:"set default side",smShapeSetStageSize:"set stage size",smShapeRefresh:"refresh"};angular.forEach(o,function(n,i){e.directive(i,["SemanticUI",function(e){return e.createBehavior(i,"shape",n)}])})}(angular.module("semantic-ui-shape",["semantic-ui-core"])),function(e){function n(e){return e.createBind("smStickyBind","sticky")}function i(e){return{restrict:"E",replace:!0,transclude:!0,scope:{context:"@",settings:"=",onInit:"=",onReposition:"=",onScroll:"=",onStick:"=",onUnstick:"=",onTop:"=",onBottom:"="},template:'',link:e}}function t(e){return function(n,i,t){i.ready(function(){var o=n.settings||{};e.linkSettings(n,i,t,"sticky",!0),e.linkEvents(n,o,$.fn.sticky.settings,{onReposition:"onReposition",onScroll:"onScroll",onStick:"onStick",onStick:"onStick",onTop:"onTop",onBottom:"onBottom"}),o.context||(o.context=n.context),i.sticky(o),angular.isFunction(n.onInit)&&n.onInit(i)})}}e.factory("SemanticStickyLink",["SemanticUI",t]).directive("smStickyBind",["SemanticUI",n]).directive("smSticky",["SemanticStickyLink",i]);var o={smStickyRefresh:"refresh"};angular.forEach(o,function(n,i){e.directive(i,["SemanticUI",function(e){return e.createBehavior(i,"sticky",n)}])})}(angular.module("semantic-ui-sticky",["semantic-ui-core"])),function(e){function n(e){return e.createBind("smTabBind","tab")}function i(e){return{restrict:"E",replace:!0,scope:{tabs:"=",active:"=?",settings:"="},template:['"].join("\n"),link:e}}function t(e,n){return function(i,t,o){var a=function(e){e&&t.tab("change tab",e)};n(function(){var n=i.settings||{},c=t.children(".item"),s=!!o.active;if(e.linkSettings(i,c,o,"tab",!0),s){var r=e.watcher(i,"active",function(e){a(e)});e.onEvent(n,"onVisible",function(e){r.set(e)})}c.tab(n),s&&a(i.active)})}}function o(e){return{restrict:"E",replace:!0,transclude:!0,scope:{name:"@"},template:''}}e.factory("SemanticTabMenuLink",["SemanticUI","$timeout",t]).directive("smTabBind",["SemanticUI",n]).directive("smTabMenu",["SemanticTabMenuLink",i]).directive("smTab",["SemanticUI",o]);var a={smTabSet:"change tab"};angular.forEach(a,function(n,i){e.directive(i,["SemanticUI",function(e){return e.createBehavior(i,"tab",n)}])})}(angular.module("semantic-ui-tab",["semantic-ui-core"])),function(e){function n(){function e(e){var n=e.getHours(),i=e.getMinutes(),t=10>i?"0"+i:i;return a[n%a.length]+":"+t+(12>n?"AM":"PM")}function n(e){return e>=11&&13>=e?e+"th":e+o[e%o.length]}function i(e){return Math.ceil(((new Date).getTime()-e.getTime())/864e5)}var t=["January","February","March","April","May","June","July","August","September","October","November","December"],o=["th","st","nd","rd","th","th","th","th","th","th"],a=["12","1","2","3","4","5","6","7","8","9","10","11"];return{restrict:"A",link:function(o,a,c){var s=!1,r=!1,l=function(){var o=new Date,c=new Date(o.getFullYear(),o.getMonth(),o.getDate()),u=new Date(o.getFullYear(),o.getMonth(),o.getDate()-1),d=o.getTime()-r.getTime(),m="",p=!1;if(6e4>d)m="Just now",p=6e4-d;else if(36e5>d){var h=Math.floor(d/6e4);m=1===h?"1 minute ago":h+" minutes ago",p=d%6e4}else if(r.getTime()>c.getTime())m="Today at "+e(r),p=d%36e5;else if(r.getTime()>u.getTime())m="Yesterday at "+e(r),p=d%36e5;else if(r.getMonth()===o.getMonth()&&r.getFullYear()===o.getFullYear())m+="The "+n(r.getDate()),m+=" at "+e(r),m+=" ("+i(r)+" days ago)",p=864e5;else{m+=t[r.getMonth()]+" "+n(r.getDate()),r.getFullYear()!==o.getFullYear()&&(m+=" "+r.getFullYear()),m+=" at "+e(r);var g=i(r);60>=g&&(m+=" ("+i(r)+" days ago)")}a.text(m),s&&(clearTimeout(s),s=!1),p&&(s=setTimeout(function(){s=!1,l()},p))};o.$watch(c.smTimeAgo,function(e){r=new Date(e),l()})}}}e.directive("smTimeAgo",n)}(angular.module("semantic-ui-timeago",["semantic-ui-core"])),function(e){function n(e){return{restrict:"A",scope:{smTransition:"@",smTransitionEvents:"@",smTransitionOther:"@"},link:e}}function i(e){return function(e,n,i){e.smTransitionEvents=e.smTransitionEvents||"click",n.on(e.smTransitionEvents,function(){(e.smTransitionOther?$(e.smTransitionOther):n).transition(e.smTransition)})}}e.factory("SemanticTransitionLink",["SemanticUI",i]).directive("smTransition",["SemanticTransitionLink",n])}(angular.module("semantic-ui-transition",["semantic-ui-core"]));
-//# sourceMappingURL=angular-semantic-ui.min.js.map
\ No newline at end of file
+angular.module("semantic-ui",["semantic-ui-core","semantic-ui-accordion","semantic-ui-checkbox","semantic-ui-radio","semantic-ui-comment","semantic-ui-dimmer","semantic-ui-dropdown","semantic-ui-embed","semantic-ui-list","semantic-ui-menu","semantic-ui-modal","semantic-ui-popup","semantic-ui-progress","semantic-ui-rating","semantic-ui-search","semantic-ui-shape","semantic-ui-sidebar","semantic-ui-sticky","semantic-ui-tab","semantic-ui-transition","semantic-ui-timeago"]),function(e){function n(e){var n={setDefaultFunction:function(e,n,i,t){i[n]||(e[n]=t)},triggerChange:function(e,n,i,t){e.$watch(n,function(n){t&&e.$evalAsync(function(){i.trigger("change")}),t=!0})},bindAttribute:function(e,n,i,t){e.$watch(n,function(e){i.attr(t,e)})},onEvent:function(e,n,i){e[n]=function(e,n){return function(){var t=n;angular.isFunction(e)&&(t=e.apply(this,arguments));var o=i.apply(this,arguments);return t!==n?t:o}}(e[n])},linkEvents:function(e,i,t,o){for(var a in o)!function(o,a){n.onEvent(i,a,function(){var n=e[o];return angular.isFunction(n)?n.apply(this,arguments):angular.isFunction(t[a])?t[a].apply(this,arguments):void 0})}(o[a],a)},linkSettings:function(e,n,i,t,o,a){var c=a||"settings";c in i&&e.$watch(c,function(e){o&&angular.forEach(e,function(e,i){n[t]("setting",i,e)}),o=!0},!0)},createBind:function(e,i){return{restrict:"A",link:function(t,o,a){n.linkSettings(t,o,a,i,!1,e),n.initBind(t,o,a,e,i)}}},initBind:function(e,n,i,t,o){n.ready(function(){var a={},c=i[t];c&&(a=e.$eval(c)),n[o](a)})},createBehavior:function(e,i,t){return{restrict:"A",link:function(o,a,c){n.initBehavior(o,c,e,a,i,t)}}},initBehavior:function(e,n,i,t,o,a){var c={$:void 0,evt:"click",enabled:!0,value:void 0},s=function(){c.enabled&&$(c.$)[o](a,c.value)},r=!1;e.$watch(n[i],function(e){angular.isString(e)?c.$=e:angular.isObject(e)&&(angular.isString(e.evt)||(e.evt=c.evt),angular.isDefined(e.enabled)||(e.enabled=c.enabled),c=e),r&&t.off(r,s),t.on(r=c.evt,s)},!0)},watcher:function(e,n,i,t,o,a){var c=!1;return e.$watch(n,function(e){c||i.call(t,e),c=!1},a),{set:function(i){(e[n]!=i||o)&&e.$evalAsync(function(){e[n]=i,c=!0})},update:function(){e.$evalAsync(function(){c=!0})}}},RecursiveCompiler:function(n){return function(i,t){angular.isFunction(t)&&(t={post:t});var o,a=i.contents().remove();return{pre:t&&t.pre?t.pre:null,post:function(i,c){o||(o=e(a)),o(i,function(e){c.append(e)}),t&&t.post&&t.post.apply(null,arguments),angular.isFunction(n)&&n.apply(null,arguments)}}}}};return n}function i(){return{restrict:"E",replace:!0,transclude:!0,template:''}}function t(){return{restrict:"E",replace:!0,transclude:!0,scope:{icon:"@"},template:''}}function o(){return{restrict:"E",replace:!0,template:['"].join("\n")}}function a(e){var n=function(e){return e};try{$sce=e.get("$sce"),n=function(e){return $sce.getTrustedHtml($sce.trustAsHtml(e))}}catch(i){}return function(e,i,t){e.$watch(t.smHtml,function(e){i.html(n(e||""))})}}e.factory("SemanticUI",["$compile",n]).directive("smButton",i).directive("smMenuItem",t).directive("smFlatMenu",o).directive("smHtml",["$injector",a])}(angular.module("semantic-ui-core",[])),function(e){function n(e){return e.createBind("smAccordionBind","accordion")}function i(e){return{restrict:"E",replace:!0,transclude:!0,scope:{settings:"=",onInit:"=",onOpening:"=",onOpen:"=",onClosing:"=",onClose:"=",onChange:"="},template:'',link:e}}function t(e){return function(n,i,t){i.ready(function(){var o=n.settings||{};e.linkSettings(n,i,t,"accordion",!0),e.linkEvents(n,o,$.fn.accordion.settings,{onOpening:"onOpening",onOpen:"onOpen",onClosing:"onClosing",onClose:"onClose",onChange:"onChange"}),i.accordion(o),angular.isFunction(n.onInit)&&n.onInit(i)})}}function o(){return{restrict:"E",required:"title",transclude:!0,scope:{title:"=",active:"="},template:['',' '," {{ title }}","
",'',"
"].join("\n")}}e.factory("SemanticAccordionLink",["SemanticUI",t]).directive("smAccordionBind",["SemanticUI",n]).directive("smAccordion",["SemanticAccordionLink",i]).directive("smAccordionGroup",o);var a={smAccordionOpen:"open",smAccordionCloseOthers:"close others",smAccordionClose:"close",smAccordionToggle:"toggle"};angular.forEach(a,function(n,i){e.directive(i,["SemanticUI",function(e){return e.createBehavior(i,"accordion",n)}])})}(angular.module("semantic-ui-accordion",["semantic-ui-core"])),function(e){function n(e){return e.createBind("smCheckboxBind","checkbox")}function i(e){return{restrict:"E",replace:!0,transclude:!0,scope:{model:"=",label:"@",settings:"=",enabled:"=",indeterminateValue:"=",checkedValue:"=",uncheckedValue:"=",children:"@",onInit:"=",onChange:"=",onChecked:"=",onIndeterminate:"=",onDeterminate:"=",onUnchecked:"=",onEnable:"=",onDisable:"="},template:['',' '," ","
"].join("\n"),link:e}}function t(e){return function(n,i,t){i.ready(function(){var o=n.settings||{};e.linkSettings(n,i,t,"checkbox",!0),e.triggerChange(n,"model",i,!0);var a=function(){return!angular.isDefined(n.checkedValue)||n.checkedValue},c=function(){return!!angular.isDefined(n.uncheckedValue)&&n.uncheckedValue},s=function(){return angular.isDefined(n.indeterminateValue)?n.indeterminateValue:void 0};if(t.enabled){var r=e.watcher(n,"enabled",function(e){angular.isDefined(e)&&i.checkbox(e?"set enabled":"set disabled")});e.onEvent(o,"onEnable",function(e){r.set(!0)}),e.onEvent(o,"onDisable",function(e){r.set(!1)})}var l=e.watcher(n,"model",function(e){angular.isDefined(e)&&i.checkbox(e?"set checked":"set unchecked")});if(e.onEvent(o,"onChecked",function(){l.set(a())}),e.onEvent(o,"onUnchecked",function(){l.set(c())}),e.onEvent(o,"onIndeterminate",function(){l.set(s())}),e.linkEvents(n,o,$.fn.checkbox.settings,{onChange:"onChange",onChecked:"onChecked",onIndeterminate:"onIndeterminate",onDeterminate:"onDeterminate",onUnchecked:"onUnchecked",onEnable:"onEnable",onDisable:"onDisable"}),n.children){var u=$(n.children),d=!1;e.onEvent(o,"onChecked",function(){d=!0,u.checkbox("check"),d=!1}),e.onEvent(o,"onUnchecked",function(){d=!0,u.checkbox("uncheck"),d=!1}),u.children("input[type=checkbox], input[type=radio]").change(function(){if(!d){var e=0;u.each(function(n,i){$(i).checkbox("is checked")&&e++}),0===e?i.checkbox("uncheck"):e===u.length?i.checkbox("check"):i.checkbox("indeterminate")}})}i.checkbox(o),n.model==a()?i.checkbox("set checked"):n.model===s()&&i.checkbox("set indeterminate"),angular.isDefined(n.enabled)&&!n.enabled&&i.checkbox("set disabled"),angular.isFunction(n.onInit)&&n.onInit(i)})}}e.factory("SemanticCheckboxLink",["SemanticUI",t]).directive("smCheckboxBind",["SemanticUI",n]).directive("smCheckbox",["SemanticCheckboxLink",i]);var o={smCheckboxToggle:"toggle",smCheckboxCheck:"check",smCheckboxUncheck:"uncheck",smCheckboxIndeterminate:"indeterminate",smCheckboxDeterminate:"determinate",smCheckboxEnable:"enable",smCheckboxDisable:"disable"};angular.forEach(o,function(n,i){e.directive(i,["SemanticUI",function(e){return e.createBehavior(i,"checkbox",n)}])})}(angular.module("semantic-ui-checkbox",["semantic-ui-core"])),function(e){function n(e){return e.createBind("smRadioBind","checkbox")}function i(e){return{restrict:"E",replace:!0,transclude:!0,scope:{model:"=",label:"@",name:"@",value:"=",settings:"=",enabled:"=",onInit:"=",onChange:"=",onChecked:"=",onUnchecked:"=",onEnable:"=",onDisable:"="},template:['',' '," ","
"].join("\n"),link:e}}function t(e){return function(n,i,t){i.ready(function(){var o=n.settings||{};if(e.linkSettings(n,i,t,"checkbox",!0),e.triggerChange(n,"model",i,!0),t.enabled){var a=e.watcher(n,"enabled",function(e){angular.isDefined(e)&&i.checkbox(e?"set enabled":"set disabled")});e.onEvent(o,"onEnable",function(e){a.set(!0)}),e.onEvent(o,"onDisable",function(e){a.set(!1)})}var c=e.watcher(n,"model",function(e){e===n.value&&i.checkbox("set checked")});e.onEvent(o,"onChecked",function(){c.set(n.value)}),e.linkEvents(n,o,$.fn.checkbox.settings,{onChange:"onChange",onChecked:"onChecked",onUnchecked:"onUnchecked",onEnable:"onEnable",onDisable:"onDisable"}),i.checkbox(o),n.model===n.value&&i.checkbox("set checked"),i.hasClass("slider")&&i.removeClass("radio"),angular.isDefined(n.enabled)&&!n.enabled&&i.checkbox("set disabled"),angular.isFunction(n.onInit)&&n.onInit(i)})}}e.factory("SemanticRadioLink",["SemanticUI",t]).directive("smRadioBind",["SemanticUI",n]).directive("smRadio",["SemanticRadioLink",i]);var o={smRadioCheck:"check",smRadioEnable:"enable",smRadioDisable:"disable"};angular.forEach(o,function(n,i){e.directive(i,["SemanticUI",function(e){return e.createBehavior(i,"checkbox",n)}])})}(angular.module("semantic-ui-radio",["semantic-ui-core"])),function(e){function n(e){return{restrict:"E",replace:!0,scope:{comments:"=",content:"&",avatar:"&",author:"&",date:"&",replies:"&",reply:"=",collapsible:"=",onAuthor:"&",onReply:"&",onShowReplies:"&",onHideReplies:"&"},template:['"].join("\n"),controller:"SemanticCommentsController",compile:e.RecursiveCompiler()}}function i(e){e.setCollapsed=function(n,i,t){var o={comment:n,$event:i};n.$isCollapsed!=t&&(n.$isCollapsed?e.onShowReplies(o)!==!1&&(n.$isCollapsed=!1):e.onHideReplies(o)!==!1&&(n.$isCollapsed=!0))},e.hasReplies=function(n){if(!e.reply)return!1;var i=e.replies(n);return i&&i.length},e.getReplyCount=function(n){if(!e.reply)return!1;var i=e.replies(n);return i?i.length:0},e.getShowRepliesText=function(n){var i=e.getReplyCount(n);return 0===i?"":1===i?"Show Reply":"Show Replies ("+i+")"},e.getHideRepliesText=function(n){var i=e.getReplyCount(n);return 0===i?"":1===i?"Hide Reply":"Hide Replies ("+i+")"}}e.controller("SemanticCommentsController",["$scope",i]).directive("smComments",["SemanticUI",n])}(angular.module("semantic-ui-comment",["semantic-ui-core","semantic-ui-timeago"])),function(e){function n(e){return e.createBind("smDropdownBind","dropdown")}function i(e){return{restrict:"E",replace:!0,transclude:!0,scope:{model:"=",items:"=",label:"&",value:"&",settings:"=",defaultText:"=",onInit:"=",emptyValue:"=",onChange:"=",onAdd:"=",onRemove:"=",onLabelCreate:"=",onLabelSelect:"=",onNoResults:"=",onShow:"=",onHide:"="},template:['"].join("\n"),controller:"SemanticDropdownController",link:e}}function t(e){var n={};e.getValue=function(n){return e.getKey(e.value({item:n}))},e.getKey=function(e){return(e?e.$$hashKey||e:e)+""},e.isEmpty=function(){return!e.model||0===e.model.length},e.translateValue=function(n){var i=e.getKey(n),t=e.findMatchingItem(i);if(angular.isDefined(t))return e.getValue(t)},e.hasDefault=function(){return e.defaultText&&e.isEmpty()},e.getDefaultText=function(){return e.isEmpty()?e.defaultText:""},e.findMatchingItem=function(e){return n[e]},e.updateHashMap=function(i){n={},angular.forEach(i,function(i){n[e.getValue(i)]=i})}}function o(e,n){return function(i,t,o){var a=function(e){n(function(){if(t.dropdown("is multiple")){if(e instanceof Array){for(var n=[],o=0;o',link:e}}function t(e){return function(n,i,t){var o=n.settings||{};if(e.linkSettings(n,i,t,"dimmer"),t.visible){var a=e.watcher(n,"visible",function(e){i.dimmer(e?"show":"hide")});e.onEvent(o,"onShow",function(e){a.set(!0)}),e.onEvent(o,"onHide",function(e){a.set(!1)})}e.linkEvents(n,o,$.fn.dimmer.settings,{onShow:"onShow",onHide:"onHide",onChange:"onChange"}),i.dimmer(o),angular.isFunction(n.onInit)&&n.onInit(i)}}e.factory("SemanticDimmerLink",["SemanticUI",t]).directive("smDimmerBind",["SemanticUI",n]).directive("smDimmer",["SemanticDimmerLink",i]);var o={smDimmerShow:"show",smDimmerHide:"hide",smDimmerToggle:"toggle"};angular.forEach(o,function(n,i){e.directive(i,["SemanticUI",function(e){return e.createBehavior(i,"dimmer",n)}])})}(angular.module("semantic-ui-dimmer",["semantic-ui-core"])),function(e){function n(e){return e.createBind("smEmbedBind","embed")}function i(e){return{restrict:"E",replace:!0,transclude:!0,scope:{source:"@",sourceId:"@",url:"@",placeholder:"@",icon:"@",settings:"=",onInit:"=",onCreate:"=",onDisplay:"=",onPlaceholderDisplay:"=",onEmbed:"="},template:'',link:e}}function t(e){return function(n,i,t){var o=n.settings||{};e.linkSettings(n,i,t,"embed"),n.source&&(o.source=n.source),n.sourceId&&(o.id=n.sourceId),n.placeholder&&(o.placeholder=n.placeholder),n.icon&&(o.icon=n.icon),n.url&&(o.url=n.url),e.linkEvents(n,o,$.fn.embed.settings,{onCreate:"onCreate",onDisplay:"onDisplay",onPlaceholderDisplay:"onPlaceholderDisplay",onEmbed:"onEmbed"}),i.embed(o),angular.isFunction(n.onInit)&&n.onInit(i)}}e.factory("SemanticEmbedLink",["SemanticUI",t]).directive("smEmbedBind",["SemanticUI",n]).directive("smEmbed",["SemanticEmbedLink",i]);var o={smEmbedReset:"reset",smEmbedShow:"show",smEmbedHide:"hide",smEmbedDestroy:"destroy"};angular.forEach(o,function(n,i){e.directive(i,["SemanticUI",function(e){return e.createBehavior(i,"embed",n)}])})}(angular.module("semantic-ui-embed",["semantic-ui-core"])),function(e){function n(e,n){return{restrict:"E",replace:!0,scope:{items:"=",description:"&",icon:"&",image:"&",header:"&",headerHref:"&",children:"&",onHeader:"&",has:"=?"},template:['','
','
','
![]()
','
",'
',"
","
"].join("\n"),compile:e.RecursiveCompiler(n)}}function i(e){return function(n,i,t){n.has||(n.has={icon:!!t.icon,image:!!t.image,header:!!t.header,headerLink:!!t.headerHref,description:!!t.description,children:!!t.children}),n.getChildCount=function(e){var i=n.children(e);return i?i.length:0},e.setDefaultFunction(n,"description",t,function(e){return e.item}),e.setDefaultFunction(n,"icon",t,function(e){return e.item.icon}),e.setDefaultFunction(n,"header",t,function(e){return e.item.header}),e.setDefaultFunction(n,"children",t,function(e){return e.item.children})}}e.factory("SemanticListLink",["SemanticUI",i]).directive("smList",["SemanticUI","SemanticListLink",n])}(angular.module("semantic-ui-list",["semantic-ui-core"])),function(e){function n(e){return{restrict:"E",replace:!0,scope:{items:"=",label:"&",onClick:"&",children:"&",description:"&",icon:"&",hidden:"&",divider:"&"},template:['"].join("\n"),controller:"SemanticMenuController",compile:e.RecursiveCompiler()}}function i(e){e.hasChildren=function(n){var i=e.children({item:n});return i&&i.length},e.getChildren=function(n){return e.children({item:n})},e.getLabel=function(n){return e.label({item:n})},e.getIcon=function(n){return e.icon({item:n})},e.getDescription=function(n){return e.description({item:n})},e.isHidden=function(n){return e.hidden({item:n})},e.isDivider=function(n){return e.divider({item:n})}}e.controller("SemanticMenuController",["$scope",i]).directive("smMenu",["SemanticUI",n])}(angular.module("semantic-ui-menu",["semantic-ui-core"])),function(e){function n(e){return e.createBind("smModalBind","modal")}function i(e){return{restrict:"E",replace:!0,transclude:!0,scope:{visible:"=",settings:"=",onInit:"=",onShow:"=",onVisible:"=",onHide:"=",onHidden:"=",onApprove:"=",onDeny:"="},template:'',link:e}}function t(e){return function(n,i,t){var o=n.settings||{};if(e.linkSettings(n,i,t,"modal"),t.visible){var a=e.watcher(n,"visible",function(e){i.modal(e?"show":"hide")});e.onEvent(o,"onHide",function(){a.set(!1)}),e.onEvent(o,"onShow",function(){a.set(!0)})}e.linkEvents(n,o,$.fn.modal.settings,{onShow:"onShow",onVisible:"onVisible",onHide:"onHide",onHidden:"onHidden",onApprove:"onApprove",onDeny:"onDeny"}),i.modal(o),angular.isFunction(n.onInit)&&n.onInit(i)}}e.factory("SemanticModalLink",["SemanticUI",t]).directive("smModalBind",["SemanticUI",n]).directive("smModal",["SemanticModalLink",i]);var o={smModalShow:"show",smModalHide:"hide",smModalToggle:"toggle",smModalRefresh:"refresh",smModalShowDimmer:"show dimmer",smModalHideDimmer:"hide dimmer",smModalHideOthers:"hide others",smModalHideAll:"hide all",smModalCacheSizes:"cache sizes",smModalSetActive:"set active"};angular.forEach(o,function(n,i){e.directive(i,["SemanticUI",function(e){return e.createBehavior(i,"modal",n)}])})}(angular.module("semantic-ui-modal",["semantic-ui-core"])),function(e){function n(e){return e.createBind("smProgressBind","progress")}function i(e){return{restrict:"E",replace:!0,transclude:!0,scope:{model:"=",total:"=",label:"@",activeText:"@",successText:"@",errorText:"@",warningText:"@",duration:"@",onInit:"=",onChange:"=",onSuccess:"=",onActive:"=",onError:"=",onWarning:"="},template:['"].join("\n"),link:e}}function t(e){var n=function(e,n,i,t,o){angular.isDefined(n[t])&&(i.text=i.text||{},i.text[o]=e[t])};return function(i,t,o){var a=i.settings||{};e.linkSettings(i,t,o,"progress"),e.linkEvents(i,a,$.fn.progress.settings,{onChange:"onChange",onSuccess:"onSuccess",onActive:"onActive",onError:"onError",onWarning:"onWarning"}),angular.isDefined(a.showActivity)||(a.showActivity=!1),angular.isDefined(o.label)&&(a.label=i.label),angular.isDefined(o.total)?a.total=i.total:a.total=100,angular.isDefined(o.model)&&(a.value=i.model),n(i,o,a,"activeText","active"),n(i,o,a,"successText","success"),n(i,o,a,"errorText","error"),n(i,o,a,"warningText","warning"),t.progress(a),e.watcher(i,"model",function(e){var n=t.progress("get total")||100;t.progress("set percent",100*e/n),t.progress("set value",e)}),angular.isDefined(o.duration)&&e.watcher(i,"duration",function(e){t.progress("set duration",e)}),angular.isDefined(o.total)&&e.watcher(i,"total",function(e){t.progress("set total",e)}),angular.isFunction(i.onInit)&&i.onInit(t)}}e.factory("SemanticProgressLink",["SemanticUI",t]).directive("smProgressBind",["SemanticUI",n]).directive("smProgress",["SemanticProgressLink",i]);var o={smProgressIncrement:"increment"};angular.forEach(o,function(n,i){e.directive(i,["SemanticUI",function(e){return e.createBehavior(i,"progress",n)}])})}(angular.module("semantic-ui-progress",["semantic-ui-core"])),function(e){function n(e){return e.createBind("smPopupBind","popup")}function i(e){return{restrict:"A",scope:{smPopup:"=",smPopupTitle:"=",smPopupHtml:"=",smPopupPosition:"@",smPopupVariation:"@",smPopupSettings:"=",smPopupOnInit:"=",smPopupOnCreate:"=",smPopupOnRemove:"=",smPopupOnShow:"=",smPopupOnVisible:"=",smPopupOnHide:"=",smPopupOnHidden:"="},link:e}}function t(e){return function(n,i,t){var o=n.smPopupSettings||{};e.linkSettings(n,i,t,"popup",!1,"smPopupSettings"),e.bindAttribute(n,"smPopup",i,"data-content"),e.bindAttribute(n,"smPopupTitle",i,"data-title"),e.bindAttribute(n,"smPopupHtml",i,"data-html"),e.bindAttribute(n,"smPopupPosition",i,"data-position"),e.bindAttribute(n,"smPopupVariation",i,"data-variation"),e.linkEvents(n,o,{onCreate:"smPopupOnCreate",onRemove:"smPopupOnRemove",onShow:"smPopupOnShow",onVisible:"smPopupOnVisible",onHide:"smPopupOnHide",onHidden:"smPopupOnHidden"}),i.popup(o),angular.isFunction(n.smPopupOnInit)&&n.smPopupOnInit(i)}}function o(e){return{restrict:"A",scope:{smPopupInline:"=",smPopupInlineOnInit:"=",smPopupInlineOnCreate:"=",smPopupInlineOnRemove:"=",smPopupInlineOnShow:"=",smPopupInlineOnVisible:"=",smPopupInlineOnHide:"=",smPopupInlineOnHidden:"="},link:e}}function a(e){return function(n,i,t){var o=n.smPopupInline||{};e.linkSettings(n,i,t,"popup",!1,"smPopupInline"),e.linkEvents(n,o,{onCreate:"smPopupInlineOnCreate",onRemove:"smPopupInlineOnRemove",onShow:"smPopupInlineOnShow",onVisible:"smPopupInlineOnVisible",onHide:"smPopupInlineOnHide",onHidden:"smPopupInlineOnHidden"}),o.inline=!0,i.popup(o),angular.isFunction(n.smPopupInlineOnInit)&&n.smPopupInlineOnInit(i)}}function c(e){return{restrict:"A",scope:{smPopupDisplay:"@",smPopupDisplaySettings:"=",smPopupDisplayOnInit:"=",smPopupDisplayOnCreate:"=",smPopupDisplayOnRemove:"=",smPopupDisplayOnShow:"=",smPopupDisplayOnVisible:"=",smPopupDisplayOnHide:"=",smPopupDisplayOnHidden:"="},link:e}}function s(e){return function(n,i,t){var o=n.smPopupDisplaySettings||{};e.linkSettings(n,i,t,"popup",!1,"smPopupDisplaySettings"),e.linkEvents(n,o,$.fn.popup.settings,{onCreate:"smPopupDisplayOnCreate",onRemove:"smPopupDisplayOnRemove",onShow:"smPopupDisplayOnShow",onVisible:"smPopupDisplayOnVisible",onHide:"smPopupDisplayOnHide",onHidden:"smPopupDisplayOnHidden"}),o.popup='[data-popup-named="'+t.smPopupDisplay+'"]',i.popup(o),angular.isFunction(n.smPopupDisplayOnInit)&&n.smPopupDisplayOnInit(i)}}function r(){return{restrict:"E",replace:!0,transclude:!0,scope:{name:"@"},template:''}}e.factory("SemanticPopupLink",["SemanticUI",t]).factory("SemanticPopupInlineLink",["SemanticUI",a]).factory("SemanticPopupDisplayLink",["SemanticUI",s]).directive("smPopupBind",["SemanticUI",n]).directive("smPopup",["SemanticPopupLink",i]).directive("smPopupInline",["SemanticPopupInlineLink",o]).directive("smPopupDisplay",["SemanticPopupDisplayLink",c]).directive("smPopupDetached",[r]);var l={smPopupShow:"show",smPopupHide:"hide",smPopupHideAll:"hide all",smPopupToggle:"toggle",smPopupReposition:"reposition",smPopupDestroy:"destroy",smPopupRemove:"remove popup"};angular.forEach(l,function(n,i){e.directive(i,["SemanticUI",function(e){return e.createBehavior(i,"popup",n)}])})}(angular.module("semantic-ui-popup",["semantic-ui-core"])),function(e){function n(e){return e.createBind("smRatingBind","rating")}function i(e){return{restrict:"E",replace:!0,scope:{model:"=",total:"=",type:"@",disabled:"=",settings:"=",onInit:"=",onRate:"="},template:'',link:e}}function t(e){return function(n,i,t){i.ready(function(){var o=n.settings||{};if(e.linkSettings(n,i,t,"rating",!0),e.triggerChange(n,"model",i,!0),t.disabled){e.watcher(n,"disabled",function(e){i.rating(e?"disable":"enable")})}var a=e.watcher(n,"model",function(e){i.rating("set rating",e)});e.onEvent(o,"onRate",function(e){a.set(e)}),e.linkEvents(n,o,$.fn.rating.settings,{onRate:"onRate"}),i.rating(o),n.disabled&&i.rating("disable"),angular.isFunction(n.onInit)&&n.onInit(i)})}}e.factory("SemanticRatingLink",["SemanticUI",t]).directive("smRatingBind",["SemanticUI",n]).directive("smRating",["SemanticRatingLink",i]);var o={smRatingSet:"set rating",smRatingDisable:"disable",smRatingEnable:"enable",smRatingClear:"clear rating"};angular.forEach(o,function(n,i){e.directive(i,["SemanticUI",function(e){return e.createBehavior(i,"rating",n)}])})}(angular.module("semantic-ui-rating",["semantic-ui-core"])),function(e){function n(e){return e.createBind("smSearchBind","search")}function i(e){return{restrict:"E",replace:!0,scope:{model:"=",text:"=?",icon:"@",placeholder:"@",category:"@",local:"=",remote:"@",settings:"=",onInit:"=",onSelect:"=",onResultsAdd:"=",onSearchQuery:"=",onResults:"=",onResultsOpen:"=",onResultsClose:"="},template:['"].join("\n"),link:e}}function t(e){var n=$.fn.search&&$.fn.search.settings&&$.fn.search.settings.fields?$.fn.search.settings.fields.title:"";return function(i,t,o){var a=i.settings||{},c=a.fields&&a.fields.title?a.fields.title:n;e.linkSettings(i,t,o,"search"),i.local&&(a.source=i.local),i.remote&&(a.apiSettings={url:i.remote}),i.category&&(a.type="category");var s=e.watcher(i,"model",function(e){t.search("set value",e&&c in e?e[c]:e)});e.onEvent(a,"onSelect",function(e,n){s.set(e),o.text&&i.$evalAsync(function(){i.text=e[c]})}),e.linkEvents(i,a,$.fn.search.settings,{onSelect:"onSelect",onResultsAdd:"onResultsAdd",onSearchQuery:"onSearchQuery",onResults:"onResults",onResultsOpen:"onResultsOpen",onResultsClose:"onResultsClose"}),t.search(a),angular.isFunction(i.onInit)&&i.onInit(t),i.model&&o.text&&c in i.model&&(i.text=i.model[c])}}e.factory("SemanticSearchLink",["SemanticUI",t]).directive("smSearchBind",["SemanticUI",n]).directive("smSearch",["SemanticSearchLink",i]);var o={smSearchQuery:"query",smSearchCancelQuery:"cancel query",smSearchSearchLocal:"search local",smSearchSearchRemote:"search remote",smSearchSet:"set value",smSearchShowResults:"show results",smSearchHideResults:"hide results",smSearchDestroy:"destroy"};angular.forEach(o,function(n,i){e.directive(i,["SemanticUI",function(e){return e.createBehavior(i,"search",n)}])})}(angular.module("semantic-ui-search",["semantic-ui-core"])),function(e){function n(e){return e.createBind("smShapeBind","shape")}function i(e){return{restrict:"E",replace:!0,transclude:!0,scope:{settings:"=",onInit:"=",onBeforeChange:"=",onChange:"="},template:['"].join("\n"),link:e}}function t(e){return function(n,i,t){var o=n.settings||{};e.linkSettings(n,i,t,"shape"),e.linkEvents(n,o,$.fn.shape.settings,{onBeforeChange:"onBeforeChange",onChange:"onChange"}),i.shape(o),
+angular.isFunction(n.onInit)&&n.onInit(i)}}e.factory("SemanticShapeLink",["SemanticUI",t]).directive("smShapeBind",["SemanticUI",n]).directive("smShape",["SemanticShapeLink",i]);var o={smShapeFlipUp:"flip up",smShapeFlipDown:"flip down",smShapeFlipLeft:"flip left",smShapeFlipRight:"flip right",smShapeFlipOver:"flip over",smShapeFlipBack:"flip back",smShapeSetNextSide:"set next side",smShapeReset:"reset",smShapeQueue:"queue",smShapeRepaint:"repaint",smShapeSetDefaultSide:"set default side",smShapeSetStageSize:"set stage size",smShapeRefresh:"refresh"};angular.forEach(o,function(n,i){e.directive(i,["SemanticUI",function(e){return e.createBehavior(i,"shape",n)}])})}(angular.module("semantic-ui-shape",["semantic-ui-core"])),function(e){function n(e){return e.createBind("smSidebarBind","sidebar")}function i(e){return{restrict:"E",replace:!0,transclude:!0,scope:{onClick:"&",visible:"=",settings:"=",onInit:"=",onVisible:"=",onShow:"=",onChange:"=",onHide:"=",onHidden:"="},template:'',link:e}}function t(e){return function(n,i,t){var o=n.settings||{};if(e.linkSettings(n,i,t,"sidebar"),t.visible){var a=e.watcher(n,"visible",function(e){i.sidebar(e?"show":"hide")});e.onEvent(o,"onHide",function(){a.set(!1)}),e.onEvent(o,"onShow",function(){a.set(!0)})}e.linkEvents(n,o,$.fn.sidebar.settings,{onVisible:"onVisible",onShow:"onShow",onChange:"onChange",onHide:"onHide",onHidden:"onHidden"});var c=$(".pusher");c.length&&i.insertBefore(c),i.sidebar(o),n.visible&&i.sidebar("show"),angular.isFunction(n.onInit)&&n.onInit(i)}}e.factory("SemanticSidebarLink",["SemanticUI",t]).directive("smSidebarBind",["SemanticUI",n]).directive("smSidebar",["SemanticSidebarLink",i]);var o={smSidebarShow:"show",smSidebarHide:"hide",smSidebarToggle:"toggle",smSidebarPushPage:"push page",smSidebarPullPage:"pull page",smSidebarAddBodyCss:"add body css",smSidebarRemoveBodyCss:"remove body css"};angular.forEach(o,function(n,i){e.directive(i,["SemanticUI",function(e){return e.createBehavior(i,"sidebar",n)}])})}(angular.module("semantic-ui-sidebar",["semantic-ui-core"])),function(e){function n(e){return e.createBind("smStickyBind","sticky")}function i(e){return{restrict:"E",replace:!0,transclude:!0,scope:{context:"@",settings:"=",onInit:"=",onReposition:"=",onScroll:"=",onStick:"=",onUnstick:"=",onTop:"=",onBottom:"="},template:'',link:e}}function t(e){return function(n,i,t){i.ready(function(){var o=n.settings||{};e.linkSettings(n,i,t,"sticky",!0),e.linkEvents(n,o,$.fn.sticky.settings,{onReposition:"onReposition",onScroll:"onScroll",onStick:"onStick",onStick:"onStick",onTop:"onTop",onBottom:"onBottom"}),o.context||(o.context=n.context),i.sticky(o),angular.isFunction(n.onInit)&&n.onInit(i)})}}e.factory("SemanticStickyLink",["SemanticUI",t]).directive("smStickyBind",["SemanticUI",n]).directive("smSticky",["SemanticStickyLink",i]);var o={smStickyRefresh:"refresh"};angular.forEach(o,function(n,i){e.directive(i,["SemanticUI",function(e){return e.createBehavior(i,"sticky",n)}])})}(angular.module("semantic-ui-sticky",["semantic-ui-core"])),function(e){function n(e){return e.createBind("smTabBind","tab")}function i(e){return{restrict:"E",replace:!0,scope:{tabs:"=",active:"=?",settings:"="},template:['"].join("\n"),link:e}}function t(e,n){return function(i,t,o){var a=function(e){e&&t.tab("change tab",e)};n(function(){var n=i.settings||{},c=t.children(".item"),s=!!o.active;if(e.linkSettings(i,c,o,"tab",!0),s){var r=e.watcher(i,"active",function(e){a(e)});e.onEvent(n,"onVisible",function(e){r.set(e)})}c.tab(n),s&&a(i.active)})}}function o(e){return{restrict:"E",replace:!0,transclude:!0,scope:{name:"@"},template:''}}e.factory("SemanticTabMenuLink",["SemanticUI","$timeout",t]).directive("smTabBind",["SemanticUI",n]).directive("smTabMenu",["SemanticTabMenuLink",i]).directive("smTab",["SemanticUI",o]);var a={smTabSet:"change tab"};angular.forEach(a,function(n,i){e.directive(i,["SemanticUI",function(e){return e.createBehavior(i,"tab",n)}])})}(angular.module("semantic-ui-tab",["semantic-ui-core"])),function(e){function n(){function e(e){var n=e.getHours(),i=e.getMinutes(),t=i<10?"0"+i:i;return a[n%a.length]+":"+t+(n<12?"AM":"PM")}function n(e){return e>=11&&e<=13?e+"th":e+o[e%o.length]}function i(e){return Math.ceil(((new Date).getTime()-e.getTime())/864e5)}var t=["January","February","March","April","May","June","July","August","September","October","November","December"],o=["th","st","nd","rd","th","th","th","th","th","th"],a=["12","1","2","3","4","5","6","7","8","9","10","11"];return{restrict:"A",link:function(o,a,c){var s=!1,r=!1,l=function(){var o=new Date,c=new Date(o.getFullYear(),o.getMonth(),o.getDate()),u=new Date(o.getFullYear(),o.getMonth(),o.getDate()-1),d=o.getTime()-r.getTime(),m="",p=!1;if(d<6e4)m="Just now",p=6e4-d;else if(d<36e5){var h=Math.floor(d/6e4);m=1===h?"1 minute ago":h+" minutes ago",p=d%6e4}else if(r.getTime()>c.getTime())m="Today at "+e(r),p=d%36e5;else if(r.getTime()>u.getTime())m="Yesterday at "+e(r),p=d%36e5;else if(r.getMonth()===o.getMonth()&&r.getFullYear()===o.getFullYear())m+="The "+n(r.getDate()),m+=" at "+e(r),m+=" ("+i(r)+" days ago)",p=864e5;else{m+=t[r.getMonth()]+" "+n(r.getDate()),r.getFullYear()!==o.getFullYear()&&(m+=" "+r.getFullYear()),m+=" at "+e(r);var g=i(r);g<=60&&(m+=" ("+i(r)+" days ago)")}a.text(m),s&&(clearTimeout(s),s=!1),p&&(s=setTimeout(function(){s=!1,l()},p))};o.$watch(c.smTimeAgo,function(e){r=new Date(e),l()})}}}e.directive("smTimeAgo",n)}(angular.module("semantic-ui-timeago",["semantic-ui-core"])),function(e){function n(e){return{restrict:"A",scope:{smTransition:"@",smTransitionEvents:"@",smTransitionOther:"@"},link:e}}function i(e){return function(e,n,i){e.smTransitionEvents=e.smTransitionEvents||"click",n.on(e.smTransitionEvents,function(){(e.smTransitionOther?$(e.smTransitionOther):n).transition(e.smTransition)})}}e.factory("SemanticTransitionLink",["SemanticUI",i]).directive("smTransition",["SemanticTransitionLink",n])}(angular.module("semantic-ui-transition",["semantic-ui-core"]));
+//# sourceMappingURL=angular-semantic-ui.min.js.map
diff --git a/angular-semantic-ui.min.js.map b/angular-semantic-ui.min.js.map
index a19a956..a435aa7 100644
--- a/angular-semantic-ui.min.js.map
+++ b/angular-semantic-ui.min.js.map
@@ -6,4 +6,4 @@
* Released under the MIT license.
* Copyright 2016 Philip Diffenderfer and contributors.
*/
-{"version":3,"sources":["sm.js","sm-core.js","checkbox/sm-checkbox.js","checkbox/sm-radio.js","accordion/sm-accordion.js","comment/sm-comment.js","dimmer/sm-dimmer.js","dropdown/sm-dropdown.js","embed/sm-embed.js","list/sm-list.js","menu/sm-menu.js","modal/sm-modal.js","popup/sm-popup.js","progress/sm-progress.js","rating/sm-rating.js","search/sm-search.js","sidebar/sm-sidebar.js","shape/sm-shape.js","sticky/sm-sticky.js","tab/sm-tab.js","timeago/sm-timeago.js","transition/sm-transition.js"],"names":["angular","module","app","SemanticUIFactory","$compile","SemanticUI","setDefaultFunction","scope","variable","attributes","func","triggerChange","element","initialized","$watch","updated","$evalAsync","trigger","bindAttribute","attribute","attr","onEvent","settings","evt","existing","undefined","result0","isFunction","apply","this","arguments","result1","linkEvents","defaults","linkings","scopeValue","linkSettings","settingsAttribute","forEach","value","key","createBind","restrict","link","initBind","ready","input","$eval","createBehavior","method","initBehavior","$","enabled","previousEvent","isString","isObject","isDefined","off","on","watcher","expression","context","force","equals","ignoreUpdate","call","set","update","RecursiveCompiler","postLink","post","compiledContents","contents","remove","pre","clone","append","SemanticButton","replace","transclude","template","SemanticItem","icon","SemanticFlatMenu","join","SemanticHtml","$injector","sanitize","$sce","get","getTrustedHtml","trustAsHtml","e","attrs","smHtml","html","factory","directive","SemanticCheckboxBind","SemanticCheckbox","SemanticCheckboxLink","model","label","indeterminateValue","checkedValue","uncheckedValue","children","onInit","onChange","onChecked","onIndeterminate","onDeterminate","onUnchecked","onEnable","onDisable","enabledWatcher","checkbox","modelWatcher","fn","$children","settingChildren","change","checked","each","i","child","length","BEHAVIORS","smCheckboxToggle","smCheckboxCheck","smCheckboxUncheck","smCheckboxIndeterminate","smCheckboxDeterminate","smCheckboxEnable","smCheckboxDisable","SemanticRadioBind","SemanticRadio","SemanticRadioLink","name","hasClass","removeClass","smRadioCheck","smRadioEnable","smRadioDisable","SemanticAccordionBind","SemanticAccordion","SemanticAccordionLink","onOpening","onOpen","onClosing","onClose","accordion","SemanticAccordionGroup","required","title","active","smAccordionOpen","smAccordionCloseOthers","smAccordionClose","smAccordionToggle","SemanticComments","comments","content","avatar","author","date","replies","reply","collapsible","onAuthor","onReply","onShowReplies","onHideReplies","controller","compile","SemanticCommentsController","$scope","setCollapsed","comment","$event","collapse","$isCollapsed","hasReplies","getReplyCount","getShowRepliesText","count","getHideRepliesText","SemanticDimmerBind","SemanticDimmer","SemanticDimmerLink","visible","onShow","onHide","visibleWatcher","dimmer","smDimmerShow","smDimmerHide","smDimmerToggle","SemanticDropdownBind","SemanticDropdown","SemanticDropdownLink","items","defaultText","emptyValue","onAdd","onRemove","onLabelCreate","onLabelSelect","onNoResults","SemanticDropdownController","hashMap","getValue","item","getKey","$$hashKey","isEmpty","translateValue","translated","matching","findMatchingItem","hasDefault","getDefaultText","updateHashMap","$timeout","applyValue","dropdown","Array","translatedValue","push","locals","ignoreChange","modelArray","mapped","mappedValue","indexOf","inArray","splice","smDropdownToggle","smDropdownShow","smDropdownHide","smDropdownClear","smDropdownHideOthers","smDropdownRestoreDefaults","smDropdownRestoreDefaultText","smDropdownRestoreDefaultValue","smDropdownSaveDefaults","smDropdownSetSelected","smDropdownSetText","smDropdownSetValue","smDropdownBindTouchEvents","smDropdownMouseEvents","smDropdownBindIntent","smDropdownUnbindIntent","smDropdownSetActive","smDropdownSetVisible","smDropdownRemoveActive","smDropdownRemoveVisible","SemanticEmbedBind","SemanticEmbed","SemanticEmbedLink","source","sourceId","url","placeholder","onCreate","onDisplay","onPlaceholderDisplay","onEmbed","id","embed","smEmbedReset","smEmbedShow","smEmbedHide","smEmbedDestroy","SemanticList","SemanticListLink","description","image","header","headerHref","onHeader","has","headerLink","getChildCount","SemanticMenu","onClick","hidden","divider","SemanticMenuController","hasChildren","getChildren","getLabel","getIcon","getDescription","isHidden","isDivider","SemanticModalBind","SemanticModal","SemanticModalLink","onVisible","onHidden","onApprove","onDeny","modal","smModalShow","smModalHide","smModalToggle","smModalRefresh","smModalShowDimmer","smModalHideDimmer","smModalHideOthers","smModalHideAll","smModalCacheSizes","smModalSetActive","SemanticPopup","SemanticPopupLink","smPopup","smPopupTitle","smPopupHtml","smPopupPosition","smPopupVariation","smPopupSettings","smPopupOnInit","smPopupOnCreate","smPopupOnRemove","smPopupOnShow","smPopupOnVisible","smPopupOnHide","smPopupOnHidden","popup","SemanticPopupInline","SemanticPopupInlineLink","smPopupInline","smPopupInlineOnInit","smPopupInlineOnCreate","smPopupInlineOnRemove","smPopupInlineOnShow","smPopupInlineOnVisible","smPopupInlineOnHide","smPopupInlineOnHidden","inline","SemanticPopupDisplay","SemanticPopupDisplayLink","smPopupDisplay","smPopupDisplaySettings","smPopupDisplayOnInit","smPopupDisplayOnCreate","smPopupDisplayOnRemove","smPopupDisplayOnShow","smPopupDisplayOnVisible","smPopupDisplayOnHide","smPopupDisplayOnHidden","SemanticPopupDetached","smPopupShow","smPopupHide","smPopupHideAll","smPopupToggle","smPopupReposition","smPopupDestroy","smPopupRemove","SemanticProgress","SemanticProgressLink","total","activeText","successText","errorText","warningText","duration","onSuccess","onActive","onError","onWarning","addText","property","text","progress","showActivity","smProgressIncrement","SemanticRatingBind","SemanticRating","SemanticRatingLink","type","disabled","onRate","rating","valueWatcher","smRatingSet","smRatingDisable","smRatingEnable","smRatingClear","SemanticSearchBind","SemanticSearch","SemanticSearchLink","category","local","remote","onSelect","onResultsAdd","onSearchQuery","onResults","onResultsOpen","onResultsClose","defaultTitle","search","fields","textProperty","apiSettings","result","response","smSearchQuery","smSearchCancelQuery","smSearchSearchLocal","smSearchSearchRemote","smSearchSet","smSearchShowResults","smSearchHideResults","smSearchDestroy","SemanticSidebarBind","SemanticSidebar","SemanticSidebarLink","sidebar","pusher","insertBefore","smSidebarShow","smSidebarHide","smSidebarToggle","smSidebarPushPage","smSidebarPullPage","smSidebarAddBodyCss","smSidebarRemoveBodyCss","SemanticShapeBind","SemanticShape","SemanticShapeLink","onBeforeChange","shape","smShapeFlipUp","smShapeFlipDown","smShapeFlipLeft","smShapeFlipRight","smShapeFlipOver","smShapeFlipBack","smShapeSetNextSide","smShapeReset","smShapeQueue","smShapeRepaint","smShapeSetDefaultSide","smShapeSetStageSize","smShapeRefresh","SemanticStickyBind","SemanticSticky","SemanticStickyLink","onReposition","onScroll","onStick","onUnstick","onTop","onBottom","sticky","smStickyRefresh","SemanticTabBind","SemanticTabMenu","SemanticTabMenuLink","tabs","setActiveTab","tab","elements","hasActive","activeWatcher","SemanticTab","smTabSet","SemanticTimeAgo","getTime","hours","getHours","minutes","getMinutes","minutesPadded","HOURS","getTh","x","THS","getDaysAgo","Math","ceil","Date","MONTHS","timeout","updateText","now","today","getFullYear","getMonth","getDate","yesterday","elapsed","updateIn","minutesAgo","floor","daysAgo","clearTimeout","setTimeout","smTimeAgo","SemanticTransition","SemanticTransitionLink","smTransition","smTransitionEvents","smTransitionOther","transition"],"mappings":"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","file":"angular-semantic-ui.min.js","sourcesContent":["\nangular.module('semantic-ui', [\n 'semantic-ui-core',\n 'semantic-ui-accordion',\n 'semantic-ui-checkbox',\n 'semantic-ui-radio',\n 'semantic-ui-comment',\n 'semantic-ui-dimmer',\n 'semantic-ui-dropdown',\n 'semantic-ui-embed',\n 'semantic-ui-list',\n 'semantic-ui-menu',\n 'semantic-ui-modal',\n 'semantic-ui-popup',\n 'semantic-ui-progress',\n 'semantic-ui-rating',\n 'semantic-ui-search',\n 'semantic-ui-shape',\n 'semantic-ui-sidebar',\n 'semantic-ui-sticky',\n 'semantic-ui-tab',\n 'semantic-ui-transition',\n 'semantic-ui-timeago'\n]);\n","(function(app)\n{\n\n app\n .factory('SemanticUI', ['$compile', SemanticUIFactory])\n .directive('smButton', SemanticButton)\n .directive('smMenuItem', SemanticItem)\n .directive('smFlatMenu', SemanticFlatMenu)\n .directive('smHtml', ['$injector', SemanticHtml])\n ;\n\n function SemanticUIFactory($compile)\n {\n var SemanticUI =\n {\n setDefaultFunction: function(scope, variable, attributes, func)\n {\n if ( !attributes[ variable ] )\n {\n scope[ variable ] = func;\n }\n },\n triggerChange: function(scope, variable, element, initialized)\n {\n scope.$watch( variable, function(updated)\n {\n // Don't trigger the change event if the element hasn't been initialized.\n if ( initialized )\n {\n // Trigger the change event during a digest cycle so any other\n // variables that are changing this current digest cycle can finish.\n scope.$evalAsync(function()\n {\n element.trigger('change');\n });\n }\n\n initialized = true;\n })\n },\n bindAttribute: function(scope, variable, element, attribute)\n {\n scope.$watch( variable, function(updated)\n {\n element.attr( attribute, updated );\n });\n },\n onEvent: function(settings, evt, func)\n {\n settings[ evt ] = (function(existing, undefined)\n {\n return function EventHandler()\n {\n var result0 = undefined;\n\n if ( angular.isFunction( existing ) )\n {\n result0 = existing.apply( this, arguments );\n }\n\n var result1 = func.apply( this, arguments );\n\n return ( result0 !== undefined ? result0 : result1 );\n }\n })( settings[ evt ] );\n },\n linkEvents: function(scope, settings, defaults, linkings)\n {\n for (var evt in linkings)\n {\n (function(variable, evt)\n {\n SemanticUI.onEvent( settings, evt, function()\n {\n var scopeValue = scope[ variable ];\n\n if ( angular.isFunction( scopeValue ) )\n {\n return scopeValue.apply( this, arguments );\n }\n else if ( angular.isFunction( defaults[ evt ] ) )\n {\n return defaults[ evt ].apply( this, arguments );\n }\n });\n\n })( linkings[ evt ], evt );\n }\n },\n linkSettings: function(scope, element, attributes, module, initialized, settingsAttribute)\n {\n var settings = settingsAttribute || 'settings';\n\n if ( settings in attributes )\n {\n scope.$watch( settings, function( updated )\n {\n if ( initialized )\n {\n angular.forEach( updated, function(value, key)\n {\n element[ module ]( 'setting', key, value );\n });\n }\n\n initialized = true;\n\n }, true );\n }\n },\n createBind: function(attribute, module)\n {\n return {\n\n restrict: 'A',\n\n link: function(scope, element, attributes)\n {\n SemanticUI.linkSettings( scope, element, attributes, module, false, attribute );\n SemanticUI.initBind( scope, element, attributes, attribute, module );\n }\n };\n },\n initBind: function(scope, element, attributes, attribute, module)\n {\n element.ready(function()\n {\n var settings = {};\n var input = attributes[ attribute ];\n\n if ( input )\n {\n settings = scope.$eval( input );\n }\n\n element[ module ]( settings );\n });\n },\n createBehavior: function(attribute, module, method)\n {\n return {\n\n restrict: 'A',\n\n link: function(scope, element, attributes)\n {\n SemanticUI.initBehavior( scope, attributes, attribute, element, module, method );\n }\n };\n },\n initBehavior: function(scope, attributes, attribute, element, module, method)\n {\n // Default settings on the attribute.\n var settings = {\n $: undefined,\n evt: 'click',\n enabled: true,\n value: undefined\n };\n\n var onEvent = function()\n {\n // If the trigger is currently enabled...\n if ( settings.enabled )\n {\n // Call the method on the module.\n $( settings.$ )[ module ]( method, settings.value );\n }\n };\n\n var previousEvent = false;\n\n scope.$watch( attributes[ attribute ], function(input)\n {\n // If the attribute value is a string, take it as the selector\n if ( angular.isString( input ) )\n {\n settings.$ = input;\n }\n // If the attribute value is an object, overwrite the defaults.\n else if ( angular.isObject( input ) )\n {\n if ( !angular.isString( input.evt ) ) input.evt = settings.evt;\n if ( !angular.isDefined( input.enabled ) ) input.enabled = settings.enabled;\n\n settings = input;\n }\n\n if ( previousEvent )\n {\n element.off( previousEvent, onEvent );\n }\n\n element.on( previousEvent = settings.evt, onEvent );\n\n }, true );\n },\n watcher: function(scope, expression, func, context, force, equals)\n {\n var ignoreUpdate = false;\n\n scope.$watch( expression, function( updated )\n {\n if ( !ignoreUpdate )\n {\n func.call( context, updated );\n }\n\n ignoreUpdate = false;\n\n }, equals );\n\n return {\n set: function(value)\n {\n if ( scope[ expression ] != value || force )\n {\n scope.$evalAsync(function()\n {\n scope[ expression ] = value;\n ignoreUpdate = true;\n });\n }\n },\n update: function()\n {\n scope.$evalAsync(function()\n {\n ignoreUpdate = true;\n });\n }\n }\n },\n RecursiveCompiler: function(postLink)\n {\n return function(element, link)\n {\n // Normalize the link parameter\n if( angular.isFunction( link ) )\n {\n link = { post: link };\n }\n\n // Break the recursion loop by removing the contents\n var contents = element.contents().remove();\n var compiledContents;\n\n return {\n pre: (link && link.pre) ? link.pre : null,\n /**\n * Compiles and re-adds the contents\n */\n post: function(scope, element)\n {\n // Compile the contents\n if( !compiledContents )\n {\n compiledContents = $compile(contents);\n }\n\n // Re-add the compiled contents to the element\n compiledContents( scope, function(clone)\n {\n element.append(clone);\n });\n\n // Call the post-linking function, if any\n if ( link && link.post )\n {\n link.post.apply( null, arguments );\n }\n\n if ( angular.isFunction( postLink ) )\n {\n postLink.apply( null, arguments );\n }\n }\n };\n };\n }\n };\n\n return SemanticUI;\n }\n\n function SemanticButton()\n {\n return {\n\n restrict: 'E',\n\n replace: true,\n\n transclude: true,\n\n template: ''\n };\n }\n\n function SemanticItem()\n {\n return {\n\n restrict: 'E',\n\n replace: true,\n\n transclude: true,\n\n scope: {\n icon: '@'\n },\n\n template: ''\n }\n }\n\n function SemanticFlatMenu()\n {\n return {\n\n restrict: 'E',\n\n replace: true,\n\n template: [\n ''\n ].join('\\n')\n }\n }\n\n function SemanticHtml($injector)\n {\n var sanitize = function(value)\n {\n return value;\n };\n\n try\n {\n $sce = $injector.get('$sce');\n\n sanitize = function(value)\n {\n return $sce.getTrustedHtml( $sce.trustAsHtml( value ) );\n };\n }\n catch (e)\n {\n // ignore\n }\n\n return function(scope, element, attrs)\n {\n scope.$watch( attrs.smHtml, function(value)\n {\n element.html( sanitize( value || '' ) );\n });\n };\n }\n\n})( angular.module('semantic-ui-core', []) );\n","(function(app)\n{\n\n app\n .factory('SemanticCheckboxLink', ['SemanticUI', SemanticCheckboxLink])\n .directive('smCheckboxBind', ['SemanticUI', SemanticCheckboxBind])\n .directive('smCheckbox', ['SemanticCheckboxLink', SemanticCheckbox])\n ;\n\n var BEHAVIORS = {\n smCheckboxToggle: 'toggle',\n smCheckboxCheck: 'check',\n smCheckboxUncheck: 'uncheck',\n smCheckboxIndeterminate: 'indeterminate',\n smCheckboxDeterminate: 'determinate',\n smCheckboxEnable: 'enable',\n smCheckboxDisable: 'disable'\n };\n\n angular.forEach( BEHAVIORS, function(method, directive)\n {\n app.directive( directive, ['SemanticUI', function(SemanticUI)\n {\n return SemanticUI.createBehavior( directive, 'checkbox', method );\n }]);\n });\n\n function SemanticCheckboxBind(SemanticUI)\n {\n return SemanticUI.createBind( 'smCheckboxBind', 'checkbox' );\n }\n\n function SemanticCheckbox(SemanticCheckboxLink)\n {\n return {\n\n restrict: 'E',\n\n replace: true,\n\n transclude: true,\n\n scope: {\n /* Required */\n model: '=',\n label: '@',\n /* Optional */\n settings: '=',\n enabled: '=',\n indeterminateValue: '=',\n checkedValue: '=',\n uncheckedValue: '=',\n children: '@',\n onInit: '=',\n /* Events */\n onChange: '=',\n onChecked: '=',\n onIndeterminate: '=',\n onDeterminate: '=',\n onUnchecked: '=',\n onEnable: '=',\n onDisable: '='\n },\n\n template: [\n '',\n ' ',\n ' ',\n '
'\n ].join('\\n'),\n\n link: SemanticCheckboxLink\n };\n }\n\n function SemanticCheckboxLink(SemanticUI)\n {\n return function(scope, element, attributes)\n {\n element.ready(function()\n {\n var settings = scope.settings || {};\n\n SemanticUI.linkSettings( scope, element, attributes, 'checkbox', true );\n\n SemanticUI.triggerChange( scope, 'model', element, true );\n\n var checkedValue = function() {\n return angular.isDefined( scope.checkedValue ) ? scope.checkedValue : true;\n };\n var uncheckedValue = function() {\n return angular.isDefined( scope.uncheckedValue ) ? scope.uncheckedValue : false;\n };\n var indeterminateValue = function() {\n return angular.isDefined( scope.indeterminateValue ) ? scope.indeterminateValue : void 0;\n };\n\n if ( attributes.enabled )\n {\n var enabledWatcher = SemanticUI.watcher( scope, 'enabled',\n function(updated) {\n if ( angular.isDefined( updated ) ) {\n element.checkbox( updated ? 'set enabled' : 'set disabled' );\n }\n }\n );\n\n SemanticUI.onEvent( settings, 'onEnable',\n function(value) {\n enabledWatcher.set( true );\n }\n );\n\n SemanticUI.onEvent( settings, 'onDisable',\n function(value) {\n enabledWatcher.set( false );\n }\n );\n }\n\n var modelWatcher = SemanticUI.watcher( scope, 'model',\n function(updated) {\n if ( angular.isDefined( updated ) ) {\n element.checkbox( updated ? 'set checked' : 'set unchecked' );\n }\n }\n );\n\n SemanticUI.onEvent( settings, 'onChecked',\n function() {\n modelWatcher.set( checkedValue() );\n }\n );\n\n SemanticUI.onEvent( settings, 'onUnchecked',\n function() {\n modelWatcher.set( uncheckedValue() );\n }\n );\n\n SemanticUI.onEvent( settings, 'onIndeterminate',\n function() {\n modelWatcher.set( indeterminateValue() );\n }\n );\n\n SemanticUI.linkEvents( scope, settings, $.fn.checkbox.settings, {\n onChange: 'onChange',\n onChecked: 'onChecked',\n onIndeterminate: 'onIndeterminate',\n onDeterminate: 'onDeterminate',\n onUnchecked: 'onUnchecked',\n onEnable: 'onEnable',\n onDisable: 'onDisable'\n });\n\n // If the checkbox has children, link the value of this checkbox to the children\n if ( scope.children )\n {\n var $children = $( scope.children );\n var settingChildren = false;\n\n SemanticUI.onEvent( settings, 'onChecked',\n function() {\n settingChildren = true;\n $children.checkbox( 'check' );\n settingChildren = false;\n }\n );\n SemanticUI.onEvent( settings, 'onUnchecked',\n function() {\n settingChildren = true;\n $children.checkbox( 'uncheck' );\n settingChildren = false;\n }\n );\n\n $children.children('input[type=checkbox], input[type=radio]')\n .change(function() {\n\n if ( settingChildren ) {\n return;\n }\n\n var checked = 0;\n\n $children.each(function(i, child) {\n if ( $( child ).checkbox( 'is checked') ) {\n checked++;\n }\n });\n\n if ( checked === 0 ) {\n element.checkbox( 'uncheck' );\n }\n else if ( checked === $children.length ) {\n element.checkbox( 'check' );\n }\n else {\n element.checkbox( 'indeterminate' );\n }\n })\n ;\n }\n\n // Initialize the element with the given settings.\n element.checkbox( settings );\n\n // Set initial state of the checkbox\n if ( scope.model == checkedValue() )\n {\n element.checkbox( 'set checked' );\n }\n else if ( scope.model === indeterminateValue() )\n {\n element.checkbox( 'set indeterminate' );\n }\n\n if ( angular.isDefined( scope.enabled ) && !scope.enabled )\n {\n element.checkbox( 'set disabled' );\n }\n\n if ( angular.isFunction( scope.onInit ) ) {\n scope.onInit( element );\n }\n });\n };\n }\n\n})( angular.module('semantic-ui-checkbox', ['semantic-ui-core']) );\n","(function(app)\n{\n\n app\n .factory('SemanticRadioLink', ['SemanticUI', SemanticRadioLink])\n .directive('smRadioBind', ['SemanticUI', SemanticRadioBind])\n .directive('smRadio', ['SemanticRadioLink', SemanticRadio])\n ;\n\n var BEHAVIORS = {\n smRadioCheck: 'check',\n smRadioEnable: 'enable',\n smRadioDisable: 'disable'\n };\n\n angular.forEach( BEHAVIORS, function(method, directive)\n {\n app.directive( directive, ['SemanticUI', function(SemanticUI)\n {\n return SemanticUI.createBehavior( directive, 'checkbox', method );\n }]);\n });\n\n function SemanticRadioBind(SemanticUI)\n {\n return SemanticUI.createBind( 'smRadioBind', 'checkbox' );\n }\n\n function SemanticRadio(SemanticRadioLink)\n {\n return {\n\n restrict: 'E',\n\n replace: true,\n\n transclude: true,\n\n scope: {\n /* Required */\n model: '=',\n label: '@',\n name: '@',\n value: '=',\n /* Optional */\n settings: '=',\n enabled: '=',\n onInit: '=',\n /* Events */\n onChange: '=',\n onChecked: '=',\n onUnchecked: '=',\n onEnable: '=',\n onDisable: '='\n },\n\n template: [\n '',\n ' ',\n ' ',\n '
'\n ].join('\\n'),\n\n link: SemanticRadioLink\n };\n }\n\n function SemanticRadioLink(SemanticUI)\n {\n return function(scope, element, attributes)\n {\n element.ready(function()\n {\n var settings = scope.settings || {};\n\n SemanticUI.linkSettings( scope, element, attributes, 'checkbox', true );\n\n SemanticUI.triggerChange( scope, 'model', element, true );\n\n if ( attributes.enabled )\n {\n var enabledWatcher = SemanticUI.watcher( scope, 'enabled',\n function(updated) {\n if ( angular.isDefined( updated ) ) {\n element.checkbox( updated ? 'set enabled' : 'set disabled' );\n }\n }\n );\n\n SemanticUI.onEvent( settings, 'onEnable',\n function(value) {\n enabledWatcher.set( true );\n }\n );\n\n SemanticUI.onEvent( settings, 'onDisable',\n function(value) {\n enabledWatcher.set( false );\n }\n );\n }\n\n var modelWatcher = SemanticUI.watcher( scope, 'model',\n function(updated) {\n if ( updated === scope.value ) {\n element.checkbox( 'set checked' );\n }\n }\n );\n\n SemanticUI.onEvent( settings, 'onChecked',\n function() {\n modelWatcher.set( scope.value );\n }\n );\n\n SemanticUI.linkEvents( scope, settings, $.fn.checkbox.settings, {\n onChange: 'onChange',\n onChecked: 'onChecked',\n onUnchecked: 'onUnchecked',\n onEnable: 'onEnable',\n onDisable: 'onDisable'\n });\n\n // Initialize the element with the given settings.\n element.checkbox( settings );\n\n // Set initial state of the radio\n if ( scope.model === scope.value )\n {\n element.checkbox( 'set checked' );\n }\n\n // If the radio is a slider, remove the radio class\n if ( element.hasClass( 'slider' ) )\n {\n element.removeClass( 'radio' );\n }\n\n if ( angular.isDefined( scope.enabled ) && !scope.enabled )\n {\n element.checkbox( 'set disabled' );\n }\n\n if ( angular.isFunction( scope.onInit ) ) {\n scope.onInit( element );\n }\n });\n };\n }\n\n})( angular.module('semantic-ui-radio', ['semantic-ui-core']) );\n","(function(app)\n{\n\n app\n .factory('SemanticAccordionLink', ['SemanticUI', SemanticAccordionLink])\n .directive('smAccordionBind', ['SemanticUI', SemanticAccordionBind])\n .directive('smAccordion', ['SemanticAccordionLink', SemanticAccordion])\n .directive('smAccordionGroup', SemanticAccordionGroup)\n ;\n\n var BEHAVIORS = {\n smAccordionOpen: 'open',\n smAccordionCloseOthers: 'close others',\n smAccordionClose: 'close',\n smAccordionToggle: 'toggle'\n };\n\n angular.forEach( BEHAVIORS, function(method, directive)\n {\n app.directive( directive, ['SemanticUI', function(SemanticUI)\n {\n return SemanticUI.createBehavior( directive, 'accordion', method );\n }]);\n });\n\n function SemanticAccordionBind(SemanticUI)\n {\n return SemanticUI.createBind( 'smAccordionBind', 'accordion' );\n }\n\n function SemanticAccordion(SemanticAccordionLink)\n {\n return {\n\n restrict: 'E',\n\n replace: true,\n\n transclude: true,\n\n scope: {\n /* Optional */\n settings: '=',\n onInit: '=',\n /* Events */\n onOpening: '=',\n onOpen: '=',\n onClosing: '=',\n onClose: '=',\n onChange: '='\n },\n\n template: '',\n\n link: SemanticAccordionLink\n };\n }\n\n function SemanticAccordionLink(SemanticUI)\n {\n return function(scope, element, attributes)\n {\n element.ready(function()\n {\n var settings = scope.settings || {};\n\n SemanticUI.linkSettings( scope, element, attributes, 'accordion', true );\n\n SemanticUI.linkEvents( scope, settings, $.fn.accordion.settings, {\n onOpening: 'onOpening',\n onOpen: 'onOpen',\n onClosing: 'onClosing',\n onClose: 'onClose',\n onChange: 'onChange'\n });\n\n element.accordion( settings );\n\n if ( angular.isFunction( scope.onInit ) )\n {\n scope.onInit( element );\n }\n });\n };\n }\n\n function SemanticAccordionGroup()\n {\n return {\n restrict: 'E',\n required: 'title',\n transclude: true,\n scope: {\n /* Required */\n title: '=',\n /* Optional */\n active: '='\n },\n template: [\n '',\n ' ',\n ' {{ title }}',\n '
',\n '',\n '
'\n ].join('\\n')\n }\n }\n\n})( angular.module('semantic-ui-accordion', ['semantic-ui-core']) );\n","(function(app)\n{\n\n app\n .controller('SemanticCommentsController', ['$scope', SemanticCommentsController])\n .directive('smComments', ['SemanticUI', SemanticComments])\n ;\n\n function SemanticComments(SemanticUI)\n {\n return {\n\n restrict: 'E',\n\n replace: true,\n\n // transclude: true,\n\n scope: {\n /* Required */\n comments: '=',\n content: '&',\n /* Optional */\n avatar: '&',\n author: '&',\n date: '&',\n replies: '&',\n reply: '=',\n collapsible: '=',\n\n onAuthor: '&',\n onReply: '&',\n onShowReplies: '&',\n onHideReplies: '&'\n },\n\n template: [\n '',\n ' ',\n '
'\n ].join('\\n'),\n\n controller: 'SemanticCommentsController',\n\n compile: SemanticUI.RecursiveCompiler()\n\n };\n }\n\n function SemanticCommentsController($scope)\n {\n $scope.setCollapsed = function(comment, $event, collapse)\n {\n var $ = {comment: comment, $event: $event};\n\n if ( comment.$isCollapsed != collapse )\n {\n if ( comment.$isCollapsed )\n {\n if ( $scope.onShowReplies($) !== false )\n {\n comment.$isCollapsed = false;\n }\n }\n else\n {\n if ( $scope.onHideReplies($) !== false )\n {\n comment.$isCollapsed = true;\n }\n }\n }\n };\n\n $scope.hasReplies = function($)\n {\n if ( !$scope.reply )\n {\n return false;\n }\n\n var replies = $scope.replies($);\n\n return replies && replies.length;\n };\n\n $scope.getReplyCount = function($)\n {\n if ( !$scope.reply )\n {\n return false;\n }\n\n var replies = $scope.replies($);\n\n return replies ? replies.length : 0;\n };\n\n $scope.getShowRepliesText = function($)\n {\n var count = $scope.getReplyCount($);\n\n return count === 0 ? '' : (count === 1 ? 'Show Reply' : 'Show Replies (' + count + ')');\n };\n\n $scope.getHideRepliesText = function($)\n {\n var count = $scope.getReplyCount($);\n\n return count === 0 ? '' : (count === 1 ? 'Hide Reply' : 'Hide Replies (' + count + ')');\n };\n }\n\n})( angular.module('semantic-ui-comment', ['semantic-ui-core', 'semantic-ui-timeago']) );\n","(function(app)\n{\n\n app\n .factory('SemanticDimmerLink', ['SemanticUI', SemanticDimmerLink])\n .directive('smDimmerBind', ['SemanticUI', SemanticDimmerBind])\n .directive('smDimmer', ['SemanticDimmerLink', SemanticDimmer])\n ;\n\n var BEHAVIORS = {\n smDimmerShow: 'show',\n smDimmerHide: 'hide',\n smDimmerToggle: 'toggle'\n };\n\n angular.forEach( BEHAVIORS, function(method, directive)\n {\n app.directive( directive, ['SemanticUI', function(SemanticUI)\n {\n return SemanticUI.createBehavior( directive, 'dimmer', method );\n }]);\n });\n\n function SemanticDimmerBind(SemanticUI)\n {\n return SemanticUI.createBind( 'smDimmerBind', 'dimmer' );\n }\n\n function SemanticDimmer(SemanticDimmerLink)\n {\n return {\n\n restrict: 'E',\n\n replace: true,\n\n transclude: true,\n\n scope: {\n /* Optional */\n visible: '=',\n settings: '=',\n onInit: '=',\n /* Events */\n onShow: '=',\n onHide: '=',\n onChange: '='\n },\n\n template: '',\n\n link: SemanticDimmerLink\n };\n }\n\n function SemanticDimmerLink(SemanticUI)\n {\n return function(scope, element, attributes)\n {\n var settings = scope.settings || {};\n\n SemanticUI.linkSettings( scope, element, attributes, 'dimmer' );\n\n // If the visible attribute is specified, listen to onHide and update modal when variable changes.\n if ( attributes.visible )\n {\n var visibleWatcher = SemanticUI.watcher( scope, 'visible',\n function(updated) {\n element.dimmer( updated ? 'show' : 'hide' );\n }\n );\n\n SemanticUI.onEvent( settings, 'onShow',\n function(value) {\n visibleWatcher.set( true );\n }\n );\n\n SemanticUI.onEvent( settings, 'onHide',\n function(value) {\n visibleWatcher.set( false );\n }\n );\n }\n\n SemanticUI.linkEvents( scope, settings, $.fn.dimmer.settings, {\n onShow: 'onShow',\n onHide: 'onHide',\n onChange: 'onChange'\n });\n\n element.dimmer( settings );\n\n if ( angular.isFunction( scope.onInit ) ) {\n scope.onInit( element );\n }\n };\n }\n\n})( angular.module('semantic-ui-dimmer', ['semantic-ui-core']) );\n","(function(app)\n{\n\n app\n .controller('SemanticDropdownController', ['$scope', SemanticDropdownController])\n .factory('SemanticDropdownLink', ['SemanticUI', '$timeout', SemanticDropdownLink])\n .directive('smDropdownBind', ['SemanticUI', SemanticDropdownBind])\n .directive('smDropdown', ['SemanticDropdownLink', SemanticDropdown])\n ;\n\n var BEHAVIORS = {\n smDropdownToggle: 'toggle',\n smDropdownShow: 'show',\n smDropdownHide: 'hide',\n smDropdownClear: 'clear',\n smDropdownHideOthers: 'hide others',\n smDropdownRestoreDefaults: 'restore defaults',\n smDropdownRestoreDefaultText: 'restore default text',\n smDropdownRestoreDefaultValue: 'restore default value',\n smDropdownSaveDefaults: 'save defaults',\n smDropdownSetSelected: 'set selected',\n smDropdownSetText: 'set text',\n smDropdownSetValue: 'set value',\n smDropdownBindTouchEvents: 'bind touch events',\n smDropdownMouseEvents: 'mouse events',\n smDropdownBindIntent: 'bind intent',\n smDropdownUnbindIntent: 'unbind intent',\n smDropdownSetActive: 'set active',\n smDropdownSetVisible: 'set visible',\n smDropdownRemoveActive: 'remove active',\n smDropdownRemoveVisible: 'remove visible'\n };\n\n angular.forEach( BEHAVIORS, function(method, directive)\n {\n app.directive( directive, ['SemanticUI', function(SemanticUI)\n {\n return SemanticUI.createBehavior( directive, 'dropdown', method );\n }]);\n });\n\n function SemanticDropdownBind(SemanticUI)\n {\n return SemanticUI.createBind( 'smDropdownBind', 'dropdown' );\n }\n\n function SemanticDropdown(SemanticDropdownLink)\n {\n return {\n\n restrict: 'E',\n\n replace: true,\n\n transclude: true,\n\n scope: {\n /* Required */\n model: '=',\n items: '=',\n label: '&',\n value: '&',\n /* Optional */\n settings: '=',\n defaultText: '=',\n onInit: '=',\n emptyValue: '=',\n /* Events */\n onChange: '=',\n onAdd: '=',\n onRemove: '=',\n onLabelCreate: '=',\n onLabelSelect: '=',\n onNoResults: '=',\n onShow: '=',\n onHide: '='\n },\n\n template: [\n ''\n ].join('\\n'),\n\n controller: 'SemanticDropdownController',\n\n link: SemanticDropdownLink\n };\n }\n\n function SemanticDropdownController($scope)\n {\n var hashMap = {};\n\n // Returns the value to be placed in the data-value attribute. If the computed value has a $$hashKey,\n // then return the hashKey. This enables the exact instance of the item to be set to the model.\n $scope.getValue = function(item)\n {\n // Computes the value given the expression in the 'value' attribute\n return $scope.getKey( $scope.value( {item: item} ) );\n };\n\n $scope.getKey = function(value)\n {\n return (value ? value.$$hashKey || value : value) + '';\n };\n\n $scope.isEmpty = function()\n {\n return !$scope.model || $scope.model.length === 0;\n };\n\n // Translates the value (the model, an item of the model, or a variable\n // created from the value function) into the key that's stored on the dropdown.\n $scope.translateValue = function(value)\n {\n var translated = $scope.getKey( value );\n var matching = $scope.findMatchingItem( translated );\n\n if ( angular.isDefined( matching ) )\n {\n return $scope.getValue( matching );\n }\n };\n\n // Determines whether this dropdown should currently display the default text.\n $scope.hasDefault = function()\n {\n return ( $scope.defaultText && $scope.isEmpty() );\n };\n\n // Gets the current text for the drop down. If the current model has a value which is found\n // in the items, the appropriate item's label is displayed. Otherwise return the default text.\n $scope.getDefaultText = function()\n {\n return ( $scope.isEmpty() ? $scope.defaultText : '' );\n };\n\n // Finds an item instance that has the exact same value as the given value.\n $scope.findMatchingItem = function(value)\n {\n return hashMap[ value ];\n };\n\n // Updates the hash map providing a mapping from values to items.\n $scope.updateHashMap = function( items )\n {\n hashMap = {};\n\n angular.forEach( items, function(item)\n {\n hashMap[ $scope.getValue( item ) ] = item;\n });\n };\n }\n\n function SemanticDropdownLink(SemanticUI, $timeout)\n {\n return function (scope, element, attributes) {\n var applyValue = function (value) {\n $timeout(function () {\n if (element.dropdown('is multiple')) {\n if (value instanceof Array) {\n var translatedValue = [];\n\n for (var i = 0; i < value.length; i++) {\n var translated = scope.translateValue(value[ i ]);\n\n if (angular.isDefined(translated)) {\n translatedValue.push(translated);\n }\n }\n\n element.dropdown('set exactly', translatedValue);\n }\n }\n else {\n element.dropdown('set selected', scope.translateValue(value));\n }\n }, 0);\n };\n\n SemanticUI.setDefaultFunction( scope, 'label', attributes, function(locals){return locals.item} );\n SemanticUI.setDefaultFunction( scope, 'value', attributes, function(locals){return locals.item} );\n\n element.ready(function()\n {\n var settings = scope.settings || {};\n var ignoreChange = true;\n\n SemanticUI.linkSettings( scope, element, attributes, 'dropdown', true );\n\n SemanticUI.triggerChange( scope, 'model', element, true );\n\n // Returns the model on the scope, converting it to an array if it's not one.\n var modelArray = function() {\n if ( !(scope.model instanceof Array) ) {\n scope.model = scope.model ? [ scope.model ] : [];\n }\n return scope.model;\n };\n\n // When the model changes, set the value on the drop down\n var modelWatcher = SemanticUI.watcher( scope, 'model',\n function(updated) {\n applyValue( updated );\n }\n , null, true, true );\n\n // Inject an onChange function into the settings which sets the model value\n // and causes the scope to be updated.\n SemanticUI.onEvent( settings, 'onChange',\n function(value) {\n if ( ignoreChange ) {\n return;\n }\n if ( !element.dropdown('is multiple') ) {\n var mapped = scope.findMatchingItem( value );\n if (angular.isDefined(mapped)) {\n var mappedValue = scope.value({item: mapped});\n modelWatcher.set( mappedValue );\n } else if ( element.dropdown('setting', 'allowAdditions') ) {\n modelWatcher.set( value );\n } else {\n modelWatcher.set( scope.emptyValue );\n }\n }\n }\n );\n\n // When a new item is selected for multiple selection dropdowns, add it to the model.\n SemanticUI.onEvent( settings, 'onAdd',\n function(value) {\n if ( ignoreChange ) {\n return;\n }\n var mapped = scope.findMatchingItem( value );\n if (angular.isDefined(mapped)) {\n var mappedValue = scope.value({item: mapped});\n var indexOf = $.inArray( mappedValue, modelArray() );\n if ( indexOf === -1 ) {\n scope.model.push( mappedValue );\n modelWatcher.update();\n }\n } else if ( element.dropdown('setting', 'allowAdditions') ) {\n scope.model.push( value );\n modelWatcher.update();\n }\n }\n );\n\n // When an item is deselected for multiple selection dropdowns, remove it from the model.\n SemanticUI.onEvent( settings, 'onRemove',\n function(value) {\n if ( ignoreChange ) {\n return;\n }\n var mapped = scope.findMatchingItem( value );\n if (angular.isDefined(mapped)) {\n var mappedValue = scope.value({item: mapped});\n var indexOf = $.inArray( mappedValue, modelArray() );\n if ( indexOf !== -1 ) {\n scope.model.splice( indexOf, 1 );\n modelWatcher.update();\n }\n } else {\n var indexOf = $.inArray( value, modelArray() );\n if ( indexOf !== -1 ) {\n scope.model.splice( indexOf, 1 );\n modelWatcher.update();\n }\n }\n }\n );\n\n SemanticUI.linkEvents( scope, settings, $.fn.dropdown.settings, {\n onChange: 'onChange',\n onAdd: 'onAdd',\n onRemove: 'onRemove',\n onLabelCreate: 'onLabelCreate',\n onLabelSelect: 'onLabelSelect',\n onNoResults: 'onNoResults',\n onShow: 'onShow',\n onHide: 'onHide'\n });\n\n // When items changes, rebuild the hashMap & reapply the values.\n scope.$watch( 'items', function( updated )\n {\n scope.updateHashMap( scope.items );\n applyValue( scope.model );\n\n }, true );\n\n // Initialize the element with the given settings.\n element.dropdown( settings );\n\n // Update the hashmap with items\n scope.updateHashMap( scope.items );\n\n // Apply current value\n applyValue( scope.model );\n\n // Save defaults\n element.dropdown( 'save defaults' );\n\n // Stop ignoring changes!\n ignoreChange = false;\n\n // Notify initialized callback.\n if ( angular.isFunction( scope.onInit ) )\n {\n scope.onInit( element );\n }\n\n });\n };\n }\n\n})( angular.module('semantic-ui-dropdown', ['semantic-ui-core']) );\n","(function(app)\n{\n\n app\n .factory('SemanticEmbedLink', ['SemanticUI', SemanticEmbedLink])\n .directive('smEmbedBind', ['SemanticUI', SemanticEmbedBind])\n .directive('smEmbed', ['SemanticEmbedLink', SemanticEmbed])\n ;\n\n var BEHAVIORS = {\n smEmbedReset: 'reset',\n smEmbedShow: 'show',\n smEmbedHide: 'hide',\n smEmbedDestroy: 'destroy'\n };\n\n angular.forEach( BEHAVIORS, function(method, directive)\n {\n app.directive( directive, ['SemanticUI', function(SemanticUI)\n {\n return SemanticUI.createBehavior( directive, 'embed', method );\n }]);\n });\n\n function SemanticEmbedBind(SemanticUI)\n {\n return SemanticUI.createBind( 'smEmbedBind', 'embed' );\n }\n\n function SemanticEmbed(SemanticEmbedLink)\n {\n return {\n\n restrict: 'E',\n\n replace: true,\n\n transclude: true,\n\n scope: {\n /* Optional */\n source: '@',\n sourceId: '@',\n url: '@',\n placeholder: '@',\n icon: '@',\n settings: '=',\n onInit: '=',\n /* Events */\n onCreate: '=',\n onDisplay: '=',\n onPlaceholderDisplay: '=',\n onEmbed: '='\n },\n\n template: '',\n\n link: SemanticEmbedLink\n };\n }\n\n function SemanticEmbedLink(SemanticUI)\n {\n return function(scope, element, attributes)\n {\n var settings = scope.settings || {};\n\n SemanticUI.linkSettings( scope, element, attributes, 'embed' );\n\n if ( scope.source ) settings.source = scope.source;\n if ( scope.sourceId ) settings.id = scope.sourceId;\n if ( scope.placeholder ) settings.placeholder = scope.placeholder;\n if ( scope.icon ) settings.icon = scope.icon;\n if ( scope.url ) settings.url = scope.url;\n\n SemanticUI.linkEvents( scope, settings, $.fn.embed.settings, {\n onCreate: 'onCreate',\n onDisplay: 'onDisplay',\n onPlaceholderDisplay: 'onPlaceholderDisplay',\n onEmbed: 'onEmbed'\n });\n\n element.embed( settings );\n\n if ( angular.isFunction( scope.onInit ) ) {\n scope.onInit( element );\n }\n };\n }\n\n\n})( angular.module('semantic-ui-embed', ['semantic-ui-core']) );\n","(function(app)\n{\n\n app\n .factory('SemanticListLink', ['SemanticUI', SemanticListLink])\n .directive('smList', ['SemanticUI', 'SemanticListLink', SemanticList])\n ;\n\n function SemanticList(SemanticUI, SemanticListLink)\n {\n return {\n\n restrict: 'E',\n\n replace: true,\n\n scope:\n {\n /* Required */\n items: '=',\n /* Optional */\n description: '&',\n icon: '&',\n image: '&',\n header: '&',\n headerHref: '&',\n children: '&',\n onHeader: '&',\n /* Private */\n has: '=?'\n },\n\n template: [\n '',\n '
',\n '
',\n '
![]()
',\n '
',\n ' ',\n ' ',\n '
',\n '
',\n '
',\n '
',\n '
',\n '
'\n ].join('\\n'),\n\n compile: SemanticUI.RecursiveCompiler(SemanticListLink)\n }\n }\n\n function SemanticListLink(SemanticUI)\n {\n return function(scope, element, attributes)\n {\n if ( !scope.has )\n {\n scope.has = {\n icon: !!attributes.icon,\n image: !!attributes.image,\n header: !!attributes.header,\n headerLink: !!attributes.headerHref,\n description: !!attributes.description,\n children: !!attributes.children\n };\n }\n\n scope.getChildCount = function($)\n {\n var children = scope.children($);\n\n return children ? children.length : 0;\n };\n\n SemanticUI.setDefaultFunction( scope, 'description', attributes, function(locals){return locals.item} );\n SemanticUI.setDefaultFunction( scope, 'icon', attributes, function(locals){return locals.item.icon} );\n SemanticUI.setDefaultFunction( scope, 'header', attributes, function(locals){return locals.item.header} );\n SemanticUI.setDefaultFunction( scope, 'children', attributes, function(locals){return locals.item.children} );\n };\n }\n\n})( angular.module('semantic-ui-list', ['semantic-ui-core']) );\n","(function(app)\n{\n\n app\n .controller('SemanticMenuController', ['$scope', SemanticMenuController])\n .directive('smMenu', ['SemanticUI', SemanticMenu])\n ;\n\n function SemanticMenu(SemanticUI)\n {\n return {\n restrict: 'E',\n replace: true,\n scope: {\n /* Required */\n items: '=',\n label: '&',\n /* Optional */\n onClick: '&',\n children: '&',\n description: '&',\n icon: '&',\n hidden: '&',\n divider: '&'\n },\n template: [\n ''\n ].join('\\n'),\n\n controller: 'SemanticMenuController',\n\n compile: SemanticUI.RecursiveCompiler()\n };\n }\n\n function SemanticMenuController($scope)\n {\n $scope.hasChildren = function(item) {\n var children = $scope.children({item: item});\n return children && children.length;\n };\n $scope.getChildren = function(item) {\n return $scope.children({item: item});\n };\n\n $scope.getLabel = function(item) {\n return $scope.label({item: item});\n };\n $scope.getIcon = function(item) {\n return $scope.icon({item: item});\n }\n $scope.getDescription = function(item) {\n return $scope.description({item: item});\n };\n $scope.isHidden = function(item) {\n return $scope.hidden({item: item});\n };\n $scope.isDivider = function(item) {\n return $scope.divider({item: item});\n };\n }\n\n\n})( angular.module('semantic-ui-menu', ['semantic-ui-core']) );\n","(function(app)\n{\n\n app\n .factory('SemanticModalLink', ['SemanticUI', SemanticModalLink])\n .directive('smModalBind', ['SemanticUI', SemanticModalBind])\n .directive('smModal', ['SemanticModalLink', SemanticModal])\n ;\n\n var BEHAVIORS = {\n smModalShow: 'show',\n smModalHide: 'hide',\n smModalToggle: 'toggle',\n smModalRefresh: 'refresh',\n smModalShowDimmer: 'show dimmer',\n smModalHideDimmer: 'hide dimmer',\n smModalHideOthers: 'hide others',\n smModalHideAll: 'hide all',\n smModalCacheSizes: 'cache sizes',\n smModalSetActive: 'set active'\n };\n\n angular.forEach( BEHAVIORS, function(method, directive)\n {\n app.directive( directive, ['SemanticUI', function(SemanticUI)\n {\n return SemanticUI.createBehavior( directive, 'modal', method );\n }]);\n });\n\n function SemanticModalBind(SemanticUI)\n {\n return SemanticUI.createBind( 'smModalBind', 'modal' );\n }\n\n function SemanticModal(SemanticModalLink)\n {\n return {\n\n restrict: 'E',\n\n replace: true,\n\n transclude: true,\n\n scope: {\n /* Optional */\n visible: '=',\n settings: '=',\n onInit: '=',\n /* Events */\n onShow: '=',\n onVisible: '=',\n onHide: '=',\n onHidden: '=',\n onApprove: '=',\n onDeny: '='\n },\n\n template: '',\n\n link: SemanticModalLink\n }\n }\n\n function SemanticModalLink(SemanticUI)\n {\n return function(scope, element, attributes)\n {\n var settings = scope.settings || {};\n\n SemanticUI.linkSettings( scope, element, attributes, 'modal' );\n\n // If the visible attribute is specified, listen to onHide and update modal when variable changes.\n if ( attributes.visible )\n {\n var visibleWatcher = SemanticUI.watcher( scope, 'visible',\n function(updated) {\n element.modal( updated ? 'show' : 'hide' );\n }\n );\n\n SemanticUI.onEvent( settings, 'onHide',\n function() {\n visibleWatcher.set( false );\n }\n );\n\n SemanticUI.onEvent( settings, 'onShow',\n function() {\n visibleWatcher.set( true );\n }\n );\n }\n\n SemanticUI.linkEvents( scope, settings, $.fn.modal.settings, {\n onShow: 'onShow',\n onVisible: 'onVisible',\n onHide: 'onHide',\n onHidden: 'onHidden',\n onApprove: 'onApprove',\n onDeny: 'onDeny'\n });\n\n // Initialize the element with the given settings.\n element.modal( settings );\n\n if ( angular.isFunction( scope.onInit ) ) {\n scope.onInit( element );\n }\n };\n }\n\n})( angular.module('semantic-ui-modal', ['semantic-ui-core']) );\n","(function(app)\n{\n\n app\n .factory('SemanticPopupLink', ['SemanticUI', SemanticPopupLink])\n .factory('SemanticPopupInlineLink', ['SemanticUI', SemanticPopupInlineLink])\n .factory('SemanticPopupDisplayLink', ['SemanticUI', SemanticPopupDisplayLink])\n .directive('smPopupBind', ['SemanticUI', SemanticModalBind])\n .directive('smPopup', ['SemanticPopupLink', SemanticPopup])\n .directive('smPopupInline', ['SemanticPopupInlineLink', SemanticPopupInline])\n .directive('smPopupDisplay', ['SemanticPopupDisplayLink', SemanticPopupDisplay])\n .directive('smPopupDetached', [SemanticPopupDetached])\n ;\n\n var BEHAVIORS = {\n smPopupShow: 'show',\n smPopupHide: 'hide',\n smPopupHideAll: 'hide all',\n smPopupToggle: 'toggle',\n smPopupReposition: 'reposition',\n smPopupDestroy: 'destroy',\n smPopupRemove: 'remove popup'\n };\n\n angular.forEach( BEHAVIORS, function(method, directive)\n {\n app.directive( directive, ['SemanticUI', function(SemanticUI)\n {\n return SemanticUI.createBehavior( directive, 'popup', method );\n }]);\n });\n\n function SemanticModalBind(SemanticUI)\n {\n return SemanticUI.createBind( 'smPopupBind', 'popup' );\n }\n\n // An attribute directive which displays a popup for this element.\n function SemanticPopup(SemanticPopupLink)\n {\n return {\n\n restrict: 'A',\n\n scope: {\n /* Required */\n smPopup: '=',\n /* Optional */\n smPopupTitle: '=',\n smPopupHtml: '=',\n smPopupPosition: '@',\n smPopupVariation: '@',\n smPopupSettings: '=',\n smPopupOnInit: '=',\n /* Events */\n smPopupOnCreate: '=',\n smPopupOnRemove: '=',\n smPopupOnShow: '=',\n smPopupOnVisible: '=',\n smPopupOnHide: '=',\n smPopupOnHidden: '='\n },\n\n link: SemanticPopupLink\n };\n }\n\n function SemanticPopupLink(SemanticUI)\n {\n return function(scope, element, attributes)\n {\n var settings = scope.smPopupSettings || {};\n\n SemanticUI.linkSettings( scope, element, attributes, 'popup', false, 'smPopupSettings' );\n\n SemanticUI.bindAttribute( scope, 'smPopup', element, 'data-content' );\n SemanticUI.bindAttribute( scope, 'smPopupTitle', element, 'data-title' );\n SemanticUI.bindAttribute( scope, 'smPopupHtml', element, 'data-html' );\n SemanticUI.bindAttribute( scope, 'smPopupPosition', element, 'data-position' );\n SemanticUI.bindAttribute( scope, 'smPopupVariation', element, 'data-variation' );\n\n SemanticUI.linkEvents( scope, settings, {\n onCreate: 'smPopupOnCreate',\n onRemove: 'smPopupOnRemove',\n onShow: 'smPopupOnShow',\n onVisible: 'smPopupOnVisible',\n onHide: 'smPopupOnHide',\n onHidden: 'smPopupOnHidden'\n });\n\n element.popup( settings );\n\n if ( angular.isFunction( scope.smPopupOnInit ) )\n {\n scope.smPopupOnInit( element );\n }\n };\n }\n\n // An attribute directive to show the detached popup which follows this element.\n function SemanticPopupInline(SemanticPopupInlineLink)\n {\n return {\n\n restrict: 'A',\n\n scope: {\n /* Optional */\n smPopupInline: '=',\n smPopupInlineOnInit: '=',\n /* Events */\n smPopupInlineOnCreate: '=',\n smPopupInlineOnRemove: '=',\n smPopupInlineOnShow: '=',\n smPopupInlineOnVisible: '=',\n smPopupInlineOnHide: '=',\n smPopupInlineOnHidden: '='\n },\n\n link: SemanticPopupInlineLink\n };\n }\n\n function SemanticPopupInlineLink(SemanticUI)\n {\n return function(scope, element, attributes)\n {\n var settings = scope.smPopupInline || {};\n\n SemanticUI.linkSettings( scope, element, attributes, 'popup', false, 'smPopupInline' );\n\n SemanticUI.linkEvents( scope, settings, {\n onCreate: 'smPopupInlineOnCreate',\n onRemove: 'smPopupInlineOnRemove',\n onShow: 'smPopupInlineOnShow',\n onVisible: 'smPopupInlineOnVisible',\n onHide: 'smPopupInlineOnHide',\n onHidden: 'smPopupInlineOnHidden'\n });\n\n settings.inline = true;\n\n element.popup( settings );\n\n if ( angular.isFunction( scope.smPopupInlineOnInit ) ) {\n scope.smPopupInlineOnInit( element );\n }\n };\n }\n\n // An attribute directive to show a detached popup over this element given it's name.\n function SemanticPopupDisplay(SemanticPopupDisplayLink)\n {\n return {\n\n restrict: 'A',\n\n scope: {\n /* Required */\n smPopupDisplay: '@',\n /* Optional */\n smPopupDisplaySettings: '=',\n smPopupDisplayOnInit: '=',\n /* Events */\n smPopupDisplayOnCreate: '=',\n smPopupDisplayOnRemove: '=',\n smPopupDisplayOnShow: '=',\n smPopupDisplayOnVisible: '=',\n smPopupDisplayOnHide: '=',\n smPopupDisplayOnHidden: '='\n },\n\n link: SemanticPopupDisplayLink\n };\n }\n\n function SemanticPopupDisplayLink(SemanticUI)\n {\n return function(scope, element, attributes)\n {\n var settings = scope.smPopupDisplaySettings || {};\n\n SemanticUI.linkSettings( scope, element, attributes, 'popup', false, 'smPopupDisplaySettings' );\n\n SemanticUI.linkEvents( scope, settings, $.fn.popup.settings, {\n onCreate: 'smPopupDisplayOnCreate',\n onRemove: 'smPopupDisplayOnRemove',\n onShow: 'smPopupDisplayOnShow',\n onVisible: 'smPopupDisplayOnVisible',\n onHide: 'smPopupDisplayOnHide',\n onHidden: 'smPopupDisplayOnHidden'\n });\n\n settings.popup = '[data-popup-named=\"' + attributes.smPopupDisplay + '\"]';\n\n element.popup( settings );\n\n if ( angular.isFunction( scope.smPopupDisplayOnInit ) ) {\n scope.smPopupDisplayOnInit( element );\n }\n };\n }\n\n // An element directive for a popup, can be used after an element or can be named and used with sm-popup-display.\n function SemanticPopupDetached()\n {\n return {\n\n restrict: 'E',\n\n replace: true,\n\n transclude: true,\n\n scope: {\n name: '@'\n },\n\n template: ''\n };\n }\n\n})( angular.module('semantic-ui-popup', ['semantic-ui-core']) );\n","(function(app)\n{\n\n app\n .factory('SemanticProgressLink', ['SemanticUI', SemanticProgressLink])\n .directive('smProgressBind', ['SemanticUI', SemanticModalBind])\n .directive('smProgress', ['SemanticProgressLink', SemanticProgress])\n ;\n\n var BEHAVIORS = {\n 'smProgressIncrement': 'increment'\n };\n\n angular.forEach( BEHAVIORS, function(method, directive)\n {\n app.directive( directive, ['SemanticUI', function(SemanticUI)\n {\n return SemanticUI.createBehavior( directive, 'progress', method );\n }]);\n });\n\n function SemanticModalBind(SemanticUI)\n {\n return SemanticUI.createBind( 'smProgressBind', 'progress' );\n }\n\n function SemanticProgress(SemanticProgressLink)\n {\n return {\n\n restrict: 'E',\n\n replace: true,\n\n transclude: true,\n\n scope: {\n /* Required */\n model: '=',\n /* Optional */\n total: '=',\n label: '@',\n activeText: '@',\n successText: '@',\n errorText: '@',\n warningText: '@',\n duration: '@',\n onInit: '=',\n /* Events */\n onChange: '=',\n onSuccess: '=',\n onActive: '=',\n onError: '=',\n onWarning: '='\n },\n\n template: [\n ''\n ].join('\\n'),\n\n link: SemanticProgressLink\n };\n }\n\n function SemanticProgressLink(SemanticUI)\n {\n var addText = function( scope, attributes, settings, attribute, property )\n {\n if ( angular.isDefined( attributes[ attribute ] ) )\n {\n settings.text = settings.text || {};\n settings.text[ property ] = scope[ attribute ];\n }\n };\n\n return function(scope, element, attributes)\n {\n var settings = scope.settings || {};\n\n SemanticUI.linkSettings( scope, element, attributes, 'progress' );\n\n SemanticUI.linkEvents( scope, settings, $.fn.progress.settings, {\n onChange: 'onChange',\n onSuccess: 'onSuccess',\n onActive: 'onActive',\n onError: 'onError',\n onWarning: 'onWarning'\n });\n\n if ( !angular.isDefined( settings.showActivity ) )\n {\n settings.showActivity = false;\n }\n\n if ( angular.isDefined( attributes.label ) )\n {\n settings.label = scope.label;\n }\n\n if ( angular.isDefined( attributes.total ) )\n {\n settings.total = scope.total;\n }\n else\n {\n settings.total = 100;\n }\n\n if ( angular.isDefined( attributes.model ) )\n {\n settings.value = scope.model;\n }\n\n addText( scope, attributes, settings, 'activeText', 'active' );\n addText( scope, attributes, settings, 'successText', 'success' );\n addText( scope, attributes, settings, 'errorText', 'error' );\n addText( scope, attributes, settings, 'warningText', 'warning' );\n\n element.progress( settings );\n\n SemanticUI.watcher( scope, 'model', function(value)\n {\n var total = element.progress( 'get total' ) || 100;\n\n element.progress( 'set percent', value * 100 / total );\n element.progress( 'set value', value );\n });\n\n if ( angular.isDefined( attributes.duration ) )\n {\n SemanticUI.watcher( scope, 'duration', function(duration)\n {\n element.progress( 'set duration', duration );\n });\n }\n\n if ( angular.isDefined( attributes.total ) )\n {\n SemanticUI.watcher( scope, 'total', function(total)\n {\n element.progress( 'set total', total );\n });\n }\n\n if ( angular.isFunction( scope.onInit ) )\n {\n scope.onInit( element );\n }\n };\n }\n\n})( angular.module('semantic-ui-progress', ['semantic-ui-core']) );\n","(function(app)\n{\n\n app\n .factory('SemanticRatingLink', ['SemanticUI', SemanticRatingLink])\n .directive('smRatingBind', ['SemanticUI', SemanticRatingBind])\n .directive('smRating', ['SemanticRatingLink', SemanticRating])\n ;\n\n var BEHAVIORS = {\n smRatingSet: 'set rating',\n smRatingDisable: 'disable',\n smRatingEnable: 'enable',\n smRatingClear: 'clear rating'\n };\n\n angular.forEach( BEHAVIORS, function(method, directive)\n {\n app.directive( directive, ['SemanticUI', function(SemanticUI)\n {\n return SemanticUI.createBehavior( directive, 'rating', method );\n }]);\n });\n\n function SemanticRatingBind(SemanticUI)\n {\n return SemanticUI.createBind( 'smRatingBind', 'rating' );\n }\n\n function SemanticRating(SemanticRatingLink)\n {\n return {\n\n restrict: 'E',\n\n replace: true,\n\n scope: {\n /* Required */\n model: '=',\n total: '=',\n /* Optional */\n type: '@',\n disabled: '=',\n settings: '=',\n onInit: '=',\n /* Events */\n onRate: '='\n },\n\n template: '',\n\n link: SemanticRatingLink\n };\n }\n\n function SemanticRatingLink(SemanticUI)\n {\n return function(scope, element, attributes)\n {\n element.ready(function()\n {\n var settings = scope.settings || {};\n\n SemanticUI.linkSettings( scope, element, attributes, 'rating', true );\n\n SemanticUI.triggerChange( scope, 'model', element, true );\n\n if ( attributes.disabled )\n {\n var disabledWatcher = SemanticUI.watcher( scope, 'disabled',\n function(updated) {\n element.rating( updated ? 'disable' : 'enable' );\n }\n );\n }\n\n var valueWatcher = SemanticUI.watcher( scope, 'model',\n function(updated) {\n element.rating( 'set rating', updated );\n }\n );\n\n SemanticUI.onEvent( settings, 'onRate',\n function(value) {\n valueWatcher.set( value );\n }\n );\n\n SemanticUI.linkEvents( scope, settings, $.fn.rating.settings, {\n onRate: 'onRate'\n });\n\n element.rating( settings );\n\n if ( scope.disabled )\n {\n element.rating( 'disable' );\n }\n\n if ( angular.isFunction( scope.onInit ) ) {\n scope.onInit( element );\n }\n });\n };\n }\n\n})( angular.module('semantic-ui-rating', ['semantic-ui-core']) );\n","(function(app)\n{\n\n app\n .factory('SemanticSearchLink', ['SemanticUI', SemanticSearchLink])\n .directive('smSearchBind', ['SemanticUI', SemanticSearchBind])\n .directive('smSearch', ['SemanticSearchLink', SemanticSearch])\n ;\n\n var BEHAVIORS = {\n smSearchQuery: 'query',\n smSearchCancelQuery: 'cancel query',\n smSearchSearchLocal: 'search local',\n smSearchSearchRemote: 'search remote',\n smSearchSet: 'set value',\n smSearchShowResults: 'show results',\n smSearchHideResults: 'hide results',\n smSearchDestroy: 'destroy'\n };\n\n angular.forEach( BEHAVIORS, function(method, directive)\n {\n app.directive( directive, ['SemanticUI', function(SemanticUI)\n {\n return SemanticUI.createBehavior( directive, 'search', method );\n }]);\n });\n\n function SemanticSearchBind(SemanticUI)\n {\n return SemanticUI.createBind( 'smSearchBind', 'search' );\n }\n\n function SemanticSearch(SemanticSearchLink)\n {\n return {\n\n restrict: 'E',\n\n replace: true,\n\n scope: {\n /* Required */\n model: '=',\n /* Optional */\n text: '=?',\n icon: '@',\n placeholder: '@',\n category: '@',\n local: '=',\n remote: '@',\n settings: '=',\n onInit: '=',\n /* Events */\n onSelect: '=',\n onResultsAdd: '=',\n onSearchQuery: '=',\n onResults: '=',\n onResultsOpen: '=',\n onResultsClose: '='\n },\n\n template: [\n '',\n '
',\n ' ',\n ' ',\n '
',\n '
',\n '
'\n ].join('\\n'),\n\n link: SemanticSearchLink\n };\n }\n\n function SemanticSearchLink(SemanticUI)\n {\n var defaultTitle = $.fn.search && $.fn.search.settings && $.fn.search.settings.fields ? $.fn.search.settings.fields.title : '';\n\n return function(scope, element, attributes)\n {\n var settings = scope.settings || {};\n var textProperty = settings.fields && settings.fields.title ? settings.fields.title : defaultTitle;\n\n SemanticUI.linkSettings( scope, element, attributes, 'search' );\n\n if ( scope.local ) settings.source = scope.local;\n if ( scope.remote ) settings.apiSettings = { url: scope.remote };\n if ( scope.category ) settings.type = 'category';\n\n var modelWatcher = SemanticUI.watcher( scope, 'model',\n function(value) {\n element.search( 'set value', value && (textProperty in value) ? value[ textProperty ] : value );\n }\n );\n\n SemanticUI.onEvent( settings, 'onSelect',\n function(result, response) {\n modelWatcher.set( result );\n if ( attributes.text ) {\n scope.$evalAsync(function() {\n scope.text = result[ textProperty ];\n });\n }\n }\n );\n\n SemanticUI.linkEvents( scope, settings, $.fn.search.settings, {\n onSelect: 'onSelect',\n onResultsAdd: 'onResultsAdd',\n onSearchQuery: 'onSearchQuery',\n onResults: 'onResults',\n onResultsOpen: 'onResultsOpen',\n onResultsClose: 'onResultsClose'\n });\n\n element.search( settings );\n\n if ( angular.isFunction( scope.onInit ) ) {\n scope.onInit( element );\n }\n\n if ( scope.model && attributes.text && textProperty in scope.model ) {\n scope.text = scope.model[ textProperty ];\n }\n };\n }\n\n})( angular.module('semantic-ui-search', ['semantic-ui-core']) );\n","(function(app)\n{\n\n app\n .factory('SemanticSidebarLink', ['SemanticUI', SemanticSidebarLink])\n .directive('smSidebarBind', ['SemanticUI', SemanticSidebarBind])\n .directive('smSidebar', ['SemanticSidebarLink', SemanticSidebar])\n ;\n\n var BEHAVIORS = {\n smSidebarShow: 'show',\n smSidebarHide: 'hide',\n smSidebarToggle: 'toggle',\n smSidebarPushPage: 'push page',\n smSidebarPullPage: 'pull page',\n smSidebarAddBodyCss: 'add body css',\n smSidebarRemoveBodyCss: 'remove body css'\n };\n\n angular.forEach( BEHAVIORS, function(method, directive)\n {\n app.directive( directive, ['SemanticUI', function(SemanticUI)\n {\n return SemanticUI.createBehavior( directive, 'sidebar', method );\n }]);\n });\n\n function SemanticSidebarBind(SemanticUI)\n {\n return SemanticUI.createBind( 'smSidebarBind', 'sidebar' );\n }\n\n function SemanticSidebar(SemanticSidebarLink)\n {\n return {\n\n restrict: 'E',\n\n replace: true,\n\n scope: {\n /* Required */\n items: '=',\n label: '&',\n /* Optional */\n onClick: '&',\n visible: '=',\n settings: '=',\n onInit: '=',\n /* Events */\n onVisible: '=',\n onShow: '=',\n onChange: '=',\n onHide: '=',\n onHidden: '='\n },\n\n template: [\n ''\n ].join('\\n'),\n\n link: SemanticSidebarLink\n };\n }\n\n function SemanticSidebarLink(SemanticUI)\n {\n return function(scope, element, attributes)\n {\n var settings = scope.settings || {};\n\n SemanticUI.setDefaultFunction( scope, 'label', attributes, function(locals){return locals.item} );\n\n SemanticUI.linkSettings( scope, element, attributes, 'sidebar' );\n\n if ( attributes.visible )\n {\n var visibleWatcher = SemanticUI.watcher( scope, 'visible',\n function(updated) {\n element.sidebar( updated ? 'show' : 'hide' );\n }\n );\n\n SemanticUI.onEvent( settings, 'onHide',\n function() {\n visibleWatcher.set( false );\n }\n );\n\n SemanticUI.onEvent( settings, 'onShow',\n function() {\n visibleWatcher.set( true );\n }\n );\n }\n\n SemanticUI.linkEvents( scope, settings, $.fn.sidebar.settings, {\n onVisible: 'onVisible',\n onShow: 'onShow',\n onChange: 'onChange',\n onHide: 'onHide',\n onHidden: 'onHidden'\n });\n\n var pusher = $('.pusher');\n\n if ( pusher.length )\n {\n element.insertBefore( pusher );\n }\n\n // Initialize the element with the given settings.\n element.sidebar( settings );\n\n if ( scope.visible )\n {\n element.sidebar( 'show' );\n }\n\n if ( angular.isFunction( scope.onInit ) )\n {\n scope.onInit( element );\n }\n };\n }\n\n})( angular.module('semantic-ui-sidebar', ['semantic-ui-core']) );\n","(function(app)\n{\n\n app\n .factory('SemanticShapeLink', ['SemanticUI', SemanticShapeLink])\n .directive('smShapeBind', ['SemanticUI', SemanticShapeBind])\n .directive('smShape', ['SemanticShapeLink', SemanticShape])\n ;\n\n var BEHAVIORS = {\n smShapeFlipUp: 'flip up',\n smShapeFlipDown: 'flip down',\n smShapeFlipLeft: 'flip left',\n smShapeFlipRight: 'flip right',\n smShapeFlipOver: 'flip over',\n smShapeFlipBack: 'flip back',\n smShapeSetNextSide: 'set next side',\n smShapeReset: 'reset',\n smShapeQueue: 'queue',\n smShapeRepaint: 'repaint',\n smShapeSetDefaultSide: 'set default side',\n smShapeSetStageSize: 'set stage size',\n smShapeRefresh: 'refresh'\n };\n\n angular.forEach( BEHAVIORS, function(method, directive)\n {\n app.directive( directive, ['SemanticUI', function(SemanticUI)\n {\n return SemanticUI.createBehavior( directive, 'shape', method );\n }]);\n });\n\n function SemanticShapeBind(SemanticUI)\n {\n return SemanticUI.createBind( 'smShapeBind', 'shape' );\n }\n\n function SemanticShape(SemanticShapeLink)\n {\n return {\n\n restrict: 'E',\n\n replace: true,\n\n transclude: true,\n\n scope: {\n\n settings: '=',\n onInit: '=',\n /* Events */\n onBeforeChange: '=',\n onChange: '=',\n },\n\n template: [\n ''\n ].join('\\n'),\n\n link: SemanticShapeLink\n\n };\n }\n\n function SemanticShapeLink(SemanticUI)\n {\n return function(scope, element, attributes)\n {\n var settings = scope.settings || {};\n\n SemanticUI.linkSettings( scope, element, attributes, 'shape' );\n\n SemanticUI.linkEvents( scope, settings, $.fn.shape.settings, {\n onBeforeChange: 'onBeforeChange',\n onChange: 'onChange'\n });\n\n element.shape( settings );\n\n if ( angular.isFunction( scope.onInit ) ) {\n scope.onInit( element );\n }\n };\n }\n\n})( angular.module('semantic-ui-shape', ['semantic-ui-core']) );\n","(function(app)\n{\n\n app\n .factory('SemanticStickyLink', ['SemanticUI', SemanticStickyLink])\n .directive('smStickyBind', ['SemanticUI', SemanticStickyBind])\n .directive('smSticky', ['SemanticStickyLink', SemanticSticky])\n ;\n\n var BEHAVIORS = {\n smStickyRefresh: 'refresh'\n };\n\n angular.forEach( BEHAVIORS, function(method, directive)\n {\n app.directive( directive, ['SemanticUI', function(SemanticUI)\n {\n return SemanticUI.createBehavior( directive, 'sticky', method );\n }]);\n });\n\n function SemanticStickyBind(SemanticUI)\n {\n return SemanticUI.createBind( 'smStickyBind', 'sticky' );\n }\n\n function SemanticSticky(SemanticStickyLink)\n {\n return {\n\n restrict: 'E',\n\n replace: true,\n\n transclude: true,\n\n scope: {\n /* Optional */\n context: '@',\n settings: '=',\n onInit: '=',\n /* Events */\n onReposition: '=',\n onScroll: '=',\n onStick: '=',\n onUnstick: '=',\n onTop: '=',\n onBottom: '='\n },\n\n template: '',\n\n link: SemanticStickyLink\n };\n }\n\n function SemanticStickyLink(SemanticUI)\n {\n return function(scope, element, attributes)\n {\n element.ready(function()\n {\n var settings = scope.settings || {};\n\n SemanticUI.linkSettings( scope, element, attributes, 'sticky', true );\n\n SemanticUI.linkEvents( scope, settings, $.fn.sticky.settings, {\n onReposition: 'onReposition',\n onScroll: 'onScroll',\n onStick: 'onStick',\n onStick: 'onStick',\n onTop: 'onTop',\n onBottom: 'onBottom'\n });\n\n if ( !settings.context )\n {\n settings.context = scope.context;\n }\n\n element.sticky( settings );\n\n if ( angular.isFunction( scope.onInit ) )\n {\n scope.onInit( element );\n }\n });\n };\n }\n\n})( angular.module('semantic-ui-sticky', ['semantic-ui-core']) );\n","(function(app)\n{\n\n app\n .factory('SemanticTabMenuLink', ['SemanticUI', '$timeout', SemanticTabMenuLink])\n .directive('smTabBind', ['SemanticUI', SemanticTabBind])\n .directive('smTabMenu', ['SemanticTabMenuLink', SemanticTabMenu])\n .directive('smTab', ['SemanticUI', SemanticTab])\n ;\n\n var BEHAVIORS = {\n smTabSet: 'change tab'\n };\n\n angular.forEach( BEHAVIORS, function(method, directive)\n {\n app.directive( directive, ['SemanticUI', function(SemanticUI)\n {\n return SemanticUI.createBehavior( directive, 'tab', method );\n }]);\n });\n\n function SemanticTabBind(SemanticUI)\n {\n return SemanticUI.createBind( 'smTabBind', 'tab' );\n }\n\n function SemanticTabMenu(SemanticTabMenuLink)\n {\n return {\n\n restrict: 'E',\n\n replace: true,\n\n scope: {\n /* Required */\n tabs: '=',\n /* Optional */\n active: '=?',\n settings: '='\n },\n\n template: [\n ''\n ].join('\\n'),\n\n link: SemanticTabMenuLink\n }\n }\n\n function SemanticTabMenuLink(SemanticUI, $timeout)\n {\n return function(scope, element, attributes)\n {\n var setActiveTab = function( tab )\n {\n if ( tab )\n {\n element.tab( 'change tab', tab );\n }\n };\n\n $timeout(function()\n {\n var settings = scope.settings || {};\n var elements = element.children('.item');\n var hasActive = !!attributes.active;\n\n SemanticUI.linkSettings( scope, elements, attributes, 'tab', true );\n\n if ( hasActive )\n {\n var activeWatcher = SemanticUI.watcher( scope, 'active',\n function( tab ) {\n setActiveTab( tab );\n }\n );\n\n SemanticUI.onEvent( settings, 'onVisible',\n function(tab) {\n activeWatcher.set( tab );\n }\n );\n }\n\n elements.tab( settings );\n\n if ( hasActive )\n {\n setActiveTab( scope.active );\n }\n });\n };\n }\n\n function SemanticTab(SemanticUI)\n {\n return {\n\n restrict: 'E',\n\n replace: true,\n\n transclude: true,\n\n scope: {\n name: '@'\n },\n\n template: ''\n };\n }\n\n})( angular.module('semantic-ui-tab', ['semantic-ui-core']) );\n","(function(app)\n{\n\n app\n .directive('smTimeAgo', SemanticTimeAgo)\n ;\n\n function SemanticTimeAgo()\n {\n var MONTHS = ['January', 'February', 'March', 'April', 'May', 'June', 'July', 'August', 'September', 'October', 'November', 'December'];\n var THS = ['th', 'st', 'nd', 'rd', 'th', 'th', 'th', 'th', 'th', 'th'];\n var HOURS = ['12', '1', '2', '3', '4', '5', '6', '7', '8', '9', '10', '11'];\n\n function getTime(date)\n {\n var hours = date.getHours();\n var minutes = date.getMinutes();\n var minutesPadded = minutes < 10 ? '0' + minutes : minutes;\n\n return HOURS[ hours % HOURS.length ] + ':' + minutesPadded + ( hours < 12 ? 'AM' : 'PM' );\n }\n\n function getTh(x)\n {\n return (x >= 11 && x <= 13) ? (x + 'th') : x + THS[ x % THS.length ];\n }\n\n function getDaysAgo(date)\n {\n return Math.ceil( ( new Date().getTime() - date.getTime() ) / 86400000 );\n }\n\n return {\n\n restrict: 'A',\n\n link: function(scope, element, attributes)\n {\n var timeout = false;\n var value = false;\n var fuzzy = false;\n\n var updateText = function()\n {\n var now = new Date();\n var today = new Date( now.getFullYear(), now.getMonth(), now.getDate() );\n var yesterday = new Date( now.getFullYear(), now.getMonth(), now.getDate() - 1 );\n\n var elapsed = now.getTime() - value.getTime();\n\n var text = '';\n var updateIn = false;\n\n if ( elapsed < 60000 )\n { // 1 minute\n text = 'Just now';\n updateIn = 60000 - elapsed;\n }\n else if ( elapsed < 3600000 )\n { // 1 hour\n var minutesAgo = Math.floor( elapsed / 60000 );\n text = minutesAgo === 1 ? '1 minute ago' : minutesAgo + ' minutes ago';\n updateIn = elapsed % 60000;\n }\n else if ( value.getTime() > today.getTime() )\n { // today\n text = 'Today at ' + getTime( value );\n updateIn = elapsed % 3600000;\n }\n else if ( value.getTime() > yesterday.getTime() )\n { // yesterday\n text = 'Yesterday at ' + getTime( value );\n updateIn = elapsed % 3600000;\n }\n else if ( value.getMonth() === now.getMonth() && value.getFullYear() === now.getFullYear() )\n { // this month\n text += 'The ' + getTh( value.getDate() );\n text +=' at ' + getTime( value );\n text += ' (' + getDaysAgo( value ) + ' days ago)';\n updateIn = 86400000;\n }\n else\n { // before the current month\n text += MONTHS[ value.getMonth() ] + ' ' + getTh( value.getDate() );\n if ( value.getFullYear() !== now.getFullYear() ) {\n text += ' ' + value.getFullYear();\n }\n text += ' at ' + getTime( value );\n var daysAgo = getDaysAgo( value );\n if ( daysAgo <= 60 ) {\n text += ' (' + getDaysAgo( value ) + ' days ago)'\n }\n }\n\n element.text( text );\n\n if ( timeout )\n {\n clearTimeout( timeout );\n timeout = false;\n }\n\n if ( updateIn )\n {\n timeout = setTimeout(function()\n {\n timeout = false;\n updateText();\n\n }, updateIn);\n }\n };\n\n scope.$watch( attributes.smTimeAgo, function(updated)\n {\n value = new Date( updated );\n updateText();\n });\n }\n }\n }\n\n})( angular.module('semantic-ui-timeago', ['semantic-ui-core']) );\n","(function(app)\n{\n\n // Transitions: scale, fade, flip, drop, fly, swing, browse, slide, jiggle, flash, shake, pulse, tada, bounce\n\n app\n .factory('SemanticTransitionLink', ['SemanticUI', SemanticTransitionLink])\n .directive('smTransition', ['SemanticTransitionLink', SemanticTransition])\n ;\n\n function SemanticTransition(SemanticTransitionLink)\n {\n return {\n\n restrict: 'A',\n\n scope: {\n smTransition: '@',\n smTransitionEvents: '@',\n smTransitionOther: '@'\n },\n\n link: SemanticTransitionLink\n };\n }\n\n function SemanticTransitionLink(SemanticUI)\n {\n return function(scope, element, attributes)\n {\n scope.smTransitionEvents = scope.smTransitionEvents || 'click';\n\n element.on( scope.smTransitionEvents, function()\n {\n ( scope.smTransitionOther ? $( scope.smTransitionOther ) : element ).transition( scope.smTransition );\n });\n };\n }\n\n})( angular.module('semantic-ui-transition', ['semantic-ui-core']) );\n"],"sourceRoot":"/source/"}
\ No newline at end of file
+{"version":3,"sources":["sm.js","sm-core.js","accordion/sm-accordion.js","checkbox/sm-checkbox.js","checkbox/sm-radio.js","comment/sm-comment.js","dropdown/sm-dropdown.js","dimmer/sm-dimmer.js","embed/sm-embed.js","list/sm-list.js","menu/sm-menu.js","modal/sm-modal.js","progress/sm-progress.js","popup/sm-popup.js","rating/sm-rating.js","search/sm-search.js","shape/sm-shape.js","sidebar/sm-sidebar.js","sticky/sm-sticky.js","tab/sm-tab.js","timeago/sm-timeago.js","transition/sm-transition.js"],"names":["angular","module","app","SemanticUIFactory","$compile","SemanticUI","setDefaultFunction","scope","variable","attributes","func","triggerChange","element","initialized","$watch","updated","$evalAsync","trigger","bindAttribute","attribute","attr","onEvent","settings","evt","existing","undefined","result0","isFunction","apply","this","arguments","result1","linkEvents","defaults","linkings","scopeValue","linkSettings","settingsAttribute","forEach","value","key","createBind","restrict","link","initBind","ready","input","$eval","createBehavior","method","initBehavior","$","enabled","previousEvent","isString","isObject","isDefined","off","on","watcher","expression","context","force","equals","ignoreUpdate","call","set","update","RecursiveCompiler","postLink","post","compiledContents","contents","remove","pre","clone","append","SemanticButton","replace","transclude","template","SemanticItem","icon","SemanticFlatMenu","join","SemanticHtml","$injector","sanitize","$sce","get","getTrustedHtml","trustAsHtml","e","attrs","smHtml","html","factory","directive","SemanticAccordionBind","SemanticAccordion","SemanticAccordionLink","onInit","onOpening","onOpen","onClosing","onClose","onChange","fn","accordion","SemanticAccordionGroup","required","title","active","BEHAVIORS","smAccordionOpen","smAccordionCloseOthers","smAccordionClose","smAccordionToggle","SemanticCheckboxBind","SemanticCheckbox","SemanticCheckboxLink","model","label","indeterminateValue","checkedValue","uncheckedValue","children","onChecked","onIndeterminate","onDeterminate","onUnchecked","onEnable","onDisable","enabledWatcher","checkbox","modelWatcher","$children","settingChildren","change","checked","each","i","child","length","smCheckboxToggle","smCheckboxCheck","smCheckboxUncheck","smCheckboxIndeterminate","smCheckboxDeterminate","smCheckboxEnable","smCheckboxDisable","SemanticRadioBind","SemanticRadio","SemanticRadioLink","name","hasClass","removeClass","smRadioCheck","smRadioEnable","smRadioDisable","SemanticComments","comments","content","avatar","author","date","replies","reply","collapsible","onAuthor","onReply","onShowReplies","onHideReplies","controller","compile","SemanticCommentsController","$scope","setCollapsed","comment","$event","collapse","$isCollapsed","hasReplies","getReplyCount","getShowRepliesText","count","getHideRepliesText","SemanticDropdownBind","SemanticDropdown","SemanticDropdownLink","items","defaultText","emptyValue","onAdd","onRemove","onLabelCreate","onLabelSelect","onNoResults","onShow","onHide","SemanticDropdownController","hashMap","getValue","item","getKey","$$hashKey","isEmpty","translateValue","translated","matching","findMatchingItem","hasDefault","getDefaultText","updateHashMap","$timeout","applyValue","dropdown","Array","translatedValue","push","locals","ignoreChange","modelArray","mapped","mappedValue","indexOf","inArray","splice","smDropdownToggle","smDropdownShow","smDropdownHide","smDropdownClear","smDropdownHideOthers","smDropdownRestoreDefaults","smDropdownRestoreDefaultText","smDropdownRestoreDefaultValue","smDropdownSaveDefaults","smDropdownSetSelected","smDropdownSetText","smDropdownSetValue","smDropdownBindTouchEvents","smDropdownMouseEvents","smDropdownBindIntent","smDropdownUnbindIntent","smDropdownSetActive","smDropdownSetVisible","smDropdownRemoveActive","smDropdownRemoveVisible","SemanticDimmerBind","SemanticDimmer","SemanticDimmerLink","visible","visibleWatcher","dimmer","smDimmerShow","smDimmerHide","smDimmerToggle","SemanticEmbedBind","SemanticEmbed","SemanticEmbedLink","source","sourceId","url","placeholder","onCreate","onDisplay","onPlaceholderDisplay","onEmbed","id","embed","smEmbedReset","smEmbedShow","smEmbedHide","smEmbedDestroy","SemanticList","SemanticListLink","description","image","header","headerHref","onHeader","has","headerLink","getChildCount","SemanticMenu","onClick","hidden","divider","SemanticMenuController","hasChildren","getChildren","getLabel","getIcon","getDescription","isHidden","isDivider","SemanticModalBind","SemanticModal","SemanticModalLink","onVisible","onHidden","onApprove","onDeny","modal","smModalShow","smModalHide","smModalToggle","smModalRefresh","smModalShowDimmer","smModalHideDimmer","smModalHideOthers","smModalHideAll","smModalCacheSizes","smModalSetActive","SemanticProgress","SemanticProgressLink","total","activeText","successText","errorText","warningText","duration","onSuccess","onActive","onError","onWarning","addText","property","text","progress","showActivity","smProgressIncrement","SemanticPopup","SemanticPopupLink","smPopup","smPopupTitle","smPopupHtml","smPopupPosition","smPopupVariation","smPopupSettings","smPopupOnInit","smPopupOnCreate","smPopupOnRemove","smPopupOnShow","smPopupOnVisible","smPopupOnHide","smPopupOnHidden","popup","SemanticPopupInline","SemanticPopupInlineLink","smPopupInline","smPopupInlineOnInit","smPopupInlineOnCreate","smPopupInlineOnRemove","smPopupInlineOnShow","smPopupInlineOnVisible","smPopupInlineOnHide","smPopupInlineOnHidden","inline","SemanticPopupDisplay","SemanticPopupDisplayLink","smPopupDisplay","smPopupDisplaySettings","smPopupDisplayOnInit","smPopupDisplayOnCreate","smPopupDisplayOnRemove","smPopupDisplayOnShow","smPopupDisplayOnVisible","smPopupDisplayOnHide","smPopupDisplayOnHidden","SemanticPopupDetached","smPopupShow","smPopupHide","smPopupHideAll","smPopupToggle","smPopupReposition","smPopupDestroy","smPopupRemove","SemanticRatingBind","SemanticRating","SemanticRatingLink","type","disabled","onRate","rating","valueWatcher","smRatingSet","smRatingDisable","smRatingEnable","smRatingClear","SemanticSearchBind","SemanticSearch","SemanticSearchLink","category","local","remote","onSelect","onResultsAdd","onSearchQuery","onResults","onResultsOpen","onResultsClose","defaultTitle","search","fields","textProperty","apiSettings","result","response","smSearchQuery","smSearchCancelQuery","smSearchSearchLocal","smSearchSearchRemote","smSearchSet","smSearchShowResults","smSearchHideResults","smSearchDestroy","SemanticShapeBind","SemanticShape","SemanticShapeLink","onBeforeChange","shape","smShapeFlipUp","smShapeFlipDown","smShapeFlipLeft","smShapeFlipRight","smShapeFlipOver","smShapeFlipBack","smShapeSetNextSide","smShapeReset","smShapeQueue","smShapeRepaint","smShapeSetDefaultSide","smShapeSetStageSize","smShapeRefresh","SemanticSidebarBind","SemanticSidebar","SemanticSidebarLink","sidebar","pusher","insertBefore","smSidebarShow","smSidebarHide","smSidebarToggle","smSidebarPushPage","smSidebarPullPage","smSidebarAddBodyCss","smSidebarRemoveBodyCss","SemanticStickyBind","SemanticSticky","SemanticStickyLink","onReposition","onScroll","onStick","onUnstick","onTop","onBottom","sticky","smStickyRefresh","SemanticTabBind","SemanticTabMenu","SemanticTabMenuLink","tabs","setActiveTab","tab","elements","hasActive","activeWatcher","SemanticTab","smTabSet","SemanticTimeAgo","getTime","hours","getHours","minutes","getMinutes","minutesPadded","HOURS","getTh","x","THS","getDaysAgo","Math","ceil","Date","MONTHS","timeout","updateText","now","today","getFullYear","getMonth","getDate","yesterday","elapsed","updateIn","minutesAgo","floor","daysAgo","clearTimeout","setTimeout","smTimeAgo","SemanticTransition","SemanticTransitionLink","smTransition","smTransitionEvents","smTransitionOther","transition"],"mappings":"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","file":"angular-semantic-ui.min.js","sourcesContent":["\r\nangular.module('semantic-ui', [\r\n 'semantic-ui-core',\r\n 'semantic-ui-accordion',\r\n 'semantic-ui-checkbox',\r\n 'semantic-ui-radio',\r\n 'semantic-ui-comment',\r\n 'semantic-ui-dimmer',\r\n 'semantic-ui-dropdown',\r\n 'semantic-ui-embed',\r\n 'semantic-ui-list',\r\n 'semantic-ui-menu',\r\n 'semantic-ui-modal',\r\n 'semantic-ui-popup',\r\n 'semantic-ui-progress',\r\n 'semantic-ui-rating',\r\n 'semantic-ui-search',\r\n 'semantic-ui-shape',\r\n 'semantic-ui-sidebar',\r\n 'semantic-ui-sticky',\r\n 'semantic-ui-tab',\r\n 'semantic-ui-transition',\r\n 'semantic-ui-timeago'\r\n]);\r\n","(function(app)\r\n{\r\n\r\n app\r\n .factory('SemanticUI', ['$compile', SemanticUIFactory])\r\n .directive('smButton', SemanticButton)\r\n .directive('smMenuItem', SemanticItem)\r\n .directive('smFlatMenu', SemanticFlatMenu)\r\n .directive('smHtml', ['$injector', SemanticHtml])\r\n ;\r\n\r\n function SemanticUIFactory($compile)\r\n {\r\n var SemanticUI =\r\n {\r\n setDefaultFunction: function(scope, variable, attributes, func)\r\n {\r\n if ( !attributes[ variable ] )\r\n {\r\n scope[ variable ] = func;\r\n }\r\n },\r\n triggerChange: function(scope, variable, element, initialized)\r\n {\r\n scope.$watch( variable, function(updated)\r\n {\r\n // Don't trigger the change event if the element hasn't been initialized.\r\n if ( initialized )\r\n {\r\n // Trigger the change event during a digest cycle so any other\r\n // variables that are changing this current digest cycle can finish.\r\n scope.$evalAsync(function()\r\n {\r\n element.trigger('change');\r\n });\r\n }\r\n\r\n initialized = true;\r\n })\r\n },\r\n bindAttribute: function(scope, variable, element, attribute)\r\n {\r\n scope.$watch( variable, function(updated)\r\n {\r\n element.attr( attribute, updated );\r\n });\r\n },\r\n onEvent: function(settings, evt, func)\r\n {\r\n settings[ evt ] = (function(existing, undefined)\r\n {\r\n return function EventHandler()\r\n {\r\n var result0 = undefined;\r\n\r\n if ( angular.isFunction( existing ) )\r\n {\r\n result0 = existing.apply( this, arguments );\r\n }\r\n\r\n var result1 = func.apply( this, arguments );\r\n\r\n return ( result0 !== undefined ? result0 : result1 );\r\n }\r\n })( settings[ evt ] );\r\n },\r\n linkEvents: function(scope, settings, defaults, linkings)\r\n {\r\n for (var evt in linkings)\r\n {\r\n (function(variable, evt)\r\n {\r\n SemanticUI.onEvent( settings, evt, function()\r\n {\r\n var scopeValue = scope[ variable ];\r\n\r\n if ( angular.isFunction( scopeValue ) )\r\n {\r\n return scopeValue.apply( this, arguments );\r\n }\r\n else if ( angular.isFunction( defaults[ evt ] ) )\r\n {\r\n return defaults[ evt ].apply( this, arguments );\r\n }\r\n });\r\n\r\n })( linkings[ evt ], evt );\r\n }\r\n },\r\n linkSettings: function(scope, element, attributes, module, initialized, settingsAttribute)\r\n {\r\n var settings = settingsAttribute || 'settings';\r\n\r\n if ( settings in attributes )\r\n {\r\n scope.$watch( settings, function( updated )\r\n {\r\n if ( initialized )\r\n {\r\n angular.forEach( updated, function(value, key)\r\n {\r\n element[ module ]( 'setting', key, value );\r\n });\r\n }\r\n\r\n initialized = true;\r\n\r\n }, true );\r\n }\r\n },\r\n createBind: function(attribute, module)\r\n {\r\n return {\r\n\r\n restrict: 'A',\r\n\r\n link: function(scope, element, attributes)\r\n {\r\n SemanticUI.linkSettings( scope, element, attributes, module, false, attribute );\r\n SemanticUI.initBind( scope, element, attributes, attribute, module );\r\n }\r\n };\r\n },\r\n initBind: function(scope, element, attributes, attribute, module)\r\n {\r\n element.ready(function()\r\n {\r\n var settings = {};\r\n var input = attributes[ attribute ];\r\n\r\n if ( input )\r\n {\r\n settings = scope.$eval( input );\r\n }\r\n\r\n element[ module ]( settings );\r\n });\r\n },\r\n createBehavior: function(attribute, module, method)\r\n {\r\n return {\r\n\r\n restrict: 'A',\r\n\r\n link: function(scope, element, attributes)\r\n {\r\n SemanticUI.initBehavior( scope, attributes, attribute, element, module, method );\r\n }\r\n };\r\n },\r\n initBehavior: function(scope, attributes, attribute, element, module, method)\r\n {\r\n // Default settings on the attribute.\r\n var settings = {\r\n $: undefined,\r\n evt: 'click',\r\n enabled: true,\r\n value: undefined\r\n };\r\n\r\n var onEvent = function()\r\n {\r\n // If the trigger is currently enabled...\r\n if ( settings.enabled )\r\n {\r\n // Call the method on the module.\r\n $( settings.$ )[ module ]( method, settings.value );\r\n }\r\n };\r\n\r\n var previousEvent = false;\r\n\r\n scope.$watch( attributes[ attribute ], function(input)\r\n {\r\n // If the attribute value is a string, take it as the selector\r\n if ( angular.isString( input ) )\r\n {\r\n settings.$ = input;\r\n }\r\n // If the attribute value is an object, overwrite the defaults.\r\n else if ( angular.isObject( input ) )\r\n {\r\n if ( !angular.isString( input.evt ) ) input.evt = settings.evt;\r\n if ( !angular.isDefined( input.enabled ) ) input.enabled = settings.enabled;\r\n\r\n settings = input;\r\n }\r\n\r\n if ( previousEvent )\r\n {\r\n element.off( previousEvent, onEvent );\r\n }\r\n\r\n element.on( previousEvent = settings.evt, onEvent );\r\n\r\n }, true );\r\n },\r\n watcher: function(scope, expression, func, context, force, equals)\r\n {\r\n var ignoreUpdate = false;\r\n\r\n scope.$watch( expression, function( updated )\r\n {\r\n if ( !ignoreUpdate )\r\n {\r\n func.call( context, updated );\r\n }\r\n\r\n ignoreUpdate = false;\r\n\r\n }, equals );\r\n\r\n return {\r\n set: function(value)\r\n {\r\n if ( scope[ expression ] != value || force )\r\n {\r\n scope.$evalAsync(function()\r\n {\r\n scope[ expression ] = value;\r\n ignoreUpdate = true;\r\n });\r\n }\r\n },\r\n update: function()\r\n {\r\n scope.$evalAsync(function()\r\n {\r\n ignoreUpdate = true;\r\n });\r\n }\r\n }\r\n },\r\n RecursiveCompiler: function(postLink)\r\n {\r\n return function(element, link)\r\n {\r\n // Normalize the link parameter\r\n if( angular.isFunction( link ) )\r\n {\r\n link = { post: link };\r\n }\r\n\r\n // Break the recursion loop by removing the contents\r\n var contents = element.contents().remove();\r\n var compiledContents;\r\n\r\n return {\r\n pre: (link && link.pre) ? link.pre : null,\r\n /**\r\n * Compiles and re-adds the contents\r\n */\r\n post: function(scope, element)\r\n {\r\n // Compile the contents\r\n if( !compiledContents )\r\n {\r\n compiledContents = $compile(contents);\r\n }\r\n\r\n // Re-add the compiled contents to the element\r\n compiledContents( scope, function(clone)\r\n {\r\n element.append(clone);\r\n });\r\n\r\n // Call the post-linking function, if any\r\n if ( link && link.post )\r\n {\r\n link.post.apply( null, arguments );\r\n }\r\n\r\n if ( angular.isFunction( postLink ) )\r\n {\r\n postLink.apply( null, arguments );\r\n }\r\n }\r\n };\r\n };\r\n }\r\n };\r\n\r\n return SemanticUI;\r\n }\r\n\r\n function SemanticButton()\r\n {\r\n return {\r\n\r\n restrict: 'E',\r\n\r\n replace: true,\r\n\r\n transclude: true,\r\n\r\n template: ''\r\n };\r\n }\r\n\r\n function SemanticItem()\r\n {\r\n return {\r\n\r\n restrict: 'E',\r\n\r\n replace: true,\r\n\r\n transclude: true,\r\n\r\n scope: {\r\n icon: '@'\r\n },\r\n\r\n template: ''\r\n }\r\n }\r\n\r\n function SemanticFlatMenu()\r\n {\r\n return {\r\n\r\n restrict: 'E',\r\n\r\n replace: true,\r\n\r\n template: [\r\n ''\r\n ].join('\\n')\r\n }\r\n }\r\n\r\n function SemanticHtml($injector)\r\n {\r\n var sanitize = function(value)\r\n {\r\n return value;\r\n };\r\n\r\n try\r\n {\r\n $sce = $injector.get('$sce');\r\n\r\n sanitize = function(value)\r\n {\r\n return $sce.getTrustedHtml( $sce.trustAsHtml( value ) );\r\n };\r\n }\r\n catch (e)\r\n {\r\n // ignore\r\n }\r\n\r\n return function(scope, element, attrs)\r\n {\r\n scope.$watch( attrs.smHtml, function(value)\r\n {\r\n element.html( sanitize( value || '' ) );\r\n });\r\n };\r\n }\r\n\r\n})( angular.module('semantic-ui-core', []) );\r\n","(function(app)\r\n{\r\n\r\n app\r\n .factory('SemanticAccordionLink', ['SemanticUI', SemanticAccordionLink])\r\n .directive('smAccordionBind', ['SemanticUI', SemanticAccordionBind])\r\n .directive('smAccordion', ['SemanticAccordionLink', SemanticAccordion])\r\n .directive('smAccordionGroup', SemanticAccordionGroup)\r\n ;\r\n\r\n var BEHAVIORS = {\r\n smAccordionOpen: 'open',\r\n smAccordionCloseOthers: 'close others',\r\n smAccordionClose: 'close',\r\n smAccordionToggle: 'toggle'\r\n };\r\n\r\n angular.forEach( BEHAVIORS, function(method, directive)\r\n {\r\n app.directive( directive, ['SemanticUI', function(SemanticUI)\r\n {\r\n return SemanticUI.createBehavior( directive, 'accordion', method );\r\n }]);\r\n });\r\n\r\n function SemanticAccordionBind(SemanticUI)\r\n {\r\n return SemanticUI.createBind( 'smAccordionBind', 'accordion' );\r\n }\r\n\r\n function SemanticAccordion(SemanticAccordionLink)\r\n {\r\n return {\r\n\r\n restrict: 'E',\r\n\r\n replace: true,\r\n\r\n transclude: true,\r\n\r\n scope: {\r\n /* Optional */\r\n settings: '=',\r\n onInit: '=',\r\n /* Events */\r\n onOpening: '=',\r\n onOpen: '=',\r\n onClosing: '=',\r\n onClose: '=',\r\n onChange: '='\r\n },\r\n\r\n template: '',\r\n\r\n link: SemanticAccordionLink\r\n };\r\n }\r\n\r\n function SemanticAccordionLink(SemanticUI)\r\n {\r\n return function(scope, element, attributes)\r\n {\r\n element.ready(function()\r\n {\r\n var settings = scope.settings || {};\r\n\r\n SemanticUI.linkSettings( scope, element, attributes, 'accordion', true );\r\n\r\n SemanticUI.linkEvents( scope, settings, $.fn.accordion.settings, {\r\n onOpening: 'onOpening',\r\n onOpen: 'onOpen',\r\n onClosing: 'onClosing',\r\n onClose: 'onClose',\r\n onChange: 'onChange'\r\n });\r\n\r\n element.accordion( settings );\r\n\r\n if ( angular.isFunction( scope.onInit ) )\r\n {\r\n scope.onInit( element );\r\n }\r\n });\r\n };\r\n }\r\n\r\n function SemanticAccordionGroup()\r\n {\r\n return {\r\n restrict: 'E',\r\n required: 'title',\r\n transclude: true,\r\n scope: {\r\n /* Required */\r\n title: '=',\r\n /* Optional */\r\n active: '='\r\n },\r\n template: [\r\n '',\r\n ' ',\r\n ' {{ title }}',\r\n '
',\r\n '',\r\n '
'\r\n ].join('\\n')\r\n }\r\n }\r\n\r\n})( angular.module('semantic-ui-accordion', ['semantic-ui-core']) );\r\n","(function(app)\r\n{\r\n\r\n app\r\n .factory('SemanticCheckboxLink', ['SemanticUI', SemanticCheckboxLink])\r\n .directive('smCheckboxBind', ['SemanticUI', SemanticCheckboxBind])\r\n .directive('smCheckbox', ['SemanticCheckboxLink', SemanticCheckbox])\r\n ;\r\n\r\n var BEHAVIORS = {\r\n smCheckboxToggle: 'toggle',\r\n smCheckboxCheck: 'check',\r\n smCheckboxUncheck: 'uncheck',\r\n smCheckboxIndeterminate: 'indeterminate',\r\n smCheckboxDeterminate: 'determinate',\r\n smCheckboxEnable: 'enable',\r\n smCheckboxDisable: 'disable'\r\n };\r\n\r\n angular.forEach( BEHAVIORS, function(method, directive)\r\n {\r\n app.directive( directive, ['SemanticUI', function(SemanticUI)\r\n {\r\n return SemanticUI.createBehavior( directive, 'checkbox', method );\r\n }]);\r\n });\r\n\r\n function SemanticCheckboxBind(SemanticUI)\r\n {\r\n return SemanticUI.createBind( 'smCheckboxBind', 'checkbox' );\r\n }\r\n\r\n function SemanticCheckbox(SemanticCheckboxLink)\r\n {\r\n return {\r\n\r\n restrict: 'E',\r\n\r\n replace: true,\r\n\r\n transclude: true,\r\n\r\n scope: {\r\n /* Required */\r\n model: '=',\r\n label: '@',\r\n /* Optional */\r\n settings: '=',\r\n enabled: '=',\r\n indeterminateValue: '=',\r\n checkedValue: '=',\r\n uncheckedValue: '=',\r\n children: '@',\r\n onInit: '=',\r\n /* Events */\r\n onChange: '=',\r\n onChecked: '=',\r\n onIndeterminate: '=',\r\n onDeterminate: '=',\r\n onUnchecked: '=',\r\n onEnable: '=',\r\n onDisable: '='\r\n },\r\n\r\n template: [\r\n '',\r\n ' ',\r\n ' ',\r\n '
'\r\n ].join('\\n'),\r\n\r\n link: SemanticCheckboxLink\r\n };\r\n }\r\n\r\n function SemanticCheckboxLink(SemanticUI)\r\n {\r\n return function(scope, element, attributes)\r\n {\r\n element.ready(function()\r\n {\r\n var settings = scope.settings || {};\r\n\r\n SemanticUI.linkSettings( scope, element, attributes, 'checkbox', true );\r\n\r\n SemanticUI.triggerChange( scope, 'model', element, true );\r\n\r\n var checkedValue = function() {\r\n return angular.isDefined( scope.checkedValue ) ? scope.checkedValue : true;\r\n };\r\n var uncheckedValue = function() {\r\n return angular.isDefined( scope.uncheckedValue ) ? scope.uncheckedValue : false;\r\n };\r\n var indeterminateValue = function() {\r\n return angular.isDefined( scope.indeterminateValue ) ? scope.indeterminateValue : void 0;\r\n };\r\n\r\n if ( attributes.enabled )\r\n {\r\n var enabledWatcher = SemanticUI.watcher( scope, 'enabled',\r\n function(updated) {\r\n if ( angular.isDefined( updated ) ) {\r\n element.checkbox( updated ? 'set enabled' : 'set disabled' );\r\n }\r\n }\r\n );\r\n\r\n SemanticUI.onEvent( settings, 'onEnable',\r\n function(value) {\r\n enabledWatcher.set( true );\r\n }\r\n );\r\n\r\n SemanticUI.onEvent( settings, 'onDisable',\r\n function(value) {\r\n enabledWatcher.set( false );\r\n }\r\n );\r\n }\r\n\r\n var modelWatcher = SemanticUI.watcher( scope, 'model',\r\n function(updated) {\r\n if ( angular.isDefined( updated ) ) {\r\n element.checkbox( updated ? 'set checked' : 'set unchecked' );\r\n }\r\n }\r\n );\r\n\r\n SemanticUI.onEvent( settings, 'onChecked',\r\n function() {\r\n modelWatcher.set( checkedValue() );\r\n }\r\n );\r\n\r\n SemanticUI.onEvent( settings, 'onUnchecked',\r\n function() {\r\n modelWatcher.set( uncheckedValue() );\r\n }\r\n );\r\n\r\n SemanticUI.onEvent( settings, 'onIndeterminate',\r\n function() {\r\n modelWatcher.set( indeterminateValue() );\r\n }\r\n );\r\n\r\n SemanticUI.linkEvents( scope, settings, $.fn.checkbox.settings, {\r\n onChange: 'onChange',\r\n onChecked: 'onChecked',\r\n onIndeterminate: 'onIndeterminate',\r\n onDeterminate: 'onDeterminate',\r\n onUnchecked: 'onUnchecked',\r\n onEnable: 'onEnable',\r\n onDisable: 'onDisable'\r\n });\r\n\r\n // If the checkbox has children, link the value of this checkbox to the children\r\n if ( scope.children )\r\n {\r\n var $children = $( scope.children );\r\n var settingChildren = false;\r\n\r\n SemanticUI.onEvent( settings, 'onChecked',\r\n function() {\r\n settingChildren = true;\r\n $children.checkbox( 'check' );\r\n settingChildren = false;\r\n }\r\n );\r\n SemanticUI.onEvent( settings, 'onUnchecked',\r\n function() {\r\n settingChildren = true;\r\n $children.checkbox( 'uncheck' );\r\n settingChildren = false;\r\n }\r\n );\r\n\r\n $children.children('input[type=checkbox], input[type=radio]')\r\n .change(function() {\r\n\r\n if ( settingChildren ) {\r\n return;\r\n }\r\n\r\n var checked = 0;\r\n\r\n $children.each(function(i, child) {\r\n if ( $( child ).checkbox( 'is checked') ) {\r\n checked++;\r\n }\r\n });\r\n\r\n if ( checked === 0 ) {\r\n element.checkbox( 'uncheck' );\r\n }\r\n else if ( checked === $children.length ) {\r\n element.checkbox( 'check' );\r\n }\r\n else {\r\n element.checkbox( 'indeterminate' );\r\n }\r\n })\r\n ;\r\n }\r\n\r\n // Initialize the element with the given settings.\r\n element.checkbox( settings );\r\n\r\n // Set initial state of the checkbox\r\n if ( scope.model == checkedValue() )\r\n {\r\n element.checkbox( 'set checked' );\r\n }\r\n else if ( scope.model === indeterminateValue() )\r\n {\r\n element.checkbox( 'set indeterminate' );\r\n }\r\n\r\n if ( angular.isDefined( scope.enabled ) && !scope.enabled )\r\n {\r\n element.checkbox( 'set disabled' );\r\n }\r\n\r\n if ( angular.isFunction( scope.onInit ) ) {\r\n scope.onInit( element );\r\n }\r\n });\r\n };\r\n }\r\n\r\n})( angular.module('semantic-ui-checkbox', ['semantic-ui-core']) );\r\n","(function(app)\r\n{\r\n\r\n app\r\n .factory('SemanticRadioLink', ['SemanticUI', SemanticRadioLink])\r\n .directive('smRadioBind', ['SemanticUI', SemanticRadioBind])\r\n .directive('smRadio', ['SemanticRadioLink', SemanticRadio])\r\n ;\r\n\r\n var BEHAVIORS = {\r\n smRadioCheck: 'check',\r\n smRadioEnable: 'enable',\r\n smRadioDisable: 'disable'\r\n };\r\n\r\n angular.forEach( BEHAVIORS, function(method, directive)\r\n {\r\n app.directive( directive, ['SemanticUI', function(SemanticUI)\r\n {\r\n return SemanticUI.createBehavior( directive, 'checkbox', method );\r\n }]);\r\n });\r\n\r\n function SemanticRadioBind(SemanticUI)\r\n {\r\n return SemanticUI.createBind( 'smRadioBind', 'checkbox' );\r\n }\r\n\r\n function SemanticRadio(SemanticRadioLink)\r\n {\r\n return {\r\n\r\n restrict: 'E',\r\n\r\n replace: true,\r\n\r\n transclude: true,\r\n\r\n scope: {\r\n /* Required */\r\n model: '=',\r\n label: '@',\r\n name: '@',\r\n value: '=',\r\n /* Optional */\r\n settings: '=',\r\n enabled: '=',\r\n onInit: '=',\r\n /* Events */\r\n onChange: '=',\r\n onChecked: '=',\r\n onUnchecked: '=',\r\n onEnable: '=',\r\n onDisable: '='\r\n },\r\n\r\n template: [\r\n '',\r\n ' ',\r\n ' ',\r\n '
'\r\n ].join('\\n'),\r\n\r\n link: SemanticRadioLink\r\n };\r\n }\r\n\r\n function SemanticRadioLink(SemanticUI)\r\n {\r\n return function(scope, element, attributes)\r\n {\r\n element.ready(function()\r\n {\r\n var settings = scope.settings || {};\r\n\r\n SemanticUI.linkSettings( scope, element, attributes, 'checkbox', true );\r\n\r\n SemanticUI.triggerChange( scope, 'model', element, true );\r\n\r\n if ( attributes.enabled )\r\n {\r\n var enabledWatcher = SemanticUI.watcher( scope, 'enabled',\r\n function(updated) {\r\n if ( angular.isDefined( updated ) ) {\r\n element.checkbox( updated ? 'set enabled' : 'set disabled' );\r\n }\r\n }\r\n );\r\n\r\n SemanticUI.onEvent( settings, 'onEnable',\r\n function(value) {\r\n enabledWatcher.set( true );\r\n }\r\n );\r\n\r\n SemanticUI.onEvent( settings, 'onDisable',\r\n function(value) {\r\n enabledWatcher.set( false );\r\n }\r\n );\r\n }\r\n\r\n var modelWatcher = SemanticUI.watcher( scope, 'model',\r\n function(updated) {\r\n if ( updated === scope.value ) {\r\n element.checkbox( 'set checked' );\r\n }\r\n }\r\n );\r\n\r\n SemanticUI.onEvent( settings, 'onChecked',\r\n function() {\r\n modelWatcher.set( scope.value );\r\n }\r\n );\r\n\r\n SemanticUI.linkEvents( scope, settings, $.fn.checkbox.settings, {\r\n onChange: 'onChange',\r\n onChecked: 'onChecked',\r\n onUnchecked: 'onUnchecked',\r\n onEnable: 'onEnable',\r\n onDisable: 'onDisable'\r\n });\r\n\r\n // Initialize the element with the given settings.\r\n element.checkbox( settings );\r\n\r\n // Set initial state of the radio\r\n if ( scope.model === scope.value )\r\n {\r\n element.checkbox( 'set checked' );\r\n }\r\n\r\n // If the radio is a slider, remove the radio class\r\n if ( element.hasClass( 'slider' ) )\r\n {\r\n element.removeClass( 'radio' );\r\n }\r\n\r\n if ( angular.isDefined( scope.enabled ) && !scope.enabled )\r\n {\r\n element.checkbox( 'set disabled' );\r\n }\r\n\r\n if ( angular.isFunction( scope.onInit ) ) {\r\n scope.onInit( element );\r\n }\r\n });\r\n };\r\n }\r\n\r\n})( angular.module('semantic-ui-radio', ['semantic-ui-core']) );\r\n","(function(app)\r\n{\r\n\r\n app\r\n .controller('SemanticCommentsController', ['$scope', SemanticCommentsController])\r\n .directive('smComments', ['SemanticUI', SemanticComments])\r\n ;\r\n\r\n function SemanticComments(SemanticUI)\r\n {\r\n return {\r\n\r\n restrict: 'E',\r\n\r\n replace: true,\r\n\r\n // transclude: true,\r\n\r\n scope: {\r\n /* Required */\r\n comments: '=',\r\n content: '&',\r\n /* Optional */\r\n avatar: '&',\r\n author: '&',\r\n date: '&',\r\n replies: '&',\r\n reply: '=',\r\n collapsible: '=',\r\n\r\n onAuthor: '&',\r\n onReply: '&',\r\n onShowReplies: '&',\r\n onHideReplies: '&'\r\n },\r\n\r\n template: [\r\n '',\r\n ' ',\r\n '
'\r\n ].join('\\n'),\r\n\r\n controller: 'SemanticCommentsController',\r\n\r\n compile: SemanticUI.RecursiveCompiler()\r\n\r\n };\r\n }\r\n\r\n function SemanticCommentsController($scope)\r\n {\r\n $scope.setCollapsed = function(comment, $event, collapse)\r\n {\r\n var $ = {comment: comment, $event: $event};\r\n\r\n if ( comment.$isCollapsed != collapse )\r\n {\r\n if ( comment.$isCollapsed )\r\n {\r\n if ( $scope.onShowReplies($) !== false )\r\n {\r\n comment.$isCollapsed = false;\r\n }\r\n }\r\n else\r\n {\r\n if ( $scope.onHideReplies($) !== false )\r\n {\r\n comment.$isCollapsed = true;\r\n }\r\n }\r\n }\r\n };\r\n\r\n $scope.hasReplies = function($)\r\n {\r\n if ( !$scope.reply )\r\n {\r\n return false;\r\n }\r\n\r\n var replies = $scope.replies($);\r\n\r\n return replies && replies.length;\r\n };\r\n\r\n $scope.getReplyCount = function($)\r\n {\r\n if ( !$scope.reply )\r\n {\r\n return false;\r\n }\r\n\r\n var replies = $scope.replies($);\r\n\r\n return replies ? replies.length : 0;\r\n };\r\n\r\n $scope.getShowRepliesText = function($)\r\n {\r\n var count = $scope.getReplyCount($);\r\n\r\n return count === 0 ? '' : (count === 1 ? 'Show Reply' : 'Show Replies (' + count + ')');\r\n };\r\n\r\n $scope.getHideRepliesText = function($)\r\n {\r\n var count = $scope.getReplyCount($);\r\n\r\n return count === 0 ? '' : (count === 1 ? 'Hide Reply' : 'Hide Replies (' + count + ')');\r\n };\r\n }\r\n\r\n})( angular.module('semantic-ui-comment', ['semantic-ui-core', 'semantic-ui-timeago']) );\r\n","(function(app)\r\n{\r\n\r\n app\r\n .controller('SemanticDropdownController', ['$scope', SemanticDropdownController])\r\n .factory('SemanticDropdownLink', ['SemanticUI', '$timeout', SemanticDropdownLink])\r\n .directive('smDropdownBind', ['SemanticUI', SemanticDropdownBind])\r\n .directive('smDropdown', ['SemanticDropdownLink', SemanticDropdown])\r\n ;\r\n\r\n var BEHAVIORS = {\r\n smDropdownToggle: 'toggle',\r\n smDropdownShow: 'show',\r\n smDropdownHide: 'hide',\r\n smDropdownClear: 'clear',\r\n smDropdownHideOthers: 'hide others',\r\n smDropdownRestoreDefaults: 'restore defaults',\r\n smDropdownRestoreDefaultText: 'restore default text',\r\n smDropdownRestoreDefaultValue: 'restore default value',\r\n smDropdownSaveDefaults: 'save defaults',\r\n smDropdownSetSelected: 'set selected',\r\n smDropdownSetText: 'set text',\r\n smDropdownSetValue: 'set value',\r\n smDropdownBindTouchEvents: 'bind touch events',\r\n smDropdownMouseEvents: 'mouse events',\r\n smDropdownBindIntent: 'bind intent',\r\n smDropdownUnbindIntent: 'unbind intent',\r\n smDropdownSetActive: 'set active',\r\n smDropdownSetVisible: 'set visible',\r\n smDropdownRemoveActive: 'remove active',\r\n smDropdownRemoveVisible: 'remove visible'\r\n };\r\n\r\n angular.forEach( BEHAVIORS, function(method, directive)\r\n {\r\n app.directive( directive, ['SemanticUI', function(SemanticUI)\r\n {\r\n return SemanticUI.createBehavior( directive, 'dropdown', method );\r\n }]);\r\n });\r\n\r\n function SemanticDropdownBind(SemanticUI)\r\n {\r\n return SemanticUI.createBind( 'smDropdownBind', 'dropdown' );\r\n }\r\n\r\n function SemanticDropdown(SemanticDropdownLink)\r\n {\r\n return {\r\n\r\n restrict: 'E',\r\n\r\n replace: true,\r\n\r\n transclude: true,\r\n\r\n scope: {\r\n /* Required */\r\n model: '=',\r\n items: '=',\r\n label: '&',\r\n value: '&',\r\n /* Optional */\r\n settings: '=',\r\n defaultText: '=',\r\n onInit: '=',\r\n emptyValue: '=',\r\n /* Events */\r\n onChange: '=',\r\n onAdd: '=',\r\n onRemove: '=',\r\n onLabelCreate: '=',\r\n onLabelSelect: '=',\r\n onNoResults: '=',\r\n onShow: '=',\r\n onHide: '='\r\n },\r\n\r\n template: [\r\n '',\r\n '
',\r\n '
',\r\n '
',\r\n '
'\r\n ].join('\\n'),\r\n\r\n controller: 'SemanticDropdownController',\r\n\r\n link: SemanticDropdownLink\r\n };\r\n }\r\n\r\n function SemanticDropdownController($scope)\r\n {\r\n var hashMap = {};\r\n\r\n // Returns the value to be placed in the data-value attribute. If the computed value has a $$hashKey,\r\n // then return the hashKey. This enables the exact instance of the item to be set to the model.\r\n $scope.getValue = function(item)\r\n {\r\n // Computes the value given the expression in the 'value' attribute\r\n return $scope.getKey( $scope.value( {item: item} ) );\r\n };\r\n\r\n $scope.getKey = function(value)\r\n {\r\n return (value ? value.$$hashKey || value : value) + '';\r\n };\r\n\r\n $scope.isEmpty = function()\r\n {\r\n return !$scope.model || $scope.model.length === 0;\r\n };\r\n\r\n // Translates the value (the model, an item of the model, or a variable\r\n // created from the value function) into the key that's stored on the dropdown.\r\n $scope.translateValue = function(value)\r\n {\r\n var translated = $scope.getKey( value );\r\n var matching = $scope.findMatchingItem( translated );\r\n\r\n if ( angular.isDefined( matching ) )\r\n {\r\n return $scope.getValue( matching );\r\n }\r\n };\r\n\r\n // Determines whether this dropdown should currently display the default text.\r\n $scope.hasDefault = function()\r\n {\r\n return ( $scope.defaultText && $scope.isEmpty() );\r\n };\r\n\r\n // Gets the current text for the drop down. If the current model has a value which is found\r\n // in the items, the appropriate item's label is displayed. Otherwise return the default text.\r\n $scope.getDefaultText = function()\r\n {\r\n return ( $scope.isEmpty() ? $scope.defaultText : '' );\r\n };\r\n\r\n // Finds an item instance that has the exact same value as the given value.\r\n $scope.findMatchingItem = function(value)\r\n {\r\n return hashMap[ value ];\r\n };\r\n\r\n // Updates the hash map providing a mapping from values to items.\r\n $scope.updateHashMap = function( items )\r\n {\r\n hashMap = {};\r\n\r\n angular.forEach( items, function(item)\r\n {\r\n hashMap[ $scope.getValue( item ) ] = item;\r\n });\r\n };\r\n }\r\n\r\n function SemanticDropdownLink(SemanticUI, $timeout)\r\n {\r\n return function (scope, element, attributes) {\r\n var applyValue = function (value) {\r\n $timeout(function () {\r\n if (element.dropdown('is multiple')) {\r\n if (value instanceof Array) {\r\n var translatedValue = [];\r\n\r\n for (var i = 0; i < value.length; i++) {\r\n var translated = scope.translateValue(value[ i ]);\r\n\r\n if (angular.isDefined(translated)) {\r\n translatedValue.push(translated);\r\n }\r\n }\r\n\r\n element.dropdown('set exactly', translatedValue);\r\n }\r\n }\r\n else {\r\n element.dropdown('set selected', scope.translateValue(value));\r\n }\r\n }, 0);\r\n };\r\n\r\n SemanticUI.setDefaultFunction( scope, 'label', attributes, function(locals){return locals.item} );\r\n SemanticUI.setDefaultFunction( scope, 'value', attributes, function(locals){return locals.item} );\r\n\r\n element.ready(function()\r\n {\r\n var settings = scope.settings || {};\r\n var ignoreChange = true;\r\n\r\n SemanticUI.linkSettings( scope, element, attributes, 'dropdown', true );\r\n\r\n SemanticUI.triggerChange( scope, 'model', element, true );\r\n\r\n // Returns the model on the scope, converting it to an array if it's not one.\r\n var modelArray = function() {\r\n if ( !(scope.model instanceof Array) ) {\r\n scope.model = scope.model ? [ scope.model ] : [];\r\n }\r\n return scope.model;\r\n };\r\n\r\n // When the model changes, set the value on the drop down\r\n var modelWatcher = SemanticUI.watcher( scope, 'model',\r\n function(updated) {\r\n applyValue( updated );\r\n }\r\n , null, true, true );\r\n\r\n // Inject an onChange function into the settings which sets the model value\r\n // and causes the scope to be updated.\r\n SemanticUI.onEvent( settings, 'onChange',\r\n function(value) {\r\n if ( ignoreChange ) {\r\n return;\r\n }\r\n if ( !element.dropdown('is multiple') ) {\r\n var mapped = scope.findMatchingItem( value );\r\n if (angular.isDefined(mapped)) {\r\n var mappedValue = scope.value({item: mapped});\r\n modelWatcher.set( mappedValue );\r\n } else if ( element.dropdown('setting', 'allowAdditions') ) {\r\n modelWatcher.set( value );\r\n } else {\r\n modelWatcher.set( scope.emptyValue );\r\n }\r\n }\r\n }\r\n );\r\n\r\n // When a new item is selected for multiple selection dropdowns, add it to the model.\r\n SemanticUI.onEvent( settings, 'onAdd',\r\n function(value) {\r\n if ( ignoreChange ) {\r\n return;\r\n }\r\n var mapped = scope.findMatchingItem( value );\r\n if (angular.isDefined(mapped)) {\r\n var mappedValue = scope.value({item: mapped});\r\n var indexOf = $.inArray( mappedValue, modelArray() );\r\n if ( indexOf === -1 ) {\r\n scope.model.push( mappedValue );\r\n modelWatcher.update();\r\n }\r\n } else if ( element.dropdown('setting', 'allowAdditions') ) {\r\n scope.model.push( value );\r\n modelWatcher.update();\r\n }\r\n }\r\n );\r\n\r\n // When an item is deselected for multiple selection dropdowns, remove it from the model.\r\n SemanticUI.onEvent( settings, 'onRemove',\r\n function(value) {\r\n if ( ignoreChange ) {\r\n return;\r\n }\r\n var mapped = scope.findMatchingItem( value );\r\n if (angular.isDefined(mapped)) {\r\n var mappedValue = scope.value({item: mapped});\r\n var indexOf = $.inArray( mappedValue, modelArray() );\r\n if ( indexOf !== -1 ) {\r\n scope.model.splice( indexOf, 1 );\r\n modelWatcher.update();\r\n }\r\n } else {\r\n var indexOf = $.inArray( value, modelArray() );\r\n if ( indexOf !== -1 ) {\r\n scope.model.splice( indexOf, 1 );\r\n modelWatcher.update();\r\n }\r\n }\r\n }\r\n );\r\n\r\n SemanticUI.linkEvents( scope, settings, $.fn.dropdown.settings, {\r\n onChange: 'onChange',\r\n onAdd: 'onAdd',\r\n onRemove: 'onRemove',\r\n onLabelCreate: 'onLabelCreate',\r\n onLabelSelect: 'onLabelSelect',\r\n onNoResults: 'onNoResults',\r\n onShow: 'onShow',\r\n onHide: 'onHide'\r\n });\r\n\r\n // When items changes, rebuild the hashMap & reapply the values.\r\n scope.$watch( 'items', function( updated )\r\n {\r\n scope.updateHashMap( scope.items );\r\n applyValue( scope.model );\r\n\r\n }, true );\r\n\r\n // Initialize the element with the given settings.\r\n element.dropdown( settings );\r\n\r\n // Update the hashmap with items\r\n scope.updateHashMap( scope.items );\r\n\r\n // Apply current value\r\n applyValue( scope.model );\r\n\r\n // Save defaults\r\n element.dropdown( 'save defaults' );\r\n\r\n // Stop ignoring changes!\r\n ignoreChange = false;\r\n\r\n // Notify initialized callback.\r\n if ( angular.isFunction( scope.onInit ) )\r\n {\r\n scope.onInit( element );\r\n }\r\n\r\n });\r\n };\r\n }\r\n\r\n})( angular.module('semantic-ui-dropdown', ['semantic-ui-core']) );\r\n","(function(app)\r\n{\r\n\r\n app\r\n .factory('SemanticDimmerLink', ['SemanticUI', SemanticDimmerLink])\r\n .directive('smDimmerBind', ['SemanticUI', SemanticDimmerBind])\r\n .directive('smDimmer', ['SemanticDimmerLink', SemanticDimmer])\r\n ;\r\n\r\n var BEHAVIORS = {\r\n smDimmerShow: 'show',\r\n smDimmerHide: 'hide',\r\n smDimmerToggle: 'toggle'\r\n };\r\n\r\n angular.forEach( BEHAVIORS, function(method, directive)\r\n {\r\n app.directive( directive, ['SemanticUI', function(SemanticUI)\r\n {\r\n return SemanticUI.createBehavior( directive, 'dimmer', method );\r\n }]);\r\n });\r\n\r\n function SemanticDimmerBind(SemanticUI)\r\n {\r\n return SemanticUI.createBind( 'smDimmerBind', 'dimmer' );\r\n }\r\n\r\n function SemanticDimmer(SemanticDimmerLink)\r\n {\r\n return {\r\n\r\n restrict: 'E',\r\n\r\n replace: true,\r\n\r\n transclude: true,\r\n\r\n scope: {\r\n /* Optional */\r\n visible: '=',\r\n settings: '=',\r\n onInit: '=',\r\n /* Events */\r\n onShow: '=',\r\n onHide: '=',\r\n onChange: '='\r\n },\r\n\r\n template: '',\r\n\r\n link: SemanticDimmerLink\r\n };\r\n }\r\n\r\n function SemanticDimmerLink(SemanticUI)\r\n {\r\n return function(scope, element, attributes)\r\n {\r\n var settings = scope.settings || {};\r\n\r\n SemanticUI.linkSettings( scope, element, attributes, 'dimmer' );\r\n\r\n // If the visible attribute is specified, listen to onHide and update modal when variable changes.\r\n if ( attributes.visible )\r\n {\r\n var visibleWatcher = SemanticUI.watcher( scope, 'visible',\r\n function(updated) {\r\n element.dimmer( updated ? 'show' : 'hide' );\r\n }\r\n );\r\n\r\n SemanticUI.onEvent( settings, 'onShow',\r\n function(value) {\r\n visibleWatcher.set( true );\r\n }\r\n );\r\n\r\n SemanticUI.onEvent( settings, 'onHide',\r\n function(value) {\r\n visibleWatcher.set( false );\r\n }\r\n );\r\n }\r\n\r\n SemanticUI.linkEvents( scope, settings, $.fn.dimmer.settings, {\r\n onShow: 'onShow',\r\n onHide: 'onHide',\r\n onChange: 'onChange'\r\n });\r\n\r\n element.dimmer( settings );\r\n\r\n if ( angular.isFunction( scope.onInit ) ) {\r\n scope.onInit( element );\r\n }\r\n };\r\n }\r\n\r\n})( angular.module('semantic-ui-dimmer', ['semantic-ui-core']) );\r\n","(function(app)\r\n{\r\n\r\n app\r\n .factory('SemanticEmbedLink', ['SemanticUI', SemanticEmbedLink])\r\n .directive('smEmbedBind', ['SemanticUI', SemanticEmbedBind])\r\n .directive('smEmbed', ['SemanticEmbedLink', SemanticEmbed])\r\n ;\r\n\r\n var BEHAVIORS = {\r\n smEmbedReset: 'reset',\r\n smEmbedShow: 'show',\r\n smEmbedHide: 'hide',\r\n smEmbedDestroy: 'destroy'\r\n };\r\n\r\n angular.forEach( BEHAVIORS, function(method, directive)\r\n {\r\n app.directive( directive, ['SemanticUI', function(SemanticUI)\r\n {\r\n return SemanticUI.createBehavior( directive, 'embed', method );\r\n }]);\r\n });\r\n\r\n function SemanticEmbedBind(SemanticUI)\r\n {\r\n return SemanticUI.createBind( 'smEmbedBind', 'embed' );\r\n }\r\n\r\n function SemanticEmbed(SemanticEmbedLink)\r\n {\r\n return {\r\n\r\n restrict: 'E',\r\n\r\n replace: true,\r\n\r\n transclude: true,\r\n\r\n scope: {\r\n /* Optional */\r\n source: '@',\r\n sourceId: '@',\r\n url: '@',\r\n placeholder: '@',\r\n icon: '@',\r\n settings: '=',\r\n onInit: '=',\r\n /* Events */\r\n onCreate: '=',\r\n onDisplay: '=',\r\n onPlaceholderDisplay: '=',\r\n onEmbed: '='\r\n },\r\n\r\n template: '',\r\n\r\n link: SemanticEmbedLink\r\n };\r\n }\r\n\r\n function SemanticEmbedLink(SemanticUI)\r\n {\r\n return function(scope, element, attributes)\r\n {\r\n var settings = scope.settings || {};\r\n\r\n SemanticUI.linkSettings( scope, element, attributes, 'embed' );\r\n\r\n if ( scope.source ) settings.source = scope.source;\r\n if ( scope.sourceId ) settings.id = scope.sourceId;\r\n if ( scope.placeholder ) settings.placeholder = scope.placeholder;\r\n if ( scope.icon ) settings.icon = scope.icon;\r\n if ( scope.url ) settings.url = scope.url;\r\n\r\n SemanticUI.linkEvents( scope, settings, $.fn.embed.settings, {\r\n onCreate: 'onCreate',\r\n onDisplay: 'onDisplay',\r\n onPlaceholderDisplay: 'onPlaceholderDisplay',\r\n onEmbed: 'onEmbed'\r\n });\r\n\r\n element.embed( settings );\r\n\r\n if ( angular.isFunction( scope.onInit ) ) {\r\n scope.onInit( element );\r\n }\r\n };\r\n }\r\n\r\n\r\n})( angular.module('semantic-ui-embed', ['semantic-ui-core']) );\r\n","(function(app)\r\n{\r\n\r\n app\r\n .factory('SemanticListLink', ['SemanticUI', SemanticListLink])\r\n .directive('smList', ['SemanticUI', 'SemanticListLink', SemanticList])\r\n ;\r\n\r\n function SemanticList(SemanticUI, SemanticListLink)\r\n {\r\n return {\r\n\r\n restrict: 'E',\r\n\r\n replace: true,\r\n\r\n scope:\r\n {\r\n /* Required */\r\n items: '=',\r\n /* Optional */\r\n description: '&',\r\n icon: '&',\r\n image: '&',\r\n header: '&',\r\n headerHref: '&',\r\n children: '&',\r\n onHeader: '&',\r\n /* Private */\r\n has: '=?'\r\n },\r\n\r\n template: [\r\n '',\r\n '
',\r\n '
',\r\n '
![]()
',\r\n '
',\r\n ' ',\r\n ' ',\r\n '
',\r\n '
',\r\n '
',\r\n '
',\r\n '
',\r\n '
'\r\n ].join('\\n'),\r\n\r\n compile: SemanticUI.RecursiveCompiler(SemanticListLink)\r\n }\r\n }\r\n\r\n function SemanticListLink(SemanticUI)\r\n {\r\n return function(scope, element, attributes)\r\n {\r\n if ( !scope.has )\r\n {\r\n scope.has = {\r\n icon: !!attributes.icon,\r\n image: !!attributes.image,\r\n header: !!attributes.header,\r\n headerLink: !!attributes.headerHref,\r\n description: !!attributes.description,\r\n children: !!attributes.children\r\n };\r\n }\r\n\r\n scope.getChildCount = function($)\r\n {\r\n var children = scope.children($);\r\n\r\n return children ? children.length : 0;\r\n };\r\n\r\n SemanticUI.setDefaultFunction( scope, 'description', attributes, function(locals){return locals.item} );\r\n SemanticUI.setDefaultFunction( scope, 'icon', attributes, function(locals){return locals.item.icon} );\r\n SemanticUI.setDefaultFunction( scope, 'header', attributes, function(locals){return locals.item.header} );\r\n SemanticUI.setDefaultFunction( scope, 'children', attributes, function(locals){return locals.item.children} );\r\n };\r\n }\r\n\r\n})( angular.module('semantic-ui-list', ['semantic-ui-core']) );\r\n","(function(app)\r\n{\r\n\r\n app\r\n .controller('SemanticMenuController', ['$scope', SemanticMenuController])\r\n .directive('smMenu', ['SemanticUI', SemanticMenu])\r\n ;\r\n\r\n function SemanticMenu(SemanticUI)\r\n {\r\n return {\r\n restrict: 'E',\r\n replace: true,\r\n scope: {\r\n /* Required */\r\n items: '=',\r\n label: '&',\r\n /* Optional */\r\n onClick: '&',\r\n children: '&',\r\n description: '&',\r\n icon: '&',\r\n hidden: '&',\r\n divider: '&'\r\n },\r\n template: [\r\n ''\r\n ].join('\\n'),\r\n\r\n controller: 'SemanticMenuController',\r\n\r\n compile: SemanticUI.RecursiveCompiler()\r\n };\r\n }\r\n\r\n function SemanticMenuController($scope)\r\n {\r\n $scope.hasChildren = function(item) {\r\n var children = $scope.children({item: item});\r\n return children && children.length;\r\n };\r\n $scope.getChildren = function(item) {\r\n return $scope.children({item: item});\r\n };\r\n\r\n $scope.getLabel = function(item) {\r\n return $scope.label({item: item});\r\n };\r\n $scope.getIcon = function(item) {\r\n return $scope.icon({item: item});\r\n }\r\n $scope.getDescription = function(item) {\r\n return $scope.description({item: item});\r\n };\r\n $scope.isHidden = function(item) {\r\n return $scope.hidden({item: item});\r\n };\r\n $scope.isDivider = function(item) {\r\n return $scope.divider({item: item});\r\n };\r\n }\r\n\r\n\r\n})( angular.module('semantic-ui-menu', ['semantic-ui-core']) );\r\n","(function(app)\r\n{\r\n\r\n app\r\n .factory('SemanticModalLink', ['SemanticUI', SemanticModalLink])\r\n .directive('smModalBind', ['SemanticUI', SemanticModalBind])\r\n .directive('smModal', ['SemanticModalLink', SemanticModal])\r\n ;\r\n\r\n var BEHAVIORS = {\r\n smModalShow: 'show',\r\n smModalHide: 'hide',\r\n smModalToggle: 'toggle',\r\n smModalRefresh: 'refresh',\r\n smModalShowDimmer: 'show dimmer',\r\n smModalHideDimmer: 'hide dimmer',\r\n smModalHideOthers: 'hide others',\r\n smModalHideAll: 'hide all',\r\n smModalCacheSizes: 'cache sizes',\r\n smModalSetActive: 'set active'\r\n };\r\n\r\n angular.forEach( BEHAVIORS, function(method, directive)\r\n {\r\n app.directive( directive, ['SemanticUI', function(SemanticUI)\r\n {\r\n return SemanticUI.createBehavior( directive, 'modal', method );\r\n }]);\r\n });\r\n\r\n function SemanticModalBind(SemanticUI)\r\n {\r\n return SemanticUI.createBind( 'smModalBind', 'modal' );\r\n }\r\n\r\n function SemanticModal(SemanticModalLink)\r\n {\r\n return {\r\n\r\n restrict: 'E',\r\n\r\n replace: true,\r\n\r\n transclude: true,\r\n\r\n scope: {\r\n /* Optional */\r\n visible: '=',\r\n settings: '=',\r\n onInit: '=',\r\n /* Events */\r\n onShow: '=',\r\n onVisible: '=',\r\n onHide: '=',\r\n onHidden: '=',\r\n onApprove: '=',\r\n onDeny: '='\r\n },\r\n\r\n template: '',\r\n\r\n link: SemanticModalLink\r\n }\r\n }\r\n\r\n function SemanticModalLink(SemanticUI)\r\n {\r\n return function(scope, element, attributes)\r\n {\r\n var settings = scope.settings || {};\r\n\r\n SemanticUI.linkSettings( scope, element, attributes, 'modal' );\r\n\r\n // If the visible attribute is specified, listen to onHide and update modal when variable changes.\r\n if ( attributes.visible )\r\n {\r\n var visibleWatcher = SemanticUI.watcher( scope, 'visible',\r\n function(updated) {\r\n element.modal( updated ? 'show' : 'hide' );\r\n }\r\n );\r\n\r\n SemanticUI.onEvent( settings, 'onHide',\r\n function() {\r\n visibleWatcher.set( false );\r\n }\r\n );\r\n\r\n SemanticUI.onEvent( settings, 'onShow',\r\n function() {\r\n visibleWatcher.set( true );\r\n }\r\n );\r\n }\r\n\r\n SemanticUI.linkEvents( scope, settings, $.fn.modal.settings, {\r\n onShow: 'onShow',\r\n onVisible: 'onVisible',\r\n onHide: 'onHide',\r\n onHidden: 'onHidden',\r\n onApprove: 'onApprove',\r\n onDeny: 'onDeny'\r\n });\r\n\r\n // Initialize the element with the given settings.\r\n element.modal( settings );\r\n\r\n if ( angular.isFunction( scope.onInit ) ) {\r\n scope.onInit( element );\r\n }\r\n };\r\n }\r\n\r\n})( angular.module('semantic-ui-modal', ['semantic-ui-core']) );\r\n","(function(app)\r\n{\r\n\r\n app\r\n .factory('SemanticProgressLink', ['SemanticUI', SemanticProgressLink])\r\n .directive('smProgressBind', ['SemanticUI', SemanticModalBind])\r\n .directive('smProgress', ['SemanticProgressLink', SemanticProgress])\r\n ;\r\n\r\n var BEHAVIORS = {\r\n 'smProgressIncrement': 'increment'\r\n };\r\n\r\n angular.forEach( BEHAVIORS, function(method, directive)\r\n {\r\n app.directive( directive, ['SemanticUI', function(SemanticUI)\r\n {\r\n return SemanticUI.createBehavior( directive, 'progress', method );\r\n }]);\r\n });\r\n\r\n function SemanticModalBind(SemanticUI)\r\n {\r\n return SemanticUI.createBind( 'smProgressBind', 'progress' );\r\n }\r\n\r\n function SemanticProgress(SemanticProgressLink)\r\n {\r\n return {\r\n\r\n restrict: 'E',\r\n\r\n replace: true,\r\n\r\n transclude: true,\r\n\r\n scope: {\r\n /* Required */\r\n model: '=',\r\n /* Optional */\r\n total: '=',\r\n label: '@',\r\n activeText: '@',\r\n successText: '@',\r\n errorText: '@',\r\n warningText: '@',\r\n duration: '@',\r\n onInit: '=',\r\n /* Events */\r\n onChange: '=',\r\n onSuccess: '=',\r\n onActive: '=',\r\n onError: '=',\r\n onWarning: '='\r\n },\r\n\r\n template: [\r\n '',\r\n '
',\r\n '
',\r\n '
'\r\n ].join('\\n'),\r\n\r\n link: SemanticProgressLink\r\n };\r\n }\r\n\r\n function SemanticProgressLink(SemanticUI)\r\n {\r\n var addText = function( scope, attributes, settings, attribute, property )\r\n {\r\n if ( angular.isDefined( attributes[ attribute ] ) )\r\n {\r\n settings.text = settings.text || {};\r\n settings.text[ property ] = scope[ attribute ];\r\n }\r\n };\r\n\r\n return function(scope, element, attributes)\r\n {\r\n var settings = scope.settings || {};\r\n\r\n SemanticUI.linkSettings( scope, element, attributes, 'progress' );\r\n\r\n SemanticUI.linkEvents( scope, settings, $.fn.progress.settings, {\r\n onChange: 'onChange',\r\n onSuccess: 'onSuccess',\r\n onActive: 'onActive',\r\n onError: 'onError',\r\n onWarning: 'onWarning'\r\n });\r\n\r\n if ( !angular.isDefined( settings.showActivity ) )\r\n {\r\n settings.showActivity = false;\r\n }\r\n\r\n if ( angular.isDefined( attributes.label ) )\r\n {\r\n settings.label = scope.label;\r\n }\r\n\r\n if ( angular.isDefined( attributes.total ) )\r\n {\r\n settings.total = scope.total;\r\n }\r\n else\r\n {\r\n settings.total = 100;\r\n }\r\n\r\n if ( angular.isDefined( attributes.model ) )\r\n {\r\n settings.value = scope.model;\r\n }\r\n\r\n addText( scope, attributes, settings, 'activeText', 'active' );\r\n addText( scope, attributes, settings, 'successText', 'success' );\r\n addText( scope, attributes, settings, 'errorText', 'error' );\r\n addText( scope, attributes, settings, 'warningText', 'warning' );\r\n\r\n element.progress( settings );\r\n\r\n SemanticUI.watcher( scope, 'model', function(value)\r\n {\r\n var total = element.progress( 'get total' ) || 100;\r\n\r\n element.progress( 'set percent', value * 100 / total );\r\n element.progress( 'set value', value );\r\n });\r\n\r\n if ( angular.isDefined( attributes.duration ) )\r\n {\r\n SemanticUI.watcher( scope, 'duration', function(duration)\r\n {\r\n element.progress( 'set duration', duration );\r\n });\r\n }\r\n\r\n if ( angular.isDefined( attributes.total ) )\r\n {\r\n SemanticUI.watcher( scope, 'total', function(total)\r\n {\r\n element.progress( 'set total', total );\r\n });\r\n }\r\n\r\n if ( angular.isFunction( scope.onInit ) )\r\n {\r\n scope.onInit( element );\r\n }\r\n };\r\n }\r\n\r\n})( angular.module('semantic-ui-progress', ['semantic-ui-core']) );\r\n","(function(app)\r\n{\r\n\r\n app\r\n .factory('SemanticPopupLink', ['SemanticUI', SemanticPopupLink])\r\n .factory('SemanticPopupInlineLink', ['SemanticUI', SemanticPopupInlineLink])\r\n .factory('SemanticPopupDisplayLink', ['SemanticUI', SemanticPopupDisplayLink])\r\n .directive('smPopupBind', ['SemanticUI', SemanticModalBind])\r\n .directive('smPopup', ['SemanticPopupLink', SemanticPopup])\r\n .directive('smPopupInline', ['SemanticPopupInlineLink', SemanticPopupInline])\r\n .directive('smPopupDisplay', ['SemanticPopupDisplayLink', SemanticPopupDisplay])\r\n .directive('smPopupDetached', [SemanticPopupDetached])\r\n ;\r\n\r\n var BEHAVIORS = {\r\n smPopupShow: 'show',\r\n smPopupHide: 'hide',\r\n smPopupHideAll: 'hide all',\r\n smPopupToggle: 'toggle',\r\n smPopupReposition: 'reposition',\r\n smPopupDestroy: 'destroy',\r\n smPopupRemove: 'remove popup'\r\n };\r\n\r\n angular.forEach( BEHAVIORS, function(method, directive)\r\n {\r\n app.directive( directive, ['SemanticUI', function(SemanticUI)\r\n {\r\n return SemanticUI.createBehavior( directive, 'popup', method );\r\n }]);\r\n });\r\n\r\n function SemanticModalBind(SemanticUI)\r\n {\r\n return SemanticUI.createBind( 'smPopupBind', 'popup' );\r\n }\r\n\r\n // An attribute directive which displays a popup for this element.\r\n function SemanticPopup(SemanticPopupLink)\r\n {\r\n return {\r\n\r\n restrict: 'A',\r\n\r\n scope: {\r\n /* Required */\r\n smPopup: '=',\r\n /* Optional */\r\n smPopupTitle: '=',\r\n smPopupHtml: '=',\r\n smPopupPosition: '@',\r\n smPopupVariation: '@',\r\n smPopupSettings: '=',\r\n smPopupOnInit: '=',\r\n /* Events */\r\n smPopupOnCreate: '=',\r\n smPopupOnRemove: '=',\r\n smPopupOnShow: '=',\r\n smPopupOnVisible: '=',\r\n smPopupOnHide: '=',\r\n smPopupOnHidden: '='\r\n },\r\n\r\n link: SemanticPopupLink\r\n };\r\n }\r\n\r\n function SemanticPopupLink(SemanticUI)\r\n {\r\n return function(scope, element, attributes)\r\n {\r\n var settings = scope.smPopupSettings || {};\r\n\r\n SemanticUI.linkSettings( scope, element, attributes, 'popup', false, 'smPopupSettings' );\r\n\r\n SemanticUI.bindAttribute( scope, 'smPopup', element, 'data-content' );\r\n SemanticUI.bindAttribute( scope, 'smPopupTitle', element, 'data-title' );\r\n SemanticUI.bindAttribute( scope, 'smPopupHtml', element, 'data-html' );\r\n SemanticUI.bindAttribute( scope, 'smPopupPosition', element, 'data-position' );\r\n SemanticUI.bindAttribute( scope, 'smPopupVariation', element, 'data-variation' );\r\n\r\n SemanticUI.linkEvents( scope, settings, {\r\n onCreate: 'smPopupOnCreate',\r\n onRemove: 'smPopupOnRemove',\r\n onShow: 'smPopupOnShow',\r\n onVisible: 'smPopupOnVisible',\r\n onHide: 'smPopupOnHide',\r\n onHidden: 'smPopupOnHidden'\r\n });\r\n\r\n element.popup( settings );\r\n\r\n if ( angular.isFunction( scope.smPopupOnInit ) )\r\n {\r\n scope.smPopupOnInit( element );\r\n }\r\n };\r\n }\r\n\r\n // An attribute directive to show the detached popup which follows this element.\r\n function SemanticPopupInline(SemanticPopupInlineLink)\r\n {\r\n return {\r\n\r\n restrict: 'A',\r\n\r\n scope: {\r\n /* Optional */\r\n smPopupInline: '=',\r\n smPopupInlineOnInit: '=',\r\n /* Events */\r\n smPopupInlineOnCreate: '=',\r\n smPopupInlineOnRemove: '=',\r\n smPopupInlineOnShow: '=',\r\n smPopupInlineOnVisible: '=',\r\n smPopupInlineOnHide: '=',\r\n smPopupInlineOnHidden: '='\r\n },\r\n\r\n link: SemanticPopupInlineLink\r\n };\r\n }\r\n\r\n function SemanticPopupInlineLink(SemanticUI)\r\n {\r\n return function(scope, element, attributes)\r\n {\r\n var settings = scope.smPopupInline || {};\r\n\r\n SemanticUI.linkSettings( scope, element, attributes, 'popup', false, 'smPopupInline' );\r\n\r\n SemanticUI.linkEvents( scope, settings, {\r\n onCreate: 'smPopupInlineOnCreate',\r\n onRemove: 'smPopupInlineOnRemove',\r\n onShow: 'smPopupInlineOnShow',\r\n onVisible: 'smPopupInlineOnVisible',\r\n onHide: 'smPopupInlineOnHide',\r\n onHidden: 'smPopupInlineOnHidden'\r\n });\r\n\r\n settings.inline = true;\r\n\r\n element.popup( settings );\r\n\r\n if ( angular.isFunction( scope.smPopupInlineOnInit ) ) {\r\n scope.smPopupInlineOnInit( element );\r\n }\r\n };\r\n }\r\n\r\n // An attribute directive to show a detached popup over this element given it's name.\r\n function SemanticPopupDisplay(SemanticPopupDisplayLink)\r\n {\r\n return {\r\n\r\n restrict: 'A',\r\n\r\n scope: {\r\n /* Required */\r\n smPopupDisplay: '@',\r\n /* Optional */\r\n smPopupDisplaySettings: '=',\r\n smPopupDisplayOnInit: '=',\r\n /* Events */\r\n smPopupDisplayOnCreate: '=',\r\n smPopupDisplayOnRemove: '=',\r\n smPopupDisplayOnShow: '=',\r\n smPopupDisplayOnVisible: '=',\r\n smPopupDisplayOnHide: '=',\r\n smPopupDisplayOnHidden: '='\r\n },\r\n\r\n link: SemanticPopupDisplayLink\r\n };\r\n }\r\n\r\n function SemanticPopupDisplayLink(SemanticUI)\r\n {\r\n return function(scope, element, attributes)\r\n {\r\n var settings = scope.smPopupDisplaySettings || {};\r\n\r\n SemanticUI.linkSettings( scope, element, attributes, 'popup', false, 'smPopupDisplaySettings' );\r\n\r\n SemanticUI.linkEvents( scope, settings, $.fn.popup.settings, {\r\n onCreate: 'smPopupDisplayOnCreate',\r\n onRemove: 'smPopupDisplayOnRemove',\r\n onShow: 'smPopupDisplayOnShow',\r\n onVisible: 'smPopupDisplayOnVisible',\r\n onHide: 'smPopupDisplayOnHide',\r\n onHidden: 'smPopupDisplayOnHidden'\r\n });\r\n\r\n settings.popup = '[data-popup-named=\"' + attributes.smPopupDisplay + '\"]';\r\n\r\n element.popup( settings );\r\n\r\n if ( angular.isFunction( scope.smPopupDisplayOnInit ) ) {\r\n scope.smPopupDisplayOnInit( element );\r\n }\r\n };\r\n }\r\n\r\n // An element directive for a popup, can be used after an element or can be named and used with sm-popup-display.\r\n function SemanticPopupDetached()\r\n {\r\n return {\r\n\r\n restrict: 'E',\r\n\r\n replace: true,\r\n\r\n transclude: true,\r\n\r\n scope: {\r\n name: '@'\r\n },\r\n\r\n template: ''\r\n };\r\n }\r\n\r\n})( angular.module('semantic-ui-popup', ['semantic-ui-core']) );\r\n","(function(app)\r\n{\r\n\r\n app\r\n .factory('SemanticRatingLink', ['SemanticUI', SemanticRatingLink])\r\n .directive('smRatingBind', ['SemanticUI', SemanticRatingBind])\r\n .directive('smRating', ['SemanticRatingLink', SemanticRating])\r\n ;\r\n\r\n var BEHAVIORS = {\r\n smRatingSet: 'set rating',\r\n smRatingDisable: 'disable',\r\n smRatingEnable: 'enable',\r\n smRatingClear: 'clear rating'\r\n };\r\n\r\n angular.forEach( BEHAVIORS, function(method, directive)\r\n {\r\n app.directive( directive, ['SemanticUI', function(SemanticUI)\r\n {\r\n return SemanticUI.createBehavior( directive, 'rating', method );\r\n }]);\r\n });\r\n\r\n function SemanticRatingBind(SemanticUI)\r\n {\r\n return SemanticUI.createBind( 'smRatingBind', 'rating' );\r\n }\r\n\r\n function SemanticRating(SemanticRatingLink)\r\n {\r\n return {\r\n\r\n restrict: 'E',\r\n\r\n replace: true,\r\n\r\n scope: {\r\n /* Required */\r\n model: '=',\r\n total: '=',\r\n /* Optional */\r\n type: '@',\r\n disabled: '=',\r\n settings: '=',\r\n onInit: '=',\r\n /* Events */\r\n onRate: '='\r\n },\r\n\r\n template: '',\r\n\r\n link: SemanticRatingLink\r\n };\r\n }\r\n\r\n function SemanticRatingLink(SemanticUI)\r\n {\r\n return function(scope, element, attributes)\r\n {\r\n element.ready(function()\r\n {\r\n var settings = scope.settings || {};\r\n\r\n SemanticUI.linkSettings( scope, element, attributes, 'rating', true );\r\n\r\n SemanticUI.triggerChange( scope, 'model', element, true );\r\n\r\n if ( attributes.disabled )\r\n {\r\n var disabledWatcher = SemanticUI.watcher( scope, 'disabled',\r\n function(updated) {\r\n element.rating( updated ? 'disable' : 'enable' );\r\n }\r\n );\r\n }\r\n\r\n var valueWatcher = SemanticUI.watcher( scope, 'model',\r\n function(updated) {\r\n element.rating( 'set rating', updated );\r\n }\r\n );\r\n\r\n SemanticUI.onEvent( settings, 'onRate',\r\n function(value) {\r\n valueWatcher.set( value );\r\n }\r\n );\r\n\r\n SemanticUI.linkEvents( scope, settings, $.fn.rating.settings, {\r\n onRate: 'onRate'\r\n });\r\n\r\n element.rating( settings );\r\n\r\n if ( scope.disabled )\r\n {\r\n element.rating( 'disable' );\r\n }\r\n\r\n if ( angular.isFunction( scope.onInit ) ) {\r\n scope.onInit( element );\r\n }\r\n });\r\n };\r\n }\r\n\r\n})( angular.module('semantic-ui-rating', ['semantic-ui-core']) );\r\n","(function(app)\r\n{\r\n\r\n app\r\n .factory('SemanticSearchLink', ['SemanticUI', SemanticSearchLink])\r\n .directive('smSearchBind', ['SemanticUI', SemanticSearchBind])\r\n .directive('smSearch', ['SemanticSearchLink', SemanticSearch])\r\n ;\r\n\r\n var BEHAVIORS = {\r\n smSearchQuery: 'query',\r\n smSearchCancelQuery: 'cancel query',\r\n smSearchSearchLocal: 'search local',\r\n smSearchSearchRemote: 'search remote',\r\n smSearchSet: 'set value',\r\n smSearchShowResults: 'show results',\r\n smSearchHideResults: 'hide results',\r\n smSearchDestroy: 'destroy'\r\n };\r\n\r\n angular.forEach( BEHAVIORS, function(method, directive)\r\n {\r\n app.directive( directive, ['SemanticUI', function(SemanticUI)\r\n {\r\n return SemanticUI.createBehavior( directive, 'search', method );\r\n }]);\r\n });\r\n\r\n function SemanticSearchBind(SemanticUI)\r\n {\r\n return SemanticUI.createBind( 'smSearchBind', 'search' );\r\n }\r\n\r\n function SemanticSearch(SemanticSearchLink)\r\n {\r\n return {\r\n\r\n restrict: 'E',\r\n\r\n replace: true,\r\n\r\n scope: {\r\n /* Required */\r\n model: '=',\r\n /* Optional */\r\n text: '=?',\r\n icon: '@',\r\n placeholder: '@',\r\n category: '@',\r\n local: '=',\r\n remote: '@',\r\n settings: '=',\r\n onInit: '=',\r\n /* Events */\r\n onSelect: '=',\r\n onResultsAdd: '=',\r\n onSearchQuery: '=',\r\n onResults: '=',\r\n onResultsOpen: '=',\r\n onResultsClose: '='\r\n },\r\n\r\n template: [\r\n '',\r\n '
',\r\n ' ',\r\n ' ',\r\n '
',\r\n '
',\r\n '
'\r\n ].join('\\n'),\r\n\r\n link: SemanticSearchLink\r\n };\r\n }\r\n\r\n function SemanticSearchLink(SemanticUI)\r\n {\r\n var defaultTitle = $.fn.search && $.fn.search.settings && $.fn.search.settings.fields ? $.fn.search.settings.fields.title : '';\r\n\r\n return function(scope, element, attributes)\r\n {\r\n var settings = scope.settings || {};\r\n var textProperty = settings.fields && settings.fields.title ? settings.fields.title : defaultTitle;\r\n\r\n SemanticUI.linkSettings( scope, element, attributes, 'search' );\r\n\r\n if ( scope.local ) settings.source = scope.local;\r\n if ( scope.remote ) settings.apiSettings = { url: scope.remote };\r\n if ( scope.category ) settings.type = 'category';\r\n\r\n var modelWatcher = SemanticUI.watcher( scope, 'model',\r\n function(value) {\r\n element.search( 'set value', value && (textProperty in value) ? value[ textProperty ] : value );\r\n }\r\n );\r\n\r\n SemanticUI.onEvent( settings, 'onSelect',\r\n function(result, response) {\r\n modelWatcher.set( result );\r\n if ( attributes.text ) {\r\n scope.$evalAsync(function() {\r\n scope.text = result[ textProperty ];\r\n });\r\n }\r\n }\r\n );\r\n\r\n SemanticUI.linkEvents( scope, settings, $.fn.search.settings, {\r\n onSelect: 'onSelect',\r\n onResultsAdd: 'onResultsAdd',\r\n onSearchQuery: 'onSearchQuery',\r\n onResults: 'onResults',\r\n onResultsOpen: 'onResultsOpen',\r\n onResultsClose: 'onResultsClose'\r\n });\r\n\r\n element.search( settings );\r\n\r\n if ( angular.isFunction( scope.onInit ) ) {\r\n scope.onInit( element );\r\n }\r\n\r\n if ( scope.model && attributes.text && textProperty in scope.model ) {\r\n scope.text = scope.model[ textProperty ];\r\n }\r\n };\r\n }\r\n\r\n})( angular.module('semantic-ui-search', ['semantic-ui-core']) );\r\n","(function(app)\r\n{\r\n\r\n app\r\n .factory('SemanticShapeLink', ['SemanticUI', SemanticShapeLink])\r\n .directive('smShapeBind', ['SemanticUI', SemanticShapeBind])\r\n .directive('smShape', ['SemanticShapeLink', SemanticShape])\r\n ;\r\n\r\n var BEHAVIORS = {\r\n smShapeFlipUp: 'flip up',\r\n smShapeFlipDown: 'flip down',\r\n smShapeFlipLeft: 'flip left',\r\n smShapeFlipRight: 'flip right',\r\n smShapeFlipOver: 'flip over',\r\n smShapeFlipBack: 'flip back',\r\n smShapeSetNextSide: 'set next side',\r\n smShapeReset: 'reset',\r\n smShapeQueue: 'queue',\r\n smShapeRepaint: 'repaint',\r\n smShapeSetDefaultSide: 'set default side',\r\n smShapeSetStageSize: 'set stage size',\r\n smShapeRefresh: 'refresh'\r\n };\r\n\r\n angular.forEach( BEHAVIORS, function(method, directive)\r\n {\r\n app.directive( directive, ['SemanticUI', function(SemanticUI)\r\n {\r\n return SemanticUI.createBehavior( directive, 'shape', method );\r\n }]);\r\n });\r\n\r\n function SemanticShapeBind(SemanticUI)\r\n {\r\n return SemanticUI.createBind( 'smShapeBind', 'shape' );\r\n }\r\n\r\n function SemanticShape(SemanticShapeLink)\r\n {\r\n return {\r\n\r\n restrict: 'E',\r\n\r\n replace: true,\r\n\r\n transclude: true,\r\n\r\n scope: {\r\n\r\n settings: '=',\r\n onInit: '=',\r\n /* Events */\r\n onBeforeChange: '=',\r\n onChange: '=',\r\n },\r\n\r\n template: [\r\n '',\r\n '
',\r\n '
',\r\n '
'\r\n ].join('\\n'),\r\n\r\n link: SemanticShapeLink\r\n\r\n };\r\n }\r\n\r\n function SemanticShapeLink(SemanticUI)\r\n {\r\n return function(scope, element, attributes)\r\n {\r\n var settings = scope.settings || {};\r\n\r\n SemanticUI.linkSettings( scope, element, attributes, 'shape' );\r\n\r\n SemanticUI.linkEvents( scope, settings, $.fn.shape.settings, {\r\n onBeforeChange: 'onBeforeChange',\r\n onChange: 'onChange'\r\n });\r\n\r\n element.shape( settings );\r\n\r\n if ( angular.isFunction( scope.onInit ) ) {\r\n scope.onInit( element );\r\n }\r\n };\r\n }\r\n\r\n})( angular.module('semantic-ui-shape', ['semantic-ui-core']) );\r\n","(function(app)\r\n{\r\n\r\n app\r\n .factory('SemanticSidebarLink', ['SemanticUI', SemanticSidebarLink])\r\n .directive('smSidebarBind', ['SemanticUI', SemanticSidebarBind])\r\n .directive('smSidebar', ['SemanticSidebarLink', SemanticSidebar])\r\n ;\r\n\r\n var BEHAVIORS = {\r\n smSidebarShow: 'show',\r\n smSidebarHide: 'hide',\r\n smSidebarToggle: 'toggle',\r\n smSidebarPushPage: 'push page',\r\n smSidebarPullPage: 'pull page',\r\n smSidebarAddBodyCss: 'add body css',\r\n smSidebarRemoveBodyCss: 'remove body css'\r\n };\r\n\r\n angular.forEach( BEHAVIORS, function(method, directive)\r\n {\r\n app.directive( directive, ['SemanticUI', function(SemanticUI)\r\n {\r\n return SemanticUI.createBehavior( directive, 'sidebar', method );\r\n }]);\r\n });\r\n\r\n function SemanticSidebarBind(SemanticUI)\r\n {\r\n return SemanticUI.createBind( 'smSidebarBind', 'sidebar' );\r\n }\r\n\r\n function SemanticSidebar(SemanticSidebarLink)\r\n {\r\n return {\r\n\r\n restrict: 'E',\r\n\r\n replace: true,\r\n\r\n transclude: true,\r\n\r\n scope: {\r\n /* Optional */\r\n onClick: '&',\r\n visible: '=',\r\n settings: '=',\r\n onInit: '=',\r\n /* Events */\r\n onVisible: '=',\r\n onShow: '=',\r\n onChange: '=',\r\n onHide: '=',\r\n onHidden: '='\r\n },\r\n\r\n template: '',\r\n\r\n link: SemanticSidebarLink\r\n };\r\n }\r\n\r\n function SemanticSidebarLink(SemanticUI)\r\n {\r\n return function(scope, element, attributes)\r\n {\r\n var settings = scope.settings || {};\r\n\r\n SemanticUI.linkSettings( scope, element, attributes, 'sidebar' );\r\n\r\n if ( attributes.visible )\r\n {\r\n var visibleWatcher = SemanticUI.watcher( scope, 'visible',\r\n function(updated) {\r\n element.sidebar( updated ? 'show' : 'hide' );\r\n }\r\n );\r\n\r\n SemanticUI.onEvent( settings, 'onHide',\r\n function() {\r\n visibleWatcher.set( false );\r\n }\r\n );\r\n\r\n SemanticUI.onEvent( settings, 'onShow',\r\n function() {\r\n visibleWatcher.set( true );\r\n }\r\n );\r\n }\r\n\r\n SemanticUI.linkEvents( scope, settings, $.fn.sidebar.settings, {\r\n onVisible: 'onVisible',\r\n onShow: 'onShow',\r\n onChange: 'onChange',\r\n onHide: 'onHide',\r\n onHidden: 'onHidden'\r\n });\r\n\r\n var pusher = $('.pusher');\r\n\r\n if ( pusher.length )\r\n {\r\n element.insertBefore( pusher );\r\n }\r\n\r\n // Initialize the element with the given settings.\r\n element.sidebar( settings );\r\n\r\n if ( scope.visible )\r\n {\r\n element.sidebar( 'show' );\r\n }\r\n\r\n if ( angular.isFunction( scope.onInit ) )\r\n {\r\n scope.onInit( element );\r\n }\r\n };\r\n }\r\n\r\n})( angular.module('semantic-ui-sidebar', ['semantic-ui-core']) );\r\n","(function(app)\r\n{\r\n\r\n app\r\n .factory('SemanticStickyLink', ['SemanticUI', SemanticStickyLink])\r\n .directive('smStickyBind', ['SemanticUI', SemanticStickyBind])\r\n .directive('smSticky', ['SemanticStickyLink', SemanticSticky])\r\n ;\r\n\r\n var BEHAVIORS = {\r\n smStickyRefresh: 'refresh'\r\n };\r\n\r\n angular.forEach( BEHAVIORS, function(method, directive)\r\n {\r\n app.directive( directive, ['SemanticUI', function(SemanticUI)\r\n {\r\n return SemanticUI.createBehavior( directive, 'sticky', method );\r\n }]);\r\n });\r\n\r\n function SemanticStickyBind(SemanticUI)\r\n {\r\n return SemanticUI.createBind( 'smStickyBind', 'sticky' );\r\n }\r\n\r\n function SemanticSticky(SemanticStickyLink)\r\n {\r\n return {\r\n\r\n restrict: 'E',\r\n\r\n replace: true,\r\n\r\n transclude: true,\r\n\r\n scope: {\r\n /* Optional */\r\n context: '@',\r\n settings: '=',\r\n onInit: '=',\r\n /* Events */\r\n onReposition: '=',\r\n onScroll: '=',\r\n onStick: '=',\r\n onUnstick: '=',\r\n onTop: '=',\r\n onBottom: '='\r\n },\r\n\r\n template: '',\r\n\r\n link: SemanticStickyLink\r\n };\r\n }\r\n\r\n function SemanticStickyLink(SemanticUI)\r\n {\r\n return function(scope, element, attributes)\r\n {\r\n element.ready(function()\r\n {\r\n var settings = scope.settings || {};\r\n\r\n SemanticUI.linkSettings( scope, element, attributes, 'sticky', true );\r\n\r\n SemanticUI.linkEvents( scope, settings, $.fn.sticky.settings, {\r\n onReposition: 'onReposition',\r\n onScroll: 'onScroll',\r\n onStick: 'onStick',\r\n onStick: 'onStick',\r\n onTop: 'onTop',\r\n onBottom: 'onBottom'\r\n });\r\n\r\n if ( !settings.context )\r\n {\r\n settings.context = scope.context;\r\n }\r\n\r\n element.sticky( settings );\r\n\r\n if ( angular.isFunction( scope.onInit ) )\r\n {\r\n scope.onInit( element );\r\n }\r\n });\r\n };\r\n }\r\n\r\n})( angular.module('semantic-ui-sticky', ['semantic-ui-core']) );\r\n","(function(app)\r\n{\r\n\r\n app\r\n .factory('SemanticTabMenuLink', ['SemanticUI', '$timeout', SemanticTabMenuLink])\r\n .directive('smTabBind', ['SemanticUI', SemanticTabBind])\r\n .directive('smTabMenu', ['SemanticTabMenuLink', SemanticTabMenu])\r\n .directive('smTab', ['SemanticUI', SemanticTab])\r\n ;\r\n\r\n var BEHAVIORS = {\r\n smTabSet: 'change tab'\r\n };\r\n\r\n angular.forEach( BEHAVIORS, function(method, directive)\r\n {\r\n app.directive( directive, ['SemanticUI', function(SemanticUI)\r\n {\r\n return SemanticUI.createBehavior( directive, 'tab', method );\r\n }]);\r\n });\r\n\r\n function SemanticTabBind(SemanticUI)\r\n {\r\n return SemanticUI.createBind( 'smTabBind', 'tab' );\r\n }\r\n\r\n function SemanticTabMenu(SemanticTabMenuLink)\r\n {\r\n return {\r\n\r\n restrict: 'E',\r\n\r\n replace: true,\r\n\r\n scope: {\r\n /* Required */\r\n tabs: '=',\r\n /* Optional */\r\n active: '=?',\r\n settings: '='\r\n },\r\n\r\n template: [\r\n ''\r\n ].join('\\n'),\r\n\r\n link: SemanticTabMenuLink\r\n }\r\n }\r\n\r\n function SemanticTabMenuLink(SemanticUI, $timeout)\r\n {\r\n return function(scope, element, attributes)\r\n {\r\n var setActiveTab = function( tab )\r\n {\r\n if ( tab )\r\n {\r\n element.tab( 'change tab', tab );\r\n }\r\n };\r\n\r\n $timeout(function()\r\n {\r\n var settings = scope.settings || {};\r\n var elements = element.children('.item');\r\n var hasActive = !!attributes.active;\r\n\r\n SemanticUI.linkSettings( scope, elements, attributes, 'tab', true );\r\n\r\n if ( hasActive )\r\n {\r\n var activeWatcher = SemanticUI.watcher( scope, 'active',\r\n function( tab ) {\r\n setActiveTab( tab );\r\n }\r\n );\r\n\r\n SemanticUI.onEvent( settings, 'onVisible',\r\n function(tab) {\r\n activeWatcher.set( tab );\r\n }\r\n );\r\n }\r\n\r\n elements.tab( settings );\r\n\r\n if ( hasActive )\r\n {\r\n setActiveTab( scope.active );\r\n }\r\n });\r\n };\r\n }\r\n\r\n function SemanticTab(SemanticUI)\r\n {\r\n return {\r\n\r\n restrict: 'E',\r\n\r\n replace: true,\r\n\r\n transclude: true,\r\n\r\n scope: {\r\n name: '@'\r\n },\r\n\r\n template: ''\r\n };\r\n }\r\n\r\n})( angular.module('semantic-ui-tab', ['semantic-ui-core']) );\r\n","(function(app)\r\n{\r\n\r\n app\r\n .directive('smTimeAgo', SemanticTimeAgo)\r\n ;\r\n\r\n function SemanticTimeAgo()\r\n {\r\n var MONTHS = ['January', 'February', 'March', 'April', 'May', 'June', 'July', 'August', 'September', 'October', 'November', 'December'];\r\n var THS = ['th', 'st', 'nd', 'rd', 'th', 'th', 'th', 'th', 'th', 'th'];\r\n var HOURS = ['12', '1', '2', '3', '4', '5', '6', '7', '8', '9', '10', '11'];\r\n\r\n function getTime(date)\r\n {\r\n var hours = date.getHours();\r\n var minutes = date.getMinutes();\r\n var minutesPadded = minutes < 10 ? '0' + minutes : minutes;\r\n\r\n return HOURS[ hours % HOURS.length ] + ':' + minutesPadded + ( hours < 12 ? 'AM' : 'PM' );\r\n }\r\n\r\n function getTh(x)\r\n {\r\n return (x >= 11 && x <= 13) ? (x + 'th') : x + THS[ x % THS.length ];\r\n }\r\n\r\n function getDaysAgo(date)\r\n {\r\n return Math.ceil( ( new Date().getTime() - date.getTime() ) / 86400000 );\r\n }\r\n\r\n return {\r\n\r\n restrict: 'A',\r\n\r\n link: function(scope, element, attributes)\r\n {\r\n var timeout = false;\r\n var value = false;\r\n var fuzzy = false;\r\n\r\n var updateText = function()\r\n {\r\n var now = new Date();\r\n var today = new Date( now.getFullYear(), now.getMonth(), now.getDate() );\r\n var yesterday = new Date( now.getFullYear(), now.getMonth(), now.getDate() - 1 );\r\n\r\n var elapsed = now.getTime() - value.getTime();\r\n\r\n var text = '';\r\n var updateIn = false;\r\n\r\n if ( elapsed < 60000 )\r\n { // 1 minute\r\n text = 'Just now';\r\n updateIn = 60000 - elapsed;\r\n }\r\n else if ( elapsed < 3600000 )\r\n { // 1 hour\r\n var minutesAgo = Math.floor( elapsed / 60000 );\r\n text = minutesAgo === 1 ? '1 minute ago' : minutesAgo + ' minutes ago';\r\n updateIn = elapsed % 60000;\r\n }\r\n else if ( value.getTime() > today.getTime() )\r\n { // today\r\n text = 'Today at ' + getTime( value );\r\n updateIn = elapsed % 3600000;\r\n }\r\n else if ( value.getTime() > yesterday.getTime() )\r\n { // yesterday\r\n text = 'Yesterday at ' + getTime( value );\r\n updateIn = elapsed % 3600000;\r\n }\r\n else if ( value.getMonth() === now.getMonth() && value.getFullYear() === now.getFullYear() )\r\n { // this month\r\n text += 'The ' + getTh( value.getDate() );\r\n text +=' at ' + getTime( value );\r\n text += ' (' + getDaysAgo( value ) + ' days ago)';\r\n updateIn = 86400000;\r\n }\r\n else\r\n { // before the current month\r\n text += MONTHS[ value.getMonth() ] + ' ' + getTh( value.getDate() );\r\n if ( value.getFullYear() !== now.getFullYear() ) {\r\n text += ' ' + value.getFullYear();\r\n }\r\n text += ' at ' + getTime( value );\r\n var daysAgo = getDaysAgo( value );\r\n if ( daysAgo <= 60 ) {\r\n text += ' (' + getDaysAgo( value ) + ' days ago)'\r\n }\r\n }\r\n\r\n element.text( text );\r\n\r\n if ( timeout )\r\n {\r\n clearTimeout( timeout );\r\n timeout = false;\r\n }\r\n\r\n if ( updateIn )\r\n {\r\n timeout = setTimeout(function()\r\n {\r\n timeout = false;\r\n updateText();\r\n\r\n }, updateIn);\r\n }\r\n };\r\n\r\n scope.$watch( attributes.smTimeAgo, function(updated)\r\n {\r\n value = new Date( updated );\r\n updateText();\r\n });\r\n }\r\n }\r\n }\r\n\r\n})( angular.module('semantic-ui-timeago', ['semantic-ui-core']) );\r\n","(function(app)\r\n{\r\n\r\n // Transitions: scale, fade, flip, drop, fly, swing, browse, slide, jiggle, flash, shake, pulse, tada, bounce\r\n\r\n app\r\n .factory('SemanticTransitionLink', ['SemanticUI', SemanticTransitionLink])\r\n .directive('smTransition', ['SemanticTransitionLink', SemanticTransition])\r\n ;\r\n\r\n function SemanticTransition(SemanticTransitionLink)\r\n {\r\n return {\r\n\r\n restrict: 'A',\r\n\r\n scope: {\r\n smTransition: '@',\r\n smTransitionEvents: '@',\r\n smTransitionOther: '@'\r\n },\r\n\r\n link: SemanticTransitionLink\r\n };\r\n }\r\n\r\n function SemanticTransitionLink(SemanticUI)\r\n {\r\n return function(scope, element, attributes)\r\n {\r\n scope.smTransitionEvents = scope.smTransitionEvents || 'click';\r\n\r\n element.on( scope.smTransitionEvents, function()\r\n {\r\n ( scope.smTransitionOther ? $( scope.smTransitionOther ) : element ).transition( scope.smTransition );\r\n });\r\n };\r\n }\r\n\r\n})( angular.module('semantic-ui-transition', ['semantic-ui-core']) );\r\n"]}
\ No newline at end of file
diff --git a/examples/sidebar/examples.html b/examples/sidebar/examples.html
index 55a9f82..7f73c3e 100644
--- a/examples/sidebar/examples.html
+++ b/examples/sidebar/examples.html
@@ -51,7 +51,9 @@
A sidebar.
-
+
Toggle
diff --git a/src/sidebar/sm-sidebar.js b/src/sidebar/sm-sidebar.js
index 45469f0..a3a68af 100644
--- a/src/sidebar/sm-sidebar.js
+++ b/src/sidebar/sm-sidebar.js
@@ -38,10 +38,9 @@
replace: true,
+ transclude: true,
+
scope: {
- /* Required */
- items: '=',
- label: '&',
/* Optional */
onClick: '&',
visible: '=',
@@ -55,11 +54,7 @@
onHidden: '='
},
- template: [
- ''
- ].join('\n'),
+ template: '',
link: SemanticSidebarLink
};
@@ -71,8 +66,6 @@
{
var settings = scope.settings || {};
- SemanticUI.setDefaultFunction( scope, 'label', attributes, function(locals){return locals.item} );
-
SemanticUI.linkSettings( scope, element, attributes, 'sidebar' );
if ( attributes.visible )