nfg_ui 0.12.4 → 0.12.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/README.md +3 -0
- data/lib/nfg_ui/components/elements/nav_link.rb +1 -0
- data/lib/nfg_ui/components/patterns/tile.rb +14 -2
- data/lib/nfg_ui/components/patterns/tile_header.rb +51 -13
- data/lib/nfg_ui/version.rb +1 -1
- metadata +4 -4
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 2d8f2c14ba5696d088d27de7ad8caea2b9d1307713b2f7d9cbf26e969b50d51b
|
4
|
+
data.tar.gz: ea3347bb493d9cfce24e218e517d883ee307efbcbdd0f0935534f2717f2e9daa
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: a10d17d6bca35afc7a14020b3b077f23d917dbd7665a2f80195e6bed495db3b15d808f2a7d9cc46f10fc4fb928515212df0bf2fc494fd99bfd50f1371edd7840
|
7
|
+
data.tar.gz: 5c2b9c627aad987b32169d0ab1d92b8c5011e1b087fd1120c8bd5ba45a5c4291b478f695730f31298d3ebe550667604187240e6273a9c95e89f8679a973eb7ab
|
data/README.md
CHANGED
@@ -18,6 +18,9 @@ This gem is an organic, evolving and ongoing work that is the loving result of 4
|
|
18
18
|
With this gem, you can stand up a brand new rails app and it will seamlessly, from day 1, look, feel and be a Network for Good product. *Huzzah*
|
19
19
|
|
20
20
|
## Accessing Component Code Examples & Documentation:
|
21
|
+
|
22
|
+
Visit [NFG UI Display App](https://nfg-ui-display-app.herokuapp.com/) for examples.
|
23
|
+
|
21
24
|
To review the documentation for the components, get code samples and browse the library, follow the instructions at the bottom for getting the gem setup locally. It has its own `test_app` so the documentation is hosted there and the gem doesn't need to be added to a seperate parent app (unless you want to). We intend to get this online in its own dedicated space... until then, that's your best bet for browsing docs.
|
22
25
|
|
23
26
|
## Configuration
|
@@ -11,6 +11,7 @@ module NfgUi
|
|
11
11
|
include NfgUi::Components::Utilities::Traitable
|
12
12
|
include NfgUi::Components::Utilities::Describable
|
13
13
|
include NfgUi::Components::Utilities::Iconable
|
14
|
+
include NfgUi::Components::Utilities::Methodable
|
14
15
|
include NfgUi::Components::Utilities::Renderable
|
15
16
|
|
16
17
|
include NfgUi::Components::Traits::Active
|
@@ -16,6 +16,14 @@ module NfgUi
|
|
16
16
|
options.fetch(:heading, nil)
|
17
17
|
end
|
18
18
|
|
19
|
+
def button
|
20
|
+
options.fetch(:button, nil)
|
21
|
+
end
|
22
|
+
|
23
|
+
def href
|
24
|
+
options.fetch(:href, nil)
|
25
|
+
end
|
26
|
+
|
19
27
|
def component_family
|
20
28
|
:tile
|
21
29
|
end
|
@@ -28,7 +36,7 @@ module NfgUi
|
|
28
36
|
super do
|
29
37
|
if render_in_body
|
30
38
|
if title.present?
|
31
|
-
concat(NfgUi::Components::Patterns::TileHeader.new({ title: title, icon: icon, collapsible: collapsible, collapse: ("#collapse_#{id}" if collapsible) }, view_context).render)
|
39
|
+
concat(NfgUi::Components::Patterns::TileHeader.new({ title: title, subtitle: subtitle, button: button, href: href, icon: icon, collapsible: collapsible, collapsed: collapsed, collapse: ("#collapse_#{id}" if collapsible) }, view_context).render)
|
32
40
|
end
|
33
41
|
if collapsible
|
34
42
|
concat(NfgUi::Components::Patterns::Collapse.new({ id: "collapse_#{id}", collapsed: collapsed }, view_context).render {
|
@@ -47,10 +55,14 @@ module NfgUi
|
|
47
55
|
end
|
48
56
|
end
|
49
57
|
|
58
|
+
def subtitle
|
59
|
+
options.fetch(:subtitle, nil)
|
60
|
+
end
|
61
|
+
|
50
62
|
private
|
51
63
|
|
52
64
|
def non_html_attribute_options
|
53
|
-
super.push(:heading, :render_in_body)
|
65
|
+
super.push(:heading, :render_in_body, :subtitle, :button, :href)
|
54
66
|
end
|
55
67
|
end
|
56
68
|
end
|
@@ -14,23 +14,57 @@ module NfgUi
|
|
14
14
|
:tile
|
15
15
|
end
|
16
16
|
|
17
|
+
def button
|
18
|
+
options.fetch(:button, nil)
|
19
|
+
end
|
20
|
+
|
21
|
+
def href
|
22
|
+
options.fetch(:href, nil)
|
23
|
+
end
|
24
|
+
|
25
|
+
def subtitle
|
26
|
+
options.fetch(:subtitle, nil)
|
27
|
+
end
|
28
|
+
|
17
29
|
def render
|
18
30
|
super do
|
19
|
-
if
|
20
|
-
concat(
|
21
|
-
content_tag(:div, class:
|
22
|
-
|
23
|
-
|
24
|
-
|
25
|
-
|
26
|
-
|
27
|
-
|
31
|
+
if title
|
32
|
+
concat(content_tag(:div, class: 'row') do
|
33
|
+
concat(content_tag(:div, class: "col") do
|
34
|
+
content_tag(:div, class: 'row') do
|
35
|
+
concat(content_tag(:div, class: 'col-12 col-md') do
|
36
|
+
concat(NfgUi::Components::Foundations::Typeface.new({ heading: title, icon: icon, class: 'h4' }, view_context).render)
|
37
|
+
if subtitle
|
38
|
+
concat(NfgUi::Components::Foundations::Typeface.new({ body: subtitle, traits: [:muted], class: 'mt-1 mb-0' }, view_context).render)
|
39
|
+
end
|
40
|
+
end)
|
41
|
+
|
42
|
+
if button
|
43
|
+
concat(content_tag(:div, class: 'col-12 col-md-auto mt-md-0 mt-2') do
|
44
|
+
NfgUi::Components::Elements::Button.new({theme: :secondary, href: href, body: button}, view_context).render
|
45
|
+
|
46
|
+
end)
|
47
|
+
end
|
48
|
+
end
|
49
|
+
end)
|
50
|
+
|
51
|
+
if collapsible
|
52
|
+
concat(content_tag(:div, class: 'col-auto pl-0') do
|
53
|
+
NfgUi::Components::Elements::Button.new({ traits: [:link], collapse: collapse, data: { collapse_icon: collapse_icon, collapsed_icon: collapsed_icon } }, view_context).render do
|
54
|
+
|
55
|
+
# The button cannot host a data-toggle for tooltip
|
56
|
+
# and a data-toggle for collapse
|
57
|
+
|
58
|
+
# In order to accomodate the tooltip, we have to
|
59
|
+
# render the icon manually without using the button's
|
60
|
+
# options so that we're applying the tooltip on the
|
61
|
+
# icon and not the button.
|
62
|
+
NfgUi::Components::Foundations::Icon.new({ traits: ["#{contextual_collapsible_icon} fw"], tooltip: 'Show / hide additional information' }, view_context).render
|
63
|
+
end
|
64
|
+
end)
|
28
65
|
end
|
29
|
-
|
30
|
-
elsif title
|
31
|
-
concat(NfgUi::Components::Foundations::Typeface.new({ heading: title, icon: icon, class: 'h4' }, view_context).render)
|
66
|
+
end)
|
32
67
|
end
|
33
|
-
|
34
68
|
concat((block_given? ? yield : body))
|
35
69
|
end
|
36
70
|
end
|
@@ -49,6 +83,10 @@ module NfgUi
|
|
49
83
|
def collapsed_icon
|
50
84
|
'caret-down'
|
51
85
|
end
|
86
|
+
|
87
|
+
def non_html_attribute_options
|
88
|
+
super.push(:subtitle, :button, :href)
|
89
|
+
end
|
52
90
|
end
|
53
91
|
end
|
54
92
|
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.12.
|
4
|
+
version: 0.12.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: 2021-07-
|
12
|
+
date: 2021-07-27 00:00:00.000000000 Z
|
13
13
|
dependencies:
|
14
14
|
- !ruby/object:Gem::Dependency
|
15
15
|
name: bootstrap
|
@@ -149,14 +149,14 @@ dependencies:
|
|
149
149
|
requirements:
|
150
150
|
- - ">="
|
151
151
|
- !ruby/object:Gem::Version
|
152
|
-
version: 1.
|
152
|
+
version: 1.11.4
|
153
153
|
type: :runtime
|
154
154
|
prerelease: false
|
155
155
|
version_requirements: !ruby/object:Gem::Requirement
|
156
156
|
requirements:
|
157
157
|
- - ">="
|
158
158
|
- !ruby/object:Gem::Version
|
159
|
-
version: 1.
|
159
|
+
version: 1.11.4
|
160
160
|
- !ruby/object:Gem::Dependency
|
161
161
|
name: browser
|
162
162
|
requirement: !ruby/object:Gem::Requirement
|