primer_view_components 0.0.34 → 0.0.35

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: b3251ede218a760e400098f3aab65c1f4bb91dedcc780efa32d0f7b814f35a7c
4
- data.tar.gz: 32676c086a6e0ad4c585fa5cc5ddbe6b5296451974f4f892afb24786886bd8e0
3
+ metadata.gz: d70eee70c97f320cb4708c39c1e2d6f53dc001fd2e0f0bc8fa2c83a0e1faf97b
4
+ data.tar.gz: 3326a41fbcfafdf23247769e7fac8ceedaf21fdb047470e38390560db6267778
5
5
  SHA512:
6
- metadata.gz: b67005b172fc5b314bcd8f18a4340ca4b7c33e6eb88d4b469714fac0c25a5ca82819205c70e3bd3bdd21edb6c3a3bf56870bea68eb61a09c931a7cada5614f5c
7
- data.tar.gz: b84b0c68ed718fdb8af16748215c763c87a3f26bea3d5e6ecd0e15d682f50d7849bac2290ebb0023d4770aa5ef47211b31f2f94f5590401410afa6ea2cda193a
6
+ metadata.gz: a1e87c126d6bb647e24a95b8b3b8be6042bc3eef7ca8412573a4619d2bc9bcc2942cdac4269a7a6c1984037327f14ea1a1fcaa343d970c95d5dd269d65f9ff8e
7
+ data.tar.gz: f6d1ecc686b02448b9f6b201c5de79898a8bbc79e588d849b49dfa956111d8b589a437eb03d8ae6ae0a4aafe757028efafb1c40dc217c7bb0132400a7169ec4a
data/CHANGELOG.md CHANGED
@@ -2,6 +2,24 @@
2
2
 
3
3
  ## main
4
4
 
5
+ ## 0.0.35
6
+
7
+ * Promote `AutoCompleteComponent`, `AutoCompleteItemComponent`, `AvatarStackComponent` and `ButtonComponent` to beta.
8
+
9
+ *Manuel Puyol*
10
+
11
+ * Allow `UnderlineNav` tabs to be rendered as a `<ul><li>` list.
12
+
13
+ *Manuel Puyol*
14
+
15
+ * _Accessibility:_ Don't add tab roles when `UnderlineNav` or `TabNav` use link redirects.
16
+
17
+ *Manuel Puyol*
18
+
19
+ * **Breaking change**: Make `label` required for `UnderlineNav` and `TabNav`.
20
+
21
+ *Manuel Puyol*
22
+
5
23
  ## 0.0.34
6
24
 
7
25
  * Add `p: :responsive` and `m: :auto` system arguments.
@@ -3,6 +3,8 @@
3
3
  module Primer
4
4
  # Use AutoComplete to populate input values from server search results.
5
5
  class AutoCompleteComponent < Primer::Component
6
+ status :beta
7
+
6
8
  DEFAULT_INPUT_TYPE = :text
7
9
  INPUT_TYPE_OPTIONS = [DEFAULT_INPUT_TYPE, :search].freeze
8
10
 
@@ -3,6 +3,8 @@
3
3
  module Primer
4
4
  # Use AutoCompleteItem to list results of an auto-completed search.
5
5
  class AutoCompleteItemComponent < Primer::Component
6
+ status :beta
7
+
6
8
  # @example Default
7
9
  # <%= render(Primer::AutoCompleteItemComponent.new(selected: true, value: "value")) do |c| %>
8
10
  # Selected
@@ -3,6 +3,8 @@
3
3
  module Primer
4
4
  # Use AvatarStack to stack multiple avatars together.
5
5
  class AvatarStackComponent < Primer::Component
6
+ status :beta
7
+
6
8
  ALIGN_DEFAULT = :left
7
9
  ALIGN_OPTIONS = [ALIGN_DEFAULT, :right].freeze
8
10
 
@@ -25,8 +25,6 @@ module Primer
25
25
  class BaseComponent < Primer::Component
26
26
  status :beta
27
27
 
28
- include TestSelectorHelper
29
-
30
28
  # ## HTML attributes
31
29
  #
32
30
  # System arguments include most HTML attributes. For example:
@@ -3,6 +3,8 @@
3
3
  module Primer
4
4
  # Use buttons for actions (e.g. in forms). Use links for destinations, or moving from one page to another.
5
5
  class ButtonComponent < Primer::Component
