fomantic-ui 2.9.0-beta.12 → 2.9.0-beta.120

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 (218) hide show
  1. package/.all-contributorsrc +197 -3
  2. package/CONTRIBUTORS.md +74 -37
  3. package/README.md +1 -1
  4. package/dist/components/accordion.css +50 -6
  5. package/dist/components/accordion.js +1 -1
  6. package/dist/components/accordion.min.css +2 -2
  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 +25 -23
  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 +81 -81
  15. package/dist/components/button.min.css +2 -2
  16. package/dist/components/calendar.css +1 -1
  17. package/dist/components/calendar.js +6 -7
  18. package/dist/components/calendar.min.css +1 -1
  19. package/dist/components/calendar.min.js +2 -2
  20. package/dist/components/card.css +26 -19
  21. package/dist/components/card.min.css +2 -2
  22. package/dist/components/checkbox.css +2 -1
  23. package/dist/components/checkbox.js +17 -11
  24. package/dist/components/checkbox.min.css +2 -2
  25. package/dist/components/checkbox.min.js +2 -2
  26. package/dist/components/comment.css +11 -11
  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 +28 -14
  31. package/dist/components/dimmer.js +1 -1
  32. package/dist/components/dimmer.min.css +2 -2
  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 +28 -5
  37. package/dist/components/dropdown.js +42 -31
  38. package/dist/components/dropdown.min.css +2 -2
  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 +2 -2
  45. package/dist/components/feed.css +28 -28
  46. package/dist/components/feed.min.css +2 -2
  47. package/dist/components/flag.css +731 -625
  48. package/dist/components/flag.min.css +2 -2
  49. package/dist/components/form.css +103 -54
  50. package/dist/components/form.js +25 -23
  51. package/dist/components/form.min.css +2 -2
  52. package/dist/components/form.min.js +2 -2
  53. package/dist/components/grid.css +11 -8
  54. package/dist/components/grid.min.css +2 -2
  55. package/dist/components/header.css +1 -1
  56. package/dist/components/header.min.css +1 -1
  57. package/dist/components/icon.css +6 -1
  58. package/dist/components/icon.min.css +2 -2
  59. package/dist/components/image.css +1 -1
  60. package/dist/components/image.min.css +1 -1
  61. package/dist/components/input.css +17 -2
  62. package/dist/components/input.min.css +2 -2
  63. package/dist/components/item.css +13 -13
  64. package/dist/components/item.min.css +1 -1
  65. package/dist/components/label.css +1 -1
  66. package/dist/components/label.min.css +1 -1
  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/menu.css +29 -5
  72. package/dist/components/menu.min.css +1 -1
  73. package/dist/components/message.css +41 -41
  74. package/dist/components/message.min.css +2 -2
  75. package/dist/components/modal.css +3 -1
  76. package/dist/components/modal.js +94 -30
  77. package/dist/components/modal.min.css +2 -2
  78. package/dist/components/modal.min.js +2 -2
  79. package/dist/components/nag.css +1 -1
  80. package/dist/components/nag.js +1 -1
  81. package/dist/components/nag.min.css +1 -1
  82. package/dist/components/nag.min.js +1 -1
  83. package/dist/components/placeholder.css +1 -1
  84. package/dist/components/placeholder.min.css +1 -1
  85. package/dist/components/popup.css +5 -3
  86. package/dist/components/popup.js +1 -1
  87. package/dist/components/popup.min.css +2 -2
  88. package/dist/components/popup.min.js +1 -1
  89. package/dist/components/progress.css +1 -1
  90. package/dist/components/progress.js +1 -1
  91. package/dist/components/progress.min.css +1 -1
  92. package/dist/components/progress.min.js +1 -1
  93. package/dist/components/rail.css +1 -1
  94. package/dist/components/rail.min.css +1 -1
  95. package/dist/components/rating.css +7 -46
  96. package/dist/components/rating.js +1 -1
  97. package/dist/components/rating.min.css +2 -2
  98. package/dist/components/rating.min.js +1 -1
  99. package/dist/components/reset.css +1 -1
  100. package/dist/components/reset.min.css +1 -1
  101. package/dist/components/reveal.css +1 -1
  102. package/dist/components/reveal.min.css +1 -1
  103. package/dist/components/search.css +1 -1
  104. package/dist/components/search.js +1 -1
  105. package/dist/components/search.min.css +1 -1
  106. package/dist/components/search.min.js +1 -1
  107. package/dist/components/segment.css +12 -6
  108. package/dist/components/segment.min.css +2 -2
  109. package/dist/components/shape.css +1 -1
  110. package/dist/components/shape.js +1 -1
  111. package/dist/components/shape.min.css +1 -1
  112. package/dist/components/shape.min.js +1 -1
  113. package/dist/components/sidebar.css +4 -2
  114. package/dist/components/sidebar.js +1 -1
  115. package/dist/components/sidebar.min.css +2 -2
  116. package/dist/components/sidebar.min.js +1 -1
  117. package/dist/components/site.css +61 -39
  118. package/dist/components/site.js +1 -1
  119. package/dist/components/site.min.css +2 -2
  120. package/dist/components/site.min.js +1 -1
  121. package/dist/components/slider.js +1 -1
  122. package/dist/components/slider.min.js +1 -1
  123. package/dist/components/state.js +1 -1
  124. package/dist/components/state.min.js +1 -1
  125. package/dist/components/statistic.css +1 -1
  126. package/dist/components/statistic.min.css +1 -1
  127. package/dist/components/step.css +4 -4
  128. package/dist/components/step.min.css +2 -2
  129. package/dist/components/sticky.css +1 -1
  130. package/dist/components/sticky.js +1 -1
  131. package/dist/components/sticky.min.css +1 -1
  132. package/dist/components/sticky.min.js +1 -1
  133. package/dist/components/tab.css +1 -1
  134. package/dist/components/tab.js +1 -1
  135. package/dist/components/tab.min.css +1 -1
  136. package/dist/components/tab.min.js +1 -1
  137. package/dist/components/table.css +980 -23
  138. package/dist/components/table.min.css +2 -2
  139. package/dist/components/text.css +1 -1
  140. package/dist/components/text.min.css +1 -1
  141. package/dist/components/toast.css +33 -1
  142. package/dist/components/toast.js +54 -27
  143. package/dist/components/toast.min.css +2 -2
  144. package/dist/components/toast.min.js +2 -2
  145. package/dist/components/transition.css +1 -1
  146. package/dist/components/transition.js +1 -1
  147. package/dist/components/transition.min.css +1 -1
  148. package/dist/components/transition.min.js +1 -1
  149. package/dist/components/visibility.js +1 -1
  150. package/dist/components/visibility.min.js +1 -1
  151. package/dist/semantic.css +2542 -1050
  152. package/dist/semantic.js +281 -170
  153. package/dist/semantic.min.css +2 -2
  154. package/dist/semantic.min.js +2 -2
  155. package/examples/assets/library/iframe-content.js +5 -5
  156. package/package.json +2 -2
  157. package/src/definitions/behaviors/api.js +24 -22
  158. package/src/definitions/behaviors/form.js +24 -22
  159. package/src/definitions/collections/form.less +190 -139
  160. package/src/definitions/collections/grid.less +716 -680
  161. package/src/definitions/collections/menu.less +173 -126
  162. package/src/definitions/collections/message.less +48 -46
  163. package/src/definitions/collections/table.less +593 -260
  164. package/src/definitions/elements/button.less +360 -347
  165. package/src/definitions/elements/container.less +16 -8
  166. package/src/definitions/elements/emoji.less +15 -9
  167. package/src/definitions/elements/flag.less +7 -17
  168. package/src/definitions/elements/header.less +42 -35
  169. package/src/definitions/elements/icon.less +38 -31
  170. package/src/definitions/elements/input.less +23 -7
  171. package/src/definitions/elements/label.less +92 -91
  172. package/src/definitions/elements/list.less +55 -45
  173. package/src/definitions/elements/loader.less +30 -29
  174. package/src/definitions/elements/segment.less +30 -22
  175. package/src/definitions/elements/step.less +52 -48
  176. package/src/definitions/elements/text.less +17 -15
  177. package/src/definitions/globals/site.less +23 -2
  178. package/src/definitions/modules/accordion.less +55 -5
  179. package/src/definitions/modules/calendar.js +5 -6
  180. package/src/definitions/modules/checkbox.js +16 -10
  181. package/src/definitions/modules/checkbox.less +34 -178
  182. package/src/definitions/modules/dimmer.less +21 -8
  183. package/src/definitions/modules/dropdown.js +41 -30
  184. package/src/definitions/modules/dropdown.less +99 -67
  185. package/src/definitions/modules/modal.js +93 -29
  186. package/src/definitions/modules/modal.less +2 -0
  187. package/src/definitions/modules/nag.less +20 -19
  188. package/src/definitions/modules/popup.less +5 -1
  189. package/src/definitions/modules/progress.less +19 -18
  190. package/src/definitions/modules/rating.less +49 -42
  191. package/src/definitions/modules/search.less +32 -16
  192. package/src/definitions/modules/sidebar.less +33 -19
  193. package/src/definitions/modules/slider.less +39 -38
  194. package/src/definitions/modules/toast.js +53 -26
  195. package/src/definitions/modules/toast.less +46 -16
  196. package/src/definitions/views/card.less +402 -361
  197. package/src/definitions/views/comment.less +92 -81
  198. package/src/definitions/views/feed.less +164 -144
  199. package/src/definitions/views/item.less +249 -196
  200. package/src/definitions/views/statistic.less +90 -88
  201. package/src/themes/default/collections/menu.variables +6 -0
  202. package/src/themes/default/collections/table.variables +29 -0
  203. package/src/themes/default/elements/button.variables +2 -1
  204. package/src/themes/default/elements/flag.overrides +1635 -986
  205. package/src/themes/default/elements/flag.variables +7 -5
  206. package/src/themes/default/elements/icon.overrides +35 -28
  207. package/src/themes/default/elements/icon.variables +1 -0
  208. package/src/themes/default/elements/step.overrides +1 -1
  209. package/src/themes/default/globals/site.variables +6 -0
  210. package/src/themes/default/globals/variation.variables +108 -6
  211. package/src/themes/default/modules/accordion.variables +15 -0
  212. package/src/themes/default/modules/dimmer.variables +1 -1
  213. package/src/themes/default/modules/dropdown.variables +1 -1
  214. package/src/themes/default/modules/toast.variables +3 -0
  215. package/src/themes/famfamfam/elements/flag.overrides +1026 -0
  216. package/src/themes/famfamfam/elements/flag.variables +13 -0
  217. package/tasks/build/css.js +6 -1
  218. package/test/helpers/sinon.js +1 -1
