nfg_ui 0.9.9 → 0.9.10

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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: e929dc744ed1f19b18929848cdb4d01746d23cad7c72a79a9dfb9c3295f2ee8b
4
- data.tar.gz: 7760d51a76d7ec5c639a7baf1277bdde9e4c459e63257d2748747b9a9dc6842e
3
+ metadata.gz: 91d2b591a3156c120e2d634e0a1f70bf85989f94cefd242565445297794a10e8
4
+ data.tar.gz: afc72e98c8e3379e3d7dd93b602848bcb043848b82dd79f30edc1ec417d06ce4
5
5
  SHA512:
6
- metadata.gz: fd11a1b6c33e5c98d3654006f3da19a7bec77921e41fd0406ea83de3d31d08dc3c7b3cce4416b7eddad970341139562a41802b66902f5e42686b7bbff2105dda
7
- data.tar.gz: 6c304b8e6b4aef3ac831c1d772c5f512f2d702fbe7f3d3f966d0f3b6f9ed942bb6d5f4cb4624e73516dbd8c885229667cddaeb671bf88ce9411063e1c8c9e73c
6
+ metadata.gz: 8549a0db880057b3e9e44be1ac6a0f5a8d20ed3f390025a281c26b5d5b0e697a380653f8db0b5e2cebaa0e752ed460ec70a83823d6f45afca9d291d18ce2bbab
7
+ data.tar.gz: 8b2f43543f01d2ba9a36ce9ccfe04a30d6d203352e2835943856ed034bfeb89ce71e55ac0b8f660b5d4ed9ea2bc23189d9a4ee720f7bc2b26bae17dbe839c7a1
data/README.md CHANGED
@@ -6,7 +6,7 @@ Note: the readme documentation is a little out of date and will be updated with
6
6
  [Jump to development / setting up the gem locally](https://github.com/network-for-good/nfg_ui/blob/master/README.md#local-development--accessing-documentation)
7
7
 
8
8
  ```ruby
9
- gem 'nfg_ui', git: 'https://github.com/network-for-good/nfg_ui'
9
+ gem 'nfg_ui'
10
10
  ```
11
11
 
12
12
  NFG UX & UI team_ (J&K) are excited to bring you... the *Network For Good design system* gem or: `nfg_ui` gem. This bad boy is an all encompassing one-stop shop for everything front-end for Network for Good products.
@@ -22,7 +22,7 @@ To review the documentation for the components, get code samples and browse the
22
22
 
23
23
  ### Include the gem in your Gemfile
24
24
  ```ruby
25
- gem 'nfg_ui', git: 'https://github.com/network-for-good/nfg_ui'
25
+ gem 'nfg_ui'
26
26
  ```
27
27
 
28
28
  ### Import & Require the gem's assets
@@ -358,6 +358,8 @@ $ Collapsible? (Y/n):
358
358
 
359
359
  31. _Add a generator to supply the bootstrap shared examples for spec writing your own components._
360
360
 
361
+ 32. Need to integrate will_paginate rendering into the nfg_ui gem.
362
+
361
363
  Component tooltip/icon auto list for backup
362
364
  FOUNDATION_COMPONENT_NAMES = %i[color
363
365
  icon
@@ -2,8 +2,7 @@
2
2
  .event {
3
3
  .jumbotron {
4
4
  height: auto;
5
- @include border-radius(0);
6
- background-repeat:no-repeat;
5
+ background-repeat: no-repeat;
7
6
  background-size: cover;
8
7
  &:before {
9
8
  position: absolute;
@@ -12,8 +11,14 @@
12
11
  bottom: 0;
13
12
  left: 0;
14
13
  z-index: 0;
15
- background-color: transparentize(#000, 0.7);
14
+ background-color: transparentize($black, 0.7);
16
15
  content: '';
17
16
  }
17
+ @include media-breakpoint-down(md) {
18
+ background-image: none !important;
19
+ &:before { display: none; }
20
+ .card { box-shadow: none; }
21
+ .card-body { padding: 0; }
22
+ }
18
23
  }
19
24
  }
@@ -1,7 +1,6 @@
1
1
  // Styles specific to the everyday story style
2
2
  .everyday_story {
3
3
  .jumbotron {
4
- width: 100%;
5
4
  height: 100%;
6
5
  background-repeat: no-repeat;
7
6
  background-size: cover;
@@ -23,41 +23,80 @@ module NfgUi
23
23
  LEFT_ICON_SPACER_CSS_CLASS = 'mr-1'
24
24
  RIGHT_ICON_SPACER_CSS_CLASS = 'ml-1'
25
25
 
26
+ # Utilize a trait or `:icon` within options.
27
+ # When setting the icon as a trait, you must pass in a string.
28
+ # If a symbol is detected, the component assumes it's a registered trait
29
+ #
30
+ # Example usage as a trait:
31
+ # = ui.nfg :icon, 'heart'
32
+ #
33
+ # Example usage as an option:
34
+ # = ui.nfg :icon, icon: 'heart'
35
+ #
36
+ # This is useful in syncing up the ability to pass in `:icon` to
37
+ # components that accept `:icon` in options and automatically render an icon.
38
+ def icon
39
+ options[:icon] || (traits.slice!(0).to_s if traits.first.is_a?(String))
40
+ end
41
+
42
+ # Outputs a Font Awesome icon using the #fa_icon method.
26
43
  def render
27
44
  view_context.fa_icon icon, **html_options, text: text, right: right
28
45
  end
29
46
 
30
- def icon
31
- options[:icon] || (traits.slice!(0).to_s if traits.first.is_a?(String))
47
+ # Tap into the font_awesome_rails :right method to
48
+ # place the icon on the right side of the text.
49
+ # This also automatically adds the right side css spacer class to the icon <i> tag.
50
+ def right
51
+ options.fetch(:right, false)
32
52
  end
33
53
 
54
+ # Tap into the font_awesome_rails :text method to
55
+ # insert text into the rendered component.
34
56
  def text
35
57
  options.fetch(:text, nil)
36
58
  end
37
59
 
38
- def right
39
- options.fetch(:right, false)
60
+ private
61
+
62
+ # Adds the left css spacer class when :right is false
63
+ # and when text is present
64
+ def add_left_icon_css_spacer_class?
65
+ !right && text.present?
40
66
  end
41
67
 
42
- private
68
+ # Adds the left css spacer class when :right is true
69
+ # and when text is present
70
+ def add_right_icon_css_spacer_class?
71
+ right && text.present?
72
+ end
73
+
74
+ def assistive_html_attributes
75
+ super.merge(aria: { hidden: true })
76
+ end
77
+
78
+ # Override the auto generated css class
79
+ def component_css_class
80
+ ''
81
+ end
43
82
 
83
+ # Icons utilize "spacer" css classes to manually provide margins
84
+ # between the icon and the text.
44
85
  def css_classes
45
- return super unless update_css_classes?
46
86
  [
47
87
  super,
48
- (NfgUi::Components::Foundations::Icon::LEFT_ICON_SPACER_CSS_CLASS unless right),
49
- (NfgUi::Components::Foundations::Icon::RIGHT_ICON_SPACER_CSS_CLASS if right)
88
+ (NfgUi::Components::Foundations::Icon::LEFT_ICON_SPACER_CSS_CLASS if add_left_icon_css_spacer_class?),
89
+ (NfgUi::Components::Foundations::Icon::RIGHT_ICON_SPACER_CSS_CLASS if add_right_icon_css_spacer_class?)
50
90
  ].join(' ').squish
51
91
  end
52
92
 
93
+ # Icons utilize text styling for css theming.
53
94
  def theme_css_class_prefix
54
95
  'text-'
55
96
  end
56
97
 
57
- def component_css_class
58
- ''
59
- end
60
-
98
+ # Icons should be body text color by default and should not
99
+ # have a theme set by default.
61
100
  def default_theme
62
101
  nil
63
102
  end
@@ -66,16 +105,10 @@ module NfgUi
66
105
  super.push(:right, :text, :icon)
67
106
  end
68
107
 
108
+ # Icons are not thematically outlineable
69
109
  def outlineable?
70
110
  false
71
111
  end
72
-
73
- # Several components need to utilize the icon with a spacer css class
74
- # where text is supplied in the #render, and not passed to the icon
75
- # thus, icons with :right trait are allowed through
76
- def update_css_classes?
77
- text || right
78
- end
79
112
  end
80
113
  end
81
114
  end
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module NfgUi
4
- VERSION = '0.9.9'
4
+ VERSION = '0.9.10'
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.9.9
4
+ version: 0.9.10
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: 2019-06-05 00:00:00.000000000 Z
12
+ date: 2019-06-12 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: bootstrap