nfg_ui 0.11.1 → 0.11.5

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 (32) hide show
  1. checksums.yaml +4 -4
  2. data/Rakefile +1 -1
  3. data/app/assets/stylesheets/nfg_ui/network_for_good/admin/color_variations/nfg_theme/_badge.scss +4 -1
  4. data/app/assets/stylesheets/nfg_ui/network_for_good/admin/color_variations/nfg_theme/_buttons.scss +4 -1
  5. data/app/assets/stylesheets/nfg_ui/network_for_good/admin/color_variations/nfg_theme/_custom.scss +1 -0
  6. data/app/assets/stylesheets/nfg_ui/network_for_good/admin/color_variations/nfg_theme/_reboot.scss +1 -1
  7. data/app/assets/stylesheets/nfg_ui/network_for_good/admin/color_variations/nfg_theme/custom/_activity_feed.scss +7 -0
  8. data/app/assets/stylesheets/nfg_ui/network_for_good/admin/nfg_theme/_custom.scss +2 -0
  9. data/app/assets/stylesheets/nfg_ui/network_for_good/admin/nfg_theme/_modal.scss +16 -0
  10. data/app/assets/stylesheets/nfg_ui/network_for_good/admin/nfg_theme/custom/_activity_feed.scss +34 -0
  11. data/app/assets/stylesheets/nfg_ui/network_for_good/admin/nfg_theme/custom/_builder_layout.scss +1 -0
  12. data/app/assets/stylesheets/nfg_ui/network_for_good/admin/nfg_theme/custom/_campaign_card.scss +1 -1
  13. data/app/assets/stylesheets/nfg_ui/network_for_good/admin/nfg_theme/custom/_gallery.scss +46 -0
  14. data/app/assets/stylesheets/nfg_ui/network_for_good/admin/nfg_theme/custom/_overlay_blocker.scss +1 -1
  15. data/app/assets/stylesheets/nfg_ui/network_for_good/core/legacy_browser_support/nfg_theme/_custom.scss +1 -0
  16. data/app/assets/stylesheets/nfg_ui/network_for_good/core/legacy_browser_support/nfg_theme/custom/_icon.scss +5 -0
  17. data/app/assets/stylesheets/nfg_ui/network_for_good/core/nfg_theme/_alert.scss +4 -4
  18. data/app/assets/stylesheets/nfg_ui/network_for_good/core/nfg_theme/_badge.scss +3 -0
  19. data/app/assets/stylesheets/nfg_ui/network_for_good/core/nfg_theme/_buttons.scss +3 -0
  20. data/app/assets/stylesheets/nfg_ui/network_for_good/core/nfg_theme/_custom-forms.scss +4 -0
  21. data/app/assets/stylesheets/nfg_ui/network_for_good/core/nfg_theme/_custom.scss +2 -0
  22. data/app/assets/stylesheets/nfg_ui/network_for_good/core/nfg_theme/_sizing.scss +11 -0
  23. data/app/assets/stylesheets/nfg_ui/network_for_good/core/nfg_theme/custom/_avatar.scss +1 -1
  24. data/app/assets/stylesheets/nfg_ui/network_for_good/core/nfg_theme/custom/_icon.scss +34 -0
  25. data/app/assets/stylesheets/nfg_ui/network_for_good/core/nfg_theme/custom/_skeleton.scss +50 -0
  26. data/app/assets/stylesheets/nfg_ui/network_for_good/core/nfg_theme/custom/_tile.scss +4 -4
  27. data/lib/nfg_ui/bootstrap/components/modal.rb +5 -1
  28. data/lib/nfg_ui/components/patterns/modal.rb +7 -0
  29. data/lib/nfg_ui/components/traits.rb +1 -0
  30. data/lib/nfg_ui/components/traits/modal.rb +15 -0
  31. data/lib/nfg_ui/version.rb +1 -1
  32. metadata +11 -2
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: f0724b78919c0829c296004c09b2bae90a2b0492bc4d637c28a2a4dc5c5c4d7f
4
- data.tar.gz: 9e8841a495673888802bb12df9bb9d3b92b32ad7042c6a2ee458f980c189c71b
3
+ metadata.gz: f6873ae0b61984e697a1b6ee78a84296be11729d47c97a1b537e6fd57b45c7fd
4
+ data.tar.gz: 45feded1d9e2cd3313126dbe0b34975ae606edede1559bc04e21a45320ef734c
5
5
  SHA512:
