primer_view_components 0.0.17 → 0.0.22

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 (73) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +102 -0
  3. data/app/assets/javascripts/primer_view_components.js +2 -0
  4. data/app/assets/javascripts/primer_view_components.js.map +1 -0
  5. data/app/components/primer/avatar_component.rb +27 -9
  6. data/app/components/primer/avatar_stack_component.html.erb +10 -0
  7. data/app/components/primer/avatar_stack_component.rb +81 -0
  8. data/app/components/primer/base_component.rb +8 -5
  9. data/app/components/primer/blankslate_component.html.erb +3 -3
  10. data/app/components/primer/blankslate_component.rb +18 -25
  11. data/app/components/primer/border_box_component.html.erb +4 -18
  12. data/app/components/primer/border_box_component.rb +75 -68
  13. data/app/components/primer/box_component.rb +10 -0
  14. data/app/components/primer/breadcrumb_component.rb +3 -2
  15. data/app/components/primer/button_component.rb +3 -3
  16. data/app/components/primer/button_group_component.html.erb +5 -0
  17. data/app/components/primer/button_group_component.rb +37 -0
  18. data/app/components/primer/button_marketing_component.rb +73 -0
  19. data/app/components/primer/component.rb +16 -0
  20. data/app/components/primer/counter_component.rb +16 -9
  21. data/app/components/primer/details_component.html.erb +2 -6
  22. data/app/components/primer/details_component.rb +28 -37
  23. data/app/components/primer/dropdown/menu_component.html.erb +12 -0
  24. data/app/components/primer/dropdown/menu_component.rb +48 -0
  25. data/app/components/primer/dropdown_component.html.erb +9 -0
  26. data/app/components/primer/dropdown_component.rb +75 -0
  27. data/app/components/primer/dropdown_menu_component.rb +35 -3
  28. data/app/components/primer/flash_component.html.erb +4 -7
  29. data/app/components/primer/flash_component.rb +18 -17
  30. data/app/components/primer/flex_component.rb +47 -9
  31. data/app/components/primer/flex_item_component.rb +16 -1
  32. data/app/components/primer/heading_component.rb +9 -0
  33. data/app/components/primer/label_component.rb +6 -6
  34. data/app/components/primer/layout_component.rb +2 -2
  35. data/app/components/primer/link_component.rb +6 -2
  36. data/app/components/primer/markdown_component.rb +293 -0
  37. data/app/components/primer/menu_component.html.erb +6 -0
  38. data/app/components/primer/menu_component.rb +71 -0
  39. data/app/components/primer/octicon_component.rb +13 -6
  40. data/app/components/primer/popover_component.rb +5 -3
  41. data/app/components/primer/primer.js +1 -0
  42. data/app/components/primer/primer.ts +1 -0
  43. data/app/components/primer/progress_bar_component.rb +6 -6
  44. data/app/components/primer/spinner_component.rb +8 -5
  45. data/app/components/primer/state_component.rb +23 -12
  46. data/app/components/primer/subhead_component.rb +6 -3
  47. data/app/components/primer/tab_container_component.js +1 -0
  48. data/app/components/primer/tab_container_component.rb +41 -0
  49. data/app/components/primer/tab_container_component.ts +1 -0
  50. data/app/components/primer/tab_nav_component.html.erb +17 -0
  51. data/app/components/primer/tab_nav_component.rb +108 -0
  52. data/app/components/primer/text_component.rb +1 -1
  53. data/app/components/primer/timeline_item_component.html.erb +4 -16
  54. data/app/components/primer/timeline_item_component.rb +41 -49
  55. data/app/components/primer/tooltip_component.rb +88 -0
  56. data/app/components/primer/truncate_component.rb +41 -0
  57. data/app/components/primer/underline_nav_component.rb +26 -1
  58. data/{lib → app/lib}/primer/class_name_helper.rb +1 -0
  59. data/app/lib/primer/classify.rb +280 -0
  60. data/app/lib/primer/classify/cache.rb +125 -0
  61. data/{lib → app/lib}/primer/fetch_or_fallback_helper.rb +1 -0
  62. data/{lib → app/lib}/primer/join_style_arguments_helper.rb +1 -0
  63. data/app/lib/primer/view_helper.rb +22 -0
  64. data/app/lib/primer/view_helper/dsl.rb +34 -0
  65. data/lib/primer/view_components.rb +32 -0
  66. data/lib/primer/view_components/engine.rb +11 -2
  67. data/lib/primer/view_components/version.rb +5 -1
  68. data/lib/yard/renders_many_handler.rb +19 -0
  69. data/lib/yard/renders_one_handler.rb +19 -0
  70. data/static/statuses.json +1 -0
  71. metadata +94 -24
  72. data/app/components/primer/view_components.rb +0 -52
  73. data/lib/primer/classify.rb +0 -250
