primer_view_components 0.0.51 → 0.0.55
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/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
|
}
|