fomantic-ui 2.9.4-beta.1 → 2.9.4-beta.100

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 (296) hide show
  1. package/.all-contributorsrc +29 -1
  2. package/.eslintrc.js +17 -0
  3. package/.github/FUNDING.yml +1 -1
  4. package/.github/workflows/ci.yml +8 -8
  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 +5 -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 +21 -3
  21. package/dist/components/button.min.css +2 -2
  22. package/dist/components/calendar.css +1 -1
  23. package/dist/components/calendar.js +47 -12
  24. package/dist/components/calendar.min.css +1 -1
  25. package/dist/components/calendar.min.js +3 -3
  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 +46 -40
  43. package/dist/components/dropdown.js +110 -35
  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 +4309 -3713
  51. package/dist/components/emoji.min.css +2 -2
  52. package/dist/components/feed.css +12 -1
  53. package/dist/components/feed.min.css +2 -2
  54. package/dist/components/flag.css +3 -1
  55. package/dist/components/flag.min.css +2 -2
  56. package/dist/components/flyout.css +3 -3
  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 +28 -7
  61. package/dist/components/form.js +74 -29
  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 +7 -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 +2 -1
  85. package/dist/components/message.min.css +2 -2
  86. package/dist/components/modal.css +3 -3
  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 +15 -6
  101. package/dist/components/progress.js +4 -2
  102. package/dist/components/progress.min.css +2 -2
  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 +34 -23
  115. package/dist/components/search.js +78 -14
  116. package/dist/components/search.min.css +2 -2
  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 +7 -5
  122. package/dist/components/shape.min.css +1 -1
  123. package/dist/components/shape.min.js +3 -3
  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 +152 -2
  133. package/dist/components/slider.js +142 -44
  134. package/dist/components/slider.min.css +2 -2
  135. package/dist/components/slider.min.js +3 -3
  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 +992 -86
  141. package/dist/components/step.min.css +2 -2
  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 +6226 -3986
  165. package/dist/semantic.js +580 -195
  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 +14 -14
  174. package/semantic.json.example +1 -1
  175. package/src/definitions/behaviors/api.js +6 -2
  176. package/src/definitions/behaviors/form.js +73 -28
  177. package/src/definitions/behaviors/state.js +3 -1
  178. package/src/definitions/behaviors/visibility.js +3 -1
  179. package/src/definitions/collections/form.less +56 -27
  180. package/src/definitions/collections/grid.less +85 -70
  181. package/src/definitions/collections/menu.less +38 -27
  182. package/src/definitions/collections/message.less +1 -0
  183. package/src/definitions/collections/table.less +183 -157
  184. package/src/definitions/elements/button.less +61 -25
  185. package/src/definitions/elements/container.less +6 -4
  186. package/src/definitions/elements/divider.less +4 -1
  187. package/src/definitions/elements/emoji.less +3 -1
  188. package/src/definitions/elements/header.less +12 -4
  189. package/src/definitions/elements/icon.less +35 -28
  190. package/src/definitions/elements/input.less +35 -19
  191. package/src/definitions/elements/label.less +19 -8
  192. package/src/definitions/elements/list.less +28 -21
  193. package/src/definitions/elements/loader.less +17 -12
  194. package/src/definitions/elements/segment.less +12 -7
  195. package/src/definitions/elements/step.less +405 -87
  196. package/src/definitions/globals/site.js +3 -1
  197. package/src/definitions/globals/site.less +17 -12
  198. package/src/definitions/modules/accordion.js +3 -1
  199. package/src/definitions/modules/accordion.less +15 -13
  200. package/src/definitions/modules/calendar.js +46 -11
  201. package/src/definitions/modules/calendar.less +6 -4
  202. package/src/definitions/modules/checkbox.js +9 -3
  203. package/src/definitions/modules/checkbox.less +12 -6
  204. package/src/definitions/modules/dimmer.js +3 -1
  205. package/src/definitions/modules/dimmer.less +16 -10
  206. package/src/definitions/modules/dropdown.js +109 -34
  207. package/src/definitions/modules/dropdown.less +109 -78
  208. package/src/definitions/modules/embed.js +16 -6
  209. package/src/definitions/modules/flyout.js +3 -1
  210. package/src/definitions/modules/flyout.less +51 -45
  211. package/src/definitions/modules/modal.js +6 -2
  212. package/src/definitions/modules/modal.less +109 -82
  213. package/src/definitions/modules/nag.js +10 -4
  214. package/src/definitions/modules/nag.less +8 -4
  215. package/src/definitions/modules/popup.js +9 -3
  216. package/src/definitions/modules/popup.less +3 -1
  217. package/src/definitions/modules/progress.js +3 -1
  218. package/src/definitions/modules/progress.less +24 -6
  219. package/src/definitions/modules/rating.js +3 -1
  220. package/src/definitions/modules/search.js +77 -13
  221. package/src/definitions/modules/search.less +41 -25
  222. package/src/definitions/modules/shape.js +6 -4
  223. package/src/definitions/modules/sidebar.js +3 -1
  224. package/src/definitions/modules/slider.js +141 -43
  225. package/src/definitions/modules/slider.less +129 -27
  226. package/src/definitions/modules/sticky.js +3 -1
  227. package/src/definitions/modules/tab.js +3 -1
  228. package/src/definitions/modules/toast.js +6 -2
  229. package/src/definitions/modules/toast.less +35 -24
  230. package/src/definitions/modules/transition.js +6 -2
  231. package/src/definitions/views/card.less +7 -5
  232. package/src/definitions/views/feed.less +14 -1
  233. package/src/definitions/views/item.less +7 -5
  234. package/src/themes/basic/assets/fonts/LICENSE.txt +91 -0
  235. package/src/themes/default/assets/fonts/LICENSE_Lato.txt +94 -0
  236. package/src/themes/default/assets/fonts/LICENSE_icons.txt +165 -0
  237. package/src/themes/default/collections/form.variables +1 -0
  238. package/src/themes/default/elements/button.variables +3 -0
  239. package/src/themes/default/elements/emoji.variables +172 -23
  240. package/src/themes/default/elements/flag.variables +3 -3
  241. package/src/themes/default/elements/step.variables +33 -0
  242. package/src/themes/default/globals/site.variables +3 -0
  243. package/src/themes/default/globals/variation.variables +24 -2
  244. package/src/themes/default/modules/dropdown.variables +3 -0
  245. package/src/themes/default/modules/progress.variables +1 -1
  246. package/src/themes/default/modules/search.variables +15 -12
  247. package/src/themes/default/modules/slider.variables +10 -0
  248. package/src/themes/default/views/feed.variables +3 -0
  249. package/src/themes/github/assets/fonts/LICENSE.txt +94 -0
  250. package/src/themes/joypixels/elements/emoji.variables +183 -22
  251. package/src/themes/material/assets/fonts/LICENSE.txt +202 -0
  252. package/tasks/admin/components/create.js +4 -4
  253. package/tasks/admin/components/init.js +2 -2
  254. package/tasks/admin/components/update.js +3 -3
  255. package/tasks/admin/distributions/create.js +3 -3
  256. package/tasks/admin/distributions/init.js +2 -2
  257. package/tasks/admin/distributions/update.js +4 -4
  258. package/tasks/build/assets.js +1 -1
  259. package/tasks/build/css.js +19 -10
  260. package/tasks/build/javascript.js +12 -5
  261. package/tasks/check-install.js +1 -1
  262. package/tasks/config/defaults.js +4 -0
  263. package/tasks/config/project/release.js +19 -1
  264. package/tasks/config/tasks.js +7 -7
  265. package/tasks/docs/build.js +3 -3
  266. package/tasks/docs/metadata.js +1 -1
  267. package/tasks/docs/serve.js +3 -1
  268. package/tasks/install.js +2 -2
  269. package/tasks/watch.js +1 -1
  270. package/types/fomantic-ui-accordion.d.ts +1 -1
  271. package/types/fomantic-ui-api.d.ts +9 -3
  272. package/types/fomantic-ui-calendar.d.ts +114 -13
  273. package/types/fomantic-ui-checkbox.d.ts +14 -4
  274. package/types/fomantic-ui-dimmer.d.ts +1 -1
  275. package/types/fomantic-ui-dropdown.d.ts +82 -44
  276. package/types/fomantic-ui-embed.d.ts +19 -2
  277. package/types/fomantic-ui-flyout.d.ts +25 -11
  278. package/types/fomantic-ui-form.d.ts +128 -20
  279. package/types/fomantic-ui-modal.d.ts +101 -5
  280. package/types/fomantic-ui-nag.d.ts +4 -4
  281. package/types/fomantic-ui-popup.d.ts +38 -12
  282. package/types/fomantic-ui-progress.d.ts +12 -6
  283. package/types/fomantic-ui-rating.d.ts +1 -1
  284. package/types/fomantic-ui-search.d.ts +138 -22
  285. package/types/fomantic-ui-shape.d.ts +2 -2
  286. package/types/fomantic-ui-sidebar.d.ts +4 -4
  287. package/types/fomantic-ui-slider.d.ts +56 -4
  288. package/types/fomantic-ui-sticky.d.ts +1 -1
  289. package/types/fomantic-ui-tab.d.ts +6 -6
  290. package/types/fomantic-ui-toast.d.ts +14 -2
  291. package/types/fomantic-ui-transition.d.ts +41 -7
  292. package/types/fomantic-ui-visibility.d.ts +3 -3
  293. package/types/index.d.ts +25 -25
  294. package/types/tests.ts +188 -0
  295. package/types/tsconfig.json +1 -1
  296. package/types/fomantic-ui-tests.ts +0 -25