@@ -0,0 +1,125 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Primer
4
+ class Classify
5
+ # :nodoc:
6
+ class Cache
7
+ # rubocop:disable Style/MutableConstant
8
+ LOOKUP = {}
9
+ # rubocop:enable Style/MutableConstant
10
+
11
+ class <<self
12
+ def read(memo, key, val, breakpoint)
13
+ value = LOOKUP.dig(breakpoint, key, val)
14
+ memo[:classes] << value if value
15
+ end
16
+
17
+ def clear!
18
+ LOOKUP.clear
19
+ end
20
+
21
+ def preload!
22
+ preload(
23
+ keys: Primer::Classify::MARGIN_DIRECTION_KEYS,
24
+ values: [-6, -5, -4, -3, -2, -1, 0, 1, 2, 3, 4, 5, 6]
25
+ )
26
+
27
+ preload(
28
+ keys: (Primer::Classify::SPACING_KEYS - Primer::Classify::MARGIN_DIRECTION_KEYS),
29
+ values: [0, 1, 2, 3, 4, 5, 6]
30
+ )
31
+
32
+ preload(
33
+ keys: Primer::Classify::DIRECTION_KEY,
34
+ values: [:row, :column]
35
+ )
36
+
37
+ preload(
38
+ keys: Primer::Classify::JUSTIFY_CONTENT_KEY,
39
+ values: [:flex_start, :flex_end, :center, :space_between, :space_around]
40
+ )
41
+
42
+ preload(
43
+ keys: Primer::Classify::ALIGN_ITEMS_KEY,
44
+ values: [:flex_start, :flex_end, :center, :baseline, :stretch]
45
+ )
46
+
47
+ preload(
48
+ keys: Primer::Classify::DISPLAY_KEY,
49
+ values: [:flex, :block, :inline_block, :inline_flex, :none, :table, :table_cell]
50
+ )
51
+
52
+ preload(
53
+ keys: [Primer::Classify::COLOR_KEY, Primer::Classify::BG_KEY],
54
+ values: [:blue, :gray_dark, :gray, :gray_light, :red, :orange, :orange_light, :yellow, :green, :purple, :white, :pink]
55
+ )
56
+
57
+ preload(
58
+ keys: Primer::Classify::VERTICAL_ALIGN_KEY,
59
+ values: [:baseline, :top, :middle, :bottom, :text_top, :text_bottom]
60
+ )
61
+
62
+ preload(
63
+ keys: Primer::Classify::WORD_BREAK_KEY,
64
+ values: [:break_all]
65
+ )
66
+
67
+ preload(
68
+ keys: :text_align,
69
+ values: [:left, :center, :right]
70
+ )
71
+
72
+ preload(
73
+ keys: :font_weight,
74
+ values: [:bold, :light, :normal]
75
+ )
76
+
77
+ preload(
78
+ keys: Primer::Classify::FLEX_KEY,
79
+ values: [1, :auto]
80
+ )
81
+
82
+ preload(
83
+ keys: [Primer::Classify::FLEX_GROW_KEY, Primer::Classify::FLEX_SHRINK_KEY],
84
+ values: [0]
85
+ )
86
+
87
+ preload(
88
+ keys: [Primer::Classify::ALIGN_SELF_KEY],
89
+ values: [:auto, :start, :end, :center, :baseline, :stretch]
90
+ )
91
+
92
+ preload(
93
+ keys: [Primer::Classify::WIDTH_KEY, Primer::Classify::HEIGHT_KEY],
94
+ values: [:fit, :fill]
95
+ )
96
+
97
+ preload(
98
+ keys: Primer::Classify::BOX_SHADOW_KEY,
99
+ values: [true, :medium, :large, :extra_large, :none]
100
+ )
101
+
102
+ preload(
103
+ keys: Primer::Classify::VISIBILITY_KEY,
104
+ values: [:hidden, :visible]
105
+ )
106
+ end
107
+
108
+ def preload(keys:, values:)
109
+ BREAKPOINTS.each do |breakpoint|
110
+ Array(keys).each do |key|
111
+ values.each do |value|
112
+ classes = { classes: [] }
113
+ Primer::Classify.send(:extract_value, classes, key, value, breakpoint)
114
+
115
+ LOOKUP[breakpoint] ||= {}
116
+ LOOKUP[breakpoint][key] ||= {}
117
+ LOOKUP[breakpoint][key][value] = classes[:classes].first
118
+ end
119
+ end
120
+ end
121
+ end
122
+ end
123
+ end
124
+ end
125
+ end
@@ -14,6 +14,7 @@
14
14
  # fetch_or_fallback([1,2,3], 1, 2) => 1
