@tabler/core 1.0.0-beta → 1.0.0-beta10

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 (119) hide show
  1. package/README.md +12 -1
  2. package/dist/.DS_Store +0 -0
  3. package/dist/css/demo.css +399 -240
  4. package/dist/css/demo.min.css +5 -5
  5. package/dist/css/demo.rtl.css +399 -240
  6. package/dist/css/demo.rtl.min.css +5 -5
  7. package/dist/css/tabler-flags.css +535 -268
  8. package/dist/css/tabler-flags.min.css +5 -5
  9. package/dist/css/tabler-flags.rtl.css +535 -268
  10. package/dist/css/tabler-flags.rtl.min.css +5 -5
  11. package/dist/css/tabler-payments.css +258 -129
  12. package/dist/css/tabler-payments.min.css +5 -5
  13. package/dist/css/tabler-payments.rtl.css +258 -129
  14. package/dist/css/tabler-payments.rtl.min.css +5 -5
  15. package/dist/css/tabler-vendors.css +896 -475
  16. package/dist/css/tabler-vendors.min.css +5 -5
  17. package/dist/css/tabler-vendors.rtl.css +896 -475
  18. package/dist/css/tabler-vendors.rtl.min.css +5 -5
  19. package/dist/css/tabler.css +13570 -7082
  20. package/dist/css/tabler.min.css +10 -5
  21. package/dist/css/tabler.rtl.css +13553 -7066
  22. package/dist/css/tabler.rtl.min.css +10 -5
  23. package/dist/js/demo.js +151 -0
  24. package/dist/js/demo.min.js +9 -0
  25. package/dist/js/tabler.esm.js +8114 -0
  26. package/dist/js/tabler.esm.min.js +9 -0
  27. package/dist/js/tabler.js +2986 -2949
  28. package/dist/js/tabler.min.js +5 -5
  29. package/dist/libs/apexcharts/dist/apexcharts.min.js +5 -5
  30. package/dist/libs/bootstrap/dist/js/bootstrap.bundle.min.js +2 -2
  31. package/dist/libs/countup.js/dist/countUp.js +36 -5
  32. package/dist/libs/jsvectormap/dist/js/jsvectormap.min.js +1 -0
  33. package/dist/libs/jsvectormap/dist/maps/world-merc.js +1 -0
  34. package/dist/libs/jsvectormap/dist/maps/world.js +1 -0
  35. package/dist/libs/list.js/dist/list.min.js +2 -0
  36. package/dist/libs/litepicker/dist/litepicker.js +3 -3
  37. package/dist/libs/nouislider/dist/nouislider.min.js +1 -0
  38. package/dist/libs/tom-select/dist/js/tom-select.base.min.js +303 -0
  39. package/package.json +93 -31
  40. package/src/js/demo.js +97 -0
  41. package/src/js/{autosize.js → src/autosize.js} +0 -0
  42. package/src/js/src/dropdown.js +9 -0
  43. package/src/js/{input-mask.js → src/input-mask.js} +0 -0
  44. package/src/js/{popover.js → src/popover.js} +0 -0
  45. package/src/js/{switch-icon.js → src/switch-icon.js} +0 -0
  46. package/src/js/src/tab.js +16 -0
  47. package/src/js/{toast.js → src/toast.js} +0 -0
  48. package/src/js/{tooltip.js → src/tooltip.js} +0 -0
  49. package/src/js/tabler.esm.js +10 -0
  50. package/src/js/tabler.js +10 -7
  51. package/src/scss/_bootstrap-components.scss +3 -0
  52. package/src/scss/_bootstrap-config.scss +1 -0
  53. package/src/scss/{_tabler-core.scss → _core.scss} +5 -2
  54. package/src/scss/_mixins-override.scss +3 -3
  55. package/src/scss/_utilities.scss +12 -23
  56. package/src/scss/_variables.scss +172 -92
  57. package/src/scss/demo/_examples.scss +11 -2
  58. package/src/scss/demo/_highlight.scss +0 -1
  59. package/src/scss/demo.scss +33 -4
  60. package/src/scss/fonts/_webfonts.scss +56 -6
  61. package/src/scss/layout/_core.scss +55 -5
  62. package/src/scss/layout/_dark.scss +195 -0
  63. package/src/scss/layout/_footer.scss +2 -5
  64. package/src/scss/layout/_navbar.scss +20 -10
  65. package/src/scss/layout/_page.scss +80 -15
  66. package/src/scss/mixins/_functions.scss +16 -6
  67. package/src/scss/mixins/_mixins.scss +22 -33
  68. package/src/scss/tabler-vendors.scss +3 -2
  69. package/src/scss/tabler.scss +1 -1
  70. package/src/scss/ui/_accordion.scss +1 -0
  71. package/src/scss/ui/_alerts.scss +8 -3
  72. package/src/scss/ui/_avatars.scss +16 -11
  73. package/src/scss/ui/_badges.scss +19 -6
  74. package/src/scss/ui/_breadcrumbs.scss +9 -17
  75. package/src/scss/ui/_buttons.scss +76 -49
  76. package/src/scss/ui/_calendars.scss +3 -3
  77. package/src/scss/ui/_cards.scss +180 -65
  78. package/src/scss/ui/_carousel.scss +68 -0
  79. package/src/scss/ui/_dropdowns.scss +1 -0
  80. package/src/scss/ui/_flags.scss +1 -1
  81. package/src/scss/ui/_forms.scss +18 -10
  82. package/src/scss/ui/_grid.scss +20 -6
  83. package/src/scss/ui/_icons.scss +10 -3
  84. package/src/scss/ui/_images.scss +1 -1
  85. package/src/scss/ui/_legend.scss +1 -1
  86. package/src/scss/ui/_lists.scss +28 -2
  87. package/src/scss/ui/_markdown.scss +14 -30
  88. package/src/scss/ui/_modals.scss +2 -2
  89. package/src/scss/ui/_nav.scss +26 -36
  90. package/src/scss/ui/_offcanvas.scss +21 -0
  91. package/src/scss/ui/_placeholder.scss +9 -0
  92. package/src/scss/ui/_progress.scss +2 -1
  93. package/src/scss/ui/_ribbons.scss +7 -2
  94. package/src/scss/ui/_status.scss +172 -0
  95. package/src/scss/ui/_steps.scss +2 -2
  96. package/src/scss/ui/_switch-icon.scss +6 -5
  97. package/src/scss/ui/_tables.scss +53 -6
  98. package/src/scss/ui/_toasts.scss +17 -4
  99. package/src/scss/ui/_type.scss +9 -9
  100. package/src/scss/ui/forms/_form-check.scss +11 -3
  101. package/src/scss/ui/forms/_form-colorinput.scss +1 -1
  102. package/src/scss/ui/forms/_form-custom.scss +12 -0
  103. package/src/scss/ui/forms/_form-imagecheck.scss +5 -5
  104. package/src/scss/ui/forms/_form-selectgroup.scss +9 -3
  105. package/src/scss/ui/forms/_validation.scss +1 -1
  106. package/src/scss/utils/_background.scss +2 -2
  107. package/src/scss/utils/_colors.scss +8 -23
  108. package/src/scss/utils/_opacity.scss +1 -1
  109. package/src/scss/vendor/_apexcharts.scss +1 -47
  110. package/src/scss/vendor/_jsvectormap.scss +48 -0
  111. package/src/scss/vendor/_litepicker.scss +8 -3
  112. package/src/scss/vendor/_nouislider.scss +3 -3
  113. package/src/scss/vendor/_tom-select.scss +14 -0
  114. package/dist/libs/choices.js/public/assets/scripts/choices.js +0 -5603
  115. package/dist/libs/nouislider/distribute/nouislider.min.js +0 -2
  116. package/src/js/dropdown.js +0 -40
  117. package/src/scss/_dark.scss +0 -105
  118. package/src/scss/ui/_skeleton.scss +0 -98
  119. package/src/scss/vendor/_choices.scss +0 -61
