fomantic-ui 2.8.8-beta.99 → 2.9.0-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 (244) hide show
  1. package/.all-contributorsrc +188 -3
  2. package/.github/dependabot.yml +17 -0
  3. package/.github/workflows/ci.yml +1 -1
  4. package/CHANGELOG.md +139 -0
  5. package/CONTRIBUTING.md +1 -1
  6. package/CONTRIBUTORS.md +71 -37
  7. package/README.md +3 -3
  8. package/dist/components/accordion.css +50 -6
  9. package/dist/components/accordion.js +1 -1
  10. package/dist/components/accordion.min.css +2 -2
  11. package/dist/components/accordion.min.js +3 -3
  12. package/dist/components/ad.css +1 -1
  13. package/dist/components/ad.min.css +1 -1
  14. package/dist/components/api.js +26 -24
  15. package/dist/components/api.min.js +4 -4
  16. package/dist/components/breadcrumb.css +1 -1
  17. package/dist/components/breadcrumb.min.css +1 -1
  18. package/dist/components/button.css +81 -81
  19. package/dist/components/button.min.css +2 -2
  20. package/dist/components/calendar.css +1 -1
  21. package/dist/components/calendar.js +110 -11
  22. package/dist/components/calendar.min.css +1 -1
  23. package/dist/components/calendar.min.js +4 -4
  24. package/dist/components/card.css +26 -19
  25. package/dist/components/card.min.css +2 -2
  26. package/dist/components/checkbox.css +6 -4
  27. package/dist/components/checkbox.js +17 -11
  28. package/dist/components/checkbox.min.css +2 -2
  29. package/dist/components/checkbox.min.js +4 -4
  30. package/dist/components/comment.css +11 -11
  31. package/dist/components/comment.min.css +1 -1
  32. package/dist/components/container.css +3 -4
  33. package/dist/components/container.min.css +2 -2
  34. package/dist/components/dimmer.css +28 -14
  35. package/dist/components/dimmer.js +15 -12
  36. package/dist/components/dimmer.min.css +2 -2
  37. package/dist/components/dimmer.min.js +4 -4
  38. package/dist/components/divider.css +1 -1
  39. package/dist/components/divider.min.css +1 -1
  40. package/dist/components/dropdown.css +54 -7
  41. package/dist/components/dropdown.js +107 -77
  42. package/dist/components/dropdown.min.css +2 -2
  43. package/dist/components/dropdown.min.js +4 -4
  44. package/dist/components/embed.css +1 -1
  45. package/dist/components/embed.js +1 -1
  46. package/dist/components/embed.min.css +1 -1
  47. package/dist/components/embed.min.js +3 -3
  48. package/dist/components/emoji.css +2 -2
  49. package/dist/components/feed.css +28 -28
  50. package/dist/components/feed.min.css +2 -2
  51. package/dist/components/flag.css +731 -625
  52. package/dist/components/flag.min.css +2 -2
  53. package/dist/components/form.css +119 -54
  54. package/dist/components/form.js +51 -70
  55. package/dist/components/form.min.css +2 -2
  56. package/dist/components/form.min.js +4 -4
  57. package/dist/components/grid.css +13 -11
  58. package/dist/components/grid.min.css +2 -2
  59. package/dist/components/header.css +3 -3
  60. package/dist/components/header.min.css +2 -2
  61. package/dist/components/icon.css +86 -5
  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 +17 -2
  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 +39 -37
  74. package/dist/components/loader.min.css +2 -2
  75. package/dist/components/menu.css +37 -11
  76. package/dist/components/menu.min.css +1 -1
  77. package/dist/components/message.css +78 -34
  78. package/dist/components/message.min.css +2 -2
  79. package/dist/components/modal.css +7 -5
  80. package/dist/components/modal.js +237 -41
  81. package/dist/components/modal.min.css +2 -2
  82. package/dist/components/modal.min.js +4 -4
  83. package/dist/components/nag.css +168 -16
  84. package/dist/components/nag.js +131 -65
  85. package/dist/components/nag.min.css +2 -2
  86. package/dist/components/nag.min.js +4 -4
  87. package/dist/components/placeholder.css +1 -1
  88. package/dist/components/placeholder.min.css +1 -1
  89. package/dist/components/popup.css +5 -3
  90. package/dist/components/popup.js +5 -5
  91. package/dist/components/popup.min.css +2 -2
  92. package/dist/components/popup.min.js +4 -4
  93. package/dist/components/progress.css +2 -1
  94. package/dist/components/progress.js +3 -3
  95. package/dist/components/progress.min.css +2 -2
  96. package/dist/components/progress.min.js +4 -4
  97. package/dist/components/rail.css +1 -1
  98. package/dist/components/rail.min.css +1 -1
  99. package/dist/components/rating.css +8 -62
  100. package/dist/components/rating.js +1 -1
  101. package/dist/components/rating.min.css +2 -2
  102. package/dist/components/rating.min.js +3 -3
  103. package/dist/components/reset.css +2 -3
  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 +15 -13
  109. package/dist/components/search.min.css +1 -1
  110. package/dist/components/search.min.js +4 -4
  111. package/dist/components/segment.css +36 -6
  112. package/dist/components/segment.min.css +2 -2
  113. package/dist/components/shape.css +1 -1
  114. package/dist/components/shape.js +1 -1
  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 +1 -1
  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 +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 +4 -4
  132. package/dist/components/step.min.css +2 -2
  133. package/dist/components/sticky.css +1 -2
  134. package/dist/components/sticky.js +2 -2
  135. package/dist/components/sticky.min.css +2 -2
  136. package/dist/components/sticky.min.js +4 -4
  137. package/dist/components/tab.css +1 -1
  138. package/dist/components/tab.js +1 -1
  139. package/dist/components/tab.min.css +1 -1
  140. package/dist/components/tab.min.js +3 -3
  141. package/dist/components/table.css +5 -3
  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 +123 -10
  146. package/dist/components/toast.js +54 -27
  147. package/dist/components/toast.min.css +2 -2
  148. package/dist/components/toast.min.js +4 -4
  149. package/dist/components/transition.css +1 -1
  150. package/dist/components/transition.js +2 -2
  151. package/dist/components/transition.min.css +1 -1
  152. package/dist/components/transition.min.js +4 -4
  153. package/dist/components/visibility.js +2 -2
  154. package/dist/components/visibility.min.js +3 -3
  155. package/dist/semantic.css +2004 -1124
  156. package/dist/semantic.js +789 -377
  157. package/dist/semantic.min.css +4 -397
  158. package/dist/semantic.min.js +4 -4
  159. package/examples/assets/library/iframe-content.js +8 -8
  160. package/examples/assets/library/iframe.js +3 -3
  161. package/package.json +5 -5
  162. package/scripts/nightly-version.js +23 -8
  163. package/src/definitions/behaviors/api.js +25 -23
  164. package/src/definitions/behaviors/form.js +50 -69
  165. package/src/definitions/behaviors/visibility.js +1 -1
  166. package/src/definitions/collections/form.less +200 -142
  167. package/src/definitions/collections/grid.less +717 -681
  168. package/src/definitions/collections/menu.less +177 -128
  169. package/src/definitions/collections/message.less +77 -44
  170. package/src/definitions/collections/table.less +255 -242
  171. package/src/definitions/elements/button.less +360 -347
  172. package/src/definitions/elements/container.less +16 -8
  173. package/src/definitions/elements/emoji.less +15 -9
  174. package/src/definitions/elements/flag.less +7 -17
  175. package/src/definitions/elements/header.less +44 -37
  176. package/src/definitions/elements/icon.less +121 -43
  177. package/src/definitions/elements/input.less +23 -7
  178. package/src/definitions/elements/label.less +92 -91
  179. package/src/definitions/elements/list.less +55 -45
  180. package/src/definitions/elements/loader.less +38 -35
  181. package/src/definitions/elements/segment.less +51 -23
  182. package/src/definitions/elements/step.less +52 -48
  183. package/src/definitions/elements/text.less +17 -15
  184. package/src/definitions/globals/site.less +23 -2
  185. package/src/definitions/modules/accordion.less +55 -5
  186. package/src/definitions/modules/calendar.js +109 -10
  187. package/src/definitions/modules/checkbox.js +16 -10
  188. package/src/definitions/modules/checkbox.less +44 -186
  189. package/src/definitions/modules/dimmer.js +14 -11
  190. package/src/definitions/modules/dimmer.less +21 -8
  191. package/src/definitions/modules/dropdown.js +106 -76
  192. package/src/definitions/modules/dropdown.less +148 -89
  193. package/src/definitions/modules/modal.js +236 -40
  194. package/src/definitions/modules/modal.less +6 -4
  195. package/src/definitions/modules/nag.js +130 -64
  196. package/src/definitions/modules/nag.less +105 -40
  197. package/src/definitions/modules/popup.js +4 -4
  198. package/src/definitions/modules/popup.less +5 -1
  199. package/src/definitions/modules/progress.js +2 -2
  200. package/src/definitions/modules/progress.less +20 -18
  201. package/src/definitions/modules/rating.less +50 -42
  202. package/src/definitions/modules/search.js +14 -12
  203. package/src/definitions/modules/search.less +32 -16
  204. package/src/definitions/modules/sidebar.less +33 -19
  205. package/src/definitions/modules/slider.less +43 -42
  206. package/src/definitions/modules/sticky.js +1 -1
  207. package/src/definitions/modules/toast.js +53 -26
  208. package/src/definitions/modules/toast.less +139 -25
  209. package/src/definitions/modules/transition.js +1 -1
  210. package/src/definitions/views/card.less +402 -361
  211. package/src/definitions/views/comment.less +92 -81
  212. package/src/definitions/views/feed.less +164 -144
  213. package/src/definitions/views/item.less +249 -196
  214. package/src/definitions/views/statistic.less +90 -88
  215. package/src/themes/default/collections/grid.variables +8 -8
  216. package/src/themes/default/collections/menu.variables +6 -0
  217. package/src/themes/default/collections/table.variables +1 -1
  218. package/src/themes/default/elements/button.variables +2 -1
  219. package/src/themes/default/elements/flag.overrides +1635 -986
  220. package/src/themes/default/elements/flag.variables +7 -5
  221. package/src/themes/default/elements/header.variables +2 -2
  222. package/src/themes/default/elements/icon.overrides +35 -28
  223. package/src/themes/default/elements/icon.variables +4 -0
  224. package/src/themes/default/elements/list.variables +1 -1
  225. package/src/themes/default/elements/step.overrides +1 -1
  226. package/src/themes/default/globals/colors.less +7 -7
  227. package/src/themes/default/globals/site.variables +19 -9
  228. package/src/themes/default/globals/variation.variables +119 -6
  229. package/src/themes/default/modules/accordion.variables +15 -0
  230. package/src/themes/default/modules/checkbox.variables +16 -16
  231. package/src/themes/default/modules/dimmer.variables +1 -1
  232. package/src/themes/default/modules/dropdown.variables +12 -5
  233. package/src/themes/default/modules/modal.variables +2 -2
  234. package/src/themes/default/modules/nag.variables +3 -1
  235. package/src/themes/default/modules/toast.variables +5 -1
  236. package/src/themes/default/views/card.variables +1 -1
  237. package/src/themes/famfamfam/elements/flag.overrides +1026 -0
  238. package/src/themes/famfamfam/elements/flag.variables +13 -0
  239. package/tasks/admin/components/init.js +2 -2
  240. package/tasks/admin/distributions/init.js +2 -2
  241. package/tasks/build/css.js +6 -1
  242. package/tasks/config/project/release.js +2 -2
  243. package/tasks/config/tasks.js +13 -9
  244. package/test/helpers/sinon.js +1 -1
