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,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;
@@ -467,6 +470,11 @@
467
470
  .ui.bottom.attached.header {
468
471
  border-radius: 0 0 @attachedBorderRadius @attachedBorderRadius;
469
472
  }
473
+ & when (@variationHeaderSeamless) {
474
+ .ui.seamless.attached:not(.bottom).header {
475
+ border-bottom: none;
476
+ }
477
+ }
470
478
 
471
479
  /* Attached Sizes */
472
480
  .ui.attached.header:not(h1):not(h2):not(h3):not(h4):not(h5):not(h6) {
@@ -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
  *******************************/
@@ -35,7 +43,7 @@
35
43
  .ui.input > input {
36
44
  margin: 0;
37
45
  max-width: 100%;
38
- flex: 1 0 auto;
46
+ flex: 1 1 auto;
39
47
  outline: none;
40
48
  -webkit-tap-highlight-color: rgba(255, 255, 255, 0);
41
49
  text-align: @textAlign;
@@ -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
  }
@@ -524,7 +532,11 @@
524
532
  .ui.form .field.@{state} > .ui.action.input:not([class*="left action"]) > input + .ui.button,
525
533
  .ui.form .field.@{state} > .ui.right.labeled.input:not([class*="corner labeled"]) > input + .ui.label,
526
534
  .ui.action.input.@{state}:not([class*="left action"]) > input + .ui.button,
527
- .ui.right.labeled.input.@{state}:not([class*="corner labeled"]) > input + .ui.label {
535
+ .ui.right.labeled.input.@{state}:not([class*="corner labeled"]) > input + .ui.label,
536
+ .ui.form .field.@{state} > .ui.action.input:not([class*="left action"]) > textarea + .ui.button,
537
+ .ui.form .field.@{state} > .ui.right.labeled.input:not([class*="corner labeled"]) > textarea + .ui.label,
538
+ .ui.action.input.@{state}:not([class*="left action"]) > textarea + .ui.button,
539
+ .ui.right.labeled.input.@{state}:not([class*="corner labeled"]) > textarea + .ui.label {
528
540
  border-right: @borderWidth solid @borderColor;
529
541
  }
530
542
  .ui.form .field.@{state} > .ui.right.labeled.input:not([class*="corner labeled"]) > .ui.label:first-child,
@@ -553,14 +565,16 @@
553
565
  }
554
566
 
555
567
  /* Input when ui Left */
556
- .ui[class*="left action"].input > input {
568
+ .ui[class*="left action"].input > input,
569
+ .ui[class*="left action"].input > textarea {
557
570
  border-top-left-radius: 0;
558
571
  border-bottom-left-radius: 0;
559
572
  border-left-color: transparent;
560
573
  }
561
574
 
562
575
  /* Input when ui Right */
563
- .ui.action.input:not([class*="left action"]) > input {
576
+ .ui.action.input:not([class*="left action"]) > input,
577
+ .ui.action.input:not([class*="left action"]) > textarea {
564
578
  border-top-right-radius: 0;
565
579
  border-bottom-right-radius: 0;
566
580
  border-right-color: transparent;
@@ -584,11 +598,13 @@
584
598
  }
585
599
 
586
600
  /* Input Focus */
587
- .ui.action.input:not([class*="left action"]) > input:focus {
601
+ .ui.action.input:not([class*="left action"]) > input:focus,
602
+ .ui.action.input:not([class*="left action"]) > textarea:focus {
588
603
  border-right-color: @focusBorderColor;
589
604
  }
590
605
 
591
- .ui.ui[class*="left action"].input > input:focus {
606
+ .ui.ui[class*="left action"].input > input:focus,
607
+ .ui.ui[class*="left action"].input > textarea:focus {
592
608
  border-left-color: @focusBorderColor;
593
609
  }
594
610
  }
@@ -631,7 +647,7 @@
631
647
  }
632
648
 
633
649
  .ui.form .field > input[type="file"],
634
- .ui.file.input:not(.action) input[type="file"] {
650
+ .ui.file.input@{notAction} input[type="file"] {
635
651
  padding: 0;
636
652
  }
637
653
 
@@ -712,8 +728,8 @@
712
728
  position: absolute;
713
729
  }
714
730
 
715
- input[type="file"].ui.file.input:focus + label.ui.button:not(.basic):not(.tertiary),
716
- .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} {
717
733
  background: @fileButtonBackgroundHover;
718
734
  color: @hoveredTextColor;
719
735
  &.inverted {
@@ -728,8 +744,8 @@
728
744
  @h: @colors[@@color][hover];
729
745
  @lh: @colors[@@color][lightHover];
730
746
 
731
- input[type="file"].ui.file.input:focus + label.ui.@{color}.button:not(.basic):not(.tertiary),
732
- .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} {
733
749
  background-color: @h;
734
750
  color: @white;
735
751
  &.inverted when (@variationButtonInverted) {