15
15
  # fetch_or_fallback([1,2,3], nil, 2) => 2
16
16
  module Primer
17
+ # :nodoc:
17
18
  module FetchOrFallbackHelper
18
19
  mattr_accessor :fallback_raises, default: true
19
20
 
@@ -1,6 +1,7 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module Primer
4
+ # :nodoc:
4
5
  module JoinStyleArgumentsHelper
5
6
  # Join two `style` arguments
6
7
  #
@@ -0,0 +1,22 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Primer
4
+ # Module to allow shorthand calls for registered Primer components
5
+ #
6
+ # Registered components can be called with
7
+ # `primer(:name, **kwargs) { block }` instead of
8
+ # `render Primer::NameComponent.new(**kwargs) { block }`
9
+ module ViewHelper
10
+ extend ActiveSupport::Concern
11
+
12
+ class ViewHelperNotFound < StandardError; end
13
+
14
+ def primer(name, **component_args, &block)
15
+ component = Primer::Component.primer_helpers[name]
16
+
17
+ raise ViewHelperNotFound, "no component defined for helper #{name}" if component.blank?
18
+
19
+ render component.new(**component_args), &block
20
+ end
21
+ end
22
+ end
@@ -0,0 +1,34 @@
1
+ # frozen_string_literal: true
2
+
3
+ require "active_support/concern"
4
+
5
+ module Primer
6
+ # :nodoc:
7
+ module ViewHelper
8
+ # DSL to allow components to register a View Helper for shorthand calls.
9
+ #
10
+ # Example:
11
+ #
12
+ # class MyComponent < ViewComponent::Base
13
+ # include Primer::ViewHelper::DSL
14
+ # view_helper :my_component
15
+ # end
16
+ module DSL
17
+ extend ActiveSupport::Concern
18
+
19
+ class ViewHelperAlreadyDefined < StandardError; end
20
+
21
+ included do
22
+ class_attribute :primer_helpers, instance_writer: false, default: {}
23
+ end
24
+
25
+ class_methods do
26
+ def view_helper(name)
27
+ raise ViewHelperAlreadyDefined, "#{name} is already defined" if primer_helpers[name].present?
28
+
29
+ primer_helpers[name] = self
30
+ end
31
+ end
32
+ end
33
+ end
34
+ end
@@ -4,6 +4,38 @@ require "primer/view_components/version"
4
4
  require "primer/view_components/engine"
5
5
 
6
6
  module Primer
