playbook_ui 7.8.2 → 7.11.0.pre.alpha1
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/app/controllers/playbook/application_controller.rb +5 -3
- data/app/helpers/playbook/application_helper.rb +13 -19
- data/app/helpers/playbook/pb_doc_helper.rb +41 -20
- data/app/helpers/playbook/pb_kit_helper.rb +1 -25
- data/app/helpers/playbook/pb_sample_helper.rb +24 -23
- data/app/pb_kits/playbook/config/_kit_example.html.erb +18 -4
- data/app/pb_kits/playbook/config/_kit_ui.html.erb +21 -21
- data/app/pb_kits/playbook/pb_currency/_currency.html.erb +1 -1
- data/app/pb_kits/playbook/pb_currency/_currency.jsx +16 -1
- data/app/pb_kits/playbook/pb_currency/_currency.scss +23 -1
- data/app/pb_kits/playbook/pb_currency/currency.rb +22 -0
- data/app/pb_kits/playbook/pb_currency/docs/{_currency_small.html.erb → _currency_alignment.html.erb} +3 -3
- data/app/pb_kits/playbook/pb_currency/docs/{_currency_small.jsx → _currency_alignment.jsx} +5 -5
- data/app/pb_kits/playbook/pb_currency/docs/_currency_no_symbol.html.erb +7 -0
- data/app/pb_kits/playbook/pb_currency/docs/_currency_no_symbol.jsx +17 -0
- data/app/pb_kits/playbook/pb_currency/docs/{_currency_large.html.erb → _currency_size.html.erb} +8 -7
- data/app/pb_kits/playbook/pb_currency/docs/{_currency_large.jsx → _currency_size.jsx} +9 -8
- data/app/pb_kits/playbook/pb_currency/docs/_currency_variants.html.erb +24 -0
- data/app/pb_kits/playbook/pb_currency/docs/{_currency_medium.jsx → _currency_variants.jsx} +13 -10
- data/app/pb_kits/playbook/pb_currency/docs/example.yml +8 -6
- data/app/pb_kits/playbook/pb_currency/docs/index.js +4 -3
- data/app/pb_kits/playbook/pb_date_picker/docs/_date_picker_anti_patterns.html.erb +23 -0
- data/app/pb_kits/playbook/pb_date_picker/docs/_date_picker_default_date.html.erb +4 -4
- data/app/pb_kits/playbook/pb_date_picker/docs/_date_picker_default_date.jsx +2 -2
- data/app/pb_kits/playbook/pb_date_picker/docs/_date_picker_default_date.md +3 -1
- data/app/pb_kits/playbook/pb_date_picker/docs/_date_picker_disabled.html.erb +8 -8
- data/app/pb_kits/playbook/pb_date_picker/docs/_date_picker_flatpickr_methods.html.erb +27 -0
- data/app/pb_kits/playbook/pb_date_picker/docs/_date_picker_flatpickr_methods.jsx +44 -0
- data/app/pb_kits/playbook/pb_date_picker/docs/_date_picker_format.html.erb +4 -4
- data/app/pb_kits/playbook/pb_date_picker/docs/_date_picker_min_max.html.erb +2 -2
- data/app/pb_kits/playbook/pb_date_picker/docs/_date_picker_range.html.erb +1 -1
- data/app/pb_kits/playbook/pb_date_picker/docs/_date_picker_range.jsx +1 -1
- data/app/pb_kits/playbook/pb_date_picker/docs/_description.md +4 -2
- data/app/pb_kits/playbook/pb_date_picker/docs/example.yml +3 -1
- data/app/pb_kits/playbook/pb_date_picker/docs/index.js +1 -0
- data/app/pb_kits/playbook/pb_filter/Filter/FilterSingle.jsx +1 -0
- data/app/pb_kits/playbook/pb_filter/Filter/SortMenu.jsx +2 -2
- data/app/pb_kits/playbook/pb_filter/_filter.scss +0 -2
- data/app/pb_kits/playbook/pb_filter/docs/_filter_no_background.jsx +0 -41
- data/app/pb_kits/playbook/pb_filter/docs/_filter_no_background.md +1 -0
- data/app/pb_kits/playbook/pb_filter/docs/_filter_no_sort.html.erb +35 -0
- data/app/pb_kits/playbook/pb_filter/docs/_filter_no_sort.jsx +47 -0
- data/app/pb_kits/playbook/pb_filter/docs/_filter_single.html.erb +1 -1
- data/app/pb_kits/playbook/pb_filter/docs/example.yml +2 -0
- data/app/pb_kits/playbook/pb_filter/docs/index.js +1 -0
- data/app/pb_kits/playbook/pb_filter/templates/_core.html.erb +7 -9
- data/app/pb_kits/playbook/pb_nav/_horizontal_nav.scss +22 -0
- data/app/pb_kits/playbook/pb_nav/_item.jsx +3 -0
- data/app/pb_kits/playbook/pb_nav/_subtle_mixin.scss +47 -0
- data/app/pb_kits/playbook/pb_nav/_vertical_nav.scss +2 -46
- data/app/pb_kits/playbook/pb_nav/docs/_new_tab.html.erb +6 -0
- data/app/pb_kits/playbook/pb_nav/docs/_new_tab.jsx +34 -0
- data/app/pb_kits/playbook/pb_nav/docs/_subtle_horizontal_nav.html.erb +6 -0
- data/app/pb_kits/playbook/pb_nav/docs/_subtle_horizontal_nav.jsx +33 -0
- data/app/pb_kits/playbook/pb_nav/docs/example.yml +4 -1
- data/app/pb_kits/playbook/pb_nav/docs/index.js +2 -0
- data/app/pb_kits/playbook/pb_nav/item.rb +5 -2
- data/app/pb_kits/playbook/pb_rich_text_editor/_rich_text_editor.scss +1 -1
- data/app/pb_kits/playbook/pb_rich_text_editor/_trix_styles.scss +375 -0
- data/app/pb_kits/playbook/pb_stat_change/_stat_change.html.erb +1 -1
- data/app/pb_kits/playbook/pb_stat_change/_stat_change.jsx +8 -4
- data/app/pb_kits/playbook/pb_stat_change/docs/_stat_change_default.html.erb +1 -1
- data/app/pb_kits/playbook/pb_stat_change/docs/_stat_change_unit.html.erb +17 -0
- data/app/pb_kits/playbook/pb_stat_change/docs/_stat_change_unit.jsx +28 -0
- data/app/pb_kits/playbook/pb_stat_change/docs/_stat_change_unit_two.html.erb +20 -0
- data/app/pb_kits/playbook/pb_stat_change/docs/_stat_change_unit_two.jsx +31 -0
- data/app/pb_kits/playbook/pb_stat_change/docs/_stat_change_unit_two.md +1 -0
- data/app/pb_kits/playbook/pb_stat_change/docs/example.yml +6 -4
- data/app/pb_kits/playbook/pb_stat_change/docs/index.js +2 -0
- data/app/pb_kits/playbook/pb_stat_change/stat_change.rb +12 -7
- data/app/pb_kits/playbook/pb_table/_table.scss +1 -57
- data/app/pb_kits/playbook/pb_table/docs/_table_alignment_shift_row.html.erb +1 -1
- data/app/pb_kits/playbook/pb_table/docs/_table_alignment_shift_row.jsx +1 -1
- data/app/pb_kits/playbook/pb_table/styles/_alignment.scss +32 -0
- data/app/pb_kits/playbook/pb_table/styles/_all.scss +4 -3
- data/app/pb_kits/playbook/pb_table/styles/_side_highlight.scss +24 -0
- data/app/pb_kits/playbook/pb_tooltip/_tooltip.scss +0 -1
- data/app/pb_kits/playbook/pb_tooltip/docs/_tooltip_white.html.erb +1 -1
- data/app/pb_kits/playbook/pb_tooltip/docs/_tooltip_with_icon_circle.html.erb +10 -0
- data/app/pb_kits/playbook/pb_tooltip/docs/example.yml +1 -0
- data/app/pb_kits/playbook/pb_typeahead/_typeahead.jsx +5 -1
- data/app/pb_kits/playbook/pb_typeahead/components/Option.jsx +2 -3
- data/app/pb_kits/playbook/pb_typeahead/docs/_typeahead_with_pills_async.html.erb +19 -3
- data/app/pb_kits/playbook/pb_typeahead/docs/_typeahead_with_pills_async.jsx +4 -2
- data/app/pb_kits/playbook/pb_typeahead/docs/_typeahead_with_pills_async.md +10 -2
- data/app/pb_kits/playbook/pb_typeahead/typeahead.rb +5 -0
- data/app/pb_kits/playbook/react_rails_kits.js +1 -0
- data/lib/playbook.rb +7 -17
- data/lib/playbook/engine.rb +0 -3
- data/lib/playbook/markdown/template_handler.rb +45 -0
- data/{app/pb_kits → lib}/playbook/props.rb +0 -0
- data/{app/pb_kits → lib}/playbook/props/array.rb +0 -0
- data/{app/pb_kits → lib}/playbook/props/base.rb +19 -3
- data/{app/pb_kits → lib}/playbook/props/boolean.rb +0 -0
- data/{app/pb_kits → lib}/playbook/props/date.rb +0 -0
- data/{app/pb_kits → lib}/playbook/props/enum.rb +0 -0
- data/{app/pb_kits → lib}/playbook/props/hash.rb +0 -0
- data/{app/pb_kits → lib}/playbook/props/hash_array.rb +0 -0
- data/{app/pb_kits → lib}/playbook/props/number.rb +0 -0
- data/{app/pb_kits → lib}/playbook/props/number_array.rb +0 -0
- data/{app/pb_kits → lib}/playbook/props/numeric.rb +0 -0
- data/{app/pb_kits → lib}/playbook/props/percentage.rb +0 -0
- data/{app/pb_kits → lib}/playbook/props/proc.rb +0 -0
- data/{app/pb_kits → lib}/playbook/props/string.rb +0 -0
- data/lib/playbook/version.rb +1 -1
- metadata +52 -30
- data/app/helpers/playbook/layout_helper.rb +0 -9
- data/app/pb_kits/playbook/pb_currency/docs/_currency_medium.html.erb +0 -21
- data/app/pb_kits/playbook/pb_table/styles/_mixins.scss +0 -0
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 875a00d88f5cdc23fcad3e3c3cefff43a6ed592326b17da87f8bd3605f499d69
|
4
|
+
data.tar.gz: 67302126b0b27666a56fc59ec4bcdc22fd523dbab3a8c9fb376d18f9fdcb67fd
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 5e3ed66b3c3866de080032ed635e3b141486b3e7de8ee0b2f8a96dd588937e407ab6a44af189e2ad949aa5bee02c134e07791dd297e2877369a8db99c2ec5570
|
7
|
+
data.tar.gz: 21aaff84c5f705ac6461287a27878dc34c7286f0290b55cb902f66d736633f73652d1a404c3bd36e427010371b7487fcd41e2e7cfd7934c52c548d003aaa6fec
|
@@ -3,11 +3,13 @@
|
|
3
3
|
module Playbook
|
4
4
|
class ApplicationController < ActionController::Base
|
5
5
|
helper Webpacker::Helper
|
6
|
-
helper Playbook::
|
6
|
+
helper Playbook::ApplicationHelper
|
7
7
|
helper Playbook::PbDocHelper
|
8
8
|
helper Playbook::PbSampleHelper
|
9
9
|
append_view_path Playbook::Engine.root + "app/pb_kits"
|
10
|
-
end
|
11
10
|
|
12
|
-
|
11
|
+
def delete_dark_mode_cookie
|
12
|
+
cookies.delete :dark_mode
|
13
|
+
end
|
14
|
+
end
|
13
15
|
end
|
@@ -1,36 +1,30 @@
|
|
1
1
|
# frozen_string_literal: true
|
2
2
|
|
3
|
-
require "webpacker"
|
4
|
-
require "webpacker/react/railtie" if defined?(Rails)
|
5
|
-
require "webpacker/react/helpers"
|
6
|
-
require "webpacker/react/component"
|
7
|
-
|
8
3
|
module Playbook
|
9
4
|
module ApplicationHelper
|
10
|
-
include ::Webpacker::Helper
|
11
5
|
include ::Webpacker::React::Helpers
|
6
|
+
include ::Playbook::PbKitHelper
|
12
7
|
|
13
8
|
def current_webpacker_instance
|
14
9
|
Playbook.webpacker
|
15
10
|
end
|
16
11
|
|
17
|
-
def
|
18
|
-
|
19
|
-
|
20
|
-
|
21
|
-
|
22
|
-
|
12
|
+
def pb_rails(kit, props: {}, &block)
|
13
|
+
super kit, props: dark_mode_props(props), &block
|
14
|
+
end
|
15
|
+
|
16
|
+
def pb_react(kit, props: {}, options: {})
|
17
|
+
react_component kit.camelize, dark_mode_props(props), options
|
23
18
|
end
|
24
19
|
|
20
|
+
private
|
21
|
+
|
25
22
|
def dark_mode_props(props)
|
26
|
-
|
27
|
-
props.merge(dark: dark_mode)
|
28
|
-
elsif cookies[:dark_mode] == "false"
|
29
|
-
props.merge(dark: dark_mode)
|
30
|
-
else
|
31
|
-
props
|
32
|
-
end
|
23
|
+
(props || {}).merge(dark: dark_mode?)
|
33
24
|
end
|
34
25
|
|
26
|
+
def dark_mode?
|
27
|
+
cookies[:dark_mode].eql? "true"
|
28
|
+
end
|
35
29
|
end
|
36
30
|
end
|
@@ -17,50 +17,40 @@ module Playbook
|
|
17
17
|
end
|
18
18
|
end
|
19
19
|
|
20
|
-
def read_file(filename)
|
21
|
-
if File.file?(filename)
|
22
|
-
File.read(filename)
|
23
|
-
else
|
24
|
-
""
|
25
|
-
end
|
26
|
-
end
|
27
|
-
|
28
20
|
def kit_path(kit)
|
29
21
|
"#{Playbook::Engine.root}/app/pb_kits/playbook/pb_#{kit}"
|
30
22
|
end
|
31
23
|
|
32
24
|
def get_kit_description(kit)
|
33
|
-
|
34
|
-
read_file(filename)
|
25
|
+
read_source_file "app/pb_kits/playbook/pb_#{kit}/docs/_description.md"
|
35
26
|
end
|
36
27
|
|
37
28
|
def get_per_sample_descriptions(kit, key)
|
38
|
-
|
39
|
-
read_file(filename)
|
29
|
+
read_source_file "app/pb_kits/playbook/pb_#{kit}/docs/_#{key}.md"
|
40
30
|
end
|
41
31
|
|
42
32
|
def get_kit_footer(kit)
|
43
|
-
|
44
|
-
read_file(filename)
|
33
|
+
read_source_file "app/pb_kits/playbook/pb_#{kit}/docs/_footer.md"
|
45
34
|
end
|
46
35
|
|
47
|
-
def pb_kit(kit: "", type: "rails", show_code: true)
|
36
|
+
def pb_kit(kit: "", type: "rails", show_code: true, limit_examples: false)
|
48
37
|
@type = type
|
49
38
|
@kit_examples = get_kit_examples(kit, type)
|
39
|
+
@limit_examples = limit_examples
|
50
40
|
@show_code = show_code
|
51
41
|
render partial: "config/kit_example"
|
52
42
|
end
|
53
43
|
|
54
|
-
def pb_kits(type: "rails")
|
44
|
+
def pb_kits(type: "rails", limit_examples: false)
|
55
45
|
display_kits = []
|
56
46
|
kits = get_kits
|
57
47
|
kits.each do |kit|
|
58
48
|
if kit.is_a?(Hash)
|
59
49
|
nav_hash_array(kit).each do |sub_kit|
|
60
|
-
display_kits << render_pb_doc_kit(sub_kit, type, false)
|
50
|
+
display_kits << render_pb_doc_kit(sub_kit, type, false, limit_examples)
|
61
51
|
end
|
62
52
|
else
|
63
|
-
display_kits << render_pb_doc_kit(kit, type, false)
|
53
|
+
display_kits << render_pb_doc_kit(kit, type, false, limit_examples)
|
64
54
|
end
|
65
55
|
end
|
66
56
|
raw("<div class='pb--docItem'>" + display_kits.join("</div><div class='pb--docItem'>") + "</div>")
|
@@ -79,10 +69,10 @@ module Playbook
|
|
79
69
|
raw("<div class='pb--docItem'>" + display_kits.join("</div><div class='pb--docItem'>") + "</div>")
|
80
70
|
end
|
81
71
|
|
82
|
-
def render_pb_doc_kit(kit, type, code = true)
|
72
|
+
def render_pb_doc_kit(kit, type, code = true, limit_examples)
|
83
73
|
title = render_clickable_title(kit, type)
|
84
74
|
ui = raw("<div class='pb--docItem-ui'>
|
85
|
-
#{pb_kit(kit: kit, type: type, show_code: code)}</div>")
|
75
|
+
#{pb_kit(kit: kit, type: type, show_code: code, limit_examples: limit_examples)}</div>")
|
86
76
|
title + ui
|
87
77
|
end
|
88
78
|
|
@@ -148,6 +138,37 @@ module Playbook
|
|
148
138
|
(!kit.nil? && @kit == link)
|
149
139
|
end
|
150
140
|
|
141
|
+
def read_source_file(*args)
|
142
|
+
path = Playbook::Engine.root.join(*args)
|
143
|
+
path.exist? ? path.read : ""
|
144
|
+
end
|
145
|
+
|
146
|
+
def format_search_hash(kit)
|
147
|
+
label_value_hash = {
|
148
|
+
label: kit.to_s.titleize,
|
149
|
+
value: @type == "react" || @type.nil? ? "/kits/#{kit}/react" : "/kits/#{kit}",
|
150
|
+
}
|
151
|
+
label_value_hash
|
152
|
+
end
|
153
|
+
|
154
|
+
def search_list
|
155
|
+
all_kits = []
|
156
|
+
formatted_kits = []
|
157
|
+
MENU["kits"].each do |kit|
|
158
|
+
if kit.is_a? Hash
|
159
|
+
kit.values[0].each do |sub_kit|
|
160
|
+
all_kits.push(sub_kit)
|
161
|
+
end
|
162
|
+
else
|
163
|
+
all_kits.push(kit)
|
164
|
+
end
|
165
|
+
end
|
166
|
+
all_kits.sort!.each do |sorted_kit|
|
167
|
+
formatted_kits.push(format_search_hash(sorted_kit))
|
168
|
+
end
|
169
|
+
formatted_kits
|
170
|
+
end
|
171
|
+
|
151
172
|
private
|
152
173
|
|
153
174
|
def get_kit_examples(kit, type)
|
@@ -1,41 +1,17 @@
|
|
1
1
|
# frozen_string_literal: true
|
2
2
|
|
3
|
-
require "webpacker/react/railtie" if defined?(Rails)
|
4
|
-
require "webpacker/react/helpers"
|
5
|
-
require "webpacker/react/component"
|
6
|
-
|
7
3
|
module Playbook
|
8
4
|
module PbKitHelper
|
9
|
-
|
10
5
|
def pb_rails(kit, props: {}, &block)
|
11
6
|
previous = prefix_partial_path_with_controller_namespace
|
12
7
|
self.prefix_partial_path_with_controller_namespace = false
|
13
|
-
kit = build_view_model(kit.to_s,
|
8
|
+
kit = build_view_model(kit.to_s, props, &block)
|
14
9
|
render(partial: kit, as: :object)
|
15
10
|
ensure
|
16
11
|
self.prefix_partial_path_with_controller_namespace = previous
|
17
12
|
end
|
18
13
|
|
19
|
-
def pb_react(kit, props:{dark: react_props}, options: {})
|
20
|
-
::Webpacker::React::Component.new(kit.camelize).render(props, options)
|
21
|
-
end
|
22
|
-
|
23
14
|
private
|
24
|
-
def rails_props(props)
|
25
|
-
if @playbook.nil?
|
26
|
-
props
|
27
|
-
else
|
28
|
-
dark_mode_props(props)
|
29
|
-
end
|
30
|
-
end
|
31
|
-
|
32
|
-
def react_props
|
33
|
-
if @playbook.nil?
|
34
|
-
false
|
35
|
-
else
|
36
|
-
dark_mode
|
37
|
-
end
|
38
|
-
end
|
39
15
|
|
40
16
|
def is_subkit?(kit)
|
41
17
|
kit.match(%r{[/\\]})
|
@@ -2,26 +2,10 @@
|
|
2
2
|
|
3
3
|
module Playbook
|
4
4
|
module PbSampleHelper
|
5
|
-
def
|
6
|
-
|
7
|
-
|
8
|
-
|
9
|
-
elsif type == "react"
|
10
|
-
Dir["../../views/playbook/samples/#{sample}/*.jsx"].empty?
|
11
|
-
end
|
12
|
-
end
|
13
|
-
|
14
|
-
def pb_sample(sample: "", type: "rails")
|
15
|
-
@type = type
|
16
|
-
@sample = sample
|
17
|
-
end
|
18
|
-
|
19
|
-
def read_file(filename)
|
20
|
-
if File.file?(filename)
|
21
|
-
File.read(filename)
|
22
|
-
else
|
23
|
-
""
|
24
|
-
end
|
5
|
+
def kits_used(sample)
|
6
|
+
code = get_raw_code(sample, "rails")
|
7
|
+
kits_array = code.scan(/pb_rails\("(\w+)(?:"|\/)/)
|
8
|
+
kits_array.uniq
|
25
9
|
end
|
26
10
|
|
27
11
|
def get_raw_code(sample, type)
|
@@ -30,9 +14,8 @@ module Playbook
|
|
30
14
|
elsif type == "react"
|
31
15
|
ext = "jsx"
|
32
16
|
end
|
33
|
-
|
34
|
-
|
35
|
-
contents
|
17
|
+
|
18
|
+
read_source_file "app/views/playbook/samples", sample, "index.#{ext}"
|
36
19
|
end
|
37
20
|
|
38
21
|
def get_sample_code_content(sample, type)
|
@@ -45,6 +28,24 @@ module Playbook
|
|
45
28
|
raw rouge(code, rouge_type)
|
46
29
|
end
|
47
30
|
|
31
|
+
def get_samples(kit)
|
32
|
+
sample_yaml = YAML.load_file("#{Playbook::Engine.root}/app/pb_kits/playbook/data/samples.yml")
|
33
|
+
all_samples = []
|
34
|
+
|
35
|
+
sample_yaml.each do |_category, sample|
|
36
|
+
all_samples.push(sample)
|
37
|
+
end
|
38
|
+
|
39
|
+
output = ""
|
40
|
+
samples_using_kit = []
|
41
|
+
all_samples[0].each do |sample|
|
42
|
+
filepath = "#{Playbook::Engine.root}/app/views/playbook/samples/#{sample}/index.html.erb"
|
43
|
+
output = `grep -l 'pb_rails(\"#{kit}' #{filepath}`
|
44
|
+
samples_using_kit.push(sample) if output.chomp == filepath
|
45
|
+
end
|
46
|
+
samples_using_kit
|
47
|
+
end
|
48
|
+
|
48
49
|
def render_sample_ui(sample, type)
|
49
50
|
if type == "rails"
|
50
51
|
render template: "playbook/samples/#{sample}/index.html.erb"
|
@@ -1,8 +1,22 @@
|
|
1
1
|
<%if !@kit_examples[:examples].nil? %>
|
2
|
-
<% @
|
3
|
-
<%
|
4
|
-
|
5
|
-
|
2
|
+
<% if @limit_examples %>
|
3
|
+
<% @kit_examples[:examples].each_with_index do |kit_example, index| %>
|
4
|
+
<% kit_example.each do |key, item| %>
|
5
|
+
<% if index == 0 %>
|
6
|
+
<%= pb_rails("card", props: { classname: "pb--doc", padding:"none" }) do %>
|
7
|
+
<%= render partial: "config/kit_ui", locals: { key: key, type: @type, item: item, show_code: @show_code } %>
|
8
|
+
<% end %>
|
9
|
+
<% elsif index > 0 %>
|
10
|
+
<% break %>
|
11
|
+
<% end %>
|
12
|
+
<% end %>
|
13
|
+
<% end %>
|
14
|
+
<% else %>
|
15
|
+
<% @kit_examples[:examples].each do |kit_example| %>
|
16
|
+
<% kit_example.each do |key, item| %>
|
17
|
+
<%= pb_rails("card", props: { classname: "pb--doc", padding:"none" }) do %>
|
18
|
+
<%= render partial: "config/kit_ui", locals: { key: key, type: @type, item: item, show_code: @show_code } %>
|
19
|
+
<% end %>
|
6
20
|
<% end %>
|
7
21
|
<% end %>
|
8
22
|
<% end %>
|
@@ -18,24 +18,24 @@
|
|
18
18
|
<br>
|
19
19
|
</div>
|
20
20
|
|
21
|
-
|
22
|
-
|
23
|
-
|
24
|
-
|
25
|
-
|
26
|
-
|
27
|
-
|
28
|
-
|
29
|
-
|
30
|
-
|
31
|
-
|
32
|
-
|
33
|
-
|
34
|
-
|
35
|
-
|
36
|
-
|
37
|
-
|
38
|
-
|
39
|
-
|
40
|
-
|
41
|
-
|
21
|
+
<% if @show_code %>
|
22
|
+
<div class="markdown pb--kit-example-markdown <%= cookies[:dark_mode] == "true" ? "dark" : "" %>">
|
23
|
+
<%= markdown(get_per_sample_descriptions(@kit_examples[:kit], key)) %>
|
24
|
+
</div>
|
25
|
+
<div class="pb--codeControls">
|
26
|
+
<ul>
|
27
|
+
<li>
|
28
|
+
<a href="#" data-toggle="code_example">Code Example</a>
|
29
|
+
</li>
|
30
|
+
</ul>
|
31
|
+
</div>
|
32
|
+
<div class="pb--codeCopy" data-action="toggle" data-togglable="code_example" style="display: none" >
|
33
|
+
<%= pb_rails("section_separator")%>
|
34
|
+
<a href="#" data-toggle="false" class="pb--close-toggle">Close</a>
|
35
|
+
<% if type == "rails" %>
|
36
|
+
<pre class="highlight"><%= raw rouge(contents, "erb") %></pre>
|
37
|
+
<% elsif type == "react" %>
|
38
|
+
<pre class="highlight"><%= raw rouge(contents, "react")%></pre>
|
39
|
+
<% end %>
|
40
|
+
</div>
|
41
|
+
<% end %>
|
@@ -6,7 +6,7 @@
|
|
6
6
|
|
7
7
|
<%= pb_rails("caption", props: { text: object.label }) %>
|
8
8
|
|
9
|
-
<div class
|
9
|
+
<div class=<%= "pb_currency_wrapper#{object.variant_class || object.emphasized_class}" %>>
|
10
10
|
<%= pb_rails("body", props: object.currency_wrapper_props) do %>
|
11
11
|
<%= object.symbol %>
|
12
12
|
<% end %>
|
@@ -14,10 +14,12 @@ type CurrencyProps = {
|
|
14
14
|
className?: string,
|
15
15
|
dark?: boolean,
|
16
16
|
data?: object,
|
17
|
+
emphasized?: boolean,
|
17
18
|
id?: string,
|
18
19
|
label?: string,
|
19
20
|
size?: 'sm' | 'md' | 'lg',
|
20
21
|
symbol?: string,
|
22
|
+
variant?: 'default' | 'light' | 'bold',
|
21
23
|
unit?: string,
|
22
24
|
}
|
23
25
|
|
@@ -33,15 +35,28 @@ const Currency = (props: CurrencyProps) => {
|
|
33
35
|
aria = {},
|
34
36
|
amount,
|
35
37
|
data = {},
|
38
|
+
emphasized = true,
|
36
39
|
id,
|
37
40
|
unit,
|
38
41
|
className,
|
39
42
|
label = '',
|
40
43
|
size = 'sm',
|
41
44
|
symbol = '$',
|
45
|
+
variant = 'default',
|
42
46
|
dark = false,
|
43
47
|
} = props
|
44
48
|
|
49
|
+
const emphasizedClass = emphasized ? '' : '_deemphasized'
|
50
|
+
|
51
|
+
let variantClass
|
52
|
+
if (size === 'sm') {
|
53
|
+
if (variant === 'light') {
|
54
|
+
variantClass = '_light'
|
55
|
+
} else if (variant === 'bold') {
|
56
|
+
variantClass = '_bold'
|
57
|
+
}
|
58
|
+
}
|
59
|
+
|
45
60
|
const [whole, decimal = '00'] = amount.split('.')
|
46
61
|
const ariaProps = buildAriaProps(aria)
|
47
62
|
const dataProps = buildDataProps(data)
|
@@ -60,7 +75,7 @@ const Currency = (props: CurrencyProps) => {
|
|
60
75
|
>
|
61
76
|
<Caption>{label}</Caption>
|
62
77
|
|
63
|
-
<div className=
|
78
|
+
<div className={`pb_currency_wrapper${variantClass || emphasizedClass}`}>
|
64
79
|
<Body
|
65
80
|
className="dollar_sign"
|
66
81
|
color="light"
|
@@ -24,6 +24,28 @@
|
|
24
24
|
[class^=pb_currency_wrapper] {
|
25
25
|
display: flex;
|
26
26
|
|
27
|
+
&[class*=_deemphasized] [class^=pb_body_kit][class*=_light] {
|
28
|
+
color: $text_lt_default;
|
29
|
+
}
|
30
|
+
|
31
|
+
&[class*=_deemphasized] [class^=pb_title_kit][class*=_4] {
|
32
|
+
font-weight: $regular;
|
33
|
+
}
|
34
|
+
|
35
|
+
&[class*=_light] [class^=pb_body_kit][class*=_light] {
|
36
|
+
color: $text_lt_light;
|
37
|
+
}
|
38
|
+
|
39
|
+
&[class*=_light] [class^=pb_title_kit][class*=_4] {
|
40
|
+
color: $text_lt_light;
|
41
|
+
font-weight: $regular;
|
42
|
+
}
|
43
|
+
|
44
|
+
&[class*=_bold] [class^=pb_body_kit][class*=_light] {
|
45
|
+
color: $text_lt_default;
|
46
|
+
font-weight: $bolder;
|
47
|
+
}
|
48
|
+
|
27
49
|
& > [class*=dollar_sign] {
|
28
50
|
display: flex;
|
29
51
|
align-items: flex-start;
|
@@ -45,7 +67,7 @@
|
|
45
67
|
padding-left: $space_xs - 7px;
|
46
68
|
padding-right: $space_xs - 7px;
|
47
69
|
}
|
48
|
-
|
70
|
+
|
49
71
|
&[class*=_sm] [class^=pb_currency_wrapper] [class*=pb_currency_value] {
|
50
72
|
line-height: 1.4;
|
51
73
|
padding-left: $space_xs - 7px;
|