@tabler/core 1.0.0-beta2 → 1.0.0-beta6

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 (100) hide show
  1. package/README.md +11 -0
  2. package/dist/.DS_Store +0 -0
  3. package/dist/css/demo.css +398 -238
  4. package/dist/css/demo.min.css +5 -5
  5. package/dist/css/demo.rtl.css +398 -238
  6. package/dist/css/demo.rtl.min.css +5 -5
  7. package/dist/css/tabler-flags.css +531 -268
  8. package/dist/css/tabler-flags.min.css +5 -5
  9. package/dist/css/tabler-flags.rtl.css +531 -268
  10. package/dist/css/tabler-flags.rtl.min.css +5 -5
  11. package/dist/css/tabler-payments.css +254 -129
  12. package/dist/css/tabler-payments.min.css +4 -4
  13. package/dist/css/tabler-payments.rtl.css +254 -129
  14. package/dist/css/tabler-payments.rtl.min.css +4 -4
  15. package/dist/css/tabler-vendors.css +883 -435
  16. package/dist/css/tabler-vendors.min.css +5 -5
  17. package/dist/css/tabler-vendors.rtl.css +883 -435
  18. package/dist/css/tabler-vendors.rtl.min.css +5 -5
  19. package/dist/css/tabler.css +12969 -7006
  20. package/dist/css/tabler.min.css +10 -5
  21. package/dist/css/tabler.rtl.css +12969 -7007
  22. package/dist/js/demo.js +151 -0
  23. package/dist/js/demo.min.js +9 -0
  24. package/dist/js/tabler.esm.js +7843 -0
  25. package/dist/js/tabler.esm.min.js +9 -0
  26. package/dist/js/tabler.js +2426 -2685
  27. package/dist/js/tabler.min.js +5 -5
  28. package/dist/libs/apexcharts/dist/apexcharts.min.js +5 -5
  29. package/dist/libs/bootstrap/dist/js/bootstrap.bundle.min.js +2 -2
  30. package/dist/libs/countup.js/dist/countUp.js +3 -3
  31. package/dist/libs/jsvectormap/dist/js/jsvectormap.min.js +1 -0
  32. package/dist/libs/jsvectormap/dist/maps/world.js +1 -0
  33. package/dist/libs/litepicker/dist/litepicker.js +3 -3
  34. package/dist/libs/nouislider/dist/nouislider.min.js +1 -0
  35. package/dist/libs/tom-select/dist/js/tom-select.base.min.js +302 -0
  36. package/package.json +88 -31
  37. package/src/js/demo.js +98 -0
  38. package/src/js/src/dropdown.js +0 -31
  39. package/src/js/src/tab.js +16 -0
  40. package/src/js/tabler.esm.js +10 -0
  41. package/src/js/tabler.js +3 -0
  42. package/src/scss/_bootstrap-components.scss +3 -0
  43. package/src/scss/_bootstrap-config.scss +1 -0
  44. package/src/scss/{_tabler-core.scss → _core.scss} +4 -2
  45. package/src/scss/_utilities.scss +12 -23
  46. package/src/scss/_variables.scss +102 -70
  47. package/src/scss/demo/_examples.scss +10 -1
  48. package/src/scss/demo.scss +31 -2
  49. package/src/scss/layout/_core.scss +23 -5
  50. package/src/scss/layout/_dark.scss +168 -0
  51. package/src/scss/layout/_navbar.scss +6 -6
  52. package/src/scss/layout/_page.scss +1 -1
  53. package/src/scss/mixins/_functions.scss +14 -4
  54. package/src/scss/mixins/_mixins.scss +22 -33
  55. package/src/scss/tabler-vendors.scss +3 -1
  56. package/src/scss/tabler.scss +1 -1
  57. package/src/scss/ui/_accordion.scss +1 -0
  58. package/src/scss/ui/_alerts.scss +1 -1
  59. package/src/scss/ui/_avatars.scss +8 -7
  60. package/src/scss/ui/_badges.scss +4 -9
  61. package/src/scss/ui/_breadcrumbs.scss +1 -3
  62. package/src/scss/ui/_buttons.scss +27 -43
  63. package/src/scss/ui/_calendars.scss +3 -3
  64. package/src/scss/ui/_cards.scss +8 -9
  65. package/src/scss/ui/_flags.scss +1 -1
  66. package/src/scss/ui/_forms.scss +9 -10
  67. package/src/scss/ui/_grid.scss +2 -2
  68. package/src/scss/ui/_icons.scss +1 -1
  69. package/src/scss/ui/_images.scss +1 -1
  70. package/src/scss/ui/_legend.scss +1 -1
  71. package/src/scss/ui/_lists.scss +2 -2
  72. package/src/scss/ui/_modals.scss +2 -2
  73. package/src/scss/ui/_nav.scss +3 -3
  74. package/src/scss/ui/_offcanvas.scss +21 -0
  75. package/src/scss/ui/_placeholder.scss +9 -0
  76. package/src/scss/ui/_progress.scss +2 -1
  77. package/src/scss/ui/_ribbons.scss +2 -2
  78. package/src/scss/ui/_status.scss +172 -0
  79. package/src/scss/ui/_steps.scss +2 -2
  80. package/src/scss/ui/_switch-icon.scss +5 -5
  81. package/src/scss/ui/_tables.scss +4 -2
  82. package/src/scss/ui/forms/_form-check.scss +3 -3
  83. package/src/scss/ui/forms/_form-colorinput.scss +1 -1
  84. package/src/scss/ui/forms/_form-imagecheck.scss +5 -5
  85. package/src/scss/ui/forms/_form-selectgroup.scss +9 -3
  86. package/src/scss/ui/forms/_validation.scss +1 -1
  87. package/src/scss/utils/_background.scss +2 -2
  88. package/src/scss/utils/_colors.scss +8 -23
  89. package/src/scss/utils/_opacity.scss +1 -1
  90. package/src/scss/vendor/_apexcharts.scss +2 -0
  91. package/src/scss/vendor/_jsvectormap.scss +47 -0
  92. package/src/scss/vendor/_litepicker.scss +8 -3
  93. package/src/scss/vendor/_nouislider.scss +3 -3
  94. package/src/scss/vendor/_tom-select.scss +12 -0
  95. package/dist/css/tabler.rtl.min.css +0 -9
  96. package/dist/libs/choices.js/public/assets/scripts/choices.js +0 -5603
  97. package/dist/libs/nouislider/distribute/nouislider.min.js +0 -2
  98. package/src/scss/_dark.scss +0 -105
  99. package/src/scss/ui/_skeleton.scss +0 -98
  100. package/src/scss/vendor/_choices.scss +0 -61