6
- metadata.gz: 40b97acfd1869140887b904f0c6a275f96290f67b6dd9f0b1ddba242fc9947f429e3efdc3b5c70805e93fc5aef55d139e99cb53fc52a1981adca6f18719e5e8d
7
- data.tar.gz: d4dafdd6a2f3a401266526259ddb12a773b927557f4d12c06547a034516c3cffa669b5545421227fe3dd2a6c23bd89a1579dfe657c4afd0793d2626bb329b557
6
+ metadata.gz: 6729574a1e6a4a86db7a68bc7124bf2041ff5e6f78826f8685df2746dcd126c86db446bd56eb384f3d20027db57582eff768eca0cbd1e90f8a15e15c0df79f42
7
+ data.tar.gz: a7cdec8d0b423255b95080033361a5a4f7bdd8e4feaaf0f165d5f2d65b793caa7512c2e7aa5bfc00c1291c706ff066754943f2a2de7255d1534610a5657482c8
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.with_clean_env do
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
@@ -1,5 +1,8 @@
1
1
  @each $color, $value in $colors {
2
2
  .#{$color} {
3
- .badge-primary { @include badge-variant($value); }
3
+ .badge-primary {
4
+ @include badge-variant($value);
5
+ color: $white !important;
6
+ }
4
7
  }
5
8
  }
@@ -1,6 +1,9 @@
1
1
  @each $color, $value in $colors {
2
2
  .#{$color} {
3
- .btn-primary { @include button-variant($value, $value); }
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,3 +1,4 @@
1
1
  // Our custom styles
2
+ @import 'custom/activity_feed';
2
3
  @import 'custom/icons';
3
4
  @import 'custom/nav_step';
@@ -1,6 +1,6 @@
1
1
  @each $color, $value in $colors {
2
2
  .#{$color} {
3
- a:not(.btn) {
3
+ a:not(.dropdown-item) {
4
4
  color: $value;
5
5
  @include hover { color: darken($value, 15%); }
6
6
  }
@@ -0,0 +1,7 @@
1
+ @each $color, $value in $colors {
2
+ .activity-feed-item {
3
+ &.#{nth($color, 1)} {
4
+ .activity-icon { background-color: $value; }
5
+ }
6
+ }
7
+ }
@@ -1,4 +1,5 @@
1
1
  // Our custom styles
2
+ @import 'custom/activity_feed';
2
3
  @import 'custom/builder_layout';
3
4
  @import 'custom/campaign_card';
4
5
  @import 'custom/campaign_preview';
@@ -7,6 +8,7 @@
7
8
  @import 'custom/custom_receipt_language';
8
9
  @import 'custom/email_preview';
9
10
  @import 'custom/free_trial';
11
+ @import 'custom/gallery';
10
12
  @import 'custom/icomoon';
11
13
  @import 'custom/interaction';
12
14
  @import 'custom/overlay_blocker';
@@ -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
+ }
@@ -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
+ }
@@ -80,6 +80,7 @@ $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;
@@ -3,4 +3,4 @@
3
3
  height: ($spacer * 8);
4
4
  overflow: hidden;
5
5
  .card-img { min-height: 100%; }
6
- }
6
+ }
@@ -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
+
@@ -40,7 +40,7 @@ $redacted-font-family: "BLOKK";
40
40
  font-family: $font-family-base;
41
41
  letter-spacing: 0;
42
42
  word-spacing: 0;
43
- background-color: rgba(255,255,255,0.9);
43
+ background-color: transparentize($white, 0.2);
44
44
  }
45
45
  .overlay-blur {
46
46
  transition: $transition-base;
@@ -1,6 +1,7 @@
1
1
  // Our custom styles
2
2
  @import 'custom/avatar';
3
3
  @import 'custom/everyday_giving';
4
+ @import 'custom/icon';
4
5
  @import 'custom/nav_step';
5
6
  @import 'custom/slat';
6
7
  @import 'custom/video_countdown';
@@ -0,0 +1,5 @@
1
+ .icon-circle {
2
+ display: -ms-inline-flexbox;
3
+ -ms-flex-align: center;
4
+ -ms-flex-pack: center;
5
+ }
@@ -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 {
@@ -0,0 +1,3 @@
1
+ // overrides color contrast settings
2
+ .badge-secondary { color: $white !important; }
3
+ .badge-warning { color: $white !important; }
@@ -15,3 +15,6 @@
15
15
  }
16
16
  }