@@ -17,6 +17,23 @@
17
17
 
18
18
  @import (multiple) "../../theme.config";
19
19
 
20
+ @notPointing: if(@variationDropdownPointing, e(":not(.pointing)"));
21
+ @notFloating: if(@variationDropdownFloating, e(":not(.floating)"));
22
+ @notLabeled: if(@variationDropdownLabel, e(":not(.labeled)"));
23
+ @notSearch: if(@variationDropdownSearch, e(":not(.search)"));
24
+ @notUnlimited: if(@variationDropdownUnlimited, e(":not(.unlimited)"));
25
+ @notMultiple: if(@variationDropdownMultiple, e(":not(.multiple)"));
26
+ @notSelection: if(@variationDropdownSelection, e(":not(.selection)"));
27
+ @notButton: if(@variationDropdownButton, e(":not(.button)"));
28
+ @notSimple: if(@variationDropdownSimple, e(":not(.simple)"));
29
+ @notUpward: if(@variationDropdownUpward, e(":not(.upward)"));
30
+
31
+ @notTransparent: if(@variationInputTransparent, e(":not(.transparent)"));
32
+ @notVertical: if(@variationMenuVertical, e(":not(.vertical)"));
33
+ @notImage: if(@variationLabelImage, e(":not(.image)"));
34
+ @notCentered: if(@variationImageCentered, e(":not(.centered)"));
35
+ @notAvatar: if(@variationImageAvatar, e(":not(.avatar)"));
36
+
20
37
  /*******************************
21
38
  Dropdown
22
39
  *******************************/
