fomantic-ui 2.9.0-beta.284 → 2.9.0-beta.287

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (220) hide show
  1. package/.all-contributorsrc +9 -0
  2. package/CONTRIBUTORS.md +1 -0
  3. package/FAQ.md +38 -38
  4. package/dist/components/accordion.css +1 -1
  5. package/dist/components/accordion.js +1 -1
  6. package/dist/components/accordion.min.css +1 -1
  7. package/dist/components/accordion.min.js +1 -1
  8. package/dist/components/ad.css +1 -1
  9. package/dist/components/ad.min.css +1 -1
  10. package/dist/components/api.js +2 -2
  11. package/dist/components/api.min.js +2 -2
  12. package/dist/components/breadcrumb.css +1 -1
  13. package/dist/components/breadcrumb.min.css +1 -1
  14. package/dist/components/button.css +1 -1
  15. package/dist/components/button.min.css +1 -1
  16. package/dist/components/calendar.css +1 -1
  17. package/dist/components/calendar.js +1 -1
  18. package/dist/components/calendar.min.css +1 -1
  19. package/dist/components/calendar.min.js +1 -1
  20. package/dist/components/card.css +1 -1
  21. package/dist/components/card.min.css +1 -1
  22. package/dist/components/checkbox.css +1 -1
  23. package/dist/components/checkbox.js +1 -1
  24. package/dist/components/checkbox.min.css +1 -1
  25. package/dist/components/checkbox.min.js +1 -1
  26. package/dist/components/comment.css +1 -1
  27. package/dist/components/comment.min.css +1 -1
  28. package/dist/components/container.css +1 -1
  29. package/dist/components/container.min.css +1 -1
  30. package/dist/components/dimmer.css +1 -1
  31. package/dist/components/dimmer.js +1 -1
  32. package/dist/components/dimmer.min.css +1 -1
  33. package/dist/components/dimmer.min.js +1 -1
  34. package/dist/components/divider.css +1 -1
  35. package/dist/components/divider.min.css +1 -1
  36. package/dist/components/dropdown.css +1 -1
  37. package/dist/components/dropdown.js +37 -59
  38. package/dist/components/dropdown.min.css +1 -1
  39. package/dist/components/dropdown.min.js +2 -2
  40. package/dist/components/embed.css +1 -1
  41. package/dist/components/embed.js +1 -1
  42. package/dist/components/embed.min.css +1 -1
  43. package/dist/components/embed.min.js +1 -1
  44. package/dist/components/emoji.css +8 -10
  45. package/dist/components/feed.css +1 -1
  46. package/dist/components/feed.min.css +1 -1
  47. package/dist/components/flag.css +8 -8
  48. package/dist/components/flag.min.css +1 -1
  49. package/dist/components/form.css +1 -1
  50. package/dist/components/form.js +1 -1
  51. package/dist/components/form.min.css +1 -1
  52. package/dist/components/form.min.js +1 -1
  53. package/dist/components/grid.css +1 -1
  54. package/dist/components/grid.min.css +1 -1
  55. package/dist/components/header.css +1 -1
  56. package/dist/components/header.min.css +1 -1
  57. package/dist/components/icon.css +1 -1
  58. package/dist/components/icon.min.css +1 -1
  59. package/dist/components/image.css +1 -1
  60. package/dist/components/image.min.css +1 -1
  61. package/dist/components/input.css +1 -1
  62. package/dist/components/input.min.css +1 -1
  63. package/dist/components/item.css +1 -1
  64. package/dist/components/item.min.css +1 -1
  65. package/dist/components/label.css +9 -5
  66. package/dist/components/label.min.css +2 -2
  67. package/dist/components/list.css +1 -1
  68. package/dist/components/list.min.css +1 -1
  69. package/dist/components/loader.css +1 -1
  70. package/dist/components/loader.min.css +1 -1
  71. package/dist/components/message.css +1 -1
  72. package/dist/components/message.min.css +1 -1
  73. package/dist/components/modal.css +1 -1
  74. package/dist/components/modal.js +1 -1
  75. package/dist/components/modal.min.css +1 -1
  76. package/dist/components/modal.min.js +1 -1
  77. package/dist/components/nag.css +1 -1
  78. package/dist/components/nag.js +1 -1
  79. package/dist/components/nag.min.css +1 -1
  80. package/dist/components/nag.min.js +1 -1
  81. package/dist/components/placeholder.css +1 -1
  82. package/dist/components/placeholder.min.css +1 -1
  83. package/dist/components/popup.css +1 -1
  84. package/dist/components/popup.js +1 -1
  85. package/dist/components/popup.min.css +1 -1
  86. package/dist/components/popup.min.js +1 -1
  87. package/dist/components/progress.css +1 -1
  88. package/dist/components/progress.js +1 -1
  89. package/dist/components/progress.min.css +1 -1
  90. package/dist/components/progress.min.js +1 -1
  91. package/dist/components/rail.css +1 -1
  92. package/dist/components/rail.min.css +1 -1
  93. package/dist/components/rating.css +1 -1
  94. package/dist/components/rating.js +1 -1
  95. package/dist/components/rating.min.css +1 -1
  96. package/dist/components/rating.min.js +1 -1
  97. package/dist/components/reset.css +1 -1
  98. package/dist/components/reset.min.css +1 -1
  99. package/dist/components/reveal.css +1 -1
  100. package/dist/components/reveal.min.css +1 -1
  101. package/dist/components/search.css +1 -1
  102. package/dist/components/search.js +1 -1
  103. package/dist/components/search.min.css +1 -1
  104. package/dist/components/search.min.js +1 -1
  105. package/dist/components/segment.css +1 -1
  106. package/dist/components/segment.min.css +1 -1
  107. package/dist/components/shape.css +1 -1
  108. package/dist/components/shape.js +1 -1
  109. package/dist/components/shape.min.css +1 -1
  110. package/dist/components/shape.min.js +1 -1
  111. package/dist/components/sidebar.css +1 -1
  112. package/dist/components/sidebar.js +1 -1
  113. package/dist/components/sidebar.min.css +1 -1
  114. package/dist/components/sidebar.min.js +1 -1
  115. package/dist/components/site.css +1 -1
  116. package/dist/components/site.js +1 -1
  117. package/dist/components/site.min.css +1 -1
  118. package/dist/components/site.min.js +1 -1
  119. package/dist/components/slider.js +1 -1
  120. package/dist/components/slider.min.js +1 -1
  121. package/dist/components/state.js +1 -1
  122. package/dist/components/state.min.js +1 -1
  123. package/dist/components/statistic.css +1 -1
  124. package/dist/components/statistic.min.css +1 -1
  125. package/dist/components/step.css +1 -1
  126. package/dist/components/step.min.css +1 -1
  127. package/dist/components/sticky.css +1 -1
  128. package/dist/components/sticky.js +1 -1
  129. package/dist/components/sticky.min.css +1 -1
  130. package/dist/components/sticky.min.js +1 -1
  131. package/dist/components/tab.css +1 -1
  132. package/dist/components/tab.js +1 -1
  133. package/dist/components/tab.min.css +1 -1
  134. package/dist/components/tab.min.js +1 -1
  135. package/dist/components/table.css +1 -1
  136. package/dist/components/table.min.css +1 -1
  137. package/dist/components/text.css +1 -1
  138. package/dist/components/text.min.css +1 -1
  139. package/dist/components/toast.css +4 -1
  140. package/dist/components/toast.js +9 -5
  141. package/dist/components/toast.min.css +2 -2
  142. package/dist/components/toast.min.js +2 -2
  143. package/dist/components/transition.css +1 -1
  144. package/dist/components/transition.js +1 -1
  145. package/dist/components/transition.min.css +1 -1
  146. package/dist/components/transition.min.js +1 -1
  147. package/dist/components/visibility.js +1 -1
  148. package/dist/components/visibility.min.js +1 -1
  149. package/dist/semantic.css +75 -67
  150. package/dist/semantic.js +70 -88
  151. package/dist/semantic.min.css +2 -2
  152. package/dist/semantic.min.js +2 -2
  153. package/dist/themes/{default → famfamfam}/assets/images/flags.png +0 -0
  154. package/examples/components/button.html +1 -1
  155. package/examples/components/card.html +1 -1
  156. package/examples/components/input.html +1 -1
  157. package/examples/components/menu.html +1 -1
  158. package/examples/components/site.html +1 -1
  159. package/examples/components/table.html +1 -1
  160. package/package.json +1 -1
  161. package/src/definitions/behaviors/api.js +1 -1
  162. package/src/definitions/elements/emoji.less +23 -0
  163. package/src/definitions/elements/flag.less +45 -0
  164. package/src/definitions/elements/label.less +7 -4
  165. package/src/definitions/modules/accordion.less +371 -371
  166. package/src/definitions/modules/dropdown.js +36 -58
  167. package/src/definitions/modules/toast.js +8 -4
  168. package/src/definitions/modules/toast.less +3 -0
  169. package/src/themes/default/elements/emoji.overrides +0 -3592
  170. package/src/themes/default/elements/emoji.variables +3574 -0
  171. package/src/themes/default/elements/flag.overrides +0 -1646
  172. package/src/themes/default/elements/flag.variables +1602 -0
  173. package/src/themes/{default → famfamfam}/assets/images/flags.png +0 -0
  174. package/src/themes/famfamfam/elements/flag.variables +8 -1
  175. package/src/themes/joypixels/elements/emoji.overrides +0 -3591
  176. package/src/themes/joypixels/elements/emoji.variables +3573 -4
  177. package/src/themes/twitter/elements/emoji.overrides +0 -3593
  178. package/src/themes/twitter/elements/emoji.variables +3570 -6
  179. package/tasks/admin/distributions/create.js +1 -1
  180. package/tasks/admin/publish.js +1 -1
  181. package/tasks/admin/release.js +1 -1
  182. package/tasks/build/assets.js +1 -1
  183. package/tasks/build/css.js +1 -1
  184. package/tasks/build/javascript.js +1 -1
  185. package/tasks/check-install.js +1 -1
  186. package/tasks/clean.js +1 -1
  187. package/tasks/collections/README.md +1 -1
  188. package/tasks/collections/admin.js +1 -1
  189. package/tasks/config/admin/oauth.example.js +1 -1
  190. package/tasks/config/admin/templates/composer.json +1 -1
  191. package/tasks/rtl/watch.js +1 -1
  192. package/tasks/version.js +1 -1
  193. package/test/fixtures/accordion.html +1 -1
  194. package/test/fixtures/checkbox.html +1 -1
  195. package/test/fixtures/dropdown.html +1 -1
  196. package/test/fixtures/modal.html +1 -1
  197. package/test/fixtures/popup.html +1 -1
  198. package/test/fixtures/rating.html +1 -1
  199. package/test/fixtures/shape.html +1 -1
  200. package/test/fixtures/sidebar.html +1 -1
  201. package/test/fixtures/tab.html +1 -1
  202. package/test/fixtures/transition.html +1 -1
  203. package/test/fixtures/video.html +1 -1
  204. package/test/helpers/jasmine-jquery.js +1 -1
  205. package/test/helpers/jasmine-sinon.js +1 -1
  206. package/test/helpers/jquery-events.js +1 -1
  207. package/test/helpers/sinon.js +1 -1
  208. package/test/meteor/fonts.js +1 -1
  209. package/test/modules/accordion.spec.js +1 -1
  210. package/test/modules/checkbox.spec.js +1 -1
  211. package/test/modules/dropdown.spec.js +1 -1
  212. package/test/modules/modal.spec.js +1 -1
  213. package/test/modules/module.spec.js +1 -1
  214. package/test/modules/popup.spec.js +1 -1
  215. package/test/modules/search.spec.js +1 -1
  216. package/test/modules/shape.spec.js +1 -1
  217. package/test/modules/sidebar.spec.js +1 -1
  218. package/test/modules/tab.spec.js +1 -1
  219. package/test/modules/transition.spec.js +1 -1
  220. package/test/modules/video.spec.js +1 -1
@@ -1,5 +1,5 @@
1
1
  /*!
2
- * # Fomantic-UI 2.9.0-beta.284+04f70a7 - Dropdown
2
+ * # Fomantic-UI 2.9.0-beta.287+6118ada - Dropdown
3
3
  * http://github.com/fomantic/Fomantic-UI/
4
4
  *
5
5
  *
@@ -30,11 +30,6 @@ $.fn.dropdown = function(parameters) {
30
30
 
31
31
  moduleSelector = $allModules.selector || '',
32
32
 
33
- hasTouch = ('ontouchstart' in document.documentElement),
34
- clickEvent = hasTouch
35
- ? 'touchstart'
36
- : 'click',
37
-
38
33
  time = new Date().getTime(),
39
34
  performance = [],
40
35
 
@@ -541,9 +536,7 @@ $.fn.dropdown = function(parameters) {
541
536
  }
542
537
  if(settings.onShow.call(element) !== false) {
543
538
  module.animate.show(function() {
544
- if( module.can.click() ) {
545
- module.bind.intent();
546
- }
539
+ module.bind.intent();
547
540
  if(module.has.search() && !preventFocus) {
548
541
  module.focusSearch();
549
542
  }
@@ -570,8 +563,17 @@ $.fn.dropdown = function(parameters) {
570
563
  }
571
564
  callback.call(element);
572
565
  });
566
+ // Hide submenus explicitly. On some browsers (esp. mobile), they will not automatically receive a
567
+ // mouseleave event
568
+ var $subMenu = $module.find(selector.menu);
569
+ if($subMenu.length > 0) {
570
+ module.verbose('Hiding sub-menu', $subMenu);
571
+ $subMenu.each(function() {
572
+ module.animate.hide(false, $(this));
573
+ });
574
+ }
573
575
  }
574
- } else if( module.can.click() ) {
576
+ } else {
575
577
  module.unbind.intent();
576
578
  }
577
579
  iconClicked = false;
@@ -639,8 +641,8 @@ $.fn.dropdown = function(parameters) {
639
641
  module.verbose('Binding mouse events');
640
642
  if(module.is.multiple()) {
641
643
  $module
642
- .on(clickEvent + eventNamespace, selector.label, module.event.label.click)
643
- .on(clickEvent + eventNamespace, selector.remove, module.event.remove.click)
644
+ .on('click' + eventNamespace, selector.label, module.event.label.click)
645
+ .on('click' + eventNamespace, selector.remove, module.event.remove.click)
644
646
  ;
645
647
  }
646
648
  if( module.is.searchSelection() ) {
@@ -649,31 +651,33 @@ $.fn.dropdown = function(parameters) {
649
651
  .on('mouseup' + eventNamespace, module.event.mouseup)
650
652
  .on('mousedown' + eventNamespace, selector.menu, module.event.menu.mousedown)
651
653
  .on('mouseup' + eventNamespace, selector.menu, module.event.menu.mouseup)
652
- .on(clickEvent + eventNamespace, selector.icon, module.event.icon.click)
653
- .on(clickEvent + eventNamespace, selector.clearIcon, module.event.clearIcon.click)
654
+ .on('click' + eventNamespace, selector.icon, module.event.icon.click)
655
+ .on('click' + eventNamespace, selector.clearIcon, module.event.clearIcon.click)
654
656
  .on('focus' + eventNamespace, selector.search, module.event.search.focus)
655
- .on(clickEvent + eventNamespace, selector.search, module.event.search.focus)
657
+ .on('click' + eventNamespace, selector.search, module.event.search.focus)
656
658
  .on('blur' + eventNamespace, selector.search, module.event.search.blur)
657
- .on(clickEvent + eventNamespace, selector.text, module.event.text.focus)
659
+ .on('click' + eventNamespace, selector.text, module.event.text.focus)
658
660
  ;
659
661
  if(module.is.multiple()) {
660
662
  $module
661
- .on(clickEvent + eventNamespace, module.event.click)
662
- .on(clickEvent + eventNamespace, module.event.search.focus)
663
+ .on('click' + eventNamespace, module.event.click)
664
+ .on('click' + eventNamespace, module.event.search.focus)
663
665
  ;
664
666
  }
665
667
  }
666
668
  else {
667
669
  if(settings.on == 'click') {
668
670
  $module
669
- .on(clickEvent + eventNamespace, selector.icon, module.event.icon.click)
670
- .on(clickEvent + eventNamespace, module.event.test.toggle)
671
+ .on('click' + eventNamespace, selector.icon, module.event.icon.click)
672
+ .on('click' + eventNamespace, module.event.test.toggle)
671
673
  ;
672
674
  }
673
675
  else if(settings.on == 'hover') {
674
676
  $module
675
677
  .on('mouseenter' + eventNamespace, module.delay.show)
676
678
  .on('mouseleave' + eventNamespace, module.delay.hide)
679
+ .on('touchstart' + eventNamespace, module.event.test.toggle)
680
+ .on('touchstart' + eventNamespace, selector.icon, module.event.icon.click)
677
681
  ;
678
682
  }
679
683
  else {
@@ -685,7 +689,7 @@ $.fn.dropdown = function(parameters) {
685
689
  .on('mousedown' + eventNamespace, module.event.mousedown)
686
690
  .on('mouseup' + eventNamespace, module.event.mouseup)
687
691
  .on('focus' + eventNamespace, module.event.focus)
688
- .on(clickEvent + eventNamespace, selector.clearIcon, module.event.clearIcon.click)
692
+ .on('click' + eventNamespace, selector.clearIcon, module.event.clearIcon.click)
689
693
  ;
690
694
  if(module.has.menuSearch() ) {
691
695
  $module
@@ -699,21 +703,16 @@ $.fn.dropdown = function(parameters) {
699
703
  }
700
704
  }
701
705
  $menu
702
- .on((hasTouch ? 'touchstart' : 'mouseenter') + eventNamespace, selector.item, module.event.item.mouseenter)
706
+ .on('mouseenter' + eventNamespace, selector.item, module.event.item.mouseenter)
707
+ .on('touchstart' + eventNamespace, selector.item, module.event.item.mouseenter)
703
708
  .on('mouseleave' + eventNamespace, selector.item, module.event.item.mouseleave)
704
709
  .on('click' + eventNamespace, selector.item, module.event.item.click)
705
710
  ;
706
711
  },
707
712
  intent: function() {
708
713
  module.verbose('Binding hide intent event to document');
709
- if(hasTouch) {
710
- $document
711
- .on('touchstart' + elementNamespace, module.event.test.touch)
712
- .on('touchmove' + elementNamespace, module.event.test.touch)
713
- ;
714
- }
715
714
  $document
716
- .on(clickEvent + elementNamespace, module.event.test.hide)
715
+ .on('click' + elementNamespace, module.event.test.hide)
717
716
  ;
718
717
  }
719
718
  },
@@ -721,14 +720,8 @@ $.fn.dropdown = function(parameters) {
721
720
  unbind: {
722
721
  intent: function() {
723
722
  module.verbose('Removing hide intent event from document');
724
- if(hasTouch) {
725
- $document
726
- .off('touchstart' + elementNamespace)
727
- .off('touchmove' + elementNamespace)
728
- ;
729
- }
730
723
  $document
731
- .off(clickEvent + elementNamespace)
724
+ .off('click' + elementNamespace)
732
725
  ;
733
726
  }
734
727
  },
@@ -1267,23 +1260,12 @@ $.fn.dropdown = function(parameters) {
1267
1260
  if (!module.is.multiple() || (module.is.multiple() && !module.is.active())) {
1268
1261
  focused = true;
1269
1262
  }
1270
- if( module.determine.eventOnElement(event, toggleBehavior) ) {
1263
+ if( module.determine.eventOnElement(event, toggleBehavior) && event.type !== 'touchstart') {
1264
+ // do not preventDefault of touchstart; so emulated mouseenter is triggered on first touch and not later
1265
+ // (when selecting an item). The double-showing of the dropdown through both events does not hurt.
1271
1266
  event.preventDefault();
1272
1267
  }
1273
1268
  },
1274
- touch: function(event) {
1275
- module.determine.eventOnElement(event, function() {
1276
- if(event.type == 'touchstart') {
1277
- module.timer = setTimeout(function() {
1278
- module.hide();
1279
- }, settings.delay.touch);
1280
- }
1281
- else if(event.type == 'touchmove') {
1282
- clearTimeout(module.timer);
1283
- }
1284
- });
1285
- event.stopPropagation();
1286
- },
1287
1269
  hide: function(event) {
1288
1270
  if(module.determine.eventInModule(event, module.hide)){
1289
1271
  if(element.id && $(event.target).attr('for') === element.id){
@@ -1367,13 +1349,15 @@ $.fn.dropdown = function(parameters) {
1367
1349
  },
1368
1350
  mouseleave: function(event) {
1369
1351
  var
1370
- $subMenu = $(this).children(selector.menu)
1352
+ $subMenu = $(this).find(selector.menu)
1371
1353
  ;
1372
1354
  if($subMenu.length > 0) {
1373
1355
  clearTimeout(module.itemTimer);
1374
1356
  module.itemTimer = setTimeout(function() {
1375
1357
  module.verbose('Hiding sub-menu', $subMenu);
1376
- module.animate.hide(false, $subMenu);
1358
+ $subMenu.each(function() {
1359
+ module.animate.hide(false, $(this));
1360
+ });
1377
1361
  }, settings.delay.hide);
1378
1362
  }
1379
1363
  },
@@ -3626,9 +3610,6 @@ $.fn.dropdown = function(parameters) {
3626
3610
  $currentMenu.removeClass(className.loading);
3627
3611
  return canOpenRightward;
3628
3612
  },
3629
- click: function() {
3630
- return (hasTouch || settings.on == 'click');
3631
- },
3632
3613
  extendSelect: function() {
3633
3614
  return settings.allowAdditions || settings.apiSettings;
3634
3615
  },
@@ -3698,9 +3679,7 @@ $.fn.dropdown = function(parameters) {
3698
3679
  start = ($subMenu)
3699
3680
  ? function() {}
3700
3681
  : function() {
3701
- if( module.can.click() ) {
3702
- module.unbind.intent();
3703
- }
3682
+ module.unbind.intent();
3704
3683
  module.remove.active();
3705
3684
  },
3706
3685
  transition = settings.transition.hideMethod || module.get.transition($subMenu)
@@ -4077,7 +4056,6 @@ $.fn.dropdown.settings = {
4077
4056
  hide : 300,
4078
4057
  show : 200,
4079
4058
  search : 20,
4080
- touch : 50
4081
4059
  },
4082
4060
 
4083
4061
  /* Callbacks */
