fomantic-ui 2.9.4-beta.1 → 2.9.4-beta.100

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (296) hide show
  1. package/.all-contributorsrc +29 -1
  2. package/.eslintrc.js +17 -0
  3. package/.github/FUNDING.yml +1 -1
  4. package/.github/workflows/ci.yml +8 -8
  5. package/.github/workflows/depsreview.yml +14 -0
  6. package/.github/workflows/nightly.yml +1 -1
  7. package/.github/workflows/release.yml +1 -1
  8. package/CONTRIBUTORS.md +5 -0
  9. package/README.md +2 -12
  10. package/dist/components/accordion.css +1 -1
  11. package/dist/components/accordion.js +4 -2
  12. package/dist/components/accordion.min.css +1 -1
  13. package/dist/components/accordion.min.js +2 -2
  14. package/dist/components/ad.css +1 -1
  15. package/dist/components/ad.min.css +1 -1
  16. package/dist/components/api.js +7 -3
  17. package/dist/components/api.min.js +2 -2
  18. package/dist/components/breadcrumb.css +1 -1
  19. package/dist/components/breadcrumb.min.css +1 -1
  20. package/dist/components/button.css +21 -3
  21. package/dist/components/button.min.css +2 -2
  22. package/dist/components/calendar.css +1 -1
  23. package/dist/components/calendar.js +47 -12
  24. package/dist/components/calendar.min.css +1 -1
  25. package/dist/components/calendar.min.js +3 -3
  26. package/dist/components/card.css +1 -1
  27. package/dist/components/card.min.css +1 -1
  28. package/dist/components/checkbox.css +1 -1
  29. package/dist/components/checkbox.js +10 -4
  30. package/dist/components/checkbox.min.css +1 -1
  31. package/dist/components/checkbox.min.js +3 -3
  32. package/dist/components/comment.css +1 -1
  33. package/dist/components/comment.min.css +1 -1
  34. package/dist/components/container.css +1 -1
  35. package/dist/components/container.min.css +1 -1
  36. package/dist/components/dimmer.css +7 -3
  37. package/dist/components/dimmer.js +4 -2
  38. package/dist/components/dimmer.min.css +2 -2
  39. package/dist/components/dimmer.min.js +2 -2
  40. package/dist/components/divider.css +1 -1
  41. package/dist/components/divider.min.css +1 -1
  42. package/dist/components/dropdown.css +46 -40
  43. package/dist/components/dropdown.js +110 -35
  44. package/dist/components/dropdown.min.css +2 -2
  45. package/dist/components/dropdown.min.js +3 -3
  46. package/dist/components/embed.css +1 -1
  47. package/dist/components/embed.js +17 -7
  48. package/dist/components/embed.min.css +1 -1
  49. package/dist/components/embed.min.js +3 -3
  50. package/dist/components/emoji.css +4309 -3713
  51. package/dist/components/emoji.min.css +2 -2
  52. package/dist/components/feed.css +12 -1
  53. package/dist/components/feed.min.css +2 -2
  54. package/dist/components/flag.css +3 -1
  55. package/dist/components/flag.min.css +2 -2
  56. package/dist/components/flyout.css +3 -3
  57. package/dist/components/flyout.js +4 -2
  58. package/dist/components/flyout.min.css +1 -1
  59. package/dist/components/flyout.min.js +2 -2
  60. package/dist/components/form.css +28 -7
  61. package/dist/components/form.js +74 -29
  62. package/dist/components/form.min.css +2 -2
  63. package/dist/components/form.min.js +3 -3
  64. package/dist/components/grid.css +5 -5
  65. package/dist/components/grid.min.css +2 -2
  66. package/dist/components/header.css +4 -1
  67. package/dist/components/header.min.css +2 -2
  68. package/dist/components/icon.css +1 -1
  69. package/dist/components/icon.min.css +1 -1
  70. package/dist/components/image.css +1 -1
  71. package/dist/components/image.min.css +1 -1
  72. package/dist/components/input.css +30 -10
  73. package/dist/components/input.min.css +2 -2
  74. package/dist/components/item.css +1 -1
  75. package/dist/components/item.min.css +1 -1
  76. package/dist/components/label.css +7 -2
  77. package/dist/components/label.min.css +2 -2
  78. package/dist/components/list.css +1 -1
  79. package/dist/components/list.min.css +1 -1
  80. package/dist/components/loader.css +1 -1
  81. package/dist/components/loader.min.css +1 -1
  82. package/dist/components/menu.css +1 -2
  83. package/dist/components/menu.min.css +2 -2
  84. package/dist/components/message.css +2 -1
  85. package/dist/components/message.min.css +2 -2
  86. package/dist/components/modal.css +3 -3
  87. package/dist/components/modal.js +7 -3
  88. package/dist/components/modal.min.css +1 -1
  89. package/dist/components/modal.min.js +2 -2
  90. package/dist/components/nag.css +1 -1
  91. package/dist/components/nag.js +11 -5
  92. package/dist/components/nag.min.css +1 -1
  93. package/dist/components/nag.min.js +3 -3
  94. package/dist/components/placeholder.css +1 -1
  95. package/dist/components/placeholder.min.css +1 -1
  96. package/dist/components/popup.css +1 -2
  97. package/dist/components/popup.js +10 -4
  98. package/dist/components/popup.min.css +2 -2
  99. package/dist/components/popup.min.js +2 -2
  100. package/dist/components/progress.css +15 -6
  101. package/dist/components/progress.js +4 -2
  102. package/dist/components/progress.min.css +2 -2
  103. package/dist/components/progress.min.js +2 -2
  104. package/dist/components/rail.css +1 -1
  105. package/dist/components/rail.min.css +1 -1
  106. package/dist/components/rating.css +1 -1
  107. package/dist/components/rating.js +4 -2
  108. package/dist/components/rating.min.css +1 -1
  109. package/dist/components/rating.min.js +2 -2
  110. package/dist/components/reset.css +1 -1
  111. package/dist/components/reset.min.css +1 -1
  112. package/dist/components/reveal.css +1 -1
  113. package/dist/components/reveal.min.css +1 -1
  114. package/dist/components/search.css +34 -23
  115. package/dist/components/search.js +78 -14
  116. package/dist/components/search.min.css +2 -2
  117. package/dist/components/search.min.js +3 -3
  118. package/dist/components/segment.css +1 -1
  119. package/dist/components/segment.min.css +1 -1
  120. package/dist/components/shape.css +1 -1
  121. package/dist/components/shape.js +7 -5
  122. package/dist/components/shape.min.css +1 -1
  123. package/dist/components/shape.min.js +3 -3
  124. package/dist/components/sidebar.css +1 -1
  125. package/dist/components/sidebar.js +4 -2
  126. package/dist/components/sidebar.min.css +1 -1
  127. package/dist/components/sidebar.min.js +2 -2
  128. package/dist/components/site.css +14 -6
  129. package/dist/components/site.js +4 -2
  130. package/dist/components/site.min.css +2 -2
  131. package/dist/components/site.min.js +2 -2
  132. package/dist/components/slider.css +152 -2
  133. package/dist/components/slider.js +142 -44
  134. package/dist/components/slider.min.css +2 -2
  135. package/dist/components/slider.min.js +3 -3
  136. package/dist/components/state.js +4 -2
  137. package/dist/components/state.min.js +2 -2
  138. package/dist/components/statistic.css +1 -1
  139. package/dist/components/statistic.min.css +1 -1
  140. package/dist/components/step.css +992 -86
  141. package/dist/components/step.min.css +2 -2
  142. package/dist/components/sticky.css +1 -1
  143. package/dist/components/sticky.js +4 -2
  144. package/dist/components/sticky.min.css +1 -1
  145. package/dist/components/sticky.min.js +2 -2
  146. package/dist/components/tab.css +1 -1
  147. package/dist/components/tab.js +4 -2
  148. package/dist/components/tab.min.css +1 -1
  149. package/dist/components/tab.min.js +2 -2
  150. package/dist/components/table.css +32 -21
  151. package/dist/components/table.min.css +2 -2
  152. package/dist/components/text.css +1 -1
  153. package/dist/components/text.min.css +1 -1
  154. package/dist/components/toast.css +1 -1
  155. package/dist/components/toast.js +7 -3
  156. package/dist/components/toast.min.css +1 -1
  157. package/dist/components/toast.min.js +3 -3
  158. package/dist/components/transition.css +1 -1
  159. package/dist/components/transition.js +7 -3
  160. package/dist/components/transition.min.css +1 -1
  161. package/dist/components/transition.min.js +2 -2
  162. package/dist/components/visibility.js +4 -2
  163. package/dist/components/visibility.min.js +2 -2
  164. package/dist/semantic.css +6226 -3986
  165. package/dist/semantic.js +580 -195
  166. package/dist/semantic.min.css +3 -3
  167. package/dist/semantic.min.js +3 -3
  168. package/dist/themes/basic/assets/fonts/LICENSE.txt +91 -0
  169. package/dist/themes/default/assets/fonts/LICENSE_Lato.txt +94 -0
  170. package/dist/themes/default/assets/fonts/LICENSE_icons.txt +165 -0
  171. package/dist/themes/github/assets/fonts/LICENSE.txt +94 -0
  172. package/dist/themes/material/assets/fonts/LICENSE.txt +202 -0
  173. package/package.json +14 -14
  174. package/semantic.json.example +1 -1
  175. package/src/definitions/behaviors/api.js +6 -2
  176. package/src/definitions/behaviors/form.js +73 -28
  177. package/src/definitions/behaviors/state.js +3 -1
  178. package/src/definitions/behaviors/visibility.js +3 -1
  179. package/src/definitions/collections/form.less +56 -27
  180. package/src/definitions/collections/grid.less +85 -70
  181. package/src/definitions/collections/menu.less +38 -27
  182. package/src/definitions/collections/message.less +1 -0
  183. package/src/definitions/collections/table.less +183 -157
  184. package/src/definitions/elements/button.less +61 -25
  185. package/src/definitions/elements/container.less +6 -4
  186. package/src/definitions/elements/divider.less +4 -1
  187. package/src/definitions/elements/emoji.less +3 -1
  188. package/src/definitions/elements/header.less +12 -4
  189. package/src/definitions/elements/icon.less +35 -28
  190. package/src/definitions/elements/input.less +35 -19
  191. package/src/definitions/elements/label.less +19 -8
  192. package/src/definitions/elements/list.less +28 -21
  193. package/src/definitions/elements/loader.less +17 -12
  194. package/src/definitions/elements/segment.less +12 -7
  195. package/src/definitions/elements/step.less +405 -87
  196. package/src/definitions/globals/site.js +3 -1
  197. package/src/definitions/globals/site.less +17 -12
  198. package/src/definitions/modules/accordion.js +3 -1
  199. package/src/definitions/modules/accordion.less +15 -13
  200. package/src/definitions/modules/calendar.js +46 -11
  201. package/src/definitions/modules/calendar.less +6 -4
  202. package/src/definitions/modules/checkbox.js +9 -3
  203. package/src/definitions/modules/checkbox.less +12 -6
  204. package/src/definitions/modules/dimmer.js +3 -1
  205. package/src/definitions/modules/dimmer.less +16 -10
  206. package/src/definitions/modules/dropdown.js +109 -34
  207. package/src/definitions/modules/dropdown.less +109 -78
  208. package/src/definitions/modules/embed.js +16 -6
  209. package/src/definitions/modules/flyout.js +3 -1
  210. package/src/definitions/modules/flyout.less +51 -45
  211. package/src/definitions/modules/modal.js +6 -2
  212. package/src/definitions/modules/modal.less +109 -82
  213. package/src/definitions/modules/nag.js +10 -4
  214. package/src/definitions/modules/nag.less +8 -4
  215. package/src/definitions/modules/popup.js +9 -3
  216. package/src/definitions/modules/popup.less +3 -1
  217. package/src/definitions/modules/progress.js +3 -1
  218. package/src/definitions/modules/progress.less +24 -6
  219. package/src/definitions/modules/rating.js +3 -1
  220. package/src/definitions/modules/search.js +77 -13
  221. package/src/definitions/modules/search.less +41 -25
  222. package/src/definitions/modules/shape.js +6 -4
  223. package/src/definitions/modules/sidebar.js +3 -1
  224. package/src/definitions/modules/slider.js +141 -43
  225. package/src/definitions/modules/slider.less +129 -27
  226. package/src/definitions/modules/sticky.js +3 -1
  227. package/src/definitions/modules/tab.js +3 -1
  228. package/src/definitions/modules/toast.js +6 -2
  229. package/src/definitions/modules/toast.less +35 -24
  230. package/src/definitions/modules/transition.js +6 -2
  231. package/src/definitions/views/card.less +7 -5
  232. package/src/definitions/views/feed.less +14 -1
  233. package/src/definitions/views/item.less +7 -5
  234. package/src/themes/basic/assets/fonts/LICENSE.txt +91 -0
  235. package/src/themes/default/assets/fonts/LICENSE_Lato.txt +94 -0
  236. package/src/themes/default/assets/fonts/LICENSE_icons.txt +165 -0
  237. package/src/themes/default/collections/form.variables +1 -0
  238. package/src/themes/default/elements/button.variables +3 -0
  239. package/src/themes/default/elements/emoji.variables +172 -23
  240. package/src/themes/default/elements/flag.variables +3 -3
  241. package/src/themes/default/elements/step.variables +33 -0
  242. package/src/themes/default/globals/site.variables +3 -0
  243. package/src/themes/default/globals/variation.variables +24 -2
  244. package/src/themes/default/modules/dropdown.variables +3 -0
  245. package/src/themes/default/modules/progress.variables +1 -1
  246. package/src/themes/default/modules/search.variables +15 -12
  247. package/src/themes/default/modules/slider.variables +10 -0
  248. package/src/themes/default/views/feed.variables +3 -0
  249. package/src/themes/github/assets/fonts/LICENSE.txt +94 -0
  250. package/src/themes/joypixels/elements/emoji.variables +183 -22
  251. package/src/themes/material/assets/fonts/LICENSE.txt +202 -0
  252. package/tasks/admin/components/create.js +4 -4
  253. package/tasks/admin/components/init.js +2 -2
  254. package/tasks/admin/components/update.js +3 -3
  255. package/tasks/admin/distributions/create.js +3 -3
  256. package/tasks/admin/distributions/init.js +2 -2
  257. package/tasks/admin/distributions/update.js +4 -4
  258. package/tasks/build/assets.js +1 -1
  259. package/tasks/build/css.js +19 -10
  260. package/tasks/build/javascript.js +12 -5
  261. package/tasks/check-install.js +1 -1
  262. package/tasks/config/defaults.js +4 -0
  263. package/tasks/config/project/release.js +19 -1
  264. package/tasks/config/tasks.js +7 -7
  265. package/tasks/docs/build.js +3 -3
  266. package/tasks/docs/metadata.js +1 -1
  267. package/tasks/docs/serve.js +3 -1
  268. package/tasks/install.js +2 -2
  269. package/tasks/watch.js +1 -1
  270. package/types/fomantic-ui-accordion.d.ts +1 -1
  271. package/types/fomantic-ui-api.d.ts +9 -3
  272. package/types/fomantic-ui-calendar.d.ts +114 -13
  273. package/types/fomantic-ui-checkbox.d.ts +14 -4
  274. package/types/fomantic-ui-dimmer.d.ts +1 -1
  275. package/types/fomantic-ui-dropdown.d.ts +82 -44
  276. package/types/fomantic-ui-embed.d.ts +19 -2
  277. package/types/fomantic-ui-flyout.d.ts +25 -11
  278. package/types/fomantic-ui-form.d.ts +128 -20
  279. package/types/fomantic-ui-modal.d.ts +101 -5
  280. package/types/fomantic-ui-nag.d.ts +4 -4
  281. package/types/fomantic-ui-popup.d.ts +38 -12
  282. package/types/fomantic-ui-progress.d.ts +12 -6
  283. package/types/fomantic-ui-rating.d.ts +1 -1
  284. package/types/fomantic-ui-search.d.ts +138 -22
  285. package/types/fomantic-ui-shape.d.ts +2 -2
  286. package/types/fomantic-ui-sidebar.d.ts +4 -4
  287. package/types/fomantic-ui-slider.d.ts +56 -4
  288. package/types/fomantic-ui-sticky.d.ts +1 -1
  289. package/types/fomantic-ui-tab.d.ts +6 -6
  290. package/types/fomantic-ui-toast.d.ts +14 -2
  291. package/types/fomantic-ui-transition.d.ts +41 -7
  292. package/types/fomantic-ui-visibility.d.ts +3 -3
  293. package/types/index.d.ts +25 -25
  294. package/types/tests.ts +188 -0
  295. package/types/tsconfig.json +1 -1
  296. package/types/fomantic-ui-tests.ts +0 -25
