fomantic-ui 2.9.0-beta.25 → 2.9.0-beta.250

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 (282) hide show
  1. package/.all-contributorsrc +206 -3
  2. package/.github/workflows/ci.yml +4 -4
  3. package/.github/workflows/nightly.yml +4 -4
  4. package/.github/workflows/release.yml +30 -0
  5. package/CONTRIBUTORS.md +75 -37
  6. package/README.md +8 -8
  7. package/dist/components/accordion.css +162 -26
  8. package/dist/components/accordion.js +1 -1
  9. package/dist/components/accordion.min.css +2 -2
  10. package/dist/components/accordion.min.js +2 -2
  11. package/dist/components/ad.css +1 -1
  12. package/dist/components/ad.min.css +1 -1
  13. package/dist/components/api.js +34 -30
  14. package/dist/components/api.min.js +3 -3
  15. package/dist/components/breadcrumb.css +1 -1
  16. package/dist/components/breadcrumb.min.css +1 -1
  17. package/dist/components/button.css +176 -134
  18. package/dist/components/button.min.css +2 -2
  19. package/dist/components/calendar.css +18 -1
  20. package/dist/components/calendar.js +10 -9
  21. package/dist/components/calendar.min.css +2 -2
  22. package/dist/components/calendar.min.js +3 -3
  23. package/dist/components/card.css +26 -19
  24. package/dist/components/card.min.css +2 -2
  25. package/dist/components/checkbox.css +2 -1
  26. package/dist/components/checkbox.js +17 -11
  27. package/dist/components/checkbox.min.css +2 -2
  28. package/dist/components/checkbox.min.js +3 -3
  29. package/dist/components/comment.css +11 -11
  30. package/dist/components/comment.min.css +1 -1
  31. package/dist/components/container.css +77 -1
  32. package/dist/components/container.min.css +2 -2
  33. package/dist/components/dimmer.css +28 -14
  34. package/dist/components/dimmer.js +11 -5
  35. package/dist/components/dimmer.min.css +2 -2
  36. package/dist/components/dimmer.min.js +3 -3
  37. package/dist/components/divider.css +1 -1
  38. package/dist/components/divider.min.css +1 -1
  39. package/dist/components/dropdown.css +49 -13
  40. package/dist/components/dropdown.js +61 -37
  41. package/dist/components/dropdown.min.css +2 -2
  42. package/dist/components/dropdown.min.js +3 -3
  43. package/dist/components/embed.css +1 -1
  44. package/dist/components/embed.js +1 -1
  45. package/dist/components/embed.min.css +1 -1
  46. package/dist/components/embed.min.js +2 -2
  47. package/dist/components/emoji.css +10147 -8139
  48. package/dist/components/emoji.min.css +1 -1
  49. package/dist/components/feed.css +28 -28
  50. package/dist/components/feed.min.css +2 -2
  51. package/dist/components/flag.css +734 -625
  52. package/dist/components/flag.min.css +2 -2
  53. package/dist/components/form.css +106 -55
  54. package/dist/components/form.js +30 -28
  55. package/dist/components/form.min.css +2 -2
  56. package/dist/components/form.min.js +3 -3
  57. package/dist/components/grid.css +11 -8
  58. package/dist/components/grid.min.css +2 -2
  59. package/dist/components/header.css +3 -1
  60. package/dist/components/header.min.css +2 -2
  61. package/dist/components/icon.css +126 -47
  62. package/dist/components/icon.min.css +2 -2
  63. package/dist/components/image.css +1 -1
  64. package/dist/components/image.min.css +1 -1
  65. package/dist/components/input.css +734 -17
  66. package/dist/components/input.min.css +2 -2
  67. package/dist/components/item.css +13 -13
  68. package/dist/components/item.min.css +1 -1
  69. package/dist/components/label.css +1 -1
  70. package/dist/components/label.min.css +1 -1
  71. package/dist/components/list.css +1 -1
  72. package/dist/components/list.min.css +1 -1
  73. package/dist/components/loader.css +1 -1
  74. package/dist/components/loader.min.css +1 -1
  75. package/dist/components/menu.css +29 -5
  76. package/dist/components/menu.min.css +1 -1
  77. package/dist/components/message.css +41 -41
  78. package/dist/components/message.min.css +2 -2
  79. package/dist/components/modal.css +13 -1
  80. package/dist/components/modal.js +127 -49
  81. package/dist/components/modal.min.css +2 -2
  82. package/dist/components/modal.min.js +3 -3
  83. package/dist/components/nag.css +1 -1
  84. package/dist/components/nag.js +1 -1
  85. package/dist/components/nag.min.css +1 -1
  86. package/dist/components/nag.min.js +2 -2
  87. package/dist/components/placeholder.css +1 -1
  88. package/dist/components/placeholder.min.css +1 -1
  89. package/dist/components/popup.css +1 -1
  90. package/dist/components/popup.js +2 -2
  91. package/dist/components/popup.min.css +1 -1
  92. package/dist/components/popup.min.js +3 -3
  93. package/dist/components/progress.css +1 -1
  94. package/dist/components/progress.js +4 -1
  95. package/dist/components/progress.min.css +1 -1
  96. package/dist/components/progress.min.js +3 -3
  97. package/dist/components/rail.css +1 -1
  98. package/dist/components/rail.min.css +1 -1
  99. package/dist/components/rating.css +1 -1
  100. package/dist/components/rating.js +1 -1
  101. package/dist/components/rating.min.css +1 -1
  102. package/dist/components/rating.min.js +2 -2
  103. package/dist/components/reset.css +1 -1
  104. package/dist/components/reset.min.css +1 -1
  105. package/dist/components/reveal.css +1 -1
  106. package/dist/components/reveal.min.css +1 -1
  107. package/dist/components/search.css +1 -1
  108. package/dist/components/search.js +1 -1
  109. package/dist/components/search.min.css +1 -1
  110. package/dist/components/search.min.js +2 -2
  111. package/dist/components/segment.css +90 -6
  112. package/dist/components/segment.min.css +2 -2
  113. package/dist/components/shape.css +1 -1
  114. package/dist/components/shape.js +3 -3
  115. package/dist/components/shape.min.css +1 -1
  116. package/dist/components/shape.min.js +3 -3
  117. package/dist/components/sidebar.css +4 -2
  118. package/dist/components/sidebar.js +8 -6
  119. package/dist/components/sidebar.min.css +2 -2
  120. package/dist/components/sidebar.min.js +3 -3
  121. package/dist/components/site.css +61 -39
  122. package/dist/components/site.js +1 -1
  123. package/dist/components/site.min.css +2 -2
  124. package/dist/components/site.min.js +2 -2
  125. package/dist/components/slider.js +1 -1
  126. package/dist/components/slider.min.js +2 -2
  127. package/dist/components/state.js +1 -1
  128. package/dist/components/state.min.js +2 -2
  129. package/dist/components/statistic.css +1 -1
  130. package/dist/components/statistic.min.css +1 -1
  131. package/dist/components/step.css +4 -4
  132. package/dist/components/step.min.css +2 -2
  133. package/dist/components/sticky.css +1 -1
  134. package/dist/components/sticky.js +1 -1
  135. package/dist/components/sticky.min.css +1 -1
  136. package/dist/components/sticky.min.js +2 -2
  137. package/dist/components/tab.css +1 -1
  138. package/dist/components/tab.js +23 -5
  139. package/dist/components/tab.min.css +1 -1
  140. package/dist/components/tab.min.js +3 -3
  141. package/dist/components/table.css +1168 -26
  142. package/dist/components/table.min.css +2 -2
  143. package/dist/components/text.css +1 -1
  144. package/dist/components/text.min.css +1 -1
  145. package/dist/components/toast.css +39 -1
  146. package/dist/components/toast.js +56 -28
  147. package/dist/components/toast.min.css +2 -2
  148. package/dist/components/toast.min.js +3 -3
  149. package/dist/components/transition.css +1 -1
  150. package/dist/components/transition.js +21 -16
  151. package/dist/components/transition.min.css +1 -1
  152. package/dist/components/transition.min.js +3 -3
  153. package/dist/components/visibility.js +1 -1
  154. package/dist/components/visibility.min.js +2 -2
  155. package/dist/semantic.css +21874 -16239
  156. package/dist/semantic.js +419 -242
  157. package/dist/semantic.min.css +3 -3
  158. package/dist/semantic.min.js +3 -3
  159. package/dist/themes/default/assets/fonts/brand-icons.eot +0 -0
  160. package/dist/themes/default/assets/fonts/brand-icons.svg +801 -654
  161. package/dist/themes/default/assets/fonts/brand-icons.ttf +0 -0
  162. package/dist/themes/default/assets/fonts/brand-icons.woff +0 -0
  163. package/dist/themes/default/assets/fonts/brand-icons.woff2 +0 -0
  164. package/dist/themes/default/assets/fonts/icons.eot +0 -0
  165. package/dist/themes/default/assets/fonts/icons.svg +1175 -1079
  166. package/dist/themes/default/assets/fonts/icons.ttf +0 -0
  167. package/dist/themes/default/assets/fonts/icons.woff +0 -0
  168. package/dist/themes/default/assets/fonts/icons.woff2 +0 -0
  169. package/dist/themes/default/assets/fonts/outline-icons.eot +0 -0
  170. package/dist/themes/default/assets/fonts/outline-icons.svg +93 -95
  171. package/dist/themes/default/assets/fonts/outline-icons.ttf +0 -0
  172. package/dist/themes/default/assets/fonts/outline-icons.woff +0 -0
  173. package/dist/themes/default/assets/fonts/outline-icons.woff2 +0 -0
  174. package/examples/assets/library/iframe-content.js +8 -8
  175. package/examples/assets/library/iframe.js +3 -3
  176. package/package.json +10 -9
  177. package/src/definitions/behaviors/api.js +33 -29
  178. package/src/definitions/behaviors/form.js +29 -27
  179. package/src/definitions/collections/form.less +193 -140
  180. package/src/definitions/collections/grid.less +716 -680
  181. package/src/definitions/collections/menu.less +173 -126
  182. package/src/definitions/collections/message.less +48 -46
  183. package/src/definitions/collections/table.less +849 -262
  184. package/src/definitions/elements/button.less +586 -449
  185. package/src/definitions/elements/container.less +126 -8
  186. package/src/definitions/elements/emoji.less +15 -9
  187. package/src/definitions/elements/flag.less +7 -17
  188. package/src/definitions/elements/header.less +44 -35
  189. package/src/definitions/elements/icon.less +38 -31
  190. package/src/definitions/elements/input.less +256 -21
  191. package/src/definitions/elements/label.less +92 -91
  192. package/src/definitions/elements/list.less +55 -45
  193. package/src/definitions/elements/loader.less +30 -29
  194. package/src/definitions/elements/segment.less +146 -27
  195. package/src/definitions/elements/step.less +52 -48
  196. package/src/definitions/elements/text.less +17 -15
  197. package/src/definitions/globals/site.less +23 -2
  198. package/src/definitions/modules/accordion.less +175 -24
  199. package/src/definitions/modules/calendar.js +9 -8
  200. package/src/definitions/modules/calendar.less +20 -0
  201. package/src/definitions/modules/checkbox.js +16 -10
  202. package/src/definitions/modules/checkbox.less +34 -178
  203. package/src/definitions/modules/dimmer.js +10 -4
  204. package/src/definitions/modules/dimmer.less +21 -8
  205. package/src/definitions/modules/dropdown.js +60 -36
  206. package/src/definitions/modules/dropdown.less +145 -94
  207. package/src/definitions/modules/modal.js +126 -48
  208. package/src/definitions/modules/modal.less +12 -0
  209. package/src/definitions/modules/nag.less +20 -19
  210. package/src/definitions/modules/popup.js +1 -1
  211. package/src/definitions/modules/progress.js +3 -0
  212. package/src/definitions/modules/progress.less +19 -18
  213. package/src/definitions/modules/rating.less +35 -34
  214. package/src/definitions/modules/search.less +32 -16
  215. package/src/definitions/modules/shape.js +2 -2
  216. package/src/definitions/modules/sidebar.js +7 -5
  217. package/src/definitions/modules/sidebar.less +33 -19
  218. package/src/definitions/modules/slider.less +39 -38
  219. package/src/definitions/modules/tab.js +22 -4
  220. package/src/definitions/modules/toast.js +55 -27
  221. package/src/definitions/modules/toast.less +48 -16
  222. package/src/definitions/modules/transition.js +20 -15
  223. package/src/definitions/views/card.less +402 -361
  224. package/src/definitions/views/comment.less +92 -81
  225. package/src/definitions/views/feed.less +164 -144
  226. package/src/definitions/views/item.less +249 -196
  227. package/src/definitions/views/statistic.less +90 -88
  228. package/src/themes/bookish/elements/header.overrides +1 -1
  229. package/src/themes/chubby/elements/button.overrides +1 -1
  230. package/src/themes/chubby/elements/header.overrides +1 -1
  231. package/src/themes/default/assets/fonts/brand-icons.eot +0 -0
  232. package/src/themes/default/assets/fonts/brand-icons.svg +801 -654
  233. package/src/themes/default/assets/fonts/brand-icons.ttf +0 -0
  234. package/src/themes/default/assets/fonts/brand-icons.woff +0 -0
  235. package/src/themes/default/assets/fonts/brand-icons.woff2 +0 -0
  236. package/src/themes/default/assets/fonts/icons.eot +0 -0
  237. package/src/themes/default/assets/fonts/icons.svg +1175 -1079
  238. package/src/themes/default/assets/fonts/icons.ttf +0 -0
  239. package/src/themes/default/assets/fonts/icons.woff +0 -0
  240. package/src/themes/default/assets/fonts/icons.woff2 +0 -0
  241. package/src/themes/default/assets/fonts/outline-icons.eot +0 -0
  242. package/src/themes/default/assets/fonts/outline-icons.svg +93 -95
  243. package/src/themes/default/assets/fonts/outline-icons.ttf +0 -0
  244. package/src/themes/default/assets/fonts/outline-icons.woff +0 -0
  245. package/src/themes/default/assets/fonts/outline-icons.woff2 +0 -0
  246. package/src/themes/default/collections/menu.variables +6 -0
  247. package/src/themes/default/collections/table.variables +52 -0
  248. package/src/themes/default/elements/button.variables +7 -1
  249. package/src/themes/default/elements/container.variables +8 -0
  250. package/src/themes/default/elements/emoji.overrides +1734 -1232
  251. package/src/themes/default/elements/flag.overrides +1641 -986
  252. package/src/themes/default/elements/flag.variables +7 -5
  253. package/src/themes/default/elements/icon.overrides +75 -48
  254. package/src/themes/default/elements/icon.variables +1 -0
  255. package/src/themes/default/elements/input.variables +15 -0
  256. package/src/themes/default/elements/segment.variables +8 -0
  257. package/src/themes/default/elements/step.overrides +1 -1
  258. package/src/themes/default/globals/site.variables +6 -0
  259. package/src/themes/default/globals/variation.variables +138 -6
  260. package/src/themes/default/modules/accordion.variables +49 -2
  261. package/src/themes/default/modules/calendar.variables +3 -0
  262. package/src/themes/default/modules/checkbox.variables +5 -5
  263. package/src/themes/default/modules/dimmer.variables +1 -1
  264. package/src/themes/default/modules/dropdown.variables +4 -10
  265. package/src/themes/default/modules/modal.variables +13 -0
  266. package/src/themes/default/modules/toast.variables +3 -0
  267. package/src/themes/famfamfam/elements/flag.overrides +1026 -0
  268. package/src/themes/famfamfam/elements/flag.variables +13 -0
  269. package/src/themes/instagram/views/card.overrides +1 -1
  270. package/src/themes/joypixels/elements/emoji.overrides +1759 -1257
  271. package/src/themes/joypixels/elements/emoji.variables +1 -1
  272. package/src/themes/material/collections/menu.overrides +1 -1
  273. package/src/themes/material/elements/button.overrides +1 -1
  274. package/src/themes/material/elements/header.overrides +1 -1
  275. package/src/themes/material/modules/dropdown.overrides +1 -1
  276. package/src/themes/material/modules/modal.overrides +1 -1
  277. package/src/themes/rtl/globals/site.overrides +1 -1
  278. package/src/themes/twitter/elements/emoji.overrides +1734 -1232
  279. package/tasks/build/css.js +6 -1
  280. package/tasks/config/project/install.js +11 -5
  281. package/tasks/install.js +1 -0
  282. package/test/helpers/sinon.js +2 -2
