nfg_ui 0.9.9 → 0.9.10

Sign up to get free protection for your applications and to get access to all the features.
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