@@ -42,8 +42,10 @@
42
42
  .ui.ui.ui.relaxed.grid.container {
43
43
  width: @mobileRelaxedGridWidth;
44
44
  }
45
- .ui.ui.ui.very.relaxed.grid.container {
46
- width: @mobileVeryRelaxedGridWidth;
45
+ & when (@variationContainerVeryRelaxed) {
46
+ .ui.ui.ui.very.relaxed.grid.container {
47
+ width: @mobileVeryRelaxedGridWidth;
48
+ }
47
49
  }
48
50
  }
49
51
  }
@@ -64,8 +66,10 @@
64
66
  .ui.ui.ui.relaxed.grid.container {
65
67
  width: @tabletRelaxedGridWidth;
66
68
  }
67
- .ui.ui.ui.very.relaxed.grid.container {
68
- width: @tabletVeryRelaxedGridWidth;
69
+ & when (@variationContainerVeryRelaxed) {
70
+ .ui.ui.ui.very.relaxed.grid.container {
71
+ width: @tabletVeryRelaxedGridWidth;
72
+ }
69
73
  }
70
74
  }
71
75
  }
@@ -86,8 +90,10 @@
86
90
  .ui.ui.ui.relaxed.grid.container {
87
91
  width: @computerRelaxedGridWidth;
88
92
  }