6
+ status :beta
7
+
6
8
  DEFAULT_SCHEME = :default
7
9
  SCHEME_MAPPINGS = {
8
10
  DEFAULT_SCHEME => "",
@@ -10,6 +10,7 @@ module Primer
10
10
  include ClassNameHelper
11
11
  include FetchOrFallbackHelper
12
12
  include OcticonsHelper
13
+ include TestSelectorHelper
13
14
  include JoinStyleArgumentsHelper
14
15
  include ViewHelper
15
16
  include Status::Dsl
@@ -11,7 +11,7 @@ module Primer
11
11
  # Required context menu for the dropdown
12
12
  #
13
13
  # @param direction [Symbol] <%= one_of(Primer::Dropdown::MenuComponent::DIRECTION_OPTIONS) %>
14
- # @param scheme [Symbol] Pass :dark for dark mode theming
14
+ # @param scheme [Symbol] Pass `:dark` for dark mode theming
15
15
  # @param header [String] Optional string to display as the header
16
16
  # @param system_arguments [Hash] <%= link_to_system_arguments_docs %>
17
17
  renders_one :menu, Primer::Dropdown::MenuComponent
@@ -36,7 +36,7 @@ module Primer
36
36
  # </div>
37
37
  #
38
38
  # @param direction [Symbol] <%= one_of(Primer::DropdownMenuComponent::DIRECTION_OPTIONS) %>
39
- # @param scheme [Symbol] Pass :dark for dark mode theming
39
+ # @param scheme [Symbol] Pass `:dark` for dark mode theming
40
40
  # @param header [String] Optional string to display as the header
41
41
  # @param system_arguments [Hash] <%= link_to_system_arguments_docs %>
42
42
  def initialize(direction: DIRECTION_DEFAULT, scheme: SCHEME_DEFAULT, header: nil, **system_arguments)
@@ -1,9 +1,11 @@
1
- <%= render Primer::BaseComponent.new(**@system_arguments) do %>
2
- <%= icon %>
3
- <% if text.present? %>
4
- <%= text %>
5
- <% else %>
6
- <%= content %>
1
+ <%= wrapper do %>
2
+ <%= render Primer::BaseComponent.new(**@system_arguments) do %>
3
+ <%= icon %>
4
+ <% if text.present? %>
5
+ <%= text %>
6
+ <% else %>
7
+ <%= content %>
8
+ <% end %>
9
+ <%= counter %>
7
10
  <% end %>
8
- <%= counter %>
9
11
  <% end %>
@@ -65,30 +65,43 @@ module Primer
65
65
  # <% c.counter(count: 10) %>
66
66
  # <% end %>
67
67
  #
68
+ # @example Inside a list
69
+ # <%= render(Primer::Navigation::TabComponent.new(list: true)) do |c| %>
70
+ # <% c.text { "Tab" } %>
71
+ # <% end %>
72
+ #
68
73
  # @example With custom HTML
69
- # <%= render(Primer::Navigation::TabComponent.new) do |c| %>
74
+ # <%= render(Primer::Navigation::TabComponent.new) do %>
70
75
  # <div>
71
76
  # This is my <strong>custom HTML</strong>
72
77
  # </div>
73
78
  # <% end %>
74
79
  #
80
+ # @param list [Boolean] Whether the Tab is an item in a `<ul>` list.
75
81
  # @param selected [Boolean] Whether the Tab is selected or not.
76
82
  # @param with_panel [Boolean] Whether the Tab has an associated panel.
77
83
  # @param icon_classes [Boolean] Classes that must always be applied to icons.
84
+ # @param wrapper_arguments [Hash] <%= link_to_system_arguments_docs %> to be used in the `<li>` wrapper when the tab is an item in a list.
78
85
  # @param system_arguments [Hash] <%= link_to_system_arguments_docs %>
79
- def initialize(selected: false, with_panel: false, icon_classes: "", **system_arguments)
86
+ def initialize(list: false, selected: false, with_panel: false, icon_classes: "", wrapper_arguments: {}, **system_arguments)
80
87
  @selected = selected
81
88
  @icon_classes = icon_classes
89
+ @list = list
90
+
82
91
  @system_arguments = system_arguments
83
- @system_arguments[:role] = :tab
84
92
 
85
93
  if with_panel
86
94
  @system_arguments[:tag] ||= :button
87
95
  @system_arguments[:type] = :button
96
+ @system_arguments[:role] = :tab
88
97
  else
89
98
  @system_arguments[:tag] ||= :a
90
99
  end
91
100
 
101
+ @wrapper_arguments = wrapper_arguments
102
+ @wrapper_arguments[:tag] = :li
103
+ @wrapper_arguments[:display] ||= :flex
104
+
92
105
  return unless @selected
93
106
 
94
107
  if @system_arguments[:tag] == :a
@@ -97,6 +110,17 @@ module Primer
97
110
  @system_arguments[:"aria-selected"] = true
98
111
  end
99
112
  end
113
+
114
+ def wrapper
115
+ unless @list
116
+ yield
117
+ return # returning `yield` caused a double render
118
+ end
119
+
120
+ render(Primer::BaseComponent.new(**@wrapper_arguments)) do
121
+ yield
122
+ end
123
+ end
100
124
  end
101
125
  end
102
126
  end
@@ -5,10 +5,6 @@ module Primer
5
5
  class OcticonComponent < Primer::Component
6
6
  status :beta
7
7
 
8
- include ClassNameHelper
9
- include TestSelectorHelper
10
- include OcticonsHelper
11
-
12
8
  SIZE_DEFAULT = :small
13
9
  SIZE_MAPPINGS = {
14
10
  SIZE_DEFAULT => 16,
@@ -1,10 +1,10 @@
1
1
  <%= wrapper do %>
2
2
  <%= render Primer::BaseComponent.new(**@system_arguments) do %>
3
- <nav role="tablist" aria-label="<%= @aria_label %>" class="tabnav-tabs">
3
+ <%= render Primer::BaseComponent.new(**@body_arguments) do %>
4
4
  <% tabs.each do |tab| %>
5
5
  <%= tab %>
6
6
  <% end %>
7
- </nav>
7
+ <% end %>
8
8
  <% end %>
9
9
 
10
10
  <% if @with_panel %>
@@ -14,18 +14,23 @@ module Primer
14
14
  "tabnav-tab",
15
15
  system_arguments[:classes]
16
16
  )
17
- Primer::Navigation::TabComponent.new(selected: selected, with_panel: @with_panel, **system_arguments)
17
+
18
+ Primer::Navigation::TabComponent.new(
19
+ selected: selected,
20
+ with_panel: @with_panel,
21
+ **system_arguments
22
+ )
18
23
  }