@@ -1,5 +1,5 @@
1
1
  /*!
2
- * # Fomantic-UI 2.9.0-beta.284+04f70a7 - Dropdown
2
+ * # Fomantic-UI 2.9.0-beta.287+6118ada - Dropdown
3
3
  * http://github.com/fomantic/Fomantic-UI/
4
4
  *
5
5
  *
@@ -1,5 +1,5 @@
1
1
  /*
2
- * # Fomantic UI - 2.9.0-beta.284+04f70a7
2
+ * # Fomantic UI - 2.9.0-beta.287+6118ada
3
3
  * https://github.com/fomantic/Fomantic-UI
4
4
  * http://fomantic-ui.com/
5
5
  *
@@ -8,4 +8,4 @@
8
8
  * http://opensource.org/licenses/MIT
9
9
  *
10
10
  */
11
- !function(te,ne,ie,ae){"use strict";te.isFunction=te.isFunction||function(e){return"function"==typeof e&&"number"!=typeof e.nodeType},ne=void 0!==ne&&ne.Math==Math?ne:"undefined"!=typeof self&&self.Math==Math?self:Function("return this")(),te.fn.dropdown=function(B){var K,W=te(this),Q=te(ie),$=W.selector||"",Y="ontouchstart"in ie.documentElement,X=Y?"touchstart":"click",G=(new Date).getTime(),J=[],Z=B,_="string"==typeof Z,ee=[].slice.call(arguments,1);return W.each(function(z){var v,e,t,n,i,a,s,o,r,m=te.isPlainObject(B)?te.extend(!0,{},te.fn.dropdown.settings,B):te.extend({},te.fn.dropdown.settings),h=m.className,f=m.message,l=m.fields,g=m.keys,p=m.metadata,F=m.namespace,c=m.regExp,b=m.selector,u=m.error,P=m.templates,d="."+F,w="module-"+F,C=te(this),y=te(m.context),x=C.find(b.text),S=C.find(b.search),A=C.find(b.sizer),T=C.find(b.input),N=C.find(b.icon),H=C.find(b.clearIcon),L=0<C.prev().find(b.text).length?C.prev().find(b.text):C.prev(),I=C.children(b.menu),D=I.find(b.item),k=m.hideDividers?D.parent().children(b.divider):te(),O=!1,j=!1,U=!1,q=!1,R=this,E=!1,V=C.data(w),M={initialize:function(){M.debug("Initializing dropdown",m),M.is.alreadySetup()?M.setup.reference():(m.ignoreDiacritics&&!String.prototype.normalize&&(m.ignoreDiacritics=!1,M.error(u.noNormalize,R)),M.setup.layout(),m.values&&(M.set.initialLoad(),M.change.values(m.values),M.remove.initialLoad()),M.refreshData(),M.save.defaults(),M.restore.selected(),M.create.id(),M.bind.events(),M.observeChanges(),M.instantiate())},instantiate:function(){M.verbose("Storing instance of dropdown",M),V=M,C.data(w,M)},destroy:function(){M.verbose("Destroying previous dropdown",C),M.remove.tabbable(),M.remove.active(),I.transition("stop all"),I.removeClass(h.visible).addClass(h.hidden),C.off(d).removeData(w),I.off(d),Q.off(i),M.disconnect.menuObserver(),M.disconnect.selectObserver(),M.disconnect.classObserver()},observeChanges:function(){"MutationObserver"in ne&&(s=new MutationObserver(M.event.select.mutation),o=new MutationObserver(M.event.menu.mutation),r=new MutationObserver(M.event.class.mutation),M.debug("Setting up mutation observer",s,o,r),M.observe.select(),M.observe.menu(),M.observe.class())},disconnect:{menuObserver:function(){o&&o.disconnect()},selectObserver:function(){s&&s.disconnect()},classObserver:function(){r&&r.disconnect()}},observe:{select:function(){M.has.input()&&s&&s.observe(C[0],{attributes:!0,childList:!0,subtree:!0})},menu:function(){M.has.menu()&&o&&o.observe(I[0],{childList:!0,subtree:!0})},class:function(){M.has.search()&&r&&r.observe(C[0],{attributes:!0})}},create:{id:function(){a=(Math.random().toString(16)+"000000000").slice(2,10),i="."+a,M.verbose("Creating unique id for element",a)},userChoice:function(e){var n,i;return!!(e=e||M.get.userValues())&&(e=Array.isArray(e)?e:[e],te.each(e,function(e,t){!1===M.get.item(t)&&(i=m.templates.addition(M.add.variables(f.addResult,t)),i=te("<div />").html(i).attr("data-"+p.value,t).attr("data-"+p.text,t).addClass(h.addition).addClass(h.item),m.hideAdditions&&i.addClass(h.hidden),n=n===ae?i:n.add(i),M.verbose("Creating user choices for value",t,i))}),n)},userLabels:function(e){var t=M.get.userValues();t&&(M.debug("Adding user labels",t),te.each(t,function(e,t){M.verbose("Adding custom user value"),M.add.label(t,t)}))},menu:function(){I=te("<div />").addClass(h.menu).appendTo(C)},sizer:function(){A=te("<span />").addClass(h.sizer).insertAfter(S)}},search:function(e){e=e!==ae?e:M.get.query(),M.verbose("Searching for query",e),!1===m.fireOnInit&&M.is.initialLoad()?M.verbose("Skipping callback on initial load",m.onSearch):M.has.minCharacters(e)&&!1!==m.onSearch.call(R,e)?M.filter(e):M.hide(null,!0)},select:{firstUnfiltered:function(){M.verbose("Selecting first non-filtered element"),M.remove.selectedItem(),D.not(b.unselectable).not(b.addition+b.hidden).eq(0).addClass(h.selected)},nextAvailable:function(e){var t=(e=e.eq(0)).nextAll(b.item).not(b.unselectable).eq(0),e=e.prevAll(b.item).not(b.unselectable).eq(0);0<t.length?(M.verbose("Moving selection to",t),t.addClass(h.selected)):(M.verbose("Moving selection to",e),e.addClass(h.selected))}},setup:{api:function(){var e={debug:m.debug,urlData:{value:M.get.value(),query:M.get.query()},on:!1};M.verbose("First request, initializing API"),C.api(e)},layout:function(){C.is("select")&&(M.setup.select(),M.setup.returnedObject()),M.has.menu()||M.create.menu(),M.is.clearable()&&!M.has.clearItem()&&(M.verbose("Adding clear icon"),H=te("<i />").addClass("remove icon").insertBefore(x)),M.is.search()&&!M.has.search()&&(M.verbose("Adding search input"),S=te("<input />").addClass(h.search).prop("autocomplete",M.is.chrome()?"fomantic-search":"off").insertBefore(x)),M.is.multiple()&&M.is.searchSelection()&&!M.has.sizer()&&M.create.sizer(),m.allowTab&&M.set.tabbable()},select:function(){var e=M.get.selectValues();M.debug("Dropdown initialized on a select",e),0<(T=C.is("select")?C:T).parent(b.dropdown).length?(M.debug("UI dropdown already exists. Creating dropdown menu only"),C=T.closest(b.dropdown),M.has.menu()||M.create.menu(),I=C.children(b.menu),M.setup.menu(e)):(M.debug("Creating entire dropdown from select"),C=te("<div />").attr("class",T.attr("class")).addClass(h.selection).addClass(h.dropdown).html(P.dropdown(e,l,m.preserveHTML,m.className)).insertBefore(T),T.hasClass(h.multiple)&&!1===T.prop("multiple")&&(M.error(u.missingMultiple),T.prop("multiple",!0)),T.is("[multiple]")&&M.set.multiple(),T.prop("disabled")&&(M.debug("Disabling dropdown"),C.addClass(h.disabled)),T.is("[required]")&&(m.forceSelection=!0),T.removeAttr("required").removeAttr("class").detach().prependTo(C)),M.refresh()},menu:function(e){I.html(P.menu(e,l,m.preserveHTML,m.className)),D=I.find(b.item),k=m.hideDividers?D.parent().children(b.divider):te()},reference:function(){M.debug("Dropdown behavior was called on select, replacing with closest dropdown"),C=C.parent(b.dropdown),V=C.data(w),R=C.get(0),M.refresh(),M.setup.returnedObject()},returnedObject:function(){var e=W.slice(0,z),t=W.slice(z+1);W=e.add(C).add(t)}},refresh:function(){M.refreshSelectors(),M.refreshData()},refreshItems:function(){D=I.find(b.item),k=m.hideDividers?D.parent().children(b.divider):te()},refreshSelectors:function(){M.verbose("Refreshing selector cache"),x=C.find(b.text),S=C.find(b.search),T=C.find(b.input),N=C.find(b.icon),L=0<C.prev().find(b.text).length?C.prev().find(b.text):C.prev(),I=C.children(b.menu),D=I.find(b.item),k=m.hideDividers?D.parent().children(b.divider):te()},refreshData:function(){M.verbose("Refreshing cached metadata"),D.removeData(p.text).removeData(p.value)},clearData:function(){M.verbose("Clearing metadata"),D.removeData(p.text).removeData(p.value),C.removeData(p.defaultText).removeData(p.defaultValue).removeData(p.placeholderText)},clearItems:function(){I.empty(),M.refreshItems()},toggle:function(){M.verbose("Toggling menu visibility"),M.is.active()?M.hide():M.show()},show:function(e,t){if(e=te.isFunction(e)?e:function(){},(E||q)&&M.is.remote()&&M.is.noApiCache()&&M.clearItems(),!M.can.show()&&M.is.remote()&&(M.debug("No API results retrieved, searching before show"),M.queryRemote(M.get.query(),M.show,[e,t])),M.can.show()&&!M.is.active()){if(M.debug("Showing dropdown"),!M.has.message()||M.has.maxSelections()||M.has.allResultsFiltered()||M.remove.message(),M.is.allFiltered())return!0;!1!==m.onShow.call(R)&&M.animate.show(function(){M.can.click()&&M.bind.intent(),M.has.search()&&!t&&M.focusSearch(),M.set.visible(),e.call(R)})}},hide:function(e,t){e=te.isFunction(e)?e:function(){},M.is.active()&&!M.is.animatingOutward()?(M.debug("Hiding dropdown"),!1!==m.onHide.call(R)&&M.animate.hide(function(){M.remove.visible(),M.is.focusedOnSearch()&&!0!==t&&S.blur(),e.call(R)})):M.can.click()&&M.unbind.intent(),E=q=!1},hideOthers:function(){M.verbose("Finding other dropdowns to hide"),W.not(C).has(b.menu+"."+h.visible).dropdown("hide")},hideMenu:function(){M.verbose("Hiding menu instantaneously"),M.remove.active(),M.remove.visible(),I.transition("hide")},hideSubMenus:function(){var e=I.children(b.item).find(b.menu);M.verbose("Hiding sub menus",e),e.transition("hide")},bind:{events:function(){M.bind.keyboardEvents(),M.bind.inputEvents(),M.bind.mouseEvents()},keyboardEvents:function(){M.verbose("Binding keyboard events"),C.on("keydown"+d,M.event.keydown),M.has.search()&&C.on(M.get.inputEvent()+d,b.search,M.event.input),M.is.multiple()&&Q.on("keydown"+i,M.event.document.keydown)},inputEvents:function(){M.verbose("Binding input change events"),C.on("change"+d,b.input,M.event.change),M.is.multiple()&&M.is.searchSelection()&&C.on("paste"+d,b.search,M.event.paste)},mouseEvents:function(){M.verbose("Binding mouse events"),M.is.multiple()&&C.on(X+d,b.label,M.event.label.click).on(X+d,b.remove,M.event.remove.click),M.is.searchSelection()?(C.on("mousedown"+d,M.event.mousedown).on("mouseup"+d,M.event.mouseup).on("mousedown"+d,b.menu,M.event.menu.mousedown).on("mouseup"+d,b.menu,M.event.menu.mouseup).on(X+d,b.icon,M.event.icon.click).on(X+d,b.clearIcon,M.event.clearIcon.click).on("focus"+d,b.search,M.event.search.focus).on(X+d,b.search,M.event.search.focus).on("blur"+d,b.search,M.event.search.blur).on(X+d,b.text,M.event.text.focus),M.is.multiple()&&C.on(X+d,M.event.click).on(X+d,M.event.search.focus)):("click"==m.on?C.on(X+d,b.icon,M.event.icon.click).on(X+d,M.event.test.toggle):"hover"==m.on?C.on("mouseenter"+d,M.delay.show).on("mouseleave"+d,M.delay.hide):C.on(m.on+d,M.toggle),C.on("mousedown"+d,M.event.mousedown).on("mouseup"+d,M.event.mouseup).on("focus"+d,M.event.focus).on(X+d,b.clearIcon,M.event.clearIcon.click),M.has.menuSearch()?C.on("blur"+d,b.search,M.event.search.blur):C.on("blur"+d,M.event.blur)),I.on((Y?"touchstart":"mouseenter")+d,b.item,M.event.item.mouseenter).on("mouseleave"+d,b.item,M.event.item.mouseleave).on("click"+d,b.item,M.event.item.click)},intent:function(){M.verbose("Binding hide intent event to document"),Y&&Q.on("touchstart"+i,M.event.test.touch).on("touchmove"+i,M.event.test.touch),Q.on(X+i,M.event.test.hide)}},unbind:{intent:function(){M.verbose("Removing hide intent event from document"),Y&&Q.off("touchstart"+i).off("touchmove"+i),Q.off(X+i)}},filter:function(e){function t(){M.is.multiple()&&M.filterActive(),(e||!e&&0==M.get.activeItem().length)&&M.select.firstUnfiltered(),M.has.allResultsFiltered()?m.onNoResults.call(R,n)?m.allowAdditions?m.hideAdditions&&(M.verbose("User addition with no menu, setting empty style"),M.set.empty(),M.hideMenu()):(M.verbose("All items filtered, showing message",n),M.add.message(f.noResults)):(M.verbose("All items filtered, hiding dropdown",n),M.hideMenu()):(M.remove.empty(),M.remove.message()),m.allowAdditions&&M.add.userSuggestion(M.escape.htmlEntities(e)),M.is.searchSelection()&&M.can.show()&&M.is.focusedOnSearch()&&M.show()}var n=e!==ae?e:M.get.query();m.useLabels&&M.has.maxSelections()||(m.apiSettings?M.can.useAPI()?M.queryRemote(n,function(){m.filterRemoteData&&M.filterItems(n);var e=T.val();Array.isArray(e)||(e=e&&""!==e?e.split(m.delimiter):[]),M.is.multiple()&&te.each(e,function(e,t){D.filter('[data-value="'+t+'"]').addClass(h.filtered)}),M.focusSearch(!0),t()}):M.error(u.noAPI):(M.filterItems(n),t()))},queryRemote:function(e,n,i){Array.isArray(i)||(i=[i]);e={errorDuration:!1,cache:"local",throttle:m.throttle,urlData:{query:e},onError:function(){M.add.message(f.serverError),E=q=!1,n.apply(null,i)},onFailure:function(){M.add.message(f.serverError),E=q=!1,n.apply(null,i)},onSuccess:function(e){var e=e[l.remoteValues],t=(Array.isArray(e)||(e=[]),M.remove.message(),{});t[l.values]=e,M.setup.menu(t),0!==e.length||m.allowAdditions?""!==(t=M.is.multiple()?M.get.values():M.get.value())&&(M.verbose("Value(s) present after click icon, select value(s) in items"),M.set.selected(t,null,!0,!0)):M.add.message(f.noResults),E=q=!1,n.apply(null,i)}};C.api("get request")||M.setup.api(),e=te.extend(!0,{},e,m.apiSettings),C.api("setting",e).api("query")},filterItems:function(e){var n=M.remove.diacritics(e!==ae?e:M.get.query()),i=null,e=M.escape.string(n),t=(m.ignoreSearchCase?"i":"")+"gm",a=new RegExp("^"+e,t);M.has.query()&&(i=[],M.verbose("Searching for matching values",n),D.each(function(){var e,t=te(this);if(t.hasClass(h.unfilterable))return i.push(this),!0;if("both"===m.match||"text"===m.match){if(-1!==(e=M.remove.diacritics(String(M.get.choiceText(t,!1)))).search(a))return i.push(this),!0;if("exact"===m.fullTextSearch&&M.exactSearch(n,e))return i.push(this),!0;if(!0===m.fullTextSearch&&M.fuzzySearch(n,e))return i.push(this),!0}return("both"===m.match||"value"===m.match)&&(-1!==(t=M.remove.diacritics(String(M.get.choiceValue(t,e)))).search(a)||"exact"===m.fullTextSearch&&M.exactSearch(n,t)||!0===m.fullTextSearch&&M.fuzzySearch(n,t))?(i.push(this),!0):void 0})),M.debug("Showing only matched items",n),M.remove.filteredItem(),i&&D.not(i).addClass(h.filtered),M.has.query()?!0===m.hideDividers?k.addClass(h.hidden):"empty"===m.hideDividers&&k.removeClass(h.hidden).filter(function(){var e=te(this).nextUntil(b.item);return 0===(e.length?e:te(this)).nextUntil(b.divider).filter(b.item+":not(."+h.filtered+")").length}).addClass(h.hidden):k.removeClass(h.hidden)},fuzzySearch:function(e,t){var n=t.length,i=e.length;if(e=m.ignoreSearchCase?e.toLowerCase():e,t=m.ignoreSearchCase?t.toLowerCase():t,n<i)return!1;if(i===n)return e===t;e:for(var a=0,s=0;a<i;a++){for(var o=e.charCodeAt(a);s<n;)if(t.charCodeAt(s++)===o)continue e;return!1}return!0},exactSearch:function(e,t){return e=m.ignoreSearchCase?e.toLowerCase():e,-1<(t=m.ignoreSearchCase?t.toLowerCase():t).indexOf(e)},filterActive:function(){m.useLabels&&D.filter("."+h.active).addClass(h.filtered)},focusSearch:function(e){M.has.search()&&!M.is.focusedOnSearch()&&(e?(C.off("focus"+d,b.search),S.focus(),C.on("focus"+d,b.search,M.event.search.focus)):S.focus())},blurSearch:function(){M.has.search()&&S.blur()},forceSelection:function(){var e=D.not(h.filtered).filter("."+h.selected).eq(0),t=D.not(h.filtered).filter("."+h.active).eq(0),e=0<e.length?e:t,t=0<e.length;m.allowAdditions||t&&!M.is.multiple()?(M.debug("Forcing partial selection to selected item",e),M.event.item.click.call(e,{},!0)):M.remove.searchTerm()},change:{values:function(e){m.allowAdditions||M.clear(),M.debug("Creating dropdown with specified values",e);var t={};t[l.values]=e,M.setup.menu(t),te.each(e,function(e,t){if(!0===t.selected&&(M.debug("Setting initial selection to",t[l.value]),M.set.selected(t[l.value]),!M.is.multiple()))return!1}),M.has.selectInput()&&(M.disconnect.selectObserver(),T.html(""),T.append("<option disabled selected value></option>"),te.each(e,function(e,t){var n=m.templates.deQuote(t[l.value]),i=m.templates.escape(t[l.name]||"",m.preserveHTML);T.append('<option value="'+n+'"'+(!0===t.selected?" selected":"")+">"+i+"</option>")}),M.observe.select())}},event:{paste:function(e){(e.originalEvent.clipboardData||ne.clipboardData).getData("text").split(m.delimiter).forEach(function(e){M.set.selected(M.escape.htmlEntities(e.trim()),null,!0,!0)}),e.preventDefault()},change:function(){U||(M.debug("Input changed, updating selection"),M.set.selected())},focus:function(){m.showOnFocus&&!O&&M.is.hidden()&&!t&&(E=!0,M.show())},blur:function(e){t=ie.activeElement===this,O||t||(M.remove.activeLabel(),M.hide())},mousedown:function(){M.is.searchSelection()?n=!0:O=!0},mouseup:function(){M.is.searchSelection()?n=!1:O=!1},click:function(e){te(e.target).is(C)&&(M.is.focusedOnSearch()?M.show():M.focusSearch())},search:{focus:function(e){O=!0,M.is.multiple()&&M.remove.activeLabel(),E||M.is.active()||!(m.showOnFocus||"focus"!==e.type&&"focusin"!==e.type)||(E=!0,M.search())},blur:function(e){t=ie.activeElement===this,!M.is.searchSelection()||n||j||t||(m.forceSelection?M.forceSelection():m.allowAdditions||M.remove.searchTerm(),M.hide()),n=!1}},clearIcon:{click:function(e){M.clear(),M.is.searchSelection()&&M.remove.searchTerm(),M.hide(),e.stopPropagation()}},icon:{click:function(e){q=!0,M.has.search()?M.is.active()?M.blurSearch():m.showOnFocus?M.focusSearch():M.toggle():M.toggle(),e.stopPropagation()}},text:{focus:function(e){O=!0,M.focusSearch()}},input:function(e){(M.is.multiple()||M.is.searchSelection())&&M.set.filtered(),clearTimeout(M.timer),M.timer=setTimeout(M.search,m.delay.search)},label:{click:function(e){var t=te(this),n=C.find(b.label),i=n.filter("."+h.active),a=t.nextAll("."+h.active),s=t.prevAll("."+h.active),a=(0<a.length?t.nextUntil(a):t.prevUntil(s)).add(i).add(t);e.shiftKey?(i.removeClass(h.active),a.addClass(h.active)):e.ctrlKey?t.toggleClass(h.active):(i.removeClass(h.active),t.addClass(h.active)),m.onLabelSelect.apply(this,n.filter("."+h.active)),e.stopPropagation()}},remove:{click:function(e){var t=te(this).parent();t.hasClass(h.active)?M.remove.activeLabels():M.remove.activeLabels(t),e.stopPropagation()}},test:{toggle:function(e){var t=M.is.multiple()?M.show:M.toggle;M.is.bubbledLabelClick(e)||M.is.bubbledIconClick(e)||(M.is.multiple()&&(!M.is.multiple()||M.is.active())||(E=!0),M.determine.eventOnElement(e,t)&&e.preventDefault())},touch:function(e){M.determine.eventOnElement(e,function(){"touchstart"==e.type?M.timer=setTimeout(function(){M.hide()},m.delay.touch):"touchmove"==e.type&&clearTimeout(M.timer)}),e.stopPropagation()},hide:function(e){M.determine.eventInModule(e,M.hide)&&R.id&&te(e.target).attr("for")===R.id&&e.preventDefault()}},class:{mutation:function(e){e.forEach(function(e){"class"===e.attributeName&&M.check.disabled()})}},select:{mutation:function(e){M.is.selectMutation(e)&&(M.debug("<select> modified, recreating menu"),M.disconnect.selectObserver(),M.refresh(),M.setup.select(),M.set.selected(),M.observe.select())}},menu:{mutation:function(e){var e=e[0],t=e.addedNodes?te(e.addedNodes[0]):te(!1),e=e.removedNodes?te(e.removedNodes[0]):te(!1),t=t.add(e),e=t.is(b.addition)||0<t.closest(b.addition).length,t=t.is(b.message)||0<t.closest(b.message).length;e||t?(M.debug("Updating item selector cache"),M.refreshItems()):(M.debug("Menu modified, updating selector cache"),M.refresh())},mousedown:function(){j=!0},mouseup:function(){j=!1}},item:{mouseenter:function(e){var t=te(e.target),n=te(this),i=n.children(b.menu),a=n.siblings(b.item).children(b.menu),n=0<i.length;0<i.find(t).length||!n||(clearTimeout(M.itemTimer),M.itemTimer=setTimeout(function(){M.verbose("Showing sub-menu",i),te.each(a,function(){M.animate.hide(!1,te(this))}),M.animate.show(!1,i)},m.delay.show),e.preventDefault())},mouseleave:function(e){var t=te(this).children(b.menu);0<t.length&&(clearTimeout(M.itemTimer),M.itemTimer=setTimeout(function(){M.verbose("Hiding sub-menu",t),M.animate.hide(!1,t)},m.delay.hide))},click:function(e,t){var n=te(this),e=te(e?e.target:""),i=n.find(b.menu),a=M.get.choiceText(n),s=M.get.choiceValue(n,a),o=0<i.length,i=0<i.find(e).length;"input"!==ie.activeElement.tagName.toLowerCase()&&te(ie.activeElement).blur(),i||o&&!m.allowCategorySelection||(M.is.searchSelection()&&(m.allowAdditions&&M.remove.userAddition(),M.remove.searchTerm(),M.is.focusedOnSearch()||!0===t||M.focusSearch(!0)),m.useLabels||(M.remove.filteredItem(),M.set.scrollPosition(n)),M.determine.selectAction.call(this,a,s))}},document:{keydown:function(e){var t,n,i,a,s,o,r,l,c,u,d,v=e.which;M.is.inObject(v,g)&&((n=(t=C.find(b.label)).filter("."+h.active)).data(p.value),o=t.index(n),r=t.length,i=0<n.length,a=1<n.length,s=0===o,o=o+1==r,r=M.is.searchSelection(),l=M.is.focusedOnSearch(),c=M.is.focused(),d=(u=l&&0===M.get.caretPosition(!1))&&0!==M.get.caretPosition(!0),r&&!i&&!l||(v==g.leftArrow?!c&&!u||i?i&&(e.shiftKey?M.verbose("Adding previous label to selection"):(M.verbose("Selecting previous label"),t.removeClass(h.active)),s&&!a?n.addClass(h.active):n.prev(b.siblingLabel).addClass(h.active).end(),e.preventDefault()):(M.verbose("Selecting previous label"),t.last().addClass(h.active)):v==g.rightArrow?(c&&!i&&t.first().addClass(h.active),i&&(e.shiftKey?M.verbose("Adding next label to selection"):(M.verbose("Selecting next label"),t.removeClass(h.active)),o?r?l?t.removeClass(h.active):M.focusSearch():(a?n.next(b.siblingLabel):n).addClass(h.active):n.next(b.siblingLabel).addClass(h.active),e.preventDefault())):v==g.deleteKey||v==g.backspace?i?(M.verbose("Removing active labels"),o&&r&&!l&&M.focusSearch(),n.last().next(b.siblingLabel).addClass(h.active),M.remove.activeLabels(n),e.preventDefault()):!u||d||i||v!=g.backspace||(M.verbose("Removing last label on input backspace"),n=t.last().addClass(h.active),M.remove.activeLabels(n)):n.removeClass(h.active)))}},keydown:function(e){var t=e.which;if(M.is.inObject(t,g)||e.key===m.delimiter){var n,i=D.not(b.unselectable).filter("."+h.selected).eq(0),a=I.children("."+h.active).eq(0),i=0<i.length?i:a,a=0<i.length?i.siblings(":not(."+h.filtered+")").addBack():I.children(":not(."+h.filtered+")"),s=i.children(b.menu),o=i.closest(b.menu),r=o.hasClass(h.visible)||o.hasClass(h.animating)||0<o.parent(b.menu).length,l=0<s.length,c=0<i.length,u=0<i.not(b.unselectable).length,d=e.key===m.delimiter&&M.is.multiple();if(m.allowAdditions&&m.hideAdditions&&(t==g.enter||d)&&u&&(M.verbose("Selecting item from keyboard shortcut",i),M.event.item.click.call(i,e),M.is.searchSelection()&&M.remove.searchTerm(),M.is.multiple()&&e.preventDefault()),M.is.visible()){if(t!=g.enter&&!d||(t==g.enter&&c&&l&&!m.allowCategorySelection?(M.verbose("Pressed enter on unselectable category, opening sub menu"),t=g.rightArrow):u&&(M.verbose("Selecting item from keyboard shortcut",i),M.event.item.click.call(i,e),M.is.searchSelection()&&(M.remove.searchTerm(),M.is.multiple()&&S.focus())),e.preventDefault()),c&&(t==g.leftArrow&&o[0]!==I[0]&&(M.verbose("Left key pressed, closing sub-menu"),M.animate.hide(!1,o),i.removeClass(h.selected),o.closest(b.item).addClass(h.selected),e.preventDefault()),t==g.rightArrow&&l&&(M.verbose("Right key pressed, opening sub-menu"),M.animate.show(!1,s),i.removeClass(h.selected),s.find(b.item).eq(0).addClass(h.selected),e.preventDefault())),t==g.upArrow){if(n=(c&&r?i.prevAll(b.item+":not("+b.unselectable+")"):D).eq(0),a.index(n)<0)return M.verbose("Up key pressed but reached top of current menu"),void e.preventDefault();M.verbose("Up key pressed, changing active item"),i.removeClass(h.selected),n.addClass(h.selected),M.set.scrollPosition(n),m.selectOnKeydown&&M.is.single()&&!n.hasClass(h.actionable)&&M.set.selectedItem(n),e.preventDefault()}if(t==g.downArrow){if(0===(n=(c&&r?i.nextAll(b.item+":not("+b.unselectable+")"):D).eq(0)).length)return M.verbose("Down key pressed but reached bottom of current menu"),void e.preventDefault();M.verbose("Down key pressed, changing active item"),D.removeClass(h.selected),n.addClass(h.selected),M.set.scrollPosition(n),m.selectOnKeydown&&M.is.single()&&!n.hasClass(h.actionable)&&M.set.selectedItem(n),e.preventDefault()}t==g.pageUp&&(M.scrollPage("up"),e.preventDefault()),t==g.pageDown&&(M.scrollPage("down"),e.preventDefault()),t==g.escape&&(M.verbose("Escape key pressed, closing dropdown"),M.hide())}else d&&e.preventDefault(),t!=g.downArrow||M.is.visible()||(M.verbose("Down key pressed, showing dropdown"),M.show(),e.preventDefault())}else M.has.search()||M.set.selectedLetter(String.fromCharCode(t))}},trigger:{change:function(){var e,t=T[0];t&&(e=ie.createEvent("HTMLEvents"),M.verbose("Triggering native change event"),e.initEvent("change",!0,!1),t.dispatchEvent(e))}},determine:{selectAction:function(e,t){v=!0,M.verbose("Determining action",m.action),te.isFunction(M.action[m.action])?(M.verbose("Triggering preset action",m.action,e,t),M.action[m.action].call(R,e,t,this)):te.isFunction(m.action)?(M.verbose("Triggering user action",m.action,e,t),m.action.call(R,e,t,this)):M.error(u.action,m.action),v=!1},eventInModule:function(e,t){var e=te(e.target),n=0<e.closest(ie.documentElement).length,e=0<e.closest(C).length;return t=te.isFunction(t)?t:function(){},n&&!e?(M.verbose("Triggering event",t),t(),!0):(M.verbose("Event occurred in dropdown, canceling callback"),!1)},eventOnElement:function(e,t){var n=te(e.target),i=n.closest(b.siblingLabel),e=ie.body.contains(e.target),i=0===C.find(i).length||!(M.is.multiple()&&m.useLabels),n=0===n.closest(I).length;return t=te.isFunction(t)?t:function(){},e&&i&&n?(M.verbose("Triggering event",t),t(),!0):(M.verbose("Event occurred in dropdown menu, canceling callback"),!1)}},action:{nothing:function(){},activate:function(e,t,n){t=t!==ae?t:e,M.can.activate(te(n))&&(M.set.selected(t,te(n)),M.is.multiple()||!m.collapseOnActionable&&te(n).hasClass(h.actionable)||M.hideAndClear())},select:function(e,t,n){t=t!==ae?t:e,M.can.activate(te(n))&&(M.set.value(t,e,te(n)),M.is.multiple()||!m.collapseOnActionable&&te(n).hasClass(h.actionable)||M.hideAndClear())},combo:function(e,t,n){M.set.selected(t=t!==ae?t:e,te(n)),M.hideAndClear()},hide:function(e,t,n){M.set.value(t,e,te(n)),M.hideAndClear()}},get:{id:function(){return a},defaultText:function(){return C.data(p.defaultText)},defaultValue:function(){return C.data(p.defaultValue)},placeholderText:function(){return"auto"!=m.placeholder&&"string"==typeof m.placeholder?m.placeholder:C.data(p.placeholderText)||""},text:function(){return m.preserveHTML?x.html():x.text()},query:function(){return String(S.val()).trim()},searchWidth:function(e){return e=e!==ae?e:S.val(),A.text(e),Math.ceil(A.width()+(M.is.edge()?3:1))},selectionCount:function(){var e=M.get.values();return M.is.multiple()?Array.isArray(e)?e.length:0:""!==M.get.value()?1:0},transition:function(e){return"auto"===m.transition?M.is.upward(e)?"slide up":"slide down":m.transition},userValues:function(){var e=M.get.values();return!!e&&(e=Array.isArray(e)?e:[e],te.grep(e,function(e){return!1===M.get.item(e)}))},uniqueArray:function(n){return te.grep(n,function(e,t){return te.inArray(e,n)===t})},caretPosition:function(e){var t,n,i=S.get(0);return e&&"selectionEnd"in i?i.selectionEnd:!e&&"selectionStart"in i?i.selectionStart:ie.selection?(i.focus(),n=(t=ie.selection.createRange()).text.length,e?n:(t.moveStart("character",-i.value.length),t.text.length-n)):void 0},value:function(){var e=0<T.length?T.val():C.data(p.value),t=Array.isArray(e)&&1===e.length&&""===e[0];return e===ae||t?"":e},values:function(e){var t=M.get.value();return""===t?"":!M.has.selectInput()&&M.is.multiple()?"string"==typeof t?(e?t:M.escape.htmlEntities(t)).split(m.delimiter):"":t},remoteValues:function(){var e=M.get.values(),i=!1;return e&&te.each(e="string"==typeof e?[e]:e,function(e,t){var n=M.read.remoteData(t);M.verbose("Restoring value from session data",n,t),n&&((i=i||{})[t]=n)}),i},choiceText:function(e,t){if(t=t!==ae?t:m.preserveHTML,e)return 0<e.find(b.menu).length&&(M.verbose("Retrieving text of element with sub-menu"),(e=e.clone()).find(b.menu).remove(),e.find(b.menuIcon).remove()),e.data(p.text)!==ae?e.data(p.text):t?e.html()&&e.html().trim():e.text()&&e.text().trim()},choiceValue:function(e,t){return t=t||M.get.choiceText(e),!!e&&(e.data(p.value)!==ae?String(e.data(p.value)):"string"==typeof t?String(m.ignoreSearchCase?t.toLowerCase():t).trim():String(t))},inputEvent:function(){var e=S[0];return!!e&&(e.oninput!==ae?"input":e.onpropertychange!==ae?"propertychange":"keyup")},selectValues:function(){var s={},o=[],r=[];return C.find("option").each(function(){var e=te(this),t=e.html(),n=e.attr("disabled"),i=e.attr("value")!==ae?e.attr("value"):t,a=e.data(p.text)!==ae?e.data(p.text):t,e=e.parent("optgroup");"auto"===m.placeholder&&""===i?s.placeholder=t:(e.length===o.length&&e[0]===o[0]||(r.push({type:"header",divider:m.headerDivider,name:e.attr("label")||""}),o=e),r.push({name:t,value:i,text:a,disabled:n}))}),m.placeholder&&"auto"!==m.placeholder&&(M.debug("Setting placeholder value to",m.placeholder),s.placeholder=m.placeholder),m.sortSelect?(!0===m.sortSelect?r.sort(function(e,t){return e.name.localeCompare(t.name)}):"natural"===m.sortSelect?r.sort(function(e,t){return e.name.toLowerCase().localeCompare(t.name.toLowerCase())}):te.isFunction(m.sortSelect)&&r.sort(m.sortSelect),s[l.values]=r,M.debug("Retrieved and sorted values from select",s)):(s[l.values]=r,M.debug("Retrieved values from select",s)),s},activeItem:function(){return D.filter("."+h.active)},selectedItem:function(){var e=D.not(b.unselectable).filter("."+h.selected);return 0<e.length?e:D.eq(0)},itemWithAdditions:function(e){var t=M.get.item(e),e=M.create.userChoice(e);return t=e&&0<e.length?0<t.length?t.add(e):e:t},item:function(n,i){var e,a,s=!1;return n=n!==ae?n:M.get.values()!==ae?M.get.values():M.get.text(),e=(a=M.is.multiple()&&Array.isArray(n))?0<n.length:n!==ae&&null!==n,i=""===n||!1===n||!0===n||(i||!1),e&&D.each(function(){var e=te(this),t=M.get.choiceText(e),t=M.get.choiceValue(e,t);if(null!==t&&t!==ae)if(a)-1!==te.inArray(M.escape.htmlEntities(String(t)),n.map(function(e){return String(e)}))&&(s=s?s.add(e):e);else if(i){if(M.verbose("Ambiguous dropdown value using strict type check",e,n),t===n)return s=e,!0}else if(m.ignoreCase&&(t=t.toLowerCase(),n=n.toLowerCase()),M.escape.htmlEntities(String(t))===M.escape.htmlEntities(String(n)))return M.verbose("Found select item by value",t,n),s=e,!0}),s},displayType:function(){return C.hasClass("column")?"flex":m.displayType}},check:{maxSelections:function(e){return!m.maxSelections||((e=e!==ae?e:M.get.selectionCount())>=m.maxSelections?(M.debug("Maximum selection count reached"),m.useLabels&&(D.addClass(h.filtered),M.add.message(f.maxSelections)),!0):(M.verbose("No longer at maximum selection count"),M.remove.message(),M.remove.filteredItem(),M.is.searchSelection()&&M.filterItems(),!1))},disabled:function(){S.attr("tabindex",M.is.disabled()?-1:0)}},restore:{defaults:function(e){M.clear(e),M.restore.defaultText(),M.restore.defaultValue()},defaultText:function(){var e=M.get.defaultText();e===M.get.placeholderText?(M.debug("Restoring default placeholder text",e),M.set.placeholderText(e)):(M.debug("Restoring default text",e),M.set.text(e))},placeholderText:function(){M.set.placeholderText()},defaultValue:function(){var e=M.get.defaultValue();e!==ae&&(M.debug("Restoring default value",e),""!==e?(M.set.value(e),M.set.selected()):(M.remove.activeItem(),M.remove.selectedItem()))},labels:function(){m.allowAdditions&&(m.useLabels||(M.error(u.labels),m.useLabels=!0),M.debug("Restoring selected values"),M.create.userLabels()),M.check.maxSelections()},selected:function(){M.restore.values(),M.is.multiple()?(M.debug("Restoring previously selected values and labels"),M.restore.labels()):M.debug("Restoring previously selected values")},values:function(){M.set.initialLoad(),m.apiSettings&&m.saveRemoteData&&M.get.remoteValues()?M.restore.remoteValues():M.set.selected();var e=M.get.value();!e||""===e||Array.isArray(e)&&0===e.length?T.addClass(h.noselection):T.removeClass(h.noselection),M.remove.initialLoad()},remoteValues:function(){var e=M.get.remoteValues();M.debug("Recreating selected from session data",e),e&&(M.is.single()?te.each(e,function(e,t){M.set.text(t)}):te.each(e,function(e,t){M.add.label(e,t)}))}},read:{remoteData:function(e){if(ne.Storage!==ae)return(e=sessionStorage.getItem(e+i))!==ae&&e;M.error(u.noStorage)}},save:{defaults:function(){M.save.defaultText(),M.save.placeholderText(),M.save.defaultValue()},defaultValue:function(){var e=M.get.value();M.verbose("Saving default value as",e),C.data(p.defaultValue,e)},defaultText:function(){var e=M.get.text();M.verbose("Saving default text as",e),C.data(p.defaultText,e)},placeholderText:function(){var e;!1!==m.placeholder&&x.hasClass(h.placeholder)&&(e=M.get.text(),M.verbose("Saving placeholder text as",e),C.data(p.placeholderText,e))},remoteData:function(e,t){ne.Storage===ae?M.error(u.noStorage):(M.verbose("Saving remote data to session storage",t,e),sessionStorage.setItem(t+i,e))}},clear:function(e){M.is.multiple()&&m.useLabels?M.remove.labels(C.find(b.label),e):(M.remove.activeItem(),M.remove.selectedItem(),M.remove.filteredItem()),M.set.placeholderText(),M.clearValue(e)},clearValue:function(e){M.set.value("",null,null,e)},scrollPage:function(e,t){var t=t||M.get.selectedItem(),n=t.closest(b.menu),i=n.outerHeight(),a=n.scrollTop(),s=D.eq(0).outerHeight(),i=Math.floor(i/s),a=(n.prop("scrollHeight"),"up"==e?a-s*i:a+s*i),s=D.not(b.unselectable),i="up"==e?s.index(t)-i:s.index(t)+i,i=("up"==e?0<=i:i<s.length)?s.eq(i):"up"==e?s.first():s.last();0<i.length&&(M.debug("Scrolling page",e,i),t.removeClass(h.selected),i.addClass(h.selected),m.selectOnKeydown&&M.is.single()&&!$nextItem.hasClass(h.actionable)&&M.set.selectedItem(i),n.scrollTop(a))},set:{filtered:function(){var e=M.is.multiple(),t=M.is.searchSelection(),n=e&&t,t=t?M.get.query():"",i="string"==typeof t&&0<t.length,a=M.get.searchWidth(),t=""!==t;e&&i&&(M.verbose("Adjusting input width",a,m.glyphWidth),S.css("width",a)),i||n&&t?(M.verbose("Hiding placeholder text"),x.addClass(h.filtered)):e&&(!n||t)||(M.verbose("Showing placeholder text"),x.removeClass(h.filtered))},empty:function(){C.addClass(h.empty)},loading:function(){C.addClass(h.loading)},placeholderText:function(e){e=e||M.get.placeholderText(),M.debug("Setting placeholder text",e),M.set.text(e),x.addClass(h.placeholder)},tabbable:function(){M.is.searchSelection()?(M.debug("Added tabindex to searchable dropdown"),S.val(""),M.check.disabled(),I.attr("tabindex",-1)):(M.debug("Added tabindex to dropdown"),C.attr("tabindex")===ae&&(C.attr("tabindex",0),I.attr("tabindex",-1)))},initialLoad:function(){M.verbose("Setting initial load"),e=!0},activeItem:function(e){m.allowAdditions&&0<e.filter(b.addition).length?e.addClass(h.filtered):e.addClass(h.active)},partialSearch:function(e){var t=M.get.query().length;S.val(e.slice(0,t))},scrollPosition:function(e,t){var n,i,a=(e=e||M.get.selectedItem()).closest(b.menu),s=e&&0<e.length;t=t!==ae&&t,0===M.get.activeItem().length&&(t=!1),e&&0<a.length&&s&&(e.position().top,a.addClass(h.loading),e=(s=a.scrollTop())-a.offset().top+e.offset().top,t||(i=s+a.height()<e+5,n=e-5<s),M.debug("Scrolling to active item",e),(t||n||i)&&a.scrollTop(e),a.removeClass(h.loading))},text:function(e){"combo"===m.action?(M.debug("Changing combo button text",e,L),m.preserveHTML?L.html(e):L.text(e)):"activate"===m.action&&(e!==M.get.placeholderText()&&x.removeClass(h.placeholder),M.debug("Changing text",e,x),x.removeClass(h.filtered),m.preserveHTML?x.html(e):x.text(e))},selectedItem:function(e){var t=M.get.choiceValue(e),n=M.get.choiceText(e,!1),i=M.get.choiceText(e,!0);M.debug("Setting user selection to item",e),M.remove.activeItem(),M.set.partialSearch(n),M.set.activeItem(e),M.set.selected(t,e),M.set.text(i)},selectedLetter:function(e){var t,n=D.filter("."+h.selected),i=0<n.length&&M.has.firstLetter(n,e),a=!1;i&&(t=n.nextAll(D).eq(0),M.has.firstLetter(t,e)&&(a=t)),a||D.each(function(){if(M.has.firstLetter(te(this),e))return a=te(this),!1}),a&&(M.verbose("Scrolling to next value with letter",e),M.set.scrollPosition(a),n.removeClass(h.selected),a.addClass(h.selected),m.selectOnKeydown&&M.is.single()&&!t.hasClass(h.actionable)&&M.set.selectedItem(a))},direction:function(e){"auto"===m.direction?(e?M.is.upward(e)&&M.remove.upward(e):M.remove.upward(),(M.can.openDownward(e)?M.remove:M.set).upward(e),M.is.leftward(e)||M.can.openRightward(e)||M.set.leftward(e)):"upward"===m.direction&&M.set.upward(e)},upward:function(e){(e||C).addClass(h.upward)},leftward:function(e){(e||I).addClass(h.leftward)},value:function(e,t,n,i){"boolean"==typeof t&&(i=t,t=n=ae),e===ae||""===e||Array.isArray(e)&&0===e.length?T.addClass(h.noselection):T.removeClass(h.noselection);var a=M.escape.value(e),s=0<T.length,o=M.get.values(),r=e!==ae?String(e):e;if(s){if(!m.allowReselection&&r==o&&(M.verbose("Skipping value update already same value",e,o),!M.is.initialLoad()))return;M.is.single()&&M.has.selectInput()&&M.can.extendSelect()&&(M.debug("Adding user option",e),M.add.optionValue(e)),M.debug("Updating input value",a,o),U=!0,T.val(a),!1===m.fireOnInit&&M.is.initialLoad()?M.debug("Input native change event ignored on initial load"):!0!==i&&M.trigger.change(),U=!1}else M.verbose("Storing value in metadata",a,T),a!==o&&C.data(p.value,r);!1===m.fireOnInit&&M.is.initialLoad()?M.verbose("No callback on initial load",m.onChange):!0!==i&&m.onChange.call(R,e,t,n)},active:function(){C.addClass(h.active)},multiple:function(){C.addClass(h.multiple)},visible:function(){C.addClass(h.visible)},exactly:function(e,t,n){"boolean"==typeof t&&(n=t,t=ae),M.debug("Setting selected to exact values"),M.clear(),M.set.selected(e,t,n)},selected:function(e,l,c,u){"boolean"==typeof l&&(u=c,c=l,l=ae);var d=M.is.multiple();(l=m.allowAdditions?l||M.get.itemWithAdditions(e):l||M.get.item(e))&&(M.debug("Setting selected menu item to",l),M.is.multiple()&&M.remove.searchWidth(),M.is.single()?(M.remove.activeItem(),M.remove.selectedItem()):m.useLabels&&M.remove.selectedItem(),l.each(function(){var e=te(this),t=M.get.choiceText(e),n=M.get.choiceValue(e,t),i=e.hasClass(h.filtered),a=e.hasClass(h.active),s=e.hasClass(h.actionable),o=e.hasClass(h.addition),r=d&&l&&1===l.length;s?(d&&a&&!o||!m.apiSettings||!m.saveRemoteData||M.save.remoteData(t,n),m.onActionable.call(R,n,t,e)):d?!a||o?(m.apiSettings&&m.saveRemoteData&&M.save.remoteData(t,n),m.useLabels?(M.add.value(n,t,e,c),M.add.label(n,t,r),M.set.activeItem(e),M.filterActive(),M.select.nextAvailable(l)):(M.add.value(n,t,e,c),M.set.text(M.add.variables(f.count)),M.set.activeItem(e))):i||!m.useLabels&&!v||(M.debug("Selected active value, removing label"),M.remove.selected(n)):(m.apiSettings&&m.saveRemoteData&&M.save.remoteData(t,n),u||e.hasClass(h.actionable)||M.set.text(t),M.set.value(n,t,e,c),e.addClass(h.active).addClass(h.selected))}),u||M.remove.searchTerm())}},add:{label:function(e,t,n){var i,a=M.is.searchSelection()?S:x,s=M.escape.value(e);m.ignoreCase&&(s=s.toLowerCase()),i=te("<a />").addClass(h.label).attr("data-"+p.value,s).html(P.label(s,t,m.preserveHTML,m.className)),i=m.onLabelCreate.call(i,s,t),M.has.label(e)?M.debug("User selection already exists, skipping",s):(m.label.variation&&i.addClass(m.label.variation),!0===n?(M.debug("Animating in label",i),i.addClass(h.hidden).insertBefore(a).transition({animation:m.label.transition,debug:m.debug,verbose:m.verbose,duration:m.label.duration})):(M.debug("Adding selection label",i),i.insertBefore(a)))},message:function(e){var t=I.children(b.message),e=m.templates.message(M.add.variables(e));0<t.length?t.html(e):te("<div/>").html(e).addClass(h.message).appendTo(I)},optionValue:function(e){var t=M.escape.value(e);0<T.find('option[value="'+M.escape.string(t)+'"]').length||(M.disconnect.selectObserver(),M.is.single()&&(M.verbose("Removing previous user addition"),T.find("option."+h.addition).remove()),te("<option/>").prop("value",t).addClass(h.addition).html(e).appendTo(T),M.verbose("Adding user addition as an <option>",e),M.observe.select())},userSuggestion:function(e){var t=I.children(b.addition),n=M.get.item(e),n=n&&n.not(b.addition).length,i=0<t.length;m.useLabels&&M.has.maxSelections()||(""===e||n?t.remove():(i?(t.data(p.value,e).data(p.text,e).attr("data-"+p.value,e).attr("data-"+p.text,e).removeClass(h.filtered),m.hideAdditions||(n=m.templates.addition(M.add.variables(f.addResult,e)),t.html(n)),M.verbose("Replacing user suggestion with new value",t)):((t=M.create.userChoice(e)).prependTo(I),M.verbose("Adding item choice to menu corresponding with user choice addition",t)),m.hideAdditions&&!M.is.allFiltered()||t.addClass(h.selected).siblings().removeClass(h.selected),M.refreshItems()))},variables:function(e,t){var n,i=-1!==e.search("{count}"),a=-1!==e.search("{maxCount}"),s=-1!==e.search("{term}");return M.verbose("Adding templated variables to message",e),i&&(n=M.get.selectionCount(),e=e.replace("{count}",n)),a&&(n=M.get.selectionCount(),e=e.replace("{maxCount}",m.maxSelections)),s&&(i=t||M.get.query(),e=e.replace("{term}",i)),e},value:function(e,t,n,i){"boolean"==typeof t&&(i=t,t=n=ae);var a,s=M.get.values(!0);M.has.value(e)?M.debug("Value already selected"):""===e?M.debug("Cannot select blank values from multiselect"):(a=Array.isArray(s)?(a=n&&n.hasClass(h.actionable)?s:s.concat([e]),M.get.uniqueArray(a)):[e],M.has.selectInput()?M.can.extendSelect()&&(M.debug("Adding value to select",e,a,T),M.add.optionValue(e)):(a=a.join(m.delimiter),M.debug("Setting hidden input to delimited value",a,T)),!1===m.fireOnInit&&M.is.initialLoad()?M.verbose("Skipping onadd callback on initial load",m.onAdd):m.onAdd.call(R,e,t,n),M.set.value(a,t,n,i),M.check.maxSelections())}},remove:{active:function(){C.removeClass(h.active)},activeLabel:function(){C.find(b.label).removeClass(h.active)},empty:function(){C.removeClass(h.empty)},loading:function(){C.removeClass(h.loading)},initialLoad:function(){e=!1},upward:function(e){(e||C).removeClass(h.upward)},leftward:function(e){(e||I).removeClass(h.leftward)},visible:function(){C.removeClass(h.visible)},activeItem:function(){D.removeClass(h.active)},filteredItem:function(){m.useLabels&&M.has.maxSelections()||((m.useLabels&&M.is.multiple()?D.not("."+h.active):D).removeClass(h.filtered),m.hideDividers&&k.removeClass(h.hidden),M.remove.empty())},optionValue:function(e){var e=M.escape.value(e),t=T.find('option[value="'+M.escape.string(e)+'"]');0<t.length&&t.hasClass(h.addition)&&(M.disconnect.selectObserver(),t.remove(),M.verbose("Removing user addition as an <option>",e),M.observe.select())},message:function(){I.children(b.message).remove()},searchWidth:function(){S.css("width","")},searchTerm:function(){M.verbose("Cleared search term"),S.val(""),M.set.filtered()},userAddition:function(){D.filter(b.addition).remove()},selected:function(e,t,i){if(!(t=m.allowAdditions?t||M.get.itemWithAdditions(e):t||M.get.item(e)))return!1;t.each(function(){var e=te(this),t=M.get.choiceText(e),n=M.get.choiceValue(e,t);M.is.multiple()?m.useLabels?(M.remove.value(n,t,e,i),M.remove.label(n)):(M.remove.value(n,t,e,i),0===M.get.selectionCount()?M.set.placeholderText():M.set.text(M.add.variables(f.count))):M.remove.value(n,t,e,i),e.removeClass(h.filtered).removeClass(h.active),m.useLabels&&e.removeClass(h.selected)})},selectedItem:function(){D.removeClass(h.selected)},value:function(e,t,n,i){var a,s=M.get.values();e=M.escape.htmlEntities(e),M.has.selectInput()?(M.verbose("Input is <select> removing selected option",e),a=M.remove.arrayValue(e,s),M.remove.optionValue(e)):(M.verbose("Removing from delimited values",e),a=(a=M.remove.arrayValue(e,s)).join(m.delimiter)),!1===m.fireOnInit&&M.is.initialLoad()?M.verbose("No callback on initial load",m.onRemove):m.onRemove.call(R,e,t,n),M.set.value(a,t,n,i),M.check.maxSelections()},arrayValue:function(t,e){return Array.isArray(e)||(e=[e]),e=te.grep(e,function(e){return t!=e}),M.verbose("Removed value from delimited string",t,e),e},label:function(e,t){e=M.escape.value(e),e=C.find(b.label).filter("[data-"+p.value+'="'+M.escape.string(m.ignoreCase?e.toLowerCase():e)+'"]');M.verbose("Removing label",e),e.remove()},activeLabels:function(e){e=e||C.find(b.label).filter("."+h.active),M.verbose("Removing active label selections",e),M.remove.labels(e)},labels:function(e,a){e=e||C.find(b.label),M.verbose("Removing labels",e),e.each(function(){var e=te(this),t=e.data(p.value),n=t!==ae?String(t):t,i=M.is.userValue(n);!1===m.onLabelRemove.call(e,t)?M.debug("Label remove callback cancelled removal"):(M.remove.message(),i?(M.remove.value(n,n,M.get.item(n),a),M.remove.label(n)):M.remove.selected(n,!1,a))})},tabbable:function(){M.is.searchSelection()?(M.debug("Searchable dropdown initialized"),S.removeAttr("tabindex")):(M.debug("Simple selection dropdown initialized"),C.removeAttr("tabindex")),I.removeAttr("tabindex")},diacritics:function(e){return m.ignoreDiacritics?e.normalize("NFD").replace(/[\u0300-\u036f]/g,""):e}},has:{menuSearch:function(){return M.has.search()&&0<S.closest(I).length},clearItem:function(){return 0<H.length},search:function(){return 0<S.length},sizer:function(){return 0<A.length},selectInput:function(){return T.is("select")},minCharacters:function(e){return m.minCharacters&&!q?(e=e!==ae?String(e):String(M.get.query())).length>=m.minCharacters:!(q=!1)},firstLetter:function(e,t){return!(!e||0===e.length||"string"!=typeof t)&&(e=M.get.choiceText(e,!1),(t=t.toLowerCase())==String(e).charAt(0).toLowerCase())},input:function(){return 0<T.length},items:function(){return 0<D.length},menu:function(){return 0<I.length},subMenu:function(e){return 0<(e||I).find(b.menu).length},message:function(){return 0!==I.children(b.message).length},label:function(e){var e=M.escape.value(e),t=C.find(b.label);return m.ignoreCase&&(e=e.toLowerCase()),0<t.filter("[data-"+p.value+'="'+M.escape.string(e)+'"]').length},maxSelections:function(){return m.maxSelections&&M.get.selectionCount()>=m.maxSelections},allResultsFiltered:function(){var e=D.not(b.addition);return e.filter(b.unselectable).length===e.length},userSuggestion:function(){return 0<I.children(b.addition).length},query:function(){return""!==M.get.query()},value:function(e){return m.ignoreCase?M.has.valueIgnoringCase(e):M.has.valueMatchingCase(e)},valueMatchingCase:function(e){var t=M.get.values(!0);return!!(Array.isArray(t)?t&&-1!==te.inArray(e,t):t==e)},valueIgnoringCase:function(n){var e=M.get.values(!0),i=!1;return Array.isArray(e)||(e=[e]),te.each(e,function(e,t){if(String(n).toLowerCase()==String(t).toLowerCase())return!(i=!0)}),i}},is:{active:function(){return C.hasClass(h.active)},animatingInward:function(){return I.transition("is inward")},animatingOutward:function(){return I.transition("is outward")},bubbledLabelClick:function(e){return te(e.target).is("select, input")&&0<C.closest("label").length},bubbledIconClick:function(e){return 0<te(e.target).closest(N).length},edge:function(){return!!ne.chrome&&!!ne.StyleMedia},chrome:function(){return!!ne.chrome&&!ne.StyleMedia},alreadySetup:function(){return C.is("select")&&C.parent(b.dropdown).data(w)!==ae&&0===C.prev().length},animating:function(e){return e?e.transition&&e.transition("is animating"):I.transition&&I.transition("is animating")},leftward:function(e){return(e||I).hasClass(h.leftward)},clearable:function(){return C.hasClass(h.clearable)||m.clearable},disabled:function(){return C.hasClass(h.disabled)},focused:function(){return ie.activeElement===C[0]},focusedOnSearch:function(){return ie.activeElement===S[0]},allFiltered:function(){return(M.is.multiple()||M.has.search())&&!(0==m.hideAdditions&&M.has.userSuggestion())&&!M.has.message()&&M.has.allResultsFiltered()},hidden:function(e){return!M.is.visible(e)},initialLoad:function(){return e},inObject:function(n,e){var i=!1;return te.each(e,function(e,t){if(t==n)return i=!0}),i},multiple:function(){return C.hasClass(h.multiple)},remote:function(){return m.apiSettings&&M.can.useAPI()},noApiCache:function(){return m.apiSettings&&!m.apiSettings.cache},single:function(){return!M.is.multiple()},selectMutation:function(e){var n=!1;return te.each(e,function(e,t){if(te(t.target).is("select, option, optgroup")||te(t.addedNodes).is("select"))return!(n=!0)}),n},search:function(){return C.hasClass(h.search)},searchSelection:function(){return M.has.search()&&1===S.parent(b.dropdown).length},selection:function(){return C.hasClass(h.selection)},userValue:function(e){return-1!==te.inArray(e,M.get.userValues())},upward:function(e){return(e||C).hasClass(h.upward)},visible:function(e){return(e||I).hasClass(h.visible)},verticallyScrollableContext:function(){var e=y.get(0)!==ne&&y.css("overflow-y");return"auto"==e||"scroll"==e},horizontallyScrollableContext:function(){var e=y.get(0)!==ne&&y.css("overflow-X");return"auto"==e||"scroll"==e}},can:{activate:function(e){return!!m.useLabels||(!M.has.maxSelections()||!(!M.has.maxSelections()||!e.hasClass(h.active)))},openDownward:function(e){var t,e=e||I,n=!0;return e.addClass(h.loading),t={context:{offset:y.get(0)===ne?{top:0,left:0}:y.offset(),scrollTop:y.scrollTop(),height:y.outerHeight()},menu:{offset:e.offset(),height:e.outerHeight()}},M.is.verticallyScrollableContext()&&(t.menu.offset.top+=t.context.scrollTop),M.has.subMenu(e)&&(t.menu.height+=e.find(b.menu).first().outerHeight()),n=(t={above:t.context.scrollTop<=t.menu.offset.top-t.context.offset.top-t.menu.height,below:t.context.scrollTop+t.context.height>=t.menu.offset.top-t.context.offset.top+t.menu.height}).below?(M.verbose("Dropdown can fit in context downward",t),!0):t.above?(M.verbose("Dropdown cannot fit below, opening upward",t),!1):(M.verbose("Dropdown cannot fit in either direction, favoring downward",t),!0),e.removeClass(h.loading),n},openRightward:function(e){var t,e=e||I,n=!0;return e.addClass(h.loading),t={context:{offset:y.get(0)===ne?{top:0,left:0}:y.offset(),scrollLeft:y.scrollLeft(),width:y.outerWidth()},menu:{offset:e.offset(),width:e.outerWidth()}},M.is.horizontallyScrollableContext()&&(t.menu.offset.left+=t.context.scrollLeft),(t=t.menu.offset.left-t.context.offset.left+t.menu.width>=t.context.scrollLeft+t.context.width)&&(M.verbose("Dropdown cannot fit in context rightward",t),n=!1),e.removeClass(h.loading),n},click:function(){return Y||"click"==m.on},extendSelect:function(){return m.allowAdditions||m.apiSettings},show:function(){return!M.is.disabled()&&(M.has.items()||M.has.message())},useAPI:function(){return te.fn.api!==ae}},animate:{show:function(e,t){var n=t||I,i=t?function(){}:function(){M.hideSubMenus(),M.hideOthers(),M.set.active()};e=te.isFunction(e)?e:function(){},M.verbose("Doing menu show animation",n),M.set.direction(t),t=m.transition.showMethod||M.get.transition(t),M.is.selection()&&M.set.scrollPosition(M.get.selectedItem(),!0),(M.is.hidden(n)||M.is.animating(n))&&("none"===t?(i(),n.transition({displayType:M.get.displayType()}).transition("show"),e.call(R)):te.fn.transition!==ae&&C.transition("is supported")?n.transition({animation:t+" in",debug:m.debug,verbose:m.verbose,duration:m.transition.showDuration||m.duration,queue:!0,onStart:i,displayType:M.get.displayType(),onComplete:function(){e.call(R)}}):M.error(u.noTransition,t))},hide:function(e,t){var n=t||I,i=t?function(){}:function(){M.can.click()&&M.unbind.intent(),M.remove.active()},t=m.transition.hideMethod||M.get.transition(t);e=te.isFunction(e)?e:function(){},(M.is.visible(n)||M.is.animating(n))&&(M.verbose("Doing menu hide animation",n),"none"===t?(i(),n.transition({displayType:M.get.displayType()}).transition("hide"),e.call(R)):te.fn.transition!==ae&&C.transition("is supported")?n.transition({animation:t+" out",duration:m.transition.hideDuration||m.duration,debug:m.debug,verbose:m.verbose,queue:!1,onStart:i,displayType:M.get.displayType(),onComplete:function(){e.call(R)}}):M.error(u.transition))}},hideAndClear:function(){M.remove.searchTerm(),M.has.maxSelections()||(M.has.search()?M.hide(function(){M.remove.filteredItem()}):M.hide())},delay:{show:function(){M.verbose("Delaying show event to ensure user intent"),clearTimeout(M.timer),M.timer=setTimeout(M.show,m.delay.show)},hide:function(){M.verbose("Delaying hide event to ensure user intent"),clearTimeout(M.timer),M.timer=setTimeout(M.hide,m.delay.hide)}},escape:{value:function(e){var t=Array.isArray(e),n="string"==typeof e,i=!n&&!t,n=n&&-1!==e.search(c.quote),a=[];return i||!n?e:(M.debug("Encoding quote values for use in select",e),t?(te.each(e,function(e,t){a.push(t.replace(c.quote,"&quot;"))}),a):e.replace(c.quote,"&quot;"))},string:function(e){return(e=String(e)).replace(c.escape,"\\$&")},htmlEntities:function(e){var t={"<":"&lt;",">":"&gt;",'"':"&quot;","'":"&#x27;","`":"&#x60;"};return/[&<>"'`]/.test(e)?(e=e.replace(/&(?![a-z0-9#]{1,6};)/,"&amp;")).replace(/[<>"'`]/g,function(e){return t[e]}):e}},setting:function(e,t){if(M.debug("Changing setting",e,t),te.isPlainObject(e))te.extend(!0,m,e);else{if(t===ae)return m[e];te.isPlainObject(m[e])?te.extend(!0,m[e],t):m[e]=t}},internal:function(e,t){if(te.isPlainObject(e))te.extend(!0,M,e);else{if(t===ae)return M[e];M[e]=t}},debug:function(){!m.silent&&m.debug&&(m.performance?M.performance.log(arguments):(M.debug=Function.prototype.bind.call(console.info,console,m.name+":"),M.debug.apply(console,arguments)))},verbose:function(){!m.silent&&m.verbose&&m.debug&&(m.performance?M.performance.log(arguments):(M.verbose=Function.prototype.bind.call(console.info,console,m.name+":"),M.verbose.apply(console,arguments)))},error:function(){m.silent||(M.error=Function.prototype.bind.call(console.error,console,m.name+":"),M.error.apply(console,arguments))},performance:{log:function(e){var t,n;m.performance&&(n=(t=(new Date).getTime())-(G||t),G=t,J.push({Name:e[0],Arguments:[].slice.call(e,1)||"",Element:R,"Execution Time":n})),clearTimeout(M.performance.timer),M.performance.timer=setTimeout(M.performance.display,500)},display:function(){var e=m.name+":",n=0;G=!1,clearTimeout(M.performance.timer),te.each(J,function(e,t){n+=t["Execution Time"]}),e+=" "+n+"ms",$&&(e+=" '"+$+"'"),(console.group!==ae||console.table!==ae)&&0<J.length&&(console.groupCollapsed(e),console.table?console.table(J):te.each(J,function(e,t){console.log(t.Name+": "+t["Execution Time"]+"ms")}),console.groupEnd()),J=[]}},invoke:function(i,e,t){var a,s,n,o=V;return e=e||ee,t=R||t,"string"==typeof i&&o!==ae&&(i=i.split(/[\. ]/),a=i.length-1,te.each(i,function(e,t){var n=e!=a?t+i[e+1].charAt(0).toUpperCase()+i[e+1].slice(1):i;if(te.isPlainObject(o[n])&&e!=a)o=o[n];else{if(o[n]!==ae)return s=o[n],!1;{if(!te.isPlainObject(o[t])||e==a)return o[t]!==ae?s=o[t]:M.error(u.method,i),!1;o=o[t]}}})),te.isFunction(s)?n=s.apply(t,e):s!==ae&&(n=s),Array.isArray(K)?K.push(n):K!==ae?K=[K,n]:n!==ae&&(K=n),s}};_?(V===ae&&M.initialize(),M.invoke(Z)):(V!==ae&&V.invoke("destroy"),M.initialize())}),K!==ae?K:W},te.fn.dropdown.settings={silent:!1,debug:!1,verbose:!1,performance:!0,on:"click",action:"activate",values:!1,clearable:!1,apiSettings:!1,selectOnKeydown:!0,minCharacters:0,filterRemoteData:!1,saveRemoteData:!0,throttle:200,context:ne,direction:"auto",keepOnScreen:!0,match:"both",fullTextSearch:"exact",ignoreDiacritics:!1,hideDividers:!1,placeholder:"auto",preserveHTML:!0,sortSelect:!1,forceSelection:!1,allowAdditions:!1,ignoreCase:!1,ignoreSearchCase:!0,hideAdditions:!0,maxSelections:!1,useLabels:!0,delimiter:",",showOnFocus:!1,allowReselection:!1,allowTab:!0,allowCategorySelection:!1,fireOnInit:!1,transition:"auto",duration:200,displayType:!1,glyphWidth:1.037,headerDivider:!0,collapseOnActionable:!0,label:{transition:"scale",duration:200,variation:!1},delay:{hide:300,show:200,search:20,touch:50},onChange:function(e,t,n){},onAdd:function(e,t,n){},onRemove:function(e,t,n){},onActionable:function(e,t,n){},onSearch:function(e){},onLabelSelect:function(e){},onLabelCreate:function(e,t){return te(this)},onLabelRemove:function(e){return!0},onNoResults:function(e){return!0},onShow:function(){},onHide:function(){},name:"Dropdown",namespace:"dropdown",message:{addResult:"Add <b>{term}</b>",count:"{count} selected",maxSelections:"Max {maxCount} selections",noResults:"No results found.",serverError:"There was an error contacting the server"},error:{action:"You called a dropdown action that was not defined",alreadySetup:"Once a select has been initialized behaviors must be called on the created ui dropdown",labels:"Allowing user additions currently requires the use of labels.",missingMultiple:"<select> requires multiple property to be set to correctly preserve multiple values",method:"The method you called is not defined.",noAPI:"The API module is required to load resources remotely",noStorage:"Saving remote data requires session storage",noTransition:"This module requires ui transitions <https://github.com/Semantic-Org/UI-Transition>",noNormalize:'"ignoreDiacritics" setting will be ignored. Browser does not support String().normalize(). You may consider including <https://cdn.jsdelivr.net/npm/unorm@1.4.1/lib/unorm.min.js> as a polyfill.'},regExp:{escape:/[-[\]{}()*+?.,\\^$|#\s:=@]/g,quote:/"/g},metadata:{defaultText:"defaultText",defaultValue:"defaultValue",placeholderText:"placeholder",text:"text",value:"value"},fields:{remoteValues:"results",values:"values",disabled:"disabled",name:"name",description:"description",descriptionVertical:"descriptionVertical",value:"value",text:"text",type:"type",image:"image",imageClass:"imageClass",icon:"icon",iconClass:"iconClass",class:"class",divider:"divider",actionable:"actionable"},keys:{backspace:8,deleteKey:46,enter:13,escape:27,pageUp:33,pageDown:34,leftArrow:37,upArrow:38,rightArrow:39,downArrow:40},selector:{addition:".addition",divider:".divider, .header",dropdown:".ui.dropdown",hidden:".hidden",icon:"> .dropdown.icon",input:'> input[type="hidden"], > select',item:".item",label:"> .label",remove:"> .label > .delete.icon",siblingLabel:".label",menu:".menu",message:".message",menuIcon:".dropdown.icon",search:"input.search, .menu > .search > input, .menu input.search",sizer:"> span.sizer",text:"> .text:not(.icon)",unselectable:".disabled, .filtered",clearIcon:"> .remove.icon"},className:{active:"active",addition:"addition",animating:"animating",description:"description",descriptionVertical:"vertical",disabled:"disabled",empty:"empty",dropdown:"ui dropdown",filtered:"filtered",hidden:"hidden transition",icon:"icon",image:"image",item:"item",label:"ui label",loading:"loading",menu:"menu",message:"message",multiple:"multiple",placeholder:"default",sizer:"sizer",search:"search",selected:"selected",selection:"selection",text:"text",upward:"upward",leftward:"left",visible:"visible",clearable:"clearable",noselection:"noselection",delete:"delete",header:"header",divider:"divider",groupIcon:"",unfilterable:"unfilterable",actionable:"actionable"}},te.fn.dropdown.settings.templates={deQuote:function(e,t){return String(e).replace(/"/g,t?"&quot;":"")},escape:function(e,t){if(t)return e;var n={"<":"&lt;",">":"&gt;",'"':"&quot;","'":"&#x27;","`":"&#x60;"};return/[&<>"'`]/.test(e)?(e=e.replace(/&(?![a-z0-9#]{1,6};)/,"&amp;")).replace(/[<>"'`]/g,function(e){return n[e]}):e},dropdown:function(e,t,n,i){var a=e.placeholder||!1,s="",o=te.fn.dropdown.settings.templates.escape;return s=(s=(s=(s+='<i class="dropdown icon"></i>')+(a?'<div class="default text">'+o(a,n)+"</div>":'<div class="text"></div>'))+('<div class="'+i.menu+'">'))+te.fn.dropdown.settings.templates.menu(e,t,n,i)+"</div>"},menu:function(e,c,u,d){var e=e[c.values]||[],v="",m=te.fn.dropdown.settings.templates.escape,h=te.fn.dropdown.settings.templates.deQuote;return te.each(e,function(e,t){var n,i,a,s,o,r=t[c.type]||"item",l=-1!==r.indexOf("menu");"item"===r||l?(n=t[c.text]?' data-text="'+h(t[c.text],!0)+'"':"",s=t[c.actionable]?d.actionable+" ":"",o=t[c.disabled]?d.disabled+" ":"",i=t[c.descriptionVertical]?d.descriptionVertical+" ":"",a=""!=m(t[c.description]||"",u),v+='<div class="'+s+o+i+(t[c.class]?h(t[c.class]):d.item)+'" data-value="'+h(t[c.value],!0)+'"'+n+">",l&&(v+='<i class="'+(-1!==r.indexOf("left")?"left":"")+' dropdown icon"></i>'),t[c.image]&&(v+='<img class="'+(t[c.imageClass]?h(t[c.imageClass]):d.image)+'" src="'+h(t[c.image])+'">'),t[c.icon]&&(v+='<i class="'+h(t[c.icon])+" "+(t[c.iconClass]?h(t[c.iconClass]):d.icon)+'"></i>'),a&&(v=(v+='<span class="'+d.description+'">'+m(t[c.description]||"",u)+"</span>")+(l?"":'<span class="'+d.text+'">')),l&&(v+='<span class="'+d.text+'">'),v+=m(t[c.name]||"",u),l?v=(v=v+'</span><div class="'+r+'">')+te.fn.dropdown.settings.templates.menu(t,c,u,d)+"</div>":a&&(v+="</span>"),v+="</div>"):"header"===r&&(s=m(t[c.name]||"",u),o=t[c.icon]?h(t[c.icon]):d.groupIcon,""===s&&""===o||(v+='<div class="'+(t[c.class]?h(t[c.class]):d.header)+'">',""!==o&&(v+='<i class="'+o+" "+(t[c.iconClass]?h(t[c.iconClass]):d.icon)+'"></i>'),v=v+s+"</div>"),t[c.divider]&&(v+='<div class="'+d.divider+'"></div>'))}),v},label:function(e,t,n,i){return(0,te.fn.dropdown.settings.templates.escape)(t,n)+'<i class="'+i.delete+' icon"></i>'},message:function(e){return e},addition:function(e){return e}}}(jQuery,window,document);
11
+ !function(_,ee,te,ne){"use strict";_.isFunction=_.isFunction||function(e){return"function"==typeof e&&"number"!=typeof e.nodeType},ee=void 0!==ee&&ee.Math==Math?ee:"undefined"!=typeof self&&self.Math==Math?self:Function("return this")(),_.fn.dropdown=function(B){var K,W=_(this),Q=_(te),$=W.selector||"",Y=(new Date).getTime(),X=[],G=B,J="string"==typeof G,Z=[].slice.call(arguments,1);return W.each(function(z){var v,e,t,n,i,a,s,o,r,m=_.isPlainObject(B)?_.extend(!0,{},_.fn.dropdown.settings,B):_.extend({},_.fn.dropdown.settings),h=m.className,f=m.message,l=m.fields,g=m.keys,p=m.metadata,F=m.namespace,c=m.regExp,b=m.selector,u=m.error,P=m.templates,d="."+F,w="module-"+F,C=_(this),y=_(m.context),x=C.find(b.text),S=C.find(b.search),A=C.find(b.sizer),T=C.find(b.input),H=C.find(b.icon),N=C.find(b.clearIcon),L=0<C.prev().find(b.text).length?C.prev().find(b.text):C.prev(),I=C.children(b.menu),k=I.find(b.item),D=m.hideDividers?k.parent().children(b.divider):_(),O=!1,j=!1,U=!1,q=!1,R=this,E=!1,V=C.data(w),M={initialize:function(){M.debug("Initializing dropdown",m),M.is.alreadySetup()?M.setup.reference():(m.ignoreDiacritics&&!String.prototype.normalize&&(m.ignoreDiacritics=!1,M.error(u.noNormalize,R)),M.setup.layout(),m.values&&(M.set.initialLoad(),M.change.values(m.values),M.remove.initialLoad()),M.refreshData(),M.save.defaults(),M.restore.selected(),M.create.id(),M.bind.events(),M.observeChanges(),M.instantiate())},instantiate:function(){M.verbose("Storing instance of dropdown",M),V=M,C.data(w,M)},destroy:function(){M.verbose("Destroying previous dropdown",C),M.remove.tabbable(),M.remove.active(),I.transition("stop all"),I.removeClass(h.visible).addClass(h.hidden),C.off(d).removeData(w),I.off(d),Q.off(i),M.disconnect.menuObserver(),M.disconnect.selectObserver(),M.disconnect.classObserver()},observeChanges:function(){"MutationObserver"in ee&&(s=new MutationObserver(M.event.select.mutation),o=new MutationObserver(M.event.menu.mutation),r=new MutationObserver(M.event.class.mutation),M.debug("Setting up mutation observer",s,o,r),M.observe.select(),M.observe.menu(),M.observe.class())},disconnect:{menuObserver:function(){o&&o.disconnect()},selectObserver:function(){s&&s.disconnect()},classObserver:function(){r&&r.disconnect()}},observe:{select:function(){M.has.input()&&s&&s.observe(C[0],{attributes:!0,childList:!0,subtree:!0})},menu:function(){M.has.menu()&&o&&o.observe(I[0],{childList:!0,subtree:!0})},class:function(){M.has.search()&&r&&r.observe(C[0],{attributes:!0})}},create:{id:function(){a=(Math.random().toString(16)+"000000000").slice(2,10),i="."+a,M.verbose("Creating unique id for element",a)},userChoice:function(e){var n,i;return!!(e=e||M.get.userValues())&&(e=Array.isArray(e)?e:[e],_.each(e,function(e,t){!1===M.get.item(t)&&(i=m.templates.addition(M.add.variables(f.addResult,t)),i=_("<div />").html(i).attr("data-"+p.value,t).attr("data-"+p.text,t).addClass(h.addition).addClass(h.item),m.hideAdditions&&i.addClass(h.hidden),n=n===ne?i:n.add(i),M.verbose("Creating user choices for value",t,i))}),n)},userLabels:function(e){var t=M.get.userValues();t&&(M.debug("Adding user labels",t),_.each(t,function(e,t){M.verbose("Adding custom user value"),M.add.label(t,t)}))},menu:function(){I=_("<div />").addClass(h.menu).appendTo(C)},sizer:function(){A=_("<span />").addClass(h.sizer).insertAfter(S)}},search:function(e){e=e!==ne?e:M.get.query(),M.verbose("Searching for query",e),!1===m.fireOnInit&&M.is.initialLoad()?M.verbose("Skipping callback on initial load",m.onSearch):M.has.minCharacters(e)&&!1!==m.onSearch.call(R,e)?M.filter(e):M.hide(null,!0)},select:{firstUnfiltered:function(){M.verbose("Selecting first non-filtered element"),M.remove.selectedItem(),k.not(b.unselectable).not(b.addition+b.hidden).eq(0).addClass(h.selected)},nextAvailable:function(e){var t=(e=e.eq(0)).nextAll(b.item).not(b.unselectable).eq(0),e=e.prevAll(b.item).not(b.unselectable).eq(0);0<t.length?(M.verbose("Moving selection to",t),t.addClass(h.selected)):(M.verbose("Moving selection to",e),e.addClass(h.selected))}},setup:{api:function(){var e={debug:m.debug,urlData:{value:M.get.value(),query:M.get.query()},on:!1};M.verbose("First request, initializing API"),C.api(e)},layout:function(){C.is("select")&&(M.setup.select(),M.setup.returnedObject()),M.has.menu()||M.create.menu(),M.is.clearable()&&!M.has.clearItem()&&(M.verbose("Adding clear icon"),N=_("<i />").addClass("remove icon").insertBefore(x)),M.is.search()&&!M.has.search()&&(M.verbose("Adding search input"),S=_("<input />").addClass(h.search).prop("autocomplete",M.is.chrome()?"fomantic-search":"off").insertBefore(x)),M.is.multiple()&&M.is.searchSelection()&&!M.has.sizer()&&M.create.sizer(),m.allowTab&&M.set.tabbable()},select:function(){var e=M.get.selectValues();M.debug("Dropdown initialized on a select",e),0<(T=C.is("select")?C:T).parent(b.dropdown).length?(M.debug("UI dropdown already exists. Creating dropdown menu only"),C=T.closest(b.dropdown),M.has.menu()||M.create.menu(),I=C.children(b.menu),M.setup.menu(e)):(M.debug("Creating entire dropdown from select"),C=_("<div />").attr("class",T.attr("class")).addClass(h.selection).addClass(h.dropdown).html(P.dropdown(e,l,m.preserveHTML,m.className)).insertBefore(T),T.hasClass(h.multiple)&&!1===T.prop("multiple")&&(M.error(u.missingMultiple),T.prop("multiple",!0)),T.is("[multiple]")&&M.set.multiple(),T.prop("disabled")&&(M.debug("Disabling dropdown"),C.addClass(h.disabled)),T.is("[required]")&&(m.forceSelection=!0),T.removeAttr("required").removeAttr("class").detach().prependTo(C)),M.refresh()},menu:function(e){I.html(P.menu(e,l,m.preserveHTML,m.className)),k=I.find(b.item),D=m.hideDividers?k.parent().children(b.divider):_()},reference:function(){M.debug("Dropdown behavior was called on select, replacing with closest dropdown"),C=C.parent(b.dropdown),V=C.data(w),R=C.get(0),M.refresh(),M.setup.returnedObject()},returnedObject:function(){var e=W.slice(0,z),t=W.slice(z+1);W=e.add(C).add(t)}},refresh:function(){M.refreshSelectors(),M.refreshData()},refreshItems:function(){k=I.find(b.item),D=m.hideDividers?k.parent().children(b.divider):_()},refreshSelectors:function(){M.verbose("Refreshing selector cache"),x=C.find(b.text),S=C.find(b.search),T=C.find(b.input),H=C.find(b.icon),L=0<C.prev().find(b.text).length?C.prev().find(b.text):C.prev(),I=C.children(b.menu),k=I.find(b.item),D=m.hideDividers?k.parent().children(b.divider):_()},refreshData:function(){M.verbose("Refreshing cached metadata"),k.removeData(p.text).removeData(p.value)},clearData:function(){M.verbose("Clearing metadata"),k.removeData(p.text).removeData(p.value),C.removeData(p.defaultText).removeData(p.defaultValue).removeData(p.placeholderText)},clearItems:function(){I.empty(),M.refreshItems()},toggle:function(){M.verbose("Toggling menu visibility"),M.is.active()?M.hide():M.show()},show:function(e,t){if(e=_.isFunction(e)?e:function(){},(E||q)&&M.is.remote()&&M.is.noApiCache()&&M.clearItems(),!M.can.show()&&M.is.remote()&&(M.debug("No API results retrieved, searching before show"),M.queryRemote(M.get.query(),M.show,[e,t])),M.can.show()&&!M.is.active()){if(M.debug("Showing dropdown"),!M.has.message()||M.has.maxSelections()||M.has.allResultsFiltered()||M.remove.message(),M.is.allFiltered())return!0;!1!==m.onShow.call(R)&&M.animate.show(function(){M.bind.intent(),M.has.search()&&!t&&M.focusSearch(),M.set.visible(),e.call(R)})}},hide:function(e,t){var n;e=_.isFunction(e)?e:function(){},M.is.active()&&!M.is.animatingOutward()?(M.debug("Hiding dropdown"),!1!==m.onHide.call(R)&&(M.animate.hide(function(){M.remove.visible(),M.is.focusedOnSearch()&&!0!==t&&S.blur(),e.call(R)}),0<(n=C.find(b.menu)).length&&(M.verbose("Hiding sub-menu",n),n.each(function(){M.animate.hide(!1,_(this))})))):M.unbind.intent(),E=q=!1},hideOthers:function(){M.verbose("Finding other dropdowns to hide"),W.not(C).has(b.menu+"."+h.visible).dropdown("hide")},hideMenu:function(){M.verbose("Hiding menu instantaneously"),M.remove.active(),M.remove.visible(),I.transition("hide")},hideSubMenus:function(){var e=I.children(b.item).find(b.menu);M.verbose("Hiding sub menus",e),e.transition("hide")},bind:{events:function(){M.bind.keyboardEvents(),M.bind.inputEvents(),M.bind.mouseEvents()},keyboardEvents:function(){M.verbose("Binding keyboard events"),C.on("keydown"+d,M.event.keydown),M.has.search()&&C.on(M.get.inputEvent()+d,b.search,M.event.input),M.is.multiple()&&Q.on("keydown"+i,M.event.document.keydown)},inputEvents:function(){M.verbose("Binding input change events"),C.on("change"+d,b.input,M.event.change),M.is.multiple()&&M.is.searchSelection()&&C.on("paste"+d,b.search,M.event.paste)},mouseEvents:function(){M.verbose("Binding mouse events"),M.is.multiple()&&C.on("click"+d,b.label,M.event.label.click).on("click"+d,b.remove,M.event.remove.click),M.is.searchSelection()?(C.on("mousedown"+d,M.event.mousedown).on("mouseup"+d,M.event.mouseup).on("mousedown"+d,b.menu,M.event.menu.mousedown).on("mouseup"+d,b.menu,M.event.menu.mouseup).on("click"+d,b.icon,M.event.icon.click).on("click"+d,b.clearIcon,M.event.clearIcon.click).on("focus"+d,b.search,M.event.search.focus).on("click"+d,b.search,M.event.search.focus).on("blur"+d,b.search,M.event.search.blur).on("click"+d,b.text,M.event.text.focus),M.is.multiple()&&C.on("click"+d,M.event.click).on("click"+d,M.event.search.focus)):("click"==m.on?C.on("click"+d,b.icon,M.event.icon.click).on("click"+d,M.event.test.toggle):"hover"==m.on?C.on("mouseenter"+d,M.delay.show).on("mouseleave"+d,M.delay.hide).on("touchstart"+d,M.event.test.toggle).on("touchstart"+d,b.icon,M.event.icon.click):C.on(m.on+d,M.toggle),C.on("mousedown"+d,M.event.mousedown).on("mouseup"+d,M.event.mouseup).on("focus"+d,M.event.focus).on("click"+d,b.clearIcon,M.event.clearIcon.click),M.has.menuSearch()?C.on("blur"+d,b.search,M.event.search.blur):C.on("blur"+d,M.event.blur)),I.on("mouseenter"+d,b.item,M.event.item.mouseenter).on("touchstart"+d,b.item,M.event.item.mouseenter).on("mouseleave"+d,b.item,M.event.item.mouseleave).on("click"+d,b.item,M.event.item.click)},intent:function(){M.verbose("Binding hide intent event to document"),Q.on("click"+i,M.event.test.hide)}},unbind:{intent:function(){M.verbose("Removing hide intent event from document"),Q.off("click"+i)}},filter:function(e){function t(){M.is.multiple()&&M.filterActive(),(e||!e&&0==M.get.activeItem().length)&&M.select.firstUnfiltered(),M.has.allResultsFiltered()?m.onNoResults.call(R,n)?m.allowAdditions?m.hideAdditions&&(M.verbose("User addition with no menu, setting empty style"),M.set.empty(),M.hideMenu()):(M.verbose("All items filtered, showing message",n),M.add.message(f.noResults)):(M.verbose("All items filtered, hiding dropdown",n),M.hideMenu()):(M.remove.empty(),M.remove.message()),m.allowAdditions&&M.add.userSuggestion(M.escape.htmlEntities(e)),M.is.searchSelection()&&M.can.show()&&M.is.focusedOnSearch()&&M.show()}var n=e!==ne?e:M.get.query();m.useLabels&&M.has.maxSelections()||(m.apiSettings?M.can.useAPI()?M.queryRemote(n,function(){m.filterRemoteData&&M.filterItems(n);var e=T.val();Array.isArray(e)||(e=e&&""!==e?e.split(m.delimiter):[]),M.is.multiple()&&_.each(e,function(e,t){k.filter('[data-value="'+t+'"]').addClass(h.filtered)}),M.focusSearch(!0),t()}):M.error(u.noAPI):(M.filterItems(n),t()))},queryRemote:function(e,n,i){Array.isArray(i)||(i=[i]);e={errorDuration:!1,cache:"local",throttle:m.throttle,urlData:{query:e},onError:function(){M.add.message(f.serverError),E=q=!1,n.apply(null,i)},onFailure:function(){M.add.message(f.serverError),E=q=!1,n.apply(null,i)},onSuccess:function(e){var e=e[l.remoteValues],t=(Array.isArray(e)||(e=[]),M.remove.message(),{});t[l.values]=e,M.setup.menu(t),0!==e.length||m.allowAdditions?""!==(t=M.is.multiple()?M.get.values():M.get.value())&&(M.verbose("Value(s) present after click icon, select value(s) in items"),M.set.selected(t,null,!0,!0)):M.add.message(f.noResults),E=q=!1,n.apply(null,i)}};C.api("get request")||M.setup.api(),e=_.extend(!0,{},e,m.apiSettings),C.api("setting",e).api("query")},filterItems:function(e){var n=M.remove.diacritics(e!==ne?e:M.get.query()),i=null,e=M.escape.string(n),t=(m.ignoreSearchCase?"i":"")+"gm",a=new RegExp("^"+e,t);M.has.query()&&(i=[],M.verbose("Searching for matching values",n),k.each(function(){var e,t=_(this);if(t.hasClass(h.unfilterable))return i.push(this),!0;if("both"===m.match||"text"===m.match){if(-1!==(e=M.remove.diacritics(String(M.get.choiceText(t,!1)))).search(a))return i.push(this),!0;if("exact"===m.fullTextSearch&&M.exactSearch(n,e))return i.push(this),!0;if(!0===m.fullTextSearch&&M.fuzzySearch(n,e))return i.push(this),!0}return("both"===m.match||"value"===m.match)&&(-1!==(t=M.remove.diacritics(String(M.get.choiceValue(t,e)))).search(a)||"exact"===m.fullTextSearch&&M.exactSearch(n,t)||!0===m.fullTextSearch&&M.fuzzySearch(n,t))?(i.push(this),!0):void 0})),M.debug("Showing only matched items",n),M.remove.filteredItem(),i&&k.not(i).addClass(h.filtered),M.has.query()?!0===m.hideDividers?D.addClass(h.hidden):"empty"===m.hideDividers&&D.removeClass(h.hidden).filter(function(){var e=_(this).nextUntil(b.item);return 0===(e.length?e:_(this)).nextUntil(b.divider).filter(b.item+":not(."+h.filtered+")").length}).addClass(h.hidden):D.removeClass(h.hidden)},fuzzySearch:function(e,t){var n=t.length,i=e.length;if(e=m.ignoreSearchCase?e.toLowerCase():e,t=m.ignoreSearchCase?t.toLowerCase():t,n<i)return!1;if(i===n)return e===t;e:for(var a=0,s=0;a<i;a++){for(var o=e.charCodeAt(a);s<n;)if(t.charCodeAt(s++)===o)continue e;return!1}return!0},exactSearch:function(e,t){return e=m.ignoreSearchCase?e.toLowerCase():e,-1<(t=m.ignoreSearchCase?t.toLowerCase():t).indexOf(e)},filterActive:function(){m.useLabels&&k.filter("."+h.active).addClass(h.filtered)},focusSearch:function(e){M.has.search()&&!M.is.focusedOnSearch()&&(e?(C.off("focus"+d,b.search),S.focus(),C.on("focus"+d,b.search,M.event.search.focus)):S.focus())},blurSearch:function(){M.has.search()&&S.blur()},forceSelection:function(){var e=k.not(h.filtered).filter("."+h.selected).eq(0),t=k.not(h.filtered).filter("."+h.active).eq(0),e=0<e.length?e:t,t=0<e.length;m.allowAdditions||t&&!M.is.multiple()?(M.debug("Forcing partial selection to selected item",e),M.event.item.click.call(e,{},!0)):M.remove.searchTerm()},change:{values:function(e){m.allowAdditions||M.clear(),M.debug("Creating dropdown with specified values",e);var t={};t[l.values]=e,M.setup.menu(t),_.each(e,function(e,t){if(!0===t.selected&&(M.debug("Setting initial selection to",t[l.value]),M.set.selected(t[l.value]),!M.is.multiple()))return!1}),M.has.selectInput()&&(M.disconnect.selectObserver(),T.html(""),T.append("<option disabled selected value></option>"),_.each(e,function(e,t){var n=m.templates.deQuote(t[l.value]),i=m.templates.escape(t[l.name]||"",m.preserveHTML);T.append('<option value="'+n+'"'+(!0===t.selected?" selected":"")+">"+i+"</option>")}),M.observe.select())}},event:{paste:function(e){(e.originalEvent.clipboardData||ee.clipboardData).getData("text").split(m.delimiter).forEach(function(e){M.set.selected(M.escape.htmlEntities(e.trim()),null,!0,!0)}),e.preventDefault()},change:function(){U||(M.debug("Input changed, updating selection"),M.set.selected())},focus:function(){m.showOnFocus&&!O&&M.is.hidden()&&!t&&(E=!0,M.show())},blur:function(e){t=te.activeElement===this,O||t||(M.remove.activeLabel(),M.hide())},mousedown:function(){M.is.searchSelection()?n=!0:O=!0},mouseup:function(){M.is.searchSelection()?n=!1:O=!1},click:function(e){_(e.target).is(C)&&(M.is.focusedOnSearch()?M.show():M.focusSearch())},search:{focus:function(e){O=!0,M.is.multiple()&&M.remove.activeLabel(),E||M.is.active()||!(m.showOnFocus||"focus"!==e.type&&"focusin"!==e.type)||(E=!0,M.search())},blur:function(e){t=te.activeElement===this,!M.is.searchSelection()||n||j||t||(m.forceSelection?M.forceSelection():m.allowAdditions||M.remove.searchTerm(),M.hide()),n=!1}},clearIcon:{click:function(e){M.clear(),M.is.searchSelection()&&M.remove.searchTerm(),M.hide(),e.stopPropagation()}},icon:{click:function(e){q=!0,M.has.search()?M.is.active()?M.blurSearch():m.showOnFocus?M.focusSearch():M.toggle():M.toggle(),e.stopPropagation()}},text:{focus:function(e){O=!0,M.focusSearch()}},input:function(e){(M.is.multiple()||M.is.searchSelection())&&M.set.filtered(),clearTimeout(M.timer),M.timer=setTimeout(M.search,m.delay.search)},label:{click:function(e){var t=_(this),n=C.find(b.label),i=n.filter("."+h.active),a=t.nextAll("."+h.active),s=t.prevAll("."+h.active),a=(0<a.length?t.nextUntil(a):t.prevUntil(s)).add(i).add(t);e.shiftKey?(i.removeClass(h.active),a.addClass(h.active)):e.ctrlKey?t.toggleClass(h.active):(i.removeClass(h.active),t.addClass(h.active)),m.onLabelSelect.apply(this,n.filter("."+h.active)),e.stopPropagation()}},remove:{click:function(e){var t=_(this).parent();t.hasClass(h.active)?M.remove.activeLabels():M.remove.activeLabels(t),e.stopPropagation()}},test:{toggle:function(e){var t=M.is.multiple()?M.show:M.toggle;M.is.bubbledLabelClick(e)||M.is.bubbledIconClick(e)||(M.is.multiple()&&(!M.is.multiple()||M.is.active())||(E=!0),M.determine.eventOnElement(e,t)&&"touchstart"!==e.type&&e.preventDefault())},hide:function(e){M.determine.eventInModule(e,M.hide)&&R.id&&_(e.target).attr("for")===R.id&&e.preventDefault()}},class:{mutation:function(e){e.forEach(function(e){"class"===e.attributeName&&M.check.disabled()})}},select:{mutation:function(e){M.is.selectMutation(e)&&(M.debug("<select> modified, recreating menu"),M.disconnect.selectObserver(),M.refresh(),M.setup.select(),M.set.selected(),M.observe.select())}},menu:{mutation:function(e){var e=e[0],t=e.addedNodes?_(e.addedNodes[0]):_(!1),e=e.removedNodes?_(e.removedNodes[0]):_(!1),t=t.add(e),e=t.is(b.addition)||0<t.closest(b.addition).length,t=t.is(b.message)||0<t.closest(b.message).length;e||t?(M.debug("Updating item selector cache"),M.refreshItems()):(M.debug("Menu modified, updating selector cache"),M.refresh())},mousedown:function(){j=!0},mouseup:function(){j=!1}},item:{mouseenter:function(e){var t=_(e.target),n=_(this),i=n.children(b.menu),a=n.siblings(b.item).children(b.menu),n=0<i.length;0<i.find(t).length||!n||(clearTimeout(M.itemTimer),M.itemTimer=setTimeout(function(){M.verbose("Showing sub-menu",i),_.each(a,function(){M.animate.hide(!1,_(this))}),M.animate.show(!1,i)},m.delay.show),e.preventDefault())},mouseleave:function(e){var t=_(this).find(b.menu);0<t.length&&(clearTimeout(M.itemTimer),M.itemTimer=setTimeout(function(){M.verbose("Hiding sub-menu",t),t.each(function(){M.animate.hide(!1,_(this))})},m.delay.hide))},click:function(e,t){var n=_(this),e=_(e?e.target:""),i=n.find(b.menu),a=M.get.choiceText(n),s=M.get.choiceValue(n,a),o=0<i.length,i=0<i.find(e).length;"input"!==te.activeElement.tagName.toLowerCase()&&_(te.activeElement).blur(),i||o&&!m.allowCategorySelection||(M.is.searchSelection()&&(m.allowAdditions&&M.remove.userAddition(),M.remove.searchTerm(),M.is.focusedOnSearch()||!0===t||M.focusSearch(!0)),m.useLabels||(M.remove.filteredItem(),M.set.scrollPosition(n)),M.determine.selectAction.call(this,a,s))}},document:{keydown:function(e){var t,n,i,a,s,o,r,l,c,u,d,v=e.which;M.is.inObject(v,g)&&((n=(t=C.find(b.label)).filter("."+h.active)).data(p.value),o=t.index(n),r=t.length,i=0<n.length,a=1<n.length,s=0===o,o=o+1==r,r=M.is.searchSelection(),l=M.is.focusedOnSearch(),c=M.is.focused(),d=(u=l&&0===M.get.caretPosition(!1))&&0!==M.get.caretPosition(!0),r&&!i&&!l||(v==g.leftArrow?!c&&!u||i?i&&(e.shiftKey?M.verbose("Adding previous label to selection"):(M.verbose("Selecting previous label"),t.removeClass(h.active)),s&&!a?n.addClass(h.active):n.prev(b.siblingLabel).addClass(h.active).end(),e.preventDefault()):(M.verbose("Selecting previous label"),t.last().addClass(h.active)):v==g.rightArrow?(c&&!i&&t.first().addClass(h.active),i&&(e.shiftKey?M.verbose("Adding next label to selection"):(M.verbose("Selecting next label"),t.removeClass(h.active)),o?r?l?t.removeClass(h.active):M.focusSearch():(a?n.next(b.siblingLabel):n).addClass(h.active):n.next(b.siblingLabel).addClass(h.active),e.preventDefault())):v==g.deleteKey||v==g.backspace?i?(M.verbose("Removing active labels"),o&&r&&!l&&M.focusSearch(),n.last().next(b.siblingLabel).addClass(h.active),M.remove.activeLabels(n),e.preventDefault()):!u||d||i||v!=g.backspace||(M.verbose("Removing last label on input backspace"),n=t.last().addClass(h.active),M.remove.activeLabels(n)):n.removeClass(h.active)))}},keydown:function(e){var t=e.which;if(M.is.inObject(t,g)||e.key===m.delimiter){var n,i=k.not(b.unselectable).filter("."+h.selected).eq(0),a=I.children("."+h.active).eq(0),i=0<i.length?i:a,a=0<i.length?i.siblings(":not(."+h.filtered+")").addBack():I.children(":not(."+h.filtered+")"),s=i.children(b.menu),o=i.closest(b.menu),r=o.hasClass(h.visible)||o.hasClass(h.animating)||0<o.parent(b.menu).length,l=0<s.length,c=0<i.length,u=0<i.not(b.unselectable).length,d=e.key===m.delimiter&&M.is.multiple();if(m.allowAdditions&&m.hideAdditions&&(t==g.enter||d)&&u&&(M.verbose("Selecting item from keyboard shortcut",i),M.event.item.click.call(i,e),M.is.searchSelection()&&M.remove.searchTerm(),M.is.multiple()&&e.preventDefault()),M.is.visible()){if(t!=g.enter&&!d||(t==g.enter&&c&&l&&!m.allowCategorySelection?(M.verbose("Pressed enter on unselectable category, opening sub menu"),t=g.rightArrow):u&&(M.verbose("Selecting item from keyboard shortcut",i),M.event.item.click.call(i,e),M.is.searchSelection()&&(M.remove.searchTerm(),M.is.multiple()&&S.focus())),e.preventDefault()),c&&(t==g.leftArrow&&o[0]!==I[0]&&(M.verbose("Left key pressed, closing sub-menu"),M.animate.hide(!1,o),i.removeClass(h.selected),o.closest(b.item).addClass(h.selected),e.preventDefault()),t==g.rightArrow&&l&&(M.verbose("Right key pressed, opening sub-menu"),M.animate.show(!1,s),i.removeClass(h.selected),s.find(b.item).eq(0).addClass(h.selected),e.preventDefault())),t==g.upArrow){if(n=(c&&r?i.prevAll(b.item+":not("+b.unselectable+")"):k).eq(0),a.index(n)<0)return M.verbose("Up key pressed but reached top of current menu"),void e.preventDefault();M.verbose("Up key pressed, changing active item"),i.removeClass(h.selected),n.addClass(h.selected),M.set.scrollPosition(n),m.selectOnKeydown&&M.is.single()&&!n.hasClass(h.actionable)&&M.set.selectedItem(n),e.preventDefault()}if(t==g.downArrow){if(0===(n=(c&&r?i.nextAll(b.item+":not("+b.unselectable+")"):k).eq(0)).length)return M.verbose("Down key pressed but reached bottom of current menu"),void e.preventDefault();M.verbose("Down key pressed, changing active item"),k.removeClass(h.selected),n.addClass(h.selected),M.set.scrollPosition(n),m.selectOnKeydown&&M.is.single()&&!n.hasClass(h.actionable)&&M.set.selectedItem(n),e.preventDefault()}t==g.pageUp&&(M.scrollPage("up"),e.preventDefault()),t==g.pageDown&&(M.scrollPage("down"),e.preventDefault()),t==g.escape&&(M.verbose("Escape key pressed, closing dropdown"),M.hide())}else d&&e.preventDefault(),t!=g.downArrow||M.is.visible()||(M.verbose("Down key pressed, showing dropdown"),M.show(),e.preventDefault())}else M.has.search()||M.set.selectedLetter(String.fromCharCode(t))}},trigger:{change:function(){var e,t=T[0];t&&(e=te.createEvent("HTMLEvents"),M.verbose("Triggering native change event"),e.initEvent("change",!0,!1),t.dispatchEvent(e))}},determine:{selectAction:function(e,t){v=!0,M.verbose("Determining action",m.action),_.isFunction(M.action[m.action])?(M.verbose("Triggering preset action",m.action,e,t),M.action[m.action].call(R,e,t,this)):_.isFunction(m.action)?(M.verbose("Triggering user action",m.action,e,t),m.action.call(R,e,t,this)):M.error(u.action,m.action),v=!1},eventInModule:function(e,t){var e=_(e.target),n=0<e.closest(te.documentElement).length,e=0<e.closest(C).length;return t=_.isFunction(t)?t:function(){},n&&!e?(M.verbose("Triggering event",t),t(),!0):(M.verbose("Event occurred in dropdown, canceling callback"),!1)},eventOnElement:function(e,t){var n=_(e.target),i=n.closest(b.siblingLabel),e=te.body.contains(e.target),i=0===C.find(i).length||!(M.is.multiple()&&m.useLabels),n=0===n.closest(I).length;return t=_.isFunction(t)?t:function(){},e&&i&&n?(M.verbose("Triggering event",t),t(),!0):(M.verbose("Event occurred in dropdown menu, canceling callback"),!1)}},action:{nothing:function(){},activate:function(e,t,n){t=t!==ne?t:e,M.can.activate(_(n))&&(M.set.selected(t,_(n)),M.is.multiple()||!m.collapseOnActionable&&_(n).hasClass(h.actionable)||M.hideAndClear())},select:function(e,t,n){t=t!==ne?t:e,M.can.activate(_(n))&&(M.set.value(t,e,_(n)),M.is.multiple()||!m.collapseOnActionable&&_(n).hasClass(h.actionable)||M.hideAndClear())},combo:function(e,t,n){M.set.selected(t=t!==ne?t:e,_(n)),M.hideAndClear()},hide:function(e,t,n){M.set.value(t,e,_(n)),M.hideAndClear()}},get:{id:function(){return a},defaultText:function(){return C.data(p.defaultText)},defaultValue:function(){return C.data(p.defaultValue)},placeholderText:function(){return"auto"!=m.placeholder&&"string"==typeof m.placeholder?m.placeholder:C.data(p.placeholderText)||""},text:function(){return m.preserveHTML?x.html():x.text()},query:function(){return String(S.val()).trim()},searchWidth:function(e){return e=e!==ne?e:S.val(),A.text(e),Math.ceil(A.width()+(M.is.edge()?3:1))},selectionCount:function(){var e=M.get.values();return M.is.multiple()?Array.isArray(e)?e.length:0:""!==M.get.value()?1:0},transition:function(e){return"auto"===m.transition?M.is.upward(e)?"slide up":"slide down":m.transition},userValues:function(){var e=M.get.values();return!!e&&(e=Array.isArray(e)?e:[e],_.grep(e,function(e){return!1===M.get.item(e)}))},uniqueArray:function(n){return _.grep(n,function(e,t){return _.inArray(e,n)===t})},caretPosition:function(e){var t,n,i=S.get(0);return e&&"selectionEnd"in i?i.selectionEnd:!e&&"selectionStart"in i?i.selectionStart:te.selection?(i.focus(),n=(t=te.selection.createRange()).text.length,e?n:(t.moveStart("character",-i.value.length),t.text.length-n)):void 0},value:function(){var e=0<T.length?T.val():C.data(p.value),t=Array.isArray(e)&&1===e.length&&""===e[0];return e===ne||t?"":e},values:function(e){var t=M.get.value();return""===t?"":!M.has.selectInput()&&M.is.multiple()?"string"==typeof t?(e?t:M.escape.htmlEntities(t)).split(m.delimiter):"":t},remoteValues:function(){var e=M.get.values(),i=!1;return e&&_.each(e="string"==typeof e?[e]:e,function(e,t){var n=M.read.remoteData(t);M.verbose("Restoring value from session data",n,t),n&&((i=i||{})[t]=n)}),i},choiceText:function(e,t){if(t=t!==ne?t:m.preserveHTML,e)return 0<e.find(b.menu).length&&(M.verbose("Retrieving text of element with sub-menu"),(e=e.clone()).find(b.menu).remove(),e.find(b.menuIcon).remove()),e.data(p.text)!==ne?e.data(p.text):t?e.html()&&e.html().trim():e.text()&&e.text().trim()},choiceValue:function(e,t){return t=t||M.get.choiceText(e),!!e&&(e.data(p.value)!==ne?String(e.data(p.value)):"string"==typeof t?String(m.ignoreSearchCase?t.toLowerCase():t).trim():String(t))},inputEvent:function(){var e=S[0];return!!e&&(e.oninput!==ne?"input":e.onpropertychange!==ne?"propertychange":"keyup")},selectValues:function(){var s={},o=[],r=[];return C.find("option").each(function(){var e=_(this),t=e.html(),n=e.attr("disabled"),i=e.attr("value")!==ne?e.attr("value"):t,a=e.data(p.text)!==ne?e.data(p.text):t,e=e.parent("optgroup");"auto"===m.placeholder&&""===i?s.placeholder=t:(e.length===o.length&&e[0]===o[0]||(r.push({type:"header",divider:m.headerDivider,name:e.attr("label")||""}),o=e),r.push({name:t,value:i,text:a,disabled:n}))}),m.placeholder&&"auto"!==m.placeholder&&(M.debug("Setting placeholder value to",m.placeholder),s.placeholder=m.placeholder),m.sortSelect?(!0===m.sortSelect?r.sort(function(e,t){return e.name.localeCompare(t.name)}):"natural"===m.sortSelect?r.sort(function(e,t){return e.name.toLowerCase().localeCompare(t.name.toLowerCase())}):_.isFunction(m.sortSelect)&&r.sort(m.sortSelect),s[l.values]=r,M.debug("Retrieved and sorted values from select",s)):(s[l.values]=r,M.debug("Retrieved values from select",s)),s},activeItem:function(){return k.filter("."+h.active)},selectedItem:function(){var e=k.not(b.unselectable).filter("."+h.selected);return 0<e.length?e:k.eq(0)},itemWithAdditions:function(e){var t=M.get.item(e),e=M.create.userChoice(e);return t=e&&0<e.length?0<t.length?t.add(e):e:t},item:function(n,i){var e,a,s=!1;return n=n!==ne?n:M.get.values()!==ne?M.get.values():M.get.text(),e=(a=M.is.multiple()&&Array.isArray(n))?0<n.length:n!==ne&&null!==n,i=""===n||!1===n||!0===n||(i||!1),e&&k.each(function(){var e=_(this),t=M.get.choiceText(e),t=M.get.choiceValue(e,t);if(null!==t&&t!==ne)if(a)-1!==_.inArray(M.escape.htmlEntities(String(t)),n.map(function(e){return String(e)}))&&(s=s?s.add(e):e);else if(i){if(M.verbose("Ambiguous dropdown value using strict type check",e,n),t===n)return s=e,!0}else if(m.ignoreCase&&(t=t.toLowerCase(),n=n.toLowerCase()),M.escape.htmlEntities(String(t))===M.escape.htmlEntities(String(n)))return M.verbose("Found select item by value",t,n),s=e,!0}),s},displayType:function(){return C.hasClass("column")?"flex":m.displayType}},check:{maxSelections:function(e){return!m.maxSelections||((e=e!==ne?e:M.get.selectionCount())>=m.maxSelections?(M.debug("Maximum selection count reached"),m.useLabels&&(k.addClass(h.filtered),M.add.message(f.maxSelections)),!0):(M.verbose("No longer at maximum selection count"),M.remove.message(),M.remove.filteredItem(),M.is.searchSelection()&&M.filterItems(),!1))},disabled:function(){S.attr("tabindex",M.is.disabled()?-1:0)}},restore:{defaults:function(e){M.clear(e),M.restore.defaultText(),M.restore.defaultValue()},defaultText:function(){var e=M.get.defaultText();e===M.get.placeholderText?(M.debug("Restoring default placeholder text",e),M.set.placeholderText(e)):(M.debug("Restoring default text",e),M.set.text(e))},placeholderText:function(){M.set.placeholderText()},defaultValue:function(){var e=M.get.defaultValue();e!==ne&&(M.debug("Restoring default value",e),""!==e?(M.set.value(e),M.set.selected()):(M.remove.activeItem(),M.remove.selectedItem()))},labels:function(){m.allowAdditions&&(m.useLabels||(M.error(u.labels),m.useLabels=!0),M.debug("Restoring selected values"),M.create.userLabels()),M.check.maxSelections()},selected:function(){M.restore.values(),M.is.multiple()?(M.debug("Restoring previously selected values and labels"),M.restore.labels()):M.debug("Restoring previously selected values")},values:function(){M.set.initialLoad(),m.apiSettings&&m.saveRemoteData&&M.get.remoteValues()?M.restore.remoteValues():M.set.selected();var e=M.get.value();!e||""===e||Array.isArray(e)&&0===e.length?T.addClass(h.noselection):T.removeClass(h.noselection),M.remove.initialLoad()},remoteValues:function(){var e=M.get.remoteValues();M.debug("Recreating selected from session data",e),e&&(M.is.single()?_.each(e,function(e,t){M.set.text(t)}):_.each(e,function(e,t){M.add.label(e,t)}))}},read:{remoteData:function(e){if(ee.Storage!==ne)return(e=sessionStorage.getItem(e+i))!==ne&&e;M.error(u.noStorage)}},save:{defaults:function(){M.save.defaultText(),M.save.placeholderText(),M.save.defaultValue()},defaultValue:function(){var e=M.get.value();M.verbose("Saving default value as",e),C.data(p.defaultValue,e)},defaultText:function(){var e=M.get.text();M.verbose("Saving default text as",e),C.data(p.defaultText,e)},placeholderText:function(){var e;!1!==m.placeholder&&x.hasClass(h.placeholder)&&(e=M.get.text(),M.verbose("Saving placeholder text as",e),C.data(p.placeholderText,e))},remoteData:function(e,t){ee.Storage===ne?M.error(u.noStorage):(M.verbose("Saving remote data to session storage",t,e),sessionStorage.setItem(t+i,e))}},clear:function(e){M.is.multiple()&&m.useLabels?M.remove.labels(C.find(b.label),e):(M.remove.activeItem(),M.remove.selectedItem(),M.remove.filteredItem()),M.set.placeholderText(),M.clearValue(e)},clearValue:function(e){M.set.value("",null,null,e)},scrollPage:function(e,t){var t=t||M.get.selectedItem(),n=t.closest(b.menu),i=n.outerHeight(),a=n.scrollTop(),s=k.eq(0).outerHeight(),i=Math.floor(i/s),a=(n.prop("scrollHeight"),"up"==e?a-s*i:a+s*i),s=k.not(b.unselectable),i="up"==e?s.index(t)-i:s.index(t)+i,i=("up"==e?0<=i:i<s.length)?s.eq(i):"up"==e?s.first():s.last();0<i.length&&(M.debug("Scrolling page",e,i),t.removeClass(h.selected),i.addClass(h.selected),m.selectOnKeydown&&M.is.single()&&!$nextItem.hasClass(h.actionable)&&M.set.selectedItem(i),n.scrollTop(a))},set:{filtered:function(){var e=M.is.multiple(),t=M.is.searchSelection(),n=e&&t,t=t?M.get.query():"",i="string"==typeof t&&0<t.length,a=M.get.searchWidth(),t=""!==t;e&&i&&(M.verbose("Adjusting input width",a,m.glyphWidth),S.css("width",a)),i||n&&t?(M.verbose("Hiding placeholder text"),x.addClass(h.filtered)):e&&(!n||t)||(M.verbose("Showing placeholder text"),x.removeClass(h.filtered))},empty:function(){C.addClass(h.empty)},loading:function(){C.addClass(h.loading)},placeholderText:function(e){e=e||M.get.placeholderText(),M.debug("Setting placeholder text",e),M.set.text(e),x.addClass(h.placeholder)},tabbable:function(){M.is.searchSelection()?(M.debug("Added tabindex to searchable dropdown"),S.val(""),M.check.disabled(),I.attr("tabindex",-1)):(M.debug("Added tabindex to dropdown"),C.attr("tabindex")===ne&&(C.attr("tabindex",0),I.attr("tabindex",-1)))},initialLoad:function(){M.verbose("Setting initial load"),e=!0},activeItem:function(e){m.allowAdditions&&0<e.filter(b.addition).length?e.addClass(h.filtered):e.addClass(h.active)},partialSearch:function(e){var t=M.get.query().length;S.val(e.slice(0,t))},scrollPosition:function(e,t){var n,i,a=(e=e||M.get.selectedItem()).closest(b.menu),s=e&&0<e.length;t=t!==ne&&t,0===M.get.activeItem().length&&(t=!1),e&&0<a.length&&s&&(e.position().top,a.addClass(h.loading),e=(s=a.scrollTop())-a.offset().top+e.offset().top,t||(i=s+a.height()<e+5,n=e-5<s),M.debug("Scrolling to active item",e),(t||n||i)&&a.scrollTop(e),a.removeClass(h.loading))},text:function(e){"combo"===m.action?(M.debug("Changing combo button text",e,L),m.preserveHTML?L.html(e):L.text(e)):"activate"===m.action&&(e!==M.get.placeholderText()&&x.removeClass(h.placeholder),M.debug("Changing text",e,x),x.removeClass(h.filtered),m.preserveHTML?x.html(e):x.text(e))},selectedItem:function(e){var t=M.get.choiceValue(e),n=M.get.choiceText(e,!1),i=M.get.choiceText(e,!0);M.debug("Setting user selection to item",e),M.remove.activeItem(),M.set.partialSearch(n),M.set.activeItem(e),M.set.selected(t,e),M.set.text(i)},selectedLetter:function(e){var t,n=k.filter("."+h.selected),i=0<n.length&&M.has.firstLetter(n,e),a=!1;i&&(t=n.nextAll(k).eq(0),M.has.firstLetter(t,e)&&(a=t)),a||k.each(function(){if(M.has.firstLetter(_(this),e))return a=_(this),!1}),a&&(M.verbose("Scrolling to next value with letter",e),M.set.scrollPosition(a),n.removeClass(h.selected),a.addClass(h.selected),m.selectOnKeydown&&M.is.single()&&!t.hasClass(h.actionable)&&M.set.selectedItem(a))},direction:function(e){"auto"===m.direction?(e?M.is.upward(e)&&M.remove.upward(e):M.remove.upward(),(M.can.openDownward(e)?M.remove:M.set).upward(e),M.is.leftward(e)||M.can.openRightward(e)||M.set.leftward(e)):"upward"===m.direction&&M.set.upward(e)},upward:function(e){(e||C).addClass(h.upward)},leftward:function(e){(e||I).addClass(h.leftward)},value:function(e,t,n,i){"boolean"==typeof t&&(i=t,t=n=ne),e===ne||""===e||Array.isArray(e)&&0===e.length?T.addClass(h.noselection):T.removeClass(h.noselection);var a=M.escape.value(e),s=0<T.length,o=M.get.values(),r=e!==ne?String(e):e;if(s){if(!m.allowReselection&&r==o&&(M.verbose("Skipping value update already same value",e,o),!M.is.initialLoad()))return;M.is.single()&&M.has.selectInput()&&M.can.extendSelect()&&(M.debug("Adding user option",e),M.add.optionValue(e)),M.debug("Updating input value",a,o),U=!0,T.val(a),!1===m.fireOnInit&&M.is.initialLoad()?M.debug("Input native change event ignored on initial load"):!0!==i&&M.trigger.change(),U=!1}else M.verbose("Storing value in metadata",a,T),a!==o&&C.data(p.value,r);!1===m.fireOnInit&&M.is.initialLoad()?M.verbose("No callback on initial load",m.onChange):!0!==i&&m.onChange.call(R,e,t,n)},active:function(){C.addClass(h.active)},multiple:function(){C.addClass(h.multiple)},visible:function(){C.addClass(h.visible)},exactly:function(e,t,n){"boolean"==typeof t&&(n=t,t=ne),M.debug("Setting selected to exact values"),M.clear(),M.set.selected(e,t,n)},selected:function(e,l,c,u){"boolean"==typeof l&&(u=c,c=l,l=ne);var d=M.is.multiple();(l=m.allowAdditions?l||M.get.itemWithAdditions(e):l||M.get.item(e))&&(M.debug("Setting selected menu item to",l),M.is.multiple()&&M.remove.searchWidth(),M.is.single()?(M.remove.activeItem(),M.remove.selectedItem()):m.useLabels&&M.remove.selectedItem(),l.each(function(){var e=_(this),t=M.get.choiceText(e),n=M.get.choiceValue(e,t),i=e.hasClass(h.filtered),a=e.hasClass(h.active),s=e.hasClass(h.actionable),o=e.hasClass(h.addition),r=d&&l&&1===l.length;s?(d&&a&&!o||!m.apiSettings||!m.saveRemoteData||M.save.remoteData(t,n),m.onActionable.call(R,n,t,e)):d?!a||o?(m.apiSettings&&m.saveRemoteData&&M.save.remoteData(t,n),m.useLabels?(M.add.value(n,t,e,c),M.add.label(n,t,r),M.set.activeItem(e),M.filterActive(),M.select.nextAvailable(l)):(M.add.value(n,t,e,c),M.set.text(M.add.variables(f.count)),M.set.activeItem(e))):i||!m.useLabels&&!v||(M.debug("Selected active value, removing label"),M.remove.selected(n)):(m.apiSettings&&m.saveRemoteData&&M.save.remoteData(t,n),u||e.hasClass(h.actionable)||M.set.text(t),M.set.value(n,t,e,c),e.addClass(h.active).addClass(h.selected))}),u||M.remove.searchTerm())}},add:{label:function(e,t,n){var i,a=M.is.searchSelection()?S:x,s=M.escape.value(e);m.ignoreCase&&(s=s.toLowerCase()),i=_("<a />").addClass(h.label).attr("data-"+p.value,s).html(P.label(s,t,m.preserveHTML,m.className)),i=m.onLabelCreate.call(i,s,t),M.has.label(e)?M.debug("User selection already exists, skipping",s):(m.label.variation&&i.addClass(m.label.variation),!0===n?(M.debug("Animating in label",i),i.addClass(h.hidden).insertBefore(a).transition({animation:m.label.transition,debug:m.debug,verbose:m.verbose,duration:m.label.duration})):(M.debug("Adding selection label",i),i.insertBefore(a)))},message:function(e){var t=I.children(b.message),e=m.templates.message(M.add.variables(e));0<t.length?t.html(e):_("<div/>").html(e).addClass(h.message).appendTo(I)},optionValue:function(e){var t=M.escape.value(e);0<T.find('option[value="'+M.escape.string(t)+'"]').length||(M.disconnect.selectObserver(),M.is.single()&&(M.verbose("Removing previous user addition"),T.find("option."+h.addition).remove()),_("<option/>").prop("value",t).addClass(h.addition).html(e).appendTo(T),M.verbose("Adding user addition as an <option>",e),M.observe.select())},userSuggestion:function(e){var t=I.children(b.addition),n=M.get.item(e),n=n&&n.not(b.addition).length,i=0<t.length;m.useLabels&&M.has.maxSelections()||(""===e||n?t.remove():(i?(t.data(p.value,e).data(p.text,e).attr("data-"+p.value,e).attr("data-"+p.text,e).removeClass(h.filtered),m.hideAdditions||(n=m.templates.addition(M.add.variables(f.addResult,e)),t.html(n)),M.verbose("Replacing user suggestion with new value",t)):((t=M.create.userChoice(e)).prependTo(I),M.verbose("Adding item choice to menu corresponding with user choice addition",t)),m.hideAdditions&&!M.is.allFiltered()||t.addClass(h.selected).siblings().removeClass(h.selected),M.refreshItems()))},variables:function(e,t){var n,i=-1!==e.search("{count}"),a=-1!==e.search("{maxCount}"),s=-1!==e.search("{term}");return M.verbose("Adding templated variables to message",e),i&&(n=M.get.selectionCount(),e=e.replace("{count}",n)),a&&(n=M.get.selectionCount(),e=e.replace("{maxCount}",m.maxSelections)),s&&(i=t||M.get.query(),e=e.replace("{term}",i)),e},value:function(e,t,n,i){"boolean"==typeof t&&(i=t,t=n=ne);var a,s=M.get.values(!0);M.has.value(e)?M.debug("Value already selected"):""===e?M.debug("Cannot select blank values from multiselect"):(a=Array.isArray(s)?(a=n&&n.hasClass(h.actionable)?s:s.concat([e]),M.get.uniqueArray(a)):[e],M.has.selectInput()?M.can.extendSelect()&&(M.debug("Adding value to select",e,a,T),M.add.optionValue(e)):(a=a.join(m.delimiter),M.debug("Setting hidden input to delimited value",a,T)),!1===m.fireOnInit&&M.is.initialLoad()?M.verbose("Skipping onadd callback on initial load",m.onAdd):m.onAdd.call(R,e,t,n),M.set.value(a,t,n,i),M.check.maxSelections())}},remove:{active:function(){C.removeClass(h.active)},activeLabel:function(){C.find(b.label).removeClass(h.active)},empty:function(){C.removeClass(h.empty)},loading:function(){C.removeClass(h.loading)},initialLoad:function(){e=!1},upward:function(e){(e||C).removeClass(h.upward)},leftward:function(e){(e||I).removeClass(h.leftward)},visible:function(){C.removeClass(h.visible)},activeItem:function(){k.removeClass(h.active)},filteredItem:function(){m.useLabels&&M.has.maxSelections()||((m.useLabels&&M.is.multiple()?k.not("."+h.active):k).removeClass(h.filtered),m.hideDividers&&D.removeClass(h.hidden),M.remove.empty())},optionValue:function(e){var e=M.escape.value(e),t=T.find('option[value="'+M.escape.string(e)+'"]');0<t.length&&t.hasClass(h.addition)&&(M.disconnect.selectObserver(),t.remove(),M.verbose("Removing user addition as an <option>",e),M.observe.select())},message:function(){I.children(b.message).remove()},searchWidth:function(){S.css("width","")},searchTerm:function(){M.verbose("Cleared search term"),S.val(""),M.set.filtered()},userAddition:function(){k.filter(b.addition).remove()},selected:function(e,t,i){if(!(t=m.allowAdditions?t||M.get.itemWithAdditions(e):t||M.get.item(e)))return!1;t.each(function(){var e=_(this),t=M.get.choiceText(e),n=M.get.choiceValue(e,t);M.is.multiple()?m.useLabels?(M.remove.value(n,t,e,i),M.remove.label(n)):(M.remove.value(n,t,e,i),0===M.get.selectionCount()?M.set.placeholderText():M.set.text(M.add.variables(f.count))):M.remove.value(n,t,e,i),e.removeClass(h.filtered).removeClass(h.active),m.useLabels&&e.removeClass(h.selected)})},selectedItem:function(){k.removeClass(h.selected)},value:function(e,t,n,i){var a,s=M.get.values();e=M.escape.htmlEntities(e),M.has.selectInput()?(M.verbose("Input is <select> removing selected option",e),a=M.remove.arrayValue(e,s),M.remove.optionValue(e)):(M.verbose("Removing from delimited values",e),a=(a=M.remove.arrayValue(e,s)).join(m.delimiter)),!1===m.fireOnInit&&M.is.initialLoad()?M.verbose("No callback on initial load",m.onRemove):m.onRemove.call(R,e,t,n),M.set.value(a,t,n,i),M.check.maxSelections()},arrayValue:function(t,e){return Array.isArray(e)||(e=[e]),e=_.grep(e,function(e){return t!=e}),M.verbose("Removed value from delimited string",t,e),e},label:function(e,t){e=M.escape.value(e),e=C.find(b.label).filter("[data-"+p.value+'="'+M.escape.string(m.ignoreCase?e.toLowerCase():e)+'"]');M.verbose("Removing label",e),e.remove()},activeLabels:function(e){e=e||C.find(b.label).filter("."+h.active),M.verbose("Removing active label selections",e),M.remove.labels(e)},labels:function(e,a){e=e||C.find(b.label),M.verbose("Removing labels",e),e.each(function(){var e=_(this),t=e.data(p.value),n=t!==ne?String(t):t,i=M.is.userValue(n);!1===m.onLabelRemove.call(e,t)?M.debug("Label remove callback cancelled removal"):(M.remove.message(),i?(M.remove.value(n,n,M.get.item(n),a),M.remove.label(n)):M.remove.selected(n,!1,a))})},tabbable:function(){M.is.searchSelection()?(M.debug("Searchable dropdown initialized"),S.removeAttr("tabindex")):(M.debug("Simple selection dropdown initialized"),C.removeAttr("tabindex")),I.removeAttr("tabindex")},diacritics:function(e){return m.ignoreDiacritics?e.normalize("NFD").replace(/[\u0300-\u036f]/g,""):e}},has:{menuSearch:function(){return M.has.search()&&0<S.closest(I).length},clearItem:function(){return 0<N.length},search:function(){return 0<S.length},sizer:function(){return 0<A.length},selectInput:function(){return T.is("select")},minCharacters:function(e){return m.minCharacters&&!q?(e=e!==ne?String(e):String(M.get.query())).length>=m.minCharacters:!(q=!1)},firstLetter:function(e,t){return!(!e||0===e.length||"string"!=typeof t)&&(e=M.get.choiceText(e,!1),(t=t.toLowerCase())==String(e).charAt(0).toLowerCase())},input:function(){return 0<T.length},items:function(){return 0<k.length},menu:function(){return 0<I.length},subMenu:function(e){return 0<(e||I).find(b.menu).length},message:function(){return 0!==I.children(b.message).length},label:function(e){var e=M.escape.value(e),t=C.find(b.label);return m.ignoreCase&&(e=e.toLowerCase()),0<t.filter("[data-"+p.value+'="'+M.escape.string(e)+'"]').length},maxSelections:function(){return m.maxSelections&&M.get.selectionCount()>=m.maxSelections},allResultsFiltered:function(){var e=k.not(b.addition);return e.filter(b.unselectable).length===e.length},userSuggestion:function(){return 0<I.children(b.addition).length},query:function(){return""!==M.get.query()},value:function(e){return m.ignoreCase?M.has.valueIgnoringCase(e):M.has.valueMatchingCase(e)},valueMatchingCase:function(e){var t=M.get.values(!0);return!!(Array.isArray(t)?t&&-1!==_.inArray(e,t):t==e)},valueIgnoringCase:function(n){var e=M.get.values(!0),i=!1;return Array.isArray(e)||(e=[e]),_.each(e,function(e,t){if(String(n).toLowerCase()==String(t).toLowerCase())return!(i=!0)}),i}},is:{active:function(){return C.hasClass(h.active)},animatingInward:function(){return I.transition("is inward")},animatingOutward:function(){return I.transition("is outward")},bubbledLabelClick:function(e){return _(e.target).is("select, input")&&0<C.closest("label").length},bubbledIconClick:function(e){return 0<_(e.target).closest(H).length},edge:function(){return!!ee.chrome&&!!ee.StyleMedia},chrome:function(){return!!ee.chrome&&!ee.StyleMedia},alreadySetup:function(){return C.is("select")&&C.parent(b.dropdown).data(w)!==ne&&0===C.prev().length},animating:function(e){return e?e.transition&&e.transition("is animating"):I.transition&&I.transition("is animating")},leftward:function(e){return(e||I).hasClass(h.leftward)},clearable:function(){return C.hasClass(h.clearable)||m.clearable},disabled:function(){return C.hasClass(h.disabled)},focused:function(){return te.activeElement===C[0]},focusedOnSearch:function(){return te.activeElement===S[0]},allFiltered:function(){return(M.is.multiple()||M.has.search())&&!(0==m.hideAdditions&&M.has.userSuggestion())&&!M.has.message()&&M.has.allResultsFiltered()},hidden:function(e){return!M.is.visible(e)},initialLoad:function(){return e},inObject:function(n,e){var i=!1;return _.each(e,function(e,t){if(t==n)return i=!0}),i},multiple:function(){return C.hasClass(h.multiple)},remote:function(){return m.apiSettings&&M.can.useAPI()},noApiCache:function(){return m.apiSettings&&!m.apiSettings.cache},single:function(){return!M.is.multiple()},selectMutation:function(e){var n=!1;return _.each(e,function(e,t){if(_(t.target).is("select, option, optgroup")||_(t.addedNodes).is("select"))return!(n=!0)}),n},search:function(){return C.hasClass(h.search)},searchSelection:function(){return M.has.search()&&1===S.parent(b.dropdown).length},selection:function(){return C.hasClass(h.selection)},userValue:function(e){return-1!==_.inArray(e,M.get.userValues())},upward:function(e){return(e||C).hasClass(h.upward)},visible:function(e){return(e||I).hasClass(h.visible)},verticallyScrollableContext:function(){var e=y.get(0)!==ee&&y.css("overflow-y");return"auto"==e||"scroll"==e},horizontallyScrollableContext:function(){var e=y.get(0)!==ee&&y.css("overflow-X");return"auto"==e||"scroll"==e}},can:{activate:function(e){return!!m.useLabels||(!M.has.maxSelections()||!(!M.has.maxSelections()||!e.hasClass(h.active)))},openDownward:function(e){var t,e=e||I,n=!0;return e.addClass(h.loading),t={context:{offset:y.get(0)===ee?{top:0,left:0}:y.offset(),scrollTop:y.scrollTop(),height:y.outerHeight()},menu:{offset:e.offset(),height:e.outerHeight()}},M.is.verticallyScrollableContext()&&(t.menu.offset.top+=t.context.scrollTop),M.has.subMenu(e)&&(t.menu.height+=e.find(b.menu).first().outerHeight()),n=(t={above:t.context.scrollTop<=t.menu.offset.top-t.context.offset.top-t.menu.height,below:t.context.scrollTop+t.context.height>=t.menu.offset.top-t.context.offset.top+t.menu.height}).below?(M.verbose("Dropdown can fit in context downward",t),!0):t.above?(M.verbose("Dropdown cannot fit below, opening upward",t),!1):(M.verbose("Dropdown cannot fit in either direction, favoring downward",t),!0),e.removeClass(h.loading),n},openRightward:function(e){var t,e=e||I,n=!0;return e.addClass(h.loading),t={context:{offset:y.get(0)===ee?{top:0,left:0}:y.offset(),scrollLeft:y.scrollLeft(),width:y.outerWidth()},menu:{offset:e.offset(),width:e.outerWidth()}},M.is.horizontallyScrollableContext()&&(t.menu.offset.left+=t.context.scrollLeft),(t=t.menu.offset.left-t.context.offset.left+t.menu.width>=t.context.scrollLeft+t.context.width)&&(M.verbose("Dropdown cannot fit in context rightward",t),n=!1),e.removeClass(h.loading),n},extendSelect:function(){return m.allowAdditions||m.apiSettings},show:function(){return!M.is.disabled()&&(M.has.items()||M.has.message())},useAPI:function(){return _.fn.api!==ne}},animate:{show:function(e,t){var n=t||I,i=t?function(){}:function(){M.hideSubMenus(),M.hideOthers(),M.set.active()};e=_.isFunction(e)?e:function(){},M.verbose("Doing menu show animation",n),M.set.direction(t),t=m.transition.showMethod||M.get.transition(t),M.is.selection()&&M.set.scrollPosition(M.get.selectedItem(),!0),(M.is.hidden(n)||M.is.animating(n))&&("none"===t?(i(),n.transition({displayType:M.get.displayType()}).transition("show"),e.call(R)):_.fn.transition!==ne&&C.transition("is supported")?n.transition({animation:t+" in",debug:m.debug,verbose:m.verbose,duration:m.transition.showDuration||m.duration,queue:!0,onStart:i,displayType:M.get.displayType(),onComplete:function(){e.call(R)}}):M.error(u.noTransition,t))},hide:function(e,t){var n=t||I,i=t?function(){}:function(){M.unbind.intent(),M.remove.active()},t=m.transition.hideMethod||M.get.transition(t);e=_.isFunction(e)?e:function(){},(M.is.visible(n)||M.is.animating(n))&&(M.verbose("Doing menu hide animation",n),"none"===t?(i(),n.transition({displayType:M.get.displayType()}).transition("hide"),e.call(R)):_.fn.transition!==ne&&C.transition("is supported")?n.transition({animation:t+" out",duration:m.transition.hideDuration||m.duration,debug:m.debug,verbose:m.verbose,queue:!1,onStart:i,displayType:M.get.displayType(),onComplete:function(){e.call(R)}}):M.error(u.transition))}},hideAndClear:function(){M.remove.searchTerm(),M.has.maxSelections()||(M.has.search()?M.hide(function(){M.remove.filteredItem()}):M.hide())},delay:{show:function(){M.verbose("Delaying show event to ensure user intent"),clearTimeout(M.timer),M.timer=setTimeout(M.show,m.delay.show)},hide:function(){M.verbose("Delaying hide event to ensure user intent"),clearTimeout(M.timer),M.timer=setTimeout(M.hide,m.delay.hide)}},escape:{value:function(e){var t=Array.isArray(e),n="string"==typeof e,i=!n&&!t,n=n&&-1!==e.search(c.quote),a=[];return i||!n?e:(M.debug("Encoding quote values for use in select",e),t?(_.each(e,function(e,t){a.push(t.replace(c.quote,"&quot;"))}),a):e.replace(c.quote,"&quot;"))},string:function(e){return(e=String(e)).replace(c.escape,"\\$&")},htmlEntities:function(e){var t={"<":"&lt;",">":"&gt;",'"':"&quot;","'":"&#x27;","`":"&#x60;"};return/[&<>"'`]/.test(e)?(e=e.replace(/&(?![a-z0-9#]{1,6};)/,"&amp;")).replace(/[<>"'`]/g,function(e){return t[e]}):e}},setting:function(e,t){if(M.debug("Changing setting",e,t),_.isPlainObject(e))_.extend(!0,m,e);else{if(t===ne)return m[e];_.isPlainObject(m[e])?_.extend(!0,m[e],t):m[e]=t}},internal:function(e,t){if(_.isPlainObject(e))_.extend(!0,M,e);else{if(t===ne)return M[e];M[e]=t}},debug:function(){!m.silent&&m.debug&&(m.performance?M.performance.log(arguments):(M.debug=Function.prototype.bind.call(console.info,console,m.name+":"),M.debug.apply(console,arguments)))},verbose:function(){!m.silent&&m.verbose&&m.debug&&(m.performance?M.performance.log(arguments):(M.verbose=Function.prototype.bind.call(console.info,console,m.name+":"),M.verbose.apply(console,arguments)))},error:function(){m.silent||(M.error=Function.prototype.bind.call(console.error,console,m.name+":"),M.error.apply(console,arguments))},performance:{log:function(e){var t,n;m.performance&&(n=(t=(new Date).getTime())-(Y||t),Y=t,X.push({Name:e[0],Arguments:[].slice.call(e,1)||"",Element:R,"Execution Time":n})),clearTimeout(M.performance.timer),M.performance.timer=setTimeout(M.performance.display,500)},display:function(){var e=m.name+":",n=0;Y=!1,clearTimeout(M.performance.timer),_.each(X,function(e,t){n+=t["Execution Time"]}),e+=" "+n+"ms",$&&(e+=" '"+$+"'"),(console.group!==ne||console.table!==ne)&&0<X.length&&(console.groupCollapsed(e),console.table?console.table(X):_.each(X,function(e,t){console.log(t.Name+": "+t["Execution Time"]+"ms")}),console.groupEnd()),X=[]}},invoke:function(i,e,t){var a,s,n,o=V;return e=e||Z,t=R||t,"string"==typeof i&&o!==ne&&(i=i.split(/[\. ]/),a=i.length-1,_.each(i,function(e,t){var n=e!=a?t+i[e+1].charAt(0).toUpperCase()+i[e+1].slice(1):i;if(_.isPlainObject(o[n])&&e!=a)o=o[n];else{if(o[n]!==ne)return s=o[n],!1;{if(!_.isPlainObject(o[t])||e==a)return o[t]!==ne?s=o[t]:M.error(u.method,i),!1;o=o[t]}}})),_.isFunction(s)?n=s.apply(t,e):s!==ne&&(n=s),Array.isArray(K)?K.push(n):K!==ne?K=[K,n]:n!==ne&&(K=n),s}};J?(V===ne&&M.initialize(),M.invoke(G)):(V!==ne&&V.invoke("destroy"),M.initialize())}),K!==ne?K:W},_.fn.dropdown.settings={silent:!1,debug:!1,verbose:!1,performance:!0,on:"click",action:"activate",values:!1,clearable:!1,apiSettings:!1,selectOnKeydown:!0,minCharacters:0,filterRemoteData:!1,saveRemoteData:!0,throttle:200,context:ee,direction:"auto",keepOnScreen:!0,match:"both",fullTextSearch:"exact",ignoreDiacritics:!1,hideDividers:!1,placeholder:"auto",preserveHTML:!0,sortSelect:!1,forceSelection:!1,allowAdditions:!1,ignoreCase:!1,ignoreSearchCase:!0,hideAdditions:!0,maxSelections:!1,useLabels:!0,delimiter:",",showOnFocus:!1,allowReselection:!1,allowTab:!0,allowCategorySelection:!1,fireOnInit:!1,transition:"auto",duration:200,displayType:!1,glyphWidth:1.037,headerDivider:!0,collapseOnActionable:!0,label:{transition:"scale",duration:200,variation:!1},delay:{hide:300,show:200,search:20},onChange:function(e,t,n){},onAdd:function(e,t,n){},onRemove:function(e,t,n){},onActionable:function(e,t,n){},onSearch:function(e){},onLabelSelect:function(e){},onLabelCreate:function(e,t){return _(this)},onLabelRemove:function(e){return!0},onNoResults:function(e){return!0},onShow:function(){},onHide:function(){},name:"Dropdown",namespace:"dropdown",message:{addResult:"Add <b>{term}</b>",count:"{count} selected",maxSelections:"Max {maxCount} selections",noResults:"No results found.",serverError:"There was an error contacting the server"},error:{action:"You called a dropdown action that was not defined",alreadySetup:"Once a select has been initialized behaviors must be called on the created ui dropdown",labels:"Allowing user additions currently requires the use of labels.",missingMultiple:"<select> requires multiple property to be set to correctly preserve multiple values",method:"The method you called is not defined.",noAPI:"The API module is required to load resources remotely",noStorage:"Saving remote data requires session storage",noTransition:"This module requires ui transitions <https://github.com/Semantic-Org/UI-Transition>",noNormalize:'"ignoreDiacritics" setting will be ignored. Browser does not support String().normalize(). You may consider including <https://cdn.jsdelivr.net/npm/unorm@1.4.1/lib/unorm.min.js> as a polyfill.'},regExp:{escape:/[-[\]{}()*+?.,\\^$|#\s:=@]/g,quote:/"/g},metadata:{defaultText:"defaultText",defaultValue:"defaultValue",placeholderText:"placeholder",text:"text",value:"value"},fields:{remoteValues:"results",values:"values",disabled:"disabled",name:"name",description:"description",descriptionVertical:"descriptionVertical",value:"value",text:"text",type:"type",image:"image",imageClass:"imageClass",icon:"icon",iconClass:"iconClass",class:"class",divider:"divider",actionable:"actionable"},keys:{backspace:8,deleteKey:46,enter:13,escape:27,pageUp:33,pageDown:34,leftArrow:37,upArrow:38,rightArrow:39,downArrow:40},selector:{addition:".addition",divider:".divider, .header",dropdown:".ui.dropdown",hidden:".hidden",icon:"> .dropdown.icon",input:'> input[type="hidden"], > select',item:".item",label:"> .label",remove:"> .label > .delete.icon",siblingLabel:".label",menu:".menu",message:".message",menuIcon:".dropdown.icon",search:"input.search, .menu > .search > input, .menu input.search",sizer:"> span.sizer",text:"> .text:not(.icon)",unselectable:".disabled, .filtered",clearIcon:"> .remove.icon"},className:{active:"active",addition:"addition",animating:"animating",description:"description",descriptionVertical:"vertical",disabled:"disabled",empty:"empty",dropdown:"ui dropdown",filtered:"filtered",hidden:"hidden transition",icon:"icon",image:"image",item:"item",label:"ui label",loading:"loading",menu:"menu",message:"message",multiple:"multiple",placeholder:"default",sizer:"sizer",search:"search",selected:"selected",selection:"selection",text:"text",upward:"upward",leftward:"left",visible:"visible",clearable:"clearable",noselection:"noselection",delete:"delete",header:"header",divider:"divider",groupIcon:"",unfilterable:"unfilterable",actionable:"actionable"}},_.fn.dropdown.settings.templates={deQuote:function(e,t){return String(e).replace(/"/g,t?"&quot;":"")},escape:function(e,t){if(t)return e;var n={"<":"&lt;",">":"&gt;",'"':"&quot;","'":"&#x27;","`":"&#x60;"};return/[&<>"'`]/.test(e)?(e=e.replace(/&(?![a-z0-9#]{1,6};)/,"&amp;")).replace(/[<>"'`]/g,function(e){return n[e]}):e},dropdown:function(e,t,n,i){var a=e.placeholder||!1,s="",o=_.fn.dropdown.settings.templates.escape;return s=(s=(s=(s+='<i class="dropdown icon"></i>')+(a?'<div class="default text">'+o(a,n)+"</div>":'<div class="text"></div>'))+('<div class="'+i.menu+'">'))+_.fn.dropdown.settings.templates.menu(e,t,n,i)+"</div>"},menu:function(e,c,u,d){var e=e[c.values]||[],v="",m=_.fn.dropdown.settings.templates.escape,h=_.fn.dropdown.settings.templates.deQuote;return _.each(e,function(e,t){var n,i,a,s,o,r=t[c.type]||"item",l=-1!==r.indexOf("menu");"item"===r||l?(n=t[c.text]?' data-text="'+h(t[c.text],!0)+'"':"",s=t[c.actionable]?d.actionable+" ":"",o=t[c.disabled]?d.disabled+" ":"",i=t[c.descriptionVertical]?d.descriptionVertical+" ":"",a=""!=m(t[c.description]||"",u),v+='<div class="'+s+o+i+(t[c.class]?h(t[c.class]):d.item)+'" data-value="'+h(t[c.value],!0)+'"'+n+">",l&&(v+='<i class="'+(-1!==r.indexOf("left")?"left":"")+' dropdown icon"></i>'),t[c.image]&&(v+='<img class="'+(t[c.imageClass]?h(t[c.imageClass]):d.image)+'" src="'+h(t[c.image])+'">'),t[c.icon]&&(v+='<i class="'+h(t[c.icon])+" "+(t[c.iconClass]?h(t[c.iconClass]):d.icon)+'"></i>'),a&&(v=(v+='<span class="'+d.description+'">'+m(t[c.description]||"",u)+"</span>")+(l?"":'<span class="'+d.text+'">')),l&&(v+='<span class="'+d.text+'">'),v+=m(t[c.name]||"",u),l?v=(v=v+'</span><div class="'+r+'">')+_.fn.dropdown.settings.templates.menu(t,c,u,d)+"</div>":a&&(v+="</span>"),v+="</div>"):"header"===r&&(s=m(t[c.name]||"",u),o=t[c.icon]?h(t[c.icon]):d.groupIcon,""===s&&""===o||(v+='<div class="'+(t[c.class]?h(t[c.class]):d.header)+'">',""!==o&&(v+='<i class="'+o+" "+(t[c.iconClass]?h(t[c.iconClass]):d.icon)+'"></i>'),v=v+s+"</div>"),t[c.divider]&&(v+='<div class="'+d.divider+'"></div>'))}),v},label:function(e,t,n,i){return(0,_.fn.dropdown.settings.templates.escape)(t,n)+'<i class="'+i.delete+' icon"></i>'},message:function(e){return e},addition:function(e){return e}}}(jQuery,window,document);
@@ -1,5 +1,5 @@
1
1
  /*!
2
- * # Fomantic-UI 2.9.0-beta.284+04f70a7 - Video
2
+ * # Fomantic-UI 2.9.0-beta.287+6118ada - Video
3
3
  * http://github.com/fomantic/Fomantic-UI/
4
4
  *
5
5
  *
@@ -1,5 +1,5 @@
1
1
  /*!
2
- * # Fomantic-UI 2.9.0-beta.284+04f70a7 - Embed
2
+ * # Fomantic-UI 2.9.0-beta.287+6118ada - Embed
3
3
  * http://github.com/fomantic/Fomantic-UI/
4
4
  *
5
5
  *
@@ -1,5 +1,5 @@
1
1
  /*!
2
- * # Fomantic-UI 2.9.0-beta.284+04f70a7 - Video
2
+ * # Fomantic-UI 2.9.0-beta.287+6118ada - Video
3
3
  * http://github.com/fomantic/Fomantic-UI/
4
4
  *
5
5
  *
@@ -1,5 +1,5 @@
1
1
  /*
2
- * # Fomantic UI - 2.9.0-beta.284+04f70a7
2
+ * # Fomantic UI - 2.9.0-beta.287+6118ada
3
3
  * https://github.com/fomantic/Fomantic-UI
4
4
  * http://fomantic-ui.com/
5
5
  *
@@ -53,16 +53,7 @@ em[data-emoji].loading::before {
53
53
  em[data-emoji].link:not(.disabled) {
54
54
  cursor: pointer;
55
55
  }
56
- /*
57
- * Tweemoji v13.1 by @twitter - https://twemoji.twitter.com/ - @twitter
58
- * License - CC-BY 4.0 - https://creativecommons.org/licenses/by/4.0/
59
- */
60
-
61
-
62
- /*******************************
63
- Emojis
64
- *******************************/
65
-
56
+ /*rtl:begin:ignore*/
66
57
  em[data-emoji].small {
67
58
  font-size: 1.5em;
68
59
  vertical-align: middle;
@@ -14315,3 +14306,10 @@ em[data-emoji=":regional_indicator_a:"]::before,
14315
14306
  em[data-emoji="regional_indicator_a"]::before {
14316
14307
  background-image: url("https://twemoji.maxcdn.com/v/latest/svg/1f1e6.svg");
14317
14308
  }
14309
+ /*rtl:end:ignore*/
14310
+
14311
+
14312
+ /*******************************
14313
+ Emojis
14314
+ *******************************/
14315
+