17
17
  .btn-link { font-weight: $btn-font-weight; }
18
+
19
+ // overrides color contrast settings
20
+ .btn-warning { color: $white !important; }
@@ -10,6 +10,7 @@
10
10
  }
11
11
  &:focus:not(:checked) ~ .custom-control-label::before { border-color: $input-border-color; }
12
12
  }
13
+ + .custom-control:not(.custom-control-inline) { margin-top: ($spacer * .25); }
13
14
  }
14
15
 
15
16
  // Custom control indicators
@@ -41,6 +42,9 @@
41
42
  //
42
43
 
43
44
  .custom-select {
45
+ display: block;
46
+ width: auto;
47
+ max-width: 100%;
44
48
  font-weight: $btn-font-weight;
45
49
  cursor: pointer;
46
50
  box-shadow: none;
@@ -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';
@@ -0,0 +1,11 @@
1
+ // Width and height based on viewport
2
+ @each $breakpoint in map-keys($grid-breakpoints) {
3
+ @include media-breakpoint-up($breakpoint) {
4
+ $infix: breakpoint-infix($breakpoint, $grid-breakpoints);
5
+ @each $prop, $abbrev in (width: w, height: h) {
6
+ @each $size, $length in $sizes {
7
+ .#{$abbrev}#{$infix}-#{$size} { #{$prop}: $length !important; }
8
+ }
9
+ }
10
+ }
11
+ }
@@ -21,7 +21,7 @@
21
21
  .avatar-text {
22
22
  font-weight: $font-weight-bold;
23
23
  font-size: $font-size-base;
24
- line-height: 1;
24
+ line-height: 1.2;
25
25
  color: $body-color;
26
26
  text-align: center;
27
27
  white-space: nowrap;
@@ -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
+ }
@@ -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 * 1.5); }
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 * 1.5); }
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
- concat(NfgUi::Bootstrap::Components::ModalHeader.new({ title: title }, view_context).render)
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
@@ -18,6 +18,7 @@ module NfgUi
18
18
  DropdownToggle
19
19
  Icon
20
20
  ListGroup
21
+ Modal
21
22
  Muted
22
23
  Nav
23
24
  Navbar
@@ -0,0 +1,15 @@
1
+ # frozen_string_literal: true
2
+
3
+ module NfgUi
4
+ module Components
5
+ module Traits
6
+ module Modal
7
+ TRAITS = %i[cover].freeze
8
+
9
+ def cover_trait
10
+ options[:size] = :cover
11
+ end
12
+ end
13
+ end
14
+ end
15
+ end
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module NfgUi
4
- VERSION = '0.11.1'
4
+ VERSION = '0.11.5'
5
5
  end
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.1
4
+ version: 0.11.5
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-09-21 00:00:00.000000000 Z
12
+ date: 2020-10-29 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,7 @@ 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
422
424
  - app/assets/stylesheets/nfg_ui/network_for_good/admin/nfg_theme/custom/_builder_layout.scss
423
425
  - app/assets/stylesheets/nfg_ui/network_for_good/admin/nfg_theme/custom/_campaign_card.scss
424
426
  - app/assets/stylesheets/nfg_ui/network_for_good/admin/nfg_theme/custom/_campaign_preview.scss
@@ -427,6 +429,7 @@ files:
427
429
  - app/assets/stylesheets/nfg_ui/network_for_good/admin/nfg_theme/custom/_custom_receipt_language.scss
428
430
  - app/assets/stylesheets/nfg_ui/network_for_good/admin/nfg_theme/custom/_email_preview.scss
429
431
  - app/assets/stylesheets/nfg_ui/network_for_good/admin/nfg_theme/custom/_free_trial.scss
432
+ - app/assets/stylesheets/nfg_ui/network_for_good/admin/nfg_theme/custom/_gallery.scss
430
433
  - app/assets/stylesheets/nfg_ui/network_for_good/admin/nfg_theme/custom/_icomoon.scss
431
434
  - app/assets/stylesheets/nfg_ui/network_for_good/admin/nfg_theme/custom/_interaction.scss
432
435
  - app/assets/stylesheets/nfg_ui/network_for_good/admin/nfg_theme/custom/_overlay_blocker.scss
@@ -475,6 +478,7 @@ files:
475
478
  - app/assets/stylesheets/nfg_ui/network_for_good/core/legacy_browser_support/nfg_theme/_utilities.scss