19
24
 
20
25
  # @example Default
21
- # <%= render(Primer::TabNavComponent.new) do |c| %>
26
+ # <%= render(Primer::TabNavComponent.new(label: "Default")) do |c| %>
22
27
  # <% c.tab(selected: true, href: "#") { "Tab 1" }%>
23
28
  # <% c.tab(href: "#") { "Tab 2" } %>
24
29
  # <% c.tab(href: "#") { "Tab 3" } %>
25
30
  # <% end %>
26
31
  #
27
32
  # @example With icons and counters
28
- # <%= render(Primer::TabNavComponent.new) do |component| %>
33
+ # <%= render(Primer::TabNavComponent.new(label: "With icons and counters")) do |component| %>
29
34
  # <% component.tab(href: "#", selected: true) do |t| %>
30
35
  # <% t.icon(icon: :star) %>
31
36
  # <% t.text { "Item 1" } %>
@@ -42,7 +47,7 @@ module Primer
42
47
  # <% end %>
43
48
  #
44
49
  # @example With panels
45
- # <%= render(Primer::TabNavComponent.new(with_panel: true)) do |c| %>
50
+ # <%= render(Primer::TabNavComponent.new(label: "With panels", with_panel: true)) do |c| %>
46
51
  # <% c.tab(selected: true) do |t| %>
47
52
  # <% t.text { "Tab 1" } %>
48
53
  # <% t.panel do %>
@@ -63,19 +68,28 @@ module Primer
63
68
  # <% end %>
64
69
  # <% end %>
65
70
  #
66
- # @param aria_label [String] Used to set the `aria-label` on the top level `<nav>` element.
71
+ # @param label [String] Used to set the `aria-label` on the top level `<nav>` element.
67
72
  # @param with_panel [Boolean] Whether the TabNav should navigate through pages or panels.
68
73
  # @param system_arguments [Hash] <%= link_to_system_arguments_docs %>
69
- def initialize(aria_label: nil, with_panel: false, **system_arguments)
70
- @aria_label = aria_label
74
+ def initialize(label:, with_panel: false, **system_arguments)
71
75
  @with_panel = with_panel
