fomantic-ui 2.9.0-beta.27 → 2.9.0-beta.270

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 (285) hide show
  1. package/.all-contributorsrc +215 -3
  2. package/.github/workflows/ci.yml +6 -6
  3. package/.github/workflows/nightly.yml +17 -9
  4. package/.github/workflows/release.yml +31 -0
  5. package/CONTRIBUTORS.md +76 -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 +3 -3
  11. package/dist/components/ad.css +1 -1
  12. package/dist/components/ad.min.css +1 -1
  13. package/dist/components/api.js +88 -29
  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 +6 -4
  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 +97 -3
  32. package/dist/components/container.min.css +2 -2
  33. package/dist/components/dimmer.css +29 -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 +54 -14
  40. package/dist/components/dropdown.js +66 -39
  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 +3 -3
  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 +132 -55
  54. package/dist/components/form.js +38 -29
  55. package/dist/components/form.min.css +2 -2
  56. package/dist/components/form.min.js +3 -3
  57. package/dist/components/grid.css +14 -10
  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 +754 -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 +3 -3
  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 +3 -3
  103. package/dist/components/reset.css +3 -2
  104. package/dist/components/reset.min.css +2 -2
  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 +2 -2
  109. package/dist/components/search.min.css +1 -1
  110. package/dist/components/search.min.js +3 -3
  111. package/dist/components/segment.css +91 -7
  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 +65 -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 +3 -3
  125. package/dist/components/slider.js +1 -1
  126. package/dist/components/slider.min.js +3 -3
  127. package/dist/components/state.js +1 -1
  128. package/dist/components/state.min.js +3 -3
  129. package/dist/components/statistic.css +1 -1
  130. package/dist/components/statistic.min.css +1 -1
  131. package/dist/components/step.css +3 -3
  132. package/dist/components/step.min.css +1 -1
  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 +3 -3
  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 +3 -3
  155. package/dist/semantic.css +21959 -16235
  156. package/dist/semantic.js +483 -240
  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 +11 -10
  177. package/scripts/nightly-version.js +48 -38
  178. package/src/definitions/behaviors/api.js +87 -28
  179. package/src/definitions/behaviors/form.js +37 -28
  180. package/src/definitions/collections/form.less +204 -140
  181. package/src/definitions/collections/grid.less +716 -680
  182. package/src/definitions/collections/menu.less +173 -126
  183. package/src/definitions/collections/message.less +48 -46
  184. package/src/definitions/collections/table.less +849 -262
  185. package/src/definitions/elements/button.less +586 -449
  186. package/src/definitions/elements/container.less +145 -8
  187. package/src/definitions/elements/emoji.less +15 -9
  188. package/src/definitions/elements/flag.less +7 -17
  189. package/src/definitions/elements/header.less +44 -35
  190. package/src/definitions/elements/icon.less +38 -31
  191. package/src/definitions/elements/input.less +264 -22
  192. package/src/definitions/elements/label.less +92 -91
  193. package/src/definitions/elements/list.less +55 -45
  194. package/src/definitions/elements/loader.less +30 -29
  195. package/src/definitions/elements/segment.less +147 -28
  196. package/src/definitions/elements/step.less +52 -48
  197. package/src/definitions/elements/text.less +17 -15
  198. package/src/definitions/globals/site.less +23 -2
  199. package/src/definitions/modules/accordion.less +175 -24
  200. package/src/definitions/modules/calendar.js +5 -3
  201. package/src/definitions/modules/calendar.less +20 -0
  202. package/src/definitions/modules/checkbox.js +16 -10
  203. package/src/definitions/modules/checkbox.less +34 -178
  204. package/src/definitions/modules/dimmer.js +10 -4
  205. package/src/definitions/modules/dimmer.less +21 -8
  206. package/src/definitions/modules/dropdown.js +65 -38
  207. package/src/definitions/modules/dropdown.less +148 -97
  208. package/src/definitions/modules/modal.js +126 -48
  209. package/src/definitions/modules/modal.less +12 -0
  210. package/src/definitions/modules/nag.less +20 -19
  211. package/src/definitions/modules/popup.js +1 -1
  212. package/src/definitions/modules/progress.js +3 -0
  213. package/src/definitions/modules/progress.less +19 -18
  214. package/src/definitions/modules/rating.less +35 -34
  215. package/src/definitions/modules/search.js +1 -1
  216. package/src/definitions/modules/search.less +32 -16
  217. package/src/definitions/modules/shape.js +2 -2
  218. package/src/definitions/modules/sidebar.js +7 -5
  219. package/src/definitions/modules/sidebar.less +33 -19
  220. package/src/definitions/modules/slider.less +39 -38
  221. package/src/definitions/modules/tab.js +22 -4
  222. package/src/definitions/modules/toast.js +55 -27
  223. package/src/definitions/modules/toast.less +48 -16
  224. package/src/definitions/modules/transition.js +20 -15
  225. package/src/definitions/views/card.less +402 -361
  226. package/src/definitions/views/comment.less +92 -81
  227. package/src/definitions/views/feed.less +164 -144
  228. package/src/definitions/views/item.less +249 -196
  229. package/src/definitions/views/statistic.less +90 -88
  230. package/src/themes/bookish/elements/header.overrides +1 -1
  231. package/src/themes/chubby/elements/button.overrides +1 -1
  232. package/src/themes/chubby/elements/header.overrides +1 -1
  233. package/src/themes/default/assets/fonts/brand-icons.eot +0 -0
  234. package/src/themes/default/assets/fonts/brand-icons.svg +801 -654
  235. package/src/themes/default/assets/fonts/brand-icons.ttf +0 -0
  236. package/src/themes/default/assets/fonts/brand-icons.woff +0 -0
  237. package/src/themes/default/assets/fonts/brand-icons.woff2 +0 -0
  238. package/src/themes/default/assets/fonts/icons.eot +0 -0
  239. package/src/themes/default/assets/fonts/icons.svg +1175 -1079
  240. package/src/themes/default/assets/fonts/icons.ttf +0 -0
  241. package/src/themes/default/assets/fonts/icons.woff +0 -0
  242. package/src/themes/default/assets/fonts/icons.woff2 +0 -0
  243. package/src/themes/default/assets/fonts/outline-icons.eot +0 -0
  244. package/src/themes/default/assets/fonts/outline-icons.svg +93 -95
  245. package/src/themes/default/assets/fonts/outline-icons.ttf +0 -0
  246. package/src/themes/default/assets/fonts/outline-icons.woff +0 -0
  247. package/src/themes/default/assets/fonts/outline-icons.woff2 +0 -0
  248. package/src/themes/default/collections/form.variables +4 -0
  249. package/src/themes/default/collections/menu.variables +6 -0
  250. package/src/themes/default/collections/table.variables +52 -0
  251. package/src/themes/default/elements/button.variables +7 -1
  252. package/src/themes/default/elements/container.variables +12 -0
  253. package/src/themes/default/elements/emoji.overrides +1734 -1232
  254. package/src/themes/default/elements/flag.overrides +1641 -986
  255. package/src/themes/default/elements/flag.variables +7 -5
  256. package/src/themes/default/elements/icon.overrides +75 -48
  257. package/src/themes/default/elements/icon.variables +1 -0
  258. package/src/themes/default/elements/input.variables +15 -0
  259. package/src/themes/default/elements/segment.variables +8 -0
  260. package/src/themes/default/globals/site.variables +6 -0
  261. package/src/themes/default/globals/variation.variables +139 -6
  262. package/src/themes/default/modules/accordion.variables +49 -2
  263. package/src/themes/default/modules/calendar.variables +3 -0
  264. package/src/themes/default/modules/checkbox.variables +5 -5
  265. package/src/themes/default/modules/dimmer.variables +1 -1
  266. package/src/themes/default/modules/dropdown.variables +4 -10
  267. package/src/themes/default/modules/modal.variables +13 -0
  268. package/src/themes/default/modules/toast.variables +3 -0
  269. package/src/themes/famfamfam/elements/flag.overrides +1026 -0
  270. package/src/themes/famfamfam/elements/flag.variables +13 -0
  271. package/src/themes/instagram/views/card.overrides +1 -1
  272. package/src/themes/joypixels/elements/emoji.overrides +1759 -1257
  273. package/src/themes/joypixels/elements/emoji.variables +1 -1
  274. package/src/themes/material/collections/menu.overrides +1 -1
  275. package/src/themes/material/elements/button.overrides +1 -1
  276. package/src/themes/material/elements/header.overrides +1 -1
  277. package/src/themes/material/globals/site.variables +0 -1
  278. package/src/themes/material/modules/dropdown.overrides +1 -1
  279. package/src/themes/material/modules/modal.overrides +1 -1
  280. package/src/themes/rtl/globals/site.overrides +1 -1
  281. package/src/themes/twitter/elements/emoji.overrides +1734 -1232
  282. package/tasks/build/css.js +6 -1
  283. package/tasks/config/project/install.js +11 -5
  284. package/tasks/install.js +1 -0
  285. 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,15 @@
