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
119 lines (119 loc) · 35.7 KB
/
angular-semantic-ui.min.js
File metadata and controls
119 lines (119 loc) · 35.7 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
/**
* SemanticUI-Angular - 1.0.0
* Angular Directives for Semantic UI
*
* https://github.com/ClickerMonkey/SemanticUI-Angular
* Released under the MIT license.
* Copyright 2015 Philip Diffenderfer and contributors.
*/
!function(e){e.factory("SemanticUI",["$compile",function(e){var n={setDefaultFunction:function(e,n,t,i){t[n]||(e[n]=i)},triggerChange:function(e,n,t,i){e.$watch(n,function(n){i&&e.$evalAsync(function(){t.trigger("change")}),i=!0})},bindAttribute:function(e,n,t,i){e.$watch(n,function(e){t.attr(i,e)})},onEvent:function(e,n,t){e[n]=function(e,n){return function(){var i=n
angular.isFunction(e)&&(i=e.apply(this,arguments))
var o=t.apply(this,arguments)
return i!==n?i:o}}(e[n])},linkEvents:function(e,t,i,o){for(var a in o)!function(o,a){n.onEvent(t,a,function(){var n=e[o]
return angular.isFunction(n)?n.apply(this,arguments):angular.isFunction(i[a])?i[a].apply(this,arguments):void 0})}(o[a],a)},linkSettings:function(e,n,t,i,o,a){var s=a||"settings"
s in t&&e.$watch(s,function(e){o&&angular.forEach(e,function(e,t){n[i]("setting",t,e)}),o=!0},!0)},createBind:function(e,t){return{restrict:"A",link:function(i,o,a){n.linkSettings(i,o,a,t,!1,e),n.initBind(i,o,a,e,t)}}},initBind:function(e,n,t,i,o){n.ready(function(){var a={},s=t[i]
s&&(a=e.$eval(s)),n[o](a)})},createBehavior:function(e,t,i){return{restrict:"A",link:function(o,a,s){n.initBehavior(o,s,e,a,t,i)}}},initBehavior:function(e,n,t,i,o,a){var s={$:void 0,evt:"click",enabled:!0,value:void 0},r=function(){s.enabled&&$(s.$)[o](a,s.value)},c=!1
e.$watch(n[t],function(e){angular.isString(e)?s.$=e:angular.isObject(e)&&(angular.isString(e.evt)||(e.evt=s.evt),angular.isDefined(e.enabled)||(e.enabled=s.enabled),s=e),c&&i.off(c,r),i.on(c=s.evt,r)},!0)},watcher:function(e,n,t,i,o,a){var s=!1
return e.$watch(n,function(e){s||t.call(i,e),s=!1},a),{set:function(t){(e[n]!=t||o)&&e.$evalAsync(function(){e[n]=t,s=!0})},update:function(){e.$evalAsync(function(){s=!0})}}},RecursiveCompiler:function(n){return function(t,i){angular.isFunction(i)&&(i={post:i})
var o,a=t.contents().remove()
return{pre:i&&i.pre?i.pre:null,post:function(t,s){o||(o=e(a)),o(t,function(e){s.append(e)}),i&&i.post&&i.post.apply(null,arguments),angular.isFunction(n)&&n.apply(null,arguments)}}}}}
return n}])}(angular.module("semantic-ui",[])),function(e){e.directive("smHtml",function(){return{restrict:"A",transclude:!0,link:function(e,n,t){e.$watch(t.smHtml,function(e){n.html(e)})}}}),e.directive("smHtmlOnce",["$parse",function(e){return{restrict:"A",link:function(n,t,i){t.html(e(i.smHtmlOnce)(n))}}}]),e.directive("smClassOnce",["$parse",function(e){return{restrict:"A",link:function(n,t,i){var o=e(i.smClassOnce)(n)
angular.forEach(o,function(e,n){t.toggleClass(n,e)})}}}]),e.directive("smButton",function(){return{restrict:"E",replace:!0,transclude:!0,template:'<button class="ui button" ng-transclude></button>'}}),e.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>'}}),e.directive("smAttrs",function(){return{restrict:"A",scope:{smAttrs:"="},link:function(e,n,t){angular.forEach(e.smAttrs,function(e,t){(angular.isNumber(e)||angular.isString(e))&&n.attr(t,e)})}}}),e.directive("smLiveAttrs",function(){return{restrict:"A",scope:{smLiveAttrs:"="},link:function(e,n,t){var i=function(){return e.smLiveAttrs},o=function(){angular.forEach(e.smLiveAttrs,function(e,t){(angular.isNumber(e)||angular.isString(e))&&n.attr(t,e)})}
e.$watch(i,o,!0)}}}),e.directive("smData",function(){return{restrict:"A",scope:{smData:"="},link:function(e,n,t){n.data(e.smData)}}}),e.directive("smLiveData",function(){return{restrict:"A",scope:{smData:"="},link:function(e,n,t){var i=function(){n.data(e.smData)}
e.$watch("smData",i,!0)}}}),e.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")}}),e.directive("smTimeAgo",function(){return{restrict:"A",link:function(e,n,t){var i=!1,o=!1,a=["January","February","March","April","May","June","July","August","September","October","November","December"],s=["th","st","nd","rd","th","th","th","th","th","th"],r=["12","1","2","3","4","5","6","7","8","9","10","11"],c=function(e){var n=o.getHours(),t=o.getMinutes()
return r[n%r.length]+":"+t+(12>n?"AM":"PM")},l=function(e){return e>=11&&13>=e?e+"th":e+s[e%s.length]},u=function(e){return Math.ceil(((new Date).getTime()-e.getTime())/864e5)},d=function(){var e=new Date,t=new Date(e.getFullYear(),e.getMonth(),e.getDate()),s=new Date(e.getFullYear(),e.getMonth(),e.getDate()-1),r=e.getTime()-o.getTime(),m="",p=!1
if(6e4>r)m="Just now",p=6e4-r
else if(36e5>r){var h=Math.floor(r/6e4)
m=1===h?"1 minute ago":h+" minutes ago",p=r%6e4}else if(o.getTime()>t.getTime())m="Today at "+c(o),p=r%36e5
else if(o.getTime()>s.getTime())m="Yesterday at "+c(o),p=r%36e5
else if(o.getMonth()===e.getMonth()&&o.getFullYear()===e.getFullYear())m+="The "+l(o.getDate()),m+=" at "+c(o),m+=" ("+u(o)+" days ago)",p=864e5
else{m+=a[o.getMonth()]+" "+l(o.getDate()),o.getFullYear()!==e.getFullYear()&&(m+=" "+o.getFullYear()),m+=" at "+c(o)
var g=u(o)
60>=g&&(m+=" ("+u(o)+" days ago)")}n.text(m),i&&(clearTimeout(i),i=!1),p&&(i=setTimeout(function(){i=!1,d()},p))}
e.$watch(t.smTimeAgo,function(e){o=new Date(e),d()})}}}),e.directive("smMenu",["SemanticUI",function(e){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(e){e.hasChildren=function(n){var t=e.children({item:n})
return t&&t.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})}},compile:e.RecursiveCompiler()}}]),e.directive("smList",["SemanticUI",function(e){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:e.RecursiveCompiler(function(n,t,i){n.has||(n.has={icon:!!i.icon,image:!!i.image,header:!!i.header,headerLink:!!i.headerHref,description:!!i.description,children:!!i.children}),n.getChildCount=function(e){var t=n.children(e)
return t?t.length:0},e.setDefaultFunction(n,"description",i,function(e){return e.item}),e.setDefaultFunction(n,"icon",i,function(e){return e.item.icon}),e.setDefaultFunction(n,"header",i,function(e){return e.item.header}),e.setDefaultFunction(n,"children",i,function(e){return e.item.children})})}}])}(angular.module("semantic-ui")),function(e){e.directive("smAccordionBind",["SemanticUI",function(e){return e.createBind("smAccordionBind","accordion")}])
var n={smAccordionOpen:"open",smAccordionCloseOthers:"close others",smAccordionClose:"close",smAccordionToggle:"toggle"}
angular.forEach(n,function(n,t){e.directive(t,["SemanticUI",function(e){return e.createBehavior(t,"accordion",n)}])}),e.directive("smAccordion",["SemanticUI",function(e){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(n,t,i){t.ready(function(){var o=n.settings||{}
e.linkSettings(n,t,i,"accordion",!0),e.linkEvents(n,o,$.fn.accordion.settings,{onOpening:"onOpening",onOpen:"onOpen",onClosing:"onClosing",onClose:"onClose",onChange:"onChange"}),t.accordion(o),angular.isFunction(n.onInit)&&n.onInit(t)})}}}]),e.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(e){e.directive("smCheckboxBind",["SemanticUI",function(e){return e.createBind("smCheckboxBind","checkbox")}])
var n={smCheckboxToggle:"toggle",smCheckboxCheck:"check",smCheckboxUncheck:"uncheck",smCheckboxIndeterminate:"indeterminate",smCheckboxDeterminate:"determinate",smCheckboxEnable:"enable",smCheckboxDisable:"disable"}
angular.forEach(n,function(n,t){e.directive(t,["SemanticUI",function(e){return e.createBehavior(t,"checkbox",n)}])}),e.directive("smCheckbox",["SemanticUI",function(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:['<div class="ui checkbox">',' <input type="checkbox">'," <label>{{ label }}</label>","</div>"].join("\n"),link:function(n,t,i){t.ready(function(){var o=n.settings||{}
e.linkSettings(n,t,i,"checkbox",!0),e.triggerChange(n,"model",t,!0)
var a=function(){return angular.isDefined(n.checkedValue)?n.checkedValue:!0},s=function(){return angular.isDefined(n.uncheckedValue)?n.uncheckedValue:!1},r=function(){return angular.isDefined(n.indeterminateValue)?n.indeterminateValue:void 0}
if(i.enabled){var c=e.watcher(n,"enabled",function(e){angular.isDefined(e)&&t.checkbox(e?"set enabled":"set disabled")})
e.onEvent(o,"onEnable",function(e){c.set(!0)}),e.onEvent(o,"onDisable",function(e){c.set(!1)})}var l=e.watcher(n,"model",function(e){angular.isDefined(e)&&t.checkbox(e?"set checked":"set unchecked")})
if(e.onEvent(o,"onChecked",function(){l.set(a())}),e.onEvent(o,"onUnchecked",function(){l.set(s())}),e.onEvent(o,"onIndeterminate",function(){l.set(r())}),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,t){$(t).checkbox("is checked")&&e++}),0===e?t.checkbox("uncheck"):e===u.length?t.checkbox("check"):t.checkbox("indeterminate")}})}t.checkbox(o),n.model==a()?t.checkbox("set checked"):n.model===r()&&t.checkbox("set indeterminate"),angular.isDefined(n.enabled)&&!n.enabled&&t.checkbox("set disabled"),angular.isFunction(n.onInit)&&n.onInit(t)})}}}])}(angular.module("semantic-ui")),function(e){e.directive("smRadioBind",["SemanticUI",function(e){return e.createBind("smRadioBind","checkbox")}])
var n={smRadioCheck:"check",smRadioEnable:"enable",smRadioDisable:"disable"}
angular.forEach(n,function(n,t){e.directive(t,["SemanticUI",function(e){return e.createBehavior(t,"checkbox",n)}])}),e.directive("smRadio",["SemanticUI",function(e){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(n,t,i){t.ready(function(){var o=n.settings||{}
if(e.linkSettings(n,t,i,"checkbox",!0),e.triggerChange(n,"model",t,!0),i.enabled){var a=e.watcher(n,"enabled",function(e){angular.isDefined(e)&&t.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 s=e.watcher(n,"model",function(e){e===n.value&&t.checkbox("set checked")})
e.onEvent(o,"onChecked",function(){s.set(n.value)}),e.linkEvents(n,o,$.fn.checkbox.settings,{onChange:"onChange",onChecked:"onChecked",onUnchecked:"onUnchecked",onEnable:"onEnable",onDisable:"onDisable"}),t.checkbox(o),n.model===n.value&&t.checkbox("set checked"),t.hasClass("slider")&&t.removeClass("radio"),angular.isDefined(n.enabled)&&!n.enabled&&t.checkbox("set disabled"),angular.isFunction(n.onInit)&&n.onInit(t)})}}}])}(angular.module("semantic-ui")),function(e){e.directive("smComments",["SemanticUI",function(e){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(e){e.setCollapsed=function(n,t,i){var o={comment:n,$event:t}
n.$isCollapsed!=i&&(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 t=e.replies(n)
return t&&t.length},e.getReplyCount=function(n){if(!e.reply)return!1
var t=e.replies(n)
return t?t.length:0},e.getShowRepliesText=function(n){var t=e.getReplyCount(n)
return 0===t?"":1===t?"Show Reply":"Show Replies ("+t+")"},e.getHideRepliesText=function(n){var t=e.getReplyCount(n)
return 0===t?"":1===t?"Hide Reply":"Hide Replies ("+t+")"}},compile:e.RecursiveCompiler()}}])}(angular.module("semantic-ui")),function(e){e.directive("smDimmerBind",["SemanticUI",function(e){return e.createBind("smDimmerBind","dimmer")}])
var n={smDimmerShow:"show",smDimmerHide:"hide",smDimmerToggle:"toggle"}
angular.forEach(n,function(n,t){e.directive(t,["SemanticUI",function(e){return e.createBehavior(t,"dimmer",n)}])}),e.directive("smDimmer",["SemanticUI",function(e){return{restrict:"E",replace:!0,transclude:!0,scope:{visible:"=",settings:"=",onInit:"=",onShow:"=",onHide:"=",onChange:"="},template:'<div class="ui dimmer" ng-transclude></div>',link:function(n,t,i){var o=n.settings||{}
if(e.linkSettings(n,t,i,"dimmer"),i.visible){var a=e.watcher(n,"visible",function(e){t.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"}),t.dimmer(o),angular.isFunction(n.onInit)&&n.onInit(t)}}}])}(angular.module("semantic-ui")),function(e){e.directive("smDropdownBind",["SemanticUI",function(e){return e.createBind("smDropdownBind","dropdown")}])
var n={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(n,function(n,t){e.directive(t,["SemanticUI",function(e){return e.createBehavior(t,"dropdown",n)}])}),e.directive("smDropdown",["SemanticUI","$timeout",function(e,n){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">','<i class="dropdown icon"></i>','<div class="text" sm-class-once="{default: hasDefault()}" sm-html-once="getDefaultText()"></div>',"<sm-flat-menu></sm-flat-menu>","</div>"].join("\n"),controller:function(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 t=e.getKey(n),i=e.findMatchingItem(t)
return angular.isDefined(i)?e.getValue(i):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(t){n={},angular.forEach(t,function(t){n[e.getValue(t)]=t})}},link:function(t,i,o){var a=function(e){n(function(){if(i.dropdown("is multiple")){if(e instanceof Array){for(var n=[],o=0;o<e.length;o++){var a=t.translateValue(e[o])
angular.isDefined(a)&&n.push(a)}i.dropdown("set exactly",n)}}else i.dropdown("set selected",t.translateValue(e))},0)}
e.setDefaultFunction(t,"label",o,function(e){return e.item}),e.setDefaultFunction(t,"value",o,function(e){return e.item}),i.ready(function(){var n=t.settings||{},s=!0
e.linkSettings(t,i,o,"dropdown",!0),e.triggerChange(t,"model",i,!0)
var r=function(){return t.model instanceof Array||(t.model=t.model?[t.model]:[]),t.model},c=e.watcher(t,"model",function(e){a(e)},null,!0,!0)
e.onEvent(n,"onChange",function(e){if(!s&&!i.dropdown("is multiple")){var n=t.findMatchingItem(e)
if(angular.isDefined(n)){var o=t.value({item:n})
c.set(o)}else i.dropdown("setting","allowAdditions")?c.set(e):c.set(t.emptyValue)}}),e.onEvent(n,"onAdd",function(e){if(!s){var n=t.findMatchingItem(e)
if(angular.isDefined(n)){var o=t.value({item:n}),a=$.inArray(o,r());-1===a&&(t.model.push(o),c.update())}else i.dropdown("setting","allowAdditions")&&(t.model.push(e),c.update())}}),e.onEvent(n,"onRemove",function(e){if(!s){var n=t.findMatchingItem(e)
if(angular.isDefined(n)){var i=t.value({item:n}),o=$.inArray(i,r());-1!==o&&(t.model.splice(o,1),c.update())}else{var o=$.inArray(e,r());-1!==o&&(t.model.splice(o,1),c.update())}}}),e.linkEvents(t,n,$.fn.dropdown.settings,{onChange:"onChange",onAdd:"onAdd",onRemove:"onRemove",onLabelCreate:"onLabelCreate",onLabelSelect:"onLabelSelect",onNoResults:"onNoResults",onShow:"onShow",onHide:"onHide"}),t.$watch("items",function(e){t.updateHashMap(t.items),a(t.model)},!0),i.dropdown(n),t.updateHashMap(t.items),a(t.model),i.dropdown("save defaults"),s=!1,angular.isFunction(t.onInit)&&t.onInit(i)})}}}])}(angular.module("semantic-ui")),function(e){e.directive("smEmbedBind",["SemanticUI",function(e){return e.createBind("smEmbedBind","embed")}])
var n={smEmbedReset:"reset",smEmbedShow:"show",smEmbedHide:"hide",smEmbedDestroy:"destroy"}
angular.forEach(n,function(n,t){e.directive(t,["SemanticUI",function(e){return e.createBehavior(t,"embed",n)}])}),e.directive("smEmbed",["SemanticUI",function(e){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(n,t,i){var o=n.settings||{}
e.linkSettings(n,t,i,"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"}),t.embed(o),angular.isFunction(n.onInit)&&n.onInit(t)}}}])}(angular.module("semantic-ui")),function(e){e.directive("smModalBind",["SemanticUI",function(e){return e.createBind("smModalBind","modal")}])
var n={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(n,function(n,t){e.directive(t,["SemanticUI",function(e){return e.createBehavior(t,"modal",n)}])}),e.directive("smModal",["SemanticUI",function(e){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(n,t,i){var o=n.settings||{}
if(e.linkSettings(n,t,i,"modal"),i.visible){var a=e.watcher(n,"visible",function(e){t.modal(e?"show":"hide")})
e.onEvent(o,"onHide",function(){a.set(!1)})}e.linkEvents(n,o,$.fn.modal.settings,{onShow:"onShow",onVisible:"onVisible",onHide:"onHide",onHidden:"onHidden",onApprove:"onApprove",onDeny:"onDeny"}),t.modal(o),angular.isFunction(n.onInit)&&n.onInit(t)}}}])}(angular.module("semantic-ui")),function(e){e.directive("smPopupBind",["SemanticUI",function(e){return e.createBind("smPopupBind","popup")}])
var n={smPopupShow:"show",smPopupHide:"hide",smPopupHideAll:"hide all",smPopupToggle:"toggle",smPopupReposition:"reposition",smPopupDestroy:"destroy",smPopupRemove:"remove popup"}
angular.forEach(n,function(n,t){e.directive(t,["SemanticUI",function(e){return e.createBehavior(t,"popup",n)}])}),e.directive("smPopup",["SemanticUI",function(e){return{restrict:"A",scope:{smPopup:"=",smPopupTitle:"=",smPopupHtml:"=",smPopupPosition:"@",smPopupVariation:"@",smPopupSettings:"=",smPopupOnInit:"=",smPopupOnCreate:"=",smPopupOnRemove:"=",smPopupOnShow:"=",smPopupOnVisible:"=",smPopupOnHide:"=",smPopupOnHidden:"="},link:function(n,t,i){var o=n.smPopupSettings||{}
e.linkSettings(n,t,i,"popup",!1,"smPopupSettings"),e.bindAttribute(n,"smPopup",t,"data-content"),e.bindAttribute(n,"smPopupTitle",t,"data-title"),e.bindAttribute(n,"smPopupHtml",t,"data-html"),e.bindAttribute(n,"smPopupPosition",t,"data-position"),e.bindAttribute(n,"smPopupVariation",t,"data-variation"),e.linkEvents(n,o,{onCreate:"smPopupOnCreate",onRemove:"smPopupOnRemove",onShow:"smPopupOnShow",onVisible:"smPopupOnVisible",onHide:"smPopupOnHide",onHidden:"smPopupOnHidden"}),t.popup(o),angular.isFunction(n.smPopupOnInit)&&n.smPopupOnInit(t)}}}]),e.directive("smPopupInline",["SemanticUI",function(e){return{restrict:"A",scope:{smPopupInline:"=",smPopupInlineOnInit:"=",smPopupInlineOnCreate:"=",smPopupInlineOnRemove:"=",smPopupInlineOnShow:"=",smPopupInlineOnVisible:"=",smPopupInlineOnHide:"=",smPopupInlineOnHidden:"="},link:function(n,t,i){var o=n.smPopupInline||{}
e.linkSettings(n,t,i,"popup",!1,"smPopupInline"),e.linkEvents(n,o,{onCreate:"smPopupInlineOnCreate",onRemove:"smPopupInlineOnRemove",onShow:"smPopupInlineOnShow",onVisible:"smPopupInlineOnVisible",onHide:"smPopupInlineOnHide",onHidden:"smPopupInlineOnHidden"}),o.inline=!0,t.popup(o),angular.isFunction(n.smPopupInlineOnInit)&&n.smPopupInlineOnInit(t)}}}]),e.directive("smPopupDisplay",["SemanticUI",function(e){return{restrict:"A",scope:{smPopupDisplay:"@",smPopupDisplaySettings:"=",smPopupDisplayOnInit:"=",smPopupDisplayOnCreate:"=",smPopupDisplayOnRemove:"=",smPopupDisplayOnShow:"=",smPopupDisplayOnVisible:"=",smPopupDisplayOnHide:"=",smPopupDisplayOnHidden:"="},link:function(n,t,i){var o=n.smPopupDisplaySettings||{}
e.linkSettings(n,t,i,"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="'+i.smPopupDisplay+'"]',t.popup(o),angular.isFunction(n.smPopupDisplayOnInit)&&n.smPopupDisplayOnInit(t)}}}]),e.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(e){e.directive("smProgressBind",["SemanticUI",function(e){return e.createBind("smProgressBind","progress")}])
var n={smProgressIncrement:"increment"}
angular.forEach(n,function(n,t){e.directive(t,["SemanticUI",function(e){return e.createBehavior(t,"progress",n)}])}),e.directive("smProgress",["SemanticUI",function(e){var n=function(e,n,t,i,o){angular.isDefined(n[i])&&(t.text=t.text||{},t.text[o]=e[i])}
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(t,i,o){var a=t.settings||{}
e.linkSettings(t,i,o,"progress"),e.linkEvents(t,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=t.label),angular.isDefined(o.total)?a.total=t.total:a.total=100,angular.isDefined(o.model)&&(a.value=t.model),n(t,o,a,"activeText","active"),n(t,o,a,"successText","success"),n(t,o,a,"errorText","error"),n(t,o,a,"warningText","warning"),i.progress(a),e.watcher(t,"model",function(e){var n=i.progress("get total")||100
i.progress("set percent",100*e/n),i.progress("set value",e)}),angular.isDefined(o.duration)&&e.watcher(t,"duration",function(e){i.progress("set duration",e)}),angular.isDefined(o.total)&&e.watcher(t,"total",function(e){i.progress("set total",e)}),angular.isFunction(t.onInit)&&t.onInit(i)}}}])}(angular.module("semantic-ui")),function(e){e.directive("smRatingBind",["SemanticUI",function(e){return e.createBind("smRatingBind","rating")}])
var n={smRatingSet:"set rating",smRatingDisable:"disable",smRatingEnable:"enable",smRatingClear:"clear rating"}
angular.forEach(n,function(n,t){e.directive(t,["SemanticUI",function(e){return e.createBehavior(t,"rating",n)}])}),e.directive("smRating",["SemanticUI",function(e){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(n,t,i){t.ready(function(){var o=n.settings||{}
if(e.linkSettings(n,t,i,"rating",!0),e.triggerChange(n,"model",t,!0),i.disabled){e.watcher(n,"disabled",function(e){t.rating(e?"disable":"enable")})}var a=e.watcher(n,"model",function(e){t.rating("set rating",e)})
e.onEvent(o,"onRate",function(e){a.set(e)}),e.linkEvents(n,o,$.fn.rating.settings,{onRate:"onRate"}),t.rating(o),n.disabled&&t.rating("disable"),angular.isFunction(n.onInit)&&n.onInit(t)})}}}])}(angular.module("semantic-ui")),function(e){e.directive("smSearchBind",["SemanticUI",function(e){return e.createBind("smSearchBind","search")}])
var n={smSearchQuery:"query",smSearchCancelQuery:"cancel query",smSearchSearchLocal:"search local",smSearchSearchRemote:"search remote",smSearchSet:"set value",smSearchShowResults:"show results",smSearchHideResults:"hide results",smSearchDestroy:"destroy"}
angular.forEach(n,function(n,t){e.directive(t,["SemanticUI",function(e){return e.createBehavior(t,"search",n)}])}),e.directive("smSearch",["SemanticUI",function(e){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(n,t,i){var o=n.settings||{},a=o.fields&&o.fields.title?o.fields.title:$.fn.search.settings.fields.title
e.linkSettings(n,t,i,"search"),n.local&&(o.source=n.local),n.remote&&(o.apiSettings={url:n.remote}),n.category&&(o.type="category")
var s=e.watcher(n,"model",function(e){t.search("set value",e&&a in e?e[a]:e)})
e.onEvent(o,"onSelect",function(e,t){s.set(e),i.text&&n.$evalAsync(function(){n.text=e[a]})}),e.linkEvents(n,o,$.fn.search.settings,{onSelect:"onSelect",onResultsAdd:"onResultsAdd",onSearchQuery:"onSearchQuery",onResults:"onResults",onResultsOpen:"onResultsOpen",onResultsClose:"onResultsClose"}),t.search(o),angular.isFunction(n.onInit)&&n.onInit(t),n.model&&i.text&&a in n.model&&(n.text=n.model[a])}}}])}(angular.module("semantic-ui")),function(e){e.directive("smShapeBind",["SemanticUI",function(e){return e.createBind("smShapeBind","shape")}])
var n={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(n,function(n,t){e.directive(t,["SemanticUI",function(e){return e.createBehavior(t,"shape",n)}])}),e.directive("smShape",["SemanticUI",function(e){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(n,t,i){var o=n.settings||{}
e.linkSettings(n,t,i,"shape"),e.linkEvents(n,o,$.fn.shape.settings,{onBeforeChange:"onBeforeChange",onChange:"onChange"}),t.shape(o),angular.isFunction(n.onInit)&&n.onInit(t)}}}])}(angular.module("semantic-ui")),function(e){e.directive("smSidebarBind",["SemanticUI",function(e){return e.createBind("smSidebarBind","sidebar")}])
var n={smSidebarShow:"show",smSidebarHide:"hide",smSidebarToggle:"toggle",smSidebarPushPage:"push page",smSidebarPullPage:"pull page",smSidebarAddBodyCss:"add body css",smSidebarRemoveBodyCss:"remove body css"}
angular.forEach(n,function(n,t){e.directive(t,["SemanticUI",function(e){return e.createBehavior(t,"sidebar",n)}])}),e.directive("smSidebar",["SemanticUI",function(e){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(n,t,i){var o=n.settings||{}
if(e.setDefaultFunction(n,"label",i,function(e){return e.item}),e.linkSettings(n,t,i,"sidebar"),i.visible){var a=e.watcher(n,"visible",function(e){t.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 s=$(".pusher")
s.length&&t.insertBefore(s),t.sidebar(o),n.visible&&t.sidebar("show"),angular.isFunction(n.onInit)&&n.onInit(t)}}}])}(angular.module("semantic-ui")),function(e){e.directive("smStickyBind",["SemanticUI",function(e){return e.createBind("smStickyBind","sticky")}])
var n={smStickyRefresh:"refresh"}
angular.forEach(n,function(n,t){e.directive(t,["SemanticUI",function(e){return e.createBehavior(t,"sticky",n)}])}),e.directive("smSticky",["SemanticUI",function(e){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(n,t,i){t.ready(function(){var o=n.settings||{}
e.linkSettings(n,t,i,"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),t.sticky(o),angular.isFunction(n.onInit)&&n.onInit(t)})}}}])}(angular.module("semantic-ui")),function(e){e.directive("smTabBind",["SemanticUI",function(e){return e.createBind("smTabBind","tab")}])
var n={smTabSet:"change tab"}
angular.forEach(n,function(n,t){e.directive(t,["SemanticUI",function(e){return e.createBehavior(t,"tab",n)}])}),e.directive("smTabMenu",["SemanticUI",function(e){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(n,t,i){var o=function(e){e&&t.tab("change tab",e)}
t.ready(function(){var a=n.settings||{},s=t.children(".item"),r=!!i.active
if(e.linkSettings(n,s,i,"tab",!0),r){var c=e.watcher(n,"active",function(e){o(e)})
e.onEvent(a,"onVisible",function(e){c.set(e)})}s.tab(a),r&&o(n.active)})}}}]),e.directive("smTab",["SemanticUI",function(e){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(e){e.directive("smTransition",["SemanticUI",function(e){return{restrict:"A",scope:{smTransition:"@",smTransitionEvents:"@",smTransitionOther:"@"},link:function(e,n,t){e.smTransitionEvents=e.smTransitionEvents||"click",n.on(e.smTransitionEvents,function(){(e.smTransitionOther?$(e.smTransitionOther):n).transition(e.smTransition)})}}}])}(angular.module("semantic-ui"))