@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,8 +1,16 @@
1
1
  // stylelint-disable property-no-vendor-prefix
2
- html {
2
+ :root {
3
3
  font-size: 16px;
4
- scroll-behavior: smooth;
5
4
  height: 100%;
5
+
6
+ --#{$variable-prefix}card-bg: #{$card-bg};
7
+ --#{$variable-prefix}card-bg-rgb: #{to-rgb($card-bg)};
8
+
9
+ --#{$variable-prefix}border-color: #{$border-color};
10
+ --#{$variable-prefix}border-color-rgb: #{to-rgb($border-color)};
11
+
12
+ --#{$variable-prefix}border-color-light: #{$border-color-light};
13
+ --#{$variable-prefix}border-color-light-rgb: #{to-rgb($border-color-light)};
6
14
  }
7
15
 
8
16
  body {
@@ -14,12 +22,22 @@ body {
14
22
  position: relative;
15
23
  min-height: 100%;
16
24
 
17
- * {
18
- @include scrollbar;
19
- }
25
+ -webkit-font-smoothing: antialiased;
26
+ -moz-osx-font-smoothing: grayscale;
20
27
 
21
28
  @media print {
22
29
  background: transparent;
23
30
  }
24
31
  }
25
32
 
33
+ @include scrollbar;
34
+
35
+ //
36
+ // Fluid container
37
+ //
38
+ [data-container-layout="fluid"] {
39
+ [class^="container-"],
40
+ [class*=" container-"] {
41
+ max-width: 100%;
42
+ }
43
+ }
@@ -0,0 +1,168 @@
1
+ /*!
2
+ * Tabler (v0.9.0): _dark.scss
3
+ * Copyright 2018-2021 The Tabler Authors
4
+ * Copyright 2018-2021 codecalm
5
+ * Licensed under MIT (https://github.com/tabler/tabler/blob/master/LICENSE)
6
+ */
7
+
8
+ // stylelint-disable declaration-no-important
9
+ body:not(.theme-dark) .hide-theme-light {
10
+ display: none !important;
11
+ }
12
+
13
+ @include dark-mode {
14
+ & {
15
+ --#{$variable-prefix}body-color: #{$dark-mode-text};
16
+ --#{$variable-prefix}body-color-rgb: #{to-rgb($dark-mode-text)};
17
+
18
+ --#{$variable-prefix}body-bg: #{$dark-mode-darken};
19
+ --#{$variable-prefix}body-bg-rgb: #{to-rgb($dark-mode-darken)};
20
+
21
+ --#{$variable-prefix}card-bg: #{$dark};
22
+ --#{$variable-prefix}card-bg-rgb: #{to-rgb($dark)};
23
+
24
+ --#{$variable-prefix}border-color: #{$dark-mode-border-color};
25
+ --#{$variable-prefix}border-color-light: #{$dark-mode-border-color-light};
26
+
27
+ color: $dark-mode-text;
28
+ background-color: $dark-mode-darken;
29
+ }
30
+
31
+ .hide-theme-dark {
32
+ display: none !important;
33
+ }
34
+
35
+ .text-body {
36
+ color: $dark-mode-text!important;
37
+ }
38
+
39
+ .card,
40
+ .card-footer,
41
+ .card-stacked::after,
42
+ .footer:not(.footer-transparent),
43
+ .modal-content,
44
+ .modal-header,
45
+ .dropdown-menu,
46
+ .alert:not(.alert-important) {
47
+ background-color: $dark;
48
+ color: inherit;
49
+ }
50
+
51
+ .card {
52
+ border-color: transparent;
53
+ }
54
+
55
+ .card-tabs .nav-tabs .nav-link {
56
+ background-color: $dark-mode-darken;
57
+ color: inherit;
58
+ }
59
+
60
+ pre {
61
+ background-color: $dark-mode-darken;
62
+ border-color: $dark-mode-border-color;
63
+ }
64
+
65
+ .card-tabs .nav-tabs .nav-link.active {
66
+ background-color: $dark;
67
+ color: inherit;
68
+ }
69
+
70
+ .btn-white,
71
+ .form-file-button {
72
+ //@include button-variant($dark-mode-lighten, $border-color, $dark-mode-text, rgba($dark, 0), $border-color, $dark-mode-text);
73
+ background-image: none;
74
+ }
75
+
76
+ .form-check-input:not(:checked),
77
+ .form-select,
78
+ .form-file-text,
79
+ .form-control,
80
+ .form-selectgroup-label,
81
+ .form-selectgroup-check,
82
+ .form-imagecheck-figure:before {
83
+ background-color: $dark-mode-darken;
84
+ color: $dark-mode-text;
85
+ border-color: $dark-mode-border-color;
86
+ }
87
+
88
+ .form-control-plaintext {
89
+ color: $dark-mode-text;
90
+ }
91
+
92
+ .input-group-flat .input-group-text {
93
+ background-color: $dark-mode-darken;
94
+ }
95
+
96
+ .input-group-text {
97
+ border-color: $dark-mode-border-color;
98
+ }
99
+
100
+ .highlight {
101
+ background-color: $dark-mode-darken;
102
+ }
103
+
104
+ .avatar {
105
+ --#{$variable-prefix}avatar-bg: #{$dark-mode-lighten};
106
+ }
107
+
108
+ .avatar-list-stacked .avatar {
109
+ box-shadow: 0 0 0 2px $dark;
110
+ }
111
+
112
+ .markdown,
113
+ .markdown>*,
114
+ .accordion-button {
115
+ color: inherit;
116
+ }
117
+
118
+ .btn-close,
119
+ .accordion-button:after {
120
+ filter: $btn-close-white-filter;
121
+ }
122
+
123
+ .apexcharts-text {
124
+ fill: $dark-mode-text;
125
+ }
126
+
127
+ .apexcharts-gridline {
128
+ stroke: var(--#{$variable-prefix}border-color);
129
+ }
130
+
131
+ .apexcharts-legend-text {
132
+ color: inherit !important;
133
+ }
134
+
135
+ .apexcharts-tooltip {
136
+ background: $dark !important;
137
+ border: 1px solid $dark-mode-border-color !important;
138
+ box-shadow: 2px 2px 6px -4px $dark-mode-darken !important;
139
+
140
+ .apexcharts-tooltip-title {
141
+ background: $dark !important;
142
+ border-bottom: 1px solid $dark-mode-border-color !important;
143
+ }
144
+ }
145
+
146
+ .navbar-brand-autodark {
147
+ @include autodark-image;
148
+ }
149
+
150
+ .table thead th,
151
+ .input-group-text {
152
+ background: transparent;
153
+ }
154
+
155
+ .list-group-item {
156
+ color: $dark-mode-text;
157
+ border-color: $border-color-transparent;
158
+ }
159
+
160
+ .list-group-header {
161
+ background: $dark-mode-darken;
162
+ }
163
+
164
+ .apexcharts-radialbar-area {
165
+ stroke: $dark-mode-border-color;
166
+ }
167
+ }
168
+
@@ -58,7 +58,7 @@
58
58
 
59
59
  @mixin navbar-dark {
60
60
  @include navbar-color($dark, $navbar-dark-color, $navbar-dark-brand-color, $navbar-dark-active-color, $navbar-dark-disabled-color);
61
- @include scrollbar(true);
61
+ @include scrollbar;
62
62
 
63
63
  .input-icon-addon {
64
64
  color: rgba($dark-mode-text, .64);
@@ -291,7 +291,7 @@ Navbar toggler
291
291
  width: 1.25em;
292
292
  background: currentColor;
293
293
  border-radius: 10px;
294
- transition: $navbar-toggler-animation-time $navbar-toggler-animation-time top, $navbar-toggler-animation-time $navbar-toggler-animation-time bottom, $navbar-toggler-animation-time transform, 0s $navbar-toggler-animation-time opacity;
294
+ @include transition(top $navbar-toggler-animation-time $navbar-toggler-animation-time, bottom $navbar-toggler-animation-time $navbar-toggler-animation-time, transform $navbar-toggler-animation-time, opacity 0s $navbar-toggler-animation-time);
295
295
  position: relative;
296
296
 
297
297
  &:before,
@@ -304,7 +304,7 @@ Navbar toggler
304
304
  background: inherit;
305
305
  position: absolute;
306
306
  left: 0;
307
- transition: inherit;
307
+ @include transition(inherit);
308
308
  }
309
309
 
310
310
  &:before {
@@ -317,7 +317,7 @@ Navbar toggler
317
317
 
318
318
  .navbar-toggler[aria-expanded="true"] & {
319
319
  transform: rotate(45deg);
320
- transition: .3s top, .3s bottom, .3s .3s transform, 0s .3s opacity;
320
+ @include transition(top $transition-time, bottom $transition-time, transform $transition-time $transition-time, opacity 0s $transition-time);
321
321
 
322
322
  &:before {
323
323
  top: 0;
@@ -390,7 +390,7 @@ Navbar vertical
390
390
  bottom: 0;
391
391
  z-index: $zindex-fixed;
392
392
  align-items: flex-start;
393
- transition: .3s transform;
393
+ @include transition(transform $transition-time);
394
394
  overflow-x: auto;
395
395
 
396
396
  &.navbar-right {
@@ -399,7 +399,7 @@ Navbar vertical
399
399
  }
400
400
 
401
401
  .navbar-brand {
402
- padding: (($navbar-height - $navbar-brand-image-height) / 2) 0;
402
+ padding: (($navbar-height - $navbar-brand-image-height) * .5) 0;
403
403
  justify-content: center;
404
404
  }
405
405
 
@@ -97,7 +97,7 @@
97
97
  margin: 0;
98
98
  font-size: $h2-font-size;
99
99
  line-height: $h2-line-height;
100
- font-weight: $font-weight-medium;
100
+ font-weight: $font-weight-bold;
101
101
  color: inherit;
102
102
  display: flex;
103
103
  align-items: center;
@@ -1,7 +1,3 @@
1
- @function hex-to-rgb($hex) {
2
- @return red($hex), green($hex), blue($hex);
3
- }
4
-
5
1
  @function theme-color-lighter($color, $transparent: false) {
6
2
  @if ($transparent) {
7
3
  @return rgba($color, .1);
@@ -14,6 +10,20 @@
14
10
  @return shade-color($color, 10%);
15
11
  }
16
12
 
13
+ @function theme-colors($social: true) {
14
+ $colors: $theme-colors;
15
+
16
+ @if $enable-extra-colors {
17
+ $colors: map-merge($colors, $extra-colors);
18
+ }
19
+
20
+ @if ($enable-social-colors and $social) {
21
+ $colors: map-merge($colors, $social-colors);
22
+ }
23
+
24
+ @return $colors;
25
+ }
26
+
17
27
  @function str-replace($string, $search, $replace: "") {
18
28
  $index: str-index($string, $search);
19
29
 
@@ -13,41 +13,28 @@
13
13
  }
14
14
  }
15
15
 
16
- @mixin scrollbar($is-dark: false) {
17
- &::-webkit-scrollbar {
16
+ @mixin scrollbar {
17
+ #{if(&, "&", "*")}::-webkit-scrollbar {
18
18
  width: 6px;
19
19
  height: 6px;
20
- transition: .3s background;
20
+ @include transition(background $transition-time);
21
21
  }
22
22
 
23
- &::-webkit-scrollbar-thumb {
23
+ #{if(&, "&", "*")}::-webkit-scrollbar-thumb {
24
24
  border-radius: 5px;
25
-
26
- @if ($is-dark) {
27
- background: transparent;
28
- } @else {
29
- background: $gray-600;
30
- }
25
+ background: rgba(var(--#{$variable-prefix}body-color-rgb), .16);
31
26
  }
32
27
 
33
- &::-webkit-scrollbar-track {
34
- @if ($is-dark) {
35
- background: transparent;
36
- } @else {
37
- background: $gray-300;
38
- }
28
+ #{if(&, "&", "*")}::-webkit-scrollbar-track {
29
+ background: rgba(var(--#{$variable-prefix}body-color-rgb), .06);
39
30
  }
40
31
 
41
- &::-webkit-scrollbar-corner {
42
- background: transparent;
32
+ #{if(&, "&", "*")}:hover::-webkit-scrollbar-thumb {
33
+ background: rgba(var(--#{$variable-prefix}body-color-rgb), .32);
43
34
  }
44
35
 
45
- &:hover::-webkit-scrollbar-thumb {
46
- @if ($is-dark) {
47
- background: mix($white, $dark, 20%);
48
- } @else {
49
- background: $gray-600;
50
- }
36
+ #{if(&, "&", "*")}::-webkit-scrollbar-corner {
37
+ background: transparent;
51
38
  }
52
39
  }
53
40
 
@@ -72,16 +59,18 @@
72
59
  }
73
60
  }
74
61
 
75
- @media not print and (prefers-color-scheme: dark) {
76
- @if ($selector) {
77
- .theme-dark-auto & {
78
- @content
79
- }
80
- } @else {
81
- .theme-dark-auto {
82
- @content
62
+ @media not print {
63
+ @media (prefers-color-scheme: dark) {
64
+ @if ($selector) {
65
+ .theme-dark-auto & {
66
+ @content
67
+ }
68
+ } @else {
69
+ .theme-dark-auto {
70
+ @content
71
+ }
83
72
  }
84
73
  }
85
74
  }
86
75
  }
87
- }
76
+ }
@@ -2,4 +2,6 @@
2
2
 
3
3
  @import "vendor/nouislider";
4
4
  @import "vendor/litepicker";
5
- @import "vendor/choices";
5
+ @import "vendor/tom-select";
6
+ @import "vendor/apexcharts";
7
+ @import "vendor/jsvectormap";
@@ -1,2 +1,2 @@
1
- @import "tabler-core";
1
+ @import "core";
2
2
 
@@ -11,6 +11,7 @@
11
11
  &:not(.collapsed) {
12
12
  font-weight: $font-weight-bold;
13
13
  border-bottom-color: transparent;
14
+ box-shadow: none;
14
15
 
15
16
  &:after {
16
17
  opacity: 1;
@@ -50,5 +50,5 @@
50
50
  line-height: $h4-line-height;
51
51
  font-weight: $font-weight-bold;
52
52
  margin-bottom: .25rem;
53
- color: var(--tblr-alert-color);
53
+ color: var(--#{$variable-prefix}alert-color);
54
54
  }
@@ -1,5 +1,6 @@
1
1
  .avatar {
2
2
  --#{$variable-prefix}avatar-size: #{$avatar-size};
3
+ --#{$variable-prefix}avatar-bg: var(--#{$variable-prefix}border-color-light);
3
4
  position: relative;
4
5
  width: var(--#{$variable-prefix}avatar-size);
5
6
  height: var(--#{$variable-prefix}avatar-size);
@@ -13,12 +14,12 @@
13
14
  text-transform: uppercase;
14
15
  vertical-align: bottom;
15
16
  user-select: none;
16
- background: $gray-200 no-repeat center/cover;
17
+ background: var(--#{$variable-prefix}avatar-bg) no-repeat center/cover;
17
18
  border-radius: $avatar-border-radius;
18
19
 
19
20
  svg {
20
- width: calc(var(--tblr-avatar-size) / #{(40 / 24)});
21
- height: calc(var(--tblr-avatar-size) / #{(40 / 24)});
21
+ width: calc(var(--#{$variable-prefix}avatar-size) / #{divide(40, 24)});
22
+ height: calc(var(--#{$variable-prefix}avatar-size) / #{divide(40, 24)});
22
23
  }
23
24
 
24
25
  .badge {
@@ -44,8 +45,8 @@
44
45
  }
45
46
 
46
47
  .avatar-#{$avatar-size} .badge:empty {
47
- width: $size / 4;
48
- height: $size / 4;
48
+ width: $size * .25;
49
+ height: $size * .25;
49
50
  }
50
51
  }
51
52
 
@@ -88,7 +89,7 @@
88
89
  border: 1px dashed $border-color;
89
90
  background: $form-check-input-bg;
90
91
  flex-direction: column;
91
- transition: .3s color, .3s background-color;
92
+ @include transition(color $transition-time, background-color $transition-time);
92
93
 
93
94
  svg {
94
95
  width: 1.5rem;
@@ -111,7 +112,7 @@
111
112
 
112
113
  .page-avatar {
113
114
  .page-cover ~ * & {
114
- margin-top: calc(calc(-1 * calc(var(--tblr-avatar-size) / 2)) - #{$content-padding-y});
115
+ margin-top: calc(calc(-1 * calc(var(--#{$variable-prefix}avatar-size) * .5)) - #{$content-padding-y});
115
116
  box-shadow: 0 0 0 .25rem $body-bg;
116
117
  }
117
118
  }
@@ -1,19 +1,15 @@
1
1
  .badge {
2
- display: inline-flex;
3
2
  justify-content: center;
4
3
  align-items: center;
5
4
  background: $gray-500;
6
5
  overflow: hidden;
7
6
  user-select: none;
8
- padding: calc(.25rem - 1px) .25rem;
9
- height: 1.25rem;
10
7
  border: 1px solid transparent;
11
- min-width: 1.25rem;
8
+ min-width: ($badge-padding-y * 2 ) + (divide($badge-font-size, 100%) * 1em);
12
9
  font-weight: $headings-font-weight;
13
- font-size: $h6-font-size;
14
10
  letter-spacing: .04em;
15
- text-transform: uppercase;
16
11
  vertical-align: bottom;
12
+ text-transform: uppercase;
17
13
 
18
14
  @at-root a#{&} {
19
15
  color: $white;
@@ -40,7 +36,7 @@
40
36
  width: 1em;
41
37
  height: 1em;
42
38
  font-size: 1rem;
43
- margin: 0 .25rem 0 0;
39
+ stroke-width: 2;
44
40
  }
45
41
  }
46
42
 
@@ -51,6 +47,5 @@
51
47
  }
52
48
 
53
49
  .badge-pill {
54
- border-radius: 100px;
55
- min-width: 1.75em;
50
+ border-radius: $border-radius-pill;
56
51
  }
@@ -23,8 +23,6 @@
23
23
 
24
24
  @each $name, $symbol in $breadcrumb-variants {
25
25
  .breadcrumb-#{$name} {
26
- .breadcrumb-item + .breadcrumb-item:before {
27
- content: $symbol;
28
- }
26
+ --#{$variable-prefix}breadcrumb-divider: "#{quote($symbol)}";
29
27
  }
30
28
  }
@@ -1,21 +1,22 @@
1
1
  .btn {
2
+ --#{$variable-prefix}btn-color-text-rgb: var(--#{$variable-prefix}body-color-rgb);
3
+
2
4
  display: inline-flex;
3
5
  align-items: center;
4
6
  justify-content: center;
5
- color: $body-color;
6
- background-color: $white;
7
- border-color: $border-color-dark-transparent;
7
+ border-color: var(--#{$variable-prefix}border-color);
8
8
  white-space: nowrap;
9
9
 
10
+ background-color: var(--#{$variable-prefix}btn-color, var(--#{$variable-prefix}card-bg));
11
+ color: var(--#{$variable-prefix}btn-color-text);
12
+
10
13
  &:hover {
11
- color: $body-color;
12
- border-color: $text-muted-light;
13
- background-color: $light;
14
+ color: var(--#{$variable-prefix}btn-color-text);
15
+ border-color: rgba(var(--#{$variable-prefix}btn-color-text-rgb), #{$border-active-opacity});
14
16
  }
15
17
 
16
- &:focus {
17
- border-color: rgba(var(--#{$variable-prefix}btn-color, hex-to-rgb($primary)), .5);
18
- box-shadow: 0 0 0 $input-btn-focus-width rgba(var(--#{$variable-prefix}btn-color, hex-to-rgb($primary)), $input-btn-focus-color-opacity)
18
+ &:focus:not([disabled]):not(.disabled) {
19
+ border-color: var(--#{$variable-prefix}btn-color, #{$primary});
19
20
  }
20
21
 
21
22
  &:disabled,
@@ -29,7 +30,7 @@
29
30
  min-width: $icon-size;
30
31
  margin: 0 .5rem 0 -.25rem;
31
32
  vertical-align: bottom;
32
- color: $text-muted;
33
+ color: inherit;
33
34
  }
34
35
 
35
36
  .avatar {
@@ -49,45 +50,36 @@
49
50
  }
50
51
 
51
52
  %btn-color {
52
- background-color: rgba(var(--#{$variable-prefix}btn-color), 1);
53
- color: var(--#{$variable-prefix}btn-color-text);
54
-
55
- .icon {
56
- color: inherit;
57
- }
53
+ border-color: $border-color-dark-transparent;
58
54
 
59
55
  &:hover {
60
56
  color: var(--#{$variable-prefix}btn-color-text);
61
- background: rgba(var(--#{$variable-prefix}btn-color-darker), 1);
62
- border-color: transparent;
57
+ background: var(--#{$variable-prefix}btn-color-interactive);
58
+ border-color: var(--#{$variable-prefix}btn-color);
63
59
  }
64
60
  }
65
61
 
66
62
  %btn-outline {
67
63
  background-color: transparent;
68
- color: rgba(var(--#{$variable-prefix}btn-color), 1);
69
- border-color: $border-color-transparent;
70
-
71
- .icon {
72
- color: inherit;
73
- }
64
+ color: var(--#{$variable-prefix}btn-color);
65
+ border-color: var(--#{$variable-prefix}btn-color);
74
66
 
75
67
  &:hover {
76
- background-color: rgba(var(--#{$variable-prefix}btn-color), 1);
68
+ background-color: var(--#{$variable-prefix}btn-color);
77
69
  color: var(--#{$variable-prefix}btn-color-text);
78
- border-color: rgba(var(--#{$variable-prefix}btn-color), 1);
70
+ border-color: var(--#{$variable-prefix}btn-color);
79
71
  }
80
72
  }
81
73
 
82
74
  %btn-ghost {
83
75
  background: transparent;
84
- color: rgba(var(--#{$variable-prefix}btn-color), 1);
76
+ color: var(--#{$variable-prefix}btn-color);
85
77
  border-color: transparent;
86
78
 
87
79
  &:hover {
88
- background-color: rgba(var(--#{$variable-prefix}btn-color), 1);
80
+ background-color: var(--#{$variable-prefix}btn-color);
89
81
  color: var(--#{$variable-prefix}btn-color-text);
90
- border-color: rgba(var(--#{$variable-prefix}btn-color), 1);
82
+ border-color: var(--#{$variable-prefix}btn-color);
91
83
  }
92
84
  }
93
85
 
@@ -180,23 +172,15 @@
180
172
  }
181
173
  }
182
174
 
183
-
184
- $btn-colors: $theme-colors;
185
-
186
- @if $enable-extra-colors {
187
- $btn-colors: map-merge($btn-colors, $colors);
188
- }
189
-
190
- @if $enable-social-colors {
191
- $btn-colors: map-merge($btn-colors, $social-colors);
192
- }
193
-
194
- @each $name, $color in $btn-colors {
175
+ //
176
+ // Button color variations
177
+ //
178
+ @each $name, $color in theme-colors() {
195
179
  .btn-#{$name},
196
180
  .btn-outline-#{$name},
197
181
  .btn-ghost-#{$name} {
198
- --#{$variable-prefix}btn-color: #{hex-to-rgb($color)};
199
- --#{$variable-prefix}btn-color-darker: #{hex-to-rgb(theme-color-darker($color))};
182
+ --#{$variable-prefix}btn-color: #{$color};
183
+ --#{$variable-prefix}btn-color-interactive: #{theme-color-darker($color)};
200
184
  --#{$variable-prefix}btn-color-text: #{color-contrast($color)};
201
185
  }
202
186
 
@@ -28,8 +28,8 @@
28
28
  }
29
29
 
30
30
  .calendar-date {
31
- flex: 0 0 (100% / 7);
32
- max-width: (100% / 7);
31
+ flex: 0 0 divide(100%, 7);
32
+ max-width: divide(100%, 7);
33
33
  padding: .2rem;
34
34
  text-align: center;
35
35
  border: 0;
@@ -55,7 +55,7 @@
55
55
  border: 1px solid transparent;
56
56
  border-radius: $border-radius-pill;
57
57
  outline: 0;
58
- transition: background .3s, border .3s, box-shadow .32s, color .3s;
58
+ @include transition(background $transition-time, border $transition-time, box-shadow .32s, color $transition-time);
59
59
 
60
60
  &:hover {
61
61
  color: $primary;