53
52
  transition: @transition;
54
53
 
55
54
  box-shadow: @boxShadow;
55
+ &:not([type="color"]) {
56
+ padding: @padding;
57
+ }
58
+ &::-webkit-calendar-picker-indicator {
59
+ padding: 0;
60
+ opacity: @iconOpacity;
61
+ transition: @iconTransition;
62
+ cursor: pointer;
63
+ }
56
64
  }
57
65
 
58
66
 
@@ -168,12 +176,12 @@
168
176
  }
169
177
 
170
178
 
171
- & when (@variationInputStates) {
179
+ & when not (@variationInputStates = false) {
172
180
  /*--------------------
173
181
  States
174
182
  ---------------------*/
175
- each(@formStates, {
176
- @state: replace(@key, '@', '');
183
+ each(@variationInputStates, {
184
+ @state: @value;
177
185
 
178
186
  .ui.input.@{state} > input {
179
187
  background-color: @formStates[@@state][background];
@@ -181,6 +189,20 @@
181
189
  color: @formStates[@@state][color];
182
190
  box-shadow: @formStates[@@state][boxShadow];
183
191
  }
192
+ & when (@state=error) {
193
+ .ui.input > input:not(:placeholder-shown):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
+ .ui.input > input:not(:-ms-input-placeholder):invalid {
200
+ background-color: @formStates[@@state][background];
201
+ border-color: @formStates[@@state][borderColor];
202
+ color: @formStates[@@state][color];
203
+ box-shadow: @formStates[@@state][boxShadow];
204
+ }
205
+ }
184
206
 
185
207
  /* Placeholder */
186
208
  .ui.input.@{state} > input::-webkit-input-placeholder {
@@ -284,8 +306,8 @@
284
306
  .ui.icon.input > i.icon:not(.link) {
285
307
  pointer-events: none;
286
308
  }
287
- .ui.ui.ui.ui.icon.input > textarea,
288
- .ui.ui.ui.ui.icon.input > input {
309
+ .ui.ui.ui.ui.icon.input:not(.corner) > textarea,
310
+ .ui.ui.ui.ui.icon.input:not(.corner) > input {
289
311
  padding-right: @iconMargin;
290
312
  }
291
313
 
@@ -316,16 +338,20 @@
316
338
  right: auto;
317
339
  left: @circularIconHorizontalOffset;
318
340
  }
319
- .ui.ui.ui.ui[class*="left icon"].input > textarea,
320
- .ui.ui.ui.ui[class*="left icon"].input > input {
341
+ .ui.ui.ui.ui[class*="left icon"]:not([class*="left corner"]).input > textarea,
342
+ .ui.ui.ui.ui[class*="left icon"]:not([class*="left corner"]).input > input {
321
343
  padding-left: @iconMargin;
344
+ }
345
+ .ui.ui.ui.ui[class*="left icon"]:not(.corner).input > textarea,
346
+ .ui.ui.ui.ui[class*="left icon"]:not(.corner).input > input {
322
347
  padding-right: @horizontalPadding;
323
348
  }
324
349
 
325
350
  /* Focus */
351
+ .ui.input > input:focus::-webkit-calendar-picker-indicator,
326
352
  .ui.icon.input > textarea:focus ~ i.icon,
327
353
  .ui.icon.input > input:focus ~ i.icon {
328
- opacity: 1;
354
+ opacity: @iconFocusOpacity;
329
355
  }
330
356
  }
331
357
 
@@ -385,31 +411,94 @@
385
411
  }
386
412
 
387
413
  /* 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;
414
+ .ui[class*="corner labeled"]:not([class*="left corner labeled"]).input > .ui.dropdown,
415
+ .ui[class*="corner labeled"]:not([class*="left corner labeled"]).input > textarea,
416
+ .ui[class*="corner labeled"]:not([class*="left corner labeled"]).input > input {
417
+ padding-right: @labeledMargin;
391
418
  }
419
+ .ui[class*="corner labeled"].icon.input:not([class*="left corner labeled"]) > .ui.dropdown,
392
420
  .ui[class*="corner labeled"].icon.input:not([class*="left corner labeled"]) > textarea,
393
421
  .ui[class*="corner labeled"].icon.input:not([class*="left corner labeled"]) > input {
394
- padding-right: @labeledIconInputMargin !important;
422
+ padding-right: @labeledIconInputMargin;
395
423
  }
396
424
  .ui[class*="corner labeled"].icon.input:not([class*="left corner labeled"]) > i.icon {
397
425
  margin-right: @labeledIconMargin;
398
426
  }
399
427
 
400
428
  /* 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;
429
+ .ui[class*="left icon"].input > .ui.dropdown,
430
+ .ui[class*="left corner labeled"].input > .ui.dropdown,
431
+ .ui[class*="left corner labeled"].input > textarea,
432
+ .ui[class*="left corner labeled"].input > input {
433
+ padding-left: @labeledMargin;
404
434
  }
405
435
  & 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;
436
+ .ui[class*="corner labeled"]:not([class*="left corner labeled"])[class*="left icon"].input > .ui.dropdown,
437
+ .ui[class*="corner labeled"]:not([class*="left corner labeled"])[class*="left icon"].input > textarea,
438
+ .ui[class*="corner labeled"]:not([class*="left corner labeled"])[class*="left icon"].input > input {
439
+ padding-right: @labeledIconInputMargin;
440
+ }
441
+ .ui[class*="left corner labeled"][class*="left icon"].input > .ui.dropdown,
442
+ .ui[class*="left corner labeled"][class*="left icon"].input > textarea,
443
+ .ui[class*="left corner labeled"][class*="left icon"].input > input {
444
+ padding-left: @labeledAndIconMargin;
409
445
  }
410
446
  .ui[class*="left corner labeled"].icon.input > i.icon {
411
447
  margin-left: @labeledIconMargin;
412
448
  }
449
+ .ui[class*="left corner labeled"].icon:not([class*="left icon"]).input > input {
450
+ padding-right: @labeledMargin;
451
+ }
452
+ .ui[class*="corner labeled"]:not([class*="left corner labeled"]).icon:not([class*="left icon"]).input > input {
453
+ padding-right: @labeledMargin * 2;
454
+ }
455
+ }
456
+
457
+ .ui[class*="left icon"].input > .ui.dropdown,
458
+ .ui[class*="left corner labeled"].input > .ui.dropdown {
459
+ & > .search {
460
+ padding-left: @labeledMargin;
461
+ }
462
+ & > .menu {
463
+ padding-left: @labeledIconMargin;
464
+ & > .item {
465
+ padding-left: @labeledMargin;
466
+ margin-left: -@labeledIconMargin;
467
+ }
468
+ }
469
+ }
470
+ .ui[class*="left corner labeled"][class*="left icon"].input > .ui.dropdown {
471
+ & > .search {
472
+ padding-left: @labeledAndIconMargin;
473
+ }
474
+ & > .menu > .item {
475
+ padding-left: @labeledAndIconMargin;
476
+ }
477
+ }
478
+ .ui.icon.input:not([class*="left icon"]) > .ui.dropdown,
479
+ .ui[class*="corner labeled"]:not([class*="left corner labeled"]).input > .ui.dropdown {
480
+ & > .search {
481
+ padding-right: @labeledMargin + @labeledIconInputMargin;
482
+ }
483
+ & > .remove.icon,
484
+ > .dropdown.icon {
485
+ padding-right: @labeledMargin;
486
+ }
487
+ }
488
+ .ui[class*="corner labeled"]:not([class*="left corner labeled"]).icon:not([class*="left icon"]).input > .ui.dropdown {
489
+ & > .search {
490
+ padding-right: @labeledAndIconMargin + @labeledIconInputMargin;
491
+ }
492
+ & > .remove.icon,
493
+ > .dropdown.icon {
494
+ padding-right: @labeledAndIconMargin;
495
+ }
496
+ }
497
+ .ui.icon.input > .ui.visible.dropdown ~ i.icon,
498
+ .ui.icon.input > .ui.active.dropdown ~ i.icon,
499
+ .ui[class*="corner labeled"].input > .ui.visible.dropdown ~ .ui.corner.label,
500
+ .ui[class*="corner labeled"].input > .ui.active.dropdown ~ .ui.corner.label {
501
+ z-index: @labeledDropdownZIndex;
413
502
  }
414
503
  }
415
504
  & when (@variationInputIcon) {
@@ -432,10 +521,10 @@
432
521
  }
433
522
  }
434
523
 
435
- & when (@variationInputLabeled) or (@variationInputAction) {
524
+ & when ((@variationInputLabeled) or (@variationInputAction)) and not (@variationInputStates = false) {
436
525
  /* Labeled and action input states */
437
- each(@formStates, {
438
- @state: replace(@key, '@', '');
526
+ each(@variationInputStates, {
527
+ @state: @value;
439
528
  @borderColor: @formStates[@@state][borderColor];
440
529
 
441
530
  .ui.form .field.@{state} > .ui.action.input > .ui.button,
@@ -547,6 +636,159 @@
547
636
  }
548
637
  }
549
638
 
639
+
640
+ & when (@variationInputFile) {
641
+ /*--------------------
642
+ File
643
+ ---------------------*/
644
+
645
+ /* width hack for chrome/edge */
646
+ .ui.file.input {
647
+ width: 100%;
648
+ & input[type="file"] {
649
+ width: 0;
650
+ }
651
+ }
652
+
653
+ .ui.form .field > input[type="file"],
654
+ .ui.file.input:not(.action) input[type="file"] {
655
+ padding: 0;
656
+ }
657
+
658
+ .ui.action.file.input input[type="file"]::-webkit-file-upload-button {
659
+ display: none;
660
+ }
661
+ .ui.form .field input[type="file"]::-webkit-file-upload-button,
662
+ .ui.file.input input[type="file"]::-webkit-file-upload-button {
663
+ border: none;
664
+ cursor: pointer;
665
+ padding: @padding;
666
+ margin-right: @fileButtonMargin;
667
+ background: @fileButtonBackground;
668
+ font-weight: @fileButtonFontWeight;
669
+ color: @fileButtonTextColor;
670
+ &:hover {
671
+ background: @fileButtonBackgroundHover;
672
+ color: @fileButtonTextColor;
673
+ }
674
+ }
675
+ .ui.action.file.input input[type="file"]::-ms-browse {
676
+ display: none;
677
+ }
678
+ .ui.form .field input[type="file"]::-ms-browse,
679
+ .ui.file.input input[type="file"]::-ms-browse {
680
+ border: none;
681
+ cursor: pointer;
682
+ padding: @padding;
683
+ margin: 0;
684
+ background: @fileButtonBackground;
685
+ font-weight: @fileButtonFontWeight;
686
+ color: @fileButtonTextColor;
687
+ &:hover {
688
+ background: @fileButtonBackgroundHover;
689
+ color: @fileButtonTextColor;
690
+ }
691
+ }
692
+ /* IE needs additional styling for input field :S */
693
+ @media all and (-ms-high-contrast:none) {
694
+ .ui.file.input > input[type="file"],
695
+ input[type="file"].ui.file.input {
696
+ padding: 0 !important;
697
+ }
698
+ }
699
+
700
+ .ui.action.file.input input[type="file"]::file-selector-button {
701
+ display: none;
702
+ }
703
+ .ui.form .field input[type="file"]::file-selector-button,
704
+ .ui.file.input input[type="file"]::file-selector-button {
705
+ border: none;
706
+ cursor: pointer;
707
+ padding: @padding;
708
+ margin-right: @fileButtonMargin;
709
+ background: @fileButtonBackground;
710
+ font-weight: @fileButtonFontWeight;
711
+ color: @fileButtonTextColor;
712
+ &:hover {
713
+ background: @fileButtonBackgroundHover;
714
+ color: @fileButtonTextColor;
715
+ }
716
+ }
717
+
718
+ .ui.form .field input[type="file"]:required:invalid,
719
+ .ui.file.input input[type="file"]:required:invalid {
720
+ color: @negativeTextColor;
721
+ background: @negativeBackgroundColor ;
722
+ border-color: @negativeBorderColor;
723
+ }
724
+
725
+ input[type="file"].ui.invisible.file.input,
726
+ .ui.invisible.file.input input[type="file"] {
727
+ left: -99999px;
728
+ position: absolute;
729
+ }
730
+
731
+ input[type="file"].ui.file.input:focus + label.ui.button:not(.basic):not(.tertiary),
732
+ .ui.file.input input[type="file"]:focus + label.ui.button:not(.basic):not(.tertiary) {
733
+ background: @fileButtonBackgroundHover;
734
+ color: @hoveredTextColor;
735
+ &.inverted {
736
+ background: @fileButtonInvertedBackgroundHover;
737
+ }
738
+ }
739
+
740
+ /* this is related to existing buttons, so the button color variable is used here! */
741
+ & when not (@variationButtonColors = false) {
742
+ each(@variationButtonColors, {
743
+ @color: @value;
744
+ @h: @colors[@@color][hover];
745
+ @lh: @colors[@@color][lightHover];
746
+
747
+ input[type="file"].ui.file.input:focus + label.ui.@{color}.button:not(.basic):not(.tertiary),
748
+ .ui.file.input input[type="file"]:focus + label.ui.@{color}.button:not(.basic):not(.tertiary) {
749
+ background-color: @h;
750
+ color: @white;
751
+ &.inverted when (@variationButtonInverted) {
752
+ background-color: @lh;
753
+ }
754
+ }
755
+ })
756
+ }
757
+
758
+ & when not (@variationInputColors = false) {
759
+ each(@variationInputColors, {
760
+ @color: @value;
761
+ @c: @colors[@@color][color];
762
+ @h: @colors[@@color][hover];
763
+
764
+ input[type="file"].ui.@{color}.file.input::-webkit-file-upload-button,
765
+ .ui.@{color}.file.input input[type="file"]::-webkit-file-upload-button {
766
+ background: @c;
767
+ color: @white;
768
+ &:hover {
769
+ background: @h;
770
+ }
771
+ }
772
+ input[type="file"].ui.@{color}.file.input::-ms-browse,
773
+ .ui.@{color}.file.input input[type="file"]::-ms-browse {
774
+ background: @c;
775
+ color: @white;
776
+ &:hover {
777
+ background: @h;
778
+ }
779
+ }
780
+ input[type="file"].ui.@{color}.file.input::file-selector-button,
781
+ .ui.@{color}.file.input input[type="file"]::file-selector-button {
782
+ background: @c;
783
+ color: @white;
784
+ &:hover {
785
+ background: @h;
786
+ }
787
+ }
788
+ })
789
+ }
790
+ }
791
+
550
792
  /*--------------------
551
793
  Size
552
794
  ---------------------*/
@@ -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