fomantic-ui 2.9.1-beta.2 → 2.9.1-beta.20

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 (339) hide show
  1. package/.eslintrc.js +110 -0
  2. package/.github/workflows/ci.yml +14 -4
  3. package/.stylelintrc.js +46 -0
  4. package/dist/components/accordion.css +19 -26
  5. package/dist/components/accordion.js +568 -595
  6. package/dist/components/accordion.min.css +1 -1
  7. package/dist/components/accordion.min.js +2 -2
  8. package/dist/components/ad.css +31 -41
  9. package/dist/components/ad.min.css +1 -1
  10. package/dist/components/api.js +1161 -1179
  11. package/dist/components/api.min.js +2 -2
  12. package/dist/components/breadcrumb.css +1 -1
  13. package/dist/components/breadcrumb.min.css +1 -1
  14. package/dist/components/button.css +71 -106
  15. package/dist/components/button.min.css +1 -1
  16. package/dist/components/calendar.css +18 -16
  17. package/dist/components/calendar.js +1895 -1809
  18. package/dist/components/calendar.min.css +2 -2
  19. package/dist/components/calendar.min.js +2 -2
  20. package/dist/components/card.css +83 -115
  21. package/dist/components/card.min.css +1 -1
  22. package/dist/components/checkbox.css +47 -64
  23. package/dist/components/checkbox.js +842 -841
  24. package/dist/components/checkbox.min.css +1 -1
  25. package/dist/components/checkbox.min.js +2 -2
  26. package/dist/components/comment.css +37 -51
  27. package/dist/components/comment.min.css +1 -1
  28. package/dist/components/container.css +6 -5
  29. package/dist/components/container.min.css +2 -2
  30. package/dist/components/dimmer.css +31 -41
  31. package/dist/components/dimmer.js +708 -737
  32. package/dist/components/dimmer.min.css +1 -1
  33. package/dist/components/dimmer.min.js +2 -2
  34. package/dist/components/divider.css +32 -44
  35. package/dist/components/divider.min.css +1 -1
  36. package/dist/components/dropdown.css +129 -166
  37. package/dist/components/dropdown.js +4161 -4234
  38. package/dist/components/dropdown.min.css +2 -2
  39. package/dist/components/dropdown.min.js +2 -2
  40. package/dist/components/embed.css +13 -19
  41. package/dist/components/embed.js +651 -675
  42. package/dist/components/embed.min.css +1 -1
  43. package/dist/components/embed.min.js +2 -2
  44. package/dist/components/emoji.css +7 -6
  45. package/dist/components/feed.css +24 -32
  46. package/dist/components/feed.min.css +1 -1
  47. package/dist/components/flag.css +5 -3
  48. package/dist/components/flag.min.css +1 -1
  49. package/dist/components/flyout.css +44 -58
  50. package/dist/components/flyout.js +1464 -1465
  51. package/dist/components/flyout.min.css +2 -2
  52. package/dist/components/flyout.min.js +2 -2
  53. package/dist/components/form.css +85 -111
  54. package/dist/components/form.js +1979 -2004
  55. package/dist/components/form.min.css +1 -1
  56. package/dist/components/form.min.js +2 -2
  57. package/dist/components/grid.css +70 -96
  58. package/dist/components/grid.min.css +1 -1
  59. package/dist/components/header.css +47 -65
  60. package/dist/components/header.min.css +1 -1
  61. package/dist/components/icon.css +45 -66
  62. package/dist/components/icon.min.css +2 -2
  63. package/dist/components/image.css +32 -42
  64. package/dist/components/image.min.css +1 -1
  65. package/dist/components/input.css +182 -65
  66. package/dist/components/input.min.css +2 -2
  67. package/dist/components/item.css +55 -77
  68. package/dist/components/item.min.css +1 -1
  69. package/dist/components/label.css +68 -91
  70. package/dist/components/label.min.css +2 -2
  71. package/dist/components/list.css +44 -59
  72. package/dist/components/list.min.css +1 -1
  73. package/dist/components/loader.css +16 -22
  74. package/dist/components/loader.min.css +1 -1
  75. package/dist/components/menu.css +126 -186
  76. package/dist/components/message.css +25 -35
  77. package/dist/components/message.min.css +1 -1
  78. package/dist/components/modal.css +39 -40
  79. package/dist/components/modal.js +1491 -1485
  80. package/dist/components/modal.min.css +2 -2
  81. package/dist/components/modal.min.js +2 -2
  82. package/dist/components/nag.css +21 -28
  83. package/dist/components/nag.js +518 -526
  84. package/dist/components/nag.min.css +2 -2
  85. package/dist/components/nag.min.js +2 -2
  86. package/dist/components/placeholder.css +10 -12
  87. package/dist/components/placeholder.min.css +1 -1
  88. package/dist/components/popup.css +352 -59
  89. package/dist/components/popup.js +1437 -1456
  90. package/dist/components/popup.min.css +2 -2
  91. package/dist/components/popup.min.js +2 -2
  92. package/dist/components/progress.css +29 -39
  93. package/dist/components/progress.js +969 -997
  94. package/dist/components/progress.min.css +1 -1
  95. package/dist/components/progress.min.js +2 -2
  96. package/dist/components/rail.css +15 -20
  97. package/dist/components/rail.min.css +1 -1
  98. package/dist/components/rating.css +9 -13
  99. package/dist/components/rating.js +505 -523
  100. package/dist/components/rating.min.css +1 -1
  101. package/dist/components/rating.min.js +2 -2
  102. package/dist/components/reset.css +1 -1
  103. package/dist/components/reset.min.css +1 -1
  104. package/dist/components/reveal.css +19 -26
  105. package/dist/components/reveal.min.css +1 -1
  106. package/dist/components/search.css +43 -58
  107. package/dist/components/search.js +1498 -1534
  108. package/dist/components/search.min.css +2 -2
  109. package/dist/components/search.min.js +2 -2
  110. package/dist/components/segment.css +64 -83
  111. package/dist/components/segment.min.css +2 -2
  112. package/dist/components/shape.css +10 -14
  113. package/dist/components/shape.js +792 -809
  114. package/dist/components/shape.min.css +1 -1
  115. package/dist/components/shape.min.js +2 -2
  116. package/dist/components/sidebar.css +43 -58
  117. package/dist/components/sidebar.js +1071 -1098
  118. package/dist/components/sidebar.min.css +2 -2
  119. package/dist/components/sidebar.min.js +2 -2
  120. package/dist/components/site.css +5 -5
  121. package/dist/components/site.js +462 -476
  122. package/dist/components/site.min.css +1 -1
  123. package/dist/components/site.min.js +2 -2
  124. package/dist/components/slider.css +27 -37
  125. package/dist/components/slider.js +1287 -1306
  126. package/dist/components/slider.min.js +2 -2
  127. package/dist/components/state.js +639 -657
  128. package/dist/components/state.min.js +2 -2
  129. package/dist/components/statistic.css +32 -41
  130. package/dist/components/statistic.min.css +2 -2
  131. package/dist/components/step.css +26 -35
  132. package/dist/components/step.min.css +1 -1
  133. package/dist/components/sticky.css +1 -1
  134. package/dist/components/sticky.js +857 -902
  135. package/dist/components/sticky.min.css +1 -1
  136. package/dist/components/sticky.min.js +2 -2
  137. package/dist/components/tab.css +6 -8
  138. package/dist/components/tab.js +922 -963
  139. package/dist/components/tab.min.css +1 -1
  140. package/dist/components/tab.min.js +2 -2
  141. package/dist/components/table.css +93 -119
  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 +4 -6
  146. package/dist/components/toast.js +886 -887
  147. package/dist/components/toast.min.css +1 -1
  148. package/dist/components/toast.min.js +2 -2
  149. package/dist/components/transition.css +150 -3
  150. package/dist/components/transition.js +1041 -1077
  151. package/dist/components/transition.min.css +2 -2
  152. package/dist/components/transition.min.js +2 -2
  153. package/dist/components/visibility.js +1220 -1244
  154. package/dist/components/visibility.min.js +2 -2
  155. package/dist/semantic.css +2529 -1778
  156. package/dist/semantic.js +28928 -29383
  157. package/dist/semantic.min.css +2 -2
  158. package/dist/semantic.min.js +2 -2
  159. package/dist/themes/default/assets/fonts/Lato-Bold.woff +0 -0
  160. package/dist/themes/default/assets/fonts/Lato-Bold.woff2 +0 -0
  161. package/dist/themes/default/assets/fonts/Lato-BoldItalic.woff +0 -0
  162. package/dist/themes/default/assets/fonts/Lato-BoldItalic.woff2 +0 -0
  163. package/dist/themes/default/assets/fonts/Lato-Italic.woff +0 -0
  164. package/dist/themes/default/assets/fonts/Lato-Italic.woff2 +0 -0
  165. package/dist/themes/default/assets/fonts/Lato-Regular.woff +0 -0
  166. package/dist/themes/default/assets/fonts/Lato-Regular.woff2 +0 -0
  167. package/dist/themes/default/assets/fonts/LatoLatin-Bold.woff +0 -0
  168. package/dist/themes/default/assets/fonts/LatoLatin-Bold.woff2 +0 -0
  169. package/dist/themes/default/assets/fonts/LatoLatin-BoldItalic.woff +0 -0
  170. package/dist/themes/default/assets/fonts/LatoLatin-BoldItalic.woff2 +0 -0
  171. package/dist/themes/default/assets/fonts/LatoLatin-Italic.woff +0 -0
  172. package/dist/themes/default/assets/fonts/LatoLatin-Italic.woff2 +0 -0
  173. package/dist/themes/default/assets/fonts/LatoLatin-Regular.woff +0 -0
  174. package/dist/themes/default/assets/fonts/LatoLatin-Regular.woff2 +0 -0
  175. package/examples/assets/show-examples.js +13 -13
  176. package/gulpfile.js +9 -10
  177. package/package.json +13 -8
  178. package/scripts/nightly-version.js +81 -75
  179. package/src/definitions/behaviors/api.js +1162 -1180
  180. package/src/definitions/behaviors/form.js +1978 -2003
  181. package/src/definitions/behaviors/state.js +645 -663
  182. package/src/definitions/behaviors/visibility.js +1219 -1243
  183. package/src/definitions/collections/breadcrumb.less +41 -44
  184. package/src/definitions/collections/form.less +869 -879
  185. package/src/definitions/collections/grid.less +1690 -1695
  186. package/src/definitions/collections/menu.less +1493 -1503
  187. package/src/definitions/collections/message.less +292 -295
  188. package/src/definitions/collections/table.less +1616 -1620
  189. package/src/definitions/elements/button.less +1721 -1743
  190. package/src/definitions/elements/container.less +209 -209
  191. package/src/definitions/elements/divider.less +205 -206
  192. package/src/definitions/elements/emoji.less +38 -44
  193. package/src/definitions/elements/flag.less +44 -46
  194. package/src/definitions/elements/header.less +337 -345
  195. package/src/definitions/elements/icon.less +516 -443
  196. package/src/definitions/elements/image.less +221 -225
  197. package/src/definitions/elements/input.less +663 -659
  198. package/src/definitions/elements/label.less +803 -793
  199. package/src/definitions/elements/list.less +809 -809
  200. package/src/definitions/elements/loader.less +272 -266
  201. package/src/definitions/elements/placeholder.less +171 -168
  202. package/src/definitions/elements/rail.less +91 -91
  203. package/src/definitions/elements/reveal.less +192 -196
  204. package/src/definitions/elements/segment.less +743 -746
  205. package/src/definitions/elements/step.less +425 -433
  206. package/src/definitions/elements/text.less +32 -34
  207. package/src/definitions/globals/reset.less +9 -6
  208. package/src/definitions/globals/site.js +461 -475
  209. package/src/definitions/globals/site.less +106 -108
  210. package/src/definitions/modules/accordion.js +567 -594
  211. package/src/definitions/modules/accordion.less +242 -246
  212. package/src/definitions/modules/calendar.js +1894 -1808
  213. package/src/definitions/modules/calendar.less +98 -95
  214. package/src/definitions/modules/checkbox.js +841 -840
  215. package/src/definitions/modules/checkbox.less +536 -542
  216. package/src/definitions/modules/dimmer.js +707 -736
  217. package/src/definitions/modules/dimmer.less +300 -297
  218. package/src/definitions/modules/dropdown.js +4160 -4233
  219. package/src/definitions/modules/dropdown.less +1577 -1589
  220. package/src/definitions/modules/embed.js +650 -674
  221. package/src/definitions/modules/embed.less +81 -82
  222. package/src/definitions/modules/flyout.js +1463 -1464
  223. package/src/definitions/modules/flyout.less +445 -451
  224. package/src/definitions/modules/modal.js +1490 -1484
  225. package/src/definitions/modules/modal.less +459 -459
  226. package/src/definitions/modules/nag.js +517 -525
  227. package/src/definitions/modules/nag.less +134 -138
  228. package/src/definitions/modules/popup.js +1436 -1455
  229. package/src/definitions/modules/popup.less +742 -687
  230. package/src/definitions/modules/progress.js +968 -996
  231. package/src/definitions/modules/progress.less +521 -494
  232. package/src/definitions/modules/rating.js +504 -522
  233. package/src/definitions/modules/rating.less +94 -101
  234. package/src/definitions/modules/search.js +1497 -1533
  235. package/src/definitions/modules/search.less +375 -382
  236. package/src/definitions/modules/shape.js +791 -808
  237. package/src/definitions/modules/shape.less +71 -76
  238. package/src/definitions/modules/sidebar.js +1070 -1097
  239. package/src/definitions/modules/sidebar.less +463 -472
  240. package/src/definitions/modules/slider.js +1286 -1305
  241. package/src/definitions/modules/slider.less +307 -308
  242. package/src/definitions/modules/sticky.js +873 -918
  243. package/src/definitions/modules/sticky.less +21 -23
  244. package/src/definitions/modules/tab.js +921 -962
  245. package/src/definitions/modules/tab.less +51 -52
  246. package/src/definitions/modules/toast.js +885 -886
  247. package/src/definitions/modules/toast.less +584 -586
  248. package/src/definitions/modules/transition.js +1040 -1076
  249. package/src/definitions/modules/transition.less +62 -28
  250. package/src/definitions/views/ad.less +206 -206
  251. package/src/definitions/views/card.less +968 -970
  252. package/src/definitions/views/comment.less +190 -198
  253. package/src/definitions/views/feed.less +220 -224
  254. package/src/definitions/views/item.less +436 -446
  255. package/src/definitions/views/statistic.less +271 -277
  256. package/src/theme.less +29 -32
  257. package/src/themes/default/assets/fonts/Lato-Bold.woff +0 -0
  258. package/src/themes/default/assets/fonts/Lato-Bold.woff2 +0 -0
  259. package/src/themes/default/assets/fonts/Lato-BoldItalic.woff +0 -0
  260. package/src/themes/default/assets/fonts/Lato-BoldItalic.woff2 +0 -0
  261. package/src/themes/default/assets/fonts/Lato-Italic.woff +0 -0
  262. package/src/themes/default/assets/fonts/Lato-Italic.woff2 +0 -0
  263. package/src/themes/default/assets/fonts/Lato-Regular.woff +0 -0
  264. package/src/themes/default/assets/fonts/Lato-Regular.woff2 +0 -0
  265. package/src/themes/default/assets/fonts/LatoLatin-Bold.woff +0 -0
  266. package/src/themes/default/assets/fonts/LatoLatin-Bold.woff2 +0 -0
  267. package/src/themes/default/assets/fonts/LatoLatin-BoldItalic.woff +0 -0
  268. package/src/themes/default/assets/fonts/LatoLatin-BoldItalic.woff2 +0 -0
  269. package/src/themes/default/assets/fonts/LatoLatin-Italic.woff +0 -0
  270. package/src/themes/default/assets/fonts/LatoLatin-Italic.woff2 +0 -0
  271. package/src/themes/default/assets/fonts/LatoLatin-Regular.woff +0 -0
  272. package/src/themes/default/assets/fonts/LatoLatin-Regular.woff2 +0 -0
  273. package/src/themes/default/elements/container.variables +0 -7
  274. package/src/themes/default/elements/icon.variables +18 -0
  275. package/src/themes/default/elements/segment.variables +0 -7
  276. package/src/themes/default/globals/colors.less +589 -589
  277. package/src/themes/default/globals/site.variables +8 -0
  278. package/src/themes/default/globals/variation.variables +13 -1
  279. package/src/themes/default/modules/calendar.variables +2 -0
  280. package/src/themes/default/modules/nag.variables +1 -1
  281. package/src/themes/default/modules/popup.variables +2 -0
  282. package/src/themes/default/modules/transition.variables +8 -1
  283. package/tasks/admin/components/create.js +274 -276
  284. package/tasks/admin/components/init.js +123 -130
  285. package/tasks/admin/components/update.js +149 -157
  286. package/tasks/admin/distributions/create.js +184 -187
  287. package/tasks/admin/distributions/init.js +123 -130
  288. package/tasks/admin/distributions/update.js +145 -152
  289. package/tasks/admin/publish.js +5 -7
  290. package/tasks/admin/register.js +36 -38
  291. package/tasks/admin/release.js +8 -10
  292. package/tasks/build/assets.js +42 -39
  293. package/tasks/build/css.js +225 -216
  294. package/tasks/build/javascript.js +118 -113
  295. package/tasks/build.js +10 -10
  296. package/tasks/check-install.js +14 -16
  297. package/tasks/clean.js +5 -5
  298. package/tasks/collections/admin.js +34 -36
  299. package/tasks/collections/build.js +18 -20
  300. package/tasks/collections/docs.js +9 -11
  301. package/tasks/collections/install.js +9 -11
  302. package/tasks/collections/rtl.js +9 -11
  303. package/tasks/collections/various.js +8 -10
  304. package/tasks/config/admin/github.js +17 -17
  305. package/tasks/config/admin/oauth.example.js +4 -4
  306. package/tasks/config/admin/release.js +98 -98
  307. package/tasks/config/admin/templates/component-package.js +9 -10
  308. package/tasks/config/admin/templates/css-package.js +18 -20
  309. package/tasks/config/admin/templates/less-package.js +11 -13
  310. package/tasks/config/defaults.js +116 -114
  311. package/tasks/config/docs.js +23 -23
  312. package/tasks/config/npm/gulpfile.js +8 -9
  313. package/tasks/config/project/config.js +127 -134
  314. package/tasks/config/project/install.js +715 -713
  315. package/tasks/config/project/release.js +32 -38
  316. package/tasks/config/tasks.js +165 -156
  317. package/tasks/config/user.js +23 -26
  318. package/tasks/docs/build.js +97 -95
  319. package/tasks/docs/metadata.js +90 -96
  320. package/tasks/docs/serve.js +80 -81
  321. package/tasks/install.js +370 -378
  322. package/tasks/rtl/build.js +2 -2
  323. package/tasks/rtl/watch.js +2 -2
  324. package/tasks/version.js +4 -4
  325. package/tasks/watch.js +28 -30
  326. package/test/meteor/assets.js +10 -13
  327. package/test/meteor/fonts.js +12 -13
  328. package/test/modules/accordion.spec.js +6 -8
  329. package/test/modules/checkbox.spec.js +5 -7
  330. package/test/modules/dropdown.spec.js +5 -7
  331. package/test/modules/modal.spec.js +6 -8
  332. package/test/modules/module.spec.js +158 -178
  333. package/test/modules/popup.spec.js +5 -7
  334. package/test/modules/search.spec.js +5 -7
  335. package/test/modules/shape.spec.js +5 -7
  336. package/test/modules/sidebar.spec.js +5 -7
  337. package/test/modules/tab.spec.js +6 -8
  338. package/test/modules/transition.spec.js +5 -7
  339. package/test/modules/video.spec.js +5 -7