72
76
  @system_arguments = system_arguments
73
- @system_arguments[:tag] ||= :div
74
77
 
78
+ @system_arguments[:tag] ||= :div
75
79
  @system_arguments[:classes] = class_names(
76
80
  "tabnav",
77
81
  system_arguments[:classes]
78
82
  )
83
+
84
+ @body_arguments = {
85
+ tag: navigation_tag(with_panel),
86
+ classes: "tabnav-tabs",
87
+ aria: {
88
+ label: label
89
+ }
90
+ }
91
+
92
+ @body_arguments[:role] = :tablist if @with_panel
79
93
  end
80
94
  end
81
95
  end
@@ -10,6 +10,9 @@ module Primer
10
10
  ALIGN_DEFAULT = :left
11
11
  ALIGN_OPTIONS = [ALIGN_DEFAULT, :right].freeze
12
12
 
13
+ BODY_TAG_DEFAULT = :div
14
+ BODY_TAG_OPTIONS = [BODY_TAG_DEFAULT, :ul].freeze
15
+
13
16
  # Use the tabs to list navigation items. For more information, refer to <%= link_to_component(Primer::Navigation::TabComponent) %>.
14
17
  #
15
18
  # @param selected [Boolean] Whether the tab is selected.
@@ -19,7 +22,9 @@ module Primer
19
22
  "UnderlineNav-item",
20
23
  system_arguments[:classes]
21
24
  )
25
+
22
26
  Primer::Navigation::TabComponent.new(
27
+ list: list?,
23
28
  selected: selected,
24
29
  with_panel: @with_panel,
25
30
  icon_classes: "UnderlineNav-octicon",
@@ -38,7 +43,7 @@ module Primer
38
43
  }
39
44
 
40
45
  # @example Default
41
- # <%= render(Primer::UnderlineNavComponent.new) do |component| %>
46
+ # <%= render(Primer::UnderlineNavComponent.new(label: "Default")) do |component| %>
42
47
  # <% component.tab(href: "#", selected: true) { "Item 1" } %>
43
48
  # <% component.tab(href: "#") { "Item 2" } %>
44
49
  # <% component.actions do %>
@@ -47,7 +52,7 @@ module Primer
47
52
  # <% end %>
48
53
  #
49
54
  # @example With icons and counters
50
- # <%= render(Primer::UnderlineNavComponent.new) do |component| %>
55
+ # <%= render(Primer::UnderlineNavComponent.new(label: "With icons and counters")) do |component| %>
51
56
  # <% component.tab(href: "#", selected: true) do |t| %>
52
57
  # <% t.icon(icon: :star) %>
53
58
  # <% t.text { "Item 1" } %>
@@ -67,7 +72,20 @@ module Primer
67
72
  # <% end %>
68
73
  #
69
74
  # @example Align right
70
- # <%= render(Primer::UnderlineNavComponent.new(align: :right)) do |component| %>
75
+ # <%= render(Primer::UnderlineNavComponent.new(label: "Align right", align: :right)) do |component| %>
76
+ # <% component.tab(href: "#", selected: true) do |t| %>
77
+ # <% t.text { "Item 1" } %>
78
+ # <% end %>
79
+ # <% component.tab(href: "#") do |t| %>
80
+ # <% t.text { "Item 2" } %>
81
+ # <% end %>
82
+ # <% component.actions do %>
83
+ # <%= render(Primer::ButtonComponent.new) { "Button!" } %>
84
+ # <% end %>
85
+ # <% end %>
86
+ #
87
+ # @example As a list
88
+ # <%= render(Primer::UnderlineNavComponent.new(label: "As a list", body_arguments: { tag: :ul })) do |component| %>
71
89
  # <% component.tab(href: "#", selected: true) do |t| %>
72
90
  # <% t.text { "Item 1" } %>
73
91
  # <% end %>
@@ -80,7 +98,7 @@ module Primer
80
98
  # <% end %>
81
99
  #
82
100
  # @example With panels
83
- # <%= render(Primer::UnderlineNavComponent.new(with_panel: true)) do |component| %>
101
+ # <%= render(Primer::UnderlineNavComponent.new(label: "With panels", with_panel: true)) do |component| %>
84
102
  # <% component.tab(selected: true) do |t| %>
85
103
  # <% t.text { "Item 1" } %>