@@ -1,5 +1,5 @@
1
1
  /*
2
- * # Fomantic UI - 2.9.0-beta.12
2
+ * # Fomantic UI - 2.9.0-beta.120
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(I,E,S,O){"use strict";I.isFunction=I.isFunction||function(e){return"function"==typeof e&&"number"!=typeof e.nodeType},E=void 0!==E&&E.Math==Math?E:"undefined"!=typeof self&&self.Math==Math?self:Function("return this")(),I.fn.checkbox=function(s){var u,e=I(this),b=e.selector||"",y=(new Date).getTime(),C=[],x=s,w="string"==typeof x,D=[].slice.call(arguments,1);return e.each(function(){var e,h,g=I.extend(!0,{},I.fn.checkbox.settings,s),n=g.className,t=g.namespace,p=g.selector,r=g.error,i="."+t,o="module-"+t,f=I(this),a=I(this).children(p.label),k=I(this).children(p.input),m=k[0],c=!1,v=!1,l=f.data(o),d=this;h={initialize:function(){h.verbose("Initializing checkbox",g),h.create.label(),h.bind.events(),h.set.tabbable(),h.hide.input(),h.observeChanges(),h.instantiate(),h.setup()},instantiate:function(){h.verbose("Storing instance of module",h),l=h,f.data(o,h)},destroy:function(){h.verbose("Destroying module"),h.unbind.events(),h.show.input(),f.removeData(o)},fix:{reference:function(){f.is(p.input)&&(h.debug("Behavior called on <input> adjusting invoked element"),f=f.closest(p.checkbox),h.refresh())}},setup:function(){h.set.initialLoad(),h.is.indeterminate()?(h.debug("Initial value is indeterminate"),h.indeterminate()):h.is.checked()?(h.debug("Initial value is checked"),h.check()):(h.debug("Initial value is unchecked"),h.uncheck()),h.remove.initialLoad()},refresh:function(){a=f.children(p.label),k=f.children(p.input),m=k[0]},hide:{input:function(){h.verbose("Modifying <input> z-index to be unselectable"),k.addClass(n.hidden)}},show:{input:function(){h.verbose("Modifying <input> z-index to be selectable"),k.removeClass(n.hidden)}},observeChanges:function(){"MutationObserver"in E&&((e=new MutationObserver(function(e){h.debug("DOM tree modified, updating selector cache"),h.refresh()})).observe(d,{childList:!0,subtree:!0}),h.debug("Setting up mutation observer",e))},attachEvents:function(e,n){var t=I(e);n=I.isFunction(h[n])?h[n]:h.toggle,0<t.length?(h.debug("Attaching checkbox events to element",e,n),t.on("click"+i,n)):h.error(r.notFound)},preventDefaultOnInputTarget:function(){"undefined"!=typeof event&&null!==event&&I(event.target).is(p.input)&&(h.verbose("Preventing default check action after manual check action"),event.preventDefault())},event:{change:function(e){h.should.ignoreCallbacks()||g.onChange.call(m)},click:function(e){var n=I(e.target);n.is(p.input)?h.verbose("Using default check action on initialized checkbox"):n.is(p.link)?h.debug("Clicking link inside checkbox, skipping toggle"):(h.toggle(),k.focus(),e.preventDefault())},keydown:function(e){var n=e.which,t=13,i=32,o=27,a=37,c=38,r=39,l=40,d=h.get.radios(),s=d.index(f),u=d.length,b=!1;if(n==a||n==c?b=(0===s?u:s)-1:n!=r&&n!=l||(b=s===u-1?0:s+1),!h.should.ignoreCallbacks()&&!1!==b){if(!1===g.beforeUnchecked.apply(m))return h.verbose("Option not allowed to be unchecked, cancelling key navigation"),!1;if(!1===g.beforeChecked.apply(I(d[b]).children(p.input)[0]))return h.verbose("Next option should not allow check, cancelling key navigation"),!1}v=n==o?(h.verbose("Escape key pressed blurring field"),k.blur(),!0):!(e.ctrlKey||!(n==i||n==t&&g.enableEnterKey))&&(h.verbose("Enter/space key pressed, toggling checkbox"),h.toggle(),!0)},keyup:function(e){v&&e.preventDefault()}},check:function(){h.should.allowCheck()&&(h.debug("Checking checkbox",k),h.set.checked(),h.should.ignoreCallbacks()||(g.onChecked.call(m),h.trigger.change()),h.preventDefaultOnInputTarget())},uncheck:function(){h.should.allowUncheck()&&(h.debug("Unchecking checkbox"),h.set.unchecked(),h.should.ignoreCallbacks()||(g.onUnchecked.call(m),h.trigger.change()),h.preventDefaultOnInputTarget())},indeterminate:function(){h.should.allowIndeterminate()?h.debug("Checkbox is already indeterminate"):(h.debug("Making checkbox indeterminate"),h.set.indeterminate(),h.should.ignoreCallbacks()||(g.onIndeterminate.call(m),h.trigger.change()))},determinate:function(){h.should.allowDeterminate()?h.debug("Checkbox is already determinate"):(h.debug("Making checkbox determinate"),h.set.determinate(),h.should.ignoreCallbacks()||(g.onDeterminate.call(m),h.trigger.change()))},enable:function(){h.is.enabled()?h.debug("Checkbox is already enabled"):(h.debug("Enabling checkbox"),h.set.enabled(),h.should.ignoreCallbacks()||(g.onEnable.call(m),g.onEnabled.call(m),h.trigger.change()))},disable:function(){h.is.disabled()?h.debug("Checkbox is already disabled"):(h.debug("Disabling checkbox"),h.set.disabled(),h.should.ignoreCallbacks()||(g.onDisable.call(m),g.onDisabled.call(m),h.trigger.change()))},get:{radios:function(){var e=h.get.name();return I('input[name="'+e+'"]').closest(p.checkbox)},otherRadios:function(){return h.get.radios().not(f)},name:function(){return k.attr("name")}},is:{initialLoad:function(){return c},radio:function(){return k.hasClass(n.radio)||"radio"==k.attr("type")},indeterminate:function(){return k.prop("indeterminate")!==O&&k.prop("indeterminate")},checked:function(){return k.prop("checked")!==O&&k.prop("checked")},disabled:function(){return k.prop("disabled")!==O&&k.prop("disabled")},enabled:function(){return!h.is.disabled()},determinate:function(){return!h.is.indeterminate()},unchecked:function(){return!h.is.checked()}},should:{allowCheck:function(){return h.is.determinate()&&h.is.checked()&&!h.is.initialLoad()?(h.debug("Should not allow check, checkbox is already checked"),!1):!(!h.should.ignoreCallbacks()&&!1===g.beforeChecked.apply(m))||(h.debug("Should not allow check, beforeChecked cancelled"),!1)},allowUncheck:function(){return h.is.determinate()&&h.is.unchecked()&&!h.is.initialLoad()?(h.debug("Should not allow uncheck, checkbox is already unchecked"),!1):!(!h.should.ignoreCallbacks()&&!1===g.beforeUnchecked.apply(m))||(h.debug("Should not allow uncheck, beforeUnchecked cancelled"),!1)},allowIndeterminate:function(){return h.is.indeterminate()&&!h.is.initialLoad()?(h.debug("Should not allow indeterminate, checkbox is already indeterminate"),!1):!(!h.should.ignoreCallbacks()&&!1===g.beforeIndeterminate.apply(m))||(h.debug("Should not allow indeterminate, beforeIndeterminate cancelled"),!1)},allowDeterminate:function(){return h.is.determinate()&&!h.is.initialLoad()?(h.debug("Should not allow determinate, checkbox is already determinate"),!1):!(!h.should.ignoreCallbacks()&&!1===g.beforeDeterminate.apply(m))||(h.debug("Should not allow determinate, beforeDeterminate cancelled"),!1)},ignoreCallbacks:function(){return c&&!g.fireOnInit}},can:{change:function(){return!(f.hasClass(n.disabled)||f.hasClass(n.readOnly)||k.prop("disabled")||k.prop("readonly"))},uncheck:function(){return"boolean"==typeof g.uncheckable?g.uncheckable:!h.is.radio()}},set:{initialLoad:function(){c=!0},checked:function(){h.verbose("Setting class to checked"),f.removeClass(n.indeterminate).addClass(n.checked),h.is.radio()&&h.uncheckOthers(),h.is.indeterminate()||!h.is.checked()?(h.verbose("Setting state to checked",m),k.prop("indeterminate",!1).prop("checked",!0)):h.debug("Input is already checked, skipping input property change")},unchecked:function(){h.verbose("Removing checked class"),f.removeClass(n.indeterminate).removeClass(n.checked),h.is.indeterminate()||!h.is.unchecked()?(h.debug("Setting state to unchecked"),k.prop("indeterminate",!1).prop("checked",!1)):h.debug("Input is already unchecked")},indeterminate:function(){h.verbose("Setting class to indeterminate"),f.addClass(n.indeterminate),h.is.indeterminate()?h.debug("Input is already indeterminate, skipping input property change"):(h.debug("Setting state to indeterminate"),k.prop("indeterminate",!0))},determinate:function(){h.verbose("Removing indeterminate class"),f.removeClass(n.indeterminate),h.is.determinate()?h.debug("Input is already determinate, skipping input property change"):(h.debug("Setting state to determinate"),k.prop("indeterminate",!1))},disabled:function(){h.verbose("Setting class to disabled"),f.addClass(n.disabled),h.is.disabled()?h.debug("Input is already disabled, skipping input property change"):(h.debug("Setting state to disabled"),k.prop("disabled","disabled"))},enabled:function(){h.verbose("Removing disabled class"),f.removeClass(n.disabled),h.is.enabled()?h.debug("Input is already enabled, skipping input property change"):(h.debug("Setting state to enabled"),k.prop("disabled",!1))},tabbable:function(){h.verbose("Adding tabindex to checkbox"),k.attr("tabindex")===O&&k.attr("tabindex",0)}},remove:{initialLoad:function(){c=!1}},trigger:{change:function(){var e=k[0];if(e){var n=S.createEvent("HTMLEvents");h.verbose("Triggering native change event"),n.initEvent("change",!0,!1),e.dispatchEvent(n)}}},create:{label:function(){0<k.prevAll(p.label).length?(k.prev(p.label).detach().insertAfter(k),h.debug("Moving existing label",a)):h.has.label()||(a=I("<label>").insertAfter(k),h.debug("Creating label",a))}},has:{label:function(){return 0<a.length}},bind:{events:function(){h.verbose("Attaching checkbox events"),f.on("click"+i,h.event.click).on("change"+i,h.event.change).on("keydown"+i,p.input,h.event.keydown).on("keyup"+i,p.input,h.event.keyup)}},unbind:{events:function(){h.debug("Removing events"),f.off(i)}},uncheckOthers:function(){var e=h.get.otherRadios();h.debug("Unchecking other radios",e),e.removeClass(n.checked)},toggle:function(){h.can.change()?h.is.indeterminate()||h.is.unchecked()?(h.debug("Currently unchecked"),h.check()):h.is.checked()&&h.can.uncheck()&&(h.debug("Currently checked"),h.uncheck()):h.is.radio()||h.debug("Checkbox is read-only or disabled, ignoring toggle")},setting:function(e,n){if(h.debug("Changing setting",e,n),I.isPlainObject(e))I.extend(!0,g,e);else{if(n===O)return g[e];I.isPlainObject(g[e])?I.extend(!0,g[e],n):g[e]=n}},internal:function(e,n){if(I.isPlainObject(e))I.extend(!0,h,e);else{if(n===O)return h[e];h[e]=n}},debug:function(){!g.silent&&g.debug&&(g.performance?h.performance.log(arguments):(h.debug=Function.prototype.bind.call(console.info,console,g.name+":"),h.debug.apply(console,arguments)))},verbose:function(){!g.silent&&g.verbose&&g.debug&&(g.performance?h.performance.log(arguments):(h.verbose=Function.prototype.bind.call(console.info,console,g.name+":"),h.verbose.apply(console,arguments)))},error:function(){g.silent||(h.error=Function.prototype.bind.call(console.error,console,g.name+":"),h.error.apply(console,arguments))},performance:{log:function(e){var n,t;g.performance&&(t=(n=(new Date).getTime())-(y||n),y=n,C.push({Name:e[0],Arguments:[].slice.call(e,1)||"",Element:d,"Execution Time":t})),clearTimeout(h.performance.timer),h.performance.timer=setTimeout(h.performance.display,500)},display:function(){var e=g.name+":",t=0;y=!1,clearTimeout(h.performance.timer),I.each(C,function(e,n){t+=n["Execution Time"]}),e+=" "+t+"ms",b&&(e+=" '"+b+"'"),(console.group!==O||console.table!==O)&&0<C.length&&(console.groupCollapsed(e),console.table?console.table(C):I.each(C,function(e,n){console.log(n.Name+": "+n["Execution Time"]+"ms")}),console.groupEnd()),C=[]}},invoke:function(i,e,n){var o,a,t,c=l;return e=e||D,n=d||n,"string"==typeof i&&c!==O&&(i=i.split(/[\. ]/),o=i.length-1,I.each(i,function(e,n){var t=e!=o?n+i[e+1].charAt(0).toUpperCase()+i[e+1].slice(1):i;if(I.isPlainObject(c[t])&&e!=o)c=c[t];else{if(c[t]!==O)return a=c[t],!1;if(!I.isPlainObject(c[n])||e==o)return c[n]!==O?a=c[n]:h.error(r.method,i),!1;c=c[n]}})),I.isFunction(a)?t=a.apply(n,e):a!==O&&(t=a),Array.isArray(u)?u.push(t):u!==O?u=[u,t]:t!==O&&(u=t),a}},w?(l===O&&h.initialize(),h.invoke(x)):(l!==O&&l.invoke("destroy"),h.initialize())}),u!==O?u:this},I.fn.checkbox.settings={name:"Checkbox",namespace:"checkbox",silent:!1,debug:!1,verbose:!0,performance:!0,uncheckable:"auto",fireOnInit:!1,enableEnterKey:!0,onChange:function(){},beforeChecked:function(){},beforeUnchecked:function(){},beforeDeterminate:function(){},beforeIndeterminate:function(){},onChecked:function(){},onUnchecked:function(){},onDeterminate:function(){},onIndeterminate:function(){},onEnable:function(){},onDisable:function(){},onEnabled:function(){},onDisabled:function(){},className:{checked:"checked",indeterminate:"indeterminate",disabled:"disabled",hidden:"hidden",radio:"radio",readOnly:"read-only"},error:{method:"The method you called is not defined"},selector:{checkbox:".ui.checkbox",label:"label, .box",input:'input[type="checkbox"], input[type="radio"]',link:"a[href]"}}}(jQuery,window,document);
11
+ !function(I,E,S,O){"use strict";I.isFunction=I.isFunction||function(e){return"function"==typeof e&&"number"!=typeof e.nodeType},E=void 0!==E&&E.Math==Math?E:"undefined"!=typeof self&&self.Math==Math?self:Function("return this")(),I.fn.checkbox=function(s){var u,e=I(this),b=e.selector||"",y=(new Date).getTime(),C=[],x=s,w="string"==typeof x,D=[].slice.call(arguments,1);return e.each(function(){var e,h,g=I.extend(!0,{},I.fn.checkbox.settings,s),n=g.className,t=g.namespace,p=g.selector,r=g.error,i="."+t,o="module-"+t,f=I(this),a=I(this).children(p.label),k=I(this).children(p.input),m=k[0],c=!1,v=!1,l=f.data(o),d=this;h={initialize:function(){h.verbose("Initializing checkbox",g),h.create.label(),h.bind.events(),h.set.tabbable(),h.hide.input(),h.observeChanges(),h.instantiate(),h.setup()},instantiate:function(){h.verbose("Storing instance of module",h),l=h,f.data(o,h)},destroy:function(){h.verbose("Destroying module"),h.unbind.events(),h.show.input(),f.removeData(o)},fix:{reference:function(){f.is(p.input)&&(h.debug("Behavior called on <input> adjusting invoked element"),f=f.closest(p.checkbox),h.refresh())}},setup:function(){h.set.initialLoad(),h.is.indeterminate()?(h.debug("Initial value is indeterminate"),h.indeterminate()):h.is.checked()?(h.debug("Initial value is checked"),h.check()):(h.debug("Initial value is unchecked"),h.uncheck()),h.remove.initialLoad()},refresh:function(){a=f.children(p.label),k=f.children(p.input),m=k[0]},hide:{input:function(){h.verbose("Modifying <input> z-index to be unselectable"),k.addClass(n.hidden)}},show:{input:function(){h.verbose("Modifying <input> z-index to be selectable"),k.removeClass(n.hidden)}},observeChanges:function(){"MutationObserver"in E&&((e=new MutationObserver(function(e){h.debug("DOM tree modified, updating selector cache"),h.refresh()})).observe(d,{childList:!0,subtree:!0}),h.debug("Setting up mutation observer",e))},attachEvents:function(e,n){var t=I(e);n=I.isFunction(h[n])?h[n]:h.toggle,0<t.length?(h.debug("Attaching checkbox events to element",e,n),t.on("click"+i,n)):h.error(r.notFound)},preventDefaultOnInputTarget:function(){"undefined"!=typeof event&&null!==event&&I(event.target).is(p.input)&&(h.verbose("Preventing default check action after manual check action"),event.preventDefault())},event:{change:function(e){h.should.ignoreCallbacks()||g.onChange.call(m)},click:function(e){var n=I(e.target);n.is(p.input)?h.verbose("Using default check action on initialized checkbox"):n.is(p.link)?h.debug("Clicking link inside checkbox, skipping toggle"):(h.toggle(),k.focus(),e.preventDefault())},keydown:function(e){var n=e.which,t=13,i=32,o=27,a=37,c=38,r=39,l=40,d=h.get.radios(),s=d.index(f),u=d.length,b=!1;if(n==a||n==c?b=(0===s?u:s)-1:n!=r&&n!=l||(b=s===u-1?0:s+1),!h.should.ignoreCallbacks()&&!1!==b){if(!1===g.beforeUnchecked.apply(m))return h.verbose("Option not allowed to be unchecked, cancelling key navigation"),!1;if(!1===g.beforeChecked.apply(I(d[b]).children(p.input)[0]))return h.verbose("Next option should not allow check, cancelling key navigation"),!1}v=!1,n==o?(h.verbose("Escape key pressed blurring field"),k.blur(),v=!0):!e.ctrlKey&&h.can.change()&&(n==i||n==t&&g.enableEnterKey?(h.verbose("Enter/space key pressed, toggling checkbox"),h.toggle(),v=!0):f.is(".toggle, .slider")&&!h.is.radio()&&(n==a&&h.is.checked()?(h.uncheck(),v=!0):n==r&&h.is.unchecked()&&(h.check(),v=!0)))},keyup:function(e){v&&e.preventDefault()}},check:function(){h.should.allowCheck()&&(h.debug("Checking checkbox",k),h.set.checked(),h.should.ignoreCallbacks()||(g.onChecked.call(m),h.trigger.change()),h.preventDefaultOnInputTarget())},uncheck:function(){h.should.allowUncheck()&&(h.debug("Unchecking checkbox"),h.set.unchecked(),h.should.ignoreCallbacks()||(g.onUnchecked.call(m),h.trigger.change()),h.preventDefaultOnInputTarget())},indeterminate:function(){h.should.allowIndeterminate()?h.debug("Checkbox is already indeterminate"):(h.debug("Making checkbox indeterminate"),h.set.indeterminate(),h.should.ignoreCallbacks()||(g.onIndeterminate.call(m),h.trigger.change()))},determinate:function(){h.should.allowDeterminate()?h.debug("Checkbox is already determinate"):(h.debug("Making checkbox determinate"),h.set.determinate(),h.should.ignoreCallbacks()||(g.onDeterminate.call(m),h.trigger.change()))},enable:function(){h.is.enabled()?h.debug("Checkbox is already enabled"):(h.debug("Enabling checkbox"),h.set.enabled(),h.should.ignoreCallbacks()||(g.onEnable.call(m),g.onEnabled.call(m)))},disable:function(){h.is.disabled()?h.debug("Checkbox is already disabled"):(h.debug("Disabling checkbox"),h.set.disabled(),h.should.ignoreCallbacks()||(g.onDisable.call(m),g.onDisabled.call(m)))},get:{radios:function(){var e=h.get.name();return I('input[name="'+e+'"]').closest(p.checkbox)},otherRadios:function(){return h.get.radios().not(f)},name:function(){return k.attr("name")}},is:{initialLoad:function(){return c},radio:function(){return k.hasClass(n.radio)||"radio"==k.attr("type")},indeterminate:function(){return k.prop("indeterminate")!==O&&k.prop("indeterminate")},checked:function(){return k.prop("checked")!==O&&k.prop("checked")},disabled:function(){return k.prop("disabled")!==O&&k.prop("disabled")},enabled:function(){return!h.is.disabled()},determinate:function(){return!h.is.indeterminate()},unchecked:function(){return!h.is.checked()}},should:{allowCheck:function(){return h.is.determinate()&&h.is.checked()&&!h.is.initialLoad()?(h.debug("Should not allow check, checkbox is already checked"),!1):!(!h.should.ignoreCallbacks()&&!1===g.beforeChecked.apply(m))||(h.debug("Should not allow check, beforeChecked cancelled"),!1)},allowUncheck:function(){return h.is.determinate()&&h.is.unchecked()&&!h.is.initialLoad()?(h.debug("Should not allow uncheck, checkbox is already unchecked"),!1):!(!h.should.ignoreCallbacks()&&!1===g.beforeUnchecked.apply(m))||(h.debug("Should not allow uncheck, beforeUnchecked cancelled"),!1)},allowIndeterminate:function(){return h.is.indeterminate()&&!h.is.initialLoad()?(h.debug("Should not allow indeterminate, checkbox is already indeterminate"),!1):!(!h.should.ignoreCallbacks()&&!1===g.beforeIndeterminate.apply(m))||(h.debug("Should not allow indeterminate, beforeIndeterminate cancelled"),!1)},allowDeterminate:function(){return h.is.determinate()&&!h.is.initialLoad()?(h.debug("Should not allow determinate, checkbox is already determinate"),!1):!(!h.should.ignoreCallbacks()&&!1===g.beforeDeterminate.apply(m))||(h.debug("Should not allow determinate, beforeDeterminate cancelled"),!1)},ignoreCallbacks:function(){return c&&!g.fireOnInit}},can:{change:function(){return!(f.hasClass(n.disabled)||f.hasClass(n.readOnly)||k.prop("disabled")||k.prop("readonly"))},uncheck:function(){return"boolean"==typeof g.uncheckable?g.uncheckable:!h.is.radio()}},set:{initialLoad:function(){c=!0},checked:function(){h.verbose("Setting class to checked"),f.removeClass(n.indeterminate).addClass(n.checked),h.is.radio()&&h.uncheckOthers(),h.is.indeterminate()||!h.is.checked()?(h.verbose("Setting state to checked",m),k.prop("indeterminate",!1).prop("checked",!0)):h.debug("Input is already checked, skipping input property change")},unchecked:function(){h.verbose("Removing checked class"),f.removeClass(n.indeterminate).removeClass(n.checked),h.is.indeterminate()||!h.is.unchecked()?(h.debug("Setting state to unchecked"),k.prop("indeterminate",!1).prop("checked",!1)):h.debug("Input is already unchecked")},indeterminate:function(){h.verbose("Setting class to indeterminate"),f.addClass(n.indeterminate),h.is.indeterminate()?h.debug("Input is already indeterminate, skipping input property change"):(h.debug("Setting state to indeterminate"),k.prop("indeterminate",!0))},determinate:function(){h.verbose("Removing indeterminate class"),f.removeClass(n.indeterminate),h.is.determinate()?h.debug("Input is already determinate, skipping input property change"):(h.debug("Setting state to determinate"),k.prop("indeterminate",!1))},disabled:function(){h.verbose("Setting class to disabled"),f.addClass(n.disabled),h.is.disabled()?h.debug("Input is already disabled, skipping input property change"):(h.debug("Setting state to disabled"),k.prop("disabled","disabled"))},enabled:function(){h.verbose("Removing disabled class"),f.removeClass(n.disabled),h.is.enabled()?h.debug("Input is already enabled, skipping input property change"):(h.debug("Setting state to enabled"),k.prop("disabled",!1))},tabbable:function(){h.verbose("Adding tabindex to checkbox"),k.attr("tabindex")===O&&k.attr("tabindex",0)}},remove:{initialLoad:function(){c=!1}},trigger:{change:function(){var e=k[0];if(e){var n=S.createEvent("HTMLEvents");h.verbose("Triggering native change event"),n.initEvent("change",!0,!1),e.dispatchEvent(n)}}},create:{label:function(){0<k.prevAll(p.label).length?(k.prev(p.label).detach().insertAfter(k),h.debug("Moving existing label",a)):h.has.label()||(a=I("<label>").insertAfter(k),h.debug("Creating label",a))}},has:{label:function(){return 0<a.length}},bind:{events:function(){h.verbose("Attaching checkbox events"),f.on("click"+i,h.event.click).on("change"+i,h.event.change).on("keydown"+i,p.input,h.event.keydown).on("keyup"+i,p.input,h.event.keyup)}},unbind:{events:function(){h.debug("Removing events"),f.off(i)}},uncheckOthers:function(){var e=h.get.otherRadios();h.debug("Unchecking other radios",e),e.removeClass(n.checked)},toggle:function(){h.can.change()?h.is.indeterminate()||h.is.unchecked()?(h.debug("Currently unchecked"),h.check()):h.is.checked()&&h.can.uncheck()&&(h.debug("Currently checked"),h.uncheck()):h.is.radio()||h.debug("Checkbox is read-only or disabled, ignoring toggle")},setting:function(e,n){if(h.debug("Changing setting",e,n),I.isPlainObject(e))I.extend(!0,g,e);else{if(n===O)return g[e];I.isPlainObject(g[e])?I.extend(!0,g[e],n):g[e]=n}},internal:function(e,n){if(I.isPlainObject(e))I.extend(!0,h,e);else{if(n===O)return h[e];h[e]=n}},debug:function(){!g.silent&&g.debug&&(g.performance?h.performance.log(arguments):(h.debug=Function.prototype.bind.call(console.info,console,g.name+":"),h.debug.apply(console,arguments)))},verbose:function(){!g.silent&&g.verbose&&g.debug&&(g.performance?h.performance.log(arguments):(h.verbose=Function.prototype.bind.call(console.info,console,g.name+":"),h.verbose.apply(console,arguments)))},error:function(){g.silent||(h.error=Function.prototype.bind.call(console.error,console,g.name+":"),h.error.apply(console,arguments))},performance:{log:function(e){var n,t;g.performance&&(t=(n=(new Date).getTime())-(y||n),y=n,C.push({Name:e[0],Arguments:[].slice.call(e,1)||"",Element:d,"Execution Time":t})),clearTimeout(h.performance.timer),h.performance.timer=setTimeout(h.performance.display,500)},display:function(){var e=g.name+":",t=0;y=!1,clearTimeout(h.performance.timer),I.each(C,function(e,n){t+=n["Execution Time"]}),e+=" "+t+"ms",b&&(e+=" '"+b+"'"),(console.group!==O||console.table!==O)&&0<C.length&&(console.groupCollapsed(e),console.table?console.table(C):I.each(C,function(e,n){console.log(n.Name+": "+n["Execution Time"]+"ms")}),console.groupEnd()),C=[]}},invoke:function(i,e,n){var o,a,t,c=l;return e=e||D,n=d||n,"string"==typeof i&&c!==O&&(i=i.split(/[\. ]/),o=i.length-1,I.each(i,function(e,n){var t=e!=o?n+i[e+1].charAt(0).toUpperCase()+i[e+1].slice(1):i;if(I.isPlainObject(c[t])&&e!=o)c=c[t];else{if(c[t]!==O)return a=c[t],!1;if(!I.isPlainObject(c[n])||e==o)return c[n]!==O?a=c[n]:h.error(r.method,i),!1;c=c[n]}})),I.isFunction(a)?t=a.apply(n,e):a!==O&&(t=a),Array.isArray(u)?u.push(t):u!==O?u=[u,t]:t!==O&&(u=t),a}},w?(l===O&&h.initialize(),h.invoke(x)):(l!==O&&l.invoke("destroy"),h.initialize())}),u!==O?u:this},I.fn.checkbox.settings={name:"Checkbox",namespace:"checkbox",silent:!1,debug:!1,verbose:!0,performance:!0,uncheckable:"auto",fireOnInit:!1,enableEnterKey:!0,onChange:function(){},beforeChecked:function(){},beforeUnchecked:function(){},beforeDeterminate:function(){},beforeIndeterminate:function(){},onChecked:function(){},onUnchecked:function(){},onDeterminate:function(){},onIndeterminate:function(){},onEnable:function(){},onDisable:function(){},onEnabled:function(){},onDisabled:function(){},className:{checked:"checked",indeterminate:"indeterminate",disabled:"disabled",hidden:"hidden",radio:"radio",readOnly:"read-only"},error:{method:"The method you called is not defined"},selector:{checkbox:".ui.checkbox",label:"label",input:'input[type="checkbox"], input[type="radio"]',link:"a[href]"}}}(jQuery,window,document);
@@ -1,5 +1,5 @@
1
1
  /*!
2
- * # Fomantic-UI 2.9.0-beta.12 - Comment
2
+ * # Fomantic-UI 2.9.0-beta.120 - Comment
3
3
  * http://github.com/fomantic/Fomantic-UI/
4
4
  *
5
5
  *
@@ -67,8 +67,8 @@
67
67
  }
68
68
 
69
69
  /*--------------
70
- Avatar
71
- ---------------*/
70
+ Avatar
71
+ ---------------*/
72
72
 