@@ -21,11 +21,15 @@
21
21
 
22
22
  @import (multiple) "../../theme.config";
23
23
 
24
+ @notCircular: if(@variationStepCircular, e(":not(.circular)"));
25
+ @notVertical: if(@variationStepVertical, e(":not(.vertical)"));
26
+ @notUnstackable: if(@variationStepUnstackable, e(":not(.unstackable)"));
27
+
24
28
  /*******************************
25
29
  Plural
26
30
  *******************************/
27
31
 
28
- .ui.steps {
32
+ .ui.steps@{notCircular} {
29
33
  display: inline-flex;
30
34
  flex-direction: row;
31
35
  align-items: stretch;
@@ -36,7 +40,7 @@
36
40
  border-radius: @stepsBorderRadius;
37
41
  border: @stepsBorder;
38
42
  }
39
- .ui.steps:not(.unstackable) {
43
+ .ui.steps@{notUnstackable} {
40
44
  flex-wrap: wrap;
41
45
  }
42
46
 
@@ -54,7 +58,7 @@
54
58
  Singular
55
59
  *******************************/
56
60
 
57
- .ui.steps .step {
61
+ .ui.steps@{notCircular} .step {
58
62
  position: relative;
59
63
  display: flex;
60
64
  flex: 1 0 auto;
@@ -74,7 +78,7 @@
74
78
  }
75
79
 
76
80
  /* Arrow */
77
- .ui.steps .step::after {
81
+ .ui.steps@{notCircular} .step::after {
78
82
  display: none;
79
83
  position: absolute;
80
84
  z-index: 2;
@@ -92,20 +96,20 @@
92
96
  }
93
97
 
94
98
  /* First Step */
95
- .ui.steps .step:first-child {
99
+ .ui.steps@{notCircular} .step:first-child {
96
100
  padding-left: @horizontalPadding;
97
101
  border-radius: @stepsBorderRadius 0 0 @stepsBorderRadius;
98
102
  }
99
103
 
100
104
  /* Last Step */
101
- .ui.steps .step:last-child {
105
+ .ui.steps@{notCircular} .step:last-child {
102
106
  border-radius: 0 @stepsBorderRadius @stepsBorderRadius 0;
103
107
  border-right: none;
104
108
  margin-right: 0;
105
109
  }
106
110
 
107
111
  /* Only Step */
108
- .ui.steps .step:only-child {
112
+ .ui.steps@{notCircular} .step:only-child {
109
113
  border-radius: @stepsBorderRadius;
110
114
  }
111
115
 
@@ -118,6 +122,7 @@
118
122
  font-family: @titleFontFamily;
119
123
  font-size: @titleFontSize;
120
124
  font-weight: @titleFontWeight;
125
+ line-height: @lineHeight;
121
126
  }
122
127
  .ui.steps .step > .title {
123
128
  width: 100%;
@@ -128,6 +133,7 @@
128
133
  font-weight: @descriptionFontWeight;
129
134
  font-size: @descriptionFontSize;
130
135
  color: @descriptionColor;
136
+ line-height: @lineHeight;
131
137
  }
132
138
  .ui.steps .step > .description {
133
139
  width: 100%;
@@ -150,7 +156,7 @@
150
156
  }
151
157
 
152
158
  /* Horizontal Icon */
153
- .ui.steps:not(.vertical) .step > i.icon {
159
+ .ui.steps@{notVertical} .step > i.icon {
154
160
  width: auto;
155
161
  }
156
162
 
@@ -164,6 +170,133 @@
164
170
  Types
165
171
  *******************************/
166
172
 
173
+ & when (@variationStepCircular) {
174
+ .ui.circular.steps {
175
+ border: 0;
176
+ border-radius: 0;
177
+ box-shadow: none;
178
+
179
+ &@{notVertical} {
180
+ background: transparent;
181
+ border: 0;
182
+ border-radius: 0;
183
+ box-shadow: none;
184
+ position: relative;
185
+ display: flex;
186
+ padding: @circularStepsMargin;
187
+ margin: @circularStepsPadding;
188
+
189
+ & .step {
190
+ background: @circularStepColor;
191
+ cursor: default;
192
+ height: @circularStepBorderWidth;
193
+ display: flex;
194
+ flex-wrap: wrap;
195
+ align-items: center;
196
+ flex: 1;
197
+ position: relative;
198
+ margin-left: @circularStepRingSize;
199
+
200
+ &::before {
201
+ left: -@circularStepRingSize;
202
+ }
203
+ &::after {
204
+ left: @circularStepIconDistance;
205
+ }
206
+
207
+ &.link::before,
208
+ &.link::after {
209
+ cursor: pointer;
210
+ }
211
+ &.completed {
212
+ background: @circularStepCompletedBackground;
213
+ }
214
+ &.completed::after {
215
+ left: @circularStepCompletedIconDistance;
216
+ }
217
+ &:last-child {
218
+ flex: 0;
219
+ }
220
+ & .content {
221
+ margin-top: @circularStepContentMarginTop;
222
+ padding: @circularStepContentPadding;
223
+ &.center.aligned {
224
+ margin-top: @circularStepContentCenterAlignedMarginTop;
225
+ & .title {
226
+ padding: @circularStepContentPadding;
227
+ margin-left: @circularStepContentCenterAlignedMarginLeft;
228
+ background: @circularStepContentCenterAlignedBackground;
229
+ }
230
+ }
231
+ &.bottom.aligned {
232
+ margin-top: @circularStepContentBottomAlignedMarginTop;
233
+ }
234
+ &:not(.aligned) .title + .description {
235
+ margin-top: @circularStepContentDescriptionDistance;
236
+ }
237
+ }
238
+ }
239
+ }
240
+
241
+ & .step {
242
+ color: inherit;
243
+
244
+ &::before {
245
+ content: "";
246
+ border-radius: 50%;
247
+ border: @circularStepBorder;
248
+ height: @circularStepRingSize;
249
+ width: @circularStepRingSize;
250
+ line-height: @circularStepRingSize;
251
+ position: absolute;
252
+ }
253
+ &::after {
254
+ content: "";
255
+ display: block;
256
+ position: absolute;
257
+ border-radius: 50%;
258
+ background: @circularStepColor;
259
+ height: @circularStepIconSize;
260
+ width: @circularStepIconSize;
261
+ }
262
+ &.active {
263
+ &::before {
264
+ border-color: @circularStepActiveColor;
265
+ }
266
+
267
+ &::after {
268
+ background: @circularStepActiveColor;
269
+ }
270
+ & .title {
271
+ color: @circularStepActiveColor;
272
+ }
273
+ }
274
+ &.completed {
275
+ &::before {
276
+ background: @circularStepCompletedBackground;
277
+ border-color: @circularStepCompletedBackground;
278
+ }
279
+ &::after {
280
+ background: transparent;
281
+ content: "\e800";
282
+ font-family: Step;
283
+ color: @circularStepCompletedColor;
284
+ height: auto;
285
+ line-height: @circularStepCompletedIconLineHeight;
286
+ }
287
+ }
288
+ }
289
+ }
290
+ @supports selector(:has(.f)) {
291
+ .ui.circular.steps@{notVertical} .step:last-child:has(.content) {
292
+ flex: 1;
293
+ }
294
+ .ui.circular.steps@{notVertical} .step:last-child:has(.center.aligned.content) {
295
+ background: none;
296
+ }
297
+ }
298
+ }
299
+
167
300
  & when (@variationStepOrdered) {
168
301
  /* --------------
169
302
  Ordered
@@ -173,17 +306,36 @@
173
306
  counter-reset: ordered;
174
307
  }
175
308
  .ui.ordered.steps .step::before {
176
- display: block;
177
- position: static;
178
309
  text-align: center;
179
310
  content: counter(ordered);
180
311
  align-self: @iconAlign;
181
- margin-right: @iconDistance;
182
- font-size: @iconSize;
183
312
  counter-increment: ordered;
184
313
  font-family: @orderedFontFamily;
185
314
  font-weight: @orderedFontWeight;
186
315
  }
316
+ .ui.ordered.steps@{notCircular} .step::before {
317
+ display: block;
318
+ position: static;
319
+ font-size: @iconSize;
320
+ margin-right: @iconDistance;
321
+ }
322
+
323
+ & when (@variationStepCircular) {
324
+ .ui.circular.ordered.steps .step {
325
+ &::before {
326
+ line-height: calc(@circularStepRingSize - @circularStepBorderWidth);
327
+ }
328
+ &.completed::before {
329
+ content: "";
330
+ }
331
+ &::after {
332
+ background: transparent;
333
+ }
334
+ &.active::before {
335
+ color: @circularStepActiveColor;
336
+ }
337
+ }
338
+ }
187
339
 
188
340
  .ui.ordered.steps .step > * {
189
341
  display: block;
@@ -196,53 +348,106 @@
196
348
  Vertical
197
349
  --------------- */
198
350
 
199
- .ui.vertical.steps {
351
+ .ui.vertical.steps@{notCircular} {
200
352
  display: inline-flex;
201
353
  flex-direction: column;
202
354
  overflow: visible;
203
355
  }
204
- .ui.vertical.steps .step {
356
+ .ui.vertical.steps@{notCircular} .step {
205
357
  justify-content: flex-start;
206
358
  border-radius: @borderRadius;
207
359
  padding: @verticalPadding @horizontalPadding;
208
360
  border-right: none;
209
361
  border-bottom: @verticalDivider;
210
362
  }
211
- .ui.vertical.steps .step:first-child {
363
+ .ui.vertical.steps@{notCircular} .step:first-child {
212
364
  padding: @verticalPadding @horizontalPadding;
213
365
  border-radius: @stepsBorderRadius @stepsBorderRadius 0 0;
214
366
  }
215
- .ui.vertical.steps .step:last-child {
367
+ .ui.vertical.steps@{notCircular} .step:last-child {
216
368
  border-bottom: none;
217
369
  border-radius: 0 0 @stepsBorderRadius @stepsBorderRadius;
218
370
  }
219
- .ui.vertical.steps .step:only-child {
371
+ .ui.vertical.steps@{notCircular} .step:only-child {
220
372
  border-radius: @stepsBorderRadius;
221
373
  }
222
374
 
223
375
  /* Arrow */
224
- .ui.vertical.steps .step::after {
376
+ .ui.vertical.steps@{notCircular} .step::after {
225
377
  top: @verticalArrowTopOffset;
226
378
  right: @verticalArrowRightOffset;
227
379
  border-width: @verticalArrowBorderWidth;
228
380
  display: @verticalArrowDisplay;
229
381
  }
230
- .ui.right.vertical.steps .step::after {
382
+ .ui.right.vertical.steps@{notCircular} .step::after {
231
383
  border-width: @verticalLeftArrowBorderWidth;
232
384
  left: @verticalLeftArrowLeftOffset;
233
385
  right: @verticalLeftArrowRightOffset;
234
386
  transform: translateY(-50%) translateX(-50%) rotate(-45deg);
235
387
  }
236
388
 
237
- .ui.vertical.steps .active.step::after {
389
+ .ui.vertical.steps@{notCircular} .active.step::after {
238
390
  display: @verticalActiveArrowDisplay;
239
391
  }
240
- .ui.vertical.steps .step:last-child::after {
392
+ .ui.vertical.steps@{notCircular} .step:last-child::after {
241
393
  display: @verticalLastArrowDisplay;
242
394
  }
243
- .ui.vertical.steps .active.step:last-child::after {
395
+ .ui.vertical.steps@{notCircular} .active.step:last-child::after {
244
396
  display: @verticalActiveLastArrowDisplay;
245
397
  }
398
+
399
+ /* Circular Step */
400
+ & when (@variationStepCircular) {
401
+ .ui.circular.vertical.steps {
402
+ display: inline-flex;
403
+ flex-flow: column wrap;
404
+ align-items: flex-start;
405
+
406
+ & .step {
407
+ position: relative;
408
+ width: 100%;
409
+
410
+ &::before {
411
+ left: 0;
412
+ top: 0;
413
+ }
414
+
415
+ &::after {
416
+ left: @verticalCircularStepIconDistance;
417
+ top: @verticalCircularStepIconDistance;
418
+ }
419
+
420
+ & .content {
421
+ padding-left: @verticalCircularStepContentPadding;
422
+ }
423
+
424
+ &:not(:last-child) {
425
+ padding-bottom: @verticalCircularStepPadding;
426
+
427
+ & .content::before {
428
+ content: "";
429
+ position: absolute;
430
+ border-left: @circularStepBorder;
431
+ top: @circularStepRingSize;
432
+ bottom: 0;
433
+ left: @verticalCircularStepLineDistance;
434
+ }
435
+ }
436
+
437
+ &.completed .content::before {
438
+ border-color: @circularStepCompletedBackground;
439
+ }
440
+
441
+ &.completed::before {
442
+ background: @circularStepCompletedBackground;
443
+ border-color: @circularStepCompletedBackground;
444
+ }
445
+ &.completed::after {
446
+ top: @verticalCircularStepCompletedIconDistance;
447
+ }
448
+ }
449
+ }
450
+ }
246
451
  }
247
452
 
248
453
  /* ---------------
@@ -251,12 +456,12 @@
251
456
 
252
457
  /* Mobile (Default) */
253
458
  @media only screen and (max-width: (@largestMobileScreen)) {
254
- .ui.steps:not(.unstackable) {
459
+ .ui.steps@{notUnstackable}@{notCircular} {
255
460
  display: inline-flex;
256
461
  overflow: visible;
257
462
  flex-direction: column;
258
463
  }
259
- .ui.steps:not(.unstackable) .step {
464
+ .ui.steps@{notUnstackable}@{notCircular} .step {
260
465
  width: 100% !important;
261
466
  flex-direction: column;
262
467
  border-radius: @borderRadius;
@@ -264,36 +469,36 @@
264
469
  border-right: none;
265
470
  border-bottom: @stepsBorder;
266
471
  }
267
- .ui.steps:not(.unstackable) .step:first-child {
472
+ .ui.steps@{notUnstackable}@{notCircular} .step:first-child {
268
473
  padding: @verticalPadding @horizontalPadding;
269
474
  border-radius: @stepsBorderRadius @stepsBorderRadius 0 0;
270
475
  }
271
- .ui.steps:not(.unstackable) .step:last-child {
476
+ .ui.steps@{notUnstackable}@{notCircular} .step:last-child {
272
477
  border-radius: 0 0 @stepsBorderRadius @stepsBorderRadius;
273
478
  border-bottom: none;
274
479
  }
275
480
 
276
481
  /* Arrow */
277
- .ui.steps:not(.unstackable) .step::after {
482
+ .ui.steps@{notUnstackable}@{notCircular} .step::after {
278
483
  top: unset;
279
484
  bottom: -@arrowSize;
280
485
  right: 50%;
281
486
  transform: translateY(-50%) translateX(50%) rotate(45deg);
282
487
  }
283
488
  & when (@variationStepVertical) {
284
- .ui.vertical.steps .active.step:last-child::after {
489
+ .ui.vertical.steps@{notCircular} .active.step:last-child::after {
285
490
  display: none;
286
491
  }
287
492
  }
288
493
 
289
494
  /* Content */
290
- .ui.steps:not(.unstackable) .step .content {
495
+ .ui.steps@{notUnstackable}@{notCircular} .step .content {
291
496
  text-align: center;
292
497
  }
293
498
 
294
499
  /* Icon */
295
- .ui.steps:not(.unstackable) .step > i.icon,
296
- .ui.ordered.steps:not(.unstackable) .step::before {
500
+ .ui.steps@{notUnstackable}@{notCircular} .step > i.icon,
501
+ .ui.ordered.steps@{notUnstackable}@{notCircular} .step::before {
297
502
  margin: 0 0 @mobileIconDistance 0;
298
503
  }
299
504
  }
@@ -303,32 +508,32 @@
303
508
  *******************************/
304
509
 
305
510
  /* Link Hover */
306
- .ui.steps .link.step:hover::after,
307
- .ui.steps .link.step:hover,
308
- .ui.steps a.step:hover::after,
309
- .ui.steps a.step:hover {
511
+ .ui.steps@{notCircular} .link.step:hover::after,
512
+ .ui.steps@{notCircular} .link.step:hover,
513
+ .ui.steps@{notCircular} a.step:hover::after,
514
+ .ui.steps@{notCircular} a.step:hover {
310
515
  background: @hoverBackground;
311
516
  color: @hoverColor;
312
517
  }
313
518
 
314
519
  /* Link Down */
315
- .ui.steps .link.step:active::after,
316
- .ui.steps .link.step:active,
317
- .ui.steps a.step:active::after,
318
- .ui.steps a.step:active {
520
+ .ui.steps@{notCircular} .link.step:active::after,
521
+ .ui.steps@{notCircular} .link.step:active,
522
+ .ui.steps@{notCircular} a.step:active::after,
523
+ .ui.steps@{notCircular} a.step:active {
319
524
  background: @downBackground;
320
525
  color: @downColor;
321
526
  }
322
527
 
323
528
  /* Active */
324
- .ui.steps .step.active {
529
+ .ui.steps@{notCircular} .step.active {
325
530
  cursor: auto;
326
531
  background: @activeBackground;
327
532
  }
328
- .ui.steps .step.active::after {
533
+ .ui.steps@{notCircular} .step.active::after {
329
534
  background: @activeBackground;
330
535
  }
331
- .ui.steps .step.active .title {
536
+ .ui.steps@{notCircular} .step.active .title {
332
537
  color: @activeColor;
333
538
  }
334
539
  .ui.ordered.steps .step.active::before,
@@ -337,24 +542,24 @@
337
542
  }
338
543
 
339
544
  /* Active Arrow */
340
- .ui.steps .step::after {
545
+ .ui.steps@{notCircular} .step::after {
341
546
  display: @arrowDisplay;
342
547
  }
343
- .ui.steps .active.step::after {
548
+ .ui.steps@{notCircular} .active.step::after {
344
549
  display: @activeArrowDisplay;
345
550
  }
346
- .ui.steps .step:last-child::after {
551
+ .ui.steps@{notCircular} .step:last-child::after {
347
552
  display: @lastArrowDisplay;
348
553
  }
349
- .ui.steps .active.step:last-child::after {
554
+ .ui.steps@{notCircular} .active.step:last-child::after {
350
555
  display: @activeLastArrowDisplay;
351
556
  }
352
557
 
353
558
  /* Active Hover */
354
- .ui.steps .link.active.step:hover::after,
355
- .ui.steps .link.active.step:hover,
356
- .ui.steps a.active.step:hover::after,
357
- .ui.steps a.active.step:hover {
559
+ .ui.steps@{notCircular} .link.active.step:hover::after,
560
+ .ui.steps@{notCircular} .link.active.step:hover,
561
+ .ui.steps@{notCircular} a.active.step:hover::after,
562
+ .ui.steps@{notCircular} a.active.step:hover {
358
563
  cursor: pointer;
359
564
  background: @activeHoverBackground;
360
565
  color: @activeHoverColor;
@@ -368,19 +573,30 @@
368
573
 
369
574
  & when (@variationStepDisabled) {
370
575
  /* Disabled */
371
- .ui.steps .disabled.step {
576
+ .ui.steps@{notCircular} .disabled.step {
372
577
  cursor: auto;
373
578
  background: @disabledBackground;
374
579
  pointer-events: none;
375
580
  }
376
- .ui.steps .disabled.step,
377
- .ui.steps .disabled.step .title,
378
- .ui.steps .disabled.step .description {
581
+ .ui.steps@{notCircular} .disabled.step,
582
+ .ui.steps@{notCircular} .disabled.step .title,
583
+ .ui.steps@{notCircular} .disabled.step .description {
379
584
  color: @disabledColor;
380
585
  }
381
- .ui.steps .disabled.step::after {
586
+ .ui.steps@{notCircular} .disabled.step::after {
382
587
  background: @disabledBackground;
383
588
  }
589
+ & when (@variationStepCircular) {
590
+ .ui.circular.steps .disabled.step {
591
+ cursor: auto;
592
+ opacity: @circularStepDisabledItemOpacity;
593
+
594
+ &::before,
595
+ &::after {
596
+ cursor: auto;
597
+ }
598
+ }
599
+ }
384
600
  }
385
601
 
386
602
  /*******************************
@@ -394,31 +610,31 @@
394
610
 
395
611
  /* Tablet Or Below */
396
612
  @media only screen and (max-width: @largestTabletScreen) {
397
- .ui[class*="tablet stackable"].steps {
613
+ .ui[class*="tablet stackable"].steps@{notCircular} {
398
614
  display: inline-flex;
399
615
  overflow: visible;
400
616
  flex-direction: column;
401
617
  }
402
618
 
403
619
  /* Steps */
404
- .ui[class*="tablet stackable"].steps .step {
620
+ .ui[class*="tablet stackable"].steps@{notCircular} .step {
405
621
  flex-direction: column;
406
622
  border-radius: @borderRadius;
407
623
  padding: @verticalPadding @horizontalPadding;
408
624
  border-right: none;
409
625
  border-bottom: @stepsBorder;
410
626
  }
411
- .ui[class*="tablet stackable"].steps .step:first-child {
627
+ .ui[class*="tablet stackable"].steps@{notCircular} .step:first-child {
412
628
  padding: @verticalPadding @horizontalPadding;
413
629
  border-radius: @stepsBorderRadius @stepsBorderRadius 0 0;
414
630
  }
415
- .ui[class*="tablet stackable"].steps .step:last-child {
631
+ .ui[class*="tablet stackable"].steps@{notCircular} .step:last-child {
416
632
  border-radius: 0 0 @stepsBorderRadius @stepsBorderRadius;
417
633
  border-bottom: none;
418
634
  }
419
635
 
420
636
  /* Arrow */
421
- .ui[class*="tablet stackable"].steps .step::after {
637
+ .ui[class*="tablet stackable"].steps@{notCircular} .step::after {
422
638
  top: unset;
423
639
  bottom: -@arrowSize;
424
640
  right: 50%;
@@ -426,7 +642,7 @@
426
642
  }
427
643
 
428
644
  /* Content */
429
- .ui[class*="tablet stackable"].steps .step .content {
645
+ .ui[class*="tablet stackable"].steps@{notCircular} .step .content {
430
646
  text-align: center;
431
647
  }
432
648
 
@@ -456,28 +672,28 @@
456
672
  --------------- */
457
673
 
458
674
  /* Top */
459
- .ui.attached.steps {
675
+ .ui.attached.steps@{notCircular} {
460
676
  width: @attachedWidth !important;
461
677
  margin: 0 @attachedHorizontalOffset @attachedVerticalOffset;
462
678
  max-width: @attachedWidth;
463
679
  border-radius: @stepsBorderRadius @stepsBorderRadius 0 0;
464
680
  }
465
- .ui.attached.steps .step:first-child {
681
+ .ui.attached.steps@{notCircular} .step:first-child {
466
682
  border-radius: @stepsBorderRadius 0 0 0;
467
683
  }
468
- .ui.attached.steps .step:last-child {
684
+ .ui.attached.steps@{notCircular} .step:last-child {
469
685
  border-radius: 0 @stepsBorderRadius 0 0;
470
686
  }
471
687
 
472
688
  /* Bottom */
473
- .ui.bottom.attached.steps {
689
+ .ui.bottom.attached.steps@{notCircular} {
474
690
  margin: @attachedVerticalOffset @attachedHorizontalOffset 0;
475
691
  border-radius: 0 0 @stepsBorderRadius @stepsBorderRadius;
476
692
  }
477
- .ui.bottom.attached.steps .step:first-child {
693
+ .ui.bottom.attached.steps@{notCircular} .step:first-child {
478
694
  border-radius: 0 0 0 @stepsBorderRadius;
479
695
  }
480
- .ui.bottom.attached.steps .step:last-child {
696
+ .ui.bottom.attached.steps@{notCircular} .step:last-child {
481
697
  border-radius: 0 0 @stepsBorderRadius 0;
482
698
  }
483
699
  }
@@ -548,6 +764,12 @@
548
764
  .ui.@{value}.step {
549
765
  font-size: @s;
550
766
  }
767
+ & when (@variationStepCircular) {
768
+ .ui.@{value}.circular.steps@{notVertical} {
769
+ margin: @s 0;
770
+ padding: @s 0;
771
+ }
772
+ }
551
773
  });
552
774
  }
553
775
 
@@ -556,17 +778,17 @@
556
778
  Inverted
557
779
  --------------- */
558
780
 
559
- .ui.inverted.steps {
781
+ .ui.inverted.steps@{notCircular} {
560
782
  border: 1px solid @solidWhiteBorderColor;
561
783
  }
562
784
 
563
- .ui.inverted.steps .step {
785
+ .ui.inverted.steps@{notCircular} .step {
564
786
  color: @invertedTextColor;
565
787
  background: @black;
566
788
  border-color: @solidWhiteBorderColor;
567
789
  }
568
790
 
569
- .ui.inverted.steps .step::after {
791
+ .ui.inverted.steps@{notCircular} .step::after {
570
792
  background-color: @black;
571
793
  border-color: @solidWhiteBorderColor;
572
794
  }
@@ -576,45 +798,141 @@
576
798
  }
577
799
 
578
800
  /* Active */
579
- .ui.inverted.steps .step.active,
580
- .ui.inverted.steps .step.active::after {
801
+ .ui.inverted.steps@{notCircular} .step.active,
802
+ .ui.inverted.steps@{notCircular} .step.active::after {
581
803
  background: @invertedActiveBackground;
582
804
  }
583
- .ui.inverted.ordered.steps .step.active::before,
584
- .ui.inverted.steps .active.step i.icon {
805
+ .ui.inverted.ordered.steps@{notCircular} .step.active::before,
806
+ .ui.inverted.steps@{notCircular} .active.step i.icon {
585
807
  color: @invertedSelectedTextColor;
586
808
  }
587
809
 
588
810
  & when (@variationStepDisabled) {
589
811
  /* Disabled */
590
- .ui.inverted.steps .disabled.step,
591
- .ui.inverted.steps .disabled.step::after {
812
+ .ui.inverted.steps@{notCircular} .disabled.step,
813
+ .ui.inverted.steps@{notCircular} .disabled.step::after {
592
814
  background: @invertedDisabledBackground;
593
815
  }
594
- .ui.inverted.steps .disabled.step,
595
- .ui.inverted.steps .disabled.step .title,
596
- .ui.inverted.steps .disabled.step .description {
816
+ .ui.inverted.steps@{notCircular} .disabled.step,
817
+ .ui.inverted.steps@{notCircular} .disabled.step .title,
818
+ .ui.inverted.steps@{notCircular} .disabled.step .description {
597
819
  color: @invertedDisabledTextColor;
598
820
  }
599
821
  }
600
822
 
601
823
  /* Link Hover */
602
- .ui.inverted.steps .link.step:hover::after,
603
- .ui.inverted.steps .link.step:hover,
604
- .ui.inverted.steps a.step:hover::after,
605
- .ui.inverted.steps a.step:hover {
824
+ .ui.inverted.steps@{notCircular} .link.step:hover::after,
825
+ .ui.inverted.steps@{notCircular} .link.step:hover,
826
+ .ui.inverted.steps@{notCircular} a.step:hover::after,
827
+ .ui.inverted.steps@{notCircular} a.step:hover {
606
828
  background: @invertedHoverBackground;
607
829
  color: @invertedHoveredTextColor;
608
830
  }
609
831
 
610
832
  /* Link Down */
611
- .ui.inverted.steps .link.step:active::after,
612
- .ui.inverted.steps .link.step:active,
613
- .ui.inverted.steps a.step:active::after,
614
- .ui.inverted.steps a.step:active {
833
+ .ui.inverted.steps@{notCircular} .link.step:active::after,
834
+ .ui.inverted.steps@{notCircular} .link.step:active,
835
+ .ui.inverted.steps@{notCircular} a.step:active::after,
836
+ .ui.inverted.steps@{notCircular} a.step:active {
615
837
  background: @invertedActiveHoverBackground;
616
838
  color: @invertedPressedTextColor;
617
839
  }
840
+ & when (@variationStepCircular) {
841
+ /* Circular Step */
842
+ .ui.inverted.circular.steps {
843
+ & .step .content {
844
+ color: @invertedTextColor;
845
+ }
846
+
847
+ &@{notVertical} {
848
+ & .step:not(.completed) {
849
+ background: @invertedTextColor;
850
+ }
851
+ & .step:not(.active):not(.completed)::before {
852
+ border-color: @invertedTextColor;
853
+ }
854
+ & .step .center.aligned.content .title {
855
+ background: @invertedCircularStepContentCenterAlignedBackground;
856
+ }
857
+ }
858
+ &:not(.ordered) .step:not(.active):not(.completed)::after {
859
+ background: @invertedTextColor;
860
+ }
861
+
862
+ & when (@variationStepVertical) {
863
+ &.vertical {
864
+ & .step:not(.active):not(.completed)::before {
865
+ border-color: @invertedTextColor;
866
+ }
867
+ & .step:not(.completed) .content::before {
868
+ background: @invertedTextColor;
869
+ }
870
+ }
871
+ }
872
+ }
873
+ }
874
+ }
875
+
876
+ & when (@variationStepCircular) and not (@variationStepColors = false) {
877
+ each(@variationStepColors, {
878
+ @variation: @value;
879
+ @color: @colors[@@variation][color];
880
+
881
+ .ui.ui.circular.steps .step.@{variation} {
882
+ &::before {
883
+ border-color: @color;
884
+ }
885
+ &::after {
886
+ background: @color;
887
+ }
888
+ }
889
+ .ui.ui.@{variation}.circular.steps .step, .ui.ui.ui.circular.steps .step.@{variation} {
890
+ &.active::before {
891
+ border-color: @color;
892
+ }
893
+ &.active::after {
894
+ background: @color;
895
+ }
896
+ &.completed::before {
897
+ background: @color;
898
+ border-color: @color;
899
+ }
900
+ }
901
+ .ui.ui.@{variation}.circular.steps@{notVertical} .step, .ui.ui.ui.circular.steps@{notVertical} .step.@{variation} {
902
+ &.completed {
903
+ background: @color;
904
+ }
905
+ }
906
+ .ui.ui.circular.steps@{notVertical} .step.@{variation} {
907
+ background: @color;
908
+ }
909
+ .ui.ui.@{variation}.circular.steps .step, .ui.ui.ui.circular.steps .step.@{variation} {
910
+ &.active .content .title {
911
+ color: @color;
912
+ }
913
+ }
914
+ & when (@variationStepVertical) {
915
+ .ui.ui.vertical.circular.steps .step.completed.@{variation} .content::before {
916
+ border-color: @color;
917
+ }
918
+ .ui.ui.@{variation}.vertical.circular.steps .step, .ui.ui.vertical.circular.steps .step.@{variation} {
919
+ &.completed .content::before {
920
+ border-color: @color;
921
+ }
922
+ }
923
+ }
924
+
925
+ & when (@variationStepOrdered) {
926
+ .ui.ui.@{variation}.circular.ordered.steps .step, .ui.ui.circular.ordered.steps .step.@{variation} {
927
+ &::after {
928
+ background: transparent;
929
+ }
930
+ &.active::before {
931
+ color: @color;
932
+ }
933
+ }
934
+ }
935
+ });
618
936
  }
619
937
 
620
938
  // stylelint-disable no-invalid-position-at-import-rule