86
104
  # <% t.panel do %>
@@ -98,33 +116,47 @@ module Primer
98
116
  # <% end %>
99
117
  # <% end %>
100
118
  #
119
+ # @param label [String] The `aria-label` on top level `<nav>` element.
101
120
  # @param with_panel [Boolean] Whether the TabNav should navigate through pages or panels.
102
121
  # @param align [Symbol] <%= one_of(Primer::UnderlineNavComponent::ALIGN_OPTIONS) %> - Defaults to <%= Primer::UnderlineNavComponent::ALIGN_DEFAULT %>
122
+ # @param body_arguments [Hash] <%= link_to_system_arguments_docs %> for the body wrapper.
103
123
  # @param system_arguments [Hash] <%= link_to_system_arguments_docs %>
104
- def initialize(with_panel: false, align: ALIGN_DEFAULT, body_classes: "", **system_arguments)
124
+ def initialize(label:, with_panel: false, align: ALIGN_DEFAULT, body_arguments: { tag: BODY_TAG_DEFAULT }, **system_arguments)
105
125
  @with_panel = with_panel
106
126
  @align = fetch_or_fallback(ALIGN_OPTIONS, align, ALIGN_DEFAULT)
107
127
 
108
128
  @system_arguments = system_arguments
109
- @system_arguments[:tag] = :nav
110
- @system_arguments[:role] = :tablist
129
+ @system_arguments[:tag] = navigation_tag(with_panel)
111
130
  @system_arguments[:classes] = class_names(
112
131
  @system_arguments[:classes],
113
132
  "UnderlineNav",
114
133
  "UnderlineNav--right" => @align == :right
115
134
  )
116
135
 
117
- @body_arguments = {
118
- tag: :div,
119
- classes: class_names(
120
- "UnderlineNav-body",
121
- body_classes
122
- )
123
- }
136
+ @body_arguments = body_arguments
137
+ @body_tag = fetch_or_fallback(BODY_TAG_OPTIONS, body_arguments[:tag]&.to_sym, BODY_TAG_DEFAULT)
138
+
139
+ @body_arguments[:tag] = @body_tag
140
+ @body_arguments[:classes] = class_names(
141
+ "UnderlineNav-body",
142
+ @body_arguments[:classes],
143
+ "list-style-none" => list?
144
+ )
145
+
146
+ if with_panel
147
+ @body_arguments[:role] = :tablist
148
+ @body_arguments[:"aria-label"] = label
149
+ else
150
+ @system_arguments[:"aria-label"] = label
151
+ end
124
152
  end
125
153
 
126
154
  private
127
155
 
156
+ def list?
157
+ @body_tag == :ul
158
+ end
159
+
128
160
  def body
129
161
  Primer::BaseComponent.new(**@body_arguments)
130
162
  end
@@ -16,6 +16,10 @@ module Primer
16
16
 
17
17
  private
18
18
 
19
+ def navigation_tag(with_panel)
20
+ with_panel ? :div : :nav
21
+ end
22
+
19
23
  def wrapper
20
24
  return yield unless @with_panel
21
25
 
@@ -5,7 +5,7 @@ module Primer
5
5
  module VERSION
6
6
  MAJOR = 0
7
7
  MINOR = 0
8
- PATCH = 34
8
+ PATCH = 35
9
9
 
10
10
  STRING = [MAJOR, MINOR, PATCH].join(".")
11
11
  end
