@tabler/core 1.0.0-beta14 → 1.0.0-beta16

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 (108) hide show
  1. package/dist/css/demo.css +4 -4
  2. package/dist/css/demo.min.css +2 -2
  3. package/dist/css/demo.rtl.css +4 -4
  4. package/dist/css/demo.rtl.min.css +2 -2
  5. package/dist/css/tabler-flags.css +4 -4
  6. package/dist/css/tabler-flags.min.css +3 -3
  7. package/dist/css/tabler-flags.rtl.css +4 -4
  8. package/dist/css/tabler-flags.rtl.min.css +3 -3
  9. package/dist/css/tabler-payments.css +4 -4
  10. package/dist/css/tabler-payments.min.css +3 -3
  11. package/dist/css/tabler-payments.rtl.css +4 -4
  12. package/dist/css/tabler-payments.rtl.min.css +3 -3
  13. package/dist/css/tabler-vendors.css +7 -23
  14. package/dist/css/tabler-vendors.min.css +3 -3
  15. package/dist/css/tabler-vendors.rtl.css +7 -23
  16. package/dist/css/tabler-vendors.rtl.min.css +3 -3
  17. package/dist/css/tabler.css +2057 -1252
  18. package/dist/css/tabler.min.css +4 -4
  19. package/dist/css/tabler.rtl.css +2059 -1250
  20. package/dist/css/tabler.rtl.min.css +4 -4
  21. package/dist/js/demo-theme.js +2 -2
  22. package/dist/js/demo-theme.min.js +2 -2
  23. package/dist/js/demo.js +8 -20
  24. package/dist/js/demo.min.js +2 -2
  25. package/dist/js/tabler.esm.js +2 -2
  26. package/dist/js/tabler.esm.min.js +2 -2
  27. package/dist/js/tabler.js +2 -2
  28. package/dist/js/tabler.min.js +2 -2
  29. package/dist/libs/apexcharts/dist/apexcharts.amd.js +1 -1
  30. package/dist/libs/apexcharts/dist/apexcharts.common.js +4 -4
  31. package/dist/libs/apexcharts/dist/apexcharts.css +193 -303
  32. package/dist/libs/apexcharts/dist/apexcharts.esm.js +4 -4
  33. package/dist/libs/apexcharts/dist/apexcharts.js +22774 -22066
  34. package/dist/libs/apexcharts/dist/apexcharts.min.js +4 -4
  35. package/dist/libs/tom-select/dist/js/plugins/caret_position.js +57 -8
  36. package/dist/libs/tom-select/dist/js/plugins/caret_position.js.map +1 -1
  37. package/dist/libs/tom-select/dist/js/plugins/change_listener.js +2 -2
  38. package/dist/libs/tom-select/dist/js/plugins/change_listener.js.map +1 -1
  39. package/dist/libs/tom-select/dist/js/plugins/checkbox_options.js +57 -8
  40. package/dist/libs/tom-select/dist/js/plugins/checkbox_options.js.map +1 -1
  41. package/dist/libs/tom-select/dist/js/plugins/clear_button.js +57 -8
  42. package/dist/libs/tom-select/dist/js/plugins/clear_button.js.map +1 -1
  43. package/dist/libs/tom-select/dist/js/plugins/drag_drop.js +1 -1
  44. package/dist/libs/tom-select/dist/js/plugins/dropdown_header.js +57 -8
  45. package/dist/libs/tom-select/dist/js/plugins/dropdown_header.js.map +1 -1
  46. package/dist/libs/tom-select/dist/js/plugins/dropdown_input.js +58 -9
  47. package/dist/libs/tom-select/dist/js/plugins/dropdown_input.js.map +1 -1
  48. package/dist/libs/tom-select/dist/js/plugins/input_autogrow.js +2 -2
  49. package/dist/libs/tom-select/dist/js/plugins/input_autogrow.js.map +1 -1
  50. package/dist/libs/tom-select/dist/js/plugins/no_active_items.js +1 -1
  51. package/dist/libs/tom-select/dist/js/plugins/no_backspace_delete.js +1 -1
  52. package/dist/libs/tom-select/dist/js/plugins/optgroup_columns.js +57 -8
  53. package/dist/libs/tom-select/dist/js/plugins/optgroup_columns.js.map +1 -1
  54. package/dist/libs/tom-select/dist/js/plugins/remove_button.js +58 -9
  55. package/dist/libs/tom-select/dist/js/plugins/remove_button.js.map +1 -1
  56. package/dist/libs/tom-select/dist/js/plugins/restore_on_backspace.js +1 -1
  57. package/dist/libs/tom-select/dist/js/plugins/virtual_scroll.js +57 -8
  58. package/dist/libs/tom-select/dist/js/plugins/virtual_scroll.js.map +1 -1
  59. package/dist/libs/tom-select/dist/js/tom-select.base.js +77 -39
  60. package/dist/libs/tom-select/dist/js/tom-select.base.js.map +1 -1
  61. package/dist/libs/tom-select/dist/js/tom-select.base.min.js +132 -133
  62. package/dist/libs/tom-select/dist/js/tom-select.base.min.js.map +1 -1
  63. package/dist/libs/tom-select/dist/js/tom-select.complete.js +77 -39
  64. package/dist/libs/tom-select/dist/js/tom-select.complete.js.map +1 -1
  65. package/dist/libs/tom-select/dist/js/tom-select.complete.min.js +157 -158
  66. package/dist/libs/tom-select/dist/js/tom-select.complete.min.js.map +1 -1
  67. package/dist/libs/tom-select/dist/js/tom-select.popular.js +77 -39
  68. package/dist/libs/tom-select/dist/js/tom-select.popular.js.map +1 -1
  69. package/dist/libs/tom-select/dist/js/tom-select.popular.min.js +144 -145
  70. package/dist/libs/tom-select/dist/js/tom-select.popular.min.js.map +1 -1
  71. package/package.json +45 -25
  72. package/src/scss/{_mixins-override.scss → _bootstrap-override.scss} +9 -2
  73. package/src/scss/_config.scss +1 -1
  74. package/src/scss/_core.scss +2 -0
  75. package/src/scss/_variables.scss +28 -14
  76. package/src/scss/layout/_animations.scss +62 -0
  77. package/src/scss/layout/_page.scss +1 -1
  78. package/src/scss/layout/_root.scss +1 -1
  79. package/src/scss/mixins/_functions.scss +2 -1
  80. package/src/scss/mixins/_mixins.scss +6 -24
  81. package/src/scss/ui/_alerts.scss +4 -4
  82. package/src/scss/ui/_avatars.scss +2 -13
  83. package/src/scss/ui/_badges.scss +28 -7
  84. package/src/scss/ui/_breadcrumbs.scss +23 -1
  85. package/src/scss/ui/_button-group.scss +14 -0
  86. package/src/scss/ui/_buttons.scss +32 -15
  87. package/src/scss/ui/_calendars.scss +1 -1
  88. package/src/scss/ui/_cards.scss +3 -3
  89. package/src/scss/ui/_dropdowns.scss +1 -1
  90. package/src/scss/ui/_empty.scss +2 -2
  91. package/src/scss/ui/_forms.scss +4 -20
  92. package/src/scss/ui/_icons.scss +26 -57
  93. package/src/scss/ui/_images.scss +7 -2
  94. package/src/scss/ui/_lists.scss +5 -5
  95. package/src/scss/ui/_loaders.scss +2 -12
  96. package/src/scss/ui/_modals.scss +1 -1
  97. package/src/scss/ui/_nav.scss +1 -1
  98. package/src/scss/ui/_pagination.scss +1 -1
  99. package/src/scss/ui/_ribbons.scss +2 -2
  100. package/src/scss/ui/_steps.scss +81 -59
  101. package/src/scss/ui/_type.scss +8 -2
  102. package/src/scss/ui/forms/_form-check.scss +1 -1
  103. package/src/scss/ui/forms/_form-colorinput.scss +1 -2
  104. package/src/scss/ui/forms/_form-imagecheck.scss +1 -1
  105. package/src/scss/ui/forms/_form-selectgroup.scss +4 -4
  106. package/src/scss/ui/typo/_hr.scss +1 -1
  107. package/src/scss/utils/_colors.scss +12 -7
  108. package/src/scss/vendor/_tom-select.scss +1 -0
