sneat_rails 0.1.0
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.
- checksums.yaml +7 -0
- data/MIT-LICENSE +20 -0
- data/README.md +28 -0
- data/Rakefile +6 -0
- data/app/assets/builds/sneat_rails/application.css +3 -0
- data/app/assets/builds/sneat_rails/fonts/boxicons.eot +0 -0
- data/app/assets/builds/sneat_rails/fonts/boxicons.svg +1660 -0
- data/app/assets/builds/sneat_rails/fonts/boxicons.ttf +0 -0
- data/app/assets/builds/sneat_rails/fonts/boxicons.woff +0 -0
- data/app/assets/builds/sneat_rails/fonts/boxicons.woff2 +0 -0
- data/app/assets/builds/sneat_rails/sneat.css +43157 -0
- data/app/assets/builds/sneat_rails/sneat.css.map +1 -0
- data/app/assets/config/manifest.js +3 -0
- data/app/assets/stylesheets/sneat_rails/_bootstrap-extended/_accordion.scss +56 -0
- data/app/assets/stylesheets/sneat_rails/_bootstrap-extended/_alert.scss +9 -0
- data/app/assets/stylesheets/sneat_rails/_bootstrap-extended/_badge.scss +18 -0
- data/app/assets/stylesheets/sneat_rails/_bootstrap-extended/_breadcrumb.scss +47 -0
- data/app/assets/stylesheets/sneat_rails/_bootstrap-extended/_button-group.scss +59 -0
- data/app/assets/stylesheets/sneat_rails/_bootstrap-extended/_buttons.scss +127 -0
- data/app/assets/stylesheets/sneat_rails/_bootstrap-extended/_card.scss +197 -0
- data/app/assets/stylesheets/sneat_rails/_bootstrap-extended/_carousel.scss +42 -0
- data/app/assets/stylesheets/sneat_rails/_bootstrap-extended/_close.scss +6 -0
- data/app/assets/stylesheets/sneat_rails/_bootstrap-extended/_dropdown.scss +63 -0
- data/app/assets/stylesheets/sneat_rails/_bootstrap-extended/_forms.scss +10 -0
- data/app/assets/stylesheets/sneat_rails/_bootstrap-extended/_functions.scss +147 -0
- data/app/assets/stylesheets/sneat_rails/_bootstrap-extended/_include.scss +13 -0
- data/app/assets/stylesheets/sneat_rails/_bootstrap-extended/_list-group.scss +58 -0
- data/app/assets/stylesheets/sneat_rails/_bootstrap-extended/_mixins.scss +16 -0
- data/app/assets/stylesheets/sneat_rails/_bootstrap-extended/_modal.scss +110 -0
- data/app/assets/stylesheets/sneat_rails/_bootstrap-extended/_nav.scss +327 -0
- data/app/assets/stylesheets/sneat_rails/_bootstrap-extended/_navbar.scss +58 -0
- data/app/assets/stylesheets/sneat_rails/_bootstrap-extended/_offcanvas.scss +10 -0
- data/app/assets/stylesheets/sneat_rails/_bootstrap-extended/_pagination.scss +92 -0
- data/app/assets/stylesheets/sneat_rails/_bootstrap-extended/_popover.scss +31 -0
- data/app/assets/stylesheets/sneat_rails/_bootstrap-extended/_progress.scss +31 -0
- data/app/assets/stylesheets/sneat_rails/_bootstrap-extended/_reboot.scss +32 -0
- data/app/assets/stylesheets/sneat_rails/_bootstrap-extended/_root.scss +4 -0
- data/app/assets/stylesheets/sneat_rails/_bootstrap-extended/_spinners.scss +21 -0
- data/app/assets/stylesheets/sneat_rails/_bootstrap-extended/_tables.scss +106 -0
- data/app/assets/stylesheets/sneat_rails/_bootstrap-extended/_toasts.scss +61 -0
- data/app/assets/stylesheets/sneat_rails/_bootstrap-extended/_tooltip.scss +11 -0
- data/app/assets/stylesheets/sneat_rails/_bootstrap-extended/_type.scss +2 -0
- data/app/assets/stylesheets/sneat_rails/_bootstrap-extended/_utilities-ltr.scss +283 -0
- data/app/assets/stylesheets/sneat_rails/_bootstrap-extended/_utilities.scss +1027 -0
- data/app/assets/stylesheets/sneat_rails/_bootstrap-extended/_variables.scss +935 -0
- data/app/assets/stylesheets/sneat_rails/_bootstrap-extended/forms/_floating-labels.scss +12 -0
- data/app/assets/stylesheets/sneat_rails/_bootstrap-extended/forms/_form-control.scss +15 -0
- data/app/assets/stylesheets/sneat_rails/_bootstrap-extended/forms/_form-range.scss +52 -0
- data/app/assets/stylesheets/sneat_rails/_bootstrap-extended/forms/_form-select.scss +11 -0
- data/app/assets/stylesheets/sneat_rails/_bootstrap-extended/forms/_input-group.scss +77 -0
- data/app/assets/stylesheets/sneat_rails/_bootstrap-extended/forms/_labels.scss +17 -0
- data/app/assets/stylesheets/sneat_rails/_bootstrap-extended/forms/_validation.scss +58 -0
- data/app/assets/stylesheets/sneat_rails/_bootstrap-extended/mixins/_alert.scss +39 -0
- data/app/assets/stylesheets/sneat_rails/_bootstrap-extended/mixins/_badge.scss +9 -0
- data/app/assets/stylesheets/sneat_rails/_bootstrap-extended/mixins/_buttons.scss +190 -0
- data/app/assets/stylesheets/sneat_rails/_bootstrap-extended/mixins/_caret.scss +42 -0
- data/app/assets/stylesheets/sneat_rails/_bootstrap-extended/mixins/_dropdown.scss +26 -0
- data/app/assets/stylesheets/sneat_rails/_bootstrap-extended/mixins/_forms.scss +281 -0
- data/app/assets/stylesheets/sneat_rails/_bootstrap-extended/mixins/_list-group.scss +66 -0
- data/app/assets/stylesheets/sneat_rails/_bootstrap-extended/mixins/_misc.scss +120 -0
- data/app/assets/stylesheets/sneat_rails/_bootstrap-extended/mixins/_navs.scss +37 -0
- data/app/assets/stylesheets/sneat_rails/_bootstrap-extended/mixins/_pagination.scss +21 -0
- data/app/assets/stylesheets/sneat_rails/_bootstrap-extended/mixins/_progress.scss +19 -0
- data/app/assets/stylesheets/sneat_rails/_bootstrap-extended/mixins/_table-variants.scss +31 -0
- data/app/assets/stylesheets/sneat_rails/_bootstrap-extended/mixins/_toasts.scss +33 -0
- data/app/assets/stylesheets/sneat_rails/_bootstrap-extended.scss +39 -0
- data/app/assets/stylesheets/sneat_rails/_bootstrap.scss +44 -0
- data/app/assets/stylesheets/sneat_rails/_boxicons.scss +6944 -0
- data/app/assets/stylesheets/sneat_rails/_colors.scss +39 -0
- data/app/assets/stylesheets/sneat_rails/_components/_app-brand.scss +64 -0
- data/app/assets/stylesheets/sneat_rails/_components/_avatar.scss +126 -0
- data/app/assets/stylesheets/sneat_rails/_components/_base.scss +159 -0
- data/app/assets/stylesheets/sneat_rails/_components/_common.scss +232 -0
- data/app/assets/stylesheets/sneat_rails/_components/_footer.scss +39 -0
- data/app/assets/stylesheets/sneat_rails/_components/_include.scss +11 -0
- data/app/assets/stylesheets/sneat_rails/_components/_layout.scss +539 -0
- data/app/assets/stylesheets/sneat_rails/_components/_menu.scss +346 -0
- data/app/assets/stylesheets/sneat_rails/_components/_mixins.scss +6 -0
- data/app/assets/stylesheets/sneat_rails/_components/_text-divider.scss +89 -0
- data/app/assets/stylesheets/sneat_rails/_components/_variables.scss +93 -0
- data/app/assets/stylesheets/sneat_rails/_components/mixins/_app-brand.scss +33 -0
- data/app/assets/stylesheets/sneat_rails/_components/mixins/_avatar.scss +22 -0
- data/app/assets/stylesheets/sneat_rails/_components/mixins/_footer.scss +39 -0
- data/app/assets/stylesheets/sneat_rails/_components/mixins/_menu.scss +124 -0
- data/app/assets/stylesheets/sneat_rails/_components/mixins/_misc.scss +6 -0
- data/app/assets/stylesheets/sneat_rails/_components/mixins/_navbar.scss +90 -0
- data/app/assets/stylesheets/sneat_rails/_components/mixins/_text-divider.scss +16 -0
- data/app/assets/stylesheets/sneat_rails/_components.scss +11 -0
- data/app/assets/stylesheets/sneat_rails/_custom-variables/_bootstrap-extended.scss +7 -0
- data/app/assets/stylesheets/sneat_rails/_custom-variables/_components.scss +6 -0
- data/app/assets/stylesheets/sneat_rails/_custom-variables/_libs.scss +8 -0
- data/app/assets/stylesheets/sneat_rails/_custom-variables/_pages.scss +8 -0
- data/app/assets/stylesheets/sneat_rails/_custom-variables/_support.scss +9 -0
- data/app/assets/stylesheets/sneat_rails/_theme/_common.scss +49 -0
- data/app/assets/stylesheets/sneat_rails/_theme/_theme.scss +131 -0
- data/app/assets/stylesheets/sneat_rails/application.css +15 -0
- data/app/assets/stylesheets/sneat_rails/application.scss +9 -0
- data/app/assets/stylesheets/sneat_rails/core.scss +4 -0
- data/app/assets/stylesheets/sneat_rails/pages/page-account-settings.scss +13 -0
- data/app/assets/stylesheets/sneat_rails/pages/page-auth.scss +106 -0
- data/app/assets/stylesheets/sneat_rails/pages/page-icons.scss +46 -0
- data/app/assets/stylesheets/sneat_rails/pages/page-misc.scss +15 -0
- data/app/assets/stylesheets/sneat_rails/sneat.css +3 -0
- data/app/assets/stylesheets/sneat_rails/sneat.scss +6 -0
- data/app/assets/stylesheets/sneat_rails/theme-default.scss +111 -0
- data/app/controllers/sneat_rails/application_controller.rb +4 -0
- data/app/controllers/sneat_rails/dashboard_controller.rb +10 -0
- data/app/helpers/sneat_rails/application_helper.rb +4 -0
- data/app/jobs/sneat_rails/application_job.rb +4 -0
- data/app/mailers/sneat_rails/application_mailer.rb +6 -0
- data/app/models/sneat_rails/application_record.rb +5 -0
- data/app/views/layouts/sneat_rails/application.html.erb +30 -0
- data/app/views/sneat_rails/dashboard/index.html.erb +1 -0
- data/app/views/sneat_rails/shared/_navbar.html.erb +3 -0
- data/app/views/sneat_rails/shared/_sidebar.html.erb +3 -0
- data/config/dartsass.rb +3 -0
- data/config/routes.rb +3 -0
- data/lib/generators/sneat_rails/install/install_generator.rb +16 -0
- data/lib/sneat_rails/engine.rb +20 -0
- data/lib/sneat_rails/version.rb +3 -0
- data/lib/sneat_rails.rb +6 -0
- data/lib/tasks/sneat_rails_tasks.rake +4 -0
- metadata +193 -0
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
// Floating Labels
|
|
2
|
+
// *******************************************************************************
|
|
3
|
+
|
|
4
|
+
// Display placeholder on focus
|
|
5
|
+
.form-floating {
|
|
6
|
+
> .form-control:focus,
|
|
7
|
+
> .form-control:not(:placeholder-shown) {
|
|
8
|
+
&::placeholder {
|
|
9
|
+
color: $input-placeholder-color;
|
|
10
|
+
}
|
|
11
|
+
}
|
|
12
|
+
}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
// Form control
|
|
2
|
+
// *******************************************************************************
|
|
3
|
+
// form input placeholder animation
|
|
4
|
+
.form-control {
|
|
5
|
+
&::placeholder,
|
|
6
|
+
&:focus::placeholder {
|
|
7
|
+
transition: $input-placeholder-transition;
|
|
8
|
+
}
|
|
9
|
+
// border color on hover state
|
|
10
|
+
&:hover {
|
|
11
|
+
&:not([disabled]):not([focus]) {
|
|
12
|
+
border-color: $input-border-hover-color;
|
|
13
|
+
}
|
|
14
|
+
}
|
|
15
|
+
}
|
|
@@ -0,0 +1,52 @@
|
|
|
1
|
+
// Range select
|
|
2
|
+
// *******************************************************************************
|
|
3
|
+
|
|
4
|
+
.form-range {
|
|
5
|
+
// Chrome specific
|
|
6
|
+
&::-webkit-slider-thumb {
|
|
7
|
+
box-shadow: $form-range-thumb-box-shadow;
|
|
8
|
+
transition: transform 0.2s;
|
|
9
|
+
transform-origin: center;
|
|
10
|
+
|
|
11
|
+
&:focus {
|
|
12
|
+
box-shadow: $form-range-thumb-focus-box-shadow;
|
|
13
|
+
}
|
|
14
|
+
|
|
15
|
+
&:active {
|
|
16
|
+
transform: scale(1.4, 1.4);
|
|
17
|
+
}
|
|
18
|
+
}
|
|
19
|
+
|
|
20
|
+
// Mozilla specific
|
|
21
|
+
&::-moz-range-thumb {
|
|
22
|
+
box-shadow: $form-range-thumb-box-shadow;
|
|
23
|
+
transition: transform 0.2s;
|
|
24
|
+
transform-origin: center;
|
|
25
|
+
|
|
26
|
+
&:focus {
|
|
27
|
+
box-shadow: $form-range-thumb-focus-box-shadow;
|
|
28
|
+
}
|
|
29
|
+
|
|
30
|
+
&:active {
|
|
31
|
+
transform: scale(1.4, 1.4);
|
|
32
|
+
}
|
|
33
|
+
}
|
|
34
|
+
|
|
35
|
+
&:disabled {
|
|
36
|
+
&::-webkit-slider-runnable-track {
|
|
37
|
+
background-color: $form-range-track-disabled-bg;
|
|
38
|
+
}
|
|
39
|
+
|
|
40
|
+
&::-moz-range-track {
|
|
41
|
+
background-color: $form-range-track-disabled-bg;
|
|
42
|
+
box-shadow: none;
|
|
43
|
+
}
|
|
44
|
+
|
|
45
|
+
&::-webkit-slider-thumb {
|
|
46
|
+
box-shadow: none;
|
|
47
|
+
}
|
|
48
|
+
&::-moz-range-thumb {
|
|
49
|
+
box-shadow: none;
|
|
50
|
+
}
|
|
51
|
+
}
|
|
52
|
+
}
|
|
@@ -0,0 +1,77 @@
|
|
|
1
|
+
// Input groups
|
|
2
|
+
// *******************************************************************************
|
|
3
|
+
|
|
4
|
+
// Using :focus-within to apply focus/validation border and shadow to default and merged input-group
|
|
5
|
+
.input-group {
|
|
6
|
+
&:hover {
|
|
7
|
+
.input-group-text,
|
|
8
|
+
.form-control {
|
|
9
|
+
border-color: $input-border-hover-color;
|
|
10
|
+
}
|
|
11
|
+
}
|
|
12
|
+
&:focus-within {
|
|
13
|
+
box-shadow: $input-focus-box-shadow;
|
|
14
|
+
.form-control,
|
|
15
|
+
.input-group-text {
|
|
16
|
+
box-shadow: none;
|
|
17
|
+
}
|
|
18
|
+
}
|
|
19
|
+
// For disabled input group
|
|
20
|
+
&.disabled {
|
|
21
|
+
.input-group-text {
|
|
22
|
+
background-color: $input-disabled-bg;
|
|
23
|
+
}
|
|
24
|
+
}
|
|
25
|
+
}
|
|
26
|
+
|
|
27
|
+
// input-group-text icon size
|
|
28
|
+
.input-group-text {
|
|
29
|
+
background-clip: padding-box;
|
|
30
|
+
i {
|
|
31
|
+
@include font-size($input-font-size);
|
|
32
|
+
}
|
|
33
|
+
}
|
|
34
|
+
.input-group-lg > .input-group-text {
|
|
35
|
+
i {
|
|
36
|
+
@include font-size($input-font-size-lg);
|
|
37
|
+
}
|
|
38
|
+
}
|
|
39
|
+
.input-group-sm > .input-group-text {
|
|
40
|
+
i {
|
|
41
|
+
@include font-size($input-font-size-sm);
|
|
42
|
+
}
|
|
43
|
+
}
|
|
44
|
+
|
|
45
|
+
// Merge input
|
|
46
|
+
|
|
47
|
+
// Input group merge .form-control border & padding
|
|
48
|
+
@include ltr-only {
|
|
49
|
+
.input-group-merge {
|
|
50
|
+
.input-group-text {
|
|
51
|
+
&:first-child {
|
|
52
|
+
border-right: 0;
|
|
53
|
+
}
|
|
54
|
+
&:last-child {
|
|
55
|
+
border-left: 0;
|
|
56
|
+
}
|
|
57
|
+
}
|
|
58
|
+
.form-control {
|
|
59
|
+
&:not(:first-child) {
|
|
60
|
+
padding-left: 0;
|
|
61
|
+
border-left: 0;
|
|
62
|
+
}
|
|
63
|
+
&:not(:last-child) {
|
|
64
|
+
padding-right: 0;
|
|
65
|
+
border-right: 0;
|
|
66
|
+
}
|
|
67
|
+
&:is(textarea):not(:last-child) {
|
|
68
|
+
padding-right: $input-btn-padding-x;
|
|
69
|
+
}
|
|
70
|
+
}
|
|
71
|
+
}
|
|
72
|
+
}
|
|
73
|
+
|
|
74
|
+
// Adding transition (On focus border color change)
|
|
75
|
+
.input-group-text {
|
|
76
|
+
@include transition($input-transition);
|
|
77
|
+
}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
// Labels
|
|
2
|
+
// *******************************************************************************
|
|
3
|
+
|
|
4
|
+
.form-label,
|
|
5
|
+
.col-form-label {
|
|
6
|
+
font-size: $form-label-font-size;
|
|
7
|
+
text-transform: $form-label-text-transform;
|
|
8
|
+
letter-spacing: $form-label-letter-spacing;
|
|
9
|
+
}
|
|
10
|
+
// Default (vertical ) form label size
|
|
11
|
+
.form-label-lg {
|
|
12
|
+
@include font-size($input-font-size-lg);
|
|
13
|
+
}
|
|
14
|
+
|
|
15
|
+
.form-label-sm {
|
|
16
|
+
@include font-size($input-font-size-sm);
|
|
17
|
+
}
|
|
@@ -0,0 +1,58 @@
|
|
|
1
|
+
// Validation states
|
|
2
|
+
// *******************************************************************************
|
|
3
|
+
|
|
4
|
+
@each $state, $data in $form-validation-states {
|
|
5
|
+
@include template-form-validation-state($state, $data...);
|
|
6
|
+
}
|
|
7
|
+
|
|
8
|
+
// Currently supported for formvalidation and jq-validation
|
|
9
|
+
form {
|
|
10
|
+
.error:not(li):not(input) {
|
|
11
|
+
color: $form-feedback-invalid-color;
|
|
12
|
+
font-size: 85%;
|
|
13
|
+
margin-top: 0.25rem;
|
|
14
|
+
}
|
|
15
|
+
|
|
16
|
+
.invalid,
|
|
17
|
+
.is-invalid .invalid:before,
|
|
18
|
+
.is-invalid::before {
|
|
19
|
+
border-color: $form-feedback-invalid-color !important;
|
|
20
|
+
}
|
|
21
|
+
|
|
22
|
+
.form-label {
|
|
23
|
+
&.invalid,
|
|
24
|
+
&.is-invalid {
|
|
25
|
+
border-color: $form-feedback-invalid-color;
|
|
26
|
+
box-shadow: 0 0 0 2px rgba($form-feedback-invalid-color, 0.4) !important;
|
|
27
|
+
}
|
|
28
|
+
}
|
|
29
|
+
|
|
30
|
+
select {
|
|
31
|
+
&.invalid {
|
|
32
|
+
& ~ .select2 {
|
|
33
|
+
.select2-selection {
|
|
34
|
+
border-color: $form-feedback-invalid-color;
|
|
35
|
+
}
|
|
36
|
+
}
|
|
37
|
+
}
|
|
38
|
+
|
|
39
|
+
// FormValidation
|
|
40
|
+
|
|
41
|
+
//Select2
|
|
42
|
+
&.is-invalid {
|
|
43
|
+
& ~ .select2 {
|
|
44
|
+
.select2-selection {
|
|
45
|
+
border-color: $form-feedback-invalid-color !important;
|
|
46
|
+
}
|
|
47
|
+
}
|
|
48
|
+
}
|
|
49
|
+
// Bootstrap select
|
|
50
|
+
&.selectpicker {
|
|
51
|
+
&.is-invalid {
|
|
52
|
+
~ .btn {
|
|
53
|
+
border-color: $form-feedback-invalid-color !important;
|
|
54
|
+
}
|
|
55
|
+
}
|
|
56
|
+
}
|
|
57
|
+
}
|
|
58
|
+
}
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
// Alerts
|
|
2
|
+
// *******************************************************************************
|
|
3
|
+
|
|
4
|
+
@mixin alert-variant($background: null, $border: null, $color: null) {
|
|
5
|
+
}
|
|
6
|
+
|
|
7
|
+
// Basic Alerts
|
|
8
|
+
@mixin template-alert-variant($parent, $background) {
|
|
9
|
+
$border: if(
|
|
10
|
+
$dark-style,
|
|
11
|
+
shift-color($background, -$alert-border-scale, $card-bg),
|
|
12
|
+
shift-color($background, $alert-border-scale, $card-bg)
|
|
13
|
+
);
|
|
14
|
+
$color: if($dark-style, shift-color($background, -$alert-color-scale), shift-color($background, $alert-color-scale));
|
|
15
|
+
$background: if(
|
|
16
|
+
$dark-style,
|
|
17
|
+
shift-color($background, -$alert-bg-scale, $card-bg),
|
|
18
|
+
shift-color($background, $alert-bg-scale, $card-bg)
|
|
19
|
+
);
|
|
20
|
+
|
|
21
|
+
#{$parent} {
|
|
22
|
+
@include gradient-bg($background);
|
|
23
|
+
border-color: $border;
|
|
24
|
+
color: $color;
|
|
25
|
+
.btn-close {
|
|
26
|
+
background-image: str-replace(str-replace($btn-close-bg, '#{$btn-close-color}', $color), '#', '%23');
|
|
27
|
+
}
|
|
28
|
+
|
|
29
|
+
.alert-link {
|
|
30
|
+
color: $color;
|
|
31
|
+
}
|
|
32
|
+
}
|
|
33
|
+
|
|
34
|
+
#{$parent} {
|
|
35
|
+
hr {
|
|
36
|
+
background-color: $color !important;
|
|
37
|
+
}
|
|
38
|
+
}
|
|
39
|
+
}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
// Badges
|
|
2
|
+
// *******************************************************************************
|
|
3
|
+
|
|
4
|
+
// Size
|
|
5
|
+
@mixin badge-size($badge-height, $badge-width, $badge-font-size) {
|
|
6
|
+
height: $badge-height;
|
|
7
|
+
width: $badge-width;
|
|
8
|
+
@include font-size($badge-font-size);
|
|
9
|
+
}
|
|
@@ -0,0 +1,190 @@
|
|
|
1
|
+
// Buttons
|
|
2
|
+
// *******************************************************************************
|
|
3
|
+
|
|
4
|
+
// Basic
|
|
5
|
+
@mixin button-variant(
|
|
6
|
+
$background: null,
|
|
7
|
+
$border: null,
|
|
8
|
+
$hover-background: null,
|
|
9
|
+
$hover-border: null,
|
|
10
|
+
$active-background: null,
|
|
11
|
+
$active-border: null
|
|
12
|
+
) {
|
|
13
|
+
}
|
|
14
|
+
@mixin template-button-variant($parent, $background, $color: null, $border: null) {
|
|
15
|
+
$background: $background;
|
|
16
|
+
$border: $background;
|
|
17
|
+
$color: if($color, $color, color-contrast($background));
|
|
18
|
+
$hover-background: if(
|
|
19
|
+
$color == $color-contrast-light,
|
|
20
|
+
shade-color($background, $btn-hover-bg-shade-amount),
|
|
21
|
+
tint-color($background, $btn-hover-bg-tint-amount)
|
|
22
|
+
);
|
|
23
|
+
$hover-border: if(
|
|
24
|
+
$color == $color-contrast-light,
|
|
25
|
+
shade-color($border, $btn-hover-border-shade-amount),
|
|
26
|
+
tint-color($border, $btn-hover-border-tint-amount)
|
|
27
|
+
);
|
|
28
|
+
$hover-color: color-contrast($hover-background);
|
|
29
|
+
|
|
30
|
+
$active-background: if(
|
|
31
|
+
$color == $color-contrast-light,
|
|
32
|
+
shade-color($background, $btn-active-bg-shade-amount),
|
|
33
|
+
tint-color($background, $btn-active-bg-tint-amount)
|
|
34
|
+
);
|
|
35
|
+
$active-border: if(
|
|
36
|
+
$color == $color-contrast-light,
|
|
37
|
+
shade-color($border, $btn-active-border-shade-amount),
|
|
38
|
+
tint-color($border, $btn-active-border-tint-amount)
|
|
39
|
+
);
|
|
40
|
+
$active-color: color-contrast($active-background);
|
|
41
|
+
$disabled-background: $background;
|
|
42
|
+
$disabled-border: $border;
|
|
43
|
+
$disabled-color: color-contrast($disabled-background);
|
|
44
|
+
|
|
45
|
+
#{$parent} {
|
|
46
|
+
color: $color;
|
|
47
|
+
@include gradient-bg($background);
|
|
48
|
+
border-color: $border;
|
|
49
|
+
@include box-shadow($btn-box-shadow);
|
|
50
|
+
box-shadow: 0 0.125rem 0.25rem 0 rgba($background, 0.4);
|
|
51
|
+
|
|
52
|
+
&:hover {
|
|
53
|
+
color: $hover-color !important;
|
|
54
|
+
@include gradient-bg($hover-background !important);
|
|
55
|
+
border-color: $hover-border !important;
|
|
56
|
+
transform: $btn-hover-transform !important;
|
|
57
|
+
}
|
|
58
|
+
|
|
59
|
+
.btn-check:focus + &,
|
|
60
|
+
&:focus,
|
|
61
|
+
&.focus {
|
|
62
|
+
color: $hover-color;
|
|
63
|
+
@include gradient-bg($hover-background);
|
|
64
|
+
border-color: $hover-border;
|
|
65
|
+
transform: $btn-focus-transform;
|
|
66
|
+
box-shadow: none;
|
|
67
|
+
}
|
|
68
|
+
|
|
69
|
+
.btn-check:checked + &,
|
|
70
|
+
.btn-check:active + &,
|
|
71
|
+
&:active,
|
|
72
|
+
&.active,
|
|
73
|
+
&.show.dropdown-toggle,
|
|
74
|
+
.show > &.dropdown-toggle {
|
|
75
|
+
color: $active-color !important;
|
|
76
|
+
background-color: $active-background !important;
|
|
77
|
+
// Remove CSS gradients if they're enabled
|
|
78
|
+
background-image: if($enable-gradients, none !important, null);
|
|
79
|
+
border-color: $active-border !important;
|
|
80
|
+
|
|
81
|
+
&:focus {
|
|
82
|
+
box-shadow: none;
|
|
83
|
+
}
|
|
84
|
+
}
|
|
85
|
+
|
|
86
|
+
&.disabled,
|
|
87
|
+
&:disabled {
|
|
88
|
+
color: $disabled-color !important;
|
|
89
|
+
background-color: $disabled-background !important;
|
|
90
|
+
// Remove CSS gradients if they're enabled
|
|
91
|
+
background-image: if($enable-gradients, none !important, null);
|
|
92
|
+
border-color: $disabled-border !important;
|
|
93
|
+
box-shadow: none !important;
|
|
94
|
+
}
|
|
95
|
+
}
|
|
96
|
+
|
|
97
|
+
// Button groups
|
|
98
|
+
// .btn-group #{$parent},
|
|
99
|
+
// .input-group #{$parent} {
|
|
100
|
+
// border-right: $input-btn-border-width solid $active-background;
|
|
101
|
+
// border-left: $input-btn-border-width solid $active-background;
|
|
102
|
+
// }
|
|
103
|
+
// .btn-group-vertical #{$parent} {
|
|
104
|
+
// border-top-color: $active-background;
|
|
105
|
+
// border-bottom-color: $active-background;
|
|
106
|
+
// }
|
|
107
|
+
}
|
|
108
|
+
|
|
109
|
+
// Outline
|
|
110
|
+
@mixin button-outline-variant($color: null, $color-hover: null, $hover-color: null) {
|
|
111
|
+
}
|
|
112
|
+
// ? $hover-color <-> $color-hover used by bootstrap
|
|
113
|
+
@mixin template-button-outline-variant($parent, $color, $hover-color: null) {
|
|
114
|
+
$color: $color;
|
|
115
|
+
$background: $color;
|
|
116
|
+
$color-hover: color-contrast($color);
|
|
117
|
+
|
|
118
|
+
$focus-background: $color;
|
|
119
|
+
|
|
120
|
+
$hover-background: if(
|
|
121
|
+
$color-hover == $color-contrast-light,
|
|
122
|
+
shade-color($background, $btn-hover-bg-shade-amount),
|
|
123
|
+
tint-color($background, $btn-hover-bg-tint-amount)
|
|
124
|
+
);
|
|
125
|
+
|
|
126
|
+
$active-background: if(
|
|
127
|
+
$color-hover == $color-contrast-light,
|
|
128
|
+
shade-color($background, $btn-active-bg-shade-amount),
|
|
129
|
+
tint-color($background, $btn-active-bg-tint-amount)
|
|
130
|
+
);
|
|
131
|
+
|
|
132
|
+
#{$parent} {
|
|
133
|
+
color: $color;
|
|
134
|
+
border-color: $color;
|
|
135
|
+
background: transparent;
|
|
136
|
+
|
|
137
|
+
&:hover {
|
|
138
|
+
color: $color-hover !important;
|
|
139
|
+
background-color: $hover-background !important;
|
|
140
|
+
border-color: $hover-background !important;
|
|
141
|
+
box-shadow: 0 0.125rem 0.25rem 0 rgba($background, 0.4) !important;
|
|
142
|
+
transform: $btn-hover-transform !important;
|
|
143
|
+
}
|
|
144
|
+
|
|
145
|
+
.btn-check:focus + &,
|
|
146
|
+
&:focus {
|
|
147
|
+
color: $color-hover;
|
|
148
|
+
background-color: $hover-background;
|
|
149
|
+
border-color: $hover-background;
|
|
150
|
+
box-shadow: none;
|
|
151
|
+
transform: $btn-focus-transform;
|
|
152
|
+
}
|
|
153
|
+
|
|
154
|
+
.btn-check:checked + &,
|
|
155
|
+
.btn-check:active + &,
|
|
156
|
+
&:active,
|
|
157
|
+
&.active,
|
|
158
|
+
&.dropdown-toggle.show {
|
|
159
|
+
color: $color-hover !important;
|
|
160
|
+
background-color: $active-background !important;
|
|
161
|
+
border-color: $active-background !important;
|
|
162
|
+
&:focus {
|
|
163
|
+
box-shadow: none;
|
|
164
|
+
}
|
|
165
|
+
}
|
|
166
|
+
|
|
167
|
+
&.disabled,
|
|
168
|
+
&:disabled {
|
|
169
|
+
box-shadow: none !important;
|
|
170
|
+
color: $color !important;
|
|
171
|
+
background-color: transparent !important;
|
|
172
|
+
}
|
|
173
|
+
}
|
|
174
|
+
|
|
175
|
+
#{$parent} .badge {
|
|
176
|
+
background: $color;
|
|
177
|
+
border-color: $color;
|
|
178
|
+
color: color-contrast($color);
|
|
179
|
+
}
|
|
180
|
+
|
|
181
|
+
#{$parent}:hover .badge,
|
|
182
|
+
#{$parent}:focus:hover .badge,
|
|
183
|
+
#{$parent}:active .badge,
|
|
184
|
+
#{$parent}.active .badge,
|
|
185
|
+
.show > #{$parent}.dropdown-toggle .badge {
|
|
186
|
+
background: $color-hover;
|
|
187
|
+
border-color: $color-hover;
|
|
188
|
+
color: if(alpha($color) ==1, $color, color-contrast($color-hover));
|
|
189
|
+
}
|
|
190
|
+
}
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
// * Carets
|
|
2
|
+
// *******************************************************************************
|
|
3
|
+
|
|
4
|
+
@mixin caret-up($caret-width) {
|
|
5
|
+
margin-top: -0;
|
|
6
|
+
width: $caret-width;
|
|
7
|
+
height: $caret-width;
|
|
8
|
+
border: 1px solid;
|
|
9
|
+
border-bottom: 0;
|
|
10
|
+
border-left: 0;
|
|
11
|
+
transform: rotate(-45deg);
|
|
12
|
+
}
|
|
13
|
+
|
|
14
|
+
@mixin caret-down($caret-width) {
|
|
15
|
+
margin-top: -1 * divide($caret-width, 1.5);
|
|
16
|
+
width: $caret-width;
|
|
17
|
+
height: $caret-width;
|
|
18
|
+
border: 1px solid;
|
|
19
|
+
border-top: 0;
|
|
20
|
+
border-left: 0;
|
|
21
|
+
transform: rotate(45deg);
|
|
22
|
+
}
|
|
23
|
+
|
|
24
|
+
@mixin caret-left($caret-width) {
|
|
25
|
+
margin-top: -1 * divide($caret-width, 2.5);
|
|
26
|
+
width: $caret-width;
|
|
27
|
+
height: $caret-width;
|
|
28
|
+
border: 1px solid;
|
|
29
|
+
border-top: 0;
|
|
30
|
+
border-right: 0;
|
|
31
|
+
transform: rotate(45deg);
|
|
32
|
+
}
|
|
33
|
+
|
|
34
|
+
@mixin caret-right($caret-width) {
|
|
35
|
+
margin-top: -1 * divide($caret-width, 2.5);
|
|
36
|
+
width: $caret-width;
|
|
37
|
+
height: $caret-width;
|
|
38
|
+
border: 1px solid;
|
|
39
|
+
border-top: 0;
|
|
40
|
+
border-left: 0;
|
|
41
|
+
transform: rotate(-45deg);
|
|
42
|
+
}
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
// * Dropdowns
|
|
2
|
+
// *******************************************************************************
|
|
3
|
+
|
|
4
|
+
@mixin template-dropdown-variant($parent, $background, $color: null) {
|
|
5
|
+
#{$parent} .dropdown-item:not(.disabled).active,
|
|
6
|
+
#{$parent} .dropdown-item:not(.disabled):active {
|
|
7
|
+
background-color: $background;
|
|
8
|
+
color: if($color, $color, color-contrast($background)) !important;
|
|
9
|
+
}
|
|
10
|
+
|
|
11
|
+
#{$parent}.dropdown-menu > li:not(.disabled) > a:not(.dropdown-item):active,
|
|
12
|
+
#{$parent}.dropdown-menu > li.active:not(.disabled) > a:not(.dropdown-item) {
|
|
13
|
+
background-color: $background;
|
|
14
|
+
color: if($color, $color, color-contrast($background)) !important;
|
|
15
|
+
}
|
|
16
|
+
// DataTables collection dropdown item active
|
|
17
|
+
.dt-button-collection {
|
|
18
|
+
.dropdown-item:not(.disabled):active {
|
|
19
|
+
background-color: $background;
|
|
20
|
+
}
|
|
21
|
+
}
|
|
22
|
+
}
|
|
23
|
+
|
|
24
|
+
@mixin template-dropdown-theme($background, $color: null) {
|
|
25
|
+
@include template-dropdown-variant('', $background, $color);
|
|
26
|
+
}
|