fomantic-ui 2.9.4-beta.5 → 2.9.4-beta.50

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 (248) hide show
  1. package/.all-contributorsrc +20 -1
  2. package/.eslintrc.js +17 -0
  3. package/.github/FUNDING.yml +1 -1
  4. package/.github/workflows/ci.yml +5 -5
  5. package/.github/workflows/depsreview.yml +14 -0
  6. package/.github/workflows/nightly.yml +1 -1
  7. package/.github/workflows/release.yml +1 -1
  8. package/CONTRIBUTORS.md +2 -0
  9. package/README.md +2 -12
  10. package/dist/components/accordion.css +1 -1
  11. package/dist/components/accordion.js +4 -2
  12. package/dist/components/accordion.min.css +1 -1
  13. package/dist/components/accordion.min.js +2 -2
  14. package/dist/components/ad.css +1 -1
  15. package/dist/components/ad.min.css +1 -1
  16. package/dist/components/api.js +7 -3
  17. package/dist/components/api.min.js +2 -2
  18. package/dist/components/breadcrumb.css +1 -1
  19. package/dist/components/breadcrumb.min.css +1 -1
  20. package/dist/components/button.css +19 -3
  21. package/dist/components/button.min.css +2 -2
  22. package/dist/components/calendar.css +1 -1
  23. package/dist/components/calendar.js +4 -2
  24. package/dist/components/calendar.min.css +1 -1
  25. package/dist/components/calendar.min.js +2 -2
  26. package/dist/components/card.css +1 -1
  27. package/dist/components/card.min.css +1 -1
  28. package/dist/components/checkbox.css +1 -1
  29. package/dist/components/checkbox.js +10 -4
  30. package/dist/components/checkbox.min.css +1 -1
  31. package/dist/components/checkbox.min.js +3 -3
  32. package/dist/components/comment.css +1 -1
  33. package/dist/components/comment.min.css +1 -1
  34. package/dist/components/container.css +1 -1
  35. package/dist/components/container.min.css +1 -1
  36. package/dist/components/dimmer.css +7 -3
  37. package/dist/components/dimmer.js +4 -2
  38. package/dist/components/dimmer.min.css +2 -2
  39. package/dist/components/dimmer.min.js +2 -2
  40. package/dist/components/divider.css +1 -1
  41. package/dist/components/divider.min.css +1 -1
  42. package/dist/components/dropdown.css +25 -22
  43. package/dist/components/dropdown.js +102 -33
  44. package/dist/components/dropdown.min.css +2 -2
  45. package/dist/components/dropdown.min.js +3 -3
  46. package/dist/components/embed.css +1 -1
  47. package/dist/components/embed.js +17 -7
  48. package/dist/components/embed.min.css +1 -1
  49. package/dist/components/embed.min.js +3 -3
  50. package/dist/components/emoji.css +1 -1
  51. package/dist/components/emoji.min.css +1 -1
  52. package/dist/components/feed.css +12 -1
  53. package/dist/components/feed.min.css +2 -2
  54. package/dist/components/flag.css +1 -1
  55. package/dist/components/flag.min.css +1 -1
  56. package/dist/components/flyout.css +1 -1
  57. package/dist/components/flyout.js +4 -2
  58. package/dist/components/flyout.min.css +1 -1
  59. package/dist/components/flyout.min.js +2 -2
  60. package/dist/components/form.css +15 -5
  61. package/dist/components/form.js +46 -20
  62. package/dist/components/form.min.css +2 -2
  63. package/dist/components/form.min.js +3 -3
  64. package/dist/components/grid.css +5 -5
  65. package/dist/components/grid.min.css +2 -2
  66. package/dist/components/header.css +4 -1
  67. package/dist/components/header.min.css +2 -2
  68. package/dist/components/icon.css +1 -1
  69. package/dist/components/icon.min.css +1 -1
  70. package/dist/components/image.css +1 -1
  71. package/dist/components/image.min.css +1 -1
  72. package/dist/components/input.css +30 -10
  73. package/dist/components/input.min.css +2 -2
  74. package/dist/components/item.css +1 -1
  75. package/dist/components/item.min.css +1 -1
  76. package/dist/components/label.css +1 -2
  77. package/dist/components/label.min.css +2 -2
  78. package/dist/components/list.css +1 -1
  79. package/dist/components/list.min.css +1 -1
  80. package/dist/components/loader.css +1 -1
  81. package/dist/components/loader.min.css +1 -1
  82. package/dist/components/menu.css +1 -2
  83. package/dist/components/menu.min.css +2 -2
  84. package/dist/components/message.css +1 -1
  85. package/dist/components/message.min.css +1 -1
  86. package/dist/components/modal.css +1 -1
  87. package/dist/components/modal.js +7 -3
  88. package/dist/components/modal.min.css +1 -1
  89. package/dist/components/modal.min.js +2 -2
  90. package/dist/components/nag.css +1 -1
  91. package/dist/components/nag.js +11 -5
  92. package/dist/components/nag.min.css +1 -1
  93. package/dist/components/nag.min.js +3 -3
  94. package/dist/components/placeholder.css +1 -1
  95. package/dist/components/placeholder.min.css +1 -1
  96. package/dist/components/popup.css +1 -2
  97. package/dist/components/popup.js +10 -4
  98. package/dist/components/popup.min.css +2 -2
  99. package/dist/components/popup.min.js +2 -2
  100. package/dist/components/progress.css +1 -1
  101. package/dist/components/progress.js +4 -2
  102. package/dist/components/progress.min.css +1 -1
  103. package/dist/components/progress.min.js +2 -2
  104. package/dist/components/rail.css +1 -1
  105. package/dist/components/rail.min.css +1 -1
  106. package/dist/components/rating.css +1 -1
  107. package/dist/components/rating.js +4 -2
  108. package/dist/components/rating.min.css +1 -1
  109. package/dist/components/rating.min.js +2 -2
  110. package/dist/components/reset.css +1 -1
  111. package/dist/components/reset.min.css +1 -1
  112. package/dist/components/reveal.css +1 -1
  113. package/dist/components/reveal.min.css +1 -1
  114. package/dist/components/search.css +1 -1
  115. package/dist/components/search.js +67 -14
  116. package/dist/components/search.min.css +1 -1
  117. package/dist/components/search.min.js +3 -3
  118. package/dist/components/segment.css +1 -1
  119. package/dist/components/segment.min.css +1 -1
  120. package/dist/components/shape.css +1 -1
  121. package/dist/components/shape.js +4 -2
  122. package/dist/components/shape.min.css +1 -1
  123. package/dist/components/shape.min.js +2 -2
  124. package/dist/components/sidebar.css +1 -1
  125. package/dist/components/sidebar.js +4 -2
  126. package/dist/components/sidebar.min.css +1 -1
  127. package/dist/components/sidebar.min.js +2 -2
  128. package/dist/components/site.css +14 -6
  129. package/dist/components/site.js +4 -2
  130. package/dist/components/site.min.css +2 -2
  131. package/dist/components/site.min.js +2 -2
  132. package/dist/components/slider.css +1 -1
  133. package/dist/components/slider.js +4 -2
  134. package/dist/components/slider.min.css +1 -1
  135. package/dist/components/slider.min.js +2 -2
  136. package/dist/components/state.js +4 -2
  137. package/dist/components/state.min.js +2 -2
  138. package/dist/components/statistic.css +1 -1
  139. package/dist/components/statistic.min.css +1 -1
  140. package/dist/components/step.css +1 -1
  141. package/dist/components/step.min.css +1 -1
  142. package/dist/components/sticky.css +1 -1
  143. package/dist/components/sticky.js +4 -2
  144. package/dist/components/sticky.min.css +1 -1
  145. package/dist/components/sticky.min.js +2 -2
  146. package/dist/components/tab.css +1 -1
  147. package/dist/components/tab.js +4 -2
  148. package/dist/components/tab.min.css +1 -1
  149. package/dist/components/tab.min.js +2 -2
  150. package/dist/components/table.css +32 -21
  151. package/dist/components/table.min.css +2 -2
  152. package/dist/components/text.css +1 -1
  153. package/dist/components/text.min.css +1 -1
  154. package/dist/components/toast.css +1 -1
  155. package/dist/components/toast.js +7 -3
  156. package/dist/components/toast.min.css +1 -1
  157. package/dist/components/toast.min.js +3 -3
  158. package/dist/components/transition.css +1 -1
  159. package/dist/components/transition.js +7 -3
  160. package/dist/components/transition.min.css +1 -1
  161. package/dist/components/transition.min.js +2 -2
  162. package/dist/components/visibility.js +4 -2
  163. package/dist/components/visibility.min.js +2 -2
  164. package/dist/semantic.css +223 -123
  165. package/dist/semantic.js +349 -129
  166. package/dist/semantic.min.css +3 -3
  167. package/dist/semantic.min.js +3 -3
  168. package/dist/themes/basic/assets/fonts/LICENSE.txt +91 -0
  169. package/dist/themes/default/assets/fonts/LICENSE_Lato.txt +94 -0
  170. package/dist/themes/default/assets/fonts/LICENSE_icons.txt +165 -0
  171. package/dist/themes/github/assets/fonts/LICENSE.txt +94 -0
  172. package/dist/themes/material/assets/fonts/LICENSE.txt +202 -0
  173. package/package.json +3 -3
  174. package/src/definitions/behaviors/api.js +6 -2
  175. package/src/definitions/behaviors/form.js +45 -19
  176. package/src/definitions/behaviors/state.js +3 -1
  177. package/src/definitions/behaviors/visibility.js +3 -1
  178. package/src/definitions/collections/form.less +14 -4
  179. package/src/definitions/collections/grid.less +4 -4
  180. package/src/definitions/collections/table.less +69 -54
  181. package/src/definitions/elements/button.less +25 -3
  182. package/src/definitions/elements/header.less +5 -0
  183. package/src/definitions/elements/input.less +14 -6
  184. package/src/definitions/globals/site.js +3 -1
  185. package/src/definitions/globals/site.less +17 -12
  186. package/src/definitions/modules/accordion.js +3 -1
  187. package/src/definitions/modules/calendar.js +3 -1
  188. package/src/definitions/modules/checkbox.js +9 -3
  189. package/src/definitions/modules/dimmer.js +3 -1
  190. package/src/definitions/modules/dimmer.less +8 -5
  191. package/src/definitions/modules/dropdown.js +101 -32
  192. package/src/definitions/modules/dropdown.less +22 -11
  193. package/src/definitions/modules/embed.js +16 -6
  194. package/src/definitions/modules/flyout.js +3 -1
  195. package/src/definitions/modules/modal.js +6 -2
  196. package/src/definitions/modules/nag.js +10 -4
  197. package/src/definitions/modules/popup.js +9 -3
  198. package/src/definitions/modules/progress.js +3 -1
  199. package/src/definitions/modules/rating.js +3 -1
  200. package/src/definitions/modules/search.js +66 -13
  201. package/src/definitions/modules/search.less +9 -2
  202. package/src/definitions/modules/shape.js +3 -1
  203. package/src/definitions/modules/sidebar.js +3 -1
  204. package/src/definitions/modules/slider.js +3 -1
  205. package/src/definitions/modules/sticky.js +3 -1
  206. package/src/definitions/modules/tab.js +3 -1
  207. package/src/definitions/modules/toast.js +6 -2
  208. package/src/definitions/modules/transition.js +6 -2
  209. package/src/definitions/views/feed.less +11 -0
  210. package/src/themes/basic/assets/fonts/LICENSE.txt +91 -0
  211. package/src/themes/default/assets/fonts/LICENSE_Lato.txt +94 -0
  212. package/src/themes/default/assets/fonts/LICENSE_icons.txt +165 -0
  213. package/src/themes/default/collections/form.variables +1 -0
  214. package/src/themes/default/elements/button.variables +2 -0
  215. package/src/themes/default/globals/site.variables +3 -0
  216. package/src/themes/default/globals/variation.variables +3 -0
  217. package/src/themes/default/modules/dropdown.variables +3 -0
  218. package/src/themes/default/modules/search.variables +3 -0
  219. package/src/themes/default/views/feed.variables +3 -0
  220. package/src/themes/github/assets/fonts/LICENSE.txt +94 -0
  221. package/src/themes/material/assets/fonts/LICENSE.txt +202 -0
  222. package/types/fomantic-ui-accordion.d.ts +1 -1
  223. package/types/fomantic-ui-api.d.ts +9 -3
  224. package/types/fomantic-ui-calendar.d.ts +93 -8
  225. package/types/fomantic-ui-checkbox.d.ts +14 -4
  226. package/types/fomantic-ui-dimmer.d.ts +1 -1
  227. package/types/fomantic-ui-dropdown.d.ts +48 -35
  228. package/types/fomantic-ui-embed.d.ts +19 -2
  229. package/types/fomantic-ui-flyout.d.ts +24 -10
  230. package/types/fomantic-ui-form.d.ts +123 -15
  231. package/types/fomantic-ui-modal.d.ts +75 -5
  232. package/types/fomantic-ui-nag.d.ts +4 -4
  233. package/types/fomantic-ui-popup.d.ts +11 -11
  234. package/types/fomantic-ui-progress.d.ts +12 -6
  235. package/types/fomantic-ui-rating.d.ts +1 -1
  236. package/types/fomantic-ui-search.d.ts +125 -14
  237. package/types/fomantic-ui-shape.d.ts +2 -2
  238. package/types/fomantic-ui-sidebar.d.ts +4 -4
  239. package/types/fomantic-ui-slider.d.ts +1 -1
  240. package/types/fomantic-ui-sticky.d.ts +1 -1
  241. package/types/fomantic-ui-tab.d.ts +5 -5
  242. package/types/fomantic-ui-toast.d.ts +14 -2
  243. package/types/fomantic-ui-transition.d.ts +29 -1
  244. package/types/fomantic-ui-visibility.d.ts +3 -3
  245. package/types/index.d.ts +25 -25
  246. package/types/tests.ts +188 -0
  247. package/types/tsconfig.json +1 -1
  248. package/types/fomantic-ui-tests.ts +0 -25