@@ -1,5 +1,4 @@
1
1
  .border-0 {
2
-
3
2
  .card, .nav-link {
4
3
  border: 0 !important;
5
4
  }
@@ -7,12 +6,12 @@
7
6
  .card-stacked::after {
8
7
  border: 1px solid rgba($text-muted, 0.07) !important;
9
8
  }
10
-
11
9
  }
12
10
 
13
11
  .card {
14
12
  box-shadow: $card-shadow;
15
13
  border: $card-border-width solid $card-border-color;
14
+ background: var(--#{$variable-prefix}card-bg, #{$card-bg});
16
15
 
17
16
  @media print {
18
17
  border: none;
@@ -21,7 +20,7 @@
21
20
 
22
21
  @at-root a#{&} {
23
22
  color: inherit;
24
- transition: .3s box-shadow;
23
+ @include transition(box-shadow $transition-time);
25
24
 
26
25
  &:hover {
27
26
  text-decoration: none;
@@ -94,8 +93,8 @@
94
93
  justify-content: center;
95
94
  padding: $card-spacer-y $card-spacer-x;
96
95
  text-align: center;
97
- transition: .3s background;
98
- border-top: 1px solid $border-color;
96
+ @include transition(background $transition-time);
97
+ border-top: 1px solid var(--#{$variable-prefix}border-color);
99
98
  flex: 1;
100
99
  color: inherit;
101
100
  font-weight: $font-weight-medium;
@@ -105,8 +104,8 @@
105
104
  background: $active-bg;
106
105
  }
107
106
 
108
- &:not(:first-child) {
109
- border-left: 1px solid $border-color;
107
+ & + & {
108
+ border-left: 1px solid var(--#{$variable-prefix}border-color);
110
109
  }
111
110
  }
112
111
 
@@ -187,7 +186,7 @@ Card footer
187
186
 
188
187
  .card-footer-gray {
189
188
  border-top: 0;
190
- background: $min-black;
189
+ background: $gray-50;
191
190
  }
192
191
 
193
192
  .card-progress {
@@ -416,7 +415,7 @@ Card avatar
416
415
  margin-left: auto;
417
416
  margin-right: auto;
418
417
  box-shadow: 0 0 0 .25rem $card-bg;
419
- margin-top: calc(-1 * calc(var(--#{$variable-prefix}avatar-size) / 2));
418
+ margin-top: calc(-1 * calc(var(--#{$variable-prefix}avatar-size) * .5));
420
419
  }
421
420
 
422
421
  /*
@@ -24,7 +24,7 @@ $countries: (
24
24
  background-repeat: no-repeat;
25
25
  background-position: center;
26
26
  background-size: cover;
27
- border: 1px solid $border-color;
27
+ border: 1px solid var(--#{$variable-prefix}border-color);
28
28
  border-radius: 3px;
29
29
  }
30
30
 
@@ -9,6 +9,7 @@ Form label
9
9
  */
10
10
  .form-label {
11
11
  display: block;
12
+ font-weight: $font-weight-medium;
12
13
 
13
14
  &.required {
14
15
  &:after {
@@ -30,11 +31,8 @@ Form hint
30
31
  */
31
32
  .form-hint {
32
33
  display: block;
33
- font-size: $h5-font-size;
34
- line-height: $h5-line-height;
35
34
  color: $text-muted;
36
35
 
37
-
38
36
  &:last-child {
39
37
  margin-bottom: 0;
40
38
  }
@@ -44,7 +42,7 @@ Form hint
44
42
  }
45
43
 
46
44
  .form-label + & {
47
- margin-top: -.5rem;
45
+ margin-top: -.25rem;
48
46
  }
49
47
 
50
48
  .input-group + &,
@@ -59,7 +57,8 @@ Form control
59
57
  */
60
58
  .form-control {
61
59
  &:-webkit-autofill {
62
- box-shadow: 0 0 0 1000px $white inset;
60
+ box-shadow: 0 0 0 1000px var(--#{$variable-prefix}body-bg) inset;
61
+ color: var(--#{$variable-prefix}body-color);
63
62
  }
64
63
 
65
64
  &:disabled,
@@ -130,8 +129,8 @@ Form control
130
129
  .form-fieldset {
131
130
  padding: 1rem;
132
131
  margin-bottom: 1rem;
133
- background: $min-black;
134
- border: 1px solid $border-color;
132
+ background: var(--#{$variable-prefix}border-color-light);
133
+ border: 1px solid var(--#{$variable-prefix}border-color);
135
134
  border-radius: $border-radius;
136
135
  }
137
136
 
@@ -151,9 +150,9 @@ Form help
151
150
  text-decoration: none;
152
151
  cursor: pointer;
153
152
  user-select: none;
154
- background: $min-white;
153
+ background: $gray-100;
155
154
  border-radius: $border-radius-pill;
156
- transition: .3s background-color, .3s color;
155
+ @include transition(background-color $transition-time, color $transition-time);
157
156
 
158
157
  &:hover,
159
158
  &[aria-describedby] {
@@ -199,7 +198,7 @@ Input group
199
198
 
200
199
  .input-group-text {
201
200
  background: transparent;
202
- transition: $input-transition;
201
+ @include transition($input-transition);
203
202
 
204
203
  &:first-child {
205
204
  padding-right: 0;
@@ -64,8 +64,8 @@
64
64
  }
65
65
 
66
66
  @include media-breakpoint-down($cards-grid-breakpoint) {
67
- --#{$variable-prefix}gutter-x: #{$cards-grid-gap / 2};
68
- --#{$variable-prefix}gutter-y: #{$cards-grid-gap / 2};
67
+ --#{$variable-prefix}gutter-x: #{$cards-grid-gap * .5};
68
+ --#{$variable-prefix}gutter-y: #{$cards-grid-gap * .5};
69
69
  }
70
70
  }
71
71
 
@@ -16,7 +16,7 @@
16
16
  .icon-inline {
17
17
  width: 1em;
18
18
  height: 1em;
19
- font-size: (16/14) * 1em;
19
+ font-size: divide(16, 14) * 1em;
20
20
  vertical-align: -0.2em;
21
21
  }
22
22
 
@@ -1,6 +1,6 @@
1
1
  .img-responsive {
2
2
  background: no-repeat center/cover;
3
- padding-top: percentage(3 / 4);
3
+ padding-top: percentage(.75);
4
4
  }
5
5
 
6
6
  @each $key, $ratio in $aspect-ratios {
@@ -1,6 +1,6 @@
1
1
  .legend {
2
2
  display: inline-block;
3
- background: $border-color;
3
+ background: var(--#{$variable-prefix}border-color-light);
4
4
  width: .75em;
5
5
  height: .75em;
6
6
  border-radius: $border-radius;
@@ -11,7 +11,7 @@
11
11
  line-height: 1;
12
12
  text-transform: uppercase;
13
13
  color: $text-muted;
14
- border-bottom: 1px solid $list-group-border-color;
14
+ border-bottom: 1px solid var(--#{$variable-prefix}border-color);
15
15
 
16
16
  .list-group-flush > & {
17
17
  &:last-child {
@@ -34,7 +34,7 @@
34
34
  .list-group-hoverable {
35
35
  .list-group-item-actions {
36
36
  opacity: 0;
37
- transition: .3s opacity;
37
+ @include transition(opacity $transition-time);
38
38
  }
39
39
 
40
40
  .list-group-item:hover .list-group-item-actions,
@@ -19,7 +19,7 @@
19
19
  }
20
20
 
21
21
  & + & {
22
- border-top: 1px solid $border-color;
22
+ border-top: 1px solid var(--#{$variable-prefix}border-color);
23
23
  }
24
24
  }
25
25
 
@@ -44,7 +44,7 @@
44
44
  font-size: $h3-font-size;
45
45
  font-weight: $headings-font-weight;
46
46
  color: $headings-color;
47
- line-height: (24/18);
47
+ line-height: $line-height-base;
48
48
  }
49
49
 
50
50
  .modal-footer {
@@ -11,7 +11,7 @@
11
11
 
12
12
  .nav {
13
13
  margin-left: 1.25rem;
14
- border-left: 1px solid $border-color;
14
+ border-left: 1px solid var(--#{$variable-prefix}border-color);
15
15
  padding-left: .5rem;
16
16
  }
17
17
 
@@ -63,14 +63,14 @@
63
63
 
64
64
  .nav-link {
65
65
  display: flex;
66
- transition: .3s color;
66
+ @include transition(color $transition-time);
67
67
  align-items: center;
68
68
  }
69
69
 
70
70
  .nav-link-toggle {
71
71
  margin-left: auto;
72
72
  padding: 0 .25rem;
73
- transition: .3s transform;
73
+ @include transition(transform $transition-time);
74
74
  @include caret();
75
75
 
76
76
  &:after {
@@ -0,0 +1,21 @@
1
+ .offcanvas {
2
+ background: var(--#{$variable-prefix}card-bg);
3
+ }
4
+
5
+ .offcanvas-header {
6
+ border-bottom: 1px solid $border-color-transparent;
7
+ }
8
+
9
+ .offcanvas-footer {
10
+ padding: $offcanvas-padding-y $offcanvas-padding-x;
11
+ }
12
+
13
+ .offcanvas-title {
14
+ font-size: $h3-font-size;
15
+ font-weight: $font-weight-medium;
16
+ line-height: 1.5rem;
17
+ }
18
+
19
+ .offcanvas-narrow {
20
+ width: 20rem;
21
+ }
@@ -0,0 +1,9 @@
1
+ .placeholder {
2
+ &:not(.btn):not([class*="bg-"]) {
3
+ background-color: currentColor !important;
4
+ }
5
+
6
+ &:not(.avatar):not([class*="card-img-"]), {
7
+ border-radius: $border-radius;
8
+ }
9
+ }
@@ -16,6 +16,7 @@
16
16
  width: 100%;
17
17
  line-height: $progress-height;
18
18
  appearance: none;
19
+ background: var(--#{$variable-prefix}border-color-light);
19
20
 
20
21
  &::-webkit-progress-bar {
21
22
  background: $gray-100;
@@ -62,6 +63,6 @@
62
63
 
63
64
  .progress-separated {
64
65
  .progress-bar {
65
- border-right: 2px solid $white;
66
+ border-right: 2px solid var(--#{$variable-prefix}card-bg, #{$card-bg});
66
67
  }
67
68
  }
@@ -28,14 +28,14 @@
28
28
  height: 0;
29
29
  content: "";
30
30
  filter: brightness(70%);
31
- border: ($ribbon-margin / 2) solid;
31
+ border: ($ribbon-margin * .5) solid;
32
32
  border-color: inherit;
33
33
  border-top-color: transparent;
34
34
  border-right-color: transparent;
35
35
  }
36
36
 
37
37
  @if $enable-extra-colors {
38
- @each $color, $value in $colors {
38
+ @each $color, $value in $extra-colors {
39
39
  &.bg-#{$color} {
40
40
  border-color: $value;
41
41
  }
@@ -0,0 +1,172 @@
1
+ @keyframes status-pulsate-main {
2
+ 40% {
3
+ transform: scale(1.25, 1.25);
4
+ }
5
+ 60% {
6
+ transform: scale(1.25, 1.25);
7
+ }
8
+ }
9
+
10
+ @keyframes status-pulsate-secondary {
11
+ 10% {
12
+ transform: scale(1, 1)
13
+ }
14
+ 30% {
15
+ transform: scale(3, 3)
16
+ }
17
+ 80% {
18
+ transform: scale(3, 3)
19
+ }
20
+ 100% {
21
+ transform: scale(1, 1)
22
+ }
23
+ }
24
+
25
+ @keyframes status-pulsate-tertiary {
26
+ 25% {
27
+ transform: scale(1, 1);
28
+ }
29
+ 80% {
30
+ transform: scale(3, 3);
31
+ opacity: 0;
32
+ }
33
+ 100% {
34
+ transform: scale(3, 3);
35
+ opacity: 0;
36
+ }
37
+ }
38
+
39
+ //
40
+ // Status
41
+ //
42
+ .status {
43
+ --#{$variable-prefix}status-color: #{$text-muted};
44
+ --#{$variable-prefix}status-color-rgb: #{to-rgb($text-muted)};
45
+
46
+ display: inline-flex;
47
+ align-items: center;
48
+ height: 2rem;
49
+ padding: .5rem .75rem;
50
+ gap: .5rem;
51
+ color: var(--#{$variable-prefix}status-color);
52
+ background: rgba(var(--#{$variable-prefix}status-color-rgb), .1);
53
+ font-size: $font-size-base;
54
+ text-transform: none;
55
+ letter-spacing: normal;
56
+ border-radius: $border-radius-pill;
57
+ font-weight: $font-weight-medium;
58
+ line-height: 1;
59
+ margin: 0;
60
+
61
+ .status-dot {
62
+ background: var(--#{$variable-prefix}status-color);
63
+ }
64
+
65
+ .icon {
66
+ font-size: 1.25rem;
67
+ }
68
+ }
69
+
70
+ .status-lite {
71
+ border: 1px solid var(--#{$variable-prefix}border-color) !important;
72
+ background: transparent !important;
73
+ color: var(--#{$variable-prefix}body-text) !important;
74
+ }
75
+
76
+ @each $name, $color in theme-colors() {
77
+ .status-#{$name} {
78
+ --#{$variable-prefix}status-color: #{$color};
79
+ --#{$variable-prefix}status-color-rgb: #{to-rgb($color)};
80
+ }
81
+ }
82
+
83
+ //
84
+ // Status dot
85
+ //
86
+ .status-dot {
87
+ --#{$variable-prefix}status-dot-color: var(--#{$variable-prefix}status-color, #{$text-muted});
88
+ --#{$variable-prefix}status-size: #{$status-dot-size};
89
+ position: relative;
90
+ display: inline-block;
91
+ width: var(--#{$variable-prefix}status-size);
92
+ height: var(--#{$variable-prefix}status-size);
93
+ background: var(--#{$variable-prefix}status-dot-color);
94
+ border-radius: $border-radius-pill;
95
+ }
96
+
97
+ .status-dot-animated {
98
+ &:before {
99
+ content: '';
100
+ position: absolute;
101
+ inset: 0;
102
+ z-index: 0;
103
+ background: inherit;
104
+ border-radius: inherit;
105
+ opacity: .6;
106
+ animation: 1s linear 2s backwards infinite status-pulsate-tertiary;
107
+ }
108
+ }
109
+
110
+ $btn-colors: $theme-colors;
111
+
112
+ @if $enable-extra-colors {
113
+ $btn-colors: map-merge($btn-colors, $extra-colors);
114
+ }
115
+
116
+ @if $enable-social-colors {
117
+ $btn-colors: map-merge($btn-colors, $social-colors);
118
+ }
119
+
120
+ //
121
+ // Status indicator
122
+ //
123
+ .status-indicator {
124
+ --#{$variable-prefix}status-indicator-size: 2.5rem;
125
+ --#{$variable-prefix}status-indicator-color: var(--#{$variable-prefix}status-color, #{$text-muted});
126
+ display: block;
127
+ position: relative;
128
+ width: var(--#{$variable-prefix}status-indicator-size);
129
+ height: var(--#{$variable-prefix}status-indicator-size);
130
+ }
131
+
132
+ .status-indicator-circle {
133
+ --#{$variable-prefix}status-circle-size: .75rem;
134
+ position: absolute;
135
+ left: 50%;
136
+ top: 50%;
137
+ margin: calc(var(--#{$variable-prefix}status-circle-size) / -2) 0 0 calc(var(--#{$variable-prefix}status-circle-size) / -2);
138
+ width: var(--#{$variable-prefix}status-circle-size);
139
+ height: var(--#{$variable-prefix}status-circle-size);
140
+ border-radius: $border-radius-pill;
141
+ background: var(--#{$variable-prefix}status-color);
142
+
143
+ &:nth-child(1) {
144
+ z-index: 3;
145
+ }
146
+
147
+ &:nth-child(2) {
148
+ z-index: 2;
149
+ opacity: .1;
150
+ }
151
+
152
+ &:nth-child(3) {
153
+ z-index: 1;
154
+ opacity: .3;
155
+ }
156
+ }
157
+
158
+ .status-indicator-animated {
159
+ .status-indicator-circle {
160
+ &:nth-child(1) {
161
+ animation: 2s linear 1s infinite backwards status-pulsate-main;
162
+ }
163
+
164
+ &:nth-child(2) {
165
+ animation: 2s linear 1s infinite backwards status-pulsate-secondary;
166
+ }
167
+
168
+ &:nth-child(3) {
169
+ animation: 2s linear 1s infinite backwards status-pulsate-tertiary;
170
+ }
171
+ }
172
+ }
@@ -5,7 +5,7 @@
5
5
  padding-top: add($dot-size, 4px);
6
6
 
7
7
  &:after {
8
- top: add($dot-size / 2, 2px);
8
+ top: add($dot-size * .5, 2px);
9
9
  height: $border-width;
10
10
  }
11
11
 
@@ -42,7 +42,7 @@
42
42
  @include step-color($primary);
43
43
  }
44
44
 
45
- @each $color, $value in $colors {
45
+ @each $color, $value in $extra-colors {
46
46
  .steps-#{$color} {
47
47
  @include step-color($value);
48
48
  }
@@ -57,7 +57,7 @@
57
57
  .switch-icon-fade {
58
58
  .switch-icon-a,
59
59
  .switch-icon-b {
60
- transition: opacity .5s;
60
+ @include transition(opacity .5s);
61
61
  }
62
62
  }
63
63
 
@@ -65,7 +65,7 @@
65
65
  .switch-icon-scale {
66
66
  .switch-icon-a,
67
67
  .switch-icon-b {
68
- transition: opacity .5s, transform .0s .5s;
68
+ @include transition(opacity .5s, transform .0s .5s);
69
69
  }
70
70
 
71
71
  .switch-icon-b {
@@ -75,7 +75,7 @@
75
75
  &.active {
76
76
  .switch-icon-a,
77
77
  .switch-icon-b {
78
- transition: opacity .0s, transform .5s;
78
+ @include transition(opacity .0s, transform .5s);
79
79
  }
80
80
 
81
81
  .switch-icon-b {
@@ -92,7 +92,7 @@
92
92
  .switch-icon-b {
93
93
  backface-visibility: hidden;
94
94
  transform-style: preserve-3d;
95
- transition: opacity 0s .2s, transform .4s ease-in-out;
95
+ @include transition(opacity 0s .2s, transform .4s ease-in-out);
96
96
  }
97
97
 
98
98
  .switch-icon-a {
@@ -127,7 +127,7 @@
127
127
 
128
128
  .switch-icon-a,
129
129
  .switch-icon-b {
130
- transition: opacity .3s, transform .3s;
130
+ @include transition(opacity $transition-time, transform $transition-time);
131
131
  }
132
132
 
133
133
  .switch-icon-a {
@@ -12,11 +12,13 @@
12
12
  }
13
13
  }
14
14
  }
15
+
16
+ >:not(:first-child) {
17
+ border-top-width: $table-border-width;
18
+ }
15
19
  }
16
20
 
17
21
  .table-responsive {
18
- margin-bottom: $spacer;
19
-
20
22
  .table {
21
23
  margin-bottom: 0;
22
24
  }
@@ -11,10 +11,10 @@ Form check
11
11
 
12
12
  .form-check-input {
13
13
  background-size: $form-check-input-width;
14
- margin-top: ($form-check-min-height - $form-check-input-width) / 2;
14
+ margin-top: ($form-check-min-height - $form-check-input-width) * .5;
15
15
 
16
16
  .form-switch & {
17
- transition: .3s background-color, .3s background-position;
17
+ @include transition(background-color$transition-time, background-position $transition-time);
18
18
  }
19
19
  }
20
20
 
@@ -52,7 +52,7 @@ Form switch
52
52
  .form-switch {
53
53
  .form-check-input {
54
54
  height: $form-switch-height;
55
- margin-top: ($form-check-min-height - $form-switch-height) / 2;
55
+ margin-top: ($form-check-min-height - $form-switch-height) * .5;
56
56
  }
57
57
  }
58
58
 
@@ -34,7 +34,7 @@ Color Input
34
34
  background: no-repeat center center/$form-check-input-checked-bg-size;
35
35
  background-image: escape-svg($form-check-input-checked-bg-image);
36
36
  opacity: 0;
37
- transition: .3s opacity;
37
+ @include transition(opacity $transition-time);
38
38
 
39
39
  .form-colorinput-input:checked ~ & {
40
40
  opacity: 1;
@@ -18,7 +18,7 @@ Image check
18
18
  display: block;
19
19
  margin: 0;
20
20
  user-select: none;
21
- border: 1px solid $border-color;
21
+ border: 1px solid var(--#{$variable-prefix}border-color);
22
22
  border-radius: 3px;
23
23
 
24
24
  .form-imagecheck-input:focus ~ & {
@@ -27,7 +27,7 @@ Image check
27
27
  }
28
28
 
29
29
  .form-imagecheck-input:checked ~ & {
30
- border-color: $border-color;
30
+ border-color: $primary;
31
31
  }
32
32
 
33
33
  &:before {
@@ -45,7 +45,7 @@ Image check
45
45
  background: $white;
46
46
  border: 1px solid $border-color;
47
47
  border-radius: 3px;
48
- transition: .3s opacity;
48
+ @include transition(opacity $transition-time);
49
49
 
50
50
  .form-imagecheck-input:checked ~ & {
51
51
  background-color: $form-check-input-checked-bg-color;
@@ -62,7 +62,7 @@ Image check
62
62
  max-width: 100%;
63
63
  display: block;
64
64
  opacity: .64;
65
- transition: .3s opacity;
65
+ @include transition(opacity $transition-time);
66
66
 
67
67
  &:first-child {
68
68
  border-top-left-radius: 2px;
@@ -86,7 +86,7 @@ Image check
86
86
  font-size: $font-size-sm;
87
87
  color: $text-muted;
88
88
  text-align: center;
89
- transition: .3s color;
89
+ @include transition(color $transition-time);
90
90
 
91
91
  .form-imagecheck:hover &,
92
92
  .form-imagecheck-input:focus ~ .form-imagecheck-figure &,
@@ -43,7 +43,7 @@ Select group
43
43
  user-select: none;
44
44
  border: 1px solid $input-border-color;
45
45
  border-radius: 3px;
46
- transition: border-color .3s, background .3s, color .3s;
46
+ @include transition(border-color $transition-time, background $transition-time, color $transition-time);
47
47
 
48
48
  .icon:only-child {
49
49
  margin: 0 -.25rem;
@@ -86,17 +86,23 @@ Select group
86
86
  }
87
87
  }
88
88
 
89
+ .form-selectgroup-check-floated {
90
+ position: absolute;
91
+ top: $input-btn-padding-y;
92
+ right: $input-btn-padding-y;
93
+ }
94
+
89
95
  .form-selectgroup-input:checked + .form-selectgroup-label {
90
96
  z-index: 1;
91
97
  color: $primary;
92
98
  background: rgba($primary, .04);
93
- border-color: $input-focus-border-color;
99
+ border-color: $primary;
94
100
  }
95
101
 
96
102
  .form-selectgroup-input:focus + .form-selectgroup-label {
97
103
  z-index: 2;
98
104
  color: $primary;
99
- border-color: $input-focus-border-color;
105
+ border-color: $primary;
100
106
  box-shadow: $input-btn-focus-box-shadow;
101
107
  }
102
108
 
@@ -1,5 +1,5 @@
1
1
  %validation-lite {
2
- border-color: $input-border-color;
2
+ border-color: var(--#{$variable-prefix}border-color) !important;
3
3
  }
4
4
 
5
5
  @each $state, $data in $form-validation-states {