@@ -1,6 +1,6 @@
1
1
  .example {
2
2
  padding: 2rem;
3
- margin: 2rem 0;
3
+ margin: 1rem 0 2rem;
4
4
  border: 1px solid $border-color;
5
5
  border-radius: 3px 3px 0 0;
6
6
  position: relative;
@@ -79,8 +79,17 @@
79
79
  }
80
80
 
81
81
  @include dark-mode {
82
+ .example {
83
+ background-color: $dark-mode-darken;
84
+ border-color: $dark-mode-border-color;
85
+ }
86
+
87
+ .example-content {
88
+ color: $dark-mode-text;
89
+ }
90
+
82
91
  .example-code {
83
- border: 1px solid $border-color;
92
+ border-color: $dark-mode-border-color;
84
93
  border-top: none;
85
94
  }
86
95
  }
@@ -11,7 +11,6 @@ pre.highlight,
11
11
  max-height: 30rem;
12
12
  margin: 1.5rem 0;
13
13
  overflow: auto;
14
- font-size: $code-font-size;
15
14
  border-radius: $border-radius;
16
15
  @include scrollbar;
17
16
  }
@@ -60,7 +60,7 @@ body.no-transitions * {
60
60
  }
61
61
 
62
62
 
63
- $demo-icon-size: 7rem;
63
+ $demo-icon-size: 4rem;
64
64
  .demo-icons-list {
65
65
  display: flex;
66
66
  flex-wrap: wrap;
@@ -82,11 +82,11 @@ $demo-icon-size: 7rem;
82
82
  flex-direction: column;
83
83
  align-items: center;
84
84
  justify-content: center;
85
- height: $demo-icon-size;
85
+ aspect-ratio: 1;
86
86
  text-align: center;
87
87
  padding: .5rem;
88
- border-right: 1px solid $border-color;
89
- border-bottom: 1px solid $border-color;
88
+ border-right: 1px solid var(--#{$variable-prefix}border-color);
89
+ border-bottom: 1px solid var(--#{$variable-prefix}border-color);
90
90
  color: inherit;
91
91
  cursor: pointer;
92
92
 
@@ -101,3 +101,32 @@ $demo-icon-size: 7rem;
101
101
  }
102
102
  }
103
103
 
104
+
105
+ //
106
+ // Settings
107
+ //
108
+ .settings-btn {
109
+ position: fixed;
110
+ right: -1px;
111
+ top: 10rem;
112
+
113
+ border-top-right-radius: 0;
114
+ border-bottom-right-radius: 0;
115
+ box-shadow: $shadow;
116
+ }
117
+
118
+ .settings-scheme {
119
+ display: inline-block;
120
+ border-radius: 50%;
121
+ height: 3rem;
122
+ width: 3rem;
123
+ position: relative;
124
+ border: 1px solid var(--#{$variable-prefix}border-color);
125
+ box-shadow: $shadow;
126
+
127
+ &-light { background: linear-gradient(135deg, $white 50%, $light 50%); }
128
+ &-mixed { background-image: linear-gradient(135deg, $dark 50%, #fff 50%); }
129
+ &-transparent { background: $light; }
130
+ &-dark { background: $dark; }
131
+ &-colored { background-image: linear-gradient(135deg, var(--#{$variable-prefix}primary) 50%, $light 50%); }
132
+ }
@@ -1,15 +1,65 @@
1
- @if $google-font {
2
- $google-font-url: "https://fonts.googleapis.com/css2?family=" + str-replace($google-font, " ", "+") + ":wght@300;400;500;600;700&display=swap" !default;
1
+ @if $font-google {
2
+ $google-font-url: "https://fonts.googleapis.com/css2?family=" + str-replace($font-google, " ", "+") + ":wght@300;400;500;600;700&display=swap" !default;
3
3
  @import url($google-font-url);
4
+ } @else if $font-local {
5
+ @font-face {
6
+ font-family: $font-local;
7
+ font-style: normal;
8
+ font-display: swap;
9
+ font-weight: 300;
10
+ src: local(''),
11
+ url('#{$assets-base}/fonts/inter-v7-latin-ext_latin-300.woff2') format('woff2'),
12
+ url('#{$assets-base}/fonts/inter-v7-latin-ext_latin-300.woff') format('woff');
13
+ }
14
+
15
+ @font-face {
16
+ font-family: $font-local;
17
+ font-style: normal;
18
+ font-display: swap;
19
+ font-weight: 400;
20
+ src: local(''),
21
+ url('#{$assets-base}/fonts/inter-v7-latin-ext_latin-regular.woff2') format('woff2'),
22
+ url('#{$assets-base}/fonts/inter-v7-latin-ext_latin-regular.woff') format('woff');
23
+ }
24
+
25
+ @font-face {
26
+ font-family: $font-local;
27
+ font-style: normal;
28
+ font-display: swap;
29
+ font-weight: 500;
30
+ src: local(''),
31
+ url('#{$assets-base}/fonts/inter-v7-latin-ext_latin-500.woff2') format('woff2'),
32
+ url('#{$assets-base}/fonts/inter-v7-latin-ext_latin-500.woff') format('woff');
33
+ }
34
+
35
+ @font-face {
36
+ font-family: $font-local;
37
+ font-style: normal;
38
+ font-display: swap;
39
+ font-weight: 600;
40
+ src: local(''),
41
+ url('#{$assets-base}/fonts/inter-v7-latin-ext_latin-600.woff2') format('woff2'),
42
+ url('#{$assets-base}/fonts/inter-v7-latin-ext_latin-600.woff') format('woff');
43
+ }
44
+
45
+ @font-face {
46
+ font-family: $font-local;
47
+ font-style: normal;
48
+ font-display: swap;
49
+ font-weight: 700;
50
+ src: local(''),
51
+ url('#{$assets-base}/fonts/inter-v7-latin-ext_latin-700.woff2') format('woff2'),
52
+ url('#{$assets-base}/fonts/inter-v7-latin-ext_latin-700.woff') format('woff');
53
+ }
4
54
  }
5
55
 
6
- @if $google-font-monospaced {
7
- $google-font-monospaced-url: "https://fonts.googleapis.com/css2?family=" + str-replace($google-font-monospaced, " ", "+") + ":wght@300;400;500;600;700&display=swap" !default;
56
+ @if $font-google-monospaced {
57
+ $google-font-monospaced-url: "https://fonts.googleapis.com/css2?family=" + str-replace($font-google-monospaced, " ", "+") + ":wght@300;400;500;600;700&display=swap" !default;
8
58
  @import url($google-font-monospaced-url);
9
59
  }
10
60
 
11
- @if $icon-fonts {
12
- @each $icon-font in $icon-fonts {
61
+ @if $font-icons {
62
+ @each $icon-font in $font-icons {
13
63
  @import url($icon-font);
14
64
  }
15
65
  }
@@ -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,54 @@ body {
14
22
  position: relative;
15
23
  min-height: 100%;
16
24
 
17
- .content * {
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
+ .layout-fluid {
39
+ .container,
40
+ [class^="container-"],
41
+ [class*=" container-"] {
42
+ max-width: 100%;
43
+ }
44
+ }
45
+
46
+ //
47
+ // Boxed container
48
+ //
49
+ .layout-boxed {
50
+ --#{$variable-prefix}theme-boxed-border-radius: 0;
51
+ --#{$variable-prefix}theme-boxed-width: #{map-get($container-max-widths, xxl)};
52
+
53
+ @include media-breakpoint-up(md) {
54
+ background: $dark linear-gradient(to right, rgba(#fff, .1), transparent) fixed;
55
+ padding: 1rem;
56
+ --#{$variable-prefix}theme-boxed-border-radius: #{$border-radius};
57
+ }
58
+
59
+ .page {
60
+ margin: 0 auto;
61
+ max-width: var(--#{$variable-prefix}theme-boxed-width);
62
+ border-radius: var(--#{$variable-prefix}theme-boxed-border-radius);
63
+ color: $body-color;
64
+
65
+ @include media-breakpoint-up(md) {
66
+ border: 1px solid var(--tblr-border-color);
67
+ background: var(--tblr-body-bg);
68
+ }
69
+
70
+ > .navbar:first-child {
71
+ border-top-left-radius: var(--#{$variable-prefix}theme-boxed-border-radius);
72
+ border-top-right-radius: var(--#{$variable-prefix}theme-boxed-border-radius);
73
+ }
74
+ }
75
+ }
@@ -0,0 +1,195 @@
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
+ --#{$variable-prefix}btn-color: #{$dark};
28
+
29
+ color: $dark-mode-text;
30
+ background-color: $dark-mode-darken;
31
+ }
32
+
33
+ .page {
34
+ color: $dark-mode-text;
35
+ }
36
+
37
+ .hide-theme-dark {
38
+ display: none !important;
39
+ }
40
+
41
+ .text-body {
42
+ color: $dark-mode-text!important;
43
+ }
44
+
45
+ .card,
46
+ .card-footer,
47
+ .card-stacked::after,
48
+ .footer:not(.footer-transparent),
49
+ .modal-content,
50
+ .modal-header,
51
+ .dropdown-menu,
52
+ .toast,
53
+ .toast-header,
54
+ .alert:not(.alert-important) {
55
+ background-color: $dark;
56
+ color: inherit;
57
+ }
58
+
59
+ .card {
60
+ border-color: transparent;
61
+ }
62
+
63
+ .card-tabs .nav-tabs .nav-link {
64
+ background-color: $dark-mode-darken;
65
+ color: inherit;
66
+ }
67
+
68
+ pre {
69
+ background-color: $dark-mode-darken;
70
+ border-color: $dark-mode-border-color;
71
+ }
72
+
73
+ .card-tabs .nav-tabs .nav-link.active {
74
+ background-color: $dark;
75
+ color: inherit;
76
+ }
77
+
78
+ .btn-white,
79
+ .form-file-button {
80
+ //@include button-variant($dark-mode-lighten, $border-color, $dark-mode-text, rgba($dark, 0), $border-color, $dark-mode-text);
81
+ background-image: none;
82
+ }
83
+
84
+ .form-check-input:not(:checked),
85
+ .form-select,
86
+ .form-file-text,
87
+ .form-control,
88
+ .form-selectgroup-label,
89
+ .form-selectgroup-check,
90
+ .form-imagecheck-figure:before {
91
+ background-color: $dark-mode-darken;
92
+ color: $dark-mode-text;
93
+ border-color: $dark-mode-border-color;
94
+ }
95
+
96
+ .form-control-plaintext {
97
+ color: $dark-mode-text;
98
+ }
99
+
100
+ .input-group-flat .input-group-text {
101
+ background-color: $dark-mode-darken;
102
+ }
103
+
104
+ .input-group-text {
105
+ border-color: $dark-mode-border-color;
106
+ }
107
+
108
+ .highlight {
109
+ background-color: $dark-mode-darken;
110
+ }
111
+
112
+ .avatar {
113
+ --#{$variable-prefix}avatar-bg: #{$dark-mode-lighten};
114
+ }
115
+
116
+ .avatar-list-stacked .avatar {
117
+ box-shadow: 0 0 0 2px $dark;
118
+ }
119
+
120
+ .markdown,
121
+ .markdown>*,
122
+ .accordion-button {
123
+ color: inherit;
124
+ }
125
+
126
+ .btn-close,
127
+ .accordion-button:after {
128
+ filter: $btn-close-white-filter;
129
+ }
130
+
131
+ .apexcharts-text {
132
+ fill: $dark-mode-text;
133
+ }
134
+
135
+ .apexcharts-gridline {
136
+ stroke: var(--#{$variable-prefix}border-color);
137
+ }
138
+
139
+ .apexcharts-legend-text {
140
+ color: inherit !important;
141
+ }
142
+
143
+ .apexcharts-tooltip {
144
+ background: $dark !important;
145
+ border: 1px solid $dark-mode-border-color !important;
146
+ box-shadow: 2px 2px 6px -4px $dark-mode-darken !important;
147
+
148
+ .apexcharts-tooltip-title {
149
+ background: $dark !important;
150
+ border-bottom: 1px solid $dark-mode-border-color !important;
151
+ }
152
+ }
153
+
154
+ .navbar-brand-autodark {
155
+ @include autodark-image;
156
+ }
157
+
158
+ .table thead th,
159
+ .input-group-text {
160
+ background: transparent;
161
+ }
162
+
163
+ .list-group-header {
164
+ background: $dark-mode-darken;
165
+ }
166
+
167
+ .list-group-item {
168
+ border-color: $border-color-transparent;
169
+ }
170
+
171
+ .list-group-item:not(.disabled):not(:disabled) {
172
+ color: $dark-mode-text;
173
+ }
174
+
175
+ .list-group-item {
176
+ &.disabled,
177
+ &:disabled {
178
+ color: $gray-600;
179
+ }
180
+ }
181
+
182
+ .apexcharts-radialbar-area {
183
+ stroke: $dark-mode-border-color;
184
+ }
185
+
186
+ .form-control.is-invalid,
187
+ .was-validated .form-control:invalid {
188
+ border-color: var(--#{$variable-prefix}danger);
189
+ }
190
+
191
+ .form-control.is-valid,
192
+ .was-validated .form-control:valid {
193
+ border-color: var(--#{$variable-prefix}success);
194
+ }
195
+ }
@@ -1,15 +1,12 @@
1
1
  .footer {
2
2
  border-top: 1px solid $footer-border-color;
3
3
  background-color: $footer-bg;
4
- padding: 2rem 0;
4
+ padding: $footer-padding-y 0;
5
5
  color: $text-muted;
6
-
7
- margin-bottom: (-$content-padding-y);
8
- margin-top: $content-padding-y;
6
+ margin-top: auto;
9
7
  }
10
8
 
11
9
  .footer-transparent {
12
- margin-top: 0;
13
10
  background-color: transparent;
14
11
  border-top: 0;
15
12
  }
@@ -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);
@@ -112,6 +112,7 @@
112
112
  display: flex;
113
113
  width: auto;
114
114
  padding-left: add($container-padding-x, 1.75rem);
115
+ color: inherit;
115
116
  }
116
117
 
117
118
  .dropdown-menu .dropdown-item {
@@ -124,12 +125,12 @@
124
125
  }
125
126
 
126
127
  .dropdown-toggle:after {
127
- margin-inline-start: auto;
128
+ margin-left: auto;
128
129
  }
129
130
 
130
131
  .nav-item.active:after {
131
132
  border-bottom-width: 0;
132
- border-left-width: 2px;
133
+ border-left-width: 3px;
133
134
  right: auto;
134
135
  top: 0;
135
136
  bottom: 0;
@@ -240,8 +241,16 @@ Navbar
240
241
 
241
242
  &.navbar-vertical {
242
243
  ~ .navbar,
243
- ~ .content {
244
- margin-inline-start: $sidebar-width;
244
+ ~ .page-wrapper {
245
+ margin-left: $sidebar-width;
246
+ }
247
+ }
248
+
249
+ &.navbar-vertical.navbar-right {
250
+ ~ .navbar,
251
+ ~ .page-wrapper {
252
+ margin-left: 0;
253
+ margin-right: $sidebar-width;
245
254
  }
246
255
  }
247
256
  }
@@ -283,7 +292,7 @@ Navbar toggler
283
292
  width: 1.25em;
284
293
  background: currentColor;
285
294
  border-radius: 10px;
286
- 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;
295
+ @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);
287
296
  position: relative;
288
297
 
289
298
  &:before,
@@ -296,7 +305,7 @@ Navbar toggler
296
305
  background: inherit;
297
306
  position: absolute;
298
307
  left: 0;
299
- transition: inherit;
308
+ @include transition(inherit);
300
309
  }
301
310
 
302
311
  &:before {
@@ -309,7 +318,7 @@ Navbar toggler
309
318
 
310
319
  .navbar-toggler[aria-expanded="true"] & {
311
320
  transform: rotate(45deg);
312
- transition: .3s top, .3s bottom, .3s .3s transform, 0s .3s opacity;
321
+ @include transition(top $transition-time, bottom $transition-time, transform $transition-time $transition-time, opacity 0s $transition-time);
313
322
 
314
323
  &:before {
315
324
  top: 0;
@@ -382,8 +391,9 @@ Navbar vertical
382
391
  bottom: 0;
383
392
  z-index: $zindex-fixed;
384
393
  align-items: flex-start;
385
- transition: .3s transform;
394
+ @include transition(transform $transition-time);
386
395
  overflow-x: auto;
396
+ padding: 0;
387
397
 
388
398
  &.navbar-right {
389
399
  left: auto;
@@ -391,7 +401,7 @@ Navbar vertical
391
401
  }
392
402
 
393
403
  .navbar-brand {
394
- padding: (($navbar-height - $navbar-brand-image-height) / 2) 0;
404
+ padding: (($navbar-height - $navbar-brand-image-height) * .5) 0;
395
405
  justify-content: center;
396
406
  }
397
407
 
@@ -5,35 +5,82 @@
5
5
  min-height: 100vh;
6
6
  }
7
7
 
8
- .content {
9
- margin-top: $content-padding-y;
10
- margin-bottom: $content-padding-y;
8
+ .page-center {
9
+ justify-content: center;
10
+ }
11
+
12
+ .page-wrapper {
11
13
  flex: 1;
12
14
  display: flex;
13
15
  flex-direction: column;
14
16
 
15
- >[class^="container"] {
16
- flex: 1;
17
- }
18
-
19
17
  @media print {
20
18
  margin: 0 !important;
21
19
  }
22
20
  }
23
21
 
24
- .content-full {
25
- margin: 0;
22
+ .page-wrapper-full {
23
+ .page-body:first-child {
24
+ margin: 0;
25
+ border-top: 0;
26
+ }
27
+ }
28
+
29
+ // Content body
30
+ .page-body {
31
+ margin-top: $content-padding-y;
32
+ margin-bottom: $content-padding-y;
33
+ }
34
+
35
+ .page-body-card {
36
+ background: $card-bg;
37
+ border-top: 1px solid $card-border-color;
38
+ padding: $content-padding-y 0;
39
+ margin-bottom: 0;
40
+ flex: 1;
41
+
42
+ .page-body ~ & {
43
+ margin-top: 0;
44
+ }
26
45
  }
27
46
 
47
+ .page-cover {
48
+ background: no-repeat center/cover;
49
+ min-height: 9rem;
50
+
51
+ @include media-breakpoint-up(md) {
52
+ min-height: 12rem;
53
+ }
54
+
55
+ @include media-breakpoint-up(lg) {
56
+ min-height: 15rem;
57
+ }
58
+ }
59
+
60
+ .page-cover-overlay {
61
+ position: relative;
62
+
63
+ &:after {
64
+ content: '';
65
+ position: absolute;
66
+ top: 0;
67
+ left: 0;
68
+ right: 0;
69
+ bottom: 0;
70
+ background-image: $overlay-gradient;
71
+ }
72
+ }
73
+
74
+
28
75
  .page-header {
29
76
  display: flex;
30
77
  flex-wrap: wrap;
31
- align-items: center;
32
78
  min-height: 2.25rem;
33
- margin: 0 0 $content-padding-y;
79
+ flex-direction: column;
80
+ justify-content: center;
34
81
 
35
- >* {
36
- flex: 1;
82
+ .page-wrapper & {
83
+ margin: $content-padding-y 0 0;
37
84
  }
38
85
  }
39
86
 
@@ -50,7 +97,7 @@
50
97
  margin: 0;
51
98
  font-size: $h2-font-size;
52
99
  line-height: $h2-line-height;
53
- font-weight: $font-weight-medium;
100
+ font-weight: $font-weight-bold;
54
101
  color: inherit;
55
102
  display: flex;
56
103
  align-items: center;
@@ -58,7 +105,7 @@
58
105
  svg {
59
106
  width: 1.5rem;
60
107
  height: 1.5rem;
61
- margin-inline-end: .25rem;
108
+ margin-right: .25rem;
62
109
  }
63
110
  }
64
111
 
@@ -70,4 +117,22 @@
70
117
  .page-subtitle {
71
118
  margin-top: .25rem;
72
119
  color: $text-muted;
120
+ }
121
+
122
+ //
123
+ // Page tabs
124
+ //
125
+ .page-tabs {
126
+ margin-top: .5rem;
127
+ position: relative;
128
+ }
129
+
130
+ .page-header-tabs {
131
+ .nav-bordered {
132
+ border: 0;
133
+ }
134
+
135
+ + .page-body-card {
136
+ margin-top: 0;
137
+ }
73
138
  }