data/static/statuses.json CHANGED
@@ -1 +1 @@
1
- {"Primer::AutoCompleteComponent":"alpha","Primer::AutoCompleteItemComponent":"alpha","Primer::AvatarComponent":"beta","Primer::AvatarStackComponent":"alpha","Primer::BaseComponent":"beta","Primer::BlankslateComponent":"beta","Primer::BorderBoxComponent":"beta","Primer::BoxComponent":"stable","Primer::BreadcrumbComponent":"beta","Primer::BreadcrumbComponent::ItemComponent":"alpha","Primer::ButtonComponent":"alpha","Primer::ButtonGroupComponent":"alpha","Primer::ButtonMarketingComponent":"alpha","Primer::CounterComponent":"beta","Primer::DetailsComponent":"beta","Primer::Dropdown::MenuComponent":"alpha","Primer::DropdownComponent":"alpha","Primer::DropdownMenuComponent":"deprecated","Primer::FlashComponent":"beta","Primer::FlexComponent":"alpha","Primer::FlexItemComponent":"alpha","Primer::HeadingComponent":"beta","Primer::LabelComponent":"beta","Primer::LayoutComponent":"alpha","Primer::LinkComponent":"beta","Primer::MarkdownComponent":"alpha","Primer::MenuComponent":"alpha","Primer::Navigation::TabComponent":"alpha","Primer::OcticonComponent":"beta","Primer::PopoverComponent":"beta","Primer::ProgressBarComponent":"beta","Primer::SpinnerComponent":"beta","Primer::StateComponent":"beta","Primer::SubheadComponent":"beta","Primer::TabContainerComponent":"alpha","Primer::TabNavComponent":"alpha","Primer::TextComponent":"beta","Primer::TimeAgoComponent":"beta","Primer::TimelineItemComponent":"beta","Primer::TimelineItemComponent::BadgeComponent":"alpha","Primer::TooltipComponent":"alpha","Primer::TruncateComponent":"alpha","Primer::UnderlineNavComponent":"alpha"}
1
+ {"Primer::AutoCompleteComponent":"beta","Primer::AutoCompleteItemComponent":"beta","Primer::AvatarComponent":"beta","Primer::AvatarStackComponent":"beta","Primer::BaseComponent":"beta","Primer::BlankslateComponent":"beta","Primer::BorderBoxComponent":"beta","Primer::BoxComponent":"stable","Primer::BreadcrumbComponent":"beta","Primer::BreadcrumbComponent::ItemComponent":"alpha","Primer::ButtonComponent":"beta","Primer::ButtonGroupComponent":"alpha","Primer::ButtonMarketingComponent":"alpha","Primer::CounterComponent":"beta","Primer::DetailsComponent":"beta","Primer::Dropdown::MenuComponent":"alpha","Primer::DropdownComponent":"alpha","Primer::DropdownMenuComponent":"deprecated","Primer::FlashComponent":"beta","Primer::FlexComponent":"alpha","Primer::FlexItemComponent":"alpha","Primer::HeadingComponent":"beta","Primer::LabelComponent":"beta","Primer::LayoutComponent":"alpha","Primer::LinkComponent":"beta","Primer::MarkdownComponent":"alpha","Primer::MenuComponent":"alpha","Primer::Navigation::TabComponent":"alpha","Primer::OcticonComponent":"beta","Primer::PopoverComponent":"beta","Primer::ProgressBarComponent":"beta","Primer::SpinnerComponent":"beta","Primer::StateComponent":"beta","Primer::SubheadComponent":"beta","Primer::TabContainerComponent":"alpha","Primer::TabNavComponent":"alpha","Primer::TextComponent":"beta","Primer::TimeAgoComponent":"beta","Primer::TimelineItemComponent":"beta","Primer::TimelineItemComponent::BadgeComponent":"alpha","Primer::TooltipComponent":"alpha","Primer::TruncateComponent":"alpha","Primer::UnderlineNavComponent":"alpha"}
metadata CHANGED
@@ -1,45 +1,36 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: primer_view_components
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.34
4
+ version: 0.0.35
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: 2021-04-01 00:00:00.000000000 Z
11
+ date: 2021-04-09 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
- name: octicons_helper
14
+ name: actionview
15
15
  requirement: !ruby/object:Gem::Requirement
16
16
  requirements:
17
17
  - - ">="
18
18
  - !ruby/object:Gem::Version
19
- version: 9.0.0
20
- - - "<"
21
- - !ruby/object:Gem::Version
22
- version: 13.0.0
19
+ version: 5.0.0
23
20
  type: :runtime
24
21
  prerelease: false
25
22
  version_requirements: !ruby/object:Gem::Requirement
26
23
  requirements:
27
24
  - - ">="
28
25
  - !ruby/object:Gem::Version
29
- version: 9.0.0
30
- - - "<"
31
- - !ruby/object:Gem::Version
32
- version: 13.0.0
26
+ version: 5.0.0
33
27
  - !ruby/object:Gem::Dependency
34
- name: rails
28
+ name: activesupport
35
29
  requirement: !ruby/object:Gem::Requirement
36
30
  requirements:
37
31
  - - ">="
38
32
  - !ruby/object:Gem::Version
39
33
  version: 5.0.0
40
- - - "<"
41
- - !ruby/object:Gem::Version
42
- version: '7.0'
43
34
  type: :runtime
44
35
  prerelease: false