@@ -8,53 +8,51 @@
8
8
  *
9
9
  */
10
10
 
11
-
12
11
  /*******************************
13
12
  Theme
14
13
  *******************************/
15
14
 
16
- @type : 'element';
15
+ @type : 'element';
17
16
  @element : 'icon';
18
17
 
19
18
  @import (multiple) '../../theme.config';
20
19
 
21
-
22
20
  /*******************************
23
21
  Icon
24
22
  *******************************/
25
23
  & when (@importIcons) {
26
- each(@fonts, {
27
- @font-face {
28
- each(@value,{
29
- @{key}: @value;
30
- });
31
- }
32
- })
24
+ each(@fonts, {
25
+ @font-face {
26
+ each(@value,{
27
+ @{key}: @value;
28
+ });
29
+ }
30
+ })
33
31
  }
34
32
 
35
33
  i.icon {
36
- display: inline-block;
37
- opacity: @opacity;
34
+ display: inline-block;
35
+ opacity: @opacity;
38
36
 
39
- margin: 0 @distanceFromText 0 0;
37
+ margin: 0 @distanceFromText 0 0;
40
38
 
41
- width: @width;
42
- height: @height;
39
+ width: @width;
40
+ height: @height;
43
41
 
44
- font-family: @fontName;
45
- font-style: normal;
46
- font-weight: @normal;
47
- text-decoration: inherit;
48
- text-align: center;
42
+ font-family: @fontName;
43
+ font-style: normal;
44
+ font-weight: @normal;
45
+ text-decoration: inherit;
46
+ text-align: center;
49
47
 
50
- speak: none;
51
- -moz-osx-font-smoothing: grayscale;
52
- -webkit-font-smoothing: antialiased;
53
- backface-visibility: hidden;
48
+ speak: none;
49
+ -moz-osx-font-smoothing: grayscale;
50
+ -webkit-font-smoothing: antialiased;
51
+ backface-visibility: hidden;
54
52
  }