@@ -44,7 +44,6 @@
44
44
  line-height: @lineHeight;
45
45
 
46
46
  font-family: @inputFont;
47
- padding: @padding;
48
47
 
49
48
  background: @background;
50
49
  border: @border;
@@ -53,6 +52,9 @@
53
52
  transition: @transition;
54
53
 
55
54
  box-shadow: @boxShadow;
55
+ &:not([type="color"]) {
56
+ padding: @padding;
57
+ }
56
58
  }
57
59
 
58
60
 
@@ -168,12 +170,12 @@
168
170
  }
169
171
 
170
172
 
171
- & when (@variationInputStates) {
173
+ & when not (@variationInputStates = false) {
172
174
  /*--------------------
173
175
  States
174
176
  ---------------------*/
175
- each(@formStates, {
176
- @state: replace(@key, '@', '');
177
+ each(@variationInputStates, {
178
+ @state: @value;
177
179
 
178
180
  .ui.input.@{state} > input {
179
181
  background-color: @formStates[@@state][background];
@@ -181,6 +183,20 @@
181
183
  color: @formStates[@@state][color];
182
184
  box-shadow: @formStates[@@state][boxShadow];
183
185
  }
186
+ & when (@state=error) {
187
+ .ui.input > input:not(:placeholder-shown):invalid {
188
+ background-color: @formStates[@@state][background];
189
+ border-color: @formStates[@@state][borderColor];
190
+ color: @formStates[@@state][color];
191
+ box-shadow: @formStates[@@state][boxShadow];
192
+ }
193
+ .ui.input > input:not(:-ms-input-placeholder):invalid {
194
+ background-color: @formStates[@@state][background];
195
+ border-color: @formStates[@@state][borderColor];
196
+ color: @formStates[@@state][color];
197
+ box-shadow: @formStates[@@state][boxShadow];
198
+ }
199
+ }
184
200
 
185
201
  /* Placeholder */
186
202
  .ui.input.@{state} > input::-webkit-input-placeholder {
@@ -284,8 +300,8 @@
284
300
  .ui.icon.input > i.icon:not(.link) {
285
301
  pointer-events: none;
286
302
  }
287
- .ui.ui.ui.ui.icon.input > textarea,
288
- .ui.ui.ui.ui.icon.input > input {
303
+ .ui.ui.ui.ui.icon.input:not(.corner) > textarea,
304
+ .ui.ui.ui.ui.icon.input:not(.corner) > input {
289
305
  padding-right: @iconMargin;
290
306
  }
291
307
 
@@ -316,9 +332,12 @@
316
332
  right: auto;
317
333
  left: @circularIconHorizontalOffset;
318
334
  }
319
- .ui.ui.ui.ui[class*="left icon"].input > textarea,
320
- .ui.ui.ui.ui[class*="left icon"].input > input {
335
+ .ui.ui.ui.ui[class*="left icon"]:not([class*="left corner"]).input > textarea,
336
+ .ui.ui.ui.ui[class*="left icon"]:not([class*="left corner"]).input > input {
321
337
  padding-left: @iconMargin;
338
+ }
339
+ .ui.ui.ui.ui[class*="left icon"]:not(.corner).input > textarea,
340
+ .ui.ui.ui.ui[class*="left icon"]:not(.corner).input > input {
322
341
  padding-right: @horizontalPadding;
323
342
  }
324
343
 
@@ -385,31 +404,94 @@
385
404
  }
386
405
 
387
406
  /* Spacing with corner label */
388
- .ui[class*="corner labeled"]:not([class*="left corner labeled"]).labeled.input > textarea,
389
- .ui[class*="corner labeled"]:not([class*="left corner labeled"]).labeled.input > input {
390
- padding-right: @labeledMargin !important;
407
+ .ui[class*="corner labeled"]:not([class*="left corner labeled"]).input > .ui.dropdown,
408
+ .ui[class*="corner labeled"]:not([class*="left corner labeled"]).input > textarea,
409
+ .ui[class*="corner labeled"]:not([class*="left corner labeled"]).input > input {
410
+ padding-right: @labeledMargin;
391
411
  }
412
+ .ui[class*="corner labeled"].icon.input:not([class*="left corner labeled"]) > .ui.dropdown,
392
413
  .ui[class*="corner labeled"].icon.input:not([class*="left corner labeled"]) > textarea,
393
414
  .ui[class*="corner labeled"].icon.input:not([class*="left corner labeled"]) > input {
394
- padding-right: @labeledIconInputMargin !important;
415
+ padding-right: @labeledIconInputMargin;
395
416
  }
396
417
  .ui[class*="corner labeled"].icon.input:not([class*="left corner labeled"]) > i.icon {
397
418
  margin-right: @labeledIconMargin;
398
419
  }
399
420
 
400
421
  /* Left Labeled */
401
- .ui[class*="left corner labeled"].labeled.input > textarea,
402
- .ui[class*="left corner labeled"].labeled.input > input {
403
- padding-left: @labeledMargin !important;
422
+ .ui[class*="left icon"].input > .ui.dropdown,
423
+ .ui[class*="left corner labeled"].input > .ui.dropdown,
424
+ .ui[class*="left corner labeled"].input > textarea,
425
+ .ui[class*="left corner labeled"].input > input {
426
+ padding-left: @labeledMargin;
404
427
  }
405
428
  & when (@variationInputIcon) {
406
- .ui[class*="left corner labeled"].icon.input > textarea,
407
- .ui[class*="left corner labeled"].icon.input > input {
408
- padding-left: @labeledIconInputMargin !important;
429
+ .ui[class*="corner labeled"]:not([class*="left corner labeled"])[class*="left icon"].input > .ui.dropdown,
430
+ .ui[class*="corner labeled"]:not([class*="left corner labeled"])[class*="left icon"].input > textarea,
431
+ .ui[class*="corner labeled"]:not([class*="left corner labeled"])[class*="left icon"].input > input {
432
+ padding-right: @labeledIconInputMargin;
433
+ }
434
+ .ui[class*="left corner labeled"][class*="left icon"].input > .ui.dropdown,
435
+ .ui[class*="left corner labeled"][class*="left icon"].input > textarea,
436
+ .ui[class*="left corner labeled"][class*="left icon"].input > input {
437
+ padding-left: @labeledAndIconMargin;
409
438
  }
410
439
  .ui[class*="left corner labeled"].icon.input > i.icon {
411
440
  margin-left: @labeledIconMargin;
412
441
  }
442
+ .ui[class*="left corner labeled"].icon:not([class*="left icon"]).input > input {
443
+ padding-right: @labeledMargin;
444
+ }
445
+ .ui[class*="corner labeled"]:not([class*="left corner labeled"]).icon:not([class*="left icon"]).input > input {
446
+ padding-right: @labeledMargin * 2;
447
+ }
448
+ }
449
+
450
+ .ui[class*="left icon"].input > .ui.dropdown,
451
+ .ui[class*="left corner labeled"].input > .ui.dropdown {
452
+ & > .search {
453
+ padding-left: @labeledMargin;
454
+ }
455
+ & > .menu {
456
+ padding-left: @labeledIconMargin;
457
+ & > .item {
458
+ padding-left: @labeledMargin;
459
+ margin-left: -@labeledIconMargin;
460
+ }
461
+ }
462
+ }
463
+ .ui[class*="left corner labeled"][class*="left icon"].input > .ui.dropdown {
464
+ & > .search {
465
+ padding-left: @labeledAndIconMargin;
466
+ }
467
+ & > .menu > .item {
468
+ padding-left: @labeledAndIconMargin;
469
+ }
470
+ }
471
+ .ui.icon.input:not([class*="left icon"]) > .ui.dropdown,
472
+ .ui[class*="corner labeled"]:not([class*="left corner labeled"]).input > .ui.dropdown {
473
+ & > .search {
474
+ padding-right: @labeledMargin + @labeledIconInputMargin;
475
+ }
476
+ & > .remove.icon,
477
+ > .dropdown.icon {
478
+ padding-right: @labeledMargin;
479
+ }
480
+ }
481
+ .ui[class*="corner labeled"]:not([class*="left corner labeled"]).icon:not([class*="left icon"]).input > .ui.dropdown {
482
+ & > .search {
483
+ padding-right: @labeledAndIconMargin + @labeledIconInputMargin;
484
+ }
485
+ & > .remove.icon,
486
+ > .dropdown.icon {
487
+ padding-right: @labeledAndIconMargin;
488
+ }
489
+ }
490
+ .ui.icon.input > .ui.visible.dropdown ~ i.icon,
491
+ .ui.icon.input > .ui.active.dropdown ~ i.icon,
492
+ .ui[class*="corner labeled"].input > .ui.visible.dropdown ~ .ui.corner.label,
493
+ .ui[class*="corner labeled"].input > .ui.active.dropdown ~ .ui.corner.label {
494
+ z-index: @labeledDropdownZIndex;
413
495
  }
414
496
  }
415
497
  & when (@variationInputIcon) {
@@ -432,10 +514,10 @@
432
514
  }
433
515
  }
434
516
 
435
- & when (@variationInputLabeled) or (@variationInputAction) {
517
+ & when ((@variationInputLabeled) or (@variationInputAction)) and not (@variationInputStates = false) {
436
518
  /* Labeled and action input states */
437
- each(@formStates, {
438
- @state: replace(@key, '@', '');
519
+ each(@variationInputStates, {
520
+ @state: @value;
439
521
  @borderColor: @formStates[@@state][borderColor];
440
522
 
441
523
  .ui.form .field.@{state} > .ui.action.input > .ui.button,
@@ -547,6 +629,159 @@
547
629
  }
548
630
  }
549
631
 
632
+
633
+ & when (@variationInputFile) {
634
+ /*--------------------
635
+ File
636
+ ---------------------*/
637
+
638
+ /* width hack for chrome/edge */
639
+ .ui.file.input {
640
+ width: 100%;
641
+ & input[type="file"] {
642
+ width: 0;
643
+ }
644
+ }
645
+
646
+ .ui.form .field > input[type="file"],
647
+ .ui.file.input:not(.action) input[type="file"] {
648
+ padding: 0;
649
+ }
650
+
651
+ .ui.action.file.input input[type="file"]::-webkit-file-upload-button {
652
+ display: none;
653
+ }
654
+ .ui.form .field input[type="file"]::-webkit-file-upload-button,
655
+ .ui.file.input input[type="file"]::-webkit-file-upload-button {
656
+ border: none;
657
+ cursor: pointer;
658
+ padding: @padding;
659
+ margin-right: @fileButtonMargin;
660
+ background: @fileButtonBackground;
661
+ font-weight: @fileButtonFontWeight;
662
+ color: @fileButtonTextColor;
663
+ &:hover {
664
+ background: @fileButtonBackgroundHover;
665
+ color: @fileButtonTextColor;
666
+ }
667
+ }
668
+ .ui.action.file.input input[type="file"]::-ms-browse {
669
+ display: none;
670
+ }
671
+ .ui.form .field input[type="file"]::-ms-browse,
672
+ .ui.file.input input[type="file"]::-ms-browse {
673
+ border: none;
674
+ cursor: pointer;
675
+ padding: @padding;
676
+ margin: 0;
677
+ background: @fileButtonBackground;
678
+ font-weight: @fileButtonFontWeight;
679
+ color: @fileButtonTextColor;
680
+ &:hover {
681
+ background: @fileButtonBackgroundHover;
682
+ color: @fileButtonTextColor;
683
+ }
684
+ }
685
+ /* IE needs additional styling for input field :S */
686
+ @media all and (-ms-high-contrast:none) {
687
+ .ui.file.input > input[type="file"],
688
+ input[type="file"].ui.file.input {
689
+ padding: 0 !important;
690
+ }
691
+ }
692
+
693
+ .ui.action.file.input input[type="file"]::file-selector-button {
694
+ display: none;
695
+ }
696
+ .ui.form .field input[type="file"]::file-selector-button,
697
+ .ui.file.input input[type="file"]::file-selector-button {
698
+ border: none;
699
+ cursor: pointer;
700
+ padding: @padding;
701
+ margin-right: @fileButtonMargin;
702
+ background: @fileButtonBackground;
703
+ font-weight: @fileButtonFontWeight;
704
+ color: @fileButtonTextColor;
705
+ &:hover {
706
+ background: @fileButtonBackgroundHover;
707
+ color: @fileButtonTextColor;
708
+ }
709
+ }
710
+
711
+ .ui.form .field input[type="file"]:required:invalid,
712
+ .ui.file.input input[type="file"]:required:invalid {
713
+ color: @negativeTextColor;
714
+ background: @negativeBackgroundColor ;
715
+ border-color: @negativeBorderColor;
716
+ }
717
+
718
+ input[type="file"].ui.invisible.file.input,
719
+ .ui.invisible.file.input input[type="file"] {
720
+ left: -99999px;
721
+ position: absolute;
722
+ }
723
+
724
+ input[type="file"].ui.file.input:focus + label.ui.button:not(.basic):not(.tertiary),
725
+ .ui.file.input input[type="file"]:focus + label.ui.button:not(.basic):not(.tertiary) {
726
+ background: @fileButtonBackgroundHover;
727
+ color: @hoveredTextColor;
728
+ &.inverted {
729
+ background: @fileButtonInvertedBackgroundHover;
730
+ }
731
+ }
732
+
733
+ /* this is related to existing buttons, so the button color variable is used here! */
734
+ & when not (@variationButtonColors = false) {
735
+ each(@variationButtonColors, {
736
+ @color: @value;
737
+ @h: @colors[@@color][hover];
738
+ @lh: @colors[@@color][lightHover];
739
+
740
+ input[type="file"].ui.file.input:focus + label.ui.@{color}.button:not(.basic):not(.tertiary),
741
+ .ui.file.input input[type="file"]:focus + label.ui.@{color}.button:not(.basic):not(.tertiary) {
742
+ background-color: @h;
743
+ color: @white;
744
+ &.inverted when (@variationButtonInverted) {
745
+ background-color: @lh;
746
+ }
747
+ }
748
+ })
749
+ }
750
+
751
+ & when not (@variationInputColors = false) {
752
+ each(@variationInputColors, {
753
+ @color: @value;
754
+ @c: @colors[@@color][color];
755
+ @h: @colors[@@color][hover];
756
+
757
+ input[type="file"].ui.@{color}.file.input::-webkit-file-upload-button,
758
+ .ui.@{color}.file.input input[type="file"]::-webkit-file-upload-button {
759
+ background: @c;
760
+ color: @white;
761
+ &:hover {
762
+ background: @h;
763
+ }
764
+ }
765
+ input[type="file"].ui.@{color}.file.input::-ms-browse,
766
+ .ui.@{color}.file.input input[type="file"]::-ms-browse {
767
+ background: @c;
768
+ color: @white;
769
+ &:hover {
770
+ background: @h;
771
+ }
772
+ }
773
+ input[type="file"].ui.@{color}.file.input::file-selector-button,
774
+ .ui.@{color}.file.input input[type="file"]::file-selector-button {
775
+ background: @c;
776
+ color: @white;
777
+ &:hover {
778
+ background: @h;
779
+ }
780
+ }
781
+ })
782
+ }
783
+ }
784
+
550
785
  /*--------------------
551
786
  Size
552
787
  ---------------------*/
@@ -714,118 +714,119 @@ a.ui.active.label:hover:before {
714
714
  /*-------------------
715
715
  Colors
716
716
  --------------------*/
717
-
718
- each(@colors,{
719
- @color : replace(@key,'@','');
720
- @isDark : @colors[@@color][isDark];
721
- @_labelColor : @colors[@@color][color];
722
- @_labelInvertedColor : @colors[@@color][light];
723
- @_labelTextColor : @colors[@@color][text];
724
- @_labelHover : @colors[@@color][hover];
725
- @_labelInvertedHover : @colors[@@color][lightHover];
726
- @_labelHoverTextColor : @colors[@@color][hoverText];
727
- @_labelRibbonShadow : @colors[@@color][ribbon];
728
- @_labelInvertedRibbonShadow : @colors[@@color][invertedRibbon];
729
-
730
- .ui.@{color}.labels .label,
731
- .ui.ui.ui.@{color}.label {
732
- background-color: @_labelColor;
733
- border-color: @_labelColor;
734
- color: @_labelTextColor;
735
- }
736
- /* Link */
737
- .ui.@{color}.labels a.label:hover,
738
- a.ui.ui.ui.@{color}.label:hover{
739
- background-color: @_labelHover;
740
- border-color: @_labelHover;
741
- color: @_labelHoverTextColor;
742
- }
743
- & when (@variationLabelRibbon) {
744
- /* Ribbon */
745
- .ui.ui.ui.@{color}.ribbon.label {
746
- border-color: @_labelRibbonShadow;
747
- }
748
- }
749
- & when (@variationLabelBasic) {
750
- /* Basic */
751
- .ui.basic.labels .@{color}.label,
752
- .ui.ui.ui.basic.@{color}.label {
753
- background: @basicBackground;
717
+ & when not (@variationLabelColors = false) {
718
+ each(@variationLabelColors, {
719
+ @color: @value;
720
+ @isDark: @colors[@@color][isDark];
721
+ @_labelColor: @colors[@@color][color];
722
+ @_labelInvertedColor: @colors[@@color][light];
723
+ @_labelTextColor: @colors[@@color][text];
724
+ @_labelHover: @colors[@@color][hover];
725
+ @_labelInvertedHover: @colors[@@color][lightHover];
726
+ @_labelHoverTextColor: @colors[@@color][hoverText];
727
+ @_labelRibbonShadow: @colors[@@color][ribbon];
728
+ @_labelInvertedRibbonShadow: @colors[@@color][invertedRibbon];
729
+
730
+ .ui.@{color}.labels .label,
731
+ .ui.ui.ui.@{color}.label {
732
+ background-color: @_labelColor;
754
733
  border-color: @_labelColor;
755
- color: @_labelColor;
734
+ color: @_labelTextColor;
756
735
  }
757
- .ui.basic.labels a.@{color}.label:hover,
758
- a.ui.ui.ui.basic.@{color}.label:hover {
759
- background: @basicBackground;
736
+ /* Link */
737
+ .ui.@{color}.labels a.label:hover,
738
+ a.ui.ui.ui.@{color}.label:hover {
739
+ background-color: @_labelHover;
760
740
  border-color: @_labelHover;
761
- color: @_labelHover;
762
- }
763
- }
764
- & when (@variationLabelInverted) {
765
- /* Inverted */
766
- .ui.inverted.labels .@{color}.label,
767
- .ui.ui.ui.inverted.@{color}.label {
768
- background-color: @_labelInvertedColor;
769
- border-color: @_labelInvertedColor;
770
- color: @black;
771
- }
772
- /* Inverted Link */
773
- .ui.inverted.labels a.@{color}.label:hover,
774
- a.ui.ui.ui.inverted.@{color}.label:hover{
775
- background-color: @_labelInvertedHover;
776
- border-color: @_labelInvertedHover;
777
- & when not (@isDark) {
778
- color: @black;
779
- }
780
- & when (@isDark) {
781
- color: @_labelTextColor;
782
- }
741
+ color: @_labelHoverTextColor;
783
742
  }
784
743
  & when (@variationLabelRibbon) {
785
- /* Inverted Ribbon */
786
- .ui.ui.ui.inverted.@{color}.ribbon.label {
787
- border-color: @_labelInvertedRibbonShadow;
744
+ /* Ribbon */
745
+ .ui.ui.ui.@{color}.ribbon.label {
746
+ border-color: @_labelRibbonShadow;
788
747
  }
789
748
  }
790
749
  & when (@variationLabelBasic) {
791
- /* Inverted Basic */
792
- .ui.inverted.basic.labels .@{color}.label,
793
- .ui.ui.ui.inverted.basic.@{color}.label {
794
- background-color: @invertedBackground;
750
+ /* Basic */
751
+ .ui.basic.labels .@{color}.label,
752
+ .ui.ui.ui.basic.@{color}.label {
753
+ background: @basicBackground;
754
+ border-color: @_labelColor;
755
+ color: @_labelColor;
756
+ }
757
+ .ui.basic.labels a.@{color}.label:hover,
758
+ a.ui.ui.ui.basic.@{color}.label:hover {
759
+ background: @basicBackground;
760
+ border-color: @_labelHover;
761
+ color: @_labelHover;
762
+ }
763
+ }
764
+ & when (@variationLabelInverted) {
765
+ /* Inverted */
766
+ .ui.inverted.labels .@{color}.label,
767
+ .ui.ui.ui.inverted.@{color}.label {
768
+ background-color: @_labelInvertedColor;
795
769
  border-color: @_labelInvertedColor;
770
+ color: @black;
771
+ }
772
+ /* Inverted Link */
773
+ .ui.inverted.labels a.@{color}.label:hover,
774
+ a.ui.ui.ui.inverted.@{color}.label:hover {
775
+ background-color: @_labelInvertedHover;
776
+ border-color: @_labelInvertedHover;
796
777
  & when not (@isDark) {
797
- color: @_labelInvertedColor;
778
+ color: @black;
798
779
  }
799
780
  & when (@isDark) {
800
- color: @invertedTextColor;
781
+ color: @_labelTextColor;
801
782
  }
802
783
  }
803
- .ui.inverted.basic.labels a.@{color}.label:hover,
804
- a.ui.ui.ui.inverted.basic.@{color}.label:hover {
805
- border-color: @_labelInvertedHover;
806
- background-color: @invertedBackground;
807
- & when not (@isDark) {
808
- color: @_labelInvertedHover;
784
+ & when (@variationLabelRibbon) {
785
+ /* Inverted Ribbon */
786
+ .ui.ui.ui.inverted.@{color}.ribbon.label {
787
+ border-color: @_labelInvertedRibbonShadow;
809
788
  }
810
789
  }
811
- & when (@variationLabelTag) {
812
- /* Inverted Basic Tags */
813
- .ui.inverted.basic.tag.labels .@{color}.label,
814
- .ui.ui.ui.inverted.@{color}.basic.tag.label {
815
- border: @invertedBorderSize solid @_labelInvertedColor;
790
+ & when (@variationLabelBasic) {
791
+ /* Inverted Basic */
792
+ .ui.inverted.basic.labels .@{color}.label,
793
+ .ui.ui.ui.inverted.basic.@{color}.label {
794
+ background-color: @invertedBackground;
795
+ border-color: @_labelInvertedColor;
796
+ & when not (@isDark) {
797
+ color: @_labelInvertedColor;
798
+ }
799
+ & when (@isDark) {
800
+ color: @invertedTextColor;
801
+ }
816
802
  }
817
- .ui.inverted.basic.tag.labels .@{color}.label:before,
818
- .ui.ui.ui.inverted.@{color}.basic.tag.label:before {
819
- border-color: inherit;
820
- border-width: @invertedBorderSize 0 0 @invertedBorderSize;
821
- border-style: inherit;
803
+ .ui.inverted.basic.labels a.@{color}.label:hover,
804
+ a.ui.ui.ui.inverted.basic.@{color}.label:hover {
805
+ border-color: @_labelInvertedHover;
822
806
  background-color: @invertedBackground;
823
- right: e(%("calc(100%% + %d)", @invertedBorderSize));
807
+ & when not (@isDark) {
808
+ color: @_labelInvertedHover;
809
+ }
810
+ }
811
+ & when (@variationLabelTag) {
812
+ /* Inverted Basic Tags */
813
+ .ui.inverted.basic.tag.labels .@{color}.label,
814
+ .ui.ui.ui.inverted.@{color}.basic.tag.label {
815
+ border: @invertedBorderSize solid @_labelInvertedColor;
816
+ }
817
+ .ui.inverted.basic.tag.labels .@{color}.label:before,
818
+ .ui.ui.ui.inverted.@{color}.basic.tag.label:before {
819
+ border-color: inherit;
820
+ border-width: @invertedBorderSize 0 0 @invertedBorderSize;
821
+ border-style: inherit;
822
+ background-color: @invertedBackground;
823
+ right: e(%("calc(100%% + %d)", @invertedBorderSize));
824
+ }
824
825
  }
825
826
  }
826
827
  }
827
- }
828
- })
828
+ })
829
+ }
829
830
 
830
831
  /*-------------------
831
832
  Horizontal