89
- .ui.ui.ui.very.relaxed.grid.container {
90
- width: @computerVeryRelaxedGridWidth;
93
+ & when (@variationContainerVeryRelaxed) {
94
+ .ui.ui.ui.very.relaxed.grid.container {
95
+ width: @computerVeryRelaxedGridWidth;
96
+ }
91
97
  }
92
98
  }
93
99
  }
@@ -108,8 +114,10 @@
108
114
  .ui.ui.ui.relaxed.grid.container {
109
115
  width: @largeMonitorRelaxedGridWidth;
110
116
  }
111
- .ui.ui.ui.very.relaxed.grid.container {
112
- width: @largeMonitorVeryRelaxedGridWidth;
117
+ & when (@variationContainerVeryRelaxed) {
118
+ .ui.ui.ui.very.relaxed.grid.container {
119
+ width: @largeMonitorVeryRelaxedGridWidth;
120
+ }
113
121
  }
114
122
  }
115
123
  }
@@ -47,8 +47,10 @@ em[data-emoji]:before {
47
47
  States
48
48
  *******************************/
49
49
 
50
- em[data-emoji].disabled {
51
- opacity: @disabledOpacity;
50
+ & when (@variationEmojiDisabled) {
51
+ em[data-emoji].disabled {
52
+ opacity: @disabledOpacity;
53
+ }
52
54
  }
53
55
 
54
56
 
@@ -56,17 +58,21 @@ em[data-emoji].disabled {
56
58
  Variations
57
59
  *******************************/
58
60
 
59
- em[data-emoji].loading:before {
60
- animation: loader @loadingDuration linear infinite;
61
+ & when (@variationEmojiLoading) {
62
+ em[data-emoji].loading:before {
63
+ animation: loader @loadingDuration linear infinite;
64
+ }
61
65
  }
62
66
 
63
67
 
64
- /*-------------------
65
- Link
66
- --------------------*/
68
+ & when (@variationEmojiLink) {
69
+ /*-------------------
70
+ Link
71
+ --------------------*/
67
72
 
68
- em[data-emoji].link:not(.disabled) {
69
- cursor: pointer;
73
+ em[data-emoji].link:not(.disabled) {
74
+ cursor: pointer;
75
+ }
70
76
  }
71
77
 
72
78
  .loadUIOverrides();
@@ -24,29 +24,19 @@
24
24
  *******************************/
25
25
 
26
26
  i.flag:not(.icon) {
27
- display: inline-block;
28
-
29
- width: @width;
30
- height: @height;
31
-
32
- line-height: @height;
33
- vertical-align: @verticalAlign;
34
- margin: 0 @margin 0 0;
35
-
36
- text-decoration: inherit;
37
-
38
27
  speak: none;
39
- -webkit-font-smoothing: antialiased;
40
28
  backface-visibility: hidden;
41
29
  }
42
30
 
43
- /* Sprite */
44
31
  i.flag:not(.icon):before {
32
+ content: '\00A0\00A0\00A0\00A0\00A0\00A0\00A0';
45
33
  display: inline-block;
46
- content: '';
47
- background: url(@spritePath) no-repeat -108px -1976px;
48
- width: @width;
49
- height: @height;
34
+ line-height: @flagLineHeight;
35
+ background-repeat: no-repeat;
36
+ background-position: center center;
37
+ & when not (@flagFileType = 'svg') {
38
+ background-size: contain;
39
+ }
50
40
  }
51
41
 
52
42
  .loadUIOverrides();
@@ -113,8 +113,8 @@
113
113
  }
114
114
 
115
115
  /* After Icon */
116
- .ui.header:not(.centered):not(.aligned) > .icons + .content,
117
- .ui.header:not(.centered):not(.aligned) > i.icon + .content {
116
+ .ui.header:not(.icon):not(.centered):not(.aligned) > .icons + .content,
117
+ .ui.header:not(.icon):not(.centered):not(.aligned) > i.icon + .content {
118
118
  padding-left: @iconMargin;
119
119
  display: table-cell;
120
120
  vertical-align: @contentIconAlignment;
@@ -254,10 +254,12 @@
254
254
  margin-bottom: 0;
255
255
  }
256
256
  }
257
- .ui.icon.header.aligned {
258
- margin-left: auto;
259
- margin-right: auto;
260
- display: block;
257
+ & when (@variationHeaderAligned) {
258
+ .ui.icon.header.aligned {
259
+ margin-left: auto;
260
+ margin-right: auto;
261
+ display: block;
262
+ }
261
263
  }
262
264
  }
263
265
 
@@ -306,37 +308,38 @@
306
308
  /*-------------------
307
309
  Colors
308
310
  --------------------*/
309
-
310
- each(@colors, {
311
- @color: replace(@key, '@', '');
312
- @c: @colors[@@color][color];
313
- @l: @colors[@@color][light];
314
- @h: @colors[@@color][hover];
315
- @lh: @colors[@@color][lightHover];
316
-
317
- .ui.@{color}.header {
318
- color: @c;
319
- }
320
- a.ui.@{color}.header:hover {
321
- color: @h;
322
- }
323
- & when (@variationHeaderDividing) {
324
- .ui.@{color}.dividing.header {
325
- border-bottom: @dividedColoredBorderWidth solid @c;
311
+ & when not (@variationHeaderColors = false) {
312
+ each(@variationHeaderColors, {
313
+ @color: @value;
314
+ @c: @colors[@@color][color];
315
+ @l: @colors[@@color][light];
316
+ @h: @colors[@@color][hover];
317
+ @lh: @colors[@@color][lightHover];
318
+
319
+ .ui.@{color}.header {
320
+ color: @c;
326
321
  }
327
- }
328
- & when (@variationHeaderInverted) {
329
- .ui.inverted.@{color}.header.header.header {
330
- color: @l;
322
+ a.ui.@{color}.header:hover {
323
+ color: @h;
331
324
  }
332
- a.ui.inverted.@{color}.header.header.header:hover {
333
- color: @lh;
325
+ & when (@variationHeaderDividing) {
326
+ .ui.@{color}.dividing.header {
327
+ border-bottom: @dividedColoredBorderWidth solid @c;
328
+ }
334
329
  }
335
- .ui.inverted.@{color}.dividing.header {
336
- border-bottom: @dividedColoredBorderWidth solid @l;
330
+ & when (@variationHeaderInverted) {
331
+ .ui.inverted.@{color}.header.header.header {
332
+ color: @l;
333
+ }
334
+ a.ui.inverted.@{color}.header.header.header:hover {
335
+ color: @lh;
336
+ }
337
+ .ui.inverted.@{color}.dividing.header {
338
+ border-bottom: @dividedColoredBorderWidth solid @l;
339
+ }
337
340
  }
338
- }
339
- })
341
+ })
342
+ }
340
343
 
341
344
  & when (@variationHeaderAligned) {
342
345
  /*-------------------
@@ -403,8 +406,10 @@ each(@colors, {
403
406
  padding-bottom: @dividedBorderPadding;
404
407
  border-bottom: @dividedBorder;
405
408
  }
406
- .ui.dividing.header .sub.header {
407
- padding-bottom: @dividedSubHeaderPadding;
409
+ & when (@variationHeaderSub) {
410
+ .ui.dividing.header .sub.header {
411
+ padding-bottom: @dividedSubHeaderPadding;
412
+ }
408
413
  }
409
414
  .ui.dividing.header i.icon {
410
415
  margin-bottom: @dividedIconPadding;
@@ -454,8 +459,10 @@ each(@colors, {
454
459
  border: @attachedBorder;
455
460
  border-radius: 0;
456
461
  }
457
- .ui.attached.block.header {
458
- background: @blockBackground;
462
+ & when (@variationHeaderBlock) {
463
+ .ui.attached.block.header {
464
+ background: @blockBackground;
465
+ }
459
466
  }
460
467
  .ui.attached:not(.top).header {
461
468
  border-top: none;
@@ -22,16 +22,17 @@
22
22
  /*******************************
23
23
  Icon
24
24
  *******************************/
25
-
26
- @font-face {
27
- font-family: 'Icons';
28
- src: @fallbackSRC;
29
- src: @src;
30
- font-style: normal;
31
- font-weight: @normal;
32
- font-variant: normal;
33
- text-decoration: inherit;
34
- text-transform: none;
25
+ & when (@importIcons) {
26
+ @font-face {
27
+ font-family: 'Icons';
28
+ src: @fallbackSRC;
29
+ src: @src;
30
+ font-style: normal;
31
+ font-weight: @normal;
32
+ font-variant: normal;
33
+ text-decoration: inherit;
34
+ text-transform: none;
35
+ }
35
36
  }
36
37
 
37
38
  i.icon {
@@ -68,9 +69,11 @@ i.icon:before {
68
69
  Loading
69
70
  ---------------*/
70
71
 
71
- i.icon.loading {
72
+ i.loading.icon {
72
73
  height: 1em;
73
74
  line-height: 1;
75
+ }
76
+ i.loading.icon, i.loading.icons {
74
77
  animation: loader @loadingDuration linear infinite;
75
78
  }
76
79
  }
@@ -102,6 +105,7 @@ i.emphasized.icon:not(.disabled), i.emphasized.icons:not(.disabled) {
102
105
  Fitted
103
106
  --------------------*/
104
107
 
108
+ i.fitted.icons,
105
109
  i.fitted.icon {
106
110
  width: auto;
107
111
  margin: 0 !important;
@@ -137,6 +141,9 @@ i.emphasized.icon:not(.disabled), i.emphasized.icons:not(.disabled) {
137
141
 
138
142
  width: @circularSize !important;
139
143
  height: @circularSize !important;
144
+ &.colored when (@variationIconColored){
145
+ box-shadow: @coloredBoxShadow;
146
+ }
140
147
  }
141
148
  & when (@variationIconInverted) {
142
149
  i.circular.inverted.icon {
@@ -158,6 +165,16 @@ i.emphasized.icon:not(.disabled), i.emphasized.icons:not(.disabled) {
158
165
  i.vertically.flipped.icon {
159
166
  transform: scale(1, -1);
160
167
  }
168
+
169
+ & when(@variationIconGroups) {
170
+ .icons i.flipped.icon:not(.corner):not(:first-child),
171
+ .icons i.horizontally.flipped.icon:not(.corner):not(:first-child) {
172
+ transform: translateX(-50%) translateY(-50%) scale(-1, 1);
173
+ }
174
+ .icons i.vertically.flipped.icon:not(.corner):not(:first-child) {
175
+ transform: translateX(-50%) translateY(-50%) scale(1, -1);
176
+ }
177
+ }
161
178
  }
162
179
 
163
180
  & when (@variationIconRotated) {
@@ -179,6 +196,21 @@ i.emphasized.icon:not(.disabled), i.emphasized.icons:not(.disabled) {
179
196
  i.halfway.rotated.icon {
180
197
  transform: rotate(180deg);
181
198
  }
199
+
200
+ & when(@variationIconGroups) {
201
+ .icons i.rotated.rotated.icon:not(.corner):not(:first-child),
202
+ .icons i.right.rotated.icon:not(.corner):not(:first-child),
203
+ .icons i.clockwise.rotated.icon:not(.corner):not(:first-child) {
204
+ transform: translateX(-50%) translateY(-50%) rotate(90deg);
205
+ }
206
+ .icons i.left.rotated.icon:not(.corner):not(:first-child),
207
+ .icons i.counterclockwise.rotated.icon:not(.corner):not(:first-child) {
208
+ transform: translateX(-50%) translateY(-50%) rotate(-90deg);
209
+ }
210
+ .icons i.halfway.rotated.icon:not(.corner):not(:first-child) {
211
+ transform: translateX(-50%) translateY(-50%) rotate(180deg);
212
+ }
213
+ }
182
214
  }
183
215
 
184
216
  & when (@variationIconFlipped) and (@variationIconRotated) {
@@ -215,6 +247,33 @@ i.emphasized.icon:not(.disabled), i.emphasized.icons:not(.disabled) {
215
247
  i.halfway.rotated.vertically.flipped.icon {
216
248
  transform: scale(1, -1) rotate(180deg);
217
249
  }
250
+
251
+ & when(@variationIconGroups) {
252
+ .icons i.rotated.flipped.icon:not(.corner):not(:first-child),
253
+ .icons i.right.rotated.flipped.icon:not(.corner):not(:first-child),
254
+ .icons i.clockwise.rotated.flipped.icon:not(.corner):not(:first-child) {
255
+ transform: translateX(-50%) translateY(-50%) scale(-1, 1) rotate(90deg);
256
+ }
257
+ .icons i.left.rotated.flipped.icon:not(.corner):not(:first-child),
258
+ .icons i.counterclockwise.rotated.flipped.icon:not(.corner):not(:first-child) {
259
+ transform: translateX(-50%) translateY(-50%) scale(-1, 1) rotate(-90deg);
260
+ }
261
+ .icons i.halfway.rotated.flipped.icon:not(.corner):not(:first-child) {
262
+ transform: translateX(-50%) translateY(-50%) scale(-1, 1) rotate(180deg);
263
+ }
264
+ .icons i.rotated.vertically.flipped.icon:not(.corner):not(:first-child),
265
+ .icons i.right.rotated.vertically.flipped.icon:not(.corner):not(:first-child),
266
+ .icons i.clockwise.rotated.vertically.flipped.icon:not(.corner):not(:first-child) {
267
+ transform: translateX(-50%) translateY(-50%) scale(1, -1) rotate(90deg);
268
+ }
269
+ .icons i.left.rotated.vertically.flipped.icon:not(.corner):not(:first-child),
270
+ .icons i.counterclockwise.rotated.vertically.flipped.icon:not(.corner):not(:first-child) {
271
+ transform: translateX(-50%) translateY(-50%) scale(1, -1) rotate(-90deg);
272
+ }
273
+ .icons i.halfway.rotated.vertically.flipped.icon:not(.corner):not(:first-child) {
274
+ transform: translateX(-50%) translateY(-50%) scale(1, -1) rotate(180deg);
275
+ }
276
+ }
218
277
  }
219
278
 
220
279
  & when (@variationIconBordered) {
@@ -230,6 +289,9 @@ i.emphasized.icon:not(.disabled), i.emphasized.icons:not(.disabled) {
230
289
  height: @borderedSize;
231
290
  padding: @borderedVerticalPadding @borderedHorizontalPadding !important;
232
291
  box-shadow: @borderedShadow;
292
+ &.colored when (@variationIconColored){
293
+ box-shadow: @coloredBoxShadow;
294
+ }
233
295
  }
234
296
  & when (@variationIconInverted) {
235
297
  i.bordered.inverted.icon {
@@ -259,28 +321,31 @@ i.emphasized.icon:not(.disabled), i.emphasized.icons:not(.disabled) {
259
321
  /*-------------------
260
322
  Colors
261
323
  --------------------*/
262
-
263
- each(@colors, {
264
- @color: replace(@key, '@', '');
265
- @c: @colors[@@color][color];
266
- @l: @colors[@@color][light];
267
-
268
- i.@{color}.icon.icon.icon.icon.icon {
269
- color: @c;
270
- }
271
- & when (@variationIconInverted) {
272
- i.inverted.@{color}.icon.icon.icon.icon.icon {
273
- color: @l;
324
+ & when not (@variationIconColors = false) {
325
+ each(@variationIconColors, {
326
+ @color: @value;
327
+ @c: @colors[@@color][color];
328
+ @l: @colors[@@color][light];
329
+
330
+ i.@{color}.icon.icon.icon.icon.icon {
331
+ color: @c;
274
332
  }
275
- i.inverted.bordered.@{color}.icon.icon.icon.icon.icon,
276
- i.inverted.circular.@{color}.icon.icon.icon.icon.icon,
277
- i.inverted.bordered.@{color}.icons,
278
- i.inverted.circular.@{color}.icons {
279
- background-color: @c;
280
- color: @white;
333
+ & when (@variationIconInverted) {
334
+ i.inverted.@{color}.icon.icon.icon.icon.icon {
335
+ color: @l;
336
+ }
337
+ & when (@variationIconBordered) or (@variationIconCircular) {
338
+ i.inverted.bordered.@{color}.icon.icon.icon.icon.icon,
339
+ i.inverted.circular.@{color}.icon.icon.icon.icon.icon,
340
+ i.inverted.bordered.@{color}.icons,
341
+ i.inverted.circular.@{color}.icons {
342
+ background-color: @c;
343
+ color: @white;
344
+ }
345
+ }
281
346
  }
282
- }
283
- })
347
+ })
348
+ }
284
349
 
285
350
 
286
351
  /*-------------------
@@ -313,14 +378,20 @@ i.icons {
313
378
  display: inline-block;
314
379
  position: relative;
315
380
  line-height: 1;
381
+ min-width: @width;
382
+ min-height: @height;
383
+ margin: 0 @distanceFromText 0 0;
384
+ text-align: center;
316
385
  }
317
386
 
318
387
  i.icons .icon {
319
388
  position: absolute;
320
389
  top: 50%;
321
390
  left: 50%;
322
- transform: translateX(-50%) translateY(-50%);
323
391
  margin: 0;
392
+ &:not(.corner):not(.rotated):not(.flipped) {
393
+ transform: translateX(-50%) translateY(-50%);
394
+ }
324
395
  }
325
396
 
326
397
  i.icons .icon:first-child {
@@ -328,6 +399,8 @@ i.icons {
328
399
  width: auto;
329
400
  height: auto;
330
401
  vertical-align: top;
402
+ }
403
+ i.icons:not(.bordered):not(.circular) .icon:first-child:not(.rotated):not(.flipped) {
331
404
  transform: none;
332
405
  }
333
406
 
@@ -336,35 +409,37 @@ i.icons {
336
409
  i.icons .corner.icon {
337
410
  top: auto;
338
411
  left: auto;
339
- right: 0;
340
- bottom: 0;
341
- transform: none;
412
+ right: @cornerOffset;
413
+ bottom: @cornerOffset;
342
414
  font-size: @cornerIconSize;
343
415
  text-shadow: @cornerIconShadow;
416
+ &:not(.rotated):not(.flipped) {
417
+ transform: none;
418
+ }
344
419
  }
345
420
  i.icons .icon.corner[class*="top right"] {
346
- top: 0;
421
+ top: @cornerOffset;
347
422
  left: auto;
348
- right: 0;
423
+ right: @cornerOffset;
349
424
  bottom: auto;
350
425
  }
351
426
  i.icons .icon.corner[class*="top left"] {
352
- top: 0;
353
- left: 0;
427
+ top: @cornerOffset;
428
+ left: @cornerOffset;
354
429
  right: auto;
355
430
  bottom: auto;
356
431
  }
357
432
  i.icons .icon.corner[class*="bottom left"] {
358
433
  top: auto;
359
- left: 0;
434
+ left: @cornerOffset;
360
435
  right: auto;
361
- bottom: 0;
436
+ bottom: @cornerOffset;
362
437
  }
363
438
  i.icons .icon.corner[class*="bottom right"] {
364
439
  top: auto;
365
440
  left: auto;
366
- right: 0;
367
- bottom: 0;
441
+ right: @cornerOffset;
442
+ bottom: @cornerOffset;
368
443
  }
369
444
  & when (@variationIconInverted) {
370
445
  i.icons .inverted.corner.icon {
@@ -385,6 +460,9 @@ i.icons {
385
460
  height: @borderedSize;
386
461
  box-shadow: @borderedShadow;
387
462
  vertical-align: middle;
463
+ &.colored when (@variationIconColored){
464
+ box-shadow: @coloredBoxShadow;
465
+ }
388
466
  }
389
467
  i.circular.icons {
390
468
  border-radius: 500em;
@@ -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 {
@@ -432,10 +448,10 @@
432
448
  }
433
449
  }
434
450
 
435
- & when (@variationInputLabeled) or (@variationInputAction) {
451
+ & when ((@variationInputLabeled) or (@variationInputAction)) and not (@variationInputStates = false) {
436
452
  /* Labeled and action input states */
437
- each(@formStates, {
438
- @state: replace(@key, '@', '');
453
+ each(@variationInputStates, {
454
+ @state: @value;
439
455
  @borderColor: @formStates[@@state][borderColor];
440
456
 
441
457
  .ui.form .field.@{state} > .ui.action.input > .ui.button,