73
73
  .ui.comments .comment .avatar {
74
74
  display: block;
@@ -100,8 +100,8 @@
100
100
  }
101
101
 
102
102
  /*--------------
103
- Author
104
- ---------------*/
103
+ Author
104
+ ---------------*/
105
105
 
106
106
  .ui.comments .comment .author {
107
107
  font-size: 1em;
@@ -116,8 +116,8 @@
116
116
  }
117
117
 
118
118
  /*--------------
119
- Metadata
120
- ---------------*/
119
+ Metadata
120
+ ---------------*/
121
121
 
122
122
  .ui.comments .comment .metadata {
123
123
  display: inline-block;
@@ -146,8 +146,8 @@
146
146
  }
147
147
 
148
148
  /*--------------------
149
- User Actions
150
- ---------------------*/
149
+ User Actions
150
+ ---------------------*/
151
151
 
152
152
  .ui.comments .comment .actions {
153
153
  font-size: 0.875em;
@@ -167,8 +167,8 @@
167
167
  }
168
168
 
169
169
  /*--------------------
170
- Reply Form
171
- ---------------------*/
170
+ Reply Form
171
+ ---------------------*/
172
172
 
173
173
  .ui.comments > .reply.form {
174
174
  margin-top: 1em;
@@ -1,5 +1,5 @@
1
1
  /*!
2
- * # Fomantic-UI 2.9.0-beta.12 - Comment
2
+ * # Fomantic-UI 2.9.0-beta.120 - Comment
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.12 - Container
2
+ * # Fomantic-UI 2.9.0-beta.120 - Container
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.12 - Container
2
+ * # Fomantic-UI 2.9.0-beta.120 - Container
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.12 - Dimmer
2
+ * # Fomantic-UI 2.9.0-beta.120 - Dimmer
3
3
  * http://github.com/fomantic/Fomantic-UI/
4
4
  *
5
5
  *
@@ -33,8 +33,8 @@
33
33
  animation-fill-mode: both;
34
34
  -webkit-animation-duration: 0.5s;
35
35
  animation-duration: 0.5s;
36
- -webkit-transition: background-color 0.5s linear;
37
- transition: background-color 0.5s linear;
36
+ -webkit-transition: all 0.5s linear;
37
+ transition: all 0.5s linear;
38
38
  -webkit-box-orient: vertical;
39
39
  -webkit-box-direction: normal;
40
40
  -ms-flex-direction: column;
@@ -80,6 +80,17 @@
80
80
  .ui.dimmer:not(.inverted)::-webkit-scrollbar-thumb:hover {
81
81
  background: rgba(255, 255, 255, 0.35);
82
82
  }
83
+ .ui.dimmer:not(.inverted) {
84
+
85
+ /* IE11 */
86
+ scrollbar-face-color: #656565;
87
+ scrollbar-shadow-color: #656565;
88
+ scrollbar-track-color: #323232;
89
+ scrollbar-arrow-color: #323232;
90
+
91
+ /* firefox : first color thumb, second track */
92
+ scrollbar-color: rgba(255, 255, 255, 0.25) rgba(255, 255, 255, 0.1);
93
+ }
83
94
 
