fomantic-ui 2.9.4-beta.10 → 2.9.4-beta.101

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 (295) 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 +48 -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 +267 -265
  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 +15 -3
  61. package/dist/components/form.js +66 -23
  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 +1 -1
  67. package/dist/components/header.min.css +1 -1
  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 +1 -1
  73. package/dist/components/input.min.css +1 -1
  74. package/dist/components/item.css +1 -1
  75. package/dist/components/item.min.css +1 -1
  76. package/dist/components/label.css +7 -1
  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 -1
  83. package/dist/components/menu.min.css +1 -1
  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 -1
  97. package/dist/components/popup.js +10 -4
  98. package/dist/components/popup.min.css +1 -1
  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 +6445 -4234
  165. package/dist/semantic.js +572 -189
  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 +65 -22
  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 +43 -23
  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 +7 -4
  189. package/src/definitions/elements/icon.less +35 -28
  190. package/src/definitions/elements/input.less +21 -13
  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/elements/button.variables +3 -0
  238. package/src/themes/default/elements/emoji.variables +172 -23
  239. package/src/themes/default/elements/flag.variables +4 -4
  240. package/src/themes/default/elements/step.variables +33 -0
  241. package/src/themes/default/globals/site.variables +3 -0
  242. package/src/themes/default/globals/variation.variables +23 -2
  243. package/src/themes/default/modules/dropdown.variables +3 -0
  244. package/src/themes/default/modules/progress.variables +1 -1
  245. package/src/themes/default/modules/search.variables +15 -12
  246. package/src/themes/default/modules/slider.variables +10 -0
  247. package/src/themes/default/views/feed.variables +3 -0
  248. package/src/themes/github/assets/fonts/LICENSE.txt +94 -0
  249. package/src/themes/joypixels/elements/emoji.variables +183 -22
  250. package/src/themes/material/assets/fonts/LICENSE.txt +202 -0
  251. package/tasks/admin/components/create.js +4 -4
  252. package/tasks/admin/components/init.js +2 -2
  253. package/tasks/admin/components/update.js +3 -3
  254. package/tasks/admin/distributions/create.js +3 -3
  255. package/tasks/admin/distributions/init.js +2 -2
  256. package/tasks/admin/distributions/update.js +4 -4
  257. package/tasks/build/assets.js +1 -1
  258. package/tasks/build/css.js +19 -10
  259. package/tasks/build/javascript.js +12 -5
  260. package/tasks/check-install.js +1 -1
  261. package/tasks/config/defaults.js +4 -0
  262. package/tasks/config/project/release.js +19 -1
  263. package/tasks/config/tasks.js +7 -7
  264. package/tasks/docs/build.js +3 -3
  265. package/tasks/docs/metadata.js +1 -1
  266. package/tasks/docs/serve.js +3 -1
  267. package/tasks/install.js +2 -2
  268. package/tasks/watch.js +1 -1
  269. package/types/fomantic-ui-accordion.d.ts +1 -1
  270. package/types/fomantic-ui-api.d.ts +9 -3
  271. package/types/fomantic-ui-calendar.d.ts +114 -13
  272. package/types/fomantic-ui-checkbox.d.ts +14 -4
  273. package/types/fomantic-ui-dimmer.d.ts +1 -1
  274. package/types/fomantic-ui-dropdown.d.ts +82 -44
  275. package/types/fomantic-ui-embed.d.ts +19 -2
  276. package/types/fomantic-ui-flyout.d.ts +25 -11
  277. package/types/fomantic-ui-form.d.ts +123 -15
  278. package/types/fomantic-ui-modal.d.ts +101 -5
  279. package/types/fomantic-ui-nag.d.ts +4 -4
  280. package/types/fomantic-ui-popup.d.ts +38 -12
  281. package/types/fomantic-ui-progress.d.ts +12 -6
  282. package/types/fomantic-ui-rating.d.ts +1 -1
  283. package/types/fomantic-ui-search.d.ts +138 -22
  284. package/types/fomantic-ui-shape.d.ts +2 -2
  285. package/types/fomantic-ui-sidebar.d.ts +4 -4
  286. package/types/fomantic-ui-slider.d.ts +56 -4
  287. package/types/fomantic-ui-sticky.d.ts +1 -1
  288. package/types/fomantic-ui-tab.d.ts +6 -6
  289. package/types/fomantic-ui-toast.d.ts +14 -2
  290. package/types/fomantic-ui-transition.d.ts +41 -7
  291. package/types/fomantic-ui-visibility.d.ts +3 -3
  292. package/types/index.d.ts +25 -25
  293. package/types/tests.ts +188 -0
  294. package/types/tsconfig.json +1 -1
  295. package/types/fomantic-ui-tests.ts +0 -25
