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.
Files changed (77) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +159 -0
  3. data/app/components/primer/alpha/tab_nav.html.erb +11 -0
  4. data/app/components/primer/alpha/tab_nav.rb +130 -0
  5. data/app/components/primer/{tab_nav_component.html.erb → alpha/tab_panels.html.erb} +3 -8
  6. data/app/components/primer/alpha/tab_panels.rb +82 -0
  7. data/app/components/primer/alpha/underline_nav.html.erb +15 -0
  8. data/app/components/primer/alpha/underline_nav.rb +137 -0
  9. data/app/components/primer/{underline_nav_component.html.erb → alpha/underline_panels.html.erb} +3 -8
  10. data/app/components/primer/alpha/underline_panels.rb +86 -0
  11. data/app/components/primer/base_component.rb +1 -1
  12. data/app/components/primer/beta/avatar_stack.rb +9 -9
  13. data/app/components/primer/{breadcrumb_component.html.erb → beta/breadcrumbs.html.erb} +2 -1
  14. data/app/components/primer/beta/breadcrumbs.rb +61 -0
  15. data/app/components/primer/beta/truncate.html.erb +5 -0
  16. data/app/components/primer/beta/truncate.rb +110 -0
  17. data/app/components/primer/border_box_component.rb +27 -1
  18. data/app/components/primer/clipboard_copy.rb +1 -1
  19. data/app/components/primer/dropdown.rb +7 -7
  20. data/app/components/primer/icon_button.rb +1 -1
  21. data/app/components/primer/navigation/tab_component.rb +8 -6
  22. data/app/components/primer/octicon_component.rb +6 -1
  23. data/app/components/primer/progress_bar_component.rb +0 -3
  24. data/app/components/primer/tab_container_component.rb +1 -1
  25. data/app/lib/primer/class_name_helper.rb +14 -13
  26. data/app/lib/primer/fetch_or_fallback_helper.rb +2 -0
  27. data/app/lib/primer/octicon/cache.rb +10 -2
  28. data/app/lib/primer/tab_nav_helper.rb +35 -0
  29. data/app/lib/primer/tabbed_component_helper.rb +5 -5
  30. data/app/lib/primer/underline_nav_helper.rb +44 -0
  31. data/app/lib/primer/view_helper.rb +1 -0
  32. data/lib/primer/classify/cache.rb +0 -6
  33. data/lib/primer/classify/flex.rb +1 -1
  34. data/lib/primer/classify/functional_colors.rb +1 -1
  35. data/lib/primer/classify/utilities.rb +17 -2
  36. data/lib/primer/classify/utilities.yml +35 -0
  37. data/lib/primer/classify/validation.rb +18 -0
  38. data/lib/primer/classify.rb +4 -13
  39. data/lib/primer/view_components/constants.rb +1 -1
  40. data/lib/primer/view_components/linters/argument_mappers/base.rb +34 -8
  41. data/lib/primer/view_components/linters/argument_mappers/button.rb +5 -6
  42. data/lib/primer/view_components/linters/argument_mappers/clipboard_copy.rb +4 -3
  43. data/lib/primer/view_components/linters/argument_mappers/close_button.rb +43 -0
  44. data/lib/primer/view_components/linters/argument_mappers/flash.rb +32 -0
  45. data/lib/primer/view_components/linters/argument_mappers/helpers/erb_block.rb +48 -5
  46. data/lib/primer/view_components/linters/argument_mappers/label.rb +3 -4
  47. data/lib/primer/view_components/linters/argument_mappers/system_arguments.rb +5 -7
  48. data/lib/primer/view_components/linters/autocorrectable.rb +6 -4
  49. data/lib/primer/view_components/linters/{helpers.rb → base_linter.rb} +69 -29
  50. data/lib/primer/view_components/linters/button_component_migration_counter.rb +4 -3
  51. data/lib/primer/view_components/linters/clipboard_copy_component_migration_counter.rb +3 -4
  52. data/lib/primer/view_components/linters/close_button_component_migration_counter.rb +110 -3
  53. data/lib/primer/view_components/linters/flash_component_migration_counter.rb +18 -3
  54. data/lib/primer/view_components/linters/label_component_migration_counter.rb +2 -3
  55. data/lib/primer/view_components/version.rb +1 -1
  56. data/lib/rubocop/config/default.yml +5 -0
  57. data/lib/rubocop/cop/primer/base_cop.rb +28 -0
  58. data/lib/rubocop/cop/primer/deprecated_arguments.rb +263 -0
  59. data/lib/rubocop/cop/primer/no_tag_memoize.rb +1 -0
  60. data/lib/rubocop/cop/primer/primer_octicon.rb +178 -0
  61. data/lib/rubocop/cop/primer/system_argument_instead_of_class.rb +4 -32
  62. data/lib/rubocop/cop/primer.rb +1 -2
  63. data/lib/tasks/coverage.rake +4 -0
  64. data/lib/tasks/docs.rake +10 -8
  65. data/lib/tasks/utilities.rake +7 -3
  66. data/lib/yard/docs_helper.rb +6 -3
  67. data/static/arguments.yml +82 -64
  68. data/static/classes.yml +10 -0
  69. data/static/constants.json +44 -30
  70. data/static/statuses.json +10 -6
  71. metadata +57 -18
  72. data/app/components/primer/auto_complete/auto_component.d.ts +0 -1
  73. data/app/components/primer/auto_complete/auto_component.js +0 -1
  74. data/app/components/primer/breadcrumb_component.rb +0 -57
  75. data/app/components/primer/tab_nav_component.rb +0 -151
  76. data/app/components/primer/underline_nav_component.rb +0 -187
  77. 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 < RuboCop::Cop::Cop
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
- system_arguments = ::Primer::Classify::Utilities.classes_to_hash(node.value.value)
52
- corrector.replace(node.loc.expression, arguments_as_string(system_arguments))
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
@@ -1,4 +1,3 @@
1
1
  # frozen_string_literal: true
2
2
 
3
- require "rubocop/cop/primer/no_tag_memoize"
4
- require "rubocop/cop/primer/system_argument_instead_of_class"
3
+ Dir[File.join(__dir__, "primer", "*.rb")].sort.each { |file| require file }
@@ -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::BreadcrumbComponent,
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::UnderlineNavComponent
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::UnderlineNavComponent
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(" ").reject { |c| c.starts_with?("octicon", "js", "my-") }.map { ".#{_1}"})
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.to_s + ":"].include?(param[0]) }
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
@@ -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]/)
@@ -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
- compare = ->(a, b) { a.class == b.class ? a <=> b : a.class.to_s <=> b.class.to_s }
10
- enumerable = enumerable.sort { |a, b| compare.call(a, b) }
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)?(::)?(?<name>.*)/)
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"
@@ -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
  }