55
53
 
56
54
  i.icon::before {
57
- background: none !important;
55
+ background: none !important;
58
56
  }
59
57
 
60
58
  /*******************************
@@ -62,35 +60,40 @@ i.icon::before {
62
60
  *******************************/
63
61
 
64
62
  & when (@variationIconLoading) {
65
- /*--------------
66
- Loading
67
- ---------------*/
63
+ /* --------------
64
+ Loading
65
+ --------------- */
68
66
 
69
- i.loading.icon {
70
- height: 1em;
71
- line-height: 1;
72
- }
73
- i.loading.icon, i.loading.icons {
74
- animation: loader @loadingDuration linear infinite;
75
- }
67
+ i.loading.icon {
68
+ height: 1em;
69
+ line-height: 1;
70
+ }
71
+ i.loading.icon,
72
+ i.loading.icons {
73
+ animation: loader @loadingDuration linear infinite;
74
+ }
76
75
  }
77
76
 
78
77
  /*******************************
79
78
  States
80
79
  *******************************/
81
80
 
82
- i.icon:hover, i.icons:hover,
83
- i.icon:active, i.icons:active,
84
- i.emphasized.icon:not(.disabled), i.emphasized.icons:not(.disabled) {
85
- opacity: 1;
81
+ i.icon:hover,
82
+ i.icons:hover,
83
+ i.icon:active,
84
+ i.icons:active,
85
+ i.emphasized.icon:not(.disabled),
86
+ i.emphasized.icons:not(.disabled) {
87
+ opacity: 1;
86
88
  }
87
89
 
88
90
  & when (@variationIconDisabled) {
89
- i.disabled.icon, i.disabled.icons {
90
- opacity: @disabledOpacity;
91
- cursor: default;
92
- pointer-events: none;
93
- }
91
+ i.disabled.icon,
92
+ i.disabled.icons {
93
+ opacity: @disabledOpacity;
94
+ cursor: default;
95
+ pointer-events: none;
96
+ }
94
97
  }
95
98
 
96
99
  /*******************************
@@ -98,503 +101,573 @@ i.emphasized.icon:not(.disabled), i.emphasized.icons:not(.disabled) {
98
101
  *******************************/
99
102
 
100
103
  & when (@variationIconFitted) {
101
- /*-------------------
102
- Fitted
103
- --------------------*/
104
-
105
- i.fitted.icons,
106
- i.fitted.icon {
107
- width: auto;
108
- margin: 0 !important;
109
- }
104
+ /* -------------------
105
+ Fitted
106
+ -------------------- */
107
+
108
+ i.fitted.icons,
109
+ i.fitted.icon {
110
+ width: auto;
111
+ margin: 0 !important;
112
+ }
110
113
  }
111
114
 
112
115
  & when (@variationIconLink) {
113
- /*-------------------
114
- Link
115
- --------------------*/
116
-
117
- i.link.icon:not(.disabled), i.link.icons:not(.disabled) {
118
- cursor: pointer;
119
- opacity: @linkOpacity;
120
- transition: opacity @defaultDuration @defaultEasing;
121
- }
122
- i.link.icon:hover, i.link.icons:hover {
123
- opacity: 1;
124
- }
116
+ /* -------------------
117
+ Link
118
+ -------------------- */
119
+
120
+ i.link.icon:not(.disabled),
121
+ i.link.icons:not(.disabled) {
122
+ cursor: pointer;
123
+ opacity: @linkOpacity;
124
+ transition: opacity @defaultDuration @defaultEasing;
125
+ }
126
+ i.link.icon:hover,
127
+ i.link.icons:hover {
128
+ opacity: 1;
129
+ }
125
130
  }
126
131
 
127
132
  & when (@variationIconCircular) {
128
- /*-------------------
129
- Circular
130
- --------------------*/
133
+ /* -------------------
134
+ Circular
135
+ -------------------- */
131
136
 
132
- i.circular.icon {
133
- border-radius: 500em !important;
134
- line-height: 1 !important;
137
+ i.circular.icon {
138
+ border-radius: 500em !important;
139
+ line-height: 1 !important;
135
140
 
136
- padding: @circularPadding !important;
137
- box-shadow: @circularShadow;
141
+ padding: @circularPadding !important;
142
+ box-shadow: @circularShadow;
138
143
 
139
- width: @circularSize !important;
140
- height: @circularSize !important;
141
- &.colored when (@variationIconColored){
142
- box-shadow: @coloredBoxShadow;
144
+ width: @circularSize !important;
145
+ height: @circularSize !important;
146
+ &.colored when (@variationIconColored) {
147
+ box-shadow: @coloredBoxShadow;
148
+ }
143
149
  }
144
- }
145
- & when (@variationIconInverted) {
146
- i.circular.inverted.icon {
147
- border: none;
148
- box-shadow: none;
150
+ & when (@variationIconInverted) {
151
+ i.circular.inverted.icon {
152
+ border: none;
153
+ box-shadow: none;
154
+ }
149
155
  }
150
- }
151
156
  }
152
157
 
153
158
  & when (@variationIconFlipped) {
154
- /*-------------------
155
- Flipped
156
- --------------------*/
159
+ /* -------------------
160
+ Flipped
161
+ -------------------- */
157
162
 
158
- i.flipped.icon,
159
- i.horizontally.flipped.icon {
160
- transform: scale(-1, 1);
161
- }
162
- i.vertically.flipped.icon {
163
- transform: scale(1, -1);
164
- }
165
-
166
- & when(@variationIconGroups) {
167
- .icons i.flipped.icon:not(.corner):not(:first-child),
168
- .icons i.horizontally.flipped.icon:not(.corner):not(:first-child) {
169
- transform: translateX(-50%) translateY(-50%) scale(-1, 1);
163
+ i.flipped.icon,
164
+ i.horizontally.flipped.icon {
165
+ transform: scale(-1, 1);
170
166
  }
171
- .icons i.vertically.flipped.icon:not(.corner):not(:first-child) {
172
- transform: translateX(-50%) translateY(-50%) scale(1, -1);
167
+ i.vertically.flipped.icon {
168
+ transform: scale(1, -1);
169
+ }
170
+
171
+ & when (@variationIconGroups) {
172
+ .icons i.flipped.icon:not(.corner):not(:first-child),
173
+ .icons i.horizontally.flipped.icon:not(.corner):not(:first-child) {
174
+ transform: translateX(-50%) translateY(-50%) scale(-1, 1);
175
+ }
176
+ .icons i.vertically.flipped.icon:not(.corner):not(:first-child) {
177
+ transform: translateX(-50%) translateY(-50%) scale(1, -1);
178
+ }
173
179
  }
174
- }
175
180
  }
176
181
 
177
182
  & when (@variationIconRotated) {
178
- /*-------------------
179
- Rotated
180
- --------------------*/
181
-
182
- i.rotated.icon,
183
- i.right.rotated.icon,
184
- i.clockwise.rotated.icon {
185
- transform: rotate(90deg);
186
- }
187
-
188
- i.left.rotated.icon,
189
- i.counterclockwise.rotated.icon {
190
- transform: rotate(-90deg);
191
- }
183
+ /* -------------------
184
+ Rotated
185
+ -------------------- */
192
186
 
193
- i.halfway.rotated.icon {
194
- transform: rotate(180deg);
195
- }
187
+ i.rotated.icon,
188
+ i.right.rotated.icon,
189
+ i.clockwise.rotated.icon {
190
+ transform: rotate(90deg);
191
+ }
196
192
 
197
- & when(@variationIconGroups) {
198
- .icons i.rotated.rotated.icon:not(.corner):not(:first-child),
199
- .icons i.right.rotated.icon:not(.corner):not(:first-child),
200
- .icons i.clockwise.rotated.icon:not(.corner):not(:first-child) {
201
- transform: translateX(-50%) translateY(-50%) rotate(90deg);
193
+ i.left.rotated.icon,
194
+ i.counterclockwise.rotated.icon {
195
+ transform: rotate(-90deg);
202
196
  }
203
- .icons i.left.rotated.icon:not(.corner):not(:first-child),
204
- .icons i.counterclockwise.rotated.icon:not(.corner):not(:first-child) {
205
- transform: translateX(-50%) translateY(-50%) rotate(-90deg);
197
+
198
+ i.halfway.rotated.icon {
199
+ transform: rotate(180deg);
206
200
  }
207
- .icons i.halfway.rotated.icon:not(.corner):not(:first-child) {
208
- transform: translateX(-50%) translateY(-50%) rotate(180deg);
201
+
202
+ & when (@variationIconGroups) {
203
+ .icons i.rotated.rotated.icon:not(.corner):not(:first-child),
204
+ .icons i.right.rotated.icon:not(.corner):not(:first-child),
205
+ .icons i.clockwise.rotated.icon:not(.corner):not(:first-child) {
206
+ transform: translateX(-50%) translateY(-50%) rotate(90deg);
207
+ }
208
+ .icons i.left.rotated.icon:not(.corner):not(:first-child),
209
+ .icons i.counterclockwise.rotated.icon:not(.corner):not(:first-child) {
210
+ transform: translateX(-50%) translateY(-50%) rotate(-90deg);
211
+ }
212
+ .icons i.halfway.rotated.icon:not(.corner):not(:first-child) {
213
+ transform: translateX(-50%) translateY(-50%) rotate(180deg);
214
+ }
209
215
  }
210
- }
211
216
  }
212
217
 
213
218
  & when (@variationIconFlipped) and (@variationIconRotated) {
214
- /*--------------------------
215
- Flipped & Rotated
216
- ---------------------------*/
217
-
218
- i.rotated.flipped.icon,
219
- i.right.rotated.flipped.icon,
220
- i.clockwise.rotated.flipped.icon {
221
- transform: scale(-1, 1) rotate(90deg);
222
- }
223
-
224
- i.left.rotated.flipped.icon,
225
- i.counterclockwise.rotated.flipped.icon {
226
- transform: scale(-1, 1) rotate(-90deg);
227
- }
228
-
229
- i.halfway.rotated.flipped.icon {
230
- transform: scale(-1, 1) rotate(180deg);
231
- }
232
-
233
- i.rotated.vertically.flipped.icon,
234
- i.right.rotated.vertically.flipped.icon,
235
- i.clockwise.rotated.vertically.flipped.icon {
236
- transform: scale(1, -1) rotate(90deg);
237
- }
219
+ /* --------------------------
220
+ Flipped & Rotated
221
+ --------------------------- */
238
222
 
239
- i.left.rotated.vertically.flipped.icon,
240
- i.counterclockwise.rotated.vertically.flipped.icon {
241
- transform: scale(1, -1) rotate(-90deg);
242
- }
243
-
244
- i.halfway.rotated.vertically.flipped.icon {
245
- transform: scale(1, -1) rotate(180deg);
246
- }
223
+ i.rotated.flipped.icon,
224
+ i.right.rotated.flipped.icon,
225
+ i.clockwise.rotated.flipped.icon {
226
+ transform: scale(-1, 1) rotate(90deg);
227
+ }
247
228
 
248
- & when(@variationIconGroups) {
249
- .icons i.rotated.flipped.icon:not(.corner):not(:first-child),
250
- .icons i.right.rotated.flipped.icon:not(.corner):not(:first-child),
251
- .icons i.clockwise.rotated.flipped.icon:not(.corner):not(:first-child) {
252
- transform: translateX(-50%) translateY(-50%) scale(-1, 1) rotate(90deg);
229
+ i.left.rotated.flipped.icon,
230
+ i.counterclockwise.rotated.flipped.icon {
231
+ transform: scale(-1, 1) rotate(-90deg);
253
232
  }
254
- .icons i.left.rotated.flipped.icon:not(.corner):not(:first-child),
255
- .icons i.counterclockwise.rotated.flipped.icon:not(.corner):not(:first-child) {
256
- transform: translateX(-50%) translateY(-50%) scale(-1, 1) rotate(-90deg);
233
+
234
+ i.halfway.rotated.flipped.icon {
235
+ transform: scale(-1, 1) rotate(180deg);
257
236
  }
258
- .icons i.halfway.rotated.flipped.icon:not(.corner):not(:first-child) {
259
- transform: translateX(-50%) translateY(-50%) scale(-1, 1) rotate(180deg);
237
+
238
+ i.rotated.vertically.flipped.icon,
239
+ i.right.rotated.vertically.flipped.icon,
240
+ i.clockwise.rotated.vertically.flipped.icon {
241
+ transform: scale(1, -1) rotate(90deg);
260
242
  }
261
- .icons i.rotated.vertically.flipped.icon:not(.corner):not(:first-child),
262
- .icons i.right.rotated.vertically.flipped.icon:not(.corner):not(:first-child),
263
- .icons i.clockwise.rotated.vertically.flipped.icon:not(.corner):not(:first-child) {
264
- transform: translateX(-50%) translateY(-50%) scale(1, -1) rotate(90deg);
243
+
244
+ i.left.rotated.vertically.flipped.icon,
245
+ i.counterclockwise.rotated.vertically.flipped.icon {
246
+ transform: scale(1, -1) rotate(-90deg);
265
247
  }
266
- .icons i.left.rotated.vertically.flipped.icon:not(.corner):not(:first-child),
267
- .icons i.counterclockwise.rotated.vertically.flipped.icon:not(.corner):not(:first-child) {
268
- transform: translateX(-50%) translateY(-50%) scale(1, -1) rotate(-90deg);
248
+
249
+ i.halfway.rotated.vertically.flipped.icon {
250
+ transform: scale(1, -1) rotate(180deg);
269
251
  }
270
- .icons i.halfway.rotated.vertically.flipped.icon:not(.corner):not(:first-child) {
271
- transform: translateX(-50%) translateY(-50%) scale(1, -1) rotate(180deg);
252
+
253
+ & when (@variationIconGroups) {
254
+ .icons i.rotated.flipped.icon:not(.corner):not(:first-child),
255
+ .icons i.right.rotated.flipped.icon:not(.corner):not(:first-child),
256
+ .icons i.clockwise.rotated.flipped.icon:not(.corner):not(:first-child) {
257
+ transform: translateX(-50%) translateY(-50%) scale(-1, 1) rotate(90deg);
258
+ }
259
+ .icons i.left.rotated.flipped.icon:not(.corner):not(:first-child),
260
+ .icons i.counterclockwise.rotated.flipped.icon:not(.corner):not(:first-child) {
261
+ transform: translateX(-50%) translateY(-50%) scale(-1, 1) rotate(-90deg);
262
+ }
263
+ .icons i.halfway.rotated.flipped.icon:not(.corner):not(:first-child) {
264
+ transform: translateX(-50%) translateY(-50%) scale(-1, 1) rotate(180deg);
265
+ }
266
+ .icons i.rotated.vertically.flipped.icon:not(.corner):not(:first-child),
267
+ .icons i.right.rotated.vertically.flipped.icon:not(.corner):not(:first-child),
268
+ .icons i.clockwise.rotated.vertically.flipped.icon:not(.corner):not(:first-child) {
269
+ transform: translateX(-50%) translateY(-50%) scale(1, -1) rotate(90deg);
270
+ }
271
+ .icons i.left.rotated.vertically.flipped.icon:not(.corner):not(:first-child),
272
+ .icons i.counterclockwise.rotated.vertically.flipped.icon:not(.corner):not(:first-child) {
273
+ transform: translateX(-50%) translateY(-50%) scale(1, -1) rotate(-90deg);
274
+ }
275
+ .icons i.halfway.rotated.vertically.flipped.icon:not(.corner):not(:first-child) {
276
+ transform: translateX(-50%) translateY(-50%) scale(1, -1) rotate(180deg);
277
+ }
272
278
  }
273
- }
274
279
  }
275
280
 
276
281
  & when (@variationIconBordered) {
277
- /*-------------------
278
- Bordered
279
- --------------------*/
280
-
281
- i.bordered.icon {
282
- line-height: 1;
283
- vertical-align: baseline;
284
-
285
- width: @borderedSize;
286
- height: @borderedSize;
287
- padding: @borderedVerticalPadding @borderedHorizontalPadding !important;
288
- box-shadow: @borderedShadow;
289
- &.colored when (@variationIconColored){
290
- box-shadow: @coloredBoxShadow;
282
+ /* -------------------
283
+ Bordered
284
+ -------------------- */
285
+
286
+ i.bordered.icon {
287
+ line-height: 1;
288
+ vertical-align: baseline;
289
+
290
+ width: @borderedSize;
291
+ height: @borderedSize;
292
+ padding: @borderedVerticalPadding @borderedHorizontalPadding !important;
293
+ box-shadow: @borderedShadow;
294
+ &.colored when (@variationIconColored) {
295
+ box-shadow: @coloredBoxShadow;
296
+ }
291
297
  }
292
- }
293
- & when (@variationIconInverted) {
294
- i.bordered.inverted.icon {
295
- border: none;
296
- box-shadow: none;
298
+ & when (@variationIconInverted) {
299
+ i.bordered.inverted.icon {
300
+ border: none;
301
+ box-shadow: none;
302
+ }
297
303
  }
298
- }
299
304
  }
300
305
 
301
306
  & when (@variationIconInverted) {
302
- /*-------------------
303
- Inverted
304
- --------------------*/
305
-
306
- /* Inverted Shapes */
307
- i.inverted.bordered.icon,
308
- i.inverted.circular.icon {
309
- background-color: @black;
310
- color: @white;
311
- }
307
+ /* -------------------
308
+ Inverted
309
+ -------------------- */
312
310
 
313
- i.inverted.icon {
314
- color: @white;
315
- }
311
+ /* Inverted Shapes */
312
+ i.inverted.bordered.icon,
313
+ i.inverted.circular.icon {
314
+ background-color: @black;
315
+ color: @white;
316
+ }
317
+
318
+ i.inverted.icon {
319
+ color: @white;
320
+ }
316
321
  }
317
322
 
318
- /*-------------------
323
+ /* -------------------
319
324
  Colors
320
- --------------------*/
325
+ -------------------- */
321
326
  & when not (@variationIconColors = false) {
322
- each(@variationIconColors, {
323
- @color: @value;
324
- @c: @colors[@@color][color];
325
- @l: @colors[@@color][light];
327
+ each(@variationIconColors, {
328
+ @color: @value;
329
+ @c: @colors[@@color][color];
330
+ @l: @colors[@@color][light];
326
331
 
327
- i.@{color}.icon.icon.icon.icon.icon {
328
- color: @c;
329
- }
330
- & when (@variationIconInverted) {
331
- i.inverted.@{color}.icon.icon.icon.icon.icon {
332
- color: @l;
333
- }
334
- & when (@variationIconBordered) or (@variationIconCircular) {
335
- i.inverted.bordered.@{color}.icon.icon.icon.icon.icon,
336
- i.inverted.circular.@{color}.icon.icon.icon.icon.icon,
337
- i.inverted.bordered.@{color}.icons,
338
- i.inverted.circular.@{color}.icons {
339
- background-color: @c;
340
- color: @white;
341
- }
342
- }
343
- }
344
- })
332
+ i.@{color}.icon.icon.icon.icon.icon {
333
+ color: @c;
334
+ }
335
+ & when (@variationIconInverted) {
336
+ i.inverted.@{color}.icon.icon.icon.icon.icon {
337
+ color: @l;
338
+ }
339
+ & when (@variationIconBordered) or (@variationIconCircular) {
340
+ i.inverted.bordered.@{color}.icon.icon.icon.icon.icon,
341
+ i.inverted.circular.@{color}.icon.icon.icon.icon.icon,
342
+ i.inverted.bordered.@{color}.icons,
343
+ i.inverted.circular.@{color}.icons {
344
+ background-color: @c;
345
+ color: @white;
346
+ }
347
+ }
348
+ }
349
+ })
345
350
  }
346
351
 
347
-
348
- /*-------------------
352
+ /* -------------------
349
353
  Sizes
350
- --------------------*/
354
+ -------------------- */
351
355
 
352
356
  i.icon,
353
357
  i.icons {
354
- font-size: @medium;
355
- line-height: @lineHeight;
356
- font-style: normal;
358
+ font-size: @medium;
359
+ line-height: @lineHeight;
360
+ font-style: normal;
357
361
  }
358
362
  & when not (@variationIconSizes = false) {
359
- each(@variationIconSizes, {
360
- @s: @@value;
361
- i.@{value}.@{value}.@{value}.icon,
362
- i.@{value}.@{value}.@{value}.icons {
363
- font-size: @s;
364
- vertical-align: middle;
365
- }
366
- })
363
+ each(@variationIconSizes, {
364
+ @s: @@value;
365
+ i.@{value}.@{value}.@{value}.icon,
366
+ i.@{value}.@{value}.@{value}.icons {
367
+ font-size: @s;
368
+ vertical-align: middle;
369
+ }
370
+ })
367
371
  }
368
372
 
369
373
  & when (@variationIconGroups) or (@variationIconCorner) {
370
- /*******************************
371
- Groups
372
- *******************************/
373
-
374
- i.icons {
375
- display: inline-block;
376
- position: relative;
377
- line-height: 1;
378
- min-width: @width;
379
- min-height: @height;
380
- margin: 0 @distanceFromText 0 0;
381
- text-align: center;
382
- }
383
-
384
- i.icons .icon {
385
- position: absolute;
386
- top: 50%;
387
- left: 50%;
388
- margin: 0;
389
- &:not(.corner):not(.rotated):not(.flipped) {
390
- transform: translateX(-50%) translateY(-50%);
374
+ /*******************************
375
+ Groups
376
+ *******************************/
377
+
378
+ i.icons {
379
+ display: inline-block;
380
+ position: relative;
381
+ line-height: 1;
382
+ min-width: @width;
383
+ min-height: @height;
384
+ margin: 0 @distanceFromText 0 0;
385
+ text-align: center;
386
+ }
387
+
388
+ i.icons .icon {
389
+ position: absolute;
390
+ top: 50%;
391
+ left: 50%;
392
+ margin: 0;
393
+ &:not(.corner):not(.rotated):not(.flipped) {
394
+ transform: translateX(-50%) translateY(-50%);
395
+ }
391
396
  }
392
- }
393
397
 
394
- i.icons .icon:first-child {
395
- position: static;
396
- width: auto;
397
- height: auto;
398
- vertical-align: top;
399
- }
400
- i.icons:not(.bordered):not(.circular) .icon:first-child:not(.rotated):not(.flipped) {
401
- transform: none;
402
- }
403
-
404
- & when (@variationIconCorner) {
405
- /* Corner Icon */
406
- i.icons .corner.icon {
407
- top: auto;
408
- left: auto;
409
- right: @cornerOffset;
410
- bottom: @cornerOffset;
411
- font-size: @cornerIconSize;
412
- text-shadow: @cornerIconShadow;
413
- &:not(.rotated):not(.flipped) {
398
+ i.icons .icon:first-child {
399
+ position: static;
400
+ width: auto;
401
+ height: auto;
402
+ vertical-align: top;
403
+ }
404
+ i.icons:not(.bordered):not(.circular) .icon:first-child:not(.rotated):not(.flipped) {
414
405
  transform: none;
415
- }
416
- }
417
- i.icons .icon.corner[class*="top right"] {
418
- top: @cornerOffset;
419
- left: auto;
420
- right: @cornerOffset;
421
- bottom: auto;
422
- }
423
- i.icons .icon.corner[class*="top left"] {
424
- top: @cornerOffset;
425
- left: @cornerOffset;
426
- right: auto;
427
- bottom: auto;
428
- }
429
- i.icons .icon.corner[class*="bottom left"] {
430
- top: auto;
431
- left: @cornerOffset;
432
- right: auto;
433
- bottom: @cornerOffset;
434
- }
435
- i.icons .icon.corner[class*="bottom right"] {
436
- top: auto;
437
- left: auto;
438
- right: @cornerOffset;
439
- bottom: @cornerOffset;
440
406
  }
441
- & when (@variationIconInverted) {
442
- i.icons .inverted.corner.icon {
443
- text-shadow: @cornerIconInvertedShadow;
444
- }
407
+
408
+ & when (@variationIconCorner) {
409
+ /* Corner Icon */
410
+ i.icons .corner.icon {
411
+ top: auto;
412
+ left: auto;
413
+ right: @cornerOffset;
414
+ bottom: @cornerOffset;
415
+ font-size: @cornerIconSize;
416
+ text-shadow: @cornerIconShadow;
417
+ &:not(.rotated):not(.flipped) {
418
+ transform: none;
419
+ }
420
+ }
421
+ i.icons .icon.corner[class*="top right"] {
422
+ top: @cornerOffset;
423
+ left: auto;
424
+ right: @cornerOffset;
425
+ bottom: auto;
426
+ }
427
+ i.icons .icon.corner[class*="top left"] {
428
+ top: @cornerOffset;
429
+ left: @cornerOffset;
430
+ right: auto;
431
+ bottom: auto;
432
+ }
433
+ i.icons .icon.corner[class*="bottom left"] {
434
+ top: auto;
435
+ left: @cornerOffset;
436
+ right: auto;
437
+ bottom: @cornerOffset;
438
+ }
439
+ i.icons .icon.corner[class*="bottom right"] {
440
+ top: auto;
441
+ left: auto;
442
+ right: @cornerOffset;
443
+ bottom: @cornerOffset;
444
+ }
445
+ & when (@variationIconInverted) {
446
+ i.icons .inverted.corner.icon {
447
+ text-shadow: @cornerIconInvertedShadow;
448
+ }
449
+ }
445
450
  }
446
- }
447
451
  }
448
452
 
449
453
  & when ((@variationIconGroups) or (@variationIconCorner))
450
- and ((@variationIconBordered) or (@variationIconCircular)) {
451
- /*************************************************
452
- Bordered/circular with corner or group icons
453
- *************************************************/
454
- i.bordered.icons,
455
- i.circular.icons {
456
- width: @borderedSize;
457
- height: @borderedSize;
458
- box-shadow: @borderedShadow;
459
- vertical-align: middle;
460
- &.colored when (@variationIconColored){
461
- box-shadow: @coloredBoxShadow;
454
+ and ((@variationIconBordered) or (@variationIconCircular)) {
455
+ /*************************************************
456
+ Bordered/circular with corner or group icons
457
+ *************************************************/
458
+ i.bordered.icons,
459
+ i.circular.icons {
460
+ width: @borderedSize;
461
+ height: @borderedSize;
462
+ box-shadow: @borderedShadow;
463
+ vertical-align: middle;
464
+ &.colored when (@variationIconColored) {
465
+ box-shadow: @coloredBoxShadow;
466
+ }
467
+ }
468
+ i.circular.icons {
469
+ border-radius: 500em;
470
+ }
471
+ i.bordered.icons i.icon:first-child,
472
+ i.circular.icons i.icon:first-child {
473
+ position: absolute;
474
+ transform: translateX(-50%) translateY(-50%);
462
475
  }
463
- }
464
- i.circular.icons {
465
- border-radius: 500em;
466
- }
467
- i.bordered.icons i.icon:first-child,
468
- i.circular.icons i.icon:first-child {
469
- position: absolute;
470
- transform: translateX(-50%) translateY(-50%);
471
- }
472
476
 
473
- & when (@variationIconInverted) {
474
- /* Inverted Icon */
475
- i.bordered.inverted.icons,
476
- i.circular.inverted.icons {
477
- border: none;
478
- box-shadow: none;
479
- background-color: @black;
480
- color: @white;
477
+ & when (@variationIconInverted) {
478
+ /* Inverted Icon */
479
+ i.bordered.inverted.icons,
480
+ i.circular.inverted.icons {
481
+ border: none;
482
+ box-shadow: none;
483
+ background-color: @black;
484
+ color: @white;
485
+ }
481
486
  }
482
- }
483
487
 
484
- & when (@variationIconCorner) {
485
- /* Corner Icon */
486
- i.bordered.icons .icon.corner,
487
- i.circular.icons .icon.corner,
488
- i.bordered.icons .icon.corner[class*="bottom right"],
489
- i.circular.icons .icon.corner[class*="bottom right"] {
490
- top: auto;
491
- left: auto;
492
- right: @borderedGroupCornerOffset;
493
- bottom: @borderedGroupCornerOffset;
494
- }
495
- i.bordered.icons .icon.corner[class*="top right"],
496
- i.circular.icons .icon.corner[class*="top right"] {
497
- top: @borderedGroupCornerOffset;
498
- left: auto;
499
- right: @borderedGroupCornerOffset;
500
- bottom: auto;
501
- }
502
- i.bordered.icons .icon.corner[class*="top left"],
503
- i.circular.icons .icon.corner[class*="top left"] {
504
- top: @borderedGroupCornerOffset;
505
- left: @borderedGroupCornerOffset;
506
- right: auto;
507
- bottom: auto;
508
- }
509
- i.bordered.icons .icon.corner[class*="bottom left"],
510
- i.circular.icons .icon.corner[class*="bottom left"] {
511
- top: auto;
512
- left: @borderedGroupCornerOffset;
513
- right: auto;
514
- bottom: @borderedGroupCornerOffset;
488
+ & when (@variationIconCorner) {
489
+ /* Corner Icon */
490
+ i.bordered.icons .icon.corner,
491
+ i.circular.icons .icon.corner,
492
+ i.bordered.icons .icon.corner[class*="bottom right"],
493
+ i.circular.icons .icon.corner[class*="bottom right"] {
494
+ top: auto;
495
+ left: auto;
496
+ right: @borderedGroupCornerOffset;
497
+ bottom: @borderedGroupCornerOffset;
498
+ }
499
+ i.bordered.icons .icon.corner[class*="top right"],
500
+ i.circular.icons .icon.corner[class*="top right"] {
501
+ top: @borderedGroupCornerOffset;
502
+ left: auto;
503
+ right: @borderedGroupCornerOffset;
504
+ bottom: auto;
505
+ }
506
+ i.bordered.icons .icon.corner[class*="top left"],
507
+ i.circular.icons .icon.corner[class*="top left"] {
508
+ top: @borderedGroupCornerOffset;
509
+ left: @borderedGroupCornerOffset;
510
+ right: auto;
511
+ bottom: auto;
512
+ }
513
+ i.bordered.icons .icon.corner[class*="bottom left"],
514
+ i.circular.icons .icon.corner[class*="bottom left"] {
515
+ top: auto;
516
+ left: @borderedGroupCornerOffset;
517
+ right: auto;
518
+ bottom: @borderedGroupCornerOffset;
519
+ }
515
520
  }
516
- }
517
521
  }
518
522
 
519
523
  .generateIcons(@map, @fontFamily) {
520
- each(@map,{
521
- @escapedKey: replace(@key,'^([0-9])','\3$1 ');
522
- @normalizedKey: replace(@escapedKey,'_','.','g');
523
- i.icon.@{normalizedKey}::before {
524
- content: "@{value}";
525
- & when not (@fontFamily = false) {
526
- font-family: @fontFamily;
527
- }
528
- }
529
- });
524
+ each(@map,{
525
+ @escapedKey: replace(@key,'^([0-9])','\3$1 ');
526
+ @normalizedKey: replace(@escapedKey,'_','.','g');
527
+ i.icon.@{normalizedKey}::before {
528
+ content: "@{value}";
529
+ & when not (@fontFamily = false) {
530
+ font-family: @fontFamily;
531
+ }
532
+ }
533
+ });
530
534
  };
531
535
 
532
- & when (@variationIconDeprecated) {
536
+ .generateSecondaryIcons(@map) {
537
+ each(@map,{
538
+ @escapedKey: replace(@key,'^([0-9])','\3$1 ');
539
+ @normalizedKey: replace(@escapedKey,'_','.','g');
540
+ i.icon.@{normalizedKey}::after {
541
+ content: "@{value}";
542
+ }
543
+ });
544
+ };
533
545
 
534
- /* Deprecated *In/Out Naming Conflict) */
535
- .generateIcons(@icon-deprecated-map,false);
546
+ & when (@variationIconDeprecated) {
547
+ /* Deprecated *In/Out Naming Conflict) */
548
+ .generateIcons(@icon-deprecated-map,false);
536
549
  }
537
550
 
538
551
  & when (@variationIconSolid) {
539
- /*******************************
540
- Solid Icons
541
- *******************************/
542
-
543
- /* Icons */
544
- .generateIcons(@icon-map,false);
545
- & when (@variationIconAliases) {
552
+ /*******************************
553
+ Solid Icons
554
+ *******************************/
546
555
 
547
- /* Aliases */
548
- .generateIcons(@icon-aliases-map,false);
549
- }
556
+ /* Icons */
557
+ .generateIcons(@icon-map,false);
558
+ & when (@variationIconAliases) {
559
+ /* Aliases */
560
+ .generateIcons(@icon-aliases-map,false);
561
+ }
550
562
  }
551
563
 
552
564
  & when (@variationIconOutline) {
553
- /*******************************
554
- Outline Icons
555
- *******************************/
565
+ /*******************************
566
+ Outline Icons
567
+ *******************************/
556
568
 
557
- i.icon.outline {
558
- font-family: @outlineFontName;
559
- }
560
-
561
- /* Icons */
562
- .generateIcons(@icon-outline-map,false);
563
- & when (@variationIconAliases) {
569
+ i.icon.outline {
570
+ font-family: @outlineFontName;
571
+ }
564
572
 
565
- /* Aliases */
566
- .generateIcons(@icon-outline-aliases-map,false);
567
- }
573
+ /* Icons */
574
+ .generateIcons(@icon-outline-map,false);
575
+ & when (@variationIconAliases) {
576
+ /* Aliases */
577
+ .generateIcons(@icon-outline-aliases-map,false);
578
+ }
568
579
  }
569
580
 
570
581
  & when (@variationIconThin) {
571
- /*******************************
572
- Thin Icons
573
- *******************************/
582
+ /*******************************
583
+ Thin Icons
584
+ *******************************/
574
585
 
575
- /* Icons */
576
- i.icon.thin {
577
- font-family: @thinFontName;
578
- }
579
- .generateIcons(@icon-thin-map,false);
580
- & when (@variationIconAliases) {
586
+ /* Icons */
587
+ i.icon.thin {
588
+ font-family: @thinFontName;
589
+ }
590
+ .generateIcons(@icon-thin-map,false);
591
+ & when (@variationIconAliases) {
592
+ /* Aliases */
593
+ .generateIcons(@icon-thin-aliases-map,false);
594
+ }
595
+ }
581
596
 
582
- /* Aliases */
583
- .generateIcons(@icon-thin-aliases-map,false);
584
- }
597
+ & when (@variationIconBrand) {
598
+ /*******************************
599
+ Brand Icons
600
+ *******************************/
601
+
602
+ /* Icons */
603
+ .generateIcons(@icon-brand-map,@brandFontName);
604
+ & when (@variationIconAliases) {
605
+ /* Aliases */
606
+ .generateIcons(@icon-brand-aliases-map,@brandFontName);
607
+ }
585
608
  }
586
609
 
587
- & when(@variationIconBrand) {
588
- /*******************************
589
- Brand Icons
590
- *******************************/
610
+ & when (@variationIconDuotone) {
611
+ /*******************************
612
+ Duotone Icons
613
+ *******************************/
614
+
615
+ /* Make duotone icons use the proper font */
616
+ i.icon.duotone {
617
+ font-family: @duotoneFontName;
618
+
619
+ /* To position the secondary layer on top of the first layer */
620
+ position: relative;
621
+ }
622
+
623
+ /* Set the default opacity levels and colors for each layer */
624
+ i.icon.duotone::before {
625
+ color: @duotonePrimaryColor;
626
+ opacity: @duotonePrimaryOpacity;
627
+ }
628
+
629
+ i.icon.duotone::after {
630
+ /* Position secondary layer to the left, centered horizontally and aligned vertically to flex with different line heights */
631
+ position: absolute;
632
+ left: 0;
633
+ top: 50%;
634
+ transform: translateY(-50%);
635
+ text-align: center;
636
+
637
+ color: @duotoneSecondaryColor;
638
+ opacity: @duotoneSecondaryOpacity;
639
+ }
640
+
641
+ .generateIcons(@icon-duotone-map,false);
642
+ .generateSecondaryIcons(@icon-duotone-secondary-map);
643
+
644
+ & when (@variationIconAliases) {
645
+ /* Aliases */
646
+ .generateIcons(@icon-duotone-aliases-map,false);
647
+ .generateSecondaryIcons(@icon-duotone-secondary-aliases-map);
648
+ }
649
+
650
+ /*
651
+ * Colors for duotone icons, in the form `primary-secondary`(e.g. `black-grey duotone icon`).
652
+ */
653
+ & when not (@variationIconColors = false) {
654
+ each(@variationIconColors, {
655
+ @color: @value;
656
+ @c: @colors[@@color][color];
657
+ @l: @colors[@@color][light];
591
658
 
592
- /* Icons */
593
- .generateIcons(@icon-brand-map,@brandFontName);
594
- & when (@variationIconAliases) {
659
+ i.icon.duotone[class*="@{color}-"]::before,
660
+ i.icon.duotone[class*="-@{color}"]::after {
661
+ color: @c;
662
+ }
595
663
 
596
- /* Aliases */
597
- .generateIcons(@icon-brand-aliases-map,@brandFontName);
664
+ & when (@variationIconInverted) {
665
+ i.icon.inverted.duotone[class*="@{color}-"]::before,
666
+ i.icon.inverted.duotone[class*="-@{color}"]::after {
667
+ color: @l;
668
+ }
669
+ }
670
+ })
598
671
  }
599
672
  }
600
673