7
+ # :nodoc:
7
8
  module ViewComponents
9
+ DEFAULT_STATUSES_PATH = File.expand_path("static")
10
+ DEFAULT_STATUS_FILE_NAME = "statuses.json"
11
+
12
+ # generate_statuses returns a hash mapping component name to
13
+ # the component's status sorted alphabetically by the component name.
14
+ def self.generate_statuses
15
+ statuses = Primer::Component.descendants.each_with_object({}) do |component, mem|
16
+ mem[component.to_s] = component.status.to_s
17
+ end
18
+
19
+ statuses.sort_by { |k, _v| k }.to_h
20
+ end
21
+
22
+ # dump_statuses generates the status hash and then serializes
23
+ # it as json at the given path
24
+ def self.dump_statuses(path: DEFAULT_STATUSES_PATH)
25
+ require "json"
26
+
27
+ statuses = generate_statuses
28
+
29
+ File.open(File.join(path, DEFAULT_STATUS_FILE_NAME), "w") do |f|
30
+ f.write(statuses.to_json)
31
+ f.write($INPUT_RECORD_SEPARATOR)
32
+ end
33
+ end
34
+
35
+ # read_statuses returns a JSON string matching the output of
36
+ # generate_statuses
37
+ def self.read_statuses(path: DEFAULT_STATUSES_PATH)
38
+ File.read(File.join(path, DEFAULT_STATUS_FILE_NAME))
39
+ end
8
40
  end
9
41
  end
@@ -1,11 +1,20 @@
1
1
  # frozen_string_literal: true
2
2
 
3
+ require "rails/engine"
4
+
3
5
  module Primer
4
6
  module ViewComponents
7
+ # :nodoc:
5
8
  class Engine < ::Rails::Engine
6
9
  isolate_namespace Primer::ViewComponents
10
+ config.autoload_once_paths = %W[
11
+ #{root}/app/components
12
+ #{root}/app/lib
13
+ ]
14
+
15
+ initializer "primer_view_components.assets" do |app|
16
+ app.config.assets.precompile += %w[primer_view_components] if app.config.respond_to?(:assets)
17
+ end
7
18
  end
8
19
  end
9
20
  end
10
-
11
- require "#{Primer::ViewComponents::Engine.root}/app/components/primer/view_components.rb"
@@ -5,9 +5,13 @@ module Primer
5
5
  module VERSION
6
6
  MAJOR = 0
7
7
  MINOR = 0
8
- PATCH = 17
8
+ PATCH = 22
9
9
 
10
10
  STRING = [MAJOR, MINOR, PATCH].join(".")
11
11
  end
12
12
  end
13
13
  end
