forked from ClickerMonkey/SemanticUI-Angular
-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathangular-semantic-ui.min.js
More file actions
3 lines (3 loc) · 45.2 KB
/
Copy pathangular-semantic-ui.min.js
File metadata and controls
3 lines (3 loc) · 45.2 KB
1
2
3
!function(app){app.factory("SemanticUI",["$compile",function($compile){var SemanticUI={setDefaultFunction:function(scope,variable,attributes,func){attributes[variable]||(scope[variable]=func)},triggerChange:function(scope,variable,element,initialized){scope.$watch(variable,function(updated){initialized&&scope.$evalAsync(function(){element.trigger("change")}),initialized=!0})},bindAttribute:function(scope,variable,element,attribute){scope.$watch(variable,function(updated){element.attr(attribute,updated)})},onEvent:function(settings,evt,func){settings[evt]=function(existing,undefined){return function(){var result0=undefined;angular.isFunction(existing)&&(result0=existing.apply(this,arguments));var result1=func.apply(this,arguments);return result0!==undefined?result0:result1}}(settings[evt])},linkEvents:function(scope,settings,defaults,linkings){for(var evt in linkings)!function(variable,evt){SemanticUI.onEvent(settings,evt,function(){var scopeValue=scope[variable];return angular.isFunction(scopeValue)?scopeValue.apply(this,arguments):angular.isFunction(defaults[evt])?defaults[evt].apply(this,arguments):void 0})}(linkings[evt],evt)},linkSettings:function(scope,element,attributes,module,initialized,settingsAttribute){var settings=settingsAttribute||"settings";settings in attributes&&scope.$watch(settings,function(updated){initialized&&angular.forEach(updated,function(value,key){element[module]("setting",key,value)}),initialized=!0},!0)},createBind:function(attribute,module){return{restrict:"A",link:function(scope,element,attributes){SemanticUI.linkSettings(scope,element,attributes,module,!1,attribute),SemanticUI.initBind(scope,element,attributes,attribute,module)}}},initBind:function(scope,element,attributes,attribute,module){element.ready(function(){var settings={},input=attributes[attribute];input&&(settings=scope.$eval(input)),element[module](settings)})},createBehavior:function(attribute,module,method){return{restrict:"A",link:function(scope,element,attributes){SemanticUI.initBehavior(scope,attributes,attribute,element,module,method)}}},initBehavior:function(scope,attributes,attribute,element,module,method){var settings={$:void 0,evt:"click",enabled:!0,value:void 0},onEvent=function(){settings.enabled&&$(settings.$)[module](method,settings.value)},previousEvent=!1;scope.$watch(attributes[attribute],function(input){angular.isString(input)?settings.$=input:angular.isObject(input)&&(angular.isString(input.evt)||(input.evt=settings.evt),angular.isDefined(input.enabled)||(input.enabled=settings.enabled),settings=input),previousEvent&&element.off(previousEvent,onEvent),element.on(previousEvent=settings.evt,onEvent)},!0)},watcher:function(scope,expression,func,context,force,equals){var ignoreUpdate=!1;return scope.$watch(expression,function(updated){ignoreUpdate||func.call(context,updated),ignoreUpdate=!1},equals),{set:function(value){(scope[expression]!=value||force)&&scope.$evalAsync(function(){scope[expression]=value,ignoreUpdate=!0})},update:function(){scope.$evalAsync(function(){ignoreUpdate=!0})}}},RecursiveCompiler:function(postLink){return function(element,link){angular.isFunction(link)&&(link={post:link});var compiledContents,contents=element.contents().remove();return{pre:link&&link.pre?link.pre:null,post:function(scope,element){compiledContents||(compiledContents=$compile(contents)),compiledContents(scope,function(clone){element.append(clone)}),link&&link.post&&link.post.apply(null,arguments),angular.isFunction(postLink)&&postLink.apply(null,arguments)}}}}};return SemanticUI}])}(angular.module("semantic-ui",[])),function(app){app.directive("smHtml",function(){return{restrict:"A",transclude:!0,link:function(scope,element,attributes){scope.$watch(attributes.smHtml,function(value){element.html(value)})}}}),app.directive("smHtmlOnce",["$parse",function($parse){return{restrict:"A",link:function(scope,element,attributes){element.html($parse(attributes.smHtmlOnce)(scope))}}}]),app.directive("smClassOnce",["$parse",function($parse){return{restrict:"A",link:function(scope,element,attributes){var classes=$parse(attributes.smClassOnce)(scope);angular.forEach(classes,function(addClass,className){element.toggleClass(className,addClass)})}}}]),app.directive("smButton",function(){return{restrict:"E",replace:!0,transclude:!0,template:'<button class="ui button" ng-transclude></button>'}}),app.directive("smMenuItem",function(){return{restrict:"E",replace:!0,transclude:!0,scope:{icon:"@"},template:'<a class="item"><i class="{{ icon }} icon" ng-if="icon"></i><span ng-transclude></span></a>'}}),app.directive("smAttrs",function(){return{restrict:"A",scope:{smAttrs:"="},link:function(scope,element,attributes){angular.forEach(scope.smAttrs,function(val,key){(angular.isNumber(val)||angular.isString(val))&&element.attr(key,val)})}}}),app.directive("smLiveAttrs",function(){return{restrict:"A",scope:{smLiveAttrs:"="},link:function(scope,element,attributes){var expression=function(){return scope.smLiveAttrs},setter=function(){angular.forEach(scope.smLiveAttrs,function(val,key){(angular.isNumber(val)||angular.isString(val))&&element.attr(key,val)})};scope.$watch(expression,setter,!0)}}}),app.directive("smData",function(){return{restrict:"A",scope:{smData:"="},link:function(scope,element,attributes){element.data(scope.smData)}}}),app.directive("smLiveData",function(){return{restrict:"A",scope:{smData:"="},link:function(scope,element,attributes){var setter=function(){element.data(scope.smData)};scope.$watch("smData",setter,!0)}}}),app.directive("smFlatMenu",function(){return{restrict:"E",replace:!0,template:['<div class="menu">',' <div class="item" ng-repeat="item in items" data-value="{{ getValue(item) }}" sm-html="label({item:item})"></div>',"</div>"].join("\n")}}),app.directive("smTimeAgo",function(){return{restrict:"A",link:function(scope,element,attributes){var timeout=!1,value=!1,MONTHS=["January","February","March","April","May","June","July","August","September","October","November","December"],THS=["th","st","nd","rd","th","th","th","th","th","th"],HOURS=["12","1","2","3","4","5","6","7","8","9","10","11"],getTime=function(date){var hours=value.getHours(),minutes=value.getMinutes();return HOURS[hours%HOURS.length]+":"+minutes+(12>hours?"AM":"PM")},getTh=function(x){return x>=11&&13>=x?x+"th":x+THS[x%THS.length]},getDaysAgo=function(date){return Math.ceil(((new Date).getTime()-date.getTime())/864e5)},updateText=function(){var now=new Date,today=new Date(now.getFullYear(),now.getMonth(),now.getDate()),yesterday=new Date(now.getFullYear(),now.getMonth(),now.getDate()-1),elapsed=now.getTime()-value.getTime(),text="",updateIn=!1;if(6e4>elapsed)text="Just now",updateIn=6e4-elapsed;else if(36e5>elapsed){var minutesAgo=Math.floor(elapsed/6e4);text=1===minutesAgo?"1 minute ago":minutesAgo+" minutes ago",updateIn=elapsed%6e4}else if(value.getTime()>today.getTime())text="Today at "+getTime(value),updateIn=elapsed%36e5;else if(value.getTime()>yesterday.getTime())text="Yesterday at "+getTime(value),updateIn=elapsed%36e5;else if(value.getMonth()===now.getMonth()&&value.getFullYear()===now.getFullYear())text+="The "+getTh(value.getDate()),text+=" at "+getTime(value),text+=" ("+getDaysAgo(value)+" days ago)",updateIn=864e5;else{text+=MONTHS[value.getMonth()]+" "+getTh(value.getDate()),value.getFullYear()!==now.getFullYear()&&(text+=" "+value.getFullYear()),text+=" at "+getTime(value);var daysAgo=getDaysAgo(value);60>=daysAgo&&(text+=" ("+getDaysAgo(value)+" days ago)")}element.text(text),timeout&&(clearTimeout(timeout),timeout=!1),updateIn&&(timeout=setTimeout(function(){timeout=!1,updateText()},updateIn))};scope.$watch(attributes.smTimeAgo,function(updated){value=new Date(updated),updateText()})}}}),app.directive("smMenu",["SemanticUI",function(SemanticUI){return{restrict:"E",replace:!0,scope:{items:"=",label:"&",onClick:"&",children:"&",description:"&",icon:"&",hidden:"&",divider:"&"},template:['<div class="menu">','<div ng-repeat="i in items" ng-hide="isHidden( i )" ng-class="{item: !isDivider( i ), divider: isDivider( i )}" ng-click="onClick({item: i, $event:$event})">','<i class="{{ getIcon( i ) }} icon" ng-if="getIcon( i )"></i>','<span class="description" ng-if="getDescription( i )">{{ getDescription( i ) }}</span>',"{{ getLabel( i ) }}",'<sm-menu ng-if="hasChildren( i )" items="getChildren( i )" label="getLabel( item )" children="getChildren( item )" description="getDescription( item )" icon="getIcon( item )" hidden="isHidden( item )" divider="isDivider( item )" on-click="onClick({item: item, $event: $event})"></sm-menu>',"</div>","</div>"].join("\n"),controller:function($scope){$scope.hasChildren=function(item){var children=$scope.children({item:item});return children&&children.length},$scope.getChildren=function(item){return $scope.children({item:item})},$scope.getLabel=function(item){return $scope.label({item:item})},$scope.getIcon=function(item){return $scope.icon({item:item})},$scope.getDescription=function(item){return $scope.description({item:item})},$scope.isHidden=function(item){return $scope.hidden({item:item})},$scope.isDivider=function(item){return $scope.divider({item:item})}},compile:SemanticUI.RecursiveCompiler()}}]),app.directive("smList",["SemanticUI",function(SemanticUI){return{restrict:"E",replace:!0,scope:{items:"=",description:"&",icon:"&",image:"&",header:"&",headerHref:"&",children:"&",onHeader:"&",has:"=?"},template:['<div class="ui list">',' <div class="item" ng-repeat="i in items" ng-init="$ = {item: i}">',' <i ng-if="has.icon" class="icon {{ icon($) }}"></i>',' <img ng-if="has.image" class="ui avatar image" ng-src="{{ image($) }}">',' <div ng-if="has.header || has.children" class="content">',' <div ng-if="!has.headerLink" class="header" sm-html="header($)"></div>',' <a ng-if="has.headerLink" class="header" ng-href="{{ headerHref($) }}" ng-click="onHeader($)" sm-html="header($)"></a>',' <div class="description" sm-html="description($)"></div>',' <sm-list ng-if="has.children && getChildCount($)" has="has" items="children($)" description="description({item: item})" icon="icon({item: item})" header="header({item: item})" header-href="headerHref({item: item})" children="children({item: item})" on-header="onHeader({item: item})"></sm-list>'," </div>",' <div ng-if="!has.header && !has.children" class="content" sm-html="description($)"></div>'," </div>","</div>"].join("\n"),compile:SemanticUI.RecursiveCompiler(function(scope,element,attributes){scope.has||(scope.has={icon:!!attributes.icon,image:!!attributes.image,header:!!attributes.header,headerLink:!!attributes.headerHref,description:!!attributes.description,children:!!attributes.children}),scope.getChildCount=function($){var children=scope.children($);return children?children.length:0},SemanticUI.setDefaultFunction(scope,"description",attributes,function(locals){return locals.item}),SemanticUI.setDefaultFunction(scope,"icon",attributes,function(locals){return locals.item.icon}),SemanticUI.setDefaultFunction(scope,"header",attributes,function(locals){return locals.item.header}),SemanticUI.setDefaultFunction(scope,"children",attributes,function(locals){return locals.item.children})})}}])}(angular.module("semantic-ui")),function(app){app.directive("smAccordionBind",["SemanticUI",function(SemanticUI){return SemanticUI.createBind("smAccordionBind","accordion")}]);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)}])}),app.directive("smAccordion",["SemanticUI",function(SemanticUI){return{restrict:"E",replace:!0,transclude:!0,scope:{settings:"=",onInit:"=",onOpening:"=",onOpen:"=",onClosing:"=",onClose:"=",onChange:"="},template:'<div class="ui accordion" ng-transclude></div>',link:function(scope,element,attributes){element.ready(function(){var settings=scope.settings||{};SemanticUI.linkSettings(scope,element,attributes,"accordion",!0),SemanticUI.linkEvents(scope,settings,$.fn.accordion.settings,{onOpening:"onOpening",onOpen:"onOpen",onClosing:"onClosing",onClose:"onClose",onChange:"onChange"}),element.accordion(settings),angular.isFunction(scope.onInit)&&scope.onInit(element)})}}}]),app.directive("smAccordionGroup",function(){return{restrict:"E",required:"title",transclude:!0,scope:{title:"=",active:"="},template:['<div class="title" ng-class="{active: active}">',' <i class="dropdown icon"></i>'," {{ title }}","</div>",'<div class="content" ng-class="{active: active}" ng-transclude>',"</div>"].join("\n")}})}(angular.module("semantic-ui")),function(app){app.directive("smCheckboxBind",["SemanticUI",function(SemanticUI){return SemanticUI.createBind("smCheckboxBind","checkbox")}]);var BEHAVIORS={smCheckboxToggle:"toggle",smCheckboxCheck:"check",smCheckboxUncheck:"uncheck",smCheckboxIndeterminate:"indeterminate",smCheckboxDeterminate:"determinate",smCheckboxEnable:"enable",smCheckboxDisable:"disable"};angular.forEach(BEHAVIORS,function(method,directive){app.directive(directive,["SemanticUI",function(SemanticUI){return SemanticUI.createBehavior(directive,"checkbox",method)}])}),app.directive("smCheckbox",["SemanticUI",function(SemanticUI){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:['<div class="ui checkbox">',' <input type="checkbox">'," <label>{{ label }}</label>","</div>"].join("\n"),link:function(scope,element,attributes){element.ready(function(){var settings=scope.settings||{};SemanticUI.linkSettings(scope,element,attributes,"checkbox",!0),SemanticUI.triggerChange(scope,"model",element,!0);var checkedValue=function(){return angular.isDefined(scope.checkedValue)?scope.checkedValue:!0},uncheckedValue=function(){return angular.isDefined(scope.uncheckedValue)?scope.uncheckedValue:!1},indeterminateValue=function(){return angular.isDefined(scope.indeterminateValue)?scope.indeterminateValue:void 0};if(attributes.enabled){var enabledWatcher=SemanticUI.watcher(scope,"enabled",function(updated){angular.isDefined(updated)&&element.checkbox(updated?"set enabled":"set disabled")});SemanticUI.onEvent(settings,"onEnable",function(value){enabledWatcher.set(!0)}),SemanticUI.onEvent(settings,"onDisable",function(value){enabledWatcher.set(!1)})}var modelWatcher=SemanticUI.watcher(scope,"model",function(updated){angular.isDefined(updated)&&element.checkbox(updated?"set checked":"set unchecked")});if(SemanticUI.onEvent(settings,"onChecked",function(){modelWatcher.set(checkedValue())}),SemanticUI.onEvent(settings,"onUnchecked",function(){modelWatcher.set(uncheckedValue())}),SemanticUI.onEvent(settings,"onIndeterminate",function(){modelWatcher.set(indeterminateValue())}),SemanticUI.linkEvents(scope,settings,$.fn.checkbox.settings,{onChange:"onChange",onChecked:"onChecked",onIndeterminate:"onIndeterminate",onDeterminate:"onDeterminate",onUnchecked:"onUnchecked",onEnable:"onEnable",onDisable:"onDisable"}),scope.children){var $children=$(scope.children),settingChildren=!1;SemanticUI.onEvent(settings,"onChecked",function(){settingChildren=!0,$children.checkbox("check"),settingChildren=!1}),SemanticUI.onEvent(settings,"onUnchecked",function(){settingChildren=!0,$children.checkbox("uncheck"),settingChildren=!1}),$children.children("input[type=checkbox], input[type=radio]").change(function(){if(!settingChildren){var checked=0;$children.each(function(i,child){$(child).checkbox("is checked")&&checked++}),element.checkbox(0===checked?"uncheck":checked===$children.length?"check":"indeterminate")}})}element.checkbox(settings),scope.model==checkedValue()?element.checkbox("set checked"):scope.model===indeterminateValue()&&element.checkbox("set indeterminate"),angular.isDefined(scope.enabled)&&!scope.enabled&&element.checkbox("set disabled"),angular.isFunction(scope.onInit)&&scope.onInit(element)})}}}])}(angular.module("semantic-ui")),function(app){app.directive("smRadioBind",["SemanticUI",function(SemanticUI){return SemanticUI.createBind("smRadioBind","checkbox")}]);var BEHAVIORS={smRadioCheck:"check",smRadioEnable:"enable",smRadioDisable:"disable"};angular.forEach(BEHAVIORS,function(method,directive){app.directive(directive,["SemanticUI",function(SemanticUI){return SemanticUI.createBehavior(directive,"checkbox",method)}])}),app.directive("smRadio",["SemanticUI",function(SemanticUI){return{restrict:"E",replace:!0,transclude:!0,scope:{model:"=",label:"@",name:"@",value:"=",settings:"=",enabled:"=",onInit:"=",onChange:"=",onChecked:"=",onUnchecked:"=",onEnable:"=",onDisable:"="},template:['<div class="ui radio checkbox">',' <input name="{{ name }}" type="radio">'," <label>{{ label }}</label>","</div>"].join("\n"),link:function(scope,element,attributes){element.ready(function(){var settings=scope.settings||{};if(SemanticUI.linkSettings(scope,element,attributes,"checkbox",!0),SemanticUI.triggerChange(scope,"model",element,!0),attributes.enabled){var enabledWatcher=SemanticUI.watcher(scope,"enabled",function(updated){angular.isDefined(updated)&&element.checkbox(updated?"set enabled":"set disabled")});SemanticUI.onEvent(settings,"onEnable",function(value){enabledWatcher.set(!0)}),SemanticUI.onEvent(settings,"onDisable",function(value){enabledWatcher.set(!1)})}var modelWatcher=SemanticUI.watcher(scope,"model",function(updated){updated===scope.value&&element.checkbox("set checked")});SemanticUI.onEvent(settings,"onChecked",function(){modelWatcher.set(scope.value)}),SemanticUI.linkEvents(scope,settings,$.fn.checkbox.settings,{onChange:"onChange",onChecked:"onChecked",onUnchecked:"onUnchecked",onEnable:"onEnable",onDisable:"onDisable"}),element.checkbox(settings),scope.model===scope.value&&element.checkbox("set checked"),element.hasClass("slider")&&element.removeClass("radio"),angular.isDefined(scope.enabled)&&!scope.enabled&&element.checkbox("set disabled"),angular.isFunction(scope.onInit)&&scope.onInit(element)})}}}])}(angular.module("semantic-ui")),function(app){app.directive("smComments",["SemanticUI",function(SemanticUI){return{restrict:"E",replace:!0,scope:{comments:"=",content:"&",avatar:"&",author:"&",date:"&",replies:"&",reply:"=",collapsible:"=",onAuthor:"&",onReply:"&",onShowReplies:"&",onHideReplies:"&"},template:['<div class="ui comments">',' <div class="comment" ng-repeat="c in comments" ng-init="$ = {comment: c}; c.$isCollapsed = true;">',' <a ng-if="avatar($)" class="avatar" ng-click="onAuthor({comment: c, $event: $event})">',' <img ng-src="{{ avatar($) }}">'," </a>",' <div class="content">',' <a class="author" ng-click="onAuthor({comment: c, $event: $event})" sm-html="author($)"></a>',' <div class="metadata">',' <span class="date" sm-time-ago="date($)"></span>'," </div>",' <div class="text" sm-html="content($)"></div>',' <div class="actions">',' <a class="reply" ng-click="onReply({comment: c, $event: $event})" ng-if="reply">Reply</a>',' <a class="show-replies" ng-if="reply && collapsible && c.$isCollapsed" href ng-click="setCollapsed(c, $event, false)" sm-html="getShowRepliesText($)"></a>',' <a class="hide-replies" ng-if="reply && collapsible && !c.$isCollapsed" href ng-click="setCollapsed(c, $event, true)" sm-html="getHideRepliesText($)"></a>'," </div>"," </div>",' <sm-comments ng-if="hasReplies($)" ng-class="{collapsed: collapsible && c.$isCollapsed}" comments="replies($)" content="content({comment: comment})" avatar="avatar({comment: comment})" author="author({comment: comment})" date="date({comment: comment})" replies="replies({comment: comment})" reply="reply" collapsible="collapsible"',' on-author="onAuthor({comment: comment, $event: $event})" on-reply="onReply({comment: comment, $event: $event})" on-show-replies="onShowReplies({comment: comment, $event: $event})" on-hide-replies="onHideReplies({comment: comment, $event: $event})"></sm-comments>'," </div>","</div>"].join("\n"),controller:function($scope){$scope.setCollapsed=function(comment,$event,collapse){var $={comment:comment,$event:$event};comment.$isCollapsed!=collapse&&(comment.$isCollapsed?$scope.onShowReplies($)!==!1&&(comment.$isCollapsed=!1):$scope.onHideReplies($)!==!1&&(comment.$isCollapsed=!0))},$scope.hasReplies=function($){if(!$scope.reply)return!1;var replies=$scope.replies($);return replies&&replies.length},$scope.getReplyCount=function($){if(!$scope.reply)return!1;var replies=$scope.replies($);return replies?replies.length:0},$scope.getShowRepliesText=function($){var count=$scope.getReplyCount($);return 0===count?"":1===count?"Show Reply":"Show Replies ("+count+")"},$scope.getHideRepliesText=function($){var count=$scope.getReplyCount($);return 0===count?"":1===count?"Hide Reply":"Hide Replies ("+count+")"}},compile:SemanticUI.RecursiveCompiler()}}])}(angular.module("semantic-ui")),function(app){app.directive("smDimmerBind",["SemanticUI",function(SemanticUI){return SemanticUI.createBind("smDimmerBind","dimmer")}]);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)}])}),app.directive("smDimmer",["SemanticUI",function(SemanticUI){return{restrict:"E",replace:!0,transclude:!0,scope:{visible:"=",settings:"=",onInit:"=",onShow:"=",onHide:"=",onChange:"="},template:'<div class="ui dimmer" ng-transclude></div>',link:function(scope,element,attributes){var settings=scope.settings||{};if(SemanticUI.linkSettings(scope,element,attributes,"dimmer"),attributes.visible){var visibleWatcher=SemanticUI.watcher(scope,"visible",function(updated){element.dimmer(updated?"show":"hide")});SemanticUI.onEvent(settings,"onShow",function(value){visibleWatcher.set(!0)}),SemanticUI.onEvent(settings,"onHide",function(value){visibleWatcher.set(!1)})}SemanticUI.linkEvents(scope,settings,$.fn.dimmer.settings,{onShow:"onShow",onHide:"onHide",onChange:"onChange"}),element.dimmer(settings),angular.isFunction(scope.onInit)&&scope.onInit(element)}}}])}(angular.module("semantic-ui")),function(app){app.directive("smDropdownBind",["SemanticUI",function(SemanticUI){return SemanticUI.createBind("smDropdownBind","dropdown")}]);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)}])}),app.directive("smDropdown",["SemanticUI",function(SemanticUI){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:['<div class="ui dropdown">','<div class="text" sm-class-once="{default: hasDefault()}" sm-html-once="getDefaultText()"></div>','<i class="dropdown icon"></i>',"<sm-flat-menu></sm-flat-menu>","</div>"].join("\n"),controller:function($scope){var hashMap={};$scope.getValue=function(item){return $scope.getKey($scope.value({item:item}))},$scope.getKey=function(value){return(value?value.$$hashKey||value:value)+""},$scope.isEmpty=function(){return!$scope.model||0===$scope.model.length},$scope.translateValue=function(value){var translated=$scope.getKey(value),matching=$scope.findMatchingItem(translated);return angular.isDefined(matching)?$scope.getValue(matching):void 0},$scope.hasDefault=function(){return $scope.defaultText&&$scope.isEmpty()},$scope.getDefaultText=function(){return $scope.isEmpty()?$scope.defaultText:""},$scope.findMatchingItem=function(value){return hashMap[value]},$scope.updateHashMap=function(items){hashMap={},angular.forEach(items,function(item){hashMap[$scope.getValue(item)]=item})}},link:function(scope,element,attributes){var applyValue=function(value){if(element.dropdown("is multiple")){if(value instanceof Array){for(var translatedValue=[],i=0;i<value.length;i++){var translated=scope.translateValue(value[i]);angular.isDefined(translated)&&translatedValue.push(translated)}element.dropdown("set exactly",translatedValue)}}else element.dropdown("set selected",scope.translateValue(value))};SemanticUI.setDefaultFunction(scope,"label",attributes,function(locals){return locals.item}),SemanticUI.setDefaultFunction(scope,"value",attributes,function(locals){return locals.item}),element.ready(function(){var settings=scope.settings||{},ignoreChange=!0;SemanticUI.linkSettings(scope,element,attributes,"dropdown",!0),SemanticUI.triggerChange(scope,"model",element,!0);var modelArray=function(){return scope.model instanceof Array||(scope.model=scope.model?[scope.model]:[]),scope.model},modelWatcher=SemanticUI.watcher(scope,"model",function(updated){applyValue(updated)},null,!0,!0);SemanticUI.onEvent(settings,"onChange",function(value){if(!ignoreChange&&!element.dropdown("is multiple")){var mapped=scope.findMatchingItem(value);if(angular.isDefined(mapped)){var mappedValue=scope.value({item:mapped});modelWatcher.set(mappedValue)}else modelWatcher.set(element.dropdown("setting","allowAdditions")?value:scope.emptyValue)}}),SemanticUI.onEvent(settings,"onAdd",function(value){if(!ignoreChange){var mapped=scope.findMatchingItem(value);if(angular.isDefined(mapped)){var mappedValue=scope.value({item:mapped}),indexOf=$.inArray(mappedValue,modelArray());-1===indexOf&&(scope.model.push(mappedValue),modelWatcher.update())}else element.dropdown("setting","allowAdditions")&&(scope.model.push(value),modelWatcher.update())}}),SemanticUI.onEvent(settings,"onRemove",function(value){if(!ignoreChange){var mapped=scope.findMatchingItem(value);if(angular.isDefined(mapped)){var mappedValue=scope.value({item:mapped}),indexOf=$.inArray(mappedValue,modelArray());-1!==indexOf&&(scope.model.splice(indexOf,1),modelWatcher.update())}else{var indexOf=$.inArray(value,modelArray());-1!==indexOf&&(scope.model.splice(indexOf,1),modelWatcher.update())}}}),SemanticUI.linkEvents(scope,settings,$.fn.dropdown.settings,{onChange:"onChange",onAdd:"onAdd",onRemove:"onRemove",onLabelCreate:"onLabelCreate",onLabelSelect:"onLabelSelect",onNoResults:"onNoResults",onShow:"onShow",onHide:"onHide"}),scope.$watch("items",function(updated){scope.updateHashMap(scope.items),applyValue(scope.model)},!0),element.dropdown(settings),scope.updateHashMap(scope.items),applyValue(scope.model),element.dropdown("save defaults"),ignoreChange=!1,angular.isFunction(scope.onInit)&&scope.onInit(element)})}}}])}(angular.module("semantic-ui")),function(app){app.directive("smEmbedBind",["SemanticUI",function(SemanticUI){return SemanticUI.createBind("smEmbedBind","embed")}]);var BEHAVIORS={smEmbedReset:"reset",smEmbedShow:"show",smEmbedHide:"hide",smEmbedDestroy:"destroy"};angular.forEach(BEHAVIORS,function(method,directive){app.directive(directive,["SemanticUI",function(SemanticUI){return SemanticUI.createBehavior(directive,"embed",method)}])}),app.directive("smEmbed",["SemanticUI",function(SemanticUI){return{restrict:"E",replace:!0,transclude:!0,scope:{source:"@",sourceId:"@",url:"@",placeholder:"@",icon:"@",settings:"=",onInit:"=",onCreate:"=",onDisplay:"=",onPlaceholderDisplay:"=",onEmbed:"="},template:'<div class="ui embed"></div>',link:function(scope,element,attributes){var settings=scope.settings||{};SemanticUI.linkSettings(scope,element,attributes,"embed"),scope.source&&(settings.source=scope.source),scope.sourceId&&(settings.id=scope.sourceId),scope.placeholder&&(settings.placeholder=scope.placeholder),scope.icon&&(settings.icon=scope.icon),scope.url&&(settings.url=scope.url),SemanticUI.linkEvents(scope,settings,$.fn.embed.settings,{onCreate:"onCreate",onDisplay:"onDisplay",onPlaceholderDisplay:"onPlaceholderDisplay",onEmbed:"onEmbed"}),element.embed(settings),angular.isFunction(scope.onInit)&&scope.onInit(element)}}}])}(angular.module("semantic-ui")),function(app){app.directive("smModalBind",["SemanticUI",function(SemanticUI){return SemanticUI.createBind("smModalBind","modal")}]);var BEHAVIORS={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(BEHAVIORS,function(method,directive){app.directive(directive,["SemanticUI",function(SemanticUI){return SemanticUI.createBehavior(directive,"modal",method)}])}),app.directive("smModal",["SemanticUI",function(SemanticUI){return{restrict:"E",replace:!0,transclude:!0,scope:{visible:"=",settings:"=",onInit:"=",onShow:"=",onVisible:"=",onHide:"=",onHidden:"=",onApprove:"=",onDeny:"="},template:'<div class="ui modal" ng-transclude></div>',link:function(scope,element,attributes){var settings=scope.settings||{};if(SemanticUI.linkSettings(scope,element,attributes,"modal"),attributes.visible){var visibleWatcher=SemanticUI.watcher(scope,"visible",function(updated){element.modal(updated?"show":"hide")});SemanticUI.onEvent(settings,"onHide",function(){visibleWatcher.set(!1)})}SemanticUI.linkEvents(scope,settings,$.fn.modal.settings,{onShow:"onShow",onVisible:"onVisible",onHide:"onHide",onHidden:"onHidden",onApprove:"onApprove",onDeny:"onDeny"}),element.modal(settings),angular.isFunction(scope.onInit)&&scope.onInit(element)}}}])}(angular.module("semantic-ui")),function(app){app.directive("smPopupBind",["SemanticUI",function(SemanticUI){return SemanticUI.createBind("smPopupBind","popup")}]);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)}])}),app.directive("smPopup",["SemanticUI",function(SemanticUI){return{restrict:"A",scope:{smPopup:"=",smPopupTitle:"=",smPopupHtml:"=",smPopupPosition:"@",smPopupVariation:"@",smPopupSettings:"=",smPopupOnInit:"=",smPopupOnCreate:"=",smPopupOnRemove:"=",smPopupOnShow:"=",smPopupOnVisible:"=",smPopupOnHide:"=",smPopupOnHidden:"="},link:function(scope,element,attributes){var settings=scope.smPopupSettings||{};SemanticUI.linkSettings(scope,element,attributes,"popup",!1,"smPopupSettings"),SemanticUI.bindAttribute(scope,"smPopup",element,"data-content"),SemanticUI.bindAttribute(scope,"smPopupTitle",element,"data-title"),SemanticUI.bindAttribute(scope,"smPopupHtml",element,"data-html"),SemanticUI.bindAttribute(scope,"smPopupPosition",element,"data-position"),SemanticUI.bindAttribute(scope,"smPopupVariation",element,"data-variation"),SemanticUI.linkEvents(scope,settings,{onCreate:"smPopupOnCreate",onRemove:"smPopupOnRemove",onShow:"smPopupOnShow",onVisible:"smPopupOnVisible",onHide:"smPopupOnHide",onHidden:"smPopupOnHidden"}),element.popup(settings),angular.isFunction(scope.smPopupOnInit)&&scope.smPopupOnInit(element)}}}]),app.directive("smPopupInline",["SemanticUI",function(SemanticUI){return{restrict:"A",
scope:{smPopupInline:"=",smPopupInlineOnInit:"=",smPopupInlineOnCreate:"=",smPopupInlineOnRemove:"=",smPopupInlineOnShow:"=",smPopupInlineOnVisible:"=",smPopupInlineOnHide:"=",smPopupInlineOnHidden:"="},link:function(scope,element,attributes){var settings=scope.smPopupInline||{};SemanticUI.linkSettings(scope,element,attributes,"popup",!1,"smPopupInline"),SemanticUI.linkEvents(scope,settings,{onCreate:"smPopupInlineOnCreate",onRemove:"smPopupInlineOnRemove",onShow:"smPopupInlineOnShow",onVisible:"smPopupInlineOnVisible",onHide:"smPopupInlineOnHide",onHidden:"smPopupInlineOnHidden"}),settings.inline=!0,element.popup(settings),angular.isFunction(scope.smPopupInlineOnInit)&&scope.smPopupInlineOnInit(element)}}}]),app.directive("smPopupDisplay",["SemanticUI",function(SemanticUI){return{restrict:"A",scope:{smPopupDisplay:"@",smPopupDisplaySettings:"=",smPopupDisplayOnInit:"=",smPopupDisplayOnCreate:"=",smPopupDisplayOnRemove:"=",smPopupDisplayOnShow:"=",smPopupDisplayOnVisible:"=",smPopupDisplayOnHide:"=",smPopupDisplayOnHidden:"="},link:function(scope,element,attributes){var settings=scope.smPopupDisplaySettings||{};SemanticUI.linkSettings(scope,element,attributes,"popup",!1,"smPopupDisplaySettings"),SemanticUI.linkEvents(scope,settings,$.fn.popup.settings,{onCreate:"smPopupDisplayOnCreate",onRemove:"smPopupDisplayOnRemove",onShow:"smPopupDisplayOnShow",onVisible:"smPopupDisplayOnVisible",onHide:"smPopupDisplayOnHide",onHidden:"smPopupDisplayOnHidden"}),settings.popup='[data-popup-named="'+attributes.smPopupDisplay+'"]',element.popup(settings),angular.isFunction(scope.smPopupDisplayOnInit)&&scope.smPopupDisplayOnInit(element)}}}]),app.directive("smPopupDetached",function(){return{restrict:"E",replace:!0,transclude:!0,scope:{name:"@"},template:'<div class="ui popup" data-popup-named="{{ name }}" ng-transclude></div>'}})}(angular.module("semantic-ui")),function(app){app.directive("smProgressBind",["SemanticUI",function(SemanticUI){return SemanticUI.createBind("smProgressBind","progress")}]);var BEHAVIORS={smProgressIncrement:"increment"};angular.forEach(BEHAVIORS,function(method,directive){app.directive(directive,["SemanticUI",function(SemanticUI){return SemanticUI.createBehavior(directive,"progress",method)}])}),app.directive("smProgress",["SemanticUI",function(SemanticUI){var addText=function(scope,attributes,settings,attribute,property){angular.isDefined(attributes[attribute])&&(settings.text=settings.text||{},settings.text[property]=scope[attribute])};return{restrict:"E",replace:!0,transclude:!0,scope:{model:"=",total:"=",label:"@",activeText:"@",successText:"@",errorText:"@",warningText:"@",duration:"@",onInit:"=",onChange:"=",onSuccess:"=",onActive:"=",onError:"=",onWarning:"="},template:['<div class="ui progress">',' <div class="bar">',' <div class="progress" ng-show="label"></div>'," </div>",' <div class="label" ng-transclude></div>',"</div>"].join("\n"),link: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"}),angular.isDefined(settings.showActivity)||(settings.showActivity=!1),angular.isDefined(attributes.label)&&(settings.label=scope.label),settings.total=angular.isDefined(attributes.total)?scope.total:100,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",100*value/total),element.progress("set value",value)}),angular.isDefined(attributes.duration)&&SemanticUI.watcher(scope,"duration",function(duration){element.progress("set duration",duration)}),angular.isDefined(attributes.total)&&SemanticUI.watcher(scope,"total",function(total){element.progress("set total",total)}),angular.isFunction(scope.onInit)&&scope.onInit(element)}}}])}(angular.module("semantic-ui")),function(app){app.directive("smRatingBind",["SemanticUI",function(SemanticUI){return SemanticUI.createBind("smRatingBind","rating")}]);var BEHAVIORS={smRatingSet:"set rating",smRatingDisable:"disable",smRatingEnable:"enable",smRatingClear:"clear rating"};angular.forEach(BEHAVIORS,function(method,directive){app.directive(directive,["SemanticUI",function(SemanticUI){return SemanticUI.createBehavior(directive,"rating",method)}])}),app.directive("smRating",["SemanticUI",function(SemanticUI){return{restrict:"E",replace:!0,scope:{model:"=",total:"=",type:"@",disabled:"=",settings:"=",onInit:"=",onRate:"="},template:'<div class="ui rating {{ type }}" data-rating="{{ model }}" data-max-rating="{{ total }}"></div>',link:function(scope,element,attributes){element.ready(function(){var settings=scope.settings||{};if(SemanticUI.linkSettings(scope,element,attributes,"rating",!0),SemanticUI.triggerChange(scope,"model",element,!0),attributes.disabled){SemanticUI.watcher(scope,"disabled",function(updated){element.rating(updated?"disable":"enable")})}var valueWatcher=SemanticUI.watcher(scope,"model",function(updated){element.rating("set rating",updated)});SemanticUI.onEvent(settings,"onRate",function(value){valueWatcher.set(value)}),SemanticUI.linkEvents(scope,settings,$.fn.rating.settings,{onRate:"onRate"}),element.rating(settings),scope.disabled&&element.rating("disable"),angular.isFunction(scope.onInit)&&scope.onInit(element)})}}}])}(angular.module("semantic-ui")),function(app){app.directive("smSearchBind",["SemanticUI",function(SemanticUI){return SemanticUI.createBind("smSearchBind","search")}]);var BEHAVIORS={smSearchQuery:"query",smSearchCancelQuery:"cancel query",smSearchSearchLocal:"search local",smSearchSearchRemote:"search remote",smSearchSet:"set value",smSearchShowResults:"show results",smSearchHideResults:"hide results",smSearchDestroy:"destroy"};angular.forEach(BEHAVIORS,function(method,directive){app.directive(directive,["SemanticUI",function(SemanticUI){return SemanticUI.createBehavior(directive,"search",method)}])}),app.directive("smSearch",["SemanticUI",function(SemanticUI){return{restrict:"E",replace:!0,scope:{model:"=",text:"=?",icon:"@",placeholder:"@",category:"@",local:"=",remote:"@",settings:"=",onInit:"=",onSelect:"=",onResultsAdd:"=",onSearchQuery:"=",onResults:"=",onResultsOpen:"=",onResultsClose:"="},template:['<div class="ui search" ng-class="{category: category}">',' <div class="ui input" ng-class="{icon: icon}">',' <input class="prompt" type="text" placeholder="{{ placeholder }}" ng-model="text">',' <i ng-if="icon" class="{{ icon }} icon"></i>'," </div>",' <div class="results"></div>',"</div>"].join("\n"),link:function(scope,element,attributes){var settings=scope.settings||{},textProperty=settings.fields&&settings.fields.title?settings.fields.title:$.fn.search.settings.fields.title;SemanticUI.linkSettings(scope,element,attributes,"search"),scope.local&&(settings.source=scope.local),scope.remote&&(settings.apiSettings={url:scope.remote}),scope.category&&(settings.type="category");var modelWatcher=SemanticUI.watcher(scope,"model",function(value){element.search("set value",value&&textProperty in value?value[textProperty]:value)});SemanticUI.onEvent(settings,"onSelect",function(result,response){modelWatcher.set(result),attributes.text&&scope.$evalAsync(function(){scope.text=result[textProperty]})}),SemanticUI.linkEvents(scope,settings,$.fn.search.settings,{onSelect:"onSelect",onResultsAdd:"onResultsAdd",onSearchQuery:"onSearchQuery",onResults:"onResults",onResultsOpen:"onResultsOpen",onResultsClose:"onResultsClose"}),element.search(settings),angular.isFunction(scope.onInit)&&scope.onInit(element),scope.model&&attributes.text&&textProperty in scope.model&&(scope.text=scope.model[textProperty])}}}])}(angular.module("semantic-ui")),function(app){app.directive("smShapeBind",["SemanticUI",function(SemanticUI){return SemanticUI.createBind("smShapeBind","shape")}]);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)}])}),app.directive("smShape",["SemanticUI",function(SemanticUI){return{restrict:"E",replace:!0,transclude:!0,scope:{settings:"=",onInit:"=",onBeforeChange:"=",onChange:"="},template:['<div class="ui shape">',' <div class="sides" ng-transclude>'," </div>","</div>"].join("\n"),link: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),angular.isFunction(scope.onInit)&&scope.onInit(element)}}}])}(angular.module("semantic-ui")),function(app){app.directive("smSidebarBind",["SemanticUI",function(SemanticUI){return SemanticUI.createBind("smSidebarBind","sidebar")}]);var BEHAVIORS={smSidebarShow:"show",smSidebarHide:"hide",smSidebarToggle:"toggle",smSidebarPushPage:"push page",smSidebarPullPage:"pull page",smSidebarAddBodyCss:"add body css",smSidebarRemoveBodyCss:"remove body css"};angular.forEach(BEHAVIORS,function(method,directive){app.directive(directive,["SemanticUI",function(SemanticUI){return SemanticUI.createBehavior(directive,"sidebar",method)}])}),app.directive("smSidebar",["SemanticUI",function(SemanticUI){return{restrict:"E",replace:!0,scope:{items:"=",label:"&",onClick:"&",visible:"=",settings:"=",onInit:"=",onVisible:"=",onShow:"=",onChange:"=",onHide:"=",onHidden:"="},template:['<div class="ui sidebar">',' <a class="item" ng-repeat="i in items" sm-html="label({item:i})" ng-click="onClick({item:i, $event:$event})"></a>',"</div>"].join("\n"),link:function(scope,element,attributes){var settings=scope.settings||{};if(SemanticUI.setDefaultFunction(scope,"label",attributes,function(locals){return locals.item}),SemanticUI.linkSettings(scope,element,attributes,"sidebar"),attributes.visible){var visibleWatcher=SemanticUI.watcher(scope,"visible",function(updated){element.sidebar(updated?"show":"hide")});SemanticUI.onEvent(settings,"onHide",function(){visibleWatcher.set(!1)}),SemanticUI.onEvent(settings,"onShow",function(){visibleWatcher.set(!0)})}SemanticUI.linkEvents(scope,settings,$.fn.sidebar.settings,{onVisible:"onVisible",onShow:"onShow",onChange:"onChange",onHide:"onHide",onHidden:"onHidden"});var pusher=$(".pusher");pusher.length&&element.insertBefore(pusher),element.sidebar(settings),scope.visible&&element.sidebar("show"),angular.isFunction(scope.onInit)&&scope.onInit(element)}}}])}(angular.module("semantic-ui")),function(app){app.directive("smStickyBind",["SemanticUI",function(SemanticUI){return SemanticUI.createBind("smStickyBind","sticky")}]);var BEHAVIORS={smStickyRefresh:"refresh"};angular.forEach(BEHAVIORS,function(method,directive){app.directive(directive,["SemanticUI",function(SemanticUI){return SemanticUI.createBehavior(directive,"sticky",method)}])}),app.directive("smSticky",["SemanticUI",function(SemanticUI){return{restrict:"E",replace:!0,transclude:!0,scope:{context:"@",settings:"=",onInit:"=",onReposition:"=",onScroll:"=",onStick:"=",onUnstick:"=",onTop:"=",onBottom:"="},template:'<div class="ui sticky" ng-transclude></div>',link:function(scope,element,attributes){element.ready(function(){var settings=scope.settings||{};SemanticUI.linkSettings(scope,element,attributes,"sticky",!0),SemanticUI.linkEvents(scope,settings,$.fn.sticky.settings,{onReposition:"onReposition",onScroll:"onScroll",onStick:"onStick",onStick:"onStick",onTop:"onTop",onBottom:"onBottom"}),settings.context||(settings.context=scope.context),element.sticky(settings),angular.isFunction(scope.onInit)&&scope.onInit(element)})}}}])}(angular.module("semantic-ui")),function(app){app.directive("smTabBind",["SemanticUI",function(SemanticUI){return SemanticUI.createBind("smTabBind","tab")}]);var BEHAVIORS={smTabSet:"change tab"};angular.forEach(BEHAVIORS,function(method,directive){app.directive(directive,["SemanticUI",function(SemanticUI){return SemanticUI.createBehavior(directive,"tab",method)}])}),app.directive("smTabMenu",["SemanticUI",function(SemanticUI){return{restrict:"E",replace:!0,scope:{tabs:"=",active:"=?",settings:"="},template:['<div class="ui menu">',' <a class="item" ng-repeat="(name, title) in tabs" ng-class="{active: name === active}" data-tab="{{ name }}" sm-html="title"></a>',"</div>"].join("\n"),link:function(scope,element,attributes){var setActiveTab=function(tab){tab&&element.tab("change tab",tab)};element.ready(function(){var settings=scope.settings||{},elements=element.children(".item"),hasActive=!!attributes.active;if(SemanticUI.linkSettings(scope,elements,attributes,"tab",!0),hasActive){var activeWatcher=SemanticUI.watcher(scope,"active",function(tab){setActiveTab(tab)});SemanticUI.onEvent(settings,"onVisible",function(tab){activeWatcher.set(tab)})}elements.tab(settings),hasActive&&setActiveTab(scope.active)})}}}]),app.directive("smTab",["SemanticUI",function(SemanticUI){return{restrict:"E",replace:!0,transclude:!0,scope:{name:"@"},template:'<div class="ui tab" data-tab="{{ name }}" ng-transclude></div>'}}])}(angular.module("semantic-ui")),function(app){app.directive("smTransition",["SemanticUI",function(SemanticUI){return{restrict:"A",scope:{smTransition:"@",smTransitionEvents:"@",smTransitionOther:"@"},link:function(scope,element,attributes){scope.smTransitionEvents=scope.smTransitionEvents||"click",element.on(scope.smTransitionEvents,function(){(scope.smTransitionOther?$(scope.smTransitionOther):element).transition(scope.smTransition)})}}}])}(angular.module("semantic-ui"));
//# sourceMappingURL=angular-semantic-ui.min.js.map