@@ -6,9 +6,12 @@
6
6
  --#{$prefix}btn-bg: var(--#{$prefix}bg-surface);
7
7
  --#{$prefix}btn-color: var(--#{$prefix}body-color);
8
8
  --#{$prefix}btn-border-color: var(--#{$prefix}border-color);
9
- --#{$prefix}btn-hover-bg: var(--#{$prefix}bg-surface);
9
+ --#{$prefix}btn-hover-bg: var(--#{$prefix}btn-bg);
10
10
  --#{$prefix}btn-hover-border-color: var(--#{$prefix}border-color-active);
11
11
  --#{$prefix}btn-box-shadow: var(--#{$prefix}shadow-button);
12
+ --#{$prefix}btn-active-color: #{$active-color};
13
+ --#{$prefix}btn-active-bg: #{$active-bg};
14
+ --#{$prefix}btn-active-border-color: #{$active-border-color};
12
15
 
13
16
  display: inline-flex;
14
17
  align-items: center;
@@ -38,6 +41,12 @@
38
41
  .badge {
39
42
  top: auto;
40
43
  }
44
+
45
+ .btn-check + &:hover {
46
+ color: var(--#{$prefix}btn-hover-color);
47
+ background-color: var(--#{$prefix}btn-hover-bg);
48
+ border-color: var(--#{$prefix}btn-hover-border-color);
49
+ }
41
50
  }
42
51
 
43
52
  .btn-link {
@@ -96,9 +105,23 @@
96
105
  }
97
106
  }
98
107
 
99
- @each $color, $value in $theme-colors {
100
- .btn-ghost-#{$color} {
101
- @include button-ghost-variant($value);
108
+ @each $name, $color in $theme-colors {
109
+ .btn-ghost-#{$name} {
110
+ --#{$prefix}btn-color: var(--#{$prefix}#{$name});
111
+ --#{$prefix}btn-bg: transparent;
112
+ --#{$prefix}btn-border-color: transparent;
113
+ --#{$prefix}btn-hover-color: var(--#{$prefix}#{$name}-fg);
114
+ --#{$prefix}btn-hover-bg: var(--#{$prefix}#{$name});
115
+ --#{$prefix}btn-hover-border-color: var(--#{$prefix}#{$name});
116
+ --#{$prefix}btn-active-color: var(--#{$prefix}#{$name}-fg);
117
+ --#{$prefix}btn-active-bg: var(--#{$prefix}#{$name});
118
+ --#{$prefix}btn-active-border-color: transparent;
119
+ --#{$prefix}btn-active-shadow: #{$btn-active-box-shadow};
120
+ --#{$prefix}btn-disabled-color: var(--#{$prefix}#{$name});
121
+ --#{$prefix}btn-disabled-bg: transparent;
122
+ --#{$prefix}btn-disabled-border-color: transparent;
123
+ --#{$prefix}gradient: none;
124
+ --#{$prefix}btn-box-shadow: none;
102
125
  }
103
126
  }
104
127
 
@@ -150,14 +173,7 @@
150
173
  // Button list
151
174
  //
152
175
  .btn-list {
153
- display: flex;
154
- flex-wrap: wrap;
155
- margin-bottom: -.5rem !important;
156
- margin-right: -.5rem;
157
-
158
- > * {
159
- margin: 0 .5rem .5rem 0 !important;
160
- }
176
+ @include elements-list;
161
177
  }
162
178
 
163
179
  //
@@ -207,13 +223,14 @@
207
223
  .btn-action {
208
224
  padding: 0;
209
225
  border: 0;
210
- color: $text-muted;
226
+ color: var(--#{$prefix}muted);
211
227
  display: inline-flex;
212
228
  width: 2rem;
213
229
  height: 2rem;
214
230
  align-items: center;
215
231
  justify-content: center;
216
232
  border-radius: var(--#{$prefix}border-radius);
233
+ background: transparent;
217
234
 
218
235
  &:after {
219
236
  content: none;
@@ -226,8 +243,8 @@
226
243
 
227
244
  &:hover,
228
245
  &.show {
229
- color: $body-color;
230
- background: $body-bg;
246
+ color: var(--#{$prefix}body-color);
247
+ background: var(--#{$prefix}active-bg);
231
248
  }
232
249
 
233
250
  &.show {
@@ -24,7 +24,7 @@
24
24
  }
25
25
 
26
26
  .calendar-header {
27
- color: $text-muted;
27
+ color: var(--#{$prefix}muted);
28
28
  }
29
29
 
30
30
  .calendar-date {
@@ -276,7 +276,7 @@ Stacked card
276
276
  }
277
277
 
278
278
  .card-meta {
279
- color: $text-muted;
279
+ color: var(--#{$prefix}muted);
280
280
  }
281
281
 
282
282
  .card-title {
@@ -298,7 +298,7 @@ Stacked card
298
298
 
299
299
  .card-subtitle {
300
300
  margin-bottom: $card-title-spacer-y;
301
- color: $text-muted;
301
+ color: var(--#{$prefix}muted);
302
302
  font-weight: normal;
303
303
 
304
304
  .card-header & {
@@ -365,7 +365,7 @@ Card optinos
365
365
  display: inline-block;
366
366
  min-width: 1rem;
367
367
  margin-left: .25rem;
368
- color: $text-muted;
368
+ color: var(--#{$prefix}muted);
369
369
  }
370
370
 
371
371
 
@@ -26,7 +26,7 @@
26
26
  width: $icon-size !important;
27
27
  height: $icon-size !important;
28
28
  margin-right: .5rem;
29
- color: $text-muted;
29
+ color: var(--#{$prefix}muted);
30
30
  opacity: $text-muted-opacity;
31
31
  text-align: center;
32
32
  }
@@ -17,7 +17,7 @@
17
17
  width: 3rem;
18
18
  height: 3rem;
19
19
  line-height: 1;
20
- color: $text-muted;
20
+ color: var(--#{$prefix}muted);
21
21
 
22
22
  svg {
23
23
  width: 100%;
@@ -40,7 +40,7 @@
40
40
  font-size: 4rem;
41
41
  font-weight: var(--#{$prefix}font-weight-light);
42
42
  line-height: 1;
43
- color: $text-muted;
43
+ color: var(--#{$prefix}muted);
44
44
  }
45
45
 
46
46
  .empty-title {
@@ -24,7 +24,7 @@ Form label
24
24
  .form-label-description {
25
25
  float: right;
26
26
  font-weight: var(--#{$prefix}font-weight-normal);
27
- color: $text-muted;
27
+ color: var(--#{$prefix}muted);
28
28
  }
29
29
 
30
30
  /**
@@ -32,7 +32,7 @@ Form hint
32
32
  */
33
33
  .form-hint {
34
34
  display: block;
35
- color: $text-muted;
35
+ color: var(--#{$prefix}muted);
36
36
 
37
37
  &:last-child {
38
38
  margin-bottom: 0;
@@ -73,29 +73,13 @@ Form control
73
73
 
74
74
  &:disabled,
75
75
  &.disabled {
76
- color: $text-muted;
76
+ color: var(--#{$prefix}muted);
77
77
  user-select: none;
78
78
  }
79
79
 
80
80
  &[size] {
81
81
  width: auto;
82
82
  }
83
-
84
- &[type="number"] {
85
- &::-webkit-inner-spin-button {
86
- opacity: 1;
87
- cursor: pointer;
88
- height: subtract($input-height, 1px);
89
- margin: 0 (-$input-padding-x) 0 0;
90
- }
91
-
92
- &::-moz-inner-spin-button {
93
- opacity: 1;
94
- cursor: pointer;
95
- height: subtract($input-height, 1px);
96
- margin: 0 (-$input-padding-x) 0 0;
97
- }
98
- }
99
83
  }
100
84
 
101
85
  .form-control-light {
@@ -155,7 +139,7 @@ Form help
155
139
  width: 1.125rem;
156
140
  height: 1.125rem;
157
141
  font-size: .75rem;
158
- color: $text-muted;
142
+ color: var(--#{$prefix}muted);
159
143
  text-align: center;
160
144
  text-decoration: none;
161
145
  cursor: pointer;
@@ -1,7 +1,11 @@
1
+ //
2
+ // Icon component
3
+ //
1
4
  .icon {
2
- width: $font-size-base * $line-height-base;
3
- height: $font-size-base * $line-height-base;
4
- font-size: $font-size-base * $line-height-base;
5
+ --#{$prefix}icon-size: #{$font-size-base * $line-height-base};
6
+ width: var(--#{$prefix}icon-size);
7
+ height: var(--#{$prefix}icon-size);
8
+ font-size: var(--#{$prefix}icon-size);
5
9
  vertical-align: bottom;
6
10
 
7
11
  @if $icon-stroke-width {
@@ -13,91 +17,56 @@
13
17
  }
14
18
  }
15
19
 
20
+ //
21
+ // Inline icon
22
+ //
16
23
  .icon-inline {
17
- width: 1rem;
18
- height: 1rem;
19
- font-size: 1rem;
24
+ --#{$prefix}icon-size: 1rem;
20
25
  vertical-align: -.2rem;
21
26
  }
22
27
 
28
+ //
29
+ // Filled icon
30
+ //
23
31
  .icon-filled {
24
32
  fill: currentColor;
25
33
  }
26
34
 
35
+ //
36
+ // Icon size
37
+ //
27
38
  .icon-sm {
28
- width: 1rem;
29
- height: 1rem;
39
+ --#{$prefix}icon-size: 1rem;
30
40
  stroke-width: 1;
31
41
  }
32
42
 
33
43
  .icon-md {
34
- width: 2.5rem;
35
- height: 2.5rem;
44
+ --#{$prefix}icon-size: 2.5rem;
36
45
  stroke-width: 1;
37
46
  }
38
47
 
39
48
  .icon-lg {
40
- width: 3.5rem;
41
- height: 3.5rem;
49
+ --#{$prefix}icon-size: 3.5rem;
42
50
  stroke-width: 1;
43
51
  }
44
52
 
45
- @keyframes icon-pulse {
46
- from {
47
- opacity: 1;
48
- transform: scale3d(.8, .8, .8)
49
- }
50
- 50% {
51
- transform: scale3d(1, 1, 1);
52
- opacity: 1
53
- }
54
- to {
55
- opacity: 1;
56
- transform: scale3d(.8, .8, .8)
57
- }
58
- }
59
-
53
+ //
54
+ // Icons animation
55
+ //
60
56
  .icon-pulse {
61
57
  transition: all .15s ease 0s;
62
- animation: icon-pulse 2s ease infinite;
58
+ animation: pulse 2s ease infinite;
63
59
  animation-fill-mode: both
64
60
  }
65
61
 
66
- @keyframes icon-tada {
67
- 0% {
68
- transform: scale3d(1, 1, 1)
69
- }
70
- 10%, 5% {
71
- transform: scale3d(.9, .9, .9) rotate3d(0, 0, 1, -5deg)
72
- }
73
- 15%, 25%, 35%, 45% {
74
- transform: scale3d(1.1, 1.1, 1.1) rotate3d(0, 0, 1, 5deg)
75
- }
76
- 20%, 30%, 40% {
77
- transform: scale3d(1.1, 1.1, 1.1) rotate3d(0, 0, 1, -5deg)
78
- }
79
- 50% {
80
- transform: scale3d(1, 1, 1)
81
- }
82
- }
83
-
84
62
  .icon-tada {
85
63
  transition: all .15s ease 0s;
86
- animation: icon-tada 3s ease infinite;
64
+ animation: tada 3s ease infinite;
87
65
  animation-fill-mode: both
88
66
  }
89
67
 
90
- @keyframes icon-rotate {
91
- from {
92
- transform: rotate(0deg);
93
- }
94
- to {
95
- transform: rotate(360deg);
96
- }
97
- }
98
-
99
68
  .icon-rotate {
100
69
  transition: all .15s ease 0s;
101
- animation: icon-rotate 3s linear infinite;
70
+ animation: rotate-360 3s linear infinite;
102
71
  animation-fill-mode: both
103
72
  }
@@ -1,10 +1,15 @@
1
1
  .img-responsive {
2
+ --#{$prefix}img-responsive-ratio: #{percentage(.75)};
2
3
  background: no-repeat center/cover;
3
- padding-top: percentage(.75);
4
+ padding-top: var(--#{$prefix}img-responsive-ratio);
5
+ }
6
+
7
+ .img-responsive-grid {
8
+ padding-top: calc(var(--#{$prefix}img-responsive-ratio) - calc(var(--#{$prefix}gutter-y) / 2));
4
9
  }
5
10
 
6
11
  @each $key, $ratio in $aspect-ratios {
7
12
  .img-responsive-#{$key} {
8
- padding-top: $ratio;
13
+ --#{$prefix}img-responsive-ratio: #{$ratio};
9
14
  }
10
15
  }
@@ -91,7 +91,7 @@ Timeline
91
91
  .list-timeline-time {
92
92
  float: right;
93
93
  margin-left: 1rem;
94
- color: $text-muted;
94
+ color: var(--#{$prefix}muted);
95
95
  }
96
96
 
97
97
  .list-timeline-icon {
@@ -105,7 +105,7 @@ Timeline
105
105
  height: 2.5rem;
106
106
  color: $white;
107
107
  text-align: center;
108
- background: $text-muted;
108
+ background: var(--#{$prefix}muted);
109
109
  border-radius: $border-radius-pill;
110
110
 
111
111
  .icon {
@@ -134,9 +134,9 @@ Timeline
134
134
  left: add(7.5rem, 2px);
135
135
  z-index: 1;
136
136
  display: block;
137
- width: 4px;
137
+ width: 2px;
138
138
  content: "";
139
- background-color: $body-bg;
139
+ background-color: var(--#{$prefix}border-color);
140
140
  }
141
141
 
142
142
  & > li {
@@ -175,7 +175,7 @@ Timeline
175
175
  border: 0;
176
176
 
177
177
  .icon {
178
- color: $text-muted;
178
+ color: var(--#{$prefix}muted);
179
179
  }
180
180
 
181
181
  &.active {
@@ -1,13 +1,3 @@
1
- @keyframes loader {
2
- from {
3
- transform: rotate(0deg);
4
- }
5
-
6
- to {
7
- transform: rotate(360deg);
8
- }
9
- }
10
-
11
1
  .loader {
12
2
  position: relative;
13
3
  display: block;
@@ -23,13 +13,13 @@
23
13
  width: 100%;
24
14
  height: 100%;
25
15
  content: "";
26
- border: 1px solid;
16
+ border: 1px var(--#{$prefix}border-style);
27
17
  border-color: transparent;
28
18
  border-top-color: currentColor;
29
19
  border-left-color: currentColor;
30
20
 
31
21
  border-radius: $border-radius-pill;
32
- animation: loader .6s linear;
22
+ animation: rotate-360 .6s linear;
33
23
  animation-iteration-count: infinite;
34
24
  }
35
25
  }
@@ -29,7 +29,7 @@
29
29
  left: 0;
30
30
  right: 0;
31
31
  height: $modal-status-size;
32
- background: $text-muted;
32
+ background: var(--#{$prefix}muted);
33
33
  border-radius: $modal-content-border-radius $modal-content-border-radius 0 0;
34
34
  }
35
35
 
@@ -39,7 +39,7 @@
39
39
  margin: 0 0 (- $nav-bordered-border-width);
40
40
  border: 0;
41
41
  border-bottom: $nav-bordered-link-active-border-width var(--#{$prefix}border-style) transparent;
42
- color: $text-muted;
42
+ color: var(--#{$prefix}muted);
43
43
  }
44
44
 
45
45
  .nav-link.active,
@@ -33,7 +33,7 @@
33
33
  .page-item-subtitle {
34
34
  margin-bottom: 2px;
35
35
  font-size: 12px;
36
- color: $text-muted;
36
+ color: var(--#{$prefix}muted);
37
37
  text-transform: uppercase;
38
38
 
39
39
  .page-item.disabled & {
@@ -31,7 +31,7 @@
31
31
  height: 0;
32
32
  content: "";
33
33
  filter: brightness(70%);
34
- border: calc(var(--#{$prefix}ribbon-margin) * .5) solid;
34
+ border: calc(var(--#{$prefix}ribbon-margin) * .5) var(--#{$prefix}border-style);
35
35
  border-color: inherit;
36
36
  border-top-color: transparent;
37
37
  border-right-color: transparent;
@@ -115,7 +115,7 @@
115
115
  width: 0;
116
116
  height: 0;
117
117
  content: "";
118
- border: 1rem solid;
118
+ border: 1rem var(--#{$prefix}border-style);
119
119
  border-color: inherit;
120
120
  border-right-width: 0;
121
121
  border-left-color: transparent;
@@ -1,53 +1,28 @@
1
- // stylelint-disable declaration-no-important
2
-
3
- @mixin step-size($border-width, $dot-size: 1rem) {
4
- .step-item {
5
- padding-top: add($dot-size, 4px);
6
-
7
- &:after {
8
- top: add($dot-size * .5, 2px);
9
- height: $border-width;
10
- }
11
-
12
- &:before {
13
- width: $dot-size;
14
- height: $dot-size;
15
- }
16
- }
17
- }
18
-
19
- @mixin step-color($color) {
20
- .step-item {
21
- &:after,
22
- &:before {
23
- color: $white;
24
- background: $color;
25
- }
26
-
27
- &.active:before {
28
- color: inherit;
29
- border-color: $color;
30
- }
31
- }
32
- }
33
-
1
+ //
2
+ // Steps
3
+ //
34
4
  .steps {
5
+ --#{$prefix}steps-color: #{$steps-color};
6
+ --#{$prefix}steps-inactive-color: #{$steps-inactive-color};
7
+ --#{$prefix}steps-dot-size: .5rem;
8
+ --#{$prefix}steps-border-width: #{$steps-border-width};
35
9
  display: flex;
36
10
  flex-wrap: nowrap;
37
11
  width: 100%;
38
12
  padding: 0;
39
- margin: 2rem 0;
13
+ margin: 0;
40
14
  list-style: none;
41
- @include step-size(2px, .5rem);
42
- @include step-color( var(--#{$prefix}primary) );
43
15
  }
44
16
 
45
- @each $color, $value in $extra-colors {
46
- .steps-#{$color} {
47
- @include step-color($value);
17
+ @each $name, $color in $extra-colors {
18
+ .steps-#{$name} {
19
+ --#{$prefix}steps-color: var(--#{$prefix}#{$name});
48
20
  }
49
21
  }
50
22
 
23
+ //
24
+ // Step item
25
+ //
51
26
  .step-item {
52
27
  position: relative;
53
28
  flex: 1 1 0;
@@ -56,6 +31,7 @@
56
31
  color: inherit;
57
32
  text-align: center;
58
33
  cursor: default;
34
+ padding-top: calc(var(--#{$prefix}steps-dot-size));
59
35
 
60
36
  @at-root a#{&} {
61
37
  cursor: pointer;
@@ -65,66 +41,112 @@
65
41
  }
66
42
  }
67
43
 
68
- &:not(:first-child):after {
44
+ &:after,
45
+ &:before {
46
+ background: var(--#{$prefix}steps-color);
47
+ }
48
+
49
+ &:not(:last-child):after {
69
50
  position: absolute;
70
- left: -50%;
51
+ left: 50%;
71
52
  width: 100%;
72
53
  content: "";
73
54
  transform: translateY(-50%);
74
55
  }
75
56
 
57
+ &:after {
58
+ top: calc(var(--#{$prefix}steps-dot-size) * .5);
59
+ height: var(--#{$prefix}steps-border-width);
60
+ }
61
+
76
62
  &:before {
63
+ content: "";
77
64
  position: absolute;
78
65
  top: 0;
79
66
  left: 50%;
80
67
  z-index: 1;
81
68
  box-sizing: content-box;
82
- display: block;
83
- content: "";
84
- border: 2px var(--#{$prefix}border-style) $card-bg;
69
+ display: flex;
70
+ align-items: center;
71
+ justify-content: center;
85
72
  border-radius: $border-radius-pill;
86
73
  transform: translateX(-50%);
74
+ color: var(--#{$prefix}white);
75
+ width: var(--#{$prefix}steps-dot-size);
76
+ height: var(--#{$prefix}steps-dot-size);
87
77
  }
88
78
 
89
79
  &.active {
90
80
  font-weight: var(--#{$prefix}font-weight-bold);
91
81
 
92
- &:before {
93
- background: $card-bg;
82
+ &:after {
83
+ background: var(--#{$prefix}steps-inactive-color);
94
84
  }
95
85
 
96
86
  & ~ .step-item {
97
- color: $text-muted;
87
+ color: var(--#{$prefix}disabled-color);
98
88
 
99
89
  &:after,
100
90
  &:before {
101
- background: $steps-color-inactive;
102
- }
103
-
104
- &:before {
105
- color: $text-muted !important;
91
+ background: var(--#{$prefix}steps-inactive-color);
106
92
  }
107
93
  }
108
94
  }
109
95
  }
110
96
 
97
+ //
98
+ // Steps counter
99
+ //
111
100
  .steps-counter {
101
+ --#{$prefix}steps-dot-size: 1.5rem;
112
102
  counter-reset: steps;
113
- @include step-size(2px, 1.5rem);
114
103
 
115
104
  .step-item {
116
105
  counter-increment: steps;
117
106
 
118
107
  &:before {
119
- font-size: $h5-font-size;
120
- line-height: 1.5rem;
121
108
  content: counter(steps);
122
109
  }
110
+ }
111
+ }
123
112
 
124
- &.active ~ .step-item {
125
- &:before {
126
- background: $white;
113
+ //
114
+ // Steps vertical
115
+ //
116
+ .steps-vertical {
117
+ --#{$prefix}steps-dot-offset: 6px;
118
+ flex-direction: column;
119
+
120
+ &.steps-counter {
121
+ --#{$prefix}steps-dot-offset: -2px;
122
+ }
123
+
124
+ .step-item {
125
+ text-align: left;
126
+ padding-top: 0;
127
+ padding-left: calc(var(--#{$prefix}steps-dot-size) + 1rem);
128
+ min-height: auto;
129
+
130
+ &:not(:first-child) {
131
+ margin-top: 1rem;
132
+ }
133
+
134
+ &:before {
135
+ top: var(--#{$prefix}steps-dot-offset);
136
+ left: 0;
137
+ transform: translate(0, 0);
138
+ }
139
+
140
+ &:not(:last-child) {
141
+ &:after {
142
+ position: absolute;
143
+ content: '';
144
+ transform: translateX(-50%);
145
+ top: var(--#{$prefix}steps-dot-offset);
146
+ left: calc(var(--#{$prefix}steps-dot-size) * 0.5);
147
+ width: var(--#{$prefix}steps-border-width);
148
+ height: calc(100% + 1rem);
127
149
  }
128
150
  }
129
151
  }
130
- }
152
+ }