14
+
15
+ # rubocop:disable Rails/Output
16
+ puts Primer::ViewComponents::VERSION::STRING if __FILE__ == $PROGRAM_NAME
17
+ # rubocop:enable Rails/Output
@@ -0,0 +1,19 @@
1
+ # frozen_string_literal: true
2
+
3
+ module YARD
4
+ # YARD Handler to parse `renders_many` calls.
5
+ class RendersManyHandler < YARD::Handlers::Ruby::Base
6
+ handles method_call(:renders_many)
7
+ namespace_only
8
+
9
+ process do
10
+ name = statement.parameters.first.jump(:tstring_content, :ident).source
11
+ object = YARD::CodeObjects::MethodObject.new(namespace, name)
12
+ register(object)
13
+ parse_block(statement.last, owner: object)
14
+
15
+ object.dynamic = true
16
+ object[:renders_many] = true
17
+ end
18
+ end
19
+ end
@@ -0,0 +1,19 @@
1
+ # frozen_string_literal: true
2
+
3
+ module YARD
4
+ # YARD Handler to parse `renders_one` calls.
5
+ class RendersOneHandler < YARD::Handlers::Ruby::Base
6
+ handles method_call(:renders_one)
7
+ namespace_only
8
+
9
+ process do
10
+ name = statement.parameters.first.jump(:tstring_content, :ident).source
11
+ object = YARD::CodeObjects::MethodObject.new(namespace, name)
12
+ register(object)
13
+ parse_block(statement.last, owner: object)
14
+
15
+ object.dynamic = true
16
+ object[:renders_one] = true
17
+ end
18
+ end
19
+ end
@@ -0,0 +1 @@
1
+ {"Primer::AvatarComponent":"beta","Primer::AvatarStackComponent":"alpha","Primer::BaseComponent":"alpha","Primer::BlankslateComponent":"alpha","Primer::BorderBoxComponent":"beta","Primer::BoxComponent":"stable","Primer::BreadcrumbComponent":"alpha","Primer::ButtonComponent":"alpha","Primer::ButtonGroupComponent":"alpha","Primer::ButtonMarketingComponent":"alpha","Primer::CounterComponent":"beta","Primer::DetailsComponent":"alpha","Primer::Dropdown::MenuComponent":"alpha","Primer::DropdownComponent":"alpha","Primer::DropdownMenuComponent":"deprecated","Primer::FlashComponent":"beta","Primer::FlexComponent":"alpha","Primer::FlexItemComponent":"alpha","Primer::HeadingComponent":"alpha","Primer::LabelComponent":"alpha","Primer::LayoutComponent":"alpha","Primer::LinkComponent":"beta","Primer::MarkdownComponent":"alpha","Primer::MenuComponent":"alpha","Primer::OcticonComponent":"beta","Primer::PopoverComponent":"alpha","Primer::ProgressBarComponent":"alpha","Primer::SpinnerComponent":"beta","Primer::StateComponent":"beta","Primer::SubheadComponent":"alpha","Primer::TabContainerComponent":"alpha","Primer::TabNavComponent":"alpha","Primer::TabNavComponent::TabComponent":"alpha","Primer::TextComponent":"alpha","Primer::TimelineItemComponent":"alpha","Primer::TimelineItemComponent::BadgeComponent":"alpha","Primer::TooltipComponent":"alpha","Primer::TruncateComponent":"alpha","Primer::UnderlineNavComponent":"alpha"}
metadata CHANGED
@@ -1,15 +1,35 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: primer_view_components
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.17
4
+ version: 0.0.22
5
5
  platform: ruby
6
6
  authors:
7
7
  - GitHub Open Source
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2020-12-10 00:00:00.000000000 Z
11
+ date: 2021-03-01 00:00:00.000000000 Z
12
12
  dependencies:
13
+ - !ruby/object:Gem::Dependency
14
+ name: octicons_helper
15
+ requirement: !ruby/object:Gem::Requirement
16
+ requirements:
17
+ - - ">="
18
+ - !ruby/object:Gem::Version
19
+ version: 9.0.0
20
+ - - "<"
21
+ - !ruby/object:Gem::Version
22
+ version: 13.0.0
23
+ type: :runtime
24
+ prerelease: false
25
+ version_requirements: !ruby/object:Gem::Requirement
26
+ requirements:
27
+ - - ">="
28
+ - !ruby/object:Gem::Version
29
+ version: 9.0.0
30
+ - - "<"
31
+ - !ruby/object:Gem::Version
32
+ version: 13.0.0
13
33
  - !ruby/object:Gem::Dependency
14
34
  name: rails
15
35
  requirement: !ruby/object:Gem::Requirement
@@ -51,25 +71,33 @@ dependencies:
51
71
  - !ruby/object:Gem::Version
52
72
  version: '3.0'
53
73
  - !ruby/object:Gem::Dependency
54
- name: octicons_helper
74
+ name: allocation_tracer
55
75
  requirement: !ruby/object:Gem::Requirement
56
76
  requirements:
57
- - - ">="
58
- - !ruby/object:Gem::Version
59
- version: 9.0.0
60
- - - "<"
77
+ - - "~>"
61
78
  - !ruby/object:Gem::Version
62
- version: 12.0.0
63
- type: :runtime
79
+ version: 0.6.3
80
+ type: :development
64
81
  prerelease: false