@@ -17,6 +17,18 @@
17
17
 
18
18
  @import (multiple) "../../theme.config";
19
19
 
20
+ @notIcon: if(@variationButtonIcon, e(":not(.icon)"));
21
+ @notAnimated: if(@variationButtonAnimated, e(":not(.animated)"));
22
+ @notLabeled: if(@variationButtonLabeled, e(":not(.labeled)"));
23
+ @notCompact: if(@variationButtonCompact, e(":not(.compact)"));
24
+ @notSpaced: if(@variationButtonSpaced, e(":not(.spaced)"));
25
+ @notCircular: if(@variationButtonCircular, e(":not(.circular)"));
26
+ @notVertical: if(@variationButtonVertical, e(":not(.vertical)"));
27
+ @notInverted: if(@variationButtonInverted, e(":not(.inverted)"));
28
+ @notBasic: if(@variationButtonBasic, e(":not(.basic)"));
29
+ @notAttached: if(@variationButtonAttached, e(":not(.attached)"));
30
+ @notWrapping: if(@variationButtonWrapping, e(":not(.wrapping)"));
31
+
20
32
  /*******************************
21
33
  Button
22
34
  *******************************/
@@ -166,10 +178,10 @@
166
178
  }
167
179
  }
168
180
  & when (@variationButtonBasic) {
169
- .ui.basic.loading.button:not(.inverted)::before {
181
+ .ui.basic.loading.button@{notInverted}::before {
170
182
  border-color: @loaderFillColor;
171
183
  }
172
- .ui.basic.loading.button:not(.inverted)::after {
184
+ .ui.basic.loading.button@{notInverted}::after {
173
185
  border-color: @loaderLineColor;
174
186
  }
175
187
  }
@@ -179,7 +191,7 @@
179
191
  Disabled
180
192
  -------------------- */
181
193
 
182
- .ui.buttons .disabled.button:not(.basic),
194
+ .ui.buttons .disabled.button@{notBasic},
183
195
  .ui.disabled.button,
184
196
  .ui.button:disabled,
185
197
  .ui.disabled.button:hover,
@@ -377,7 +389,7 @@
377
389
  Labeled Button
378
390
  -------------------- */
379
391
 
380
- .ui.labeled.button:not(.icon) {
392
+ .ui.labeled.button@{notIcon} {
381
393
  display: inline-flex;
382
394
  flex-direction: row;
383
395
  background: none;
@@ -621,15 +633,15 @@
621
633
  color: @iconColor;
622
634
  }
623
635
 
624
- .ui.button:not(.icon) > .icon:not(.button):not(.dropdown),
625
- .ui.button:not(.icon) > .icons:not(.button):not(.dropdown) {
636
+ .ui.button@{notIcon} > .icon:not(.button):not(.dropdown),
637
+ .ui.button@{notIcon} > .icons:not(.button):not(.dropdown) {
626
638
  margin: @iconMargin;
627
639
  vertical-align: @iconVerticalAlign;
628
640
  }
629
- .ui.button:not(.icon) > .icons:not(.button):not(.dropdown) > .icon {
641
+ .ui.button@{notIcon} > .icons:not(.button):not(.dropdown) > .icon {
630
642
  vertical-align: @iconVerticalAlign;
631
643
  }
632
- .ui.button:not(.icon) > .right.icon:not(.button):not(.dropdown) {
644
+ .ui.button@{notIcon} > .right.icon:not(.button):not(.dropdown) {
633
645
  margin: @rightIconMargin;
634
646
  }
635
647
 
@@ -737,7 +749,7 @@
737
749
  --------------- */
738
750
 
739
751
  .ui.icon.buttons .button,
740
- .ui.icon.button:not(.animated):not(.compact):not(.labeled) {
752
+ .ui.icon.button@{notAnimated}@{notCompact}@{notLabeled} {
741
753
  padding: @verticalPadding @verticalPadding (@verticalPadding + @shadowOffset);
742
754
  }
743
755
  .ui.animated.icon.button > .content > .icon,
@@ -873,7 +885,7 @@
873
885
 
874
886
  & when (@variationButtonGroups) {
875
887
  /* Basic Group */
876
- .ui.basic.buttons:not(.inverted) .button:not(.basic) {
888
+ .ui.basic.buttons@{notInverted} .button@{notBasic} {
877
889
  border-right: @basicGroupBorder;
878
890
  box-shadow: none;
879
891
  }
@@ -885,7 +897,7 @@
885
897
  border-top: @basicGroupBorder;
886
898
  }
887
899
 
888
- .ui.basic.vertical.buttons:not(.spaced) .button:first-child {
900
+ .ui.basic.vertical.buttons@{notSpaced}@{notCircular} .button:first-child {
889
901
  border-top: none;
890
902
  }
891
903
  }
@@ -1095,15 +1107,39 @@
1095
1107
  /* --------------
1096
1108
  Circular
1097
1109
  --------------- */
1098
-
1099
- .ui.circular.button {
1110
+ .ui.ui.circular.buttons .button,
1111
+ .ui.ui.ui.ui.circular.button {
1100
1112
  border-radius: @circularBorderRadius;
1113
+ min-width: @circularMinWidth;
1101
1114
  }
1102
1115
 
1116
+ .ui.circular.buttons .button > .icon,
1103
1117
  .ui.circular.button > .icon {
1104
1118
  width: @circularIconWidth;
1105
1119
  vertical-align: baseline;
1106
1120
  }
1121
+
1122
+ .ui.circular.buttons@{notVertical}@{notSpaced} .button {
1123
+ margin-right: @circularGroupMargin;
1124
+ }
1125
+
1126
+ & when (@variationButtonVertical) {
1127
+ .ui.vertical.circular.buttons .button {
1128
+ margin-bottom: @circularVerticalGroupMargin;
1129
+ }
1130
+ }
1131
+
1132
+ & when (@variationButtonBasic) {
1133
+ .ui.circular.basic.buttons {
1134
+ border: none;
1135
+ & .button {
1136
+ border: @basicGroupBorder;
1137
+ &.basic {
1138
+ border: none;
1139
+ }
1140
+ }
1141
+ }
1142
+ }
1107
1143
  }
1108
1144
 
1109
1145
  & when (@variationButtonOr) {
@@ -1803,7 +1839,7 @@
1803
1839
  box-shadow: 0 0 0 @basicColoredBorderSize @@_backgroundColorDown inset;
1804
1840
  color: @@_backgroundColorDown;
1805
1841
  }
1806
- .ui.buttons:not(.vertical) > .basic.@{consequence}.button:not(:first-child) {
1842
+ .ui.buttons@{notVertical} > .basic.@{consequence}.button:not(:first-child) {
1807
1843
  margin-left: -@basicColoredBorderSize;
1808
1844
  }
1809
1845
  }
@@ -1823,7 +1859,7 @@
1823
1859
  margin: @verticalMargin @horizontalMargin 0 0;
1824
1860
  }
1825
1861
 
1826
- .ui.buttons:not(.basic):not(.inverted) {
1862
+ .ui.buttons@{notBasic}@{notInverted} {
1827
1863
  box-shadow: @groupBoxShadow;
1828
1864
  }
1829
1865
 
@@ -1843,7 +1879,7 @@
1843
1879
  margin: @groupButtonOffset;
1844
1880
  }
1845
1881
 
1846
- .ui.buttons:not(.basic):not(.inverted) > .button:not(.basic):not(.inverted) {
1882
+ .ui.buttons@{notBasic}@{notInverted} > .button@{notBasic}@{notInverted} {
1847
1883
  box-shadow: @groupButtonBoxShadow;
1848
1884
  }
1849
1885
 
@@ -1871,7 +1907,7 @@
1871
1907
  width: 100%;
1872
1908
  margin: @verticalGroupOffset;
1873
1909
  border-radius: 0;
1874
- &:not(.basic) {
1910
+ &@{notBasic} {
1875
1911
  box-shadow: @verticalBoxShadow;
1876
1912
  }
1877
1913
  }
@@ -1919,7 +1955,7 @@
1919
1955
  }
1920
1956
  }
1921
1957
  & when (@variationButtonWrapped) {
1922
- .ui.wrapped.buttons:not(.spaced) {
1958
+ .ui.wrapped.buttons@{notSpaced} {
1923
1959
  border-top-right-radius: 0;
1924
1960
  & .button {
1925
1961
  &:first-child {
@@ -1967,7 +2003,7 @@
1967
2003
  }
1968
2004
  }
1969
2005
  & when (@variationButtonWrapping) {
1970
- .ui.spaced.basic.wrapping.buttons .button:not(.basic) {
2006
+ .ui.spaced.basic.wrapping.buttons .button@{notBasic} {
1971
2007
  border-top: @basicGroupBorder;
1972
2008
  border-right: @basicGroupBorder;
1973
2009
  &:first-child {
@@ -1985,22 +2021,22 @@
1985
2021
  }
1986
2022
 
1987
2023
  & when (@variationButtonBasic) {
1988
- .ui.basic.buttons:not(.vertical).inverted .button,
1989
- .ui.basic.buttons:not(.vertical) .basic.button {
2024
+ .ui.basic.buttons@{notVertical}.inverted .button,
2025
+ .ui.basic.buttons@{notVertical} .basic.button {
1990
2026
  margin-left: -@basicColoredBorderSize;
1991
2027
  border-right: none;
1992
2028
  }
1993
- .ui.basic.buttons:not(.vertical):not(.spaced):not(.inverted) .basic.button {
2029
+ .ui.basic.buttons@{notVertical}@{notSpaced}@{notInverted} .basic.button {
1994
2030
  margin-top: -@basicColoredBorderSize;
1995
2031
  border-bottom: none;
1996
2032
  }
1997
2033
  & when (@variationButtonAttached) or (@variationButtonInverted) {
1998
- .ui.inverted.basic.buttons:not(.spaced) .button,
1999
- .ui.attached.basic.buttons:not(.wrapping):not(.inverted) .basic.button {
2034
+ .ui.inverted.basic.buttons@{notSpaced} .button,
2035
+ .ui.attached.basic.buttons@{notWrapping}@{notInverted} .basic.button {
2000
2036
  margin-bottom: @attachedOffset;
2001
2037
  }
2002
2038
  }
2003
- .ui.basic.buttons:not(.vertical):not(.attached):not(.spaced):not(.wrapping):not(.inverted) .basic.button {
2039
+ .ui.basic.buttons@{notVertical}@{notAttached}@{notSpaced}@{notWrapping}@{notInverted} .basic.button {
2004
2040
  margin-bottom: -@basicColoredBorderSize;
2005
2041
  }
2006
2042
  }
@@ -17,6 +17,8 @@
17
17
 
18
18
  @import (multiple) "../../theme.config";
19
19
 
20
+ @notFluid: if(@variationContainerFluid, e(":not(.fluid)"));
21
+
20
22
  /*******************************
21
23
  Container
22
24
  *******************************/
@@ -29,7 +31,7 @@
29
31
 
30
32
  /* Mobile */
31
33
  @media only screen and (max-width: @largestMobileScreen) {
32
- .ui.ui.ui.container:not(.fluid) {
34
+ .ui.ui.ui.container@{notFluid} {
33
35
  width: @mobileWidth;
34
36
  margin-left: @mobileGutter;
35
37
  margin-right: @mobileGutter;
@@ -53,7 +55,7 @@
53
55
 
54
56
  /* Tablet */
55
57
  @media only screen and (min-width: @tabletBreakpoint) and (max-width: @largestTabletScreen) {
56
- .ui.ui.ui.container:not(.fluid) {
58
+ .ui.ui.ui.container@{notFluid} {
57
59
  width: @tabletWidth;
58
60
  margin-left: @tabletGutter;
59
61
  margin-right: @tabletGutter;
@@ -77,7 +79,7 @@
77
79
 
78
80
  /* Small Monitor */
79
81
  @media only screen and (min-width: @computerBreakpoint) and (max-width: @largestSmallMonitor) {
80
- .ui.ui.ui.container:not(.fluid) {
82
+ .ui.ui.ui.container@{notFluid} {
81
83
  width: @computerWidth;
82
84
  margin-left: @computerGutter;
83
85
  margin-right: @computerGutter;
@@ -101,7 +103,7 @@
101
103
 
102
104
  /* Large Monitor */
103
105
  @media only screen and (min-width: @largeMonitorBreakpoint) {
104
- .ui.ui.ui.container:not(.fluid) {
106
+ .ui.ui.ui.container@{notFluid} {
105
107
  width: @largeMonitorWidth;
106
108
  margin-left: @largeMonitorGutter;
107
109
  margin-right: @largeMonitorGutter;
@@ -17,6 +17,9 @@
17
17
 
18
18
  @import (multiple) "../../theme.config";
19
19
 
20
+ @notHorizontal: if(@variationDividerHorizontal, e(":not(.horizontal)"));
21
+ @notVertical: if(@variationDividerVertical, e(":not(.vertical)"));
22
+
20
23
  /*******************************
21
24
  Divider
22
25
  *******************************/
@@ -37,7 +40,7 @@
37
40
  Basic
38
41
  --------------- */
39
42
 
40
- .ui.divider:not(.vertical):not(.horizontal) {
43
+ .ui.divider@{notVertical}@{notHorizontal} {
41
44
  border-top: @shadowWidth @borderStyle @shadowColor;
42
45
  border-bottom: @highlightWidth @borderStyle @highlightColor;
43
46
  }
@@ -17,6 +17,8 @@
17
17
 
18
18
  @import (multiple) "../../theme.config";
19
19
 
20
+ @notDisabled: if(@variationEmojiDisabled, e(":not(.disabled)"));
21
+
20
22
  /*******************************
21
23
  Emoji
22
24
  *******************************/
@@ -63,7 +65,7 @@ em[data-emoji]::before {
63
65
  Link
64
66
  -------------------- */
65
67
 
66
- em[data-emoji].link:not(.disabled) {
68
+ em[data-emoji].link@{notDisabled} {
67
69
  cursor: pointer;
68
70
  }
69
71
  }
@@ -17,6 +17,9 @@
17
17
 
18
18
  @import (multiple) "../../theme.config";
19
19
 
20
+ @notCenteredAligned: if(@variationHeaderAligned, e(":not(.centered):not(.aligned)"));
21
+ @notIcon: if(@variationHeaderIcon, e(":not(.icon)"));
22
+
20
23
  /*******************************
21
24
  Header
22
25
  *******************************/
@@ -70,8 +73,8 @@
70
73
  }
71
74
 
72
75
  /* With Text Node */
73
- .ui.header:not(.icon) > .icons:only-child,
74
- .ui.header:not(.icon) > i.icon:only-child {
76
+ .ui.header@{notIcon} > .icons:only-child,
77
+ .ui.header@{notIcon} > i.icon:only-child {
75
78
  display: inline-block;
76
79
  padding: 0;
77
80
  margin-right: @iconMargin;
@@ -111,8 +114,8 @@
111
114
  }
112
115
 
113
116
  /* After Icon */
114
- .ui.header:not(.icon):not(.centered):not(.aligned) > .icons + .content,
115
- .ui.header:not(.icon):not(.centered):not(.aligned) > i.icon + .content {
117
+ .ui.header@{notIcon}@{notCenteredAligned} > .icons + .content,
118
+ .ui.header@{notIcon}@{notCenteredAligned} > i.icon + .content {
116
119
  padding-left: @iconMargin;
117
120
  display: table-cell;
118
121
  vertical-align: @contentIconAlignment;
@@ -17,6 +17,13 @@
17
17
 
18
18
  @import (multiple) "../../theme.config";
19
19
 
20
+ @notDisabled: if(@variationIconDisabled, e(":not(.disabled)"));
21
+ @notCorner: if(@variationIconCorner, e(":not(.corner)"));
22
+ @notRotated: if(@variationIconRotated, e(":not(.rotated)"));
23
+ @notFlipped: if(@variationIconFlipped, e(":not(.flipped)"));
24
+ @notBordered: if(@variationIconBordered, e(":not(.bordered)"));
25
+ @notCircular: if(@variationIconCircular, e(":not(.circular)"));
26
+
20
27
  /*******************************
21
28
  Icon
22
29
  *******************************/
@@ -78,8 +85,8 @@ i.icon:hover,
78
85
  i.icons:hover,
79
86
  i.icon:active,
80
87
  i.icons:active,
81
- i.emphasized.icon:not(.disabled),
82
- i.emphasized.icons:not(.disabled) {
88
+ i.emphasized.icon@{notDisabled},
89
+ i.emphasized.icons@{notDisabled} {
83
90
  opacity: 1;
84
91
  }
85
92
 
@@ -113,8 +120,8 @@ i.emphasized.icons:not(.disabled) {
113
120
  Link
114
121
  -------------------- */
115
122
 
116
- i.link.icon:not(.disabled),
117
- i.link.icons:not(.disabled) {
123
+ i.link.icon@{notDisabled},
124
+ i.link.icons@{notDisabled} {
118
125
  cursor: pointer;
119
126
  opacity: @linkOpacity;
120
127
  transition: opacity @defaultDuration @defaultEasing;
@@ -163,11 +170,11 @@ i.emphasized.icons:not(.disabled) {
163
170
  }
164
171
 
165
172
  & when (@variationIconGroups) {
166
- .icons i.flipped.icon:not(.corner):not(:first-child),
167
- .icons i.horizontally.flipped.icon:not(.corner):not(:first-child) {
173
+ .icons i.flipped.icon@{notCorner}:not(:first-child),
174
+ .icons i.horizontally.flipped.icon@{notCorner}:not(:first-child) {
168
175
  transform: translateX(-50%) translateY(-50%) scale(-1, 1);
169
176
  }
170
- .icons i.vertically.flipped.icon:not(.corner):not(:first-child) {
177
+ .icons i.vertically.flipped.icon@{notCorner}:not(:first-child) {
171
178
  transform: translateX(-50%) translateY(-50%) scale(1, -1);
172
179
  }
173
180
  }
@@ -194,16 +201,16 @@ i.emphasized.icons:not(.disabled) {
194
201
  }
195
202
 
196
203
  & when (@variationIconGroups) {
197
- .icons i.rotated.rotated.icon:not(.corner):not(:first-child),
198
- .icons i.right.rotated.icon:not(.corner):not(:first-child),
199
- .icons i.clockwise.rotated.icon:not(.corner):not(:first-child) {
204
+ .icons i.rotated.rotated.icon@{notCorner}:not(:first-child),
205
+ .icons i.right.rotated.icon@{notCorner}:not(:first-child),
206
+ .icons i.clockwise.rotated.icon@{notCorner}:not(:first-child) {
200
207
  transform: translateX(-50%) translateY(-50%) rotate(90deg);
201
208
  }
202
- .icons i.left.rotated.icon:not(.corner):not(:first-child),
203
- .icons i.counterclockwise.rotated.icon:not(.corner):not(:first-child) {
209
+ .icons i.left.rotated.icon@{notCorner}:not(:first-child),
210
+ .icons i.counterclockwise.rotated.icon@{notCorner}:not(:first-child) {
204
211
  transform: translateX(-50%) translateY(-50%) rotate(-90deg);
205
212
  }
206
- .icons i.halfway.rotated.icon:not(.corner):not(:first-child) {
213
+ .icons i.halfway.rotated.icon@{notCorner}:not(:first-child) {
207
214
  transform: translateX(-50%) translateY(-50%) rotate(180deg);
208
215
  }
209
216
  }
@@ -245,28 +252,28 @@ i.emphasized.icons:not(.disabled) {
245
252
  }
246
253
 
247
254
  & when (@variationIconGroups) {
248
- .icons i.rotated.flipped.icon:not(.corner):not(:first-child),
249
- .icons i.right.rotated.flipped.icon:not(.corner):not(:first-child),
250
- .icons i.clockwise.rotated.flipped.icon:not(.corner):not(:first-child) {
255
+ .icons i.rotated.flipped.icon@{notCorner}:not(:first-child),
256
+ .icons i.right.rotated.flipped.icon@{notCorner}:not(:first-child),
257
+ .icons i.clockwise.rotated.flipped.icon@{notCorner}:not(:first-child) {
251
258
  transform: translateX(-50%) translateY(-50%) scale(-1, 1) rotate(90deg);
252
259
  }
253
- .icons i.left.rotated.flipped.icon:not(.corner):not(:first-child),
254
- .icons i.counterclockwise.rotated.flipped.icon:not(.corner):not(:first-child) {
260
+ .icons i.left.rotated.flipped.icon@{notCorner}:not(:first-child),
261
+ .icons i.counterclockwise.rotated.flipped.icon@{notCorner}:not(:first-child) {
255
262
  transform: translateX(-50%) translateY(-50%) scale(-1, 1) rotate(-90deg);
256
263
  }
257
- .icons i.halfway.rotated.flipped.icon:not(.corner):not(:first-child) {
264
+ .icons i.halfway.rotated.flipped.icon@{notCorner}:not(:first-child) {
258
265
  transform: translateX(-50%) translateY(-50%) scale(-1, 1) rotate(180deg);
259
266
  }
260
- .icons i.rotated.vertically.flipped.icon:not(.corner):not(:first-child),
261
- .icons i.right.rotated.vertically.flipped.icon:not(.corner):not(:first-child),
262
- .icons i.clockwise.rotated.vertically.flipped.icon:not(.corner):not(:first-child) {
267
+ .icons i.rotated.vertically.flipped.icon@{notCorner}:not(:first-child),
268
+ .icons i.right.rotated.vertically.flipped.icon@{notCorner}:not(:first-child),
269
+ .icons i.clockwise.rotated.vertically.flipped.icon@{notCorner}:not(:first-child) {
263
270
  transform: translateX(-50%) translateY(-50%) scale(1, -1) rotate(90deg);
264
271
  }
265
- .icons i.left.rotated.vertically.flipped.icon:not(.corner):not(:first-child),
266
- .icons i.counterclockwise.rotated.vertically.flipped.icon:not(.corner):not(:first-child) {
272
+ .icons i.left.rotated.vertically.flipped.icon@{notCorner}:not(:first-child),
273
+ .icons i.counterclockwise.rotated.vertically.flipped.icon@{notCorner}:not(:first-child) {
267
274
  transform: translateX(-50%) translateY(-50%) scale(1, -1) rotate(-90deg);
268
275
  }
269
- .icons i.halfway.rotated.vertically.flipped.icon:not(.corner):not(:first-child) {
276
+ .icons i.halfway.rotated.vertically.flipped.icon@{notCorner}:not(:first-child) {
270
277
  transform: translateX(-50%) translateY(-50%) scale(1, -1) rotate(180deg);
271
278
  }
272
279
  }
@@ -383,7 +390,7 @@ i.icons {
383
390
  top: 50%;
384
391
  left: 50%;
385
392
  margin: 0;
386
- &:not(.corner):not(.rotated):not(.flipped) {
393
+ &@{notCorner}@{notRotated}@{notFlipped} {
387
394
  transform: translateX(-50%) translateY(-50%);
388
395
  }
389
396
  }
@@ -394,7 +401,7 @@ i.icons {
394
401
  height: auto;
395
402
  vertical-align: top;
396
403
  }
397
- i.icons:not(.bordered):not(.circular) .icon:first-child:not(.rotated):not(.flipped) {
404
+ i.icons@{notBordered}@{notCircular} .icon:first-child@{notRotated}@{notFlipped} {
398
405
  transform: none;
399
406
  }
400
407
 
@@ -407,7 +414,7 @@ i.icons {
407
414
  bottom: @cornerOffset;
408
415
  font-size: @cornerIconSize;
409
416
  text-shadow: @cornerIconShadow;
410
- &:not(.rotated):not(.flipped) {
417
+ &@{notRotated}@{notFlipped} {
411
418
  transform: none;
412
419
  }
413
420
  }
@@ -17,6 +17,14 @@
17
17
 
18
18
  @import (multiple) "../../theme.config";
19
19
 
20
+ @notCorner: if(@variationInputCorner, e(":not(.corner)"));
21
+ @notAction: if(@variationInputAction, e(":not(.action)"));
22
+ @notDisabled: if(@variationInputDisabled, e(":not(.disabled)"));
23
+
24
+ @notBasic: if(@variationButtonBasic, e(":not(.basic)"));
25
+ @notTertiary: if(@variationButtonTertiary, e(":not(.tertiary)"));
26
+ @notLink: if(@variationIconLink, e(":not(.link)"));
27
+
20
28
  /*******************************
21
29
  Standard
22
30
  *******************************/
@@ -83,12 +91,12 @@
83
91
  --------------------- */
84
92
 
85
93
  .ui.disabled.input,
86
- .ui.input:not(.disabled) input[disabled] {
94
+ .ui.input@{notDisabled} input[disabled] {
87
95
  opacity: @disabledOpacity;
88
96
  }
89
97
 
90
98
  .ui.disabled.input > input,
91
- .ui.input:not(.disabled) input[disabled] {
99
+ .ui.input@{notDisabled} input[disabled] {
92
100
  pointer-events: @disabledPointerEvents;
93
101
  }
94
102
  }
@@ -275,11 +283,11 @@
275
283
  border-radius: 0 @borderRadius @borderRadius 0;
276
284
  transition: @iconTransition;
277
285
  }
278
- .ui.icon.input > i.icon:not(.link) {
286
+ .ui.icon.input > i.icon@{notLink} {
279
287
  pointer-events: none;
280
288
  }
281
- .ui.ui.ui.ui.icon.input:not(.corner) > textarea,
282
- .ui.ui.ui.ui.icon.input:not(.corner) > input {
289
+ .ui.ui.ui.ui.icon.input@{notCorner} > textarea,
290
+ .ui.ui.ui.ui.icon.input@{notCorner} > input {
283
291
  padding-right: @iconMargin;
284
292
  }
285
293
 
@@ -314,8 +322,8 @@
314
322
  .ui.ui.ui.ui[class*="left icon"]:not([class*="left corner"]).input > input {
315
323
  padding-left: @iconMargin;
316
324
  }
317
- .ui.ui.ui.ui[class*="left icon"]:not(.corner).input > textarea,
318
- .ui.ui.ui.ui[class*="left icon"]:not(.corner).input > input {
325
+ .ui.ui.ui.ui[class*="left icon"]@{notCorner}.input > textarea,
326
+ .ui.ui.ui.ui[class*="left icon"]@{notCorner}.input > input {
319
327
  padding-right: @horizontalPadding;
320
328
  }
321
329
 
@@ -338,7 +346,7 @@
338
346
  margin: 0;
339
347
  font-size: @relativeMedium;
340
348
  }
341
- .ui.labeled.input > .label:not(.corner) {
349
+ .ui.labeled.input > .label@{notCorner} {
342
350
  padding-top: @verticalPadding;
343
351
  padding-bottom: @verticalPadding;
344
352
  }
@@ -639,7 +647,7 @@
639
647
  }
640
648
 
641
649
  .ui.form .field > input[type="file"],
642
- .ui.file.input:not(.action) input[type="file"] {
650
+ .ui.file.input@{notAction} input[type="file"] {
643
651
  padding: 0;
644
652
  }
645
653
 
@@ -720,8 +728,8 @@
720
728
  position: absolute;
721
729
  }
722
730
 
723
- input[type="file"].ui.file.input:focus + label.ui.button:not(.basic):not(.tertiary),
724
- .ui.file.input input[type="file"]:focus + label.ui.button:not(.basic):not(.tertiary) {
731
+ input[type="file"].ui.file.input:focus + label.ui.button@{notBasic}@{notTertiary},
732
+ .ui.file.input input[type="file"]:focus + label.ui.button@{notBasic}@{notTertiary} {
725
733
  background: @fileButtonBackgroundHover;
726
734
  color: @hoveredTextColor;
727
735
  &.inverted {
@@ -736,8 +744,8 @@
736
744
  @h: @colors[@@color][hover];
737
745
  @lh: @colors[@@color][lightHover];
738
746
 
739
- input[type="file"].ui.file.input:focus + label.ui.@{color}.button:not(.basic):not(.tertiary),
740
- .ui.file.input input[type="file"]:focus + label.ui.@{color}.button:not(.basic):not(.tertiary) {
747
+ input[type="file"].ui.file.input:focus + label.ui.@{color}.button@{notBasic}@{notTertiary},
748
+ .ui.file.input input[type="file"]:focus + label.ui.@{color}.button@{notBasic}@{notTertiary} {
741
749
  background-color: @h;
742
750
  color: @white;
743
751
  &.inverted when (@variationButtonInverted) {
@@ -17,6 +17,12 @@
17
17
 
18
18
  @import (multiple) "../../theme.config";
19
19
 
20
+ @notTag: if(@variationLabelTag, e(":not(.tag)"));
21
+ @notImage: if(@variationLabelImage, e(":not(.image)"));
22
+ @notRibbon: if(@variationLabelRibbon, e(":not(.ribbon)"));
23
+
24
+ @notBasic: if(@variationSegmentBasic, e(":not(.basic)"));
25
+
20
26
  /*******************************
21
27
  Label
22
28
  *******************************/
@@ -164,19 +170,19 @@ a.ui.label {
164
170
  margin-bottom: @attachedSegmentPadding !important;
165
171
  }
166
172
 
167
- .ui.segment:not(.basic) > .ui.top.attached.label {
173
+ .ui.segment@{notBasic} > .ui.top.attached.label {
168
174
  margin-top: @attachedOffset;
169
175
  }
170
- .ui.segment:not(.basic) > .ui.bottom.attached.label {
176
+ .ui.segment@{notBasic} > .ui.bottom.attached.label {
171
177
  margin-bottom: @attachedOffset;
172
178
  }
173
- .ui.segment:not(.basic) > .ui.attached.label:not(.right) {
179
+ .ui.segment@{notBasic} > .ui.attached.label:not(.right) {
174
180
  margin-left: @attachedOffset;
175
181
  }
176
- .ui.segment:not(.basic) > .ui.right.attached.label {
182
+ .ui.segment@{notBasic} > .ui.right.attached.label {
177
183
  margin-right: @attachedOffset;
178
184
  }
179
- .ui.segment:not(.basic) > .ui.attached.label:not(.left):not(.right) {
185
+ .ui.segment@{notBasic} > .ui.attached.label:not(.left):not(.right) {
180
186
  width: @attachedWidthOffset;
181
187
  }
182
188
 
@@ -184,6 +190,7 @@ a.ui.label {
184
190
  Types
185
191
  *******************************/
186
192
  & when (@variationLabelImage) {
193
+ .ui.image.labels .label,
187
194
  .ui.image.label {
188
195
  width: auto;
189
196
  margin-top: 0;
@@ -195,10 +202,14 @@ a.ui.label {
195
202
  padding: @imageLabelPadding;
196
203
  border-radius: @imageLabelBorderRadius;
197
204
  box-shadow: @imageLabelBoxShadow;
198
- &.attached:not(.basic) when (@variationLabelAttached) {
205
+ &.attached@{notBasic} when (@variationLabelAttached) {
199
206
  padding: @imageLabelPadding;
200
207
  }
201
208
  }
209
+ .ui.labels .image.label,
210
+ .ui.image.labels .label {
211
+ margin-bottom: @groupVerticalMargin;
212
+ }
202
213
 
203
214
  .ui.image.label img {
204
215
  display: inline-block;
@@ -637,8 +648,8 @@ a.ui.active.label:hover::before {
637
648
  padding-bottom: @basicVerticalPadding;
638
649
  padding-right: @basicHorizontalPadding;
639
650
  }
640
- .ui.basic.labels:not(.tag):not(.image):not(.ribbon) .label,
641
- .ui.basic.label:not(.tag):not(.image):not(.ribbon) {
651
+ .ui.basic.labels@{notTag}@{notImage}@{notRibbon} .label,
652
+ .ui.basic.label@{notTag}@{notImage}@{notRibbon} {
642
653
  padding-left: @basicHorizontalPadding;
643
654
  }
644
655
  & when (@variationLabelImage) {