@@ -69,7 +86,7 @@
69
86
  Hidden Input
70
87
  --------------- */
71
88
 
72
- .ui.dropdown > input:not(.search):first-child,
89
+ .ui.dropdown > input@{notSearch}:first-child,
73
90
  .ui.dropdown > select {
74
91
  display: none !important;
75
92
  }
@@ -78,7 +95,7 @@
78
95
  Dropdown Icon
79
96
  --------------- */
80
97
 
81
- .ui.dropdown:not(.labeled) > .dropdown.icon {
98
+ .ui.dropdown@{notLabeled} > .dropdown.icon {
82
99
  position: relative;
83
100
  width: auto;
84
101
  min-width: @dropdownIconMinWidth;
@@ -190,12 +207,12 @@
190
207
  .ui.dropdown .menu > .header + .input {
191
208
  margin-top: 0;
192
209
  }
193
- .ui.dropdown .menu > .input:not(.transparent) input {
210
+ .ui.dropdown .menu > .input@{notTransparent} input {
194
211
  padding: @menuInputPadding;
195
212
  }
196
- .ui.dropdown .menu > .input:not(.transparent) .button,
197
- .ui.dropdown .menu > .input:not(.transparent) i.icon,
198
- .ui.dropdown .menu > .input:not(.transparent) .label {
213
+ .ui.dropdown .menu > .input@{notTransparent} .button,
214
+ .ui.dropdown .menu > .input@{notTransparent} i.icon,
215
+ .ui.dropdown .menu > .input@{notTransparent} .label {
199
216
  padding-top: @menuInputVerticalPadding;
200
217
  padding-bottom: @menuInputVerticalPadding;
201
218
  }
@@ -358,10 +375,10 @@
358
375
  .ui.dropdown.button .menu {
359
376
  min-width: 100%;
360
377
  }
361
- .ui.dropdown.button:not(.pointing):not(.floating).active {
378
+ .ui.dropdown.button@{notPointing}@{notFloating}.active {
362
379
  border-radius: @borderRadius @borderRadius 0 0;
363
380
  }
364
- .ui.dropdown.button:not(.pointing):not(.floating) > .menu {
381
+ .ui.dropdown.button@{notPointing}@{notFloating} > .menu {
365
382
  border-radius: 0 0 @borderRadius @borderRadius;
366
383
  }
367
384
  }
@@ -435,7 +452,7 @@ select.ui.dropdown {
435
452
  }
436
453
 
437
454
  /* Selection Menu */
438
- .ui.selection.dropdown:not(.unlimited) .menu {
455
+ .ui.selection.dropdown@{notUnlimited} .menu {
439
456
  overflow-x: hidden;
440
457
  overflow-y: auto;
441
458
  overscroll-behavior: @overscrollBehavior;
@@ -449,7 +466,7 @@ select.ui.dropdown {
449
466
  box-shadow: @selectionMenuBoxShadow;
450
467
  transition: @selectionMenuTransition;
451
468
  }
452
- .ui.selection.dropdown:not(.pointing):not(.floating) .menu {
469
+ .ui.selection.dropdown@{notPointing}@{notFloating} .menu {
453
470
  border-top-width: 0;
454
471
  border-radius: @selectionMenuBorderRadius;
455
472
  }
@@ -468,84 +485,84 @@ select.ui.dropdown {
468
485
 
469
486
  @media only screen and (max-width: @largestMobileScreen) {
470
487
  & when (@variationDropdownShort) {
471
- .ui.selection.dropdown.short .menu {
488
+ .ui.ui.selection.dropdown.short .menu {
472
489
  max-height: @selectionMobileMaxMenuHeight * 0.75;
473
490
  }
474
- .ui.selection.dropdown[class*="very short"] .menu {
491
+ .ui.ui.selection.dropdown[class*="very short"] .menu {
475
492
  max-height: @selectionMobileMaxMenuHeight * 0.5;
476
493
  }
477
494
  }
478
- .ui.selection.dropdown:not(.unlimited) .menu {
495
+ .ui.selection.dropdown@{notUnlimited} .menu {
479
496
  max-height: @selectionMobileMaxMenuHeight;
480
497
  }
481
498
  & when (@variationDropdownLong) {
482
- .ui.selection.dropdown.long .menu {
499
+ .ui.ui.selection.dropdown.long .menu {
483
500
  max-height: @selectionMobileMaxMenuHeight * 2;
484
501
  }
485
- .ui.selection.dropdown[class*="very long"] .menu {
502
+ .ui.ui.selection.dropdown[class*="very long"] .menu {
486
503
  max-height: @selectionMobileMaxMenuHeight * 3;
487
504
  }
488
505
  }
489
506
  }
490
507
  @media only screen and (min-width: @tabletBreakpoint) {
491
508
  & when (@variationDropdownShort) {
492
- .ui.selection.dropdown.short .menu {
509
+ .ui.ui.selection.dropdown.short .menu {
493
510
  max-height: @selectionTabletMaxMenuHeight * 0.75;
494
511
  }
495
- .ui.selection.dropdown[class*="very short"] .menu {
512
+ .ui.ui.selection.dropdown[class*="very short"] .menu {
496
513
  max-height: @selectionTabletMaxMenuHeight * 0.5;
497
514
  }
498
515
  }
499
- .ui.selection.dropdown:not(.unlimited) .menu {
516
+ .ui.selection.dropdown@{notUnlimited} .menu {
500
517
  max-height: @selectionTabletMaxMenuHeight;
501
518
  }
502
519
  & when (@variationDropdownLong) {
503
- .ui.selection.dropdown.long .menu {
520
+ .ui.ui.selection.dropdown.long .menu {
504
521
  max-height: @selectionTabletMaxMenuHeight * 2;
505
522
  }
506
- .ui.selection.dropdown[class*="very long"] .menu {
523
+ .ui.ui.selection.dropdown[class*="very long"] .menu {
507
524
  max-height: @selectionTabletMaxMenuHeight * 3;
508
525
  }
509
526
  }
510
527
  }
511
528
  @media only screen and (min-width: @computerBreakpoint) {
512
529
  & when (@variationDropdownShort) {
513
- .ui.selection.dropdown.short .menu {
530
+ .ui.ui.selection.dropdown.short .menu {
514
531
  max-height: @selectionComputerMaxMenuHeight * 0.75;
515
532
  }
516
- .ui.selection.dropdown[class*="very short"] .menu {
533
+ .ui.ui.selection.dropdown[class*="very short"] .menu {
517
534
  max-height: @selectionComputerMaxMenuHeight * 0.5;
518
535
  }
519
536
  }
520
- .ui.selection.dropdown:not(.unlimited) .menu {
537
+ .ui.selection.dropdown@{notUnlimited} .menu {
521
538
  max-height: @selectionComputerMaxMenuHeight;
522
539
  }
523
540
  & when (@variationDropdownLong) {
524
- .ui.selection.dropdown.long .menu {
541
+ .ui.ui.selection.dropdown.long .menu {
525
542
  max-height: @selectionComputerMaxMenuHeight * 2;
526
543
  }
527
- .ui.selection.dropdown[class*="very long"] .menu {
544
+ .ui.ui.selection.dropdown[class*="very long"] .menu {
528
545
  max-height: @selectionComputerMaxMenuHeight * 3;
529
546
  }
530
547
  }
531
548
  }
532
549
  @media only screen and (min-width: @widescreenMonitorBreakpoint) {
533
550
  & when (@variationDropdownShort) {
534
- .ui.selection.dropdown.short .menu {
551
+ .ui.ui.selection.dropdown.short .menu {
535
552
  max-height: @selectionWidescreenMaxMenuHeight * 0.75;
536
553
  }
537
- .ui.selection.dropdown[class*="very short"] .menu {
554
+ .ui.ui.selection.dropdown[class*="very short"] .menu {
538
555
  max-height: @selectionWidescreenMaxMenuHeight * 0.5;
539
556
  }
540
557
  }
541
- .ui.selection.dropdown:not(.unlimited) .menu {
558
+ .ui.selection.dropdown@{notUnlimited} .menu {
542
559
  max-height: @selectionWidescreenMaxMenuHeight;
543
560
  }
544
561
  & when (@variationDropdownLong) {
545
- .ui.selection.dropdown.long .menu {
562
+ .ui.ui.selection.dropdown.long .menu {
546
563
  max-height: @selectionWidescreenMaxMenuHeight * 2;
547
564
  }
548
- .ui.selection.dropdown[class*="very long"] .menu {
565
+ .ui.ui.selection.dropdown[class*="very long"] .menu {
549
566
  max-height: @selectionWidescreenMaxMenuHeight * 3;
550
567
  }
551
568
  }
@@ -631,7 +648,7 @@ select.ui.dropdown {
631
648
  }
632
649
 
633
650
  /* Connecting Border */
634
- .ui.active.selection.dropdown:not(.pointing):not(.floating) {
651
+ .ui.active.selection.dropdown@{notPointing}@{notFloating} {
635
652
  border-bottom-left-radius: @selectionVisibleConnectingBorder !important;
636
653
  border-bottom-right-radius: @selectionVisibleConnectingBorder !important;
637
654
  }
@@ -751,7 +768,7 @@ select.ui.dropdown {
751
768
  opacity: @selectionTextUnderlayIconOpacity;
752
769
  }
753
770
  .ui.active.search.dropdown input.search:focus + .text {
754
- color: @selectionTextUnderlayColor !important;
771
+ color: @selectionTextUnderlayColor;
755
772
  }
756
773
 
757
774
  .ui.search.dropdown.button > span.sizer {
@@ -759,29 +776,29 @@ select.ui.dropdown {
759
776
  }
760
777
 
761
778
  /* Search Menu */
762
- .ui.search.dropdown:not(.unlimited) .menu {
779
+ .ui.search.dropdown@{notUnlimited} .menu {
763
780
  overflow-x: hidden;
764
781
  overflow-y: auto;
765
782
  overscroll-behavior: @overscrollBehavior;
766
783
  backface-visibility: hidden;
767
784
  }
768
785
  @media only screen and (max-width: @largestMobileScreen) {
769
- .ui.search.dropdown:not(.unlimited) .menu {
786
+ .ui.search.dropdown@{notUnlimited} .menu {
770
787
  max-height: @searchMobileMaxMenuHeight;
771
788
  }
772
789
  }
773
790
  @media only screen and (min-width: @tabletBreakpoint) {
774
- .ui.search.dropdown:not(.unlimited) .menu {
791
+ .ui.search.dropdown@{notUnlimited} .menu {
775
792
  max-height: @searchTabletMaxMenuHeight;
776
793
  }
777
794
  }
778
795
  @media only screen and (min-width: @computerBreakpoint) {
779
- .ui.search.dropdown:not(.unlimited) .menu {
796
+ .ui.search.dropdown@{notUnlimited} .menu {
780
797
  max-height: @searchComputerMaxMenuHeight;
781
798
  }
782
799
  }
783
800
  @media only screen and (min-width: @widescreenMonitorBreakpoint) {
784
- .ui.search.dropdown:not(.unlimited) .menu {
801
+ .ui.search.dropdown@{notUnlimited} .menu {
785
802
  max-height: @searchWidescreenMaxMenuHeight;
786
803
  }
787
804
  }
@@ -811,22 +828,22 @@ select.ui.dropdown {
811
828
  }
812
829
  }
813
830
 
814
- .ui.clearable.dropdown .text,
815
- .ui.clearable.dropdown a:last-of-type {
831
+ .ui.clearable.dropdown .text:not(.default),
832
+ .ui.clearable.dropdown@{notSearch} > .ui.label:last-of-type {
816
833
  margin-right: @clearableTextMargin;
817
834
  }
818
835
 
819
836
  .ui.dropdown select.noselection ~ .remove.icon,
820
837
  .ui.dropdown input[value=""] ~ .remove.icon,
821
- .ui.dropdown input:not([value]) ~ .remove.icon,
838
+ .ui.dropdown input:not([value])@{notSearch} ~ .remove.icon,
822
839
  .ui.dropdown.loading > .remove.icon {
823
840
  display: none;
824
841
  }
825
842
 
826
- .ui.dropdown:not(.selection) > .remove.icon ~ .dropdown.icon {
843
+ .ui.dropdown@{notSelection} > .remove.icon ~ .dropdown.icon {
827
844
  margin-left: @clearableIconMargin;
828
845
  }
829
- .ui.dropdown:not(.selection):not(.multiple) > .remove.icon {
846
+ .ui.dropdown@{notSelection}@{notMultiple} > .remove.icon {
830
847
  margin-top: -@clearableIconMarginTop;
831
848
  }
832
849
  }
@@ -879,24 +896,24 @@ select.ui.dropdown {
879
896
  .ui.multiple.dropdown > .label ~ .text {
880
897
  display: none;
881
898
  }
882
- .ui.multiple.dropdown > .label:not(.image) > img:not(.centered) {
899
+ .ui.multiple.dropdown > .label@{notImage} > img@{notCentered} {
883
900
  margin-right: @itemElementDistance;
884
901
  }
885
- .ui.multiple.dropdown > .label:not(.image) > img.ui:not(.avatar) {
902
+ .ui.multiple.dropdown > .label@{notImage} > img.ui@{notAvatar} {
886
903
  margin-bottom: @itemElementBottomDistance;
887
904
  }
888
905
  .ui.multiple.dropdown > .image.label img {
889
906
  margin: @imageLabelImageMargin;
890
907
  height: @imageLabelHeight;
891
908
  }
892
- .ui.multiple.dropdown:not(.selection):not(.labeled) {
909
+ .ui.multiple.dropdown@{notSelection}@{notLabeled} {
893
910
  & > .dropdown.icon {
894
911
  right: @dropdownIconMultipleRight;
895
912
  }
896
913
  & > .remove.icon {
897
914
  margin-right: @dropdownIconMultipleRight;
898
915
  }
899
- &:not(.search) > .remove.icon ~ .text.default,
916
+ &@{notSearch} > .remove.icon ~ .text.default,
900
917
  > .text.default:first-child {
901
918
  overflow: inherit;
902
919
  }
@@ -922,6 +939,9 @@ select.ui.dropdown {
922
939
  padding: inherit;
923
940
  margin: @multipleSelectionChildMargin;
924
941
  line-height: @multipleSelectionChildLineHeight;
942
+ &.default {
943
+ z-index: -1;
944
+ }
925
945
  }
926
946
 
927
947
  .ui.multiple.search.dropdown > .label ~ .text {
@@ -944,8 +964,8 @@ select.ui.dropdown {
944
964
  .ui.multiple.search.dropdown > span.sizer {
945
965
  display: none;
946
966
  }
947
- .ui.multiple.search.dropdown:not(.selection) > .remove.icon + input.search,
948
- .ui.multiple.search.dropdown:not(.selection) > input.search:first-child {
967
+ .ui.multiple.search.dropdown@{notSelection} > .remove.icon + input.search,
968
+ .ui.multiple.search.dropdown@{notSelection} > input.search:first-child {
949
969
  min-width: @multipleSearchMinWidth;
950
970
  }
951
971
  }
@@ -1007,12 +1027,12 @@ select.ui.dropdown {
1007
1027
  Default Text
1008
1028
  ---------------------- */
1009
1029
 
1010
- .ui.dropdown:not(.button) > .default.text,
1011
- .ui.default.dropdown:not(.button) > .text {
1030
+ .ui.dropdown@{notButton} > .default.text,
1031
+ .ui.default.dropdown@{notButton} > .text {
1012
1032
  color: @defaultTextColor;
1013
1033
  }
1014
- .ui.dropdown:not(.button) > input:focus ~ .default.text,
1015
- .ui.default.dropdown:not(.button) > input:focus ~ .text {
1034
+ .ui.dropdown@{notButton} > input:focus ~ .default.text,
1035
+ .ui.default.dropdown@{notButton} > input:focus ~ .text {
1016
1036
  color: @defaultTextFocusColor;
1017
1037
  }
1018
1038
 
@@ -1283,17 +1303,17 @@ select.ui.dropdown {
1283
1303
 
1284
1304
  & when (@variationDropdownButton) {
1285
1305
  /* Button */
1286
- .ui.upward.dropdown.button:not(.pointing):not(.floating).active {
1306
+ .ui.upward.dropdown.button@{notPointing}@{notFloating}.active {
1287
1307
  border-radius: 0 0 @borderRadius @borderRadius;
1288
1308
  }
1289
- .ui.upward.dropdown.button:not(.pointing):not(.floating) > .menu {
1309
+ .ui.upward.dropdown.button@{notPointing}@{notFloating} > .menu {
1290
1310
  border-radius: @borderRadius @borderRadius 0 0;
1291
1311
  }
1292
1312
  }
1293
1313
 
1294
1314
  & when (@variationDropdownSelection) {
1295
1315
  /* Selection */
1296
- .ui.ui.upward.selection.dropdown:not(.pointing):not(.floating) .menu {
1316
+ .ui.ui.upward.selection.dropdown@{notPointing}@{notFloating} .menu {
1297
1317
  border-top-width: @menuBorderWidth;
1298
1318
  border-bottom-width: 0;
1299
1319
  box-shadow: @upwardSelectionMenuBoxShadow;
@@ -1304,14 +1324,14 @@ select.ui.dropdown {
1304
1324
  }
1305
1325
 
1306
1326
  /* Active Upward */
1307
- .ui.active.upward.selection.dropdown:not(.pointing):not(.floating) {
1327
+ .ui.active.upward.selection.dropdown@{notPointing}@{notFloating} {
1308
1328
  border-radius: @upwardSelectionVisibleBorderRadius !important;
1309
1329
  }
1310
1330
 
1311
1331
  /* Visible Upward */
1312
1332
  .ui.upward.selection.dropdown.visible {
1313
1333
  box-shadow: @upwardSelectionVisibleBoxShadow;
1314
- &:not(.pointing):not(.floating) {
1334
+ &@{notPointing}@{notFloating} {
1315
1335
  border-radius: @upwardSelectionVisibleBorderRadius !important;
1316
1336
  }
1317
1337
  }
@@ -1320,7 +1340,7 @@ select.ui.dropdown {
1320
1340
  .ui.upward.active.selection.dropdown:hover {
1321
1341
  box-shadow: @upwardSelectionActiveHoverBoxShadow;
1322
1342
  }
1323
- .ui.upward.active.selection.dropdown:hover:not(.pointing):not(.floating) .menu {
1343
+ .ui.upward.active.selection.dropdown:hover@{notPointing}@{notFloating} .menu {
1324
1344
  box-shadow: @upwardSelectionActiveHoverMenuBoxShadow;
1325
1345
  }
1326
1346
  }
@@ -1508,7 +1528,7 @@ select.ui.dropdown {
1508
1528
  .ui.simple.selection.dropdown .upward.menu {
1509
1529
  margin-bottom: @simpleUpwardSelectionMenuMargin;
1510
1530
  }
1511
- .ui.menu:not(.vertical) .ui.simple.dropdown.item .upward.menu {
1531
+ .ui.menu@{notVertical} .ui.simple.dropdown.item .upward.menu {
1512
1532
  margin-bottom: @simpleUpwardItemMenuMargin;
1513
1533
  }
1514
1534
  }
@@ -1602,10 +1622,10 @@ select.ui.dropdown {
1602
1622
  box-shadow: @floatingMenuBoxShadow !important;
1603
1623
  border-radius: @floatingMenuBorderRadius !important;
1604
1624
  }
1605
- .ui:not(.upward).floating.dropdown > .menu {
1625
+ .ui@{notUpward}.floating.dropdown > .menu {
1606
1626
  margin-top: @floatingMenuDistance;
1607
1627
  }
1608
- .ui.upward.floating.dropdown:not(.simple) > .menu {
1628
+ .ui.upward.floating.dropdown@{notSimple} > .menu {
1609
1629
  margin-bottom: @floatingMenuDistance;
1610
1630
  }
1611
1631
  }
@@ -1636,11 +1656,11 @@ select.ui.dropdown {
1636
1656
  }
1637
1657
 
1638
1658
  @supports selector(:has(.f)) {
1639
- .ui.pointing.dropdown:not(.upward) .menu:has(:first-child:hover)::after,
1659
+ .ui.pointing.dropdown@{notUpward} .menu:has(:first-child:hover)::after,
1640
1660
  .ui.upward.pointing.dropdown .menu:has(:last-child:hover)::after {
1641
1661
  background: @hoveredItemBackground;
1642
1662
  }
1643
- .ui.pointing.dropdown:not(.upward) .menu:has(.selected.item:first-child)::after,
1663
+ .ui.pointing.dropdown@{notUpward} .menu:has(.selected.item:first-child)::after,
1644
1664
  .ui.upward.pointing.dropdown .menu:has(.selected.item:last-child)::after {
1645
1665
  background: @selectedBackground;
1646
1666
  }
@@ -1853,13 +1873,20 @@ select.ui.dropdown {
1853
1873
  & when not (@variationDropdownSizes = false) {
1854
1874
  each(@variationDropdownSizes, {
1855
1875
  @s: @@value;
1856
- .ui.@{value}.dropdown,
1857
- .ui.@{value}.dropdown .menu > .item {
1876
+ .ui.ui.@{value}.dropdown,
1877
+ .ui.ui.@{value}.dropdown .menu > .item {
1858
1878
  font-size: @s;
1859
1879
  }
1860
1880
  });
1861
1881
  }
1862
1882
 
1883
+ & when (@variationDropdownHighlightMatches) {
1884
+ .ui.dropdown .menu > .item mark {
1885
+ background: @highlightMatchesBackground;
1886
+ color: @highlightMatchesColor;
1887
+ }
1888
+ }
1889
+
1863
1890
  & when (@variationDropdownInverted) {
1864
1891
  /* --------------
1865
1892
  Inverted
@@ -1955,12 +1982,12 @@ select.ui.dropdown {
1955
1982
  }
1956
1983
  }
1957
1984
 
1958
- .ui.inverted.dropdown:not(.button) > .default.text,
1959
- .ui.inverted.default.dropdown:not(.button) > .text {
1985
+ .ui.inverted.dropdown@{notButton} > .default.text,
1986
+ .ui.inverted.default.dropdown@{notButton} > .text {
1960
1987
  color: @invertedDefaultTextColor;
1961
1988
  }
1962
- .ui.inverted.dropdown:not(.button) > input:focus ~ .default.text,
1963
- .ui.inverted.default.dropdown:not(.button) > input:focus ~ .text {
1989
+ .ui.inverted.dropdown@{notButton} > input:focus ~ .default.text,
1990
+ .ui.inverted.default.dropdown@{notButton} > input:focus ~ .text {
1964
1991
  color: @invertedDefaultTextFocusColor;
1965
1992
  }
1966
1993
 
@@ -1969,7 +1996,7 @@ select.ui.dropdown {
1969
1996
  opacity: @invertedSelectionTextUnderlayIconOpacity;
1970
1997
  }
1971
1998
  .ui.inverted.active.search.dropdown input.search:focus + .text {
1972
- color: @invertedSelectionTextUnderlayColor !important;
1999
+ color: @invertedSelectionTextUnderlayColor;
1973
2000
  }
1974
2001
 
1975
2002
  .ui.dropdown .inverted.menu > .message:not(.ui),
@@ -2035,18 +2062,22 @@ select.ui.dropdown {
2035
2062
  .ui.inverted.dropdown .menu::-webkit-scrollbar-thumb:hover {
2036
2063
  background: @thumbInvertedHoverBackground;
2037
2064
  }
2038
- .ui.dropdown .inverted.menu,
2039
- .ui.inverted.dropdown .menu {
2040
- & when (@supportIE) {
2065
+ & when (@supportIE) {
2066
+ .ui.dropdown .inverted.menu,
2067
+ .ui.inverted.dropdown .menu {
2041
2068
  /* IE11 */
2042
2069
  scrollbar-face-color: @thumbInvertedBackgroundHex;
2043
2070
  scrollbar-shadow-color: @thumbInvertedBackgroundHex;
2044
2071
  scrollbar-track-color: @trackInvertedBackgroundHex;
2045
2072
  scrollbar-arrow-color: @trackInvertedBackgroundHex;
2046
2073
  }
2047
-
2048
- /* firefox: first color thumb, second track */
2049
- scrollbar-color: @thumbInvertedBackground @trackInvertedBackground;
2074
+ }
2075
+ @supports (-moz-appearance: none) {
2076
+ .ui.dropdown .inverted.menu,
2077
+ .ui.inverted.dropdown .menu {
2078
+ /* firefox: first color thumb, second track */
2079
+ scrollbar-color: @thumbInvertedBackground @trackInvertedBackground;
2080
+ }
2050
2081
  }
2051
2082
  }
2052
2083
  & when (@variationDropdownPointing) {
@@ -2061,11 +2092,11 @@ select.ui.dropdown {
2061
2092
  }
2062
2093
  }
2063
2094
  @supports selector(:has(.f)) {
2064
- .ui.inverted.pointing.dropdown:not(.upward) .menu:has(:first-child:hover)::after,
2095
+ .ui.inverted.pointing.dropdown@{notUpward} .menu:has(:first-child:hover)::after,
2065
2096
  .ui.inverted.upward.pointing.dropdown .menu:has(:last-child:hover)::after {
2066
2097
  background: @invertedHoveredItemBackground;
2067
2098
  }
2068
- .ui.inverted.pointing.dropdown:not(.upward) .menu:has(.selected.item:first-child)::after,
2099
+ .ui.inverted.pointing.dropdown@{notUpward} .menu:has(.selected.item:first-child)::after,
2069
2100
  .ui.inverted.upward.pointing.dropdown .menu:has(.selected.item:last-child)::after {
2070
2101
  background: @invertedSelectedBackground;
2071
2102
  }
@@ -119,11 +119,12 @@
119
119
 
120
120
  createPlaceholder: function (placeholder) {
121
121
  var
122
- icon = module.get.icon()
122
+ icon = module.get.icon(),
123
+ alt = module.get.alt()
123
124
  ;
124
125
  placeholder = placeholder || module.get.placeholder();
125
- $module.html(templates.placeholder(placeholder, icon));
126
- module.debug('Creating placeholder for embed', placeholder, icon);
126
+ $module.html(templates.placeholder(placeholder, icon, alt));
127
+ module.debug('Creating placeholder for embed', placeholder, icon, alt);
127
128
  },
128
129
 
129
130
  createEmbed: function (url) {
@@ -203,6 +204,9 @@
203
204
  placeholder: function () {
204
205
  return settings.placeholder || $module.data(metadata.placeholder);
205
206
  },
207
+ alt: function () {
208
+ return settings.alt || $module.data(metadata.alt);
209
+ },
206
210
  icon: function () {
207
211
  return settings.icon || ($module.data(metadata.icon) !== undefined
208
212
  ? $module.data(metadata.icon)
@@ -288,6 +292,7 @@
288
292
  .removeData(metadata.id)
289
293
  .removeData(metadata.icon)
290
294
  .removeData(metadata.placeholder)
295
+ .removeData(metadata.alt)
291
296
  .removeData(metadata.source)
292
297
  .removeData(metadata.url)
293
298
  ;
@@ -440,7 +445,9 @@
440
445
  });
441
446
  }
442
447
  clearTimeout(module.performance.timer);
443
- module.performance.timer = setTimeout(function () { module.performance.display(); }, 500);
448
+ module.performance.timer = setTimeout(function () {
449
+ module.performance.display();
450
+ }, 500);
444
451
  },
445
452
  display: function () {
446
453
  var
@@ -555,6 +562,8 @@
555
562
  source: false,
556
563
  url: false,
557
564
  id: false,
565
+ placeholder: false,
566
+ alt: false,
558
567
 
559
568
  // standard video settings
560
569
  autoplay: 'auto',
@@ -577,6 +586,7 @@
577
586
  id: 'id',
578
587
  icon: 'icon',
579
588
  placeholder: 'placeholder',
589
+ alt: 'alt',
580
590
  source: 'source',
581
591
  url: 'url',
582
592
  },
@@ -652,7 +662,7 @@
652
662
  + ' width="100%" height="100%"'
653
663
  + ' msallowFullScreen allowFullScreen></iframe>';
654
664
  },
655
- placeholder: function (image, icon) {
665
+ placeholder: function (image, icon, alt) {
656
666
  var
657
667
  html = '',
658
668
  deQuote = $.fn.embed.settings.templates.deQuote
@@ -661,7 +671,7 @@
661
671
  html += '<i class="' + deQuote(icon) + ' icon"></i>';
662
672
  }
663
673
  if (image) {
664
- html += '<img class="placeholder" src="' + deQuote(image) + '">';
674
+ html += '<img class="placeholder" src="' + deQuote(image) + (alt ? '" alt="' + deQuote(alt) : '') + '">';
665
675
  }
666
676
 
667
677
  return html;
@@ -1219,7 +1219,9 @@
1219
1219
  });
1220
1220
  }
1221
1221
  clearTimeout(module.performance.timer);
1222
- module.performance.timer = setTimeout(function () { module.performance.display(); }, 500);
1222
+ module.performance.timer = setTimeout(function () {
1223
+ module.performance.display();
1224
+ }, 500);
1223
1225
  },
1224
1226
  display: function () {
1225
1227
  var