65
82
  version_requirements: !ruby/object:Gem::Requirement
66
83
  requirements:
67
- - - ">="
84
+ - - "~>"
68
85
  - !ruby/object:Gem::Version
69
- version: 9.0.0
70
- - - "<"
86
+ version: 0.6.3
87
+ - !ruby/object:Gem::Dependency
88
+ name: benchmark-ips
89
+ requirement: !ruby/object:Gem::Requirement
90
+ requirements:
91
+ - - "~>"
71
92
  - !ruby/object:Gem::Version
72
- version: 12.0.0
93
+ version: 2.8.4
94
+ type: :development
95
+ prerelease: false
96
+ version_requirements: !ruby/object:Gem::Requirement
97
+ requirements:
98
+ - - "~>"
99
+ - !ruby/object:Gem::Version
100
+ version: 2.8.4
73
101
  - !ruby/object:Gem::Dependency
74
102
  name: listen
75
103
  requirement: !ruby/object:Gem::Requirement
@@ -118,28 +146,42 @@ dependencies:
118
146
  requirements:
119
147
  - - '='
120
148
  - !ruby/object:Gem::Version
121
- version: '0.74'
149
+ version: '0.82'
122
150
  type: :development
123
151
  prerelease: false
124
152
  version_requirements: !ruby/object:Gem::Requirement
125
153
  requirements:
126
154
  - - '='
127
155
  - !ruby/object:Gem::Version
128
- version: '0.74'
156
+ version: '0.82'
129
157
  - !ruby/object:Gem::Dependency
130
158
  name: rubocop-github
131
159
  requirement: !ruby/object:Gem::Requirement
132
160
  requirements:
133
161
  - - "~>"
134
162
  - !ruby/object:Gem::Version
135
- version: 0.13.0
163
+ version: 0.16.0
164
+ type: :development
165
+ prerelease: false
166
+ version_requirements: !ruby/object:Gem::Requirement
167
+ requirements:
168
+ - - "~>"
169
+ - !ruby/object:Gem::Version
170
+ version: 0.16.0
171
+ - !ruby/object:Gem::Dependency
172
+ name: rubocop-performance
173
+ requirement: !ruby/object:Gem::Requirement
174
+ requirements:
175
+ - - "~>"
176
+ - !ruby/object:Gem::Version
177
+ version: '1.7'
136
178
  type: :development
137
179
  prerelease: false
138
180
  version_requirements: !ruby/object:Gem::Requirement
139
181
  requirements:
140
182
  - - "~>"
141
183
  - !ruby/object:Gem::Version
142
- version: 0.13.0
184
+ version: '1.7'
143
185
  - !ruby/object:Gem::Dependency
144
186
  name: simplecov
145
187
  requirement: !ruby/object:Gem::Requirement
@@ -192,7 +234,11 @@ files:
192
234
  - CHANGELOG.md
193
235
  - LICENSE.txt
194
236
  - README.md
237
+ - app/assets/javascripts/primer_view_components.js
238
+ - app/assets/javascripts/primer_view_components.js.map
195
239
  - app/components/primer/avatar_component.rb
240
+ - app/components/primer/avatar_stack_component.html.erb
241
+ - app/components/primer/avatar_stack_component.rb
196
242
  - app/components/primer/base_component.rb
197
243
  - app/components/primer/blankslate_component.html.erb
198
244
  - app/components/primer/blankslate_component.rb
@@ -202,10 +248,17 @@ files:
202
248
  - app/components/primer/breadcrumb_component.html.erb
203
249
  - app/components/primer/breadcrumb_component.rb
204
250
  - app/components/primer/button_component.rb
251
+ - app/components/primer/button_group_component.html.erb
252
+ - app/components/primer/button_group_component.rb
253
+ - app/components/primer/button_marketing_component.rb
205
254
  - app/components/primer/component.rb
206
255
  - app/components/primer/counter_component.rb
207
256
  - app/components/primer/details_component.html.erb