84
95
 
85
96
  /*******************************
@@ -170,22 +181,25 @@ body.dimmable > .dimmer {
170
181
  Blurring
171
182
  ---------------*/
172
183
 
173
- .blurring.dimmable > :not(.dimmer) {
174
- -webkit-filter: initial;
175
- filter: initial;
176
- -webkit-transition: 800ms -webkit-filter ease;
177
- transition: 800ms -webkit-filter ease;
178
- transition: 800ms filter ease;
179
- transition: 800ms filter ease, 800ms -webkit-filter ease;
180
- }
181
- .blurring.dimmed.dimmable > :not(.dimmer):not(.popup) {
182
- -webkit-filter: blur(5px) grayscale(0.7);
183
- filter: blur(5px) grayscale(0.7);
184
+ @supports (not (-webkit-backdrop-filter: none)) and (not (backdrop-filter: none)) {
185
+ .blurring.dimmable > :not(.dimmer) {
186
+ -webkit-filter: initial;
187
+ filter: initial;
188
+ -webkit-transition: 800ms -webkit-filter ease;
189
+ transition: 800ms -webkit-filter ease;
190
+ transition: 800ms filter ease;
191
+ transition: 800ms filter ease, 800ms -webkit-filter ease;
192
+ }
193
+ .blurring.dimmed.dimmable > :not(.dimmer):not(.popup) {
194
+ -webkit-filter: blur(5px) grayscale(0.7);
195
+ filter: blur(5px) grayscale(0.7);
196
+ }
184
197
  }
185
198
 
186
199
  /* Dimmer Color */
187
200
  .blurring.dimmable > .dimmer {
188
201
  background: rgba(0, 0, 0, 0.6);
202
+ backdrop-filter: blur(5px) grayscale(0.7);
189
203
  }
190
204
  .blurring.dimmable > .inverted.dimmer {
191
205
  background: rgba(255, 255, 255, 0.6);
@@ -1,5 +1,5 @@
1
1
  /*!
2
- * # Fomantic-UI 2.9.0-beta.12 - Dimmer
2
+ * # Fomantic-UI 2.9.0-beta.120 - Dimmer
3
3
  * http://github.com/fomantic/Fomantic-UI/
4
4
  *
5
5
  *
@@ -1,9 +1,9 @@
1
1
  /*!
2
- * # Fomantic-UI 2.9.0-beta.12 - Dimmer
2
+ * # Fomantic-UI 2.9.0-beta.120 - Dimmer
3
3
  * http://github.com/fomantic/Fomantic-UI/
4
4
  *
5
5
  *
6
6
  * Released under the MIT license
7
7
  * http://opensource.org/licenses/MIT
8
8
  *
9
- */.dimmable:not(body){position:relative}.ui.dimmer{display:none;position:absolute;top:0!important;left:0!important;width:100%;height:100%;text-align:center;vertical-align:middle;padding:1em;background:rgba(0,0,0,.85);opacity:0;line-height:1;-webkit-animation-fill-mode:both;animation-fill-mode:both;-webkit-animation-duration:.5s;animation-duration:.5s;-webkit-transition:background-color .5s linear;transition:background-color .5s linear;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;will-change:opacity;z-index:1000}.ui.dimmer>.content{-webkit-user-select:text;-moz-user-select:text;-ms-user-select:text;user-select:text;color:#fff}.ui.segment>.ui.dimmer:not(.page){border-radius:inherit}.ui.dimmer:not(.inverted)::-webkit-scrollbar-track{background:rgba(255,255,255,.1)}.ui.dimmer:not(.inverted)::-webkit-scrollbar-thumb{background:rgba(255,255,255,.25)}.ui.dimmer:not(.inverted)::-webkit-scrollbar-thumb:window-inactive{background:rgba(255,255,255,.15)}.ui.dimmer:not(.inverted)::-webkit-scrollbar-thumb:hover{background:rgba(255,255,255,.35)}.animating.dimmable:not(body),.dimmed.dimmable:not(body){overflow:hidden}.dimmed.dimmable>.ui.animating.dimmer,.dimmed.dimmable>.ui.visible.dimmer,.ui.active.dimmer{display:-webkit-box;display:-ms-flexbox;display:flex;opacity:1}.ui.disabled.dimmer{width:0!important;height:0!important}.dimmed.dimmable>.ui.animating.legacy.dimmer,.dimmed.dimmable>.ui.visible.legacy.dimmer,.ui.active.legacy.dimmer{display:block}.ui[class*="top aligned"].dimmer{-webkit-box-pack:start;-ms-flex-pack:start;justify-content:flex-start}.ui[class*="bottom aligned"].dimmer{-webkit-box-pack:end;-ms-flex-pack:end;justify-content:flex-end}.ui.page.dimmer{position:fixed;-webkit-transform-style:'';transform-style:'';-webkit-perspective:2000px;perspective:2000px;-webkit-transform-origin:center center;transform-origin:center center}.ui.page.dimmer.modals{-moz-perspective:none}body.animating.in.dimmable,body.dimmed.dimmable{overflow:hidden}body.dimmable>.dimmer{position:fixed}.blurring.dimmable>:not(.dimmer){-webkit-filter:initial;filter:initial;-webkit-transition:.8s -webkit-filter ease;transition:.8s -webkit-filter ease;transition:.8s filter ease;transition:.8s filter ease,.8s -webkit-filter ease}.blurring.dimmed.dimmable>:not(.dimmer):not(.popup){-webkit-filter:blur(5px) grayscale(.7);filter:blur(5px) grayscale(.7)}.blurring.dimmable>.dimmer{background:rgba(0,0,0,.6)}.blurring.dimmable>.inverted.dimmer{background:rgba(255,255,255,.6)}.ui.dimmer>.top.aligned.content>*{vertical-align:top}.ui.dimmer>.bottom.aligned.content>*{vertical-align:bottom}.medium.medium.medium.medium.medium.dimmer{background:rgba(0,0,0,.65)}.light.light.light.light.light.dimmer{background:rgba(0,0,0,.45)}.very.light.light.light.light.dimmer{background:rgba(0,0,0,.25)}.ui.inverted.dimmer{background:rgba(255,255,255,.85)}.ui.inverted.dimmer>.content,.ui.inverted.dimmer>.content>*{color:#000}.medium.medium.medium.medium.medium.inverted.dimmer{background:rgba(255,255,255,.65)}.light.light.light.light.light.inverted.dimmer{background:rgba(255,255,255,.45)}.very.light.light.light.light.inverted.dimmer{background:rgba(255,255,255,.25)}.ui.simple.dimmer{display:block;overflow:hidden;opacity:0;width:0;height:0;z-index:-100;background:rgba(0,0,0,0)}.dimmed.dimmable>.ui.simple.dimmer{overflow:visible;opacity:1;width:100%;height:100%;background:rgba(0,0,0,.85);z-index:1}.ui.simple.inverted.dimmer{background:rgba(255,255,255,0)}.dimmed.dimmable>.ui.simple.inverted.dimmer{background:rgba(255,255,255,.85)}.ui[class*="bottom dimmer"],.ui[class*="center dimmer"],.ui[class*="top dimmer"]{height:auto}.ui[class*="bottom dimmer"]{top:auto!important;bottom:0}.ui[class*="center dimmer"]{top:50%!important;transform:translateY(-50%);-webkit-transform:translateY(calc(-50% - .5px))}.ui.segment>.ui.ui[class*="top dimmer"]{border-bottom-left-radius:0;border-bottom-right-radius:0}.ui.segment>.ui.ui[class*="center dimmer"]{border-radius:0}.ui.segment>.ui.ui[class*="bottom dimmer"]{border-top-left-radius:0;border-top-right-radius:0}.ui[class*="center dimmer"].transition[class*="fade up"].in{-webkit-animation-name:fadeInUpCenter;animation-name:fadeInUpCenter}.ui[class*="center dimmer"].transition[class*="fade down"].in{-webkit-animation-name:fadeInDownCenter;animation-name:fadeInDownCenter}.ui[class*="center dimmer"].transition[class*="fade up"].out{-webkit-animation-name:fadeOutUpCenter;animation-name:fadeOutUpCenter}.ui[class*="center dimmer"].transition[class*="fade down"].out{-webkit-animation-name:fadeOutDownCenter;animation-name:fadeOutDownCenter}.ui[class*="center dimmer"].bounce.transition{-webkit-animation-name:bounceCenter;animation-name:bounceCenter}@-webkit-keyframes fadeInUpCenter{0%{opacity:0;transform:translateY(-40%);-webkit-transform:translateY(calc(-40% - .5px))}100%{opacity:1;transform:translateY(-50%);-webkit-transform:translateY(calc(-50% - .5px))}}@keyframes fadeInUpCenter{0%{opacity:0;transform:translateY(-40%);-webkit-transform:translateY(calc(-40% - .5px))}100%{opacity:1;transform:translateY(-50%);-webkit-transform:translateY(calc(-50% - .5px))}}@-webkit-keyframes fadeInDownCenter{0%{opacity:0;transform:translateY(-60%);-webkit-transform:translateY(calc(-60% - .5px))}100%{opacity:1;transform:translateY(-50%);-webkit-transform:translateY(calc(-50% - .5px))}}@keyframes fadeInDownCenter{0%{opacity:0;transform:translateY(-60%);-webkit-transform:translateY(calc(-60% - .5px))}100%{opacity:1;transform:translateY(-50%);-webkit-transform:translateY(calc(-50% - .5px))}}@-webkit-keyframes fadeOutUpCenter{0%{opacity:1;transform:translateY(-50%);-webkit-transform:translateY(calc(-50% - .5px))}100%{opacity:0;transform:translateY(-45%);-webkit-transform:translateY(calc(-45% - .5px))}}@keyframes fadeOutUpCenter{0%{opacity:1;transform:translateY(-50%);-webkit-transform:translateY(calc(-50% - .5px))}100%{opacity:0;transform:translateY(-45%);-webkit-transform:translateY(calc(-45% - .5px))}}@-webkit-keyframes fadeOutDownCenter{0%{opacity:1;transform:translateY(-50%);-webkit-transform:translateY(calc(-50% - .5px))}100%{opacity:0;transform:translateY(-55%);-webkit-transform:translateY(calc(-55% - .5px))}}@keyframes fadeOutDownCenter{0%{opacity:1;transform:translateY(-50%);-webkit-transform:translateY(calc(-50% - .5px))}100%{opacity:0;transform:translateY(-55%);-webkit-transform:translateY(calc(-55% - .5px))}}@-webkit-keyframes bounceCenter{0%,100%,20%,50%,80%{transform:translateY(-50%);-webkit-transform:translateY(calc(-50% - .5px))}40%{-webkit-transform:translateY(calc(-50% - 30px));transform:translateY(calc(-50% - 30px))}60%{-webkit-transform:translateY(calc(-50% - 15px));transform:translateY(calc(-50% - 15px))}}@keyframes bounceCenter{0%,100%,20%,50%,80%{transform:translateY(-50%);-webkit-transform:translateY(calc(-50% - .5px))}40%{-webkit-transform:translateY(calc(-50% - 30px));transform:translateY(calc(-50% - 30px))}60%{-webkit-transform:translateY(calc(-50% - 15px));transform:translateY(calc(-50% - 15px))}}
9
+ */.dimmable:not(body){position:relative}.ui.dimmer{display:none;position:absolute;top:0!important;left:0!important;width:100%;height:100%;text-align:center;vertical-align:middle;padding:1em;background:rgba(0,0,0,.85);opacity:0;line-height:1;-webkit-animation-fill-mode:both;animation-fill-mode:both;-webkit-animation-duration:.5s;animation-duration:.5s;-webkit-transition:all .5s linear;transition:all .5s linear;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;will-change:opacity;z-index:1000}.ui.dimmer>.content{-webkit-user-select:text;-moz-user-select:text;-ms-user-select:text;user-select:text;color:#fff}.ui.segment>.ui.dimmer:not(.page){border-radius:inherit}.ui.dimmer:not(.inverted)::-webkit-scrollbar-track{background:rgba(255,255,255,.1)}.ui.dimmer:not(.inverted)::-webkit-scrollbar-thumb{background:rgba(255,255,255,.25)}.ui.dimmer:not(.inverted)::-webkit-scrollbar-thumb:window-inactive{background:rgba(255,255,255,.15)}.ui.dimmer:not(.inverted)::-webkit-scrollbar-thumb:hover{background:rgba(255,255,255,.35)}.ui.dimmer:not(.inverted){scrollbar-face-color:#656565;scrollbar-shadow-color:#656565;scrollbar-track-color:#323232;scrollbar-arrow-color:#323232;scrollbar-color:rgba(255,255,255,.25) rgba(255,255,255,.1)}.animating.dimmable:not(body),.dimmed.dimmable:not(body){overflow:hidden}.dimmed.dimmable>.ui.animating.dimmer,.dimmed.dimmable>.ui.visible.dimmer,.ui.active.dimmer{display:-webkit-box;display:-ms-flexbox;display:flex;opacity:1}.ui.disabled.dimmer{width:0!important;height:0!important}.dimmed.dimmable>.ui.animating.legacy.dimmer,.dimmed.dimmable>.ui.visible.legacy.dimmer,.ui.active.legacy.dimmer{display:block}.ui[class*="top aligned"].dimmer{-webkit-box-pack:start;-ms-flex-pack:start;justify-content:flex-start}.ui[class*="bottom aligned"].dimmer{-webkit-box-pack:end;-ms-flex-pack:end;justify-content:flex-end}.ui.page.dimmer{position:fixed;-webkit-transform-style:'';transform-style:'';-webkit-perspective:2000px;perspective:2000px;-webkit-transform-origin:center center;transform-origin:center center}.ui.page.dimmer.modals{-moz-perspective:none}body.animating.in.dimmable,body.dimmed.dimmable{overflow:hidden}body.dimmable>.dimmer{position:fixed}@supports (not (-webkit-backdrop-filter:none)) and (not (backdrop-filter:none)){.blurring.dimmable>:not(.dimmer){-webkit-filter:initial;filter:initial;-webkit-transition:.8s -webkit-filter ease;transition:.8s -webkit-filter ease;transition:.8s filter ease;transition:.8s filter ease,.8s -webkit-filter ease}.blurring.dimmed.dimmable>:not(.dimmer):not(.popup){-webkit-filter:blur(5px) grayscale(.7);filter:blur(5px) grayscale(.7)}}.blurring.dimmable>.dimmer{background:rgba(0,0,0,.6);backdrop-filter:blur(5px) grayscale(.7)}.blurring.dimmable>.inverted.dimmer{background:rgba(255,255,255,.6)}.ui.dimmer>.top.aligned.content>*{vertical-align:top}.ui.dimmer>.bottom.aligned.content>*{vertical-align:bottom}.medium.medium.medium.medium.medium.dimmer{background:rgba(0,0,0,.65)}.light.light.light.light.light.dimmer{background:rgba(0,0,0,.45)}.very.light.light.light.light.dimmer{background:rgba(0,0,0,.25)}.ui.inverted.dimmer{background:rgba(255,255,255,.85)}.ui.inverted.dimmer>.content,.ui.inverted.dimmer>.content>*{color:#000}.medium.medium.medium.medium.medium.inverted.dimmer{background:rgba(255,255,255,.65)}.light.light.light.light.light.inverted.dimmer{background:rgba(255,255,255,.45)}.very.light.light.light.light.inverted.dimmer{background:rgba(255,255,255,.25)}.ui.simple.dimmer{display:block;overflow:hidden;opacity:0;width:0;height:0;z-index:-100;background:rgba(0,0,0,0)}.dimmed.dimmable>.ui.simple.dimmer{overflow:visible;opacity:1;width:100%;height:100%;background:rgba(0,0,0,.85);z-index:1}.ui.simple.inverted.dimmer{background:rgba(255,255,255,0)}.dimmed.dimmable>.ui.simple.inverted.dimmer{background:rgba(255,255,255,.85)}.ui[class*="bottom dimmer"],.ui[class*="center dimmer"],.ui[class*="top dimmer"]{height:auto}.ui[class*="bottom dimmer"]{top:auto!important;bottom:0}.ui[class*="center dimmer"]{top:50%!important;transform:translateY(-50%);-webkit-transform:translateY(calc(-50% - .5px))}.ui.segment>.ui.ui[class*="top dimmer"]{border-bottom-left-radius:0;border-bottom-right-radius:0}.ui.segment>.ui.ui[class*="center dimmer"]{border-radius:0}.ui.segment>.ui.ui[class*="bottom dimmer"]{border-top-left-radius:0;border-top-right-radius:0}.ui[class*="center dimmer"].transition[class*="fade up"].in{-webkit-animation-name:fadeInUpCenter;animation-name:fadeInUpCenter}.ui[class*="center dimmer"].transition[class*="fade down"].in{-webkit-animation-name:fadeInDownCenter;animation-name:fadeInDownCenter}.ui[class*="center dimmer"].transition[class*="fade up"].out{-webkit-animation-name:fadeOutUpCenter;animation-name:fadeOutUpCenter}.ui[class*="center dimmer"].transition[class*="fade down"].out{-webkit-animation-name:fadeOutDownCenter;animation-name:fadeOutDownCenter}.ui[class*="center dimmer"].bounce.transition{-webkit-animation-name:bounceCenter;animation-name:bounceCenter}@-webkit-keyframes fadeInUpCenter{0%{opacity:0;transform:translateY(-40%);-webkit-transform:translateY(calc(-40% - .5px))}100%{opacity:1;transform:translateY(-50%);-webkit-transform:translateY(calc(-50% - .5px))}}@keyframes fadeInUpCenter{0%{opacity:0;transform:translateY(-40%);-webkit-transform:translateY(calc(-40% - .5px))}100%{opacity:1;transform:translateY(-50%);-webkit-transform:translateY(calc(-50% - .5px))}}@-webkit-keyframes fadeInDownCenter{0%{opacity:0;transform:translateY(-60%);-webkit-transform:translateY(calc(-60% - .5px))}100%{opacity:1;transform:translateY(-50%);-webkit-transform:translateY(calc(-50% - .5px))}}@keyframes fadeInDownCenter{0%{opacity:0;transform:translateY(-60%);-webkit-transform:translateY(calc(-60% - .5px))}100%{opacity:1;transform:translateY(-50%);-webkit-transform:translateY(calc(-50% - .5px))}}@-webkit-keyframes fadeOutUpCenter{0%{opacity:1;transform:translateY(-50%);-webkit-transform:translateY(calc(-50% - .5px))}100%{opacity:0;transform:translateY(-45%);-webkit-transform:translateY(calc(-45% - .5px))}}@keyframes fadeOutUpCenter{0%{opacity:1;transform:translateY(-50%);-webkit-transform:translateY(calc(-50% - .5px))}100%{opacity:0;transform:translateY(-45%);-webkit-transform:translateY(calc(-45% - .5px))}}@-webkit-keyframes fadeOutDownCenter{0%{opacity:1;transform:translateY(-50%);-webkit-transform:translateY(calc(-50% - .5px))}100%{opacity:0;transform:translateY(-55%);-webkit-transform:translateY(calc(-55% - .5px))}}@keyframes fadeOutDownCenter{0%{opacity:1;transform:translateY(-50%);-webkit-transform:translateY(calc(-50% - .5px))}100%{opacity:0;transform:translateY(-55%);-webkit-transform:translateY(calc(-55% - .5px))}}@-webkit-keyframes bounceCenter{0%,100%,20%,50%,80%{transform:translateY(-50%);-webkit-transform:translateY(calc(-50% - .5px))}40%{-webkit-transform:translateY(calc(-50% - 30px));transform:translateY(calc(-50% - 30px))}60%{-webkit-transform:translateY(calc(-50% - 15px));transform:translateY(calc(-50% - 15px))}}@keyframes bounceCenter{0%,100%,20%,50%,80%{transform:translateY(-50%);-webkit-transform:translateY(calc(-50% - .5px))}40%{-webkit-transform:translateY(calc(-50% - 30px));transform:translateY(calc(-50% - 30px))}60%{-webkit-transform:translateY(calc(-50% - 15px));transform:translateY(calc(-50% - 15px))}}
@@ -1,5 +1,5 @@
1
1
  /*
2
- * # Fomantic UI - 2.9.0-beta.12
2
+ * # Fomantic UI - 2.9.0-beta.120
3
3
  * https://github.com/fomantic/Fomantic-UI
4
4
  * http://fomantic-ui.com/
5
5
  *
@@ -1,5 +1,5 @@
1
1
  /*!
2
- * # Fomantic-UI 2.9.0-beta.12 - Divider
2
+ * # Fomantic-UI 2.9.0-beta.120 - Divider
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.12 - Divider
2
+ * # Fomantic-UI 2.9.0-beta.120 - Divider
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.12 - Dropdown
2
+ * # Fomantic-UI 2.9.0-beta.120 - Dropdown
3
3
  * http://github.com/fomantic/Fomantic-UI/
4
4
  *
5
5
  *
@@ -365,9 +365,15 @@
365
365
  .ui.dropdown.icon.button > .dropdown.icon {
366
366
  margin: 0;
367
367
  }
368
- .ui.button.dropdown .menu {
368
+ .ui.dropdown.button .menu {
369
369
  min-width: 100%;
370
370
  }
371
+ .ui.dropdown.button:not(.pointing):not(.floating).active {
372
+ border-radius: 0.28571429rem 0.28571429rem 0 0;
373
+ }
374
+ .ui.dropdown.button:not(.pointing):not(.floating) > .menu {
375
+ border-radius: 0 0 0.28571429rem 0.28571429rem;
376
+ }
371
377
 
372
378
 
373
379
  /*******************************
@@ -1301,7 +1307,6 @@ select.ui.dropdown {
1301
1307
  bottom: 100%;
1302
1308
  -webkit-box-shadow: 0 0 3px 0 rgba(0, 0, 0, 0.08);
1303
1309
  box-shadow: 0 0 3px 0 rgba(0, 0, 0, 0.08);
1304
- border-radius: 0.28571429rem 0.28571429rem 0 0;
1305
1310
  }
1306
1311
 
1307
1312
  /* Upward Sub Menu */
@@ -1315,7 +1320,12 @@ select.ui.dropdown {
1315
1320
  .ui.simple.upward.dropdown:hover {
1316
1321
  border-radius: 0.28571429rem 0.28571429rem 0 0 !important;
1317
1322
  }
1323
+
1324
+ /* Button */
1318
1325
  .ui.upward.dropdown.button:not(.pointing):not(.floating).active {
1326
+ border-radius: 0 0 0.28571429rem 0.28571429rem;
1327
+ }
1328
+ .ui.upward.dropdown.button:not(.pointing):not(.floating) > .menu {
1319
1329
  border-radius: 0.28571429rem 0.28571429rem 0 0;
1320
1330
  }
1321
1331
 
@@ -1325,6 +1335,7 @@ select.ui.dropdown {
1325
1335
  border-bottom-width: 0 !important;
1326
1336
  -webkit-box-shadow: 0 -2px 3px 0 rgba(0, 0, 0, 0.08);
1327
1337
  box-shadow: 0 -2px 3px 0 rgba(0, 0, 0, 0.08);
1338
+ border-radius: 0.28571429rem 0.28571429rem 0 0;
1328
1339
  }
1329
1340
  .ui.upward.selection.dropdown:hover {
1330
1341
  -webkit-box-shadow: 0 0 2px 0 rgba(0, 0, 0, 0.05);
@@ -1454,8 +1465,8 @@ select.ui.dropdown {
1454
1465
  }
1455
1466
 
1456
1467
  /*--------------
1457
- Columnar
1458
- ---------------*/
1468
+ Columnar
1469
+ ---------------*/
1459
1470
 
1460
1471
  .ui.column.dropdown > .menu {
1461
1472
  -ms-flex-wrap: wrap;
@@ -1985,6 +1996,18 @@ select.ui.dropdown {
1985
1996
  .ui.inverted.dropdown .menu::-webkit-scrollbar-thumb:hover {
1986
1997
  background: rgba(255, 255, 255, 0.35);
1987
1998
  }
1999
+ .ui.dropdown .inverted.menu,
2000
+ .ui.inverted.dropdown .menu {
2001
+
2002
+ /* IE11 */
2003
+ scrollbar-face-color: #656565;
2004
+ scrollbar-shadow-color: #656565;
2005
+ scrollbar-track-color: #323232;
2006
+ scrollbar-arrow-color: #323232;
2007
+
2008
+ /* firefox : first color thumb, second track */
2009
+ scrollbar-color: rgba(255, 255, 255, 0.25) rgba(255, 255, 255, 0.1);
2010
+ }
1988
2011
  .ui.pointing.dropdown > .inverted.menu:after,
1989
2012
  .ui.inverted.pointing.dropdown > .menu:after {
1990
2013
  background: #1B1C1D;
@@ -1,5 +1,5 @@
1
1
  /*!
2
- * # Fomantic-UI 2.9.0-beta.12 - Dropdown
2
+ * # Fomantic-UI 2.9.0-beta.120 - Dropdown
3
3
  * http://github.com/fomantic/Fomantic-UI/
4
4
  *
5
5
  *
@@ -200,6 +200,7 @@ $.fn.dropdown = function(parameters) {
200
200
  select: function() {
201
201
  if(module.has.input() && selectObserver) {
202
202
  selectObserver.observe($module[0], {
203
+ attributes: true,
203
204
  childList : true,
204
205
  subtree : true
205
206
  });
@@ -421,6 +422,9 @@ $.fn.dropdown = function(parameters) {
421
422
  module.debug('Disabling dropdown');
422
423
  $module.addClass(className.disabled);
423
424
  }
425
+ if($input.is('[required]')) {
426
+ settings.forceSelection = true;
427
+ }
424
428
  $input
425
429
  .removeAttr('required')
426
430
  .removeAttr('class')
@@ -1285,8 +1289,8 @@ $.fn.dropdown = function(parameters) {
1285
1289
  },
1286
1290
  select: {
1287
1291
  mutation: function(mutations) {
1288
- module.debug('<select> modified, recreating menu');
1289
1292
  if(module.is.selectMutation(mutations)) {
1293
+ module.debug('<select> modified, recreating menu');
1290
1294
  module.disconnect.selectObserver();
1291
1295
  module.refresh();
1292
1296
  module.setup.select();
@@ -1629,7 +1633,7 @@ $.fn.dropdown = function(parameters) {
1629
1633
  .addClass(className.selected)
1630
1634
  ;
1631
1635
  module.set.scrollPosition($nextItem);
1632
- if(settings.selectOnKeydown && module.is.single()) {
1636
+ if(settings.selectOnKeydown && module.is.single() && !$nextItem.hasClass(className.actionable)) {
1633
1637
  module.set.selectedItem($nextItem);
1634
1638
  }
1635
1639
  }
@@ -1656,7 +1660,7 @@ $.fn.dropdown = function(parameters) {
1656
1660
  .addClass(className.selected)
1657
1661
  ;
1658
1662
  module.set.scrollPosition($nextItem);
1659
- if(settings.selectOnKeydown && module.is.single()) {
1663
+ if(settings.selectOnKeydown && module.is.single() && !$nextItem.hasClass(className.actionable)) {
1660
1664
  module.set.selectedItem($nextItem);
1661
1665
  }
1662
1666
  }
@@ -1787,7 +1791,7 @@ $.fn.dropdown = function(parameters) {
1787
1791
  ;
1788
1792
  if( module.can.activate( $(element) ) ) {
1789
1793
  module.set.selected(value, $(element));
1790
- if(!module.is.multiple()) {
1794
+ if(!module.is.multiple() && !(!settings.collapseOnActionable && $(element).hasClass(className.actionable))) {
1791
1795
  module.hideAndClear();
1792
1796
  }
1793
1797
  }
@@ -1800,7 +1804,7 @@ $.fn.dropdown = function(parameters) {
1800
1804
  ;
1801
1805
  if( module.can.activate( $(element) ) ) {
1802
1806
  module.set.value(value, text, $(element));
1803
- if(!module.is.multiple()) {
1807
+ if(!module.is.multiple() && !(!settings.collapseOnActionable && $(element).hasClass(className.actionable))) {
1804
1808
  module.hideAndClear();
1805
1809
  }
1806
1810
  }
@@ -2320,7 +2324,7 @@ $.fn.dropdown = function(parameters) {
2320
2324
  module.error(error.noStorage);
2321
2325
  return;
2322
2326
  }
2323
- name = sessionStorage.getItem(value);
2327
+ name = sessionStorage.getItem(value + elementNamespace);
2324
2328
  return (name !== undefined)
2325
2329
  ? name
2326
2330
  : false
@@ -2364,7 +2368,7 @@ $.fn.dropdown = function(parameters) {
2364
2368
  return;
2365
2369
  }
2366
2370
  module.verbose('Saving remote data to session storage', value, name);
2367
- sessionStorage.setItem(value, name);
2371
+ sessionStorage.setItem(value + elementNamespace, name);
2368
2372
  }
2369
2373
  },
2370
2374
 
@@ -2424,7 +2428,7 @@ $.fn.dropdown = function(parameters) {
2424
2428
  $nextSelectedItem
2425
2429
  .addClass(className.selected)
2426
2430
  ;
2427
- if(settings.selectOnKeydown && module.is.single()) {
2431
+ if(settings.selectOnKeydown && module.is.single() && !$nextItem.hasClass(className.actionable)) {
2428
2432
  module.set.selectedItem($nextSelectedItem);
2429
2433
  }
2430
2434
  $menu
@@ -2627,7 +2631,7 @@ $.fn.dropdown = function(parameters) {
2627
2631
  module.set.scrollPosition($nextValue);
2628
2632
  $selectedItem.removeClass(className.selected);
2629
2633
  $nextValue.addClass(className.selected);
2630
- if(settings.selectOnKeydown && module.is.single()) {
2634
+ if(settings.selectOnKeydown && module.is.single() && !$nextItem.hasClass(className.actionable)) {
2631
2635
  module.set.selectedItem($nextValue);
2632
2636
  }
2633
2637
  }
@@ -2765,17 +2769,24 @@ $.fn.dropdown = function(parameters) {
2765
2769
 
2766
2770
  isFiltered = $selected.hasClass(className.filtered),
2767
2771
  isActive = $selected.hasClass(className.active),
2772
+ isActionable = $selected.hasClass(className.actionable),
2768
2773
  isUserValue = $selected.hasClass(className.addition),
2769
2774
  shouldAnimate = (isMultiple && $selectedItem.length == 1)
2770
2775
  ;
2771
- if(isMultiple) {
2776
+ if(isActionable){
2777
+ if((!isMultiple || (!isActive || isUserValue)) && settings.apiSettings && settings.saveRemoteData) {
2778
+ module.save.remoteData(selectedText, selectedValue);
2779
+ }
2780
+ settings.onActionable.call(element, selectedValue, selectedText, $selected);
2781
+ }
2782
+ else if(isMultiple) {
2772
2783
  if(!isActive || isUserValue) {
2773
2784
  if(settings.apiSettings && settings.saveRemoteData) {
2774
2785
  module.save.remoteData(selectedText, selectedValue);
2775
2786
  }
2776
2787
  if(settings.useLabels) {
2777
- module.add.label(selectedValue, selectedText, shouldAnimate);
2778
2788
  module.add.value(selectedValue, selectedText, $selected);
2789
+ module.add.label(selectedValue, selectedText, shouldAnimate);
2779
2790
  module.set.activeItem($selected);
2780
2791
  module.filterActive();
2781
2792
  module.select.nextAvailable($selectedItem);
@@ -2795,7 +2806,7 @@ $.fn.dropdown = function(parameters) {
2795
2806
  if(settings.apiSettings && settings.saveRemoteData) {
2796
2807
  module.save.remoteData(selectedText, selectedValue);
2797
2808
  }
2798
- if (!keepSearchTerm) {
2809
+ if (!keepSearchTerm && !$selected.hasClass(className.actionable)) {
2799
2810
  module.set.text(selectedText);
2800
2811
  }
2801
2812
  module.set.value(selectedValue, selectedText, $selected, preventChangeTrigger);
@@ -2985,7 +2996,7 @@ $.fn.dropdown = function(parameters) {
2985
2996
  }
2986
2997
  // extend current array
2987
2998
  if(Array.isArray(currentValue)) {
2988
- newValue = currentValue.concat([addedValue]);
2999
+ newValue = $selectedItem.hasClass(className.actionable) ? currentValue : currentValue.concat([addedValue]);
2989
3000
  newValue = module.get.uniqueArray(newValue);
2990
3001
  }
2991
3002
  else {
@@ -3069,18 +3080,10 @@ $.fn.dropdown = function(parameters) {
3069
3080
  return;
3070
3081
  }
3071
3082
  // temporarily disconnect observer
3072
- if(selectObserver) {
3073
- selectObserver.disconnect();
3074
- module.verbose('Temporarily disconnecting mutation observer');
3075
- }
3083
+ module.disconnect.selectObserver();
3076
3084
  $option.remove();
3077
3085
  module.verbose('Removing user addition as an <option>', escapedValue);
3078
- if(selectObserver) {
3079
- selectObserver.observe($input[0], {
3080
- childList : true,
3081
- subtree : true
3082
- });
3083
- }
3086
+ module.observe.select();
3084
3087
  },
3085
3088
  message: function() {
3086
3089
  $menu.children(selector.message).remove();
@@ -3445,7 +3448,7 @@ $.fn.dropdown = function(parameters) {
3445
3448
  selectChanged = false
3446
3449
  ;
3447
3450
  $.each(mutations, function(index, mutation) {
3448
- if($(mutation.target).is('select') || $(mutation.addedNodes).is('select')) {
3451
+ if($(mutation.target).is('select, option, optgroup') || $(mutation.addedNodes).is('select')) {
3449
3452
  selectChanged = true;
3450
3453
  return false;
3451
3454
  }
@@ -3990,7 +3993,7 @@ $.fn.dropdown.settings = {
3990
3993
  keepOnScreen : true, // Whether dropdown should check whether it is on screen before showing
3991
3994
 
3992
3995
  match : 'both', // what to match against with search selection (both, text, or label)
3993
- fullTextSearch : false, // search anywhere in value (set to 'exact' to require exact matches)
3996
+ fullTextSearch : 'exact', // search anywhere in value (set to 'exact' to require exact matches)
3994
3997
  ignoreDiacritics : false, // match results also if they contain diacritics of the same base character (for example searching for "a" will also match "á" or "â" or "à", etc...)
3995
3998
  hideDividers : false, // Whether to hide any divider elements (specified in selector.divider) that are sibling to any items when searched (set to true will hide all dividers, set to 'empty' will hide them when they are not followed by a visible item)
3996
3999
 
@@ -3998,7 +4001,7 @@ $.fn.dropdown.settings = {
3998
4001
  preserveHTML : true, // preserve html when selecting value
3999
4002
  sortSelect : false, // sort selection on init
4000
4003
 
4001
- forceSelection : true, // force a choice on blur with search selection
4004
+ forceSelection : false, // force a choice on blur with search selection
4002
4005
 
4003
4006
  allowAdditions : false, // whether multiple select should allow user added values
4004
4007
  ignoreCase : false, // whether to consider case sensitivity when creating labels
@@ -4009,7 +4012,7 @@ $.fn.dropdown.settings = {
4009
4012
  useLabels : true, // whether multiple select should filter currently active selections from choices
4010
4013
  delimiter : ',', // when multiselect uses normal <input> the values will be delimited with this character
4011
4014
 
4012
- showOnFocus : true, // show menu on focus
4015
+ showOnFocus : false, // show menu on focus
4013
4016
  allowReselection : false, // whether current value should trigger callbacks when reselected
4014
4017
  allowTab : true, // add tabindex to element
4015
4018
  allowCategorySelection : false, // allow elements with sub-menus to be selected
@@ -4024,6 +4027,8 @@ $.fn.dropdown.settings = {
4024
4027
 
4025
4028
  headerDivider : true, // whether option headers should have an additional divider line underneath when converted from <select> <optgroup>
4026
4029
 
4030
+ collapseOnActionable : true, // whether the dropdown should collapse upon selection of an actionable item
4031
+
4027
4032
  // label settings on multi-select
4028
4033
  label: {
4029
4034
  transition : 'scale',
@@ -4043,6 +4048,7 @@ $.fn.dropdown.settings = {
4043
4048
  onChange : function(value, text, $selected){},
4044
4049
  onAdd : function(value, text, $selected){},
4045
4050
  onRemove : function(value, text, $selected){},
4051
+ onActionable : function(value, text, $selected){},
4046
4052
  onSearch : function(searchTerm){},
4047
4053
 
4048
4054
  onLabelSelect : function($selectedLabels){},
@@ -4105,7 +4111,8 @@ $.fn.dropdown.settings = {
4105
4111
  icon : 'icon', // optional icon name
4106
4112
  iconClass : 'iconClass', // optional individual class for icon (for example to use flag instead)
4107
4113
  class : 'class', // optional individual class for item/header
4108
- divider : 'divider' // optional divider append for group headers
4114
+ divider : 'divider', // optional divider append for group headers
4115
+ actionable : 'actionable' // optional actionable item
4109
4116
  },
4110
4117
 
4111
4118
  keys : {
@@ -4177,7 +4184,8 @@ $.fn.dropdown.settings = {
4177
4184
  header : 'header',
4178
4185
  divider : 'divider',
4179
4186
  groupIcon : '',
4180
- unfilterable : 'unfilterable'
4187
+ unfilterable : 'unfilterable',
4188
+ actionable : 'actionable'
4181
4189
  }
4182
4190
 
4183
4191
  };
@@ -4252,6 +4260,9 @@ $.fn.dropdown.settings.templates = {
4252
4260
  maybeText = (option[fields.text])
4253
4261
  ? ' data-text="' + deQuote(option[fields.text],true) + '"'
4254
4262
  : '',
4263
+ maybeActionable = (option[fields.actionable])
4264
+ ? className.actionable+' '
4265
+ : '',
4255
4266
  maybeDisabled = (option[fields.disabled])
4256
4267
  ? className.disabled+' '
4257
4268
  : '',
@@ -4260,7 +4271,7 @@ $.fn.dropdown.settings.templates = {
4260
4271
  : '',
4261
4272
  hasDescription = (escape(option[fields.description] || '', preserveHTML) != '')
4262
4273
  ;
4263
- html += '<div class="'+ maybeDisabled + maybeDescriptionVertical + (option[fields.class] ? deQuote(option[fields.class]) : className.item)+'" data-value="' + deQuote(option[fields.value],true) + '"' + maybeText + '>';
4274
+ html += '<div class="'+ maybeActionable + maybeDisabled + maybeDescriptionVertical + (option[fields.class] ? deQuote(option[fields.class]) : className.item)+'" data-value="' + deQuote(option[fields.value],true) + '"' + maybeText + '>';
4264
4275
  if (isMenu) {
4265
4276
  html += '<i class="'+ (itemType.indexOf('left') !== -1 ? 'left' : '') + ' dropdown icon"></i>';
4266
4277
  }