@@ -1,11 +1,11 @@
1
1
  /*
2
- * # Fomantic UI - 2.9.4-beta.5+f855ed7
2
+ * # Fomantic UI - 2.9.4-beta.50+25a76d7
3
3
  * https://github.com/fomantic/Fomantic-UI
4
4
  * https://fomantic-ui.com/
5
5
  *
6
- * Copyright 2023 Contributors
6
+ * Copyright 2024 Contributors
7
7
  * Released under the MIT license
8
8
  * https://opensource.org/licenses/MIT
9
9
  *
10
10
  */
11
- !function(D,I,E){"use strict";function S(e){return"function"==typeof e&&"number"!=typeof e.nodeType}I=void 0!==I&&I.Math===Math?I:globalThis,D.fn.checkbox=function(s){var u,e=D(this),b=Date.now(),y=[],C=s,x="string"==typeof C,w=[].slice.call(arguments,1);return e.each(function(){var e,h=D.extend(!0,{},D.fn.checkbox.settings,s),n=h.className,i=h.namespace,g=h.selector,r=h.error,t="."+i,o="module-"+i,p=D(this),a=D(this).children(g.label),f=D(this).children(g.input),k=f[0],c=!1,m=!1,d=p.data(o),l=this,v={initialize:function(){v.verbose("Initializing checkbox",h),v.create.label(),v.bind.events(),v.set.tabbable(),v.hide.input(),v.observeChanges(),v.instantiate(),v.setup()},instantiate:function(){v.verbose("Storing instance of module",v),d=v,p.data(o,v)},destroy:function(){v.verbose("Destroying module"),v.unbind.events(),v.show.input(),p.removeData(o)},fix:{reference:function(){p.is(g.input)&&(v.debug("Behavior called on <input> adjusting invoked element"),p=p.closest(g.checkbox),v.refresh())}},setup:function(){v.set.initialLoad(),v.is.indeterminate()?(v.debug("Initial value is indeterminate"),v.indeterminate()):v.is.checked()?(v.debug("Initial value is checked"),v.check()):(v.debug("Initial value is unchecked"),v.uncheck()),v.remove.initialLoad()},refresh:function(){a=p.children(g.label),f=p.children(g.input),k=f[0]},hide:{input:function(){v.verbose("Modifying <input> z-index to be unselectable"),f.addClass(n.hidden)}},show:{input:function(){v.verbose("Modifying <input> z-index to be selectable"),f.removeClass(n.hidden)}},observeChanges:function(){"MutationObserver"in I&&((e=new MutationObserver(function(e){v.debug("DOM tree modified, updating selector cache"),v.refresh()})).observe(l,{childList:!0,subtree:!0}),v.debug("Setting up mutation observer",e))},attachEvents:function(e,n){var i=D(e);n=S(v[n])?v[n]:v.toggle,0<i.length?(v.debug("Attaching checkbox events to element",e,n),i.on("click"+t,n)):v.error(r.notFound)},preventDefaultOnInputTarget:function(){void 0!==event&&null!==event&&D(event.target).is(g.input)&&(v.verbose("Preventing default check action after manual check action"),event.preventDefault())},event:{change:function(e){v.should.ignoreCallbacks()||h.onChange.call(k)},click:function(e){var n=D(e.target);n.is(g.input)?v.verbose("Using default check action on initialized checkbox"):n.is(g.link)?v.debug("Clicking link inside checkbox, skipping toggle"):(v.toggle(),f.trigger("focus"),e.preventDefault())},keydown:function(e){var n=e.which,i=13,t=32,o=27,a=37,c=38,r=39,d=40,l=v.get.radios(),s=l.index(p),u=l.length,b=!1;if(n===a||n===c?b=(0===s?u:s)-1:n!==r&&n!==d||(b=s===u-1?0:s+1),!v.should.ignoreCallbacks()&&!1!==b){if(!1===h.beforeUnchecked.apply(k))return v.verbose("Option not allowed to be unchecked, cancelling key navigation"),!1;if(!1===h.beforeChecked.apply(D(l[b]).children(g.input)[0]))return v.verbose("Next option should not allow check, cancelling key navigation"),!1}m=!1,n===o?(v.verbose("Escape key pressed blurring field"),f.trigger("blur"),m=!0,e.stopPropagation()):v.can.change()?e.ctrlKey||(n===t||n===i&&h.enableEnterKey?(v.verbose("Enter/space key pressed, toggling checkbox"),v.toggle(),m=!0):p.is(".toggle, .slider")&&!v.is.radio()&&(n===a&&v.is.checked()?(v.uncheck(),m=!0):n===r&&v.is.unchecked()&&(v.check(),m=!0))):m=!0},keyup:function(e){m&&e.preventDefault()}},check:function(){v.should.allowCheck()&&(v.debug("Checking checkbox",f),v.set.checked(),v.should.ignoreCallbacks()||(h.onChecked.call(k),v.trigger.change()),v.preventDefaultOnInputTarget())},uncheck:function(){v.should.allowUncheck()&&(v.debug("Unchecking checkbox"),v.set.unchecked(),v.should.ignoreCallbacks()||(h.onUnchecked.call(k),v.trigger.change()),v.preventDefaultOnInputTarget())},indeterminate:function(){v.should.allowIndeterminate()?v.debug("Checkbox is already indeterminate"):(v.debug("Making checkbox indeterminate"),v.set.indeterminate(),v.should.ignoreCallbacks()||(h.onIndeterminate.call(k),v.trigger.change()))},determinate:function(){v.should.allowDeterminate()?v.debug("Checkbox is already determinate"):(v.debug("Making checkbox determinate"),v.set.determinate(),v.should.ignoreCallbacks()||(h.onDeterminate.call(k),v.trigger.change()))},enable:function(){v.is.enabled()?v.debug("Checkbox is already enabled"):(v.debug("Enabling checkbox"),v.set.enabled(),v.should.ignoreCallbacks()||(h.onEnable.call(k),h.onEnabled.call(k)))},disable:function(){v.is.disabled()?v.debug("Checkbox is already disabled"):(v.debug("Disabling checkbox"),v.set.disabled(),v.should.ignoreCallbacks()||(h.onDisable.call(k),h.onDisabled.call(k)))},get:{radios:function(){var e=v.get.name();return D('input[name="'+e+'"]').closest(g.checkbox)},otherRadios:function(){return v.get.radios().not(p)},name:function(){return f.attr("name")}},is:{initialLoad:function(){return c},radio:function(){return f.hasClass(n.radio)||"radio"===f.attr("type")},indeterminate:function(){return void 0!==f.prop("indeterminate")&&f.prop("indeterminate")},checked:function(){return void 0!==f.prop("checked")&&f.prop("checked")},disabled:function(){return void 0!==f.prop("disabled")&&f.prop("disabled")},enabled:function(){return!v.is.disabled()},determinate:function(){return!v.is.indeterminate()},unchecked:function(){return!v.is.checked()}},should:{allowCheck:function(){return v.is.determinate()&&v.is.checked()&&!v.is.initialLoad()?(v.debug("Should not allow check, checkbox is already checked"),!1):!(!v.should.ignoreCallbacks()&&!1===h.beforeChecked.apply(k))||(v.debug("Should not allow check, beforeChecked cancelled"),!1)},allowUncheck:function(){return v.is.determinate()&&v.is.unchecked()&&!v.is.initialLoad()?(v.debug("Should not allow uncheck, checkbox is already unchecked"),!1):!(!v.should.ignoreCallbacks()&&!1===h.beforeUnchecked.apply(k))||(v.debug("Should not allow uncheck, beforeUnchecked cancelled"),!1)},allowIndeterminate:function(){return v.is.indeterminate()&&!v.is.initialLoad()?(v.debug("Should not allow indeterminate, checkbox is already indeterminate"),!1):!(!v.should.ignoreCallbacks()&&!1===h.beforeIndeterminate.apply(k))||(v.debug("Should not allow indeterminate, beforeIndeterminate cancelled"),!1)},allowDeterminate:function(){return v.is.determinate()&&!v.is.initialLoad()?(v.debug("Should not allow determinate, checkbox is already determinate"),!1):!(!v.should.ignoreCallbacks()&&!1===h.beforeDeterminate.apply(k))||(v.debug("Should not allow determinate, beforeDeterminate cancelled"),!1)},ignoreCallbacks:function(){return c&&!h.fireOnInit}},can:{change:function(){return!(p.hasClass(n.disabled)||p.hasClass(n.readOnly)||f.prop("disabled")||f.prop("readonly"))},uncheck:function(){return"boolean"==typeof h.uncheckable?h.uncheckable:!v.is.radio()}},set:{initialLoad:function(){c=!0},checked:function(){v.verbose("Setting class to checked"),p.removeClass(n.indeterminate).addClass(n.checked),v.is.radio()&&v.uncheckOthers(),!v.is.indeterminate()&&v.is.checked()?v.debug("Input is already checked, skipping input property change"):(v.verbose("Setting state to checked",k),f.prop("indeterminate",!1).prop("checked",!0))},unchecked:function(){v.verbose("Removing checked class"),p.removeClass(n.indeterminate).removeClass(n.checked),!v.is.indeterminate()&&v.is.unchecked()?v.debug("Input is already unchecked"):(v.debug("Setting state to unchecked"),f.prop("indeterminate",!1).prop("checked",!1))},indeterminate:function(){v.verbose("Setting class to indeterminate"),p.addClass(n.indeterminate),v.is.indeterminate()?v.debug("Input is already indeterminate, skipping input property change"):(v.debug("Setting state to indeterminate"),f.prop("indeterminate",!0))},determinate:function(){v.verbose("Removing indeterminate class"),p.removeClass(n.indeterminate),v.is.determinate()?v.debug("Input is already determinate, skipping input property change"):(v.debug("Setting state to determinate"),f.prop("indeterminate",!1))},disabled:function(){v.verbose("Setting class to disabled"),p.addClass(n.disabled),v.is.disabled()?v.debug("Input is already disabled, skipping input property change"):(v.debug("Setting state to disabled"),f.prop("disabled","disabled"))},enabled:function(){v.verbose("Removing disabled class"),p.removeClass(n.disabled),v.is.enabled()?v.debug("Input is already enabled, skipping input property change"):(v.debug("Setting state to enabled"),f.prop("disabled",!1))},tabbable:function(){v.verbose("Adding tabindex to checkbox"),void 0===f.attr("tabindex")&&f.attr("tabindex",0)}},remove:{initialLoad:function(){c=!1}},trigger:{change:function(){var e,n=f[0];n&&(e=E.createEvent("HTMLEvents"),v.verbose("Triggering native change event"),e.initEvent("change",!0,!1),n.dispatchEvent(e))}},create:{label:function(){0<f.prevAll(g.label).length?(f.prev(g.label).detach().insertAfter(f),v.debug("Moving existing label",a)):v.has.label()||(a=D("<label>").insertAfter(f),v.debug("Creating label",a))}},has:{label:function(){return 0<a.length}},bind:{events:function(){v.verbose("Attaching checkbox events"),p.on("click"+t,v.event.click).on("change"+t,v.event.change).on("keydown"+t,g.input,v.event.keydown).on("keyup"+t,g.input,v.event.keyup)}},unbind:{events:function(){v.debug("Removing events"),p.off(t)}},uncheckOthers:function(){var e=v.get.otherRadios();v.debug("Unchecking other radios",e),e.removeClass(n.checked)},toggle:function(){v.can.change()?v.is.indeterminate()||v.is.unchecked()?(v.debug("Currently unchecked"),v.check()):v.is.checked()&&v.can.uncheck()&&(v.debug("Currently checked"),v.uncheck()):v.is.radio()||v.debug("Checkbox is read-only or disabled, ignoring toggle")},setting:function(e,n){if(v.debug("Changing setting",e,n),D.isPlainObject(e))D.extend(!0,h,e);else{if(void 0===n)return h[e];D.isPlainObject(h[e])?D.extend(!0,h[e],n):h[e]=n}},internal:function(e,n){if(D.isPlainObject(e))D.extend(!0,v,e);else{if(void 0===n)return v[e];v[e]=n}},debug:function(){!h.silent&&h.debug&&(h.performance?v.performance.log(arguments):(v.debug=Function.prototype.bind.call(console.info,console,h.name+":"),v.debug.apply(console,arguments)))},verbose:function(){!h.silent&&h.verbose&&h.debug&&(h.performance?v.performance.log(arguments):(v.verbose=Function.prototype.bind.call(console.info,console,h.name+":"),v.verbose.apply(console,arguments)))},error:function(){h.silent||(v.error=Function.prototype.bind.call(console.error,console,h.name+":"),v.error.apply(console,arguments))},performance:{log:function(e){var n,i;h.performance&&(i=(n=Date.now())-(b||n),b=n,y.push({Name:e[0],Arguments:[].slice.call(e,1)||"",Element:l,"Execution Time":i})),clearTimeout(v.performance.timer),v.performance.timer=setTimeout(function(){v.performance.display()},500)},display:function(){var e=h.name+":",i=0;b=!1,clearTimeout(v.performance.timer),D.each(y,function(e,n){i+=n["Execution Time"]}),e+=" "+i+"ms",0<y.length&&(console.groupCollapsed(e),console.table?console.table(y):D.each(y,function(e,n){console.log(n.Name+": "+n["Execution Time"]+"ms")}),console.groupEnd()),y=[]}},invoke:function(t,e,n){var o,a,i,c=d;return e=e||w,n=n||l,"string"==typeof t&&void 0!==c&&(t=t.split(/[ .]/),o=t.length-1,D.each(t,function(e,n){var i=e!==o?n+t[e+1].charAt(0).toUpperCase()+t[e+1].slice(1):t;if(D.isPlainObject(c[i])&&e!==o)c=c[i];else{if(void 0!==c[i])return a=c[i],!1;{if(!D.isPlainObject(c[n])||e===o)return void 0!==c[n]?a=c[n]:v.error(r.method,t),!1;c=c[n]}}})),S(a)?i=a.apply(n,e):void 0!==a&&(i=a),Array.isArray(u)?u.push(i):void 0!==u?u=[u,i]:void 0!==i&&(u=i),a}};x?(void 0===d&&v.initialize(),v.invoke(C)):(void 0!==d&&d.invoke("destroy"),v.initialize())}),void 0!==u?u:this},D.fn.checkbox.settings={name:"Checkbox",namespace:"checkbox",silent:!1,debug:!1,verbose:!1,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);
11
+ !function(D,I,E){"use strict";function O(e){return"function"==typeof e&&"number"!=typeof e.nodeType}I=void 0!==I&&I.Math===Math?I:globalThis,D.fn.checkbox=function(c){var s,e=D(this),u=Date.now(),b=[],C=c,x="string"==typeof C,w=[].slice.call(arguments,1);return e.each(function(){var e,h=D.extend(!0,{},D.fn.checkbox.settings,c),g=h.className,n=h.namespace,p=h.selector,r=h.error,t="."+n,i="module-"+n,f=D(this),o=D(this).children(p.label),k=D(this).children(p.input),m=k[0],a=!1,v=!1,d=f.data(i),l=this,y={initialize:function(){y.verbose("Initializing checkbox",h),y.create.label(),y.bind.events(),y.set.tabbable(),y.hide.input(),y.observeChanges(),y.instantiate(),y.setup()},instantiate:function(){y.verbose("Storing instance of module",y),d=y,f.data(i,y)},destroy:function(){y.verbose("Destroying module"),y.unbind.events(),y.show.input(),f.removeData(i)},fix:{reference:function(){f.is(p.input)&&(y.debug("Behavior called on <input> adjusting invoked element"),f=f.closest(p.checkbox),y.refresh())}},setup:function(){y.set.initialLoad(),y.is.indeterminate()?(y.debug("Initial value is indeterminate"),y.indeterminate()):y.is.checked()?(y.debug("Initial value is checked"),y.check()):(y.debug("Initial value is unchecked"),y.uncheck()),y.remove.initialLoad()},refresh:function(){o=f.children(p.label),k=f.children(p.input),m=k[0]},hide:{input:function(){y.verbose("Modifying <input> z-index to be unselectable"),k.addClass(g.hidden)}},show:{input:function(){y.verbose("Modifying <input> z-index to be selectable"),k.removeClass(g.hidden)}},observeChanges:function(){"MutationObserver"in I&&((e=new MutationObserver(function(e){y.debug("DOM tree modified, updating selector cache"),y.refresh()})).observe(l,{childList:!0,subtree:!0}),y.debug("Setting up mutation observer",e))},attachEvents:function(e,n){var i=D(e);n=O(y[n])?y[n]:y.toggle,0<i.length?(y.debug("Attaching checkbox events to element",e,n),i.on("click"+t,n)):y.error(r.notFound)},preventDefaultOnInputTarget:function(){void 0!==event&&null!==event&&D(event.target).is(p.input)&&(y.verbose("Preventing default check action after manual check action"),event.preventDefault())},event:{change:function(e){y.should.ignoreCallbacks()||h.onChange.call(m)},click:function(e){var n=D(e.target);n.is(p.input)?y.verbose("Using default check action on initialized checkbox"):n.is(p.link)?y.debug("Clicking link inside checkbox, skipping toggle"):(y.toggle(),k.trigger("focus"),e.preventDefault())},keydown:function(e){var n=e.which,i=13,t=32,o=27,a=37,c=38,r=39,d=40,l=y.get.radios().not(p.disabled),s=l.index(f),u=l.length,b=!1;if(n===a||n===c?b=(0===s?u:s)-1:n!==r&&n!==d||(b=s===u-1?0:s+1),!y.should.ignoreCallbacks()&&!1!==b){if(!1===h.beforeUnchecked.apply(m))return y.verbose("Option not allowed to be unchecked, cancelling key navigation"),!1;c=D(l[b]),d=c.children(p.input);if(c.hasClass(g.readOnly)||d.prop("readonly")||!1===h.beforeChecked.apply(d[0]))return y.verbose("Next option should not allow check, cancelling key navigation"),!1}v=!1,n===o?(y.verbose("Escape key pressed blurring field"),k.trigger("blur"),v=!0,e.stopPropagation()):y.can.change()?e.ctrlKey||(n===t||n===i&&h.enableEnterKey?(y.verbose("Enter/space key pressed, toggling checkbox"),y.toggle(),v=!0):f.is(".toggle, .slider")&&!y.is.radio()&&(n===a&&y.is.checked()?(y.uncheck(),v=!0):n===r&&y.is.unchecked()&&(y.check(),v=!0))):v=!0},keyup:function(e){v&&e.preventDefault()}},check:function(){y.should.allowCheck()&&(y.debug("Checking checkbox",k),y.set.checked(),y.should.ignoreCallbacks()||(h.onChecked.call(m),y.trigger.change()),y.preventDefaultOnInputTarget())},uncheck:function(){y.should.allowUncheck()&&(y.debug("Unchecking checkbox"),y.set.unchecked(),y.should.ignoreCallbacks()||(h.onUnchecked.call(m),y.trigger.change()),y.preventDefaultOnInputTarget())},indeterminate:function(){y.should.allowIndeterminate()?y.debug("Checkbox is already indeterminate"):(y.debug("Making checkbox indeterminate"),y.set.indeterminate(),y.should.ignoreCallbacks()||(h.onIndeterminate.call(m),y.trigger.change()))},determinate:function(){y.should.allowDeterminate()?y.debug("Checkbox is already determinate"):(y.debug("Making checkbox determinate"),y.set.determinate(),y.should.ignoreCallbacks()||(h.onDeterminate.call(m),y.trigger.change()))},enable:function(){y.is.enabled()?y.debug("Checkbox is already enabled"):(y.debug("Enabling checkbox"),y.set.enabled(),y.should.ignoreCallbacks()||(h.onEnable.call(m),h.onEnabled.call(m)))},disable:function(){y.is.disabled()?y.debug("Checkbox is already disabled"):(y.debug("Disabling checkbox"),y.set.disabled(),y.should.ignoreCallbacks()||(h.onDisable.call(m),h.onDisabled.call(m)))},get:{radios:function(){var e=y.get.name();return D('input[name="'+e+'"]').closest(p.checkbox)},otherRadios:function(){return y.get.radios().not(f)},name:function(){return k.attr("name")}},is:{initialLoad:function(){return a},radio:function(){return k.hasClass(g.radio)||"radio"===k.attr("type")},indeterminate:function(){return void 0!==k.prop("indeterminate")&&k.prop("indeterminate")},checked:function(){return void 0!==k.prop("checked")&&k.prop("checked")},disabled:function(){return void 0!==k.prop("disabled")&&k.prop("disabled")},enabled:function(){return!y.is.disabled()},determinate:function(){return!y.is.indeterminate()},unchecked:function(){return!y.is.checked()}},should:{allowCheck:function(){return y.is.determinate()&&y.is.checked()&&!y.is.initialLoad()?(y.debug("Should not allow check, checkbox is already checked"),!1):!(!y.should.ignoreCallbacks()&&!1===h.beforeChecked.apply(m))||(y.debug("Should not allow check, beforeChecked cancelled"),!1)},allowUncheck:function(){return y.is.determinate()&&y.is.unchecked()&&!y.is.initialLoad()?(y.debug("Should not allow uncheck, checkbox is already unchecked"),!1):!(!y.should.ignoreCallbacks()&&!1===h.beforeUnchecked.apply(m))||(y.debug("Should not allow uncheck, beforeUnchecked cancelled"),!1)},allowIndeterminate:function(){return y.is.indeterminate()&&!y.is.initialLoad()?(y.debug("Should not allow indeterminate, checkbox is already indeterminate"),!1):!(!y.should.ignoreCallbacks()&&!1===h.beforeIndeterminate.apply(m))||(y.debug("Should not allow indeterminate, beforeIndeterminate cancelled"),!1)},allowDeterminate:function(){return y.is.determinate()&&!y.is.initialLoad()?(y.debug("Should not allow determinate, checkbox is already determinate"),!1):!(!y.should.ignoreCallbacks()&&!1===h.beforeDeterminate.apply(m))||(y.debug("Should not allow determinate, beforeDeterminate cancelled"),!1)},ignoreCallbacks:function(){return a&&!h.fireOnInit}},can:{change:function(){return!(f.hasClass(g.disabled)||f.hasClass(g.readOnly)||k.prop("disabled")||k.prop("readonly"))},uncheck:function(){return"boolean"==typeof h.uncheckable?h.uncheckable:!y.is.radio()}},set:{initialLoad:function(){a=!0},checked:function(){y.verbose("Setting class to checked"),f.removeClass(g.indeterminate).addClass(g.checked),y.is.radio()&&y.uncheckOthers(),!y.is.indeterminate()&&y.is.checked()?y.debug("Input is already checked, skipping input property change"):(y.verbose("Setting state to checked",m),k.prop("indeterminate",!1).prop("checked",!0))},unchecked:function(){y.verbose("Removing checked class"),f.removeClass(g.indeterminate).removeClass(g.checked),!y.is.indeterminate()&&y.is.unchecked()?y.debug("Input is already unchecked"):(y.debug("Setting state to unchecked"),k.prop("indeterminate",!1).prop("checked",!1))},indeterminate:function(){y.verbose("Setting class to indeterminate"),f.addClass(g.indeterminate),y.is.indeterminate()?y.debug("Input is already indeterminate, skipping input property change"):(y.debug("Setting state to indeterminate"),k.prop("indeterminate",!0))},determinate:function(){y.verbose("Removing indeterminate class"),f.removeClass(g.indeterminate),y.is.determinate()?y.debug("Input is already determinate, skipping input property change"):(y.debug("Setting state to determinate"),k.prop("indeterminate",!1))},disabled:function(){y.verbose("Setting class to disabled"),f.addClass(g.disabled),y.is.disabled()?y.debug("Input is already disabled, skipping input property change"):(y.debug("Setting state to disabled"),k.prop("disabled","disabled"))},enabled:function(){y.verbose("Removing disabled class"),f.removeClass(g.disabled),y.is.enabled()?y.debug("Input is already enabled, skipping input property change"):(y.debug("Setting state to enabled"),k.prop("disabled",!1))},tabbable:function(){y.verbose("Adding tabindex to checkbox"),void 0===k.attr("tabindex")&&k.attr("tabindex",0)}},remove:{initialLoad:function(){a=!1}},trigger:{change:function(){var e,n=k[0];n&&(e=E.createEvent("HTMLEvents"),y.verbose("Triggering native change event"),e.initEvent("change",!0,!1),n.dispatchEvent(e))}},create:{label:function(){0<k.prevAll(p.label).length?(k.prev(p.label).detach().insertAfter(k),y.debug("Moving existing label",o)):y.has.label()||(o=D("<label>").insertAfter(k),y.debug("Creating label",o))}},has:{label:function(){return 0<o.length}},bind:{events:function(){y.verbose("Attaching checkbox events"),f.on("click"+t,y.event.click).on("change"+t,y.event.change).on("keydown"+t,p.input,y.event.keydown).on("keyup"+t,p.input,y.event.keyup)}},unbind:{events:function(){y.debug("Removing events"),f.off(t)}},uncheckOthers:function(){var e=y.get.otherRadios();y.debug("Unchecking other radios",e),e.removeClass(g.checked)},toggle:function(){y.can.change()?y.is.indeterminate()||y.is.unchecked()?(y.debug("Currently unchecked"),y.check()):y.is.checked()&&y.can.uncheck()&&(y.debug("Currently checked"),y.uncheck()):y.is.radio()||y.debug("Checkbox is read-only or disabled, ignoring toggle")},setting:function(e,n){if(y.debug("Changing setting",e,n),D.isPlainObject(e))D.extend(!0,h,e);else{if(void 0===n)return h[e];D.isPlainObject(h[e])?D.extend(!0,h[e],n):h[e]=n}},internal:function(e,n){if(D.isPlainObject(e))D.extend(!0,y,e);else{if(void 0===n)return y[e];y[e]=n}},debug:function(){!h.silent&&h.debug&&(h.performance?y.performance.log(arguments):(y.debug=Function.prototype.bind.call(console.info,console,h.name+":"),y.debug.apply(console,arguments)))},verbose:function(){!h.silent&&h.verbose&&h.debug&&(h.performance?y.performance.log(arguments):(y.verbose=Function.prototype.bind.call(console.info,console,h.name+":"),y.verbose.apply(console,arguments)))},error:function(){h.silent||(y.error=Function.prototype.bind.call(console.error,console,h.name+":"),y.error.apply(console,arguments))},performance:{log:function(e){var n,i;h.performance&&(i=(n=Date.now())-(u||n),u=n,b.push({Name:e[0],Arguments:[].slice.call(e,1)||"",Element:l,"Execution Time":i})),clearTimeout(y.performance.timer),y.performance.timer=setTimeout(function(){y.performance.display()},500)},display:function(){var e=h.name+":",i=0;u=!1,clearTimeout(y.performance.timer),D.each(b,function(e,n){i+=n["Execution Time"]}),e+=" "+i+"ms",0<b.length&&(console.groupCollapsed(e),console.table?console.table(b):D.each(b,function(e,n){console.log(n.Name+": "+n["Execution Time"]+"ms")}),console.groupEnd()),b=[]}},invoke:function(t,e,n){var o,a,i,c=d;return e=e||w,n=n||l,"string"==typeof t&&void 0!==c&&(t=t.split(/[ .]/),o=t.length-1,D.each(t,function(e,n){var i=e!==o?n+t[e+1].charAt(0).toUpperCase()+t[e+1].slice(1):t;if(D.isPlainObject(c[i])&&e!==o)c=c[i];else{if(void 0!==c[i])return a=c[i],!1;{if(!D.isPlainObject(c[n])||e===o)return void 0!==c[n]?a=c[n]:y.error(r.method,t),!1;c=c[n]}}})),O(a)?i=a.apply(n,e):void 0!==a&&(i=a),Array.isArray(s)?s.push(i):void 0!==s?s=[s,i]:void 0!==i&&(s=i),a}};x?(void 0===d&&y.initialize(),y.invoke(C)):(void 0!==d&&d.invoke("destroy"),y.initialize())}),void 0!==s?s:this},D.fn.checkbox.settings={name:"Checkbox",namespace:"checkbox",silent:!1,debug:!1,verbose:!1,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",disabled:".disabled, :has(input[disabled])",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.4-beta.5+f855ed7 - Comment
2
+ * # Fomantic-UI 2.9.4-beta.50+25a76d7 - Comment
3
3
  * https://github.com/fomantic/Fomantic-UI/
4
4
  *
5
5
  *
@@ -1,5 +1,5 @@
1
1
  /*!
2
- * # Fomantic-UI 2.9.4-beta.5+f855ed7 - Comment
2
+ * # Fomantic-UI 2.9.4-beta.50+25a76d7 - Comment
3
3
  * https://github.com/fomantic/Fomantic-UI/
4
4
  *
5
5
  *
@@ -1,5 +1,5 @@
1
1
  /*!
2
- * # Fomantic-UI 2.9.4-beta.5+f855ed7 - Container
2
+ * # Fomantic-UI 2.9.4-beta.50+25a76d7 - Container
3
3
  * https://github.com/fomantic/Fomantic-UI/
4
4
  *
5
5
  *
@@ -1,5 +1,5 @@
1
1
  /*!
2
- * # Fomantic-UI 2.9.4-beta.5+f855ed7 - Container
2
+ * # Fomantic-UI 2.9.4-beta.50+25a76d7 - Container
3
3
  * https://github.com/fomantic/Fomantic-UI/
4
4
  *
5
5
  *
@@ -1,5 +1,5 @@
1
1
  /*!
2
- * # Fomantic-UI 2.9.4-beta.5+f855ed7 - Dimmer
2
+ * # Fomantic-UI 2.9.4-beta.50+25a76d7 - Dimmer
3
3
  * https://github.com/fomantic/Fomantic-UI/
4
4
  *
5
5
  *
@@ -75,9 +75,13 @@
75
75
  scrollbar-shadow-color: #656565;
76
76
  scrollbar-track-color: #323232;
77
77
  scrollbar-arrow-color: #323232;
78
-
78
+ }
79
+ @supports (-moz-appearance: none) {
80
+ .ui.dimmer:not(.inverted) {
81
+
79
82
  /* firefox: first color thumb, second track */
80
- scrollbar-color: rgba(255, 255, 255, 0.25) rgba(255, 255, 255, 0.1);
83
+ scrollbar-color: rgba(255, 255, 255, 0.25) rgba(255, 255, 255, 0.1);
84
+ }
81
85
  }
82
86
 
83
87
 
@@ -1,5 +1,5 @@
1
1
  /*!
2
- * # Fomantic-UI 2.9.4-beta.5+f855ed7 - Dimmer
2
+ * # Fomantic-UI 2.9.4-beta.50+25a76d7 - Dimmer
3
3
  * https://github.com/fomantic/Fomantic-UI/
4
4
  *
5
5
  *
@@ -528,7 +528,9 @@
528
528
  });
529
529
  }
530
530
  clearTimeout(module.performance.timer);
531
- module.performance.timer = setTimeout(function () { module.performance.display(); }, 500);
531
+ module.performance.timer = setTimeout(function () {
532
+ module.performance.display();
533
+ }, 500);
532
534
  },
533
535
  display: function () {
534
536
  var
@@ -1,9 +1,9 @@
1
1
  /*!
2
- * # Fomantic-UI 2.9.4-beta.5+f855ed7 - Dimmer
2
+ * # Fomantic-UI 2.9.4-beta.50+25a76d7 - Dimmer
3
3
  * https://github.com/fomantic/Fomantic-UI/
4
4
  *
5
5
  *
6
6
  * Released under the MIT license
7
7
  * https://opensource.org/licenses/MIT
8
8
  *
9
- */.dimmable:not(body){position:relative}.ui.dimmer{display:none;position:absolute;top:0;left:0;width:100%;height:100%;text-align:center;vertical-align:middle;padding:1em;background:rgba(0,0,0,.85);opacity:0;line-height:1;animation-fill-mode:both;animation-duration:.5s;transition:all .5s linear;flex-direction:column;align-items:center;justify-content:center;-webkit-user-select:none;-ms-user-select:none;user-select:none;will-change:opacity;z-index:1000}.ui.dimmer>.content{-webkit-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: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{justify-content:flex-start}.ui[class*="bottom aligned"].dimmer{justify-content:flex-end}.ui.page.dimmer{position:fixed;transform-style:"";perspective:2000px;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 ((-webkit-backdrop-filter:none) or (backdrop-filter:none))){.blurring.dimmable>:not(.dimmer){filter:initial;transition:.8s filter ease}.blurring.dimmed.dimmable>:not(.dimmer):not(.popup){filter:blur(5px) grayscale(.7)}}.blurring.dimmable>.dimmer{background:rgba(0,0,0,.6);-webkit-backdrop-filter:blur(5px) grayscale(.7);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.very.very.very.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.very.very.very.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;bottom:0}.ui[class*="center dimmer"]{top:50%;transform:translateY(-50%)}.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{animation-name:fadeInUpCenter}.ui[class*="center dimmer"].transition[class*="fade down"].in{animation-name:fadeInDownCenter}.ui[class*="center dimmer"].transition[class*="fade up"].out{animation-name:fadeOutUpCenter}.ui[class*="center dimmer"].transition[class*="fade down"].out{animation-name:fadeOutDownCenter}.ui[class*="center dimmer"].bounce.transition{animation-name:bounceCenter}@keyframes fadeInUpCenter{0%{opacity:0;transform:translateY(-40%)}100%{opacity:1;transform:translateY(-50%)}}@keyframes fadeInDownCenter{0%{opacity:0;transform:translateY(-60%)}100%{opacity:1;transform:translateY(-50%)}}@keyframes fadeOutUpCenter{0%{opacity:1;transform:translateY(-50%)}100%{opacity:0;transform:translateY(-45%)}}@keyframes fadeOutDownCenter{0%{opacity:1;transform:translateY(-50%)}100%{opacity:0;transform:translateY(-55%)}}@keyframes bounceCenter{0%,100%,20%,50%,80%{transform:translateY(-50%)}40%{transform:translateY(calc(-50% - 30px))}60%{transform:translateY(calc(-50% - 15px))}}
9
+ */.dimmable:not(body){position:relative}.ui.dimmer{display:none;position:absolute;top:0;left:0;width:100%;height:100%;text-align:center;vertical-align:middle;padding:1em;background:rgba(0,0,0,.85);opacity:0;line-height:1;animation-fill-mode:both;animation-duration:.5s;transition:all .5s linear;flex-direction:column;align-items:center;justify-content:center;-webkit-user-select:none;-ms-user-select:none;user-select:none;will-change:opacity;z-index:1000}.ui.dimmer>.content{-webkit-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}@supports (-moz-appearance:none){.ui.dimmer:not(.inverted){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: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{justify-content:flex-start}.ui[class*="bottom aligned"].dimmer{justify-content:flex-end}.ui.page.dimmer{position:fixed;transform-style:"";perspective:2000px;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 ((-webkit-backdrop-filter:none) or (backdrop-filter:none))){.blurring.dimmable>:not(.dimmer){filter:initial;transition:.8s filter ease}.blurring.dimmed.dimmable>:not(.dimmer):not(.popup){filter:blur(5px) grayscale(.7)}}.blurring.dimmable>.dimmer{background:rgba(0,0,0,.6);-webkit-backdrop-filter:blur(5px) grayscale(.7);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.very.very.very.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.very.very.very.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;bottom:0}.ui[class*="center dimmer"]{top:50%;transform:translateY(-50%)}.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{animation-name:fadeInUpCenter}.ui[class*="center dimmer"].transition[class*="fade down"].in{animation-name:fadeInDownCenter}.ui[class*="center dimmer"].transition[class*="fade up"].out{animation-name:fadeOutUpCenter}.ui[class*="center dimmer"].transition[class*="fade down"].out{animation-name:fadeOutDownCenter}.ui[class*="center dimmer"].bounce.transition{animation-name:bounceCenter}@keyframes fadeInUpCenter{0%{opacity:0;transform:translateY(-40%)}100%{opacity:1;transform:translateY(-50%)}}@keyframes fadeInDownCenter{0%{opacity:0;transform:translateY(-60%)}100%{opacity:1;transform:translateY(-50%)}}@keyframes fadeOutUpCenter{0%{opacity:1;transform:translateY(-50%)}100%{opacity:0;transform:translateY(-45%)}}@keyframes fadeOutDownCenter{0%{opacity:1;transform:translateY(-50%)}100%{opacity:0;transform:translateY(-55%)}}@keyframes bounceCenter{0%,100%,20%,50%,80%{transform:translateY(-50%)}40%{transform:translateY(calc(-50% - 30px))}60%{transform:translateY(calc(-50% - 15px))}}
@@ -1,9 +1,9 @@
1
1
  /*
2
- * # Fomantic UI - 2.9.4-beta.5+f855ed7
2
+ * # Fomantic UI - 2.9.4-beta.50+25a76d7
3
3
  * https://github.com/fomantic/Fomantic-UI
4
4
  * https://fomantic-ui.com/
5
5
  *
6
- * Copyright 2023 Contributors
6
+ * Copyright 2024 Contributors
7
7
  * Released under the MIT license
8
8
  * https://opensource.org/licenses/MIT
9
9
  *
@@ -1,5 +1,5 @@
1
1
  /*!
2
- * # Fomantic-UI 2.9.4-beta.5+f855ed7 - Divider
2
+ * # Fomantic-UI 2.9.4-beta.50+25a76d7 - Divider
3
3
  * https://github.com/fomantic/Fomantic-UI/
4
4
  *
5
5
  *
@@ -1,5 +1,5 @@
1
1
  /*!
2
- * # Fomantic-UI 2.9.4-beta.5+f855ed7 - Divider
2
+ * # Fomantic-UI 2.9.4-beta.50+25a76d7 - Divider
3
3
  * https://github.com/fomantic/Fomantic-UI/
4
4
  *
5
5
  *
@@ -1,5 +1,5 @@
1
1
  /*!
2
- * # Fomantic-UI 2.9.4-beta.5+f855ed7 - Dropdown
2
+ * # Fomantic-UI 2.9.4-beta.50+25a76d7 - Dropdown
3
3
  * https://github.com/fomantic/Fomantic-UI/
4
4
  *
5
5
  *
@@ -41,7 +41,6 @@
41
41
  display: none;
42
42
  outline: none;
43
43
  top: 100%;
44
- min-width: -webkit-max-content;
45
44
  min-width: max-content;
46
45
  margin: 0;
47
46
  padding: 0;
@@ -407,7 +406,6 @@ select.ui.dropdown {
407
406
  width: auto;
408
407
  }
409
408
  .ui.compact.selection.dropdown > .menu:not(.multiline) {
410
- width: -webkit-max-content;
411
409
  width: max-content;
412
410
  }
413
411
 
@@ -757,13 +755,13 @@ select.ui.dropdown {
757
755
  .ui.inline.dropdown > .remove.icon {
758
756
  right: 2.2em;
759
757
  }
760
- .ui.clearable.dropdown .text,
761
- .ui.clearable.dropdown a:last-of-type {
758
+ .ui.clearable.dropdown .text:not(.default),
759
+ .ui.clearable.dropdown:not(.search) > .ui.label:last-of-type {
762
760
  margin-right: 1.5em;
763
761
  }
764
762
  .ui.dropdown select.noselection ~ .remove.icon,
765
763
  .ui.dropdown input[value=""] ~ .remove.icon,
766
- .ui.dropdown input:not([value]) ~ .remove.icon,
764
+ .ui.dropdown input:not([value]):not(.search) ~ .remove.icon,
767
765
  .ui.dropdown.loading > .remove.icon {
768
766
  display: none;
769
767
  }
@@ -1791,32 +1789,32 @@ select.ui.dropdown {
1791
1789
  .ui.dropdown .menu > .item {
1792
1790
  font-size: 1rem;
1793
1791
  }
1794
- .ui.mini.dropdown,
1795
- .ui.mini.dropdown .menu > .item {
1792
+ .ui.ui.mini.dropdown,
1793
+ .ui.ui.mini.dropdown .menu > .item {
1796
1794
  font-size: 0.78571429rem;
1797
1795
  }
1798
- .ui.tiny.dropdown,
1799
- .ui.tiny.dropdown .menu > .item {
1796
+ .ui.ui.tiny.dropdown,
1797
+ .ui.ui.tiny.dropdown .menu > .item {
1800
1798
  font-size: 0.85714286rem;
1801
1799
  }
1802
- .ui.small.dropdown,
1803
- .ui.small.dropdown .menu > .item {
1800
+ .ui.ui.small.dropdown,
1801
+ .ui.ui.small.dropdown .menu > .item {
1804
1802
  font-size: 0.92857143rem;
1805
1803
  }
1806
- .ui.large.dropdown,
1807
- .ui.large.dropdown .menu > .item {
1804
+ .ui.ui.large.dropdown,
1805
+ .ui.ui.large.dropdown .menu > .item {
1808
1806
  font-size: 1.14285714rem;
1809
1807
  }
1810
- .ui.big.dropdown,
1811
- .ui.big.dropdown .menu > .item {
1808
+ .ui.ui.big.dropdown,
1809
+ .ui.ui.big.dropdown .menu > .item {
1812
1810
  font-size: 1.28571429rem;
1813
1811
  }
1814
- .ui.huge.dropdown,
1815
- .ui.huge.dropdown .menu > .item {
1812
+ .ui.ui.huge.dropdown,
1813
+ .ui.ui.huge.dropdown .menu > .item {
1816
1814
  font-size: 1.42857143rem;
1817
1815
  }
1818
- .ui.massive.dropdown,
1819
- .ui.massive.dropdown .menu > .item {
1816
+ .ui.ui.massive.dropdown,
1817
+ .ui.ui.massive.dropdown .menu > .item {
1820
1818
  font-size: 1.71428571rem;
1821
1819
  }
1822
1820
 
@@ -1978,9 +1976,14 @@ select.ui.dropdown {
1978
1976
  scrollbar-shadow-color: #656565;
1979
1977
  scrollbar-track-color: #323232;
1980
1978
  scrollbar-arrow-color: #323232;
1981
-
1979
+ }
1980
+ @supports (-moz-appearance: none) {
1981
+ .ui.dropdown .inverted.menu,
1982
+ .ui.inverted.dropdown .menu {
1983
+
1982
1984
  /* firefox: first color thumb, second track */
1983
- scrollbar-color: rgba(255, 255, 255, 0.25) rgba(255, 255, 255, 0.1);
1985
+ scrollbar-color: rgba(255, 255, 255, 0.25) rgba(255, 255, 255, 0.1);
1986
+ }
1984
1987
  }
1985
1988
  .ui.pointing.dropdown > .inverted.menu::after,
1986
1989
  .ui.inverted.pointing.dropdown > .menu::after {
@@ -1,5 +1,5 @@
1
1
  /*!
2
- * # Fomantic-UI 2.9.4-beta.5+f855ed7 - Dropdown
2
+ * # Fomantic-UI 2.9.4-beta.50+25a76d7 - Dropdown
3
3
  * https://github.com/fomantic/Fomantic-UI/
4
4
  *
5
5
  *
@@ -793,7 +793,7 @@
793
793
  }
794
794
  if (module.is.multiple()) {
795
795
  $.each(preSelected, function (index, value) {
796
- $item.filter('[data-value="' + value + '"]')
796
+ $item.filter('[data-' + metadata.value + '="' + value + '"]')
797
797
  .addClass(className.filtered)
798
798
  ;
799
799
  });
@@ -890,11 +890,13 @@
890
890
  ? query
891
891
  : module.get.query()
892
892
  ),
893
- results = null,
894
- escapedTerm = module.escape.string(searchTerm),
895
- regExpFlags = (settings.ignoreSearchCase ? 'i' : '') + 'gm',
893
+ results = null,
894
+ escapedTerm = module.escape.string(searchTerm),
895
+ regExpIgnore = settings.ignoreSearchCase ? 'i' : '',
896
+ regExpFlags = regExpIgnore + 'gm',
896
897
  beginsWithRegExp = new RegExp('^' + escapedTerm, regExpFlags)
897
898
  ;
899
+ module.remove.filteredItem();
898
900
  // avoid loop if we're matching nothing
899
901
  if (module.has.query()) {
900
902
  results = [];
@@ -938,12 +940,34 @@
938
940
  ;
939
941
  }
940
942
  module.debug('Showing only matched items', searchTerm);
941
- module.remove.filteredItem();
942
943
  if (results) {
943
944
  $item
944
945
  .not(results)
945
946
  .addClass(className.filtered)
946
947
  ;
948
+ if (settings.highlightMatches && (settings.match === 'both' || settings.match === 'text')) {
949
+ var querySplit = query.split(''),
950
+ diacriticReg = settings.ignoreDiacritics ? '[\u0300-\u036F]?' : '',
951
+ htmlReg = '(?![^<]*>)',
952
+ markedRegExp = new RegExp(htmlReg + '(' + querySplit.join(diacriticReg + ')(.*?)' + htmlReg + '(') + diacriticReg + ')', regExpIgnore),
953
+ markedReplacer = function () {
954
+ var args = [].slice.call(arguments, 1, querySplit.length * 2).map(function (x, i) {
955
+ return i & 1 ? x : '<mark>' + x + '</mark>'; // eslint-disable-line no-bitwise
956
+ });
957
+
958
+ return args.join('');
959
+ }
960
+ ;
961
+ $.each(results, function (index, result) {
962
+ var $result = $(result),
963
+ markedHTML = module.get.choiceText($result, true)
964
+ ;
965
+ if (settings.ignoreDiacritics) {
966
+ markedHTML = markedHTML.normalize('NFD');
967
+ }
968
+ $result.html(markedHTML.replace(markedRegExp, markedReplacer));
969
+ });
970
+ }
947
971
  }
948
972
 
949
973
  if (!module.has.query()) {
@@ -979,8 +1003,10 @@
979
1003
  termLength = term.length,
980
1004
  queryLength = query.length
981
1005
  ;
982
- query = settings.ignoreSearchCase ? query.toLowerCase() : query;
983
- term = settings.ignoreSearchCase ? term.toLowerCase() : term;
1006
+ if (settings.ignoreSearchCase) {
1007
+ query = query.toLowerCase();
1008
+ term = term.toLowerCase();
1009
+ }
984
1010
  if (queryLength > termLength) {
985
1011
  return false;
986
1012
  }
@@ -1187,7 +1213,7 @@
1187
1213
  if (!itemActivated && !pageLostFocus) {
1188
1214
  if (settings.forceSelection) {
1189
1215
  module.forceSelection();
1190
- } else if (!settings.allowAdditions) {
1216
+ } else if (!settings.allowAdditions && !settings.keepSearchTerm && !module.has.menuSearch()) {
1191
1217
  module.remove.searchTerm();
1192
1218
  }
1193
1219
  module.hide();
@@ -1236,7 +1262,9 @@
1236
1262
  module.set.filtered();
1237
1263
  }
1238
1264
  clearTimeout(module.timer);
1239
- module.timer = setTimeout(function () { module.search(); }, settings.delay.search);
1265
+ module.timer = setTimeout(function () {
1266
+ module.search();
1267
+ }, settings.delay.search);
1240
1268
  },
1241
1269
  label: {
1242
1270
  click: function (event) {
@@ -1413,7 +1441,9 @@
1413
1441
  module.remove.userAddition();
1414
1442
  }
1415
1443
  if (!settings.keepSearchTerm) {
1416
- module.remove.filteredItem();
1444
+ if (module.is.multiple()) {
1445
+ module.remove.filteredItem();
1446
+ }
1417
1447
  module.remove.searchTerm();
1418
1448
  }
1419
1449
  if (!module.is.visible() && $target.length > 0) {
@@ -2587,7 +2617,7 @@
2587
2617
  } else {
2588
2618
  $combo.text(text);
2589
2619
  }
2590
- } else if (settings.action === 'activate') {
2620
+ } else if (settings.action === 'activate' || isFunction(settings.action)) {
2591
2621
  if (text !== module.get.placeholderText() || isNotPlaceholder) {
2592
2622
  $text.removeClass(className.placeholder);
2593
2623
  }
@@ -2647,7 +2677,7 @@
2647
2677
  module.set.scrollPosition($nextValue);
2648
2678
  $selectedItem.removeClass(className.selected);
2649
2679
  $nextValue.addClass(className.selected);
2650
- if (settings.selectOnKeydown && module.is.single() && !$nextItem.hasClass(className.actionable)) {
2680
+ if (settings.selectOnKeydown && module.is.single() && (!$nextItem || !$nextItem.hasClass(className.actionable))) {
2651
2681
  module.set.selectedItem($nextValue);
2652
2682
  }
2653
2683
  }
@@ -2768,19 +2798,27 @@
2768
2798
  $selectedItem = settings.allowAdditions
2769
2799
  ? $selectedItem || module.get.itemWithAdditions(value)
2770
2800
  : $selectedItem || module.get.item(value);
2771
- if (!$selectedItem) {
2801
+ if (!$selectedItem && value !== undefined) {
2772
2802
  return false;
2773
2803
  }
2774
- module.debug('Setting selected menu item to', $selectedItem);
2775
- if (module.is.multiple() && !keepSearchTerm) {
2776
- module.remove.searchWidth();
2777
- }
2778
- if (module.is.single()) {
2804
+ if (isMultiple) {
2805
+ if (!keepSearchTerm) {
2806
+ module.remove.searchWidth();
2807
+ }
2808
+ if (settings.useLabels) {
2809
+ module.remove.selectedItem();
2810
+ if (value === undefined) {
2811
+ module.remove.labels($module.find(selector.label), true);
2812
+ }
2813
+ }
2814
+ } else {
2779
2815
  module.remove.activeItem();
2780
2816
  module.remove.selectedItem();
2781
- } else if (settings.useLabels) {
2782
- module.remove.selectedItem();
2783
2817
  }
2818
+ if (!$selectedItem) {
2819
+ return false;
2820
+ }
2821
+ module.debug('Setting selected menu item to', $selectedItem);
2784
2822
  // select each item
2785
2823
  $selectedItem
2786
2824
  .each(function () {
@@ -3080,6 +3118,12 @@
3080
3118
  $item.removeClass(className.active);
3081
3119
  },
3082
3120
  filteredItem: function () {
3121
+ if (settings.highlightMatches) {
3122
+ $.each($item, function (index, item) {
3123
+ var $markItem = $(item);
3124
+ $markItem.html($markItem.html().replace(/<\/?mark>/g, ''));
3125
+ });
3126
+ }
3083
3127
  if (settings.useLabels && module.has.maxSelections()) {
3084
3128
  return;
3085
3129
  }
@@ -3424,7 +3468,12 @@
3424
3468
  return $selectedMenu.hasClass(className.leftward);
3425
3469
  },
3426
3470
  clearable: function () {
3427
- return $module.hasClass(className.clearable) || settings.clearable;
3471
+ var hasClearableClass = $module.hasClass(className.clearable);
3472
+ if (!hasClearableClass && settings.clearable) {
3473
+ $module.addClass(className.clearable);
3474
+ }
3475
+
3476
+ return hasClearableClass || settings.clearable;
3428
3477
  },
3429
3478
  disabled: function () {
3430
3479
  return $module.hasClass(className.disabled);
@@ -3747,12 +3796,16 @@
3747
3796
  show: function () {
3748
3797
  module.verbose('Delaying show event to ensure user intent');
3749
3798
  clearTimeout(module.timer);
3750
- module.timer = setTimeout(function () { module.show(); }, settings.delay.show);
3799
+ module.timer = setTimeout(function () {
3800
+ module.show();
3801
+ }, settings.delay.show);
3751
3802
  },
3752
3803
  hide: function () {
3753
3804
  module.verbose('Delaying hide event to ensure user intent');
3754
3805
  clearTimeout(module.timer);
3755
- module.timer = setTimeout(function () { module.hide(); }, settings.delay.hide);
3806
+ module.timer = setTimeout(function () {
3807
+ module.hide();
3808
+ }, settings.delay.hide);
3756
3809
  },
3757
3810
  },
3758
3811
 
@@ -3785,6 +3838,7 @@
3785
3838
  return text.replace(regExp.escape, '\\$&');
3786
3839
  },
3787
3840
  htmlEntities: function (string, forceAmpersand) {
3841
+ forceAmpersand = typeof forceAmpersand === 'number' ? false : forceAmpersand;
3788
3842
  var
3789
3843
  badChars = /["'<>`]/g,
3790
3844
  shouldEscape = /["&'<>`]/,
@@ -3801,8 +3855,7 @@
3801
3855
  ;
3802
3856
  if (shouldEscape.test(string)) {
3803
3857
  string = string.replace(forceAmpersand ? /&/g : /&(?![\d#a-z]{1,12};)/gi, '&amp;');
3804
-
3805
- return string.replace(badChars, escapedChar);
3858
+ string = string.replace(badChars, escapedChar);
3806
3859
  }
3807
3860
 
3808
3861
  return string;
@@ -3878,7 +3931,9 @@
3878
3931
  });
3879
3932
  }
3880
3933
  clearTimeout(module.performance.timer);
3881
- module.performance.timer = setTimeout(function () { module.performance.display(); }, 500);
3934
+ module.performance.timer = setTimeout(function () {
3935
+ module.performance.display();
3936
+ }, 500);
3882
3937
  },
3883
3938
  display: function () {
3884
3939
  var
@@ -4005,6 +4060,7 @@
4005
4060
 
4006
4061
  match: 'both', // what to match against with search selection (both, text, or label)
4007
4062
  fullTextSearch: 'exact', // search anywhere in value (set to 'exact' to require exact matches)
4063
+ highlightMatches: false, // Whether search result should highlight matching strings
4008
4064
  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...)
4009
4065
  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)
4010
4066
 
@@ -4120,9 +4176,11 @@
4120
4176
  descriptionVertical: 'descriptionVertical', // whether description should be vertical
4121
4177
  value: 'value', // actual dropdown value
4122
4178
  text: 'text', // displayed text when selected
4179
+ data: 'data', // custom data attributes
4123
4180
  type: 'type', // type of dropdown element
4124
4181
  image: 'image', // optional image path
4125
4182
  imageClass: 'imageClass', // optional individual class for image
4183
+ alt: 'alt', // optional alt text for image
4126
4184
  icon: 'icon', // optional icon name
4127
4185
  iconClass: 'iconClass', // optional individual class for icon (for example to use flag instead)
4128
4186
  class: 'class', // optional individual class for item/header
@@ -4229,8 +4287,7 @@
4229
4287
  ;
4230
4288
  if (shouldEscape.test(string)) {
4231
4289
  string = string.replace(/&(?![\d#a-z]{1,12};)/gi, '&amp;');
4232
-
4233
- return string.replace(badChars, escapedChar);
4290
+ string = string.replace(badChars, escapedChar);
4234
4291
  }
4235
4292
 
4236
4293
  return string;
@@ -4265,9 +4322,21 @@
4265
4322
  $.each(values, function (index, option) {
4266
4323
  var
4267
4324
  itemType = option[fields.type] || 'item',
4268
- isMenu = itemType.indexOf('menu') !== -1
4325
+ isMenu = itemType.indexOf('menu') !== -1,
4326
+ maybeData = '',
4327
+ dataObject = option[fields.data]
4269
4328
  ;
4270
-
4329
+ if (dataObject) {
4330
+ var dataKey,
4331
+ dataKeyEscaped
4332
+ ;
4333
+ for (dataKey in dataObject) {
4334
+ dataKeyEscaped = String(dataKey).replace(/\W/g, '');
4335
+ if (Object.prototype.hasOwnProperty.call(dataObject, dataKey) && ['text', 'value'].indexOf(dataKeyEscaped.toLowerCase()) === -1) {
4336
+ maybeData += ' data-' + dataKeyEscaped + '="' + deQuote(String(dataObject[dataKey])) + '"';
4337
+ }
4338
+ }
4339
+ }
4271
4340
  if (itemType === 'item' || isMenu) {
4272
4341
  var
4273
4342
  maybeText = option[fields.text]
@@ -4284,12 +4353,12 @@
4284
4353
  : '',
4285
4354
  hasDescription = escape(option[fields.description] || '', preserveHTML) !== ''
4286
4355
  ;
4287
- html += '<div class="' + deQuote(maybeActionable + maybeDisabled + maybeDescriptionVertical + (option[fields.class] || className.item)) + '" data-value="' + deQuote(option[fields.value], true) + '"' + maybeText + '>';
4356
+ html += '<div class="' + deQuote(maybeActionable + maybeDisabled + maybeDescriptionVertical + (option[fields.class] || className.item)) + '" data-value="' + deQuote(option[fields.value], true) + '"' + maybeText + maybeData + '>';
4288
4357
  if (isMenu) {
4289
4358
  html += '<i class="' + (itemType.indexOf('left') !== -1 ? 'left' : '') + ' dropdown icon"></i>';
4290
4359
  }
4291
4360
  if (option[fields.image]) {
4292
- html += '<img class="' + deQuote(option[fields.imageClass] || className.image) + '" src="' + deQuote(option[fields.image]) + '">';
4361
+ html += '<img class="' + deQuote(option[fields.imageClass] || className.image) + '" src="' + deQuote(option[fields.image]) + (option[fields.alt] ? '" alt="' + deQuote(option[fields.alt]) : '') + '">';
4293
4362
  }
4294
4363
  if (option[fields.icon]) {
4295
4364
  html += '<i class="' + deQuote(option[fields.icon] + ' ' + (option[fields.iconClass] || className.icon)) + '"></i>';