nfg_ui 0.11.3 → 0.11.8
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 +4 -4
- data/Rakefile +1 -1
- data/app/assets/stylesheets/nfg_ui/network_for_good/admin/color_variations/nfg_theme/_badge.scss +4 -1
- data/app/assets/stylesheets/nfg_ui/network_for_good/admin/color_variations/nfg_theme/_buttons.scss +4 -1
- data/app/assets/stylesheets/nfg_ui/network_for_good/admin/color_variations/nfg_theme/_custom-forms.scss +4 -1
- data/app/assets/stylesheets/nfg_ui/network_for_good/admin/color_variations/nfg_theme/_custom.scss +1 -0
- data/app/assets/stylesheets/nfg_ui/network_for_good/admin/color_variations/nfg_theme/custom/_activity_feed.scss +7 -0
- data/app/assets/stylesheets/nfg_ui/network_for_good/admin/nfg_theme/_custom.scss +5 -0
- data/app/assets/stylesheets/nfg_ui/network_for_good/admin/nfg_theme/_modal.scss +16 -0
- data/app/assets/stylesheets/nfg_ui/network_for_good/admin/nfg_theme/custom/_activity_feed.scss +34 -0
- data/app/assets/stylesheets/nfg_ui/network_for_good/admin/nfg_theme/custom/_bee.scss +15 -0
- data/app/assets/stylesheets/nfg_ui/network_for_good/admin/nfg_theme/custom/_builder_layout.scss +3 -2
- data/app/assets/stylesheets/nfg_ui/network_for_good/admin/nfg_theme/custom/_campaign_card.scss +1 -1
- data/app/assets/stylesheets/nfg_ui/network_for_good/admin/nfg_theme/custom/_gallery.scss +46 -0
- data/app/assets/stylesheets/nfg_ui/network_for_good/admin/nfg_theme/custom/_interaction.scss +1 -1
- data/app/assets/stylesheets/nfg_ui/network_for_good/admin/nfg_theme/custom/_overlay_blocker.scss +1 -1
- data/app/assets/stylesheets/nfg_ui/network_for_good/admin/nfg_theme/custom/_readmore.scss +24 -0
- data/app/assets/stylesheets/nfg_ui/network_for_good/admin/nfg_theme/custom/_sortable.scss +29 -0
- data/app/assets/stylesheets/nfg_ui/network_for_good/core/legacy_browser_support/nfg_theme/_custom.scss +1 -0
- data/app/assets/stylesheets/nfg_ui/network_for_good/core/legacy_browser_support/nfg_theme/custom/_icon.scss +5 -0
- data/app/assets/stylesheets/nfg_ui/network_for_good/core/nfg_theme/_alert.scss +4 -4
- data/app/assets/stylesheets/nfg_ui/network_for_good/core/nfg_theme/_badge.scss +3 -0
- data/app/assets/stylesheets/nfg_ui/network_for_good/core/nfg_theme/_buttons.scss +3 -0
- data/app/assets/stylesheets/nfg_ui/network_for_good/core/nfg_theme/_card.scss +5 -1
- data/app/assets/stylesheets/nfg_ui/network_for_good/core/nfg_theme/_custom-forms.scss +16 -2
- data/app/assets/stylesheets/nfg_ui/network_for_good/core/nfg_theme/_custom.scss +2 -0
- data/app/assets/stylesheets/nfg_ui/network_for_good/core/nfg_theme/_dropdown.scss +9 -1
- data/app/assets/stylesheets/nfg_ui/network_for_good/core/nfg_theme/_reboot.scss +4 -0
- data/app/assets/stylesheets/nfg_ui/network_for_good/core/nfg_theme/custom/_avatar.scss +1 -1
- data/app/assets/stylesheets/nfg_ui/network_for_good/core/nfg_theme/custom/_icon.scss +34 -0
- data/app/assets/stylesheets/nfg_ui/network_for_good/core/nfg_theme/custom/_skeleton.scss +50 -0
- data/app/assets/stylesheets/nfg_ui/network_for_good/core/nfg_theme/custom/_slat.scss +3 -18
- data/app/assets/stylesheets/nfg_ui/network_for_good/core/nfg_theme/custom/_tile.scss +4 -4
- data/lib/nfg_ui/bootstrap/components/modal.rb +5 -1
- data/lib/nfg_ui/components/patterns/modal.rb +7 -0
- data/lib/nfg_ui/components/traits.rb +1 -0
- data/lib/nfg_ui/components/traits/modal.rb +15 -0
- data/lib/nfg_ui/components/traits/typeface.rb +0 -1
- data/lib/nfg_ui/version.rb +1 -1
- metadata +13 -2
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA256:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: c56c2858567b7c68a6b4eb28d7c37e91e0e266733bbdc04c56244894b4f7386f
|
|
4
|
+
data.tar.gz: 3969770fbb29fba8da5a50325f7ee5c563a3e659e427c9c96785f08b732c986e
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: 05e1339fde85266bec3c65e0b008abce02553f895cfcda836c25d8eb2e1b1ae725d3c01b833302da7d929d1e4852e1a738754919f76570dcf4fd3ca0f376f764
|
|
7
|
+
data.tar.gz: c8e586bd2b28d7ea9dfa24a5a036c76afa465cd6bad269962b9c6c4b74ce5998479e053d68edb165e1c67386f97dc9fb4c98003e5dbdfb22b469a809083def0c
|
data/Rakefile
CHANGED
|
@@ -36,7 +36,7 @@ task :publish, %i[override_flag] do |_, override_flag: nil|
|
|
|
36
36
|
subtask_args << ",#{override_flag}" if override_flag
|
|
37
37
|
|
|
38
38
|
Dir.chdir("#{__dir__}/publisher") do
|
|
39
|
-
Bundler.
|
|
39
|
+
Bundler.with_unbundled_env do
|
|
40
40
|
sh "RAILS_ENV=production bundle exec rake publish[#{subtask_args}]" do |ok, _|
|
|
41
41
|
puts 'unable to publish assets' unless ok
|
|
42
42
|
end
|
data/app/assets/stylesheets/nfg_ui/network_for_good/admin/color_variations/nfg_theme/_buttons.scss
CHANGED
|
@@ -1,6 +1,9 @@
|
|
|
1
1
|
@each $color, $value in $colors {
|
|
2
2
|
.#{$color} {
|
|
3
|
-
.btn-primary {
|
|
3
|
+
.btn-primary {
|
|
4
|
+
@include button-variant($value, $value);
|
|
5
|
+
color: $white !important;
|
|
6
|
+
}
|
|
4
7
|
.show > .btn-primary.dropdown-toggle {
|
|
5
8
|
background-color: darken($value, 10%);
|
|
6
9
|
border-color: darken($value, 10%);
|
|
@@ -1,4 +1,6 @@
|
|
|
1
1
|
// Our custom styles
|
|
2
|
+
@import 'custom/activity_feed';
|
|
3
|
+
@import 'custom/bee';
|
|
2
4
|
@import 'custom/builder_layout';
|
|
3
5
|
@import 'custom/campaign_card';
|
|
4
6
|
@import 'custom/campaign_preview';
|
|
@@ -7,11 +9,14 @@
|
|
|
7
9
|
@import 'custom/custom_receipt_language';
|
|
8
10
|
@import 'custom/email_preview';
|
|
9
11
|
@import 'custom/free_trial';
|
|
12
|
+
@import 'custom/gallery';
|
|
10
13
|
@import 'custom/icomoon';
|
|
11
14
|
@import 'custom/interaction';
|
|
12
15
|
@import 'custom/overlay_blocker';
|
|
13
16
|
@import 'custom/page_header';
|
|
17
|
+
@import 'custom/readmore';
|
|
14
18
|
@import 'custom/share_dropdown';
|
|
19
|
+
@import 'custom/sortable';
|
|
15
20
|
@import 'custom/status_indicator';
|
|
16
21
|
@import 'custom/tile';
|
|
17
22
|
@import 'custom/video_countdown';
|
|
@@ -4,3 +4,19 @@
|
|
|
4
4
|
+ #quick-add-modal { display: none !important; }
|
|
5
5
|
~ .modal-backdrop.show ~ .modal-backdrop.show { display: none !important; }
|
|
6
6
|
}
|
|
7
|
+
|
|
8
|
+
|
|
9
|
+
// Full page cover modal option
|
|
10
|
+
.modal-cover {
|
|
11
|
+
margin: 0;
|
|
12
|
+
width: 100%;
|
|
13
|
+
max-width: 100%;
|
|
14
|
+
height: 100%;
|
|
15
|
+
transform: none !important; // removes default 50px transform that occurs on modal showing (.fade and .show)
|
|
16
|
+
.modal-content {
|
|
17
|
+
display: block;
|
|
18
|
+
height: 100%;
|
|
19
|
+
border: none;
|
|
20
|
+
border-radius: 0;
|
|
21
|
+
}
|
|
22
|
+
}
|
data/app/assets/stylesheets/nfg_ui/network_for_good/admin/nfg_theme/custom/_activity_feed.scss
ADDED
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
// Activity feed list items
|
|
2
|
+
.activity-feed-item {
|
|
3
|
+
position: relative;
|
|
4
|
+
padding: 0 0 $spacer ($spacer * 1.5);
|
|
5
|
+
border: none;
|
|
6
|
+
z-index: 0;
|
|
7
|
+
&::after {
|
|
8
|
+
position: absolute;
|
|
9
|
+
top: 0;
|
|
10
|
+
left: 12px;
|
|
11
|
+
bottom: 0;
|
|
12
|
+
z-index: 0;
|
|
13
|
+
border-left: $border-width solid $border-color;
|
|
14
|
+
content: "";
|
|
15
|
+
}
|
|
16
|
+
&:last-child {
|
|
17
|
+
padding-bottom: 0;
|
|
18
|
+
&::after { display: none; }
|
|
19
|
+
}
|
|
20
|
+
.activity-icon {
|
|
21
|
+
position: absolute;
|
|
22
|
+
top: 2px;
|
|
23
|
+
left: 0;
|
|
24
|
+
display: block;
|
|
25
|
+
width: $spacer;
|
|
26
|
+
height: $spacer;
|
|
27
|
+
font-size: $font-size-sm;
|
|
28
|
+
line-height: $spacer;
|
|
29
|
+
z-index: 1;
|
|
30
|
+
text-align: center;
|
|
31
|
+
@include border-radius(50%);
|
|
32
|
+
box-shadow: 0 0 0 2px rgba(255,255,255,1);
|
|
33
|
+
}
|
|
34
|
+
}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
#bee_plugin_container {
|
|
2
|
+
height: 600px; // fallback value if calc() isn't supported
|
|
3
|
+
border-top: 1px solid $border-color;
|
|
4
|
+
border-bottom: 1px solid $border-color;
|
|
5
|
+
}
|
|
6
|
+
|
|
7
|
+
// Height if just the builder-header is present
|
|
8
|
+
.builder-header + .builder-container {
|
|
9
|
+
#bee_plugin_container { height: calc(100vh - 72px); }
|
|
10
|
+
}
|
|
11
|
+
|
|
12
|
+
// Height if both builder-header and builder-nav are present (typical in onboarder)
|
|
13
|
+
.builder-header + .builder-nav + .builder-container {
|
|
14
|
+
#bee_plugin_container { height: calc(100vh - 180px); }
|
|
15
|
+
}
|
data/app/assets/stylesheets/nfg_ui/network_for_good/admin/nfg_theme/custom/_builder_layout.scss
CHANGED
|
@@ -80,10 +80,11 @@ $builder-preview-padding: ($spacer * 2);
|
|
|
80
80
|
}
|
|
81
81
|
}
|
|
82
82
|
.builder-preview {
|
|
83
|
+
background-color: $body-bg;
|
|
83
84
|
padding: $builder-preview-padding ($builder-preview-padding / 2);
|
|
84
85
|
@include media-breakpoint-up(lg) {
|
|
85
86
|
float: left;
|
|
86
|
-
width:
|
|
87
|
+
width: 67%;
|
|
87
88
|
height: 100%;
|
|
88
89
|
overflow-y: auto;
|
|
89
90
|
> :last-child { margin-bottom: $builder-preview-padding; }
|
|
@@ -95,7 +96,7 @@ $builder-preview-padding: ($spacer * 2);
|
|
|
95
96
|
@include media-breakpoint-down(md) { border-bottom: $border-width solid $border-color; }
|
|
96
97
|
@include media-breakpoint-up(lg) {
|
|
97
98
|
float: right;
|
|
98
|
-
width:
|
|
99
|
+
width: 33%;
|
|
99
100
|
height: 100%;
|
|
100
101
|
border-left: $border-width solid $border-color;
|
|
101
102
|
overflow-y: auto;
|
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
// Gallery styles
|
|
2
|
+
.card-gallery {
|
|
3
|
+
|
|
4
|
+
// Gallery image styles
|
|
5
|
+
.card-gallery-img {
|
|
6
|
+
height: ($spacer * 14); // sets height of gallery image preview
|
|
7
|
+
overflow: hidden;
|
|
8
|
+
z-index: 0;
|
|
9
|
+
.card-img {
|
|
10
|
+
min-height: 100%;
|
|
11
|
+
z-index: 0;
|
|
12
|
+
}
|
|
13
|
+
.card-img-overlay { z-index: 1; }
|
|
14
|
+
.card-gallery-img-overlay {
|
|
15
|
+
display: block;
|
|
16
|
+
position: absolute;
|
|
17
|
+
top: 0;
|
|
18
|
+
right: 0;
|
|
19
|
+
bottom: 0;
|
|
20
|
+
left: 0;
|
|
21
|
+
text-align: center;
|
|
22
|
+
background-color: $modal-backdrop-bg;
|
|
23
|
+
transition: $transition-fade;
|
|
24
|
+
opacity: 0;
|
|
25
|
+
z-index: 10;
|
|
26
|
+
@include hover { opacity: 1; }
|
|
27
|
+
> .card-gallery-img-overlay-text {
|
|
28
|
+
position: absolute;
|
|
29
|
+
top: 50%;
|
|
30
|
+
left: 50%;
|
|
31
|
+
width: 100%;
|
|
32
|
+
transform: translate(-50%, -50%);
|
|
33
|
+
}
|
|
34
|
+
}
|
|
35
|
+
}
|
|
36
|
+
|
|
37
|
+
// Gallery card body styles
|
|
38
|
+
.card-body { z-index: 10; }
|
|
39
|
+
.badge-highlight {
|
|
40
|
+
position: absolute;
|
|
41
|
+
top: -($card-spacer-y * .5);
|
|
42
|
+
left: $card-spacer-y;
|
|
43
|
+
}
|
|
44
|
+
}
|
|
45
|
+
|
|
46
|
+
|
data/app/assets/stylesheets/nfg_ui/network_for_good/admin/nfg_theme/custom/_interaction.scss
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
// Sort
|
|
2
|
-
[
|
|
2
|
+
.ui-sortable-handle, [data-sortable="handle"] { cursor: move; }
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
// Powers the readmore.js plugin
|
|
2
|
+
.expandable,
|
|
3
|
+
.readmore-js-section {
|
|
4
|
+
position: relative;
|
|
5
|
+
z-index: 10;
|
|
6
|
+
transition: $transition-collapse;
|
|
7
|
+
&.readmore-js-collapsed { overflow: hidden; }
|
|
8
|
+
&.readmore-js-expanded { overflow: visible; }
|
|
9
|
+
}
|
|
10
|
+
.readmore-js-collapsed:after {
|
|
11
|
+
position: absolute;
|
|
12
|
+
bottom: 0;
|
|
13
|
+
left: 0;
|
|
14
|
+
width: 100%;
|
|
15
|
+
height: ($spacer * 1.5);
|
|
16
|
+
@include gradient-y(transparentize($white, 1), transparentize($white, 0));
|
|
17
|
+
content: '';
|
|
18
|
+
z-index: 20;
|
|
19
|
+
}
|
|
20
|
+
.readmore-js-toggle {
|
|
21
|
+
padding-top: ($spacer * .5);
|
|
22
|
+
padding-bottom: ($spacer * .5);
|
|
23
|
+
z-index: 30;
|
|
24
|
+
}
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
// Shared sorting styles
|
|
2
|
+
.slat, .option {
|
|
3
|
+
&.ui-sortable-placeholder {
|
|
4
|
+
visibility: visible !important;
|
|
5
|
+
background: theme-color("light");
|
|
6
|
+
border: $border-width dashed $border-color;
|
|
7
|
+
}
|
|
8
|
+
&.ui-sortable-helper { opacity: .5; }
|
|
9
|
+
}
|
|
10
|
+
// Slat
|
|
11
|
+
.slat {
|
|
12
|
+
&.ui-sortable-placeholder {
|
|
13
|
+
+ .slat { border-top: none; }
|
|
14
|
+
+ &.ui-sortable-helper {
|
|
15
|
+
border-top-style: dashed;
|
|
16
|
+
+ &.slat { border-top: none; }
|
|
17
|
+
}
|
|
18
|
+
}
|
|
19
|
+
&.ui-sortable-helper {
|
|
20
|
+
border-top: none;
|
|
21
|
+
border-top: none;
|
|
22
|
+
+ &.ui-sortable-placeholder { border-top: $border-width dashed $border-color; }
|
|
23
|
+
}
|
|
24
|
+
}
|
|
25
|
+
|
|
26
|
+
// Sortable options (used on form fields for checkboxes/radios/select options)
|
|
27
|
+
.option {
|
|
28
|
+
&.ui-sortable-placeholder { margin-bottom: ($spacer * .25); }
|
|
29
|
+
}
|
|
@@ -6,11 +6,11 @@
|
|
|
6
6
|
&:hover, &:active { text-decoration: none; }
|
|
7
7
|
}
|
|
8
8
|
}
|
|
9
|
-
.alert-success a:not(.btn) { color: $success; }
|
|
10
|
-
.alert-info a:not(.btn) { color: $info; }
|
|
11
|
-
.alert-warning a:not(.btn) { color: $warning; }
|
|
9
|
+
.alert-success a:not(.btn) { color: $success !important; }
|
|
10
|
+
.alert-info a:not(.btn) { color: $info !important; }
|
|
11
|
+
.alert-warning a:not(.btn) { color: $warning !important; }
|
|
12
12
|
.alert-danger, .alert-error {
|
|
13
|
-
a:not(.btn) { color: $danger; }
|
|
13
|
+
a:not(.btn) { color: $danger !important; }
|
|
14
14
|
}
|
|
15
15
|
.alert-gray, .alert-notice,
|
|
16
16
|
.alert-light, .alert-dark {
|
|
@@ -13,6 +13,10 @@
|
|
|
13
13
|
.card-footer { border-top: none; }
|
|
14
14
|
|
|
15
15
|
// Card image
|
|
16
|
-
.card-img-overlay {
|
|
16
|
+
.card-img-overlay {
|
|
17
|
+
top: auto; // makes the overlay gradient and container "stick" to bottom of parent container
|
|
18
|
+
min-height: ($spacer * 2);
|
|
19
|
+
@include gradient-y(transparentize($black, 1), transparentize($black, .5));
|
|
20
|
+
}
|
|
17
21
|
|
|
18
22
|
.card-img { @include border-radius(0); }
|
|
@@ -3,6 +3,7 @@
|
|
|
3
3
|
// Base class takes care of all the key behavioral aspects.
|
|
4
4
|
|
|
5
5
|
.custom-control {
|
|
6
|
+
padding-left: 0;
|
|
6
7
|
.custom-control-input {
|
|
7
8
|
&:checked {
|
|
8
9
|
~ .custom-control-label,
|
|
@@ -10,18 +11,26 @@
|
|
|
10
11
|
}
|
|
11
12
|
&:focus:not(:checked) ~ .custom-control-label::before { border-color: $input-border-color; }
|
|
12
13
|
}
|
|
14
|
+
+ .custom-control:not(.custom-control-inline) { margin-top: ($spacer * .25); }
|
|
13
15
|
}
|
|
16
|
+
.custom-checkbox, .custom-radio { min-width: $custom-control-gutter + $custom-control-indicator-size; } // sets minimum width to have space even if custom-control-label isn't there
|
|
14
17
|
|
|
15
18
|
// Custom control indicators
|
|
16
19
|
//
|
|
17
20
|
// Build the custom controls out of pseudo-elements.
|
|
18
21
|
|
|
19
22
|
.custom-control-label {
|
|
23
|
+
padding-left: $custom-control-gutter + $custom-control-indicator-size;
|
|
24
|
+
min-width: $custom-control-gutter + $custom-control-indicator-size;
|
|
25
|
+
min-height: $custom-control-indicator-size;
|
|
20
26
|
font-weight: $font-weight-normal;
|
|
21
27
|
cursor: pointer;
|
|
22
28
|
|
|
23
29
|
// Background-color and icon
|
|
24
|
-
&::before, &::after {
|
|
30
|
+
&::before, &::after {
|
|
31
|
+
top: .3rem;
|
|
32
|
+
left: 0;
|
|
33
|
+
}
|
|
25
34
|
&::before { border: $border-width solid $border-color; }
|
|
26
35
|
&::after { cursor: pointer; }
|
|
27
36
|
}
|
|
@@ -41,6 +50,9 @@
|
|
|
41
50
|
//
|
|
42
51
|
|
|
43
52
|
.custom-select {
|
|
53
|
+
display: block;
|
|
54
|
+
width: auto;
|
|
55
|
+
max-width: 100%;
|
|
44
56
|
font-weight: $btn-font-weight;
|
|
45
57
|
cursor: pointer;
|
|
46
58
|
box-shadow: none;
|
|
@@ -97,7 +109,10 @@
|
|
|
97
109
|
// Tweak a few things for switches
|
|
98
110
|
|
|
99
111
|
.custom-switch {
|
|
112
|
+
padding-left: 0;
|
|
100
113
|
.custom-control-label {
|
|
114
|
+
padding-left: $custom-switch-width + $custom-control-gutter;
|
|
115
|
+
&::before, &::after { left: 0; }
|
|
101
116
|
&::before {
|
|
102
117
|
padding-left: 28px;
|
|
103
118
|
font-size: 12px;
|
|
@@ -109,7 +124,6 @@
|
|
|
109
124
|
}
|
|
110
125
|
&::after {
|
|
111
126
|
top: 0;
|
|
112
|
-
left: -($custom-switch-width + $custom-control-gutter);
|
|
113
127
|
background-color: $white;
|
|
114
128
|
border: $border-width solid $border-color;
|
|
115
129
|
border-radius: 50%;
|
|
@@ -1,11 +1,13 @@
|
|
|
1
1
|
// Our custom styles
|
|
2
2
|
@import 'custom/avatar';
|
|
3
3
|
@import 'custom/device_preview';
|
|
4
|
+
@import 'custom/icon';
|
|
4
5
|
@import 'custom/illustration';
|
|
5
6
|
@import 'custom/mobile';
|
|
6
7
|
@import 'custom/nav_step';
|
|
7
8
|
@import 'custom/redactor';
|
|
8
9
|
@import 'custom/social_share';
|
|
10
|
+
@import 'custom/skeleton';
|
|
9
11
|
@import 'custom/slat';
|
|
10
12
|
@import 'custom/ticket';
|
|
11
13
|
@import 'custom/tile';
|
|
@@ -9,6 +9,7 @@
|
|
|
9
9
|
cursor: default;
|
|
10
10
|
pointer-events: none;
|
|
11
11
|
}
|
|
12
|
+
&:not(.text-danger) { color: inherit !important; }
|
|
12
13
|
}
|
|
13
14
|
|
|
14
15
|
|
|
@@ -21,7 +22,14 @@
|
|
|
21
22
|
|
|
22
23
|
|
|
23
24
|
// Sizing
|
|
24
|
-
.dropdown-menu-md { min-width: ($spacer *
|
|
25
|
+
.dropdown-menu-md, .dropdown-menu-lg { min-width: ($spacer * 10); }
|
|
26
|
+
.dropdown-menu-md {
|
|
27
|
+
@include media-breakpoint-up(sm) { min-width: ($spacer * 12); }
|
|
28
|
+
}
|
|
29
|
+
.dropdown-menu-lg {
|
|
30
|
+
@include media-breakpoint-up(sm) { min-width: ($spacer * 24); }
|
|
31
|
+
}
|
|
32
|
+
|
|
25
33
|
|
|
26
34
|
|
|
27
35
|
// Styles for wider "My Tools" dropdown in top nav
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
// Custom icon styles
|
|
2
|
+
// icons shouldn't be larger than the h1 font-size. use illustrations for larger visuals.
|
|
3
|
+
// don't use icon circles for icons smaller than icon-circle-sm size. use just an icon.
|
|
4
|
+
.icon-circle {
|
|
5
|
+
position: relative;
|
|
6
|
+
display: inline-flex;
|
|
7
|
+
align-items: center;
|
|
8
|
+
justify-content: center;
|
|
9
|
+
vertical-align: middle;
|
|
10
|
+
width: ($spacer * 1.5);
|
|
11
|
+
height: ($spacer * 1.5);
|
|
12
|
+
font-size: $font-size-base;
|
|
13
|
+
background-color: $border-color;
|
|
14
|
+
border-radius: 50%;
|
|
15
|
+
&.icon-circle-outline {
|
|
16
|
+
background-color: $white;
|
|
17
|
+
border: $border-width solid $border-color;
|
|
18
|
+
}
|
|
19
|
+
&.icon-circle-sm {
|
|
20
|
+
width: $spacer;
|
|
21
|
+
height: $spacer;
|
|
22
|
+
font-size: $font-size-sm;
|
|
23
|
+
}
|
|
24
|
+
&.icon-circle-lg {
|
|
25
|
+
width: ($spacer * 2);
|
|
26
|
+
height: ($spacer * 2);
|
|
27
|
+
font-size: $font-size-lg;
|
|
28
|
+
}
|
|
29
|
+
&.icon-circle-xl {
|
|
30
|
+
width: ($spacer * 3);
|
|
31
|
+
height: ($spacer * 3);
|
|
32
|
+
font-size: $h1-font-size;
|
|
33
|
+
}
|
|
34
|
+
}
|
|
@@ -0,0 +1,50 @@
|
|
|
1
|
+
// Skeleton styles for placheholder content
|
|
2
|
+
.skeleton-avatar, .skeleton-heading, .skeleton-paragraph {
|
|
3
|
+
display: inline-block;
|
|
4
|
+
margin-bottom: ($spacer * .5);
|
|
5
|
+
background-color: $border-color;
|
|
6
|
+
overflow: hidden;
|
|
7
|
+
&::after {
|
|
8
|
+
position: absolute;
|
|
9
|
+
top: 0;
|
|
10
|
+
right: 0;
|
|
11
|
+
bottom: 0;
|
|
12
|
+
left: 0;
|
|
13
|
+
width: 100%;
|
|
14
|
+
height: 100%;
|
|
15
|
+
background-color: $body-bg;
|
|
16
|
+
animation: skeleton-sheen 1s linear infinite alternate;
|
|
17
|
+
content: '';
|
|
18
|
+
|
|
19
|
+
// any skeleton element inside a container with the the .loaded class removes the sheen animation.
|
|
20
|
+
.loaded & {
|
|
21
|
+
background-color: transparent;
|
|
22
|
+
animation: none;
|
|
23
|
+
}
|
|
24
|
+
}
|
|
25
|
+
}
|
|
26
|
+
.skeleton-avatar {
|
|
27
|
+
width: ($spacer * 1.5);
|
|
28
|
+
height: ($spacer * 1.5);
|
|
29
|
+
border-radius: 50%;
|
|
30
|
+
}
|
|
31
|
+
.skeleton-heading {
|
|
32
|
+
width: 70%;
|
|
33
|
+
height: $spacer;
|
|
34
|
+
border-radius: ($spacer * .5);
|
|
35
|
+
&:nth-child(even) { width: 45%; }
|
|
36
|
+
}
|
|
37
|
+
.skeleton-paragraph {
|
|
38
|
+
width: 100%;
|
|
39
|
+
height: ($spacer * .5);
|
|
40
|
+
border-radius: ($spacer * .25);
|
|
41
|
+
&:nth-child(2n+1) { width: 90%; }
|
|
42
|
+
&:nth-child(3n+1) { width: 75%; }
|
|
43
|
+
&:nth-child(4n+1) { width: 80%; }
|
|
44
|
+
}
|
|
45
|
+
|
|
46
|
+
// Sheen animation used on skeleton elements
|
|
47
|
+
@keyframes skeleton-sheen {
|
|
48
|
+
0% { opacity: .45; }
|
|
49
|
+
to { opacity: .9; }
|
|
50
|
+
}
|
|
@@ -8,7 +8,7 @@ $slat-actions-lg-width: 108px;
|
|
|
8
8
|
flex-flow: column nowrap;
|
|
9
9
|
|
|
10
10
|
// Nowrap version -- used when the goal is to have all slat-item columns on the same line in smaller screens
|
|
11
|
-
|
|
11
|
+
&:not(.slats-nowrap) { // noting the :not() psuedo-class meaning all slats that don't have this class get these styles
|
|
12
12
|
.slat-body {
|
|
13
13
|
@include media-breakpoint-down(sm) { flex-direction: column; }
|
|
14
14
|
}
|
|
@@ -37,23 +37,8 @@ $slat-actions-lg-width: 108px;
|
|
|
37
37
|
padding-bottom: ($spacer * 1.5);
|
|
38
38
|
}
|
|
39
39
|
|
|
40
|
-
//
|
|
41
|
-
&.
|
|
42
|
-
visibility: visible !important;
|
|
43
|
-
background: theme-color("light");
|
|
44
|
-
border: $border-width dashed $border-color;
|
|
45
|
-
+ .slat { border-top: none; }
|
|
46
|
-
+ &.ui-sortable-helper {
|
|
47
|
-
border-top-style: dashed;
|
|
48
|
-
+ &.slat { border-top: none; }
|
|
49
|
-
}
|
|
50
|
-
}
|
|
51
|
-
&.ui-sortable-helper {
|
|
52
|
-
border-top: none;
|
|
53
|
-
opacity: .5;
|
|
54
|
-
border-top: none;
|
|
55
|
-
+ &.ui-sortable-placeholder { border-top: $border-width dashed $border-color; }
|
|
56
|
-
}
|
|
40
|
+
// Status
|
|
41
|
+
&.pending { background-color: #fff5e0; }
|
|
57
42
|
}
|
|
58
43
|
|
|
59
44
|
|
|
@@ -22,13 +22,13 @@
|
|
|
22
22
|
display: block;
|
|
23
23
|
margin-right: auto;
|
|
24
24
|
margin-left: auto;
|
|
25
|
-
@include media-breakpoint-down(sm) { padding-bottom: $grid-gutter-width; }
|
|
26
|
-
@include media-breakpoint-up(sm) { padding-bottom: ($grid-gutter-width *
|
|
25
|
+
@include media-breakpoint-down(sm) { padding-bottom: ($grid-gutter-width * 1.5); }
|
|
26
|
+
@include media-breakpoint-up(sm) { padding-bottom: ($grid-gutter-width * 2); }
|
|
27
27
|
&:last-child { padding-bottom: 0; }
|
|
28
28
|
+ .tile-section {
|
|
29
29
|
border-top: $border-width solid $border-color;
|
|
30
|
-
@include media-breakpoint-down(sm) { padding-top: $grid-gutter-width; }
|
|
31
|
-
@include media-breakpoint-up(sm) { padding-top: ($grid-gutter-width *
|
|
30
|
+
@include media-breakpoint-down(sm) { padding-top: ($grid-gutter-width * 1.5); }
|
|
31
|
+
@include media-breakpoint-up(sm) { padding-top: ($grid-gutter-width * 2); }
|
|
32
32
|
}
|
|
33
33
|
}
|
|
34
34
|
|
|
@@ -28,7 +28,11 @@ module NfgUi
|
|
|
28
28
|
content_tag(:div, class: modal_dialog_css_classes, role: 'document') do
|
|
29
29
|
content_tag(:div, class: 'modal-content') do
|
|
30
30
|
capture do
|
|
31
|
-
|
|
31
|
+
# Optionally, leave title nil
|
|
32
|
+
# and the title / dismiss functionality is left out.
|
|
33
|
+
if title.present?
|
|
34
|
+
concat(NfgUi::Bootstrap::Components::ModalHeader.new({ title: title }, view_context).render)
|
|
35
|
+
end
|
|
32
36
|
if render_in_body
|
|
33
37
|
concat(NfgUi::Bootstrap::Components::ModalBody.new({ body: (block_given? ? yield : body) }, view_context).render)
|
|
34
38
|
else
|
|
@@ -10,7 +10,14 @@ module NfgUi
|
|
|
10
10
|
include NfgUi::Components::Utilities::Renderable
|
|
11
11
|
include NfgUi::Components::Utilities::Titleable
|
|
12
12
|
|
|
13
|
+
include NfgUi::Components::Traits::Modal
|
|
13
14
|
include NfgUi::Components::Traits::Size
|
|
15
|
+
|
|
16
|
+
private
|
|
17
|
+
|
|
18
|
+
def resized?
|
|
19
|
+
[:sm, :lg, :xl, :cover].include?(size)
|
|
20
|
+
end
|
|
14
21
|
end
|
|
15
22
|
end
|
|
16
23
|
end
|
data/lib/nfg_ui/version.rb
CHANGED
metadata
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
|
2
2
|
name: nfg_ui
|
|
3
3
|
version: !ruby/object:Gem::Version
|
|
4
|
-
version: 0.11.
|
|
4
|
+
version: 0.11.8
|
|
5
5
|
platform: ruby
|
|
6
6
|
authors:
|
|
7
7
|
- Jonathan Roehm
|
|
@@ -9,7 +9,7 @@ authors:
|
|
|
9
9
|
autorequire:
|
|
10
10
|
bindir: bin
|
|
11
11
|
cert_chain: []
|
|
12
|
-
date: 2020-10
|
|
12
|
+
date: 2020-12-10 00:00:00.000000000 Z
|
|
13
13
|
dependencies:
|
|
14
14
|
- !ruby/object:Gem::Dependency
|
|
15
15
|
name: bootstrap
|
|
@@ -407,6 +407,7 @@ files:
|
|
|
407
407
|
- app/assets/stylesheets/nfg_ui/network_for_good/admin/color_variations/nfg_theme/_reboot.scss
|
|
408
408
|
- app/assets/stylesheets/nfg_ui/network_for_good/admin/color_variations/nfg_theme/_type.scss
|
|
409
409
|
- app/assets/stylesheets/nfg_ui/network_for_good/admin/color_variations/nfg_theme/_utilities.scss
|
|
410
|
+
- app/assets/stylesheets/nfg_ui/network_for_good/admin/color_variations/nfg_theme/custom/_activity_feed.scss
|
|
410
411
|
- app/assets/stylesheets/nfg_ui/network_for_good/admin/color_variations/nfg_theme/custom/_icons.scss
|
|
411
412
|
- app/assets/stylesheets/nfg_ui/network_for_good/admin/color_variations/nfg_theme/custom/_nav_step.scss
|
|
412
413
|
- app/assets/stylesheets/nfg_ui/network_for_good/admin/color_variations/plugins/_datetimepicker.scss
|
|
@@ -419,6 +420,8 @@ files:
|
|
|
419
420
|
- app/assets/stylesheets/nfg_ui/network_for_good/admin/nfg_theme/_nav.scss
|
|
420
421
|
- app/assets/stylesheets/nfg_ui/network_for_good/admin/nfg_theme/_navbar.scss
|
|
421
422
|
- app/assets/stylesheets/nfg_ui/network_for_good/admin/nfg_theme/_tables.scss
|
|
423
|
+
- app/assets/stylesheets/nfg_ui/network_for_good/admin/nfg_theme/custom/_activity_feed.scss
|
|
424
|
+
- app/assets/stylesheets/nfg_ui/network_for_good/admin/nfg_theme/custom/_bee.scss
|
|
422
425
|
- app/assets/stylesheets/nfg_ui/network_for_good/admin/nfg_theme/custom/_builder_layout.scss
|
|
423
426
|
- app/assets/stylesheets/nfg_ui/network_for_good/admin/nfg_theme/custom/_campaign_card.scss
|
|
424
427
|
- app/assets/stylesheets/nfg_ui/network_for_good/admin/nfg_theme/custom/_campaign_preview.scss
|
|
@@ -427,11 +430,14 @@ files:
|
|
|
427
430
|
- app/assets/stylesheets/nfg_ui/network_for_good/admin/nfg_theme/custom/_custom_receipt_language.scss
|
|
428
431
|
- app/assets/stylesheets/nfg_ui/network_for_good/admin/nfg_theme/custom/_email_preview.scss
|
|
429
432
|
- app/assets/stylesheets/nfg_ui/network_for_good/admin/nfg_theme/custom/_free_trial.scss
|
|
433
|
+
- app/assets/stylesheets/nfg_ui/network_for_good/admin/nfg_theme/custom/_gallery.scss
|
|
430
434
|
- app/assets/stylesheets/nfg_ui/network_for_good/admin/nfg_theme/custom/_icomoon.scss
|
|
431
435
|
- app/assets/stylesheets/nfg_ui/network_for_good/admin/nfg_theme/custom/_interaction.scss
|
|
432
436
|
- app/assets/stylesheets/nfg_ui/network_for_good/admin/nfg_theme/custom/_overlay_blocker.scss
|
|
433
437
|
- app/assets/stylesheets/nfg_ui/network_for_good/admin/nfg_theme/custom/_page_header.scss
|
|
438
|
+
- app/assets/stylesheets/nfg_ui/network_for_good/admin/nfg_theme/custom/_readmore.scss
|
|
434
439
|
- app/assets/stylesheets/nfg_ui/network_for_good/admin/nfg_theme/custom/_share_dropdown.scss
|
|
440
|
+
- app/assets/stylesheets/nfg_ui/network_for_good/admin/nfg_theme/custom/_sortable.scss
|
|
435
441
|
- app/assets/stylesheets/nfg_ui/network_for_good/admin/nfg_theme/custom/_status_indicator.scss
|
|
436
442
|
- app/assets/stylesheets/nfg_ui/network_for_good/admin/nfg_theme/custom/_tile.scss
|
|
437
443
|
- app/assets/stylesheets/nfg_ui/network_for_good/admin/nfg_theme/custom/_video_countdown.scss
|
|
@@ -475,6 +481,7 @@ files:
|
|
|
475
481
|
- app/assets/stylesheets/nfg_ui/network_for_good/core/legacy_browser_support/nfg_theme/_utilities.scss
|
|
476
482
|
- app/assets/stylesheets/nfg_ui/network_for_good/core/legacy_browser_support/nfg_theme/custom/_avatar.scss
|
|
477
483
|
- app/assets/stylesheets/nfg_ui/network_for_good/core/legacy_browser_support/nfg_theme/custom/_everyday_giving.scss
|
|
484
|
+
- app/assets/stylesheets/nfg_ui/network_for_good/core/legacy_browser_support/nfg_theme/custom/_icon.scss
|
|
478
485
|
- app/assets/stylesheets/nfg_ui/network_for_good/core/legacy_browser_support/nfg_theme/custom/_nav_step.scss
|
|
479
486
|
- app/assets/stylesheets/nfg_ui/network_for_good/core/legacy_browser_support/nfg_theme/custom/_slat.scss
|
|
480
487
|
- app/assets/stylesheets/nfg_ui/network_for_good/core/legacy_browser_support/nfg_theme/custom/_video_countdown.scss
|
|
@@ -485,6 +492,7 @@ files:
|
|
|
485
492
|
- app/assets/stylesheets/nfg_ui/network_for_good/core/legacy_browser_support/nfg_theme/utilities/_flex.scss
|
|
486
493
|
- app/assets/stylesheets/nfg_ui/network_for_good/core/legacy_browser_support/plugins/_sticky_div.scss
|
|
487
494
|
- app/assets/stylesheets/nfg_ui/network_for_good/core/nfg_theme/_alert.scss
|
|
495
|
+
- app/assets/stylesheets/nfg_ui/network_for_good/core/nfg_theme/_badge.scss
|
|
488
496
|
- app/assets/stylesheets/nfg_ui/network_for_good/core/nfg_theme/_button-group.scss
|
|
489
497
|
- app/assets/stylesheets/nfg_ui/network_for_good/core/nfg_theme/_buttons.scss
|
|
490
498
|
- app/assets/stylesheets/nfg_ui/network_for_good/core/nfg_theme/_card.scss
|
|
@@ -500,10 +508,12 @@ files:
|
|
|
500
508
|
- app/assets/stylesheets/nfg_ui/network_for_good/core/nfg_theme/_type.scss
|
|
501
509
|
- app/assets/stylesheets/nfg_ui/network_for_good/core/nfg_theme/custom/_avatar.scss
|
|
502
510
|
- app/assets/stylesheets/nfg_ui/network_for_good/core/nfg_theme/custom/_device_preview.scss
|
|
511
|
+
- app/assets/stylesheets/nfg_ui/network_for_good/core/nfg_theme/custom/_icon.scss
|
|
503
512
|
- app/assets/stylesheets/nfg_ui/network_for_good/core/nfg_theme/custom/_illustration.scss
|
|
504
513
|
- app/assets/stylesheets/nfg_ui/network_for_good/core/nfg_theme/custom/_mobile.scss
|
|
505
514
|
- app/assets/stylesheets/nfg_ui/network_for_good/core/nfg_theme/custom/_nav_step.scss
|
|
506
515
|
- app/assets/stylesheets/nfg_ui/network_for_good/core/nfg_theme/custom/_redactor.scss
|
|
516
|
+
- app/assets/stylesheets/nfg_ui/network_for_good/core/nfg_theme/custom/_skeleton.scss
|
|
507
517
|
- app/assets/stylesheets/nfg_ui/network_for_good/core/nfg_theme/custom/_slat.scss
|
|
508
518
|
- app/assets/stylesheets/nfg_ui/network_for_good/core/nfg_theme/custom/_social_share.scss
|
|
509
519
|
- app/assets/stylesheets/nfg_ui/network_for_good/core/nfg_theme/custom/_ticket.scss
|
|
@@ -740,6 +750,7 @@ files:
|
|
|
740
750
|
- lib/nfg_ui/components/traits/dropdown_toggle.rb
|
|
741
751
|
- lib/nfg_ui/components/traits/icon.rb
|
|
742
752
|
- lib/nfg_ui/components/traits/list_group.rb
|
|
753
|
+
- lib/nfg_ui/components/traits/modal.rb
|
|
743
754
|
- lib/nfg_ui/components/traits/muted.rb
|
|
744
755
|
- lib/nfg_ui/components/traits/nav.rb
|
|
745
756
|
- lib/nfg_ui/components/traits/nav_item.rb
|