45
36
  version_requirements: !ruby/object:Gem::Requirement
@@ -47,9 +38,20 @@ dependencies:
47
38
  - - ">="
48
39
  - !ruby/object:Gem::Version
49
40
  version: 5.0.0
50
- - - "<"
41
+ - !ruby/object:Gem::Dependency
42
+ name: octicons_helper
43
+ requirement: !ruby/object:Gem::Requirement
44
+ requirements:
45
+ - - ">="
51
46
  - !ruby/object:Gem::Version
52
- version: '7.0'
47
+ version: 13.0.0
48
+ type: :runtime
49
+ prerelease: false
50
+ version_requirements: !ruby/object:Gem::Requirement
51
+ requirements:
52
+ - - ">="
53
+ - !ruby/object:Gem::Version
54
+ version: 13.0.0
53
55
  - !ruby/object:Gem::Dependency
54
56
  name: view_component
55
57
  requirement: !ruby/object:Gem::Requirement
@@ -98,6 +100,34 @@ dependencies:
98
100
  - - "~>"
99
101
  - !ruby/object:Gem::Version
100
102
  version: 2.8.4
103
+ - !ruby/object:Gem::Dependency
104
+ name: capybara
105
+ requirement: !ruby/object:Gem::Requirement
106
+ requirements:
107
+ - - "~>"
108
+ - !ruby/object:Gem::Version
109
+ version: '3'
110
+ type: :development
111
+ prerelease: false
112
+ version_requirements: !ruby/object:Gem::Requirement
113
+ requirements:
114
+ - - "~>"
115
+ - !ruby/object:Gem::Version
116
+ version: '3'
117
+ - !ruby/object:Gem::Dependency
118
+ name: cuprite
119
+ requirement: !ruby/object:Gem::Requirement
120
+ requirements:
121
+ - - '='
122
+ - !ruby/object:Gem::Version
123
+ version: '0.11'
124
+ type: :development
125
+ prerelease: false
126
+ version_requirements: !ruby/object:Gem::Requirement
127
+ requirements:
128
+ - - '='
129
+ - !ruby/object:Gem::Version
130
+ version: '0.11'
101
131
  - !ruby/object:Gem::Dependency
102
132
  name: listen
103
133
  requirement: !ruby/object:Gem::Requirement
@@ -116,16 +146,16 @@ dependencies:
116
146
  name: minitest
117
147
  requirement: !ruby/object:Gem::Requirement
118
148
  requirements:
119
- - - '='
149
+ - - "~>"
120
150
  - !ruby/object:Gem::Version
121
- version: 5.6.0
151
+ version: '5.0'
122
152
  type: :development
123
153
  prerelease: false
124
154
  version_requirements: !ruby/object:Gem::Requirement
125
155
  requirements:
126
- - - '='
156
+ - - "~>"
127
157
  - !ruby/object:Gem::Version
128
- version: 5.6.0
158
+ version: '5.0'
129
159
  - !ruby/object:Gem::Dependency
130
160
  name: mocha
131
161
  requirement: !ruby/object:Gem::Requirement
@@ -224,6 +254,34 @@ dependencies:
224
254
  - - "~>"
225
255
  - !ruby/object:Gem::Version
226
256
  version: 0.7.2
257
+ - !ruby/object:Gem::Dependency
258
+ name: sprockets
259
+ requirement: !ruby/object:Gem::Requirement
260
+ requirements:
261
+ - - ">="
262
+ - !ruby/object:Gem::Version
263
+ version: '0'
264
+ type: :development
265
+ prerelease: false
266
+ version_requirements: !ruby/object:Gem::Requirement
267
+ requirements:
268
+ - - ">="
269
+ - !ruby/object:Gem::Version
270
+ version: '0'
271
+ - !ruby/object:Gem::Dependency
272
+ name: sprockets-rails
273
+ requirement: !ruby/object:Gem::Requirement
274
+ requirements:
275
+ - - ">="
276
+ - !ruby/object:Gem::Version
277
+ version: '0'
278
+ type: :development
279
+ prerelease: false
280
+ version_requirements: !ruby/object:Gem::Requirement
281
+ requirements:
282
+ - - ">="
283
+ - !ruby/object:Gem::Version
284
+ version: '0'
227
285
  - !ruby/object:Gem::Dependency
228
286
  name: yard
229
287
  requirement: !ruby/object:Gem::Requirement