208
257
  - app/components/primer/details_component.rb
258
+ - app/components/primer/dropdown/menu_component.html.erb
259
+ - app/components/primer/dropdown/menu_component.rb
260
+ - app/components/primer/dropdown_component.html.erb
261
+ - app/components/primer/dropdown_component.rb
209
262
  - app/components/primer/dropdown_menu_component.html.erb
210
263
  - app/components/primer/dropdown_menu_component.rb
211
264
  - app/components/primer/flash_component.html.erb
@@ -217,9 +270,14 @@ files:
217
270
  - app/components/primer/layout_component.html.erb
218
271
  - app/components/primer/layout_component.rb
219
272
  - app/components/primer/link_component.rb
273
+ - app/components/primer/markdown_component.rb
274
+ - app/components/primer/menu_component.html.erb
275
+ - app/components/primer/menu_component.rb
220
276
  - app/components/primer/octicon_component.rb
221
277
  - app/components/primer/popover_component.html.erb
222
278
  - app/components/primer/popover_component.rb
279
+ - app/components/primer/primer.js
280
+ - app/components/primer/primer.ts
223
281
  - app/components/primer/progress_bar_component.html.erb
224
282
  - app/components/primer/progress_bar_component.rb
225
283
  - app/components/primer/slot.rb
@@ -228,19 +286,31 @@ files:
228
286
  - app/components/primer/state_component.rb
229
287
  - app/components/primer/subhead_component.html.erb
230
288
  - app/components/primer/subhead_component.rb
289
+ - app/components/primer/tab_container_component.js
290
+ - app/components/primer/tab_container_component.rb
291
+ - app/components/primer/tab_container_component.ts
292
+ - app/components/primer/tab_nav_component.html.erb
293
+ - app/components/primer/tab_nav_component.rb
231
294
  - app/components/primer/text_component.rb
232
295
  - app/components/primer/timeline_item_component.html.erb
233
296
  - app/components/primer/timeline_item_component.rb
297
+ - app/components/primer/tooltip_component.rb
298
+ - app/components/primer/truncate_component.rb
234
299
  - app/components/primer/underline_nav_component.html.erb
235
300
  - app/components/primer/underline_nav_component.rb
236
- - app/components/primer/view_components.rb
237
- - lib/primer/class_name_helper.rb
238
- - lib/primer/classify.rb
239
- - lib/primer/fetch_or_fallback_helper.rb
240
- - lib/primer/join_style_arguments_helper.rb
301
+ - app/lib/primer/class_name_helper.rb
302
+ - app/lib/primer/classify.rb
303
+ - app/lib/primer/classify/cache.rb
304
+ - app/lib/primer/fetch_or_fallback_helper.rb
305
+ - app/lib/primer/join_style_arguments_helper.rb
306
+ - app/lib/primer/view_helper.rb
307
+ - app/lib/primer/view_helper/dsl.rb
241
308
  - lib/primer/view_components.rb
242
309
  - lib/primer/view_components/engine.rb
243
310
  - lib/primer/view_components/version.rb
311
+ - lib/yard/renders_many_handler.rb
312
+ - lib/yard/renders_one_handler.rb
313
+ - static/statuses.json
244
314
  homepage: https://github.com/primer/view_components
245
315
  licenses:
246
316
  - MIT
@@ -254,14 +324,14 @@ required_ruby_version: !ruby/object:Gem::Requirement
254
324
  requirements:
255
325
  - - ">="
256
326
  - !ruby/object:Gem::Version
257
- version: 2.3.0
327
+ version: 2.5.0
258
328
  required_rubygems_version: !ruby/object:Gem::Requirement
259
329
  requirements:
260
330
  - - ">="
261
331
  - !ruby/object:Gem::Version
262
332
  version: '0'
263
333
  requirements: []
264
- rubygems_version: 3.1.2
334
+ rubygems_version: 3.0.3
265
335
  signing_key:
266
336
  specification_version: 4
267
337
  summary: ViewComponents for the Primer Design System