primer_view_components 0.0.51 → 0.0.55
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/CHANGELOG.md +159 -0
- data/app/components/primer/alpha/tab_nav.html.erb +11 -0
- data/app/components/primer/alpha/tab_nav.rb +130 -0
- data/app/components/primer/{tab_nav_component.html.erb → alpha/tab_panels.html.erb} +3 -8
- data/app/components/primer/alpha/tab_panels.rb +82 -0
- data/app/components/primer/alpha/underline_nav.html.erb +15 -0
- data/app/components/primer/alpha/underline_nav.rb +137 -0
- data/app/components/primer/{underline_nav_component.html.erb → alpha/underline_panels.html.erb} +3 -8
- data/app/components/primer/alpha/underline_panels.rb +86 -0
- data/app/components/primer/base_component.rb +1 -1
- data/app/components/primer/beta/avatar_stack.rb +9 -9
- data/app/components/primer/{breadcrumb_component.html.erb → beta/breadcrumbs.html.erb} +2 -1
- data/app/components/primer/beta/breadcrumbs.rb +61 -0
- data/app/components/primer/beta/truncate.html.erb +5 -0
- data/app/components/primer/beta/truncate.rb +110 -0
- data/app/components/primer/border_box_component.rb +27 -1
- data/app/components/primer/clipboard_copy.rb +1 -1
- data/app/components/primer/dropdown.rb +7 -7
- data/app/components/primer/icon_button.rb +1 -1
- data/app/components/primer/navigation/tab_component.rb +8 -6
- data/app/components/primer/octicon_component.rb +6 -1
- data/app/components/primer/progress_bar_component.rb +0 -3
- data/app/components/primer/tab_container_component.rb +1 -1
- data/app/lib/primer/class_name_helper.rb +14 -13
- data/app/lib/primer/fetch_or_fallback_helper.rb +2 -0
- data/app/lib/primer/octicon/cache.rb +10 -2
- data/app/lib/primer/tab_nav_helper.rb +35 -0
- data/app/lib/primer/tabbed_component_helper.rb +5 -5
- data/app/lib/primer/underline_nav_helper.rb +44 -0
- data/app/lib/primer/view_helper.rb +1 -0
- data/lib/primer/classify/cache.rb +0 -6
- data/lib/primer/classify/flex.rb +1 -1
- data/lib/primer/classify/functional_colors.rb +1 -1
- data/lib/primer/classify/utilities.rb +17 -2
- data/lib/primer/classify/utilities.yml +35 -0
- data/lib/primer/classify/validation.rb +18 -0
- data/lib/primer/classify.rb +4 -13
- data/lib/primer/view_components/constants.rb +1 -1
- data/lib/primer/view_components/linters/argument_mappers/base.rb +34 -8
- data/lib/primer/view_components/linters/argument_mappers/button.rb +5 -6
- data/lib/primer/view_components/linters/argument_mappers/clipboard_copy.rb +4 -3
- data/lib/primer/view_components/linters/argument_mappers/close_button.rb +43 -0
- data/lib/primer/view_components/linters/argument_mappers/flash.rb +32 -0
- data/lib/primer/view_components/linters/argument_mappers/helpers/erb_block.rb +48 -5
- data/lib/primer/view_components/linters/argument_mappers/label.rb +3 -4
- data/lib/primer/view_components/linters/argument_mappers/system_arguments.rb +5 -7
- data/lib/primer/view_components/linters/autocorrectable.rb +6 -4
- data/lib/primer/view_components/linters/{helpers.rb → base_linter.rb} +69 -29
- data/lib/primer/view_components/linters/button_component_migration_counter.rb +4 -3
- data/lib/primer/view_components/linters/clipboard_copy_component_migration_counter.rb +3 -4
- data/lib/primer/view_components/linters/close_button_component_migration_counter.rb +110 -3
- data/lib/primer/view_components/linters/flash_component_migration_counter.rb +18 -3
- data/lib/primer/view_components/linters/label_component_migration_counter.rb +2 -3
- data/lib/primer/view_components/version.rb +1 -1
- data/lib/rubocop/config/default.yml +5 -0
- data/lib/rubocop/cop/primer/base_cop.rb +28 -0
- data/lib/rubocop/cop/primer/deprecated_arguments.rb +263 -0
- data/lib/rubocop/cop/primer/no_tag_memoize.rb +1 -0
- data/lib/rubocop/cop/primer/primer_octicon.rb +178 -0
- data/lib/rubocop/cop/primer/system_argument_instead_of_class.rb +4 -32
- data/lib/rubocop/cop/primer.rb +1 -2
- data/lib/tasks/coverage.rake +4 -0
- data/lib/tasks/docs.rake +10 -8
- data/lib/tasks/utilities.rake +7 -3
- data/lib/yard/docs_helper.rb +6 -3
- data/static/arguments.yml +82 -64
- data/static/classes.yml +10 -0
- data/static/constants.json +44 -30
- data/static/statuses.json +10 -6
- metadata +57 -18
- data/app/components/primer/auto_complete/auto_component.d.ts +0 -1
- data/app/components/primer/auto_complete/auto_component.js +0 -1
- data/app/components/primer/breadcrumb_component.rb +0 -57
- data/app/components/primer/tab_nav_component.rb +0 -151
- data/app/components/primer/underline_nav_component.rb +0 -187
- data/lib/primer/classify/functional_text_colors.rb +0 -64
@@ -2,9 +2,8 @@
|
|
2
2
|
|
3
3
|
require "rubocop"
|
4
4
|
require "primer/classify/utilities"
|
5
|
-
require "primer/view_components/statuses"
|
6
|
-
require_relative "../../../../app/lib/primer/view_helper"
|
7
5
|
|
6
|
+
# :nocov:
|
8
7
|
module RuboCop
|
9
8
|
module Cop
|
10
9
|
module Primer
|
@@ -15,7 +14,7 @@ module RuboCop
|
|
15
14
|
#
|
16
15
|
# good
|
17
16
|
# Component.new(mr: 1)
|
18
|
-
class SystemArgumentInsteadOfClass <
|
17
|
+
class SystemArgumentInsteadOfClass < BaseCop
|
19
18
|
INVALID_MESSAGE = <<~STR
|
20
19
|
Avoid using CSS classes when you can use System Arguments: https://primer.style/view-components/system-arguments.
|
21
20
|
STR
|
@@ -48,37 +47,10 @@ module RuboCop
|
|
48
47
|
|
49
48
|
def autocorrect(node)
|
50
49
|
lambda do |corrector|
|
51
|
-
|
52
|
-
corrector.replace(node.loc.expression,
|
50
|
+
args = ::Primer::Classify::Utilities.classes_to_args(node.value.value)
|
51
|
+
corrector.replace(node.loc.expression, args)
|
53
52
|
end
|
54
53
|
end
|
55
|
-
|
56
|
-
private
|
57
|
-
|
58
|
-
# We only verify SystemArguments if it's a `.new` call on a component or
|
59
|
-
# a ViewHleper call.
|
60
|
-
def valid_node?(node)
|
61
|
-
view_helpers.include?(node.method_name) || (node.method_name == :new && ::Primer::ViewComponents::STATUSES.key?(node.receiver.const_name))
|
62
|
-
end
|
63
|
-
|
64
|
-
def view_helpers
|
65
|
-
::Primer::ViewHelper::HELPERS.keys.map { |key| "primer_#{key}".to_sym }
|
66
|
-
end
|
67
|
-
|
68
|
-
def arguments_as_string(system_arguments)
|
69
|
-
system_arguments.map do |key, value|
|
70
|
-
val = case value
|
71
|
-
when Symbol
|
72
|
-
":#{value}"
|
73
|
-
when String
|
74
|
-
value.to_json
|
75
|
-
else
|
76
|
-
value
|
77
|
-
end
|
78
|
-
|
79
|
-
"#{key}: #{val}"
|
80
|
-
end.join(", ")
|
81
|
-
end
|
82
54
|
end
|
83
55
|
end
|
84
56
|
end
|
data/lib/rubocop/cop/primer.rb
CHANGED
data/lib/tasks/coverage.rake
CHANGED
@@ -9,6 +9,10 @@ namespace :coverage do
|
|
9
9
|
|
10
10
|
SimpleCov.collate Dir["simplecov-resultset-*/.resultset.json"], "rails" do
|
11
11
|
formatter SimpleCov::Formatter::Console
|
12
|
+
|
13
|
+
add_group "Ignored Code" do |src_file|
|
14
|
+
File.readlines(src_file.filename).grep(/:nocov:/).any?
|
15
|
+
end
|
12
16
|
end
|
13
17
|
end
|
14
18
|
end
|
data/lib/tasks/docs.rake
CHANGED
@@ -40,7 +40,7 @@ namespace :docs do
|
|
40
40
|
Primer::BlankslateComponent,
|
41
41
|
Primer::BorderBoxComponent,
|
42
42
|
Primer::BoxComponent,
|
43
|
-
Primer::
|
43
|
+
Primer::Beta::Breadcrumbs,
|
44
44
|
Primer::ButtonComponent,
|
45
45
|
Primer::ButtonGroup,
|
46
46
|
Primer::Alpha::ButtonMarketing,
|
@@ -68,13 +68,15 @@ namespace :docs do
|
|
68
68
|
Primer::SpinnerComponent,
|
69
69
|
Primer::SubheadComponent,
|
70
70
|
Primer::TabContainerComponent,
|
71
|
-
Primer::TabNavComponent,
|
72
71
|
Primer::Beta::Text,
|
73
72
|
Primer::TimeAgoComponent,
|
74
73
|
Primer::TimelineItemComponent,
|
75
74
|
Primer::Tooltip,
|
76
75
|
Primer::Truncate,
|
77
|
-
Primer::
|
76
|
+
Primer::Beta::Truncate,
|
77
|
+
Primer::Alpha::UnderlineNav,
|
78
|
+
Primer::Alpha::TabNav,
|
79
|
+
Primer::Alpha::TabPanels
|
78
80
|
]
|
79
81
|
|
80
82
|
js_components = [
|
@@ -84,9 +86,9 @@ namespace :docs do
|
|
84
86
|
Primer::Beta::AutoComplete,
|
85
87
|
Primer::ClipboardCopy,
|
86
88
|
Primer::TabContainerComponent,
|
87
|
-
Primer::TabNavComponent,
|
88
89
|
Primer::TimeAgoComponent,
|
89
|
-
Primer::
|
90
|
+
Primer::Alpha::UnderlinePanels,
|
91
|
+
Primer::Alpha::TabPanels
|
90
92
|
]
|
91
93
|
|
92
94
|
all_components = Primer::Component.descendants - [Primer::BaseComponent]
|
@@ -204,7 +206,7 @@ namespace :docs do
|
|
204
206
|
f.puts
|
205
207
|
f.puts("### `#{slot_documentation.name.to_s.capitalize}`")
|
206
208
|
|
207
|
-
if slot_documentation.base_docstring.present?
|
209
|
+
if slot_documentation.base_docstring.to_s.present?
|
208
210
|
f.puts
|
209
211
|
f.puts(view_context.render(inline: slot_documentation.base_docstring))
|
210
212
|
end
|
@@ -238,7 +240,7 @@ namespace :docs do
|
|
238
240
|
f.puts
|
239
241
|
html = view_context.render(inline: code)
|
240
242
|
html.scan(/class="([^"]*)"/) do |classnames|
|
241
|
-
classes_found_in_examples.concat(classnames[0].split
|
243
|
+
classes_found_in_examples.concat(classnames[0].split.reject { |c| c.starts_with?("octicon", "js", "my-") }.map { ".#{_1}" })
|
242
244
|
end
|
243
245
|
f.puts("<Example src=\"#{html.tr('"', "\'").delete("\n")}\" />")
|
244
246
|
f.puts
|
@@ -382,7 +384,7 @@ namespace :docs do
|
|
382
384
|
end
|
383
385
|
|
384
386
|
def pretty_default_value(tag, component)
|
385
|
-
params = tag.object.parameters.find { |param| [tag.name.to_s, tag.name
|
387
|
+
params = tag.object.parameters.find { |param| [tag.name.to_s, "#{tag.name}:"].include?(param[0]) }
|
386
388
|
default = tag.defaults&.first || params&.second
|
387
389
|
|
388
390
|
return "N/A" unless default
|
data/lib/tasks/utilities.rake
CHANGED
@@ -8,8 +8,11 @@ namespace :utilities do
|
|
8
8
|
require "primer/classify/utilities"
|
9
9
|
|
10
10
|
# Keys that are looked for to be included in the utilities.yml file
|
11
|
+
# rubocop:disable Lint/ConstantDefinitionInBlock
|
11
12
|
SUPPORTED_KEYS = %i[
|
12
13
|
anim
|
14
|
+
color-icon
|
15
|
+
color-text
|
13
16
|
d
|
14
17
|
float
|
15
18
|
height
|
@@ -23,6 +26,7 @@ namespace :utilities do
|
|
23
26
|
].freeze
|
24
27
|
|
25
28
|
BREAKPOINTS = [nil, "sm", "md", "lg", "xl"].freeze
|
29
|
+
# rubocop:enable Lint/ConstantDefinitionInBlock
|
26
30
|
|
27
31
|
css_data =
|
28
32
|
JSON.parse(
|
@@ -38,7 +42,7 @@ namespace :utilities do
|
|
38
42
|
css_data.each do |selector|
|
39
43
|
selector.sub!(/^./, "")
|
40
44
|
# Next if selector has ancestors or sibling selectors
|
41
|
-
next if selector.match?(/[:><~\[
|
45
|
+
next if selector.match?(/[:><~\[.]/)
|
42
46
|
next unless SUPPORTED_KEYS.any? { |key| selector.start_with?("#{key}-") }
|
43
47
|
|
44
48
|
# Dupe so we still have the selector at the end of slicing it up
|
@@ -50,7 +54,7 @@ namespace :utilities do
|
|
50
54
|
next unless classname.match?(Regexp.new(k))
|
51
55
|
|
52
56
|
key = v
|
53
|
-
classname.sub!(Regexp.new(k
|
57
|
+
classname.sub!(Regexp.new("#{k}-"), "")
|
54
58
|
end
|
55
59
|
|
56
60
|
# If we didn't find a replacement, grab the first text before hyphen
|
@@ -66,7 +70,7 @@ namespace :utilities do
|
|
66
70
|
end
|
67
71
|
|
68
72
|
# Change the rest from hypens to underscores
|
69
|
-
classname.sub!(
|
73
|
+
classname.sub!(/-/, "_")
|
70
74
|
|
71
75
|
# convert padding/margin negative values ie n7 to -7
|
72
76
|
classname.sub!(/^n/, "-") if classname.match?(/^n[0-9]/)
|
data/lib/yard/docs_helper.rb
CHANGED
@@ -1,13 +1,16 @@
|
|
1
1
|
# frozen_string_literal: true
|
2
2
|
|
3
|
+
# :nocov:
|
4
|
+
|
3
5
|
module YARD
|
4
6
|
# Helper methods to use for yard documentation
|
5
7
|
module DocsHelper
|
6
8
|
def one_of(enumerable, lower: false, sort: true)
|
7
9
|
# Sort the array if requested
|
8
10
|
if sort
|
9
|
-
|
10
|
-
|
11
|
+
enumerable = enumerable.sort do |a, b|
|
12
|
+
a.instance_of?(b.class) ? a <=> b : a.class.to_s <=> b.class.to_s
|
13
|
+
end
|
11
14
|
end
|
12
15
|
|
13
16
|
values =
|
@@ -58,7 +61,7 @@ module YARD
|
|
58
61
|
def status_module_and_short_name(component)
|
59
62
|
name_with_status = component.name.gsub(/Primer::|Component/, "")
|
60
63
|
|
61
|
-
m = name_with_status.match(/(?<status>Beta|Alpha|Deprecated)?(
|
64
|
+
m = name_with_status.match(/(?<status>Beta|Alpha|Deprecated)?(?<_colons>::)?(?<name>.*)/)
|
62
65
|
[m[:status]&.downcase, m[:name].gsub("::", "")]
|
63
66
|
end
|
64
67
|
|
data/static/arguments.yml
CHANGED
@@ -22,6 +22,74 @@
|
|
22
22
|
type: Hash
|
23
23
|
default: N/A
|
24
24
|
description: "[System arguments](/system-arguments)"
|
25
|
+
- component: TabNav
|
26
|
+
source: https://github.com/primer/view_components/tree/main/app/components/primer/alpha/tab_nav.rb
|
27
|
+
parameters:
|
28
|
+
- name: tag
|
29
|
+
type: Symbol
|
30
|
+
default: "`:nav`"
|
31
|
+
description: One of `:div` and `:nav`.
|
32
|
+
- name: label
|
33
|
+
type: String
|
34
|
+
default: N/A
|
35
|
+
description: Sets an `aria-label` that helps assistive technology users understand
|
36
|
+
the purpose of the links, and distinguish it from similar elements.
|
37
|
+
- name: body_arguments
|
38
|
+
type: Hash
|
39
|
+
default: "`{}`"
|
40
|
+
description: "[System arguments](/system-arguments) for the body wrapper."
|
41
|
+
- name: system_arguments
|
42
|
+
type: Hash
|
43
|
+
default: N/A
|
44
|
+
description: "[System arguments](/system-arguments)"
|
45
|
+
- component: TabPanels
|
46
|
+
source: https://github.com/primer/view_components/tree/main/app/components/primer/alpha/tab_panels.rb
|
47
|
+
parameters:
|
48
|
+
- name: label
|
49
|
+
type: String
|
50
|
+
default: N/A
|
51
|
+
description: Sets an `aria-label` that helps assistive technology users understand
|
52
|
+
the purpose of the tabs.
|
53
|
+
- name: align
|
54
|
+
type: Symbol
|
55
|
+
default: N/A
|
56
|
+
description: One of `:left` and `:right`. - Defaults to left
|
57
|
+
- name: body_arguments
|
58
|
+
type: Hash
|
59
|
+
default: "`{}`"
|
60
|
+
description: "[System arguments](/system-arguments) for the body wrapper."
|
61
|
+
- name: wrapper_arguments
|
62
|
+
type: Hash
|
63
|
+
default: "`{}`"
|
64
|
+
description: "[System arguments](/system-arguments) for the `TabContainer` wrapper."
|
65
|
+
- name: system_arguments
|
66
|
+
type: Hash
|
67
|
+
default: N/A
|
68
|
+
description: "[System arguments](/system-arguments)"
|
69
|
+
- component: UnderlineNav
|
70
|
+
source: https://github.com/primer/view_components/tree/main/app/components/primer/alpha/underline_nav.rb
|
71
|
+
parameters:
|
72
|
+
- name: tag
|
73
|
+
type: Symbol
|
74
|
+
default: "`:nav`"
|
75
|
+
description: One of `:div` and `:nav`.
|
76
|
+
- name: label
|
77
|
+
type: String
|
78
|
+
default: N/A
|
79
|
+
description: Sets an `aria-label` that helps assistive technology users understand
|
80
|
+
the purpose of the links, and distinguish it from similar elements.
|
81
|
+
- name: align
|
82
|
+
type: Symbol
|
83
|
+
default: "`:left`"
|
84
|
+
description: One of `:left` and `:right`. - Defaults to left
|
85
|
+
- name: body_arguments
|
86
|
+
type: Hash
|
87
|
+
default: "`{}`"
|
88
|
+
description: "[System arguments](/system-arguments) for the body wrapper."
|
89
|
+
- name: system_arguments
|
90
|
+
type: Hash
|
91
|
+
default: N/A
|
92
|
+
description: "[System arguments](/system-arguments)"
|
25
93
|
- component: BaseButton
|
26
94
|
source: https://github.com/primer/view_components/tree/main/app/components/primer/base_button.rb
|
27
95
|
parameters:
|
@@ -132,6 +200,13 @@
|
|
132
200
|
type: Hash
|
133
201
|
default: N/A
|
134
202
|
description: "[System arguments](/system-arguments)"
|
203
|
+
- component: Breadcrumbs
|
204
|
+
source: https://github.com/primer/view_components/tree/main/app/components/primer/beta/breadcrumbs.rb
|
205
|
+
parameters:
|
206
|
+
- name: system_arguments
|
207
|
+
type: Hash
|
208
|
+
default: N/A
|
209
|
+
description: "[System arguments](/system-arguments)"
|
135
210
|
- component: Text
|
136
211
|
source: https://github.com/primer/view_components/tree/main/app/components/primer/beta/text.rb
|
137
212
|
parameters:
|
@@ -143,6 +218,13 @@
|
|
143
218
|
type: Hash
|
144
219
|
default: N/A
|
145
220
|
description: "[System arguments](/system-arguments)"
|
221
|
+
- component: Truncate
|
222
|
+
source: https://github.com/primer/view_components/tree/main/app/components/primer/beta/truncate.rb
|
223
|
+
parameters:
|
224
|
+
- name: system_arguments
|
225
|
+
type: Hash
|
226
|
+
default: N/A
|
227
|
+
description: "[System arguments](/system-arguments)"
|
146
228
|
- component: Blankslate
|
147
229
|
source: https://github.com/primer/view_components/tree/main/app/components/primer/blankslate_component.rb
|
148
230
|
parameters:
|
@@ -228,13 +310,6 @@
|
|
228
310
|
type: Hash
|
229
311
|
default: N/A
|
230
312
|
description: "[System arguments](/system-arguments)"
|
231
|
-
- component: Breadcrumb
|
232
|
-
source: https://github.com/primer/view_components/tree/main/app/components/primer/breadcrumb_component.rb
|
233
|
-
parameters:
|
234
|
-
- name: system_arguments
|
235
|
-
type: Hash
|
236
|
-
default: N/A
|
237
|
-
description: "[System arguments](/system-arguments)"
|
238
313
|
- component: Button
|
239
314
|
source: https://github.com/primer/view_components/tree/main/app/components/primer/button_component.rb
|
240
315
|
parameters:
|
@@ -831,33 +906,6 @@
|
|
831
906
|
type: Hash
|
832
907
|
default: N/A
|
833
908
|
description: "[System arguments](/system-arguments)"
|
834
|
-
- component: TabNav
|
835
|
-
source: https://github.com/primer/view_components/tree/main/app/components/primer/tab_nav_component.rb
|
836
|
-
parameters:
|
837
|
-
- name: label
|
838
|
-
type: String
|
839
|
-
default: N/A
|
840
|
-
description: Used to set the `aria-label` on the top level `<nav>` element.
|
841
|
-
- name: with_panel
|
842
|
-
type: Boolean
|
843
|
-
default: "`false`"
|
844
|
-
description: Whether the TabNav should navigate through pages or panels. When
|
845
|
-
true, [TabContainer](/components/tabcontainer) is rendered along with JavaScript
|
846
|
-
behavior. Additionally, the `tab` slot will render as a button as opposed to
|
847
|
-
an anchor.
|
848
|
-
- name: body_arguments
|
849
|
-
type: Hash
|
850
|
-
default: "`{}`"
|
851
|
-
description: "[System arguments](/system-arguments) for the body wrapper."
|
852
|
-
- name: wrapper_arguments
|
853
|
-
type: Hash
|
854
|
-
default: "`{}`"
|
855
|
-
description: "[System arguments](/system-arguments) for the `TabContainer` wrapper.
|
856
|
-
Only applies if `with_panel` is `true`."
|
857
|
-
- name: system_arguments
|
858
|
-
type: Hash
|
859
|
-
default: N/A
|
860
|
-
description: "[System arguments](/system-arguments)"
|
861
909
|
- component: TimeAgo
|
862
910
|
source: https://github.com/primer/view_components/tree/main/app/components/primer/time_ago_component.rb
|
863
911
|
parameters:
|
@@ -941,33 +989,3 @@
|
|
941
989
|
type: Hash
|
942
990
|
default: N/A
|
943
991
|
description: "[System arguments](/system-arguments)"
|
944
|
-
- component: UnderlineNav
|
945
|
-
source: https://github.com/primer/view_components/tree/main/app/components/primer/underline_nav_component.rb
|
946
|
-
parameters:
|
947
|
-
- name: label
|
948
|
-
type: String
|
949
|
-
default: N/A
|
950
|
-
description: The `aria-label` on top level `<nav>` element.
|
951
|
-
- name: with_panel
|
952
|
-
type: Boolean
|
953
|
-
default: "`false`"
|
954
|
-
description: Whether the `UnderlineNav` should navigate through pages or panels.
|
955
|
-
When true, [TabContainer](/components/tabcontainer) is rendered along with JavaScript
|
956
|
-
behavior.
|
957
|
-
- name: align
|
958
|
-
type: Symbol
|
959
|
-
default: "`:left`"
|
960
|
-
description: One of `:left` and `:right`. - Defaults to left
|
961
|
-
- name: body_arguments
|
962
|
-
type: Hash
|
963
|
-
default: "`{ tag: BODY_TAG_DEFAULT }`"
|
964
|
-
description: "[System arguments](/system-arguments) for the body wrapper."
|
965
|
-
- name: wrapper_arguments
|
966
|
-
type: Hash
|
967
|
-
default: "`{}`"
|
968
|
-
description: "[System arguments](/system-arguments) for the `TabContainer` wrapper.
|
969
|
-
Only applies if `with_panel` is `true`."
|
970
|
-
- name: system_arguments
|
971
|
-
type: Hash
|
972
|
-
default: N/A
|
973
|
-
description: "[System arguments](/system-arguments)"
|
data/static/classes.yml
CHANGED
@@ -10,6 +10,9 @@
|
|
10
10
|
- ".Box-footer"
|
11
11
|
- ".Box-header"
|
12
12
|
- ".Box-row"
|
13
|
+
- ".Box-row--blue"
|
14
|
+
- ".Box-row--gray"
|
15
|
+
- ".Box-row--yellow"
|
13
16
|
- ".BtnGroup"
|
14
17
|
- ".BtnGroup-item"
|
15
18
|
- ".Counter"
|
@@ -49,6 +52,10 @@
|
|
49
52
|
- ".TimelineItem-avatar"
|
50
53
|
- ".TimelineItem-badge"
|
51
54
|
- ".TimelineItem-body"
|
55
|
+
- ".Truncate"
|
56
|
+
- ".Truncate-text"
|
57
|
+
- ".Truncate-text--expandable"
|
58
|
+
- ".Truncate-text--primary"
|
52
59
|
- ".UnderlineNav"
|
53
60
|
- ".UnderlineNav--right"
|
54
61
|
- ".UnderlineNav-actions"
|
@@ -69,6 +76,7 @@
|
|
69
76
|
- ".border"
|
70
77
|
- ".border-bottom-0"
|
71
78
|
- ".breadcrumb-item"
|
79
|
+
- ".breadcrumb-item-selected"
|
72
80
|
- ".btn"
|
73
81
|
- ".btn-block"
|
74
82
|
- ".btn-danger"
|
@@ -107,6 +115,7 @@
|
|
107
115
|
- ".custom-class"
|
108
116
|
- ".d-flex"
|
109
117
|
- ".d-inline-block"
|
118
|
+
- ".d-inline-flex"
|
110
119
|
- ".details-overlay"
|
111
120
|
- ".details-reset"
|
112
121
|
- ".dropdown"
|
@@ -168,6 +177,7 @@
|
|
168
177
|
- ".tabnav-tabs"
|
169
178
|
- ".text-bold"
|
170
179
|
- ".text-left"
|
180
|
+
- ".text-normal"
|
171
181
|
- ".tooltipped"
|
172
182
|
- ".tooltipped-n"
|
173
183
|
- ".tooltipped-no-delay"
|
data/static/constants.json
CHANGED
@@ -33,6 +33,32 @@
|
|
33
33
|
"large"
|
34
34
|
]
|
35
35
|
},
|
36
|
+
"Primer::Alpha::TabNav": {
|
37
|
+
"BODY_TAG_DEFAULT": "ul",
|
38
|
+
"TAG_DEFAULT": "nav",
|
39
|
+
"TAG_OPTIONS": [
|
40
|
+
"nav",
|
41
|
+
"div"
|
42
|
+
]
|
43
|
+
},
|
44
|
+
"Primer::Alpha::TabPanels": {
|
45
|
+
"BODY_TAG_DEFAULT": "ul",
|
46
|
+
"TAG_DEFAULT": "nav",
|
47
|
+
"TAG_OPTIONS": [
|
48
|
+
"nav",
|
49
|
+
"div"
|
50
|
+
]
|
51
|
+
},
|
52
|
+
"Primer::Alpha::UnderlineNav": {
|
53
|
+
"BODY_TAG_DEFAULT": "ul",
|
54
|
+
"TAG_DEFAULT": "nav",
|
55
|
+
"TAG_OPTIONS": [
|
56
|
+
"nav",
|
57
|
+
"div"
|
58
|
+
]
|
59
|
+
},
|
60
|
+
"Primer::Alpha::UnderlinePanels": {
|
61
|
+
},
|
36
62
|
"Primer::BaseButton": {
|
37
63
|
"DEFAULT_TAG": "button",
|
38
64
|
"DEFAULT_TYPE": "button",
|
@@ -82,27 +108,39 @@
|
|
82
108
|
"span"
|
83
109
|
]
|
84
110
|
},
|
111
|
+
"Primer::Beta::Breadcrumbs": {
|
112
|
+
"Item": "Primer::Beta::Breadcrumbs::Item"
|
113
|
+
},
|
114
|
+
"Primer::Beta::Breadcrumbs::Item": {
|
115
|
+
},
|
85
116
|
"Primer::Beta::Text": {
|
86
117
|
"DEFAULT_TAG": "span"
|
87
118
|
},
|
119
|
+
"Primer::Beta::Truncate": {
|
120
|
+
"TruncateText": "Primer::Beta::Truncate::TruncateText"
|
121
|
+
},
|
122
|
+
"Primer::Beta::Truncate::TruncateText": {
|
123
|
+
},
|
88
124
|
"Primer::BlankslateComponent": {
|
89
125
|
},
|
90
126
|
"Primer::BorderBoxComponent": {
|
91
127
|
"DEFAULT_PADDING": "default",
|
128
|
+
"DEFAULT_ROW_SCHEME": "default",
|
92
129
|
"PADDING_MAPPINGS": {
|
93
130
|
"default": "",
|
94
131
|
"condensed": "Box--condensed",
|
95
132
|
"spacious": "Box--spacious"
|
96
133
|
},
|
97
|
-
"PADDING_SUGGESTION": "Perhaps you could consider using :padding options of default, condensed, and spacious?"
|
134
|
+
"PADDING_SUGGESTION": "Perhaps you could consider using :padding options of default, condensed, and spacious?",
|
135
|
+
"ROW_SCHEME_MAPPINGS": {
|
136
|
+
"default": "",
|
137
|
+
"neutral": "Box-row--gray",
|
138
|
+
"info": "Box-row--blue",
|
139
|
+
"warning": "Box-row--yellow"
|
140
|
+
}
|
98
141
|
},
|
99
142
|
"Primer::BoxComponent": {
|
100
143
|
},
|
101
|
-
"Primer::BreadcrumbComponent": {
|
102
|
-
"ItemComponent": "Primer::BreadcrumbComponent::ItemComponent"
|
103
|
-
},
|
104
|
-
"Primer::BreadcrumbComponent::ItemComponent": {
|
105
|
-
},
|
106
144
|
"Primer::ButtonComponent": {
|
107
145
|
"DEFAULT_SCHEME": "default",
|
108
146
|
"DEFAULT_VARIANT": "medium",
|
@@ -562,13 +600,6 @@
|
|
562
600
|
},
|
563
601
|
"Primer::TabContainerComponent": {
|
564
602
|
},
|
565
|
-
"Primer::TabNavComponent": {
|
566
|
-
"DEFAULT_EXTRA_ALIGN": "left",
|
567
|
-
"EXTRA_ALIGN_OPTIONS": [
|
568
|
-
"left",
|
569
|
-
"right"
|
570
|
-
]
|
571
|
-
},
|
572
603
|
"Primer::TimeAgoComponent": {
|
573
604
|
},
|
574
605
|
"Primer::TimelineItemComponent": {
|
@@ -607,22 +638,5 @@
|
|
607
638
|
"p",
|
608
639
|
"strong"
|
609
640
|
]
|
610
|
-
},
|
611
|
-
"Primer::UnderlineNavComponent": {
|
612
|
-
"ACTIONS_TAG_DEFAULT": "div",
|
613
|
-
"ACTIONS_TAG_OPTIONS": [
|
614
|
-
"div",
|
615
|
-
"span"
|
616
|
-
],
|
617
|
-
"ALIGN_DEFAULT": "left",
|
618
|
-
"ALIGN_OPTIONS": [
|
619
|
-
"left",
|
620
|
-
"right"
|
621
|
-
],
|
622
|
-
"BODY_TAG_DEFAULT": "div",
|
623
|
-
"BODY_TAG_OPTIONS": [
|
624
|
-
"div",
|
625
|
-
"ul"
|
626
|
-
]
|
627
641
|
}
|
628
642
|
}
|