476
479
  - app/assets/stylesheets/nfg_ui/network_for_good/core/legacy_browser_support/nfg_theme/custom/_avatar.scss
477
480
  - app/assets/stylesheets/nfg_ui/network_for_good/core/legacy_browser_support/nfg_theme/custom/_everyday_giving.scss
481
+ - app/assets/stylesheets/nfg_ui/network_for_good/core/legacy_browser_support/nfg_theme/custom/_icon.scss
478
482
  - app/assets/stylesheets/nfg_ui/network_for_good/core/legacy_browser_support/nfg_theme/custom/_nav_step.scss
479
483
  - app/assets/stylesheets/nfg_ui/network_for_good/core/legacy_browser_support/nfg_theme/custom/_slat.scss
480
484
  - app/assets/stylesheets/nfg_ui/network_for_good/core/legacy_browser_support/nfg_theme/custom/_video_countdown.scss
@@ -485,6 +489,7 @@ files:
485
489
  - app/assets/stylesheets/nfg_ui/network_for_good/core/legacy_browser_support/nfg_theme/utilities/_flex.scss
486
490
  - app/assets/stylesheets/nfg_ui/network_for_good/core/legacy_browser_support/plugins/_sticky_div.scss
487
491
  - app/assets/stylesheets/nfg_ui/network_for_good/core/nfg_theme/_alert.scss
492
+ - app/assets/stylesheets/nfg_ui/network_for_good/core/nfg_theme/_badge.scss
488
493
  - app/assets/stylesheets/nfg_ui/network_for_good/core/nfg_theme/_button-group.scss
489
494
  - app/assets/stylesheets/nfg_ui/network_for_good/core/nfg_theme/_buttons.scss
490
495
  - app/assets/stylesheets/nfg_ui/network_for_good/core/nfg_theme/_card.scss
@@ -495,14 +500,17 @@ files:
495
500
  - app/assets/stylesheets/nfg_ui/network_for_good/core/nfg_theme/_nav.scss
496
501
  - app/assets/stylesheets/nfg_ui/network_for_good/core/nfg_theme/_progress.scss
497
502
  - app/assets/stylesheets/nfg_ui/network_for_good/core/nfg_theme/_reboot.scss
503
+ - app/assets/stylesheets/nfg_ui/network_for_good/core/nfg_theme/_sizing.scss
498
504
  - app/assets/stylesheets/nfg_ui/network_for_good/core/nfg_theme/_tooltip.scss
499
505
  - app/assets/stylesheets/nfg_ui/network_for_good/core/nfg_theme/_type.scss
500
506
  - app/assets/stylesheets/nfg_ui/network_for_good/core/nfg_theme/custom/_avatar.scss
501
507
  - app/assets/stylesheets/nfg_ui/network_for_good/core/nfg_theme/custom/_device_preview.scss
508
+ - app/assets/stylesheets/nfg_ui/network_for_good/core/nfg_theme/custom/_icon.scss
502
509
  - app/assets/stylesheets/nfg_ui/network_for_good/core/nfg_theme/custom/_illustration.scss
503
510
  - app/assets/stylesheets/nfg_ui/network_for_good/core/nfg_theme/custom/_mobile.scss
504
511
  - app/assets/stylesheets/nfg_ui/network_for_good/core/nfg_theme/custom/_nav_step.scss
505
512
  - app/assets/stylesheets/nfg_ui/network_for_good/core/nfg_theme/custom/_redactor.scss
513
+ - app/assets/stylesheets/nfg_ui/network_for_good/core/nfg_theme/custom/_skeleton.scss
506
514
  - app/assets/stylesheets/nfg_ui/network_for_good/core/nfg_theme/custom/_slat.scss
507
515
  - app/assets/stylesheets/nfg_ui/network_for_good/core/nfg_theme/custom/_social_share.scss
508
516
  - app/assets/stylesheets/nfg_ui/network_for_good/core/nfg_theme/custom/_ticket.scss
@@ -739,6 +747,7 @@ files:
739
747
  - lib/nfg_ui/components/traits/dropdown_toggle.rb
740
748
  - lib/nfg_ui/components/traits/icon.rb
741
749
  - lib/nfg_ui/components/traits/list_group.rb
750
+ - lib/nfg_ui/components/traits/modal.rb
742
751
  - lib/nfg_ui/components/traits/muted.rb
743
752
  - lib/nfg_ui/components/traits/nav.rb
744
753
  - lib/nfg_ui/components/traits/nav_item.rb