openproject-primer_view_components 0.33.2 → 0.34.0
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 +6 -0
- data/app/components/primer/open_project/page_header.html.erb +3 -0
- data/app/components/primer/open_project/page_header.rb +16 -1
- data/lib/primer/view_components/version.rb +2 -2
- data/previews/primer/open_project/page_header_preview.rb +53 -5
- data/static/info_arch.json +26 -0
- data/static/previews.json +26 -0
- metadata +2 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: e62a6eaac97e4ba2f5888dcfcd25da23ec74671931265ca171e803ebd88a2010
|
4
|
+
data.tar.gz: de34a286c13348d3c36db855c4ec280f5fa7e99ed3ac712c2ed583a9e92a9f3a
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: a72a263f1b73f434c20c5be7d18b23d2af4f2eb9297ecadd2fa4da8430a9cff8fd196742bfc3ab500b874b76f439e63f825bfb18c6aa1f8c1d857c095817d77f
|
7
|
+
data.tar.gz: 147d78e64ada459d540f42720c72da9d2b8651519d7f2ee3cb2daf8465b98dd245487b59f944bc0cdd0c24e1ad290e98ae9c73bfaf5cc8e3bd2c5921ad84e2d4
|
data/CHANGELOG.md
CHANGED
@@ -1,5 +1,11 @@
|
|
1
1
|
# CHANGELOG
|
2
2
|
|
3
|
+
## 0.34.0
|
4
|
+
|
5
|
+
### Minor Changes
|
6
|
+
|
7
|
+
- [#128](https://github.com/opf/primer_view_components/pull/128) [`7b7955d`](https://github.com/opf/primer_view_components/commit/7b7955d41b0f4b0dcdc6bb4176fce383c5beae6a) Thanks [@oliverguenther](https://github.com/oliverguenther)! - Allow segmented control action in page header
|
8
|
+
|
3
9
|
## 0.33.2
|
4
10
|
|
5
11
|
### Patch Changes
|
@@ -3,6 +3,9 @@
|
|
3
3
|
<div class="PageHeader-contextBar">
|
4
4
|
<%= @parent_link %>
|
5
5
|
<%= breadcrumbs %>
|
6
|
+
<% if @mobile_segmented_control %>
|
7
|
+
<%= render(@mobile_segmented_control, &@mobile_segmented_control_block) %>
|
8
|
+
<% end %>
|
6
9
|
<% if render_mobile_menu? %>
|
7
10
|
<%= render(@mobile_action_menu) do |menu| %>
|
8
11
|
<% menu.with_show_button(icon: :"kebab-horizontal", size: :small, "aria-label": @mobile_menu_label) %>
|
@@ -141,6 +141,21 @@ module Primer
|
|
141
141
|
component.new(**system_arguments)
|
142
142
|
},
|
143
143
|
},
|
144
|
+
segmented_control: {
|
145
|
+
renders: lambda { |**system_arguments, &block|
|
146
|
+
deny_tag_argument(**system_arguments)
|
147
|
+
|
148
|
+
system_arguments = set_action_arguments(system_arguments, scheme: DEFAULT_ACTION_SCHEME)
|
149
|
+
mobile_args = system_arguments.delete(:mobile_system_arguments) || {}
|
150
|
+
@mobile_segmented_control = Primer::Alpha::SegmentedControl.new(**system_arguments,
|
151
|
+
**mobile_args,
|
152
|
+
mr: 2,
|
153
|
+
display: %i[flex none])
|
154
|
+
@mobile_segmented_control_block = block
|
155
|
+
|
156
|
+
Primer::Alpha::SegmentedControl.new(**system_arguments)
|
157
|
+
},
|
158
|
+
},
|
144
159
|
}
|
145
160
|
|
146
161
|
# Optional leading action prepend the title
|
@@ -252,7 +267,7 @@ module Primer
|
|
252
267
|
|
253
268
|
def set_action_arguments(system_arguments, scheme: nil)
|
254
269
|
system_arguments[:ml] ||= 2
|
255
|
-
system_arguments[:display] = [
|
270
|
+
system_arguments[:display] = %i[none flex]
|
256
271
|
system_arguments[:size] = :medium
|
257
272
|
system_arguments[:scheme] = scheme unless scheme.nil?
|
258
273
|
system_arguments[:classes] = class_names(
|
@@ -40,7 +40,7 @@ module Primer
|
|
40
40
|
with_leading_action: with_leading_action,
|
41
41
|
with_actions: with_actions,
|
42
42
|
breadcrumb_items: breadcrumb_items,
|
43
|
-
with_tab_nav: with_tab_nav})
|
43
|
+
with_tab_nav: with_tab_nav })
|
44
44
|
end
|
45
45
|
|
46
46
|
# @label Large title
|
@@ -71,8 +71,8 @@ module Primer
|
|
71
71
|
component.with_breadcrumbs([{ href: "/foo", text: "Foo" }, { href: "/bar", text: "Bar" }, "Baz"])
|
72
72
|
|
73
73
|
component.with_action_button(mobile_icon: "star", mobile_label: "Star") do |button|
|
74
|
-
|
75
|
-
|
74
|
+
button.with_leading_visual_icon(icon: "star")
|
75
|
+
"Star"
|
76
76
|
end
|
77
77
|
component.with_action_menu(menu_arguments: { anchor_align: :end },
|
78
78
|
button_arguments: { button_block: callback }) do |menu|
|
@@ -123,7 +123,6 @@ module Primer
|
|
123
123
|
end
|
124
124
|
end
|
125
125
|
|
126
|
-
|
127
126
|
# @label With a single action
|
128
127
|
# The single action will not be transformed into a menu on mobile, but remains in a smaller variant
|
129
128
|
def single_action
|
@@ -180,13 +179,62 @@ module Primer
|
|
180
179
|
header.with_description { "Last updated 5 minutes ago by XYZ." }
|
181
180
|
header.with_tab_nav(label: "label") do |nav|
|
182
181
|
Array.new(3) do |i|
|
183
|
-
nav.with_tab(selected: i.zero
|
182
|
+
nav.with_tab(selected: i.zero?, href: "#") do |tab|
|
184
183
|
tab.with_text { "Tab #{i + 1}" }
|
185
184
|
end
|
186
185
|
end
|
187
186
|
end
|
188
187
|
end
|
189
188
|
end
|
189
|
+
|
190
|
+
# @label With a SegmentedControl
|
191
|
+
def segmented_control
|
192
|
+
render(Primer::OpenProject::PageHeader.new) do |component|
|
193
|
+
component.with_title { "Here's a segmented control" }
|
194
|
+
component.with_breadcrumbs(["Baz"])
|
195
|
+
|
196
|
+
component.with_action_segmented_control("aria-label": "Segmented control") do |control|
|
197
|
+
control.with_item(label: "Preview", icon: :eye, selected: true)
|
198
|
+
control.with_item(label: "Raw", icon: :"file-code")
|
199
|
+
end
|
200
|
+
|
201
|
+
component.with_action_button(mobile_icon: "star", mobile_label: "Star") do |button|
|
202
|
+
button.with_leading_visual_icon(icon: "star")
|
203
|
+
"Star"
|
204
|
+
end
|
205
|
+
|
206
|
+
callback = lambda do |button|
|
207
|
+
button.with_leading_visual_icon(icon: :gear)
|
208
|
+
"Settings"
|
209
|
+
end
|
210
|
+
|
211
|
+
component.with_action_menu(menu_arguments: { anchor_align: :end },
|
212
|
+
button_arguments: { button_block: callback }) do |menu|
|
213
|
+
menu.with_item(label: "Subitem 1") do |item|
|
214
|
+
item.with_leading_visual_icon(icon: :paste)
|
215
|
+
end
|
216
|
+
menu.with_item(label: "Subitem 2") do |item|
|
217
|
+
item.with_leading_visual_icon(icon: :log)
|
218
|
+
end
|
219
|
+
end
|
220
|
+
end
|
221
|
+
end
|
222
|
+
|
223
|
+
# @label With mobile icons-only SegmentedControl
|
224
|
+
def segmented_control_mobile_icons
|
225
|
+
render(Primer::OpenProject::PageHeader.new) do |component|
|
226
|
+
component.with_title { "Here's a segmented control" }
|
227
|
+
component.with_breadcrumbs(["Baz"])
|
228
|
+
|
229
|
+
component.with_action_segmented_control(
|
230
|
+
"aria-label": "Segmented control",
|
231
|
+
mobile_system_arguments: { hide_labels: true }
|
232
|
+
) do |control|
|
233
|
+
control.with_item(label: "Preview", icon: :eye, selected: true)
|
234
|
+
control.with_item(label: "Raw", icon: :"file-code")
|
235
|
+
end
|
236
|
+
end
|
237
|
+
end
|
190
238
|
end
|
191
239
|
end
|
192
240
|
end
|
data/static/info_arch.json
CHANGED
@@ -16891,6 +16891,32 @@
|
|
16891
16891
|
"color-contrast"
|
16892
16892
|
]
|
16893
16893
|
}
|
16894
|
+
},
|
16895
|
+
{
|
16896
|
+
"preview_path": "primer/open_project/page_header/segmented_control",
|
16897
|
+
"name": "segmented_control",
|
16898
|
+
"snapshot": "false",
|
16899
|
+
"skip_rules": {
|
16900
|
+
"wont_fix": [
|
16901
|
+
"region"
|
16902
|
+
],
|
16903
|
+
"will_fix": [
|
16904
|
+
"color-contrast"
|
16905
|
+
]
|
16906
|
+
}
|
16907
|
+
},
|
16908
|
+
{
|
16909
|
+
"preview_path": "primer/open_project/page_header/segmented_control_mobile_icons",
|
16910
|
+
"name": "segmented_control_mobile_icons",
|
16911
|
+
"snapshot": "false",
|
16912
|
+
"skip_rules": {
|
16913
|
+
"wont_fix": [
|
16914
|
+
"region"
|
16915
|
+
],
|
16916
|
+
"will_fix": [
|
16917
|
+
"color-contrast"
|
16918
|
+
]
|
16919
|
+
}
|
16894
16920
|
}
|
16895
16921
|
],
|
16896
16922
|
"subcomponents": [
|
data/static/previews.json
CHANGED
@@ -5429,6 +5429,32 @@
|
|
5429
5429
|
"color-contrast"
|
5430
5430
|
]
|
5431
5431
|
}
|
5432
|
+
},
|
5433
|
+
{
|
5434
|
+
"preview_path": "primer/open_project/page_header/segmented_control",
|
5435
|
+
"name": "segmented_control",
|
5436
|
+
"snapshot": "false",
|
5437
|
+
"skip_rules": {
|
5438
|
+
"wont_fix": [
|
5439
|
+
"region"
|
5440
|
+
],
|
5441
|
+
"will_fix": [
|
5442
|
+
"color-contrast"
|
5443
|
+
]
|
5444
|
+
}
|
5445
|
+
},
|
5446
|
+
{
|
5447
|
+
"preview_path": "primer/open_project/page_header/segmented_control_mobile_icons",
|
5448
|
+
"name": "segmented_control_mobile_icons",
|
5449
|
+
"snapshot": "false",
|
5450
|
+
"skip_rules": {
|
5451
|
+
"wont_fix": [
|
5452
|
+
"region"
|
5453
|
+
],
|
5454
|
+
"will_fix": [
|
5455
|
+
"color-contrast"
|
5456
|
+
]
|
5457
|
+
}
|
5432
5458
|
}
|
5433
5459
|
]
|
5434
5460
|
},
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: openproject-primer_view_components
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
4
|
+
version: 0.34.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- GitHub Open Source
|
@@ -9,7 +9,7 @@ authors:
|
|
9
9
|
autorequire:
|
10
10
|
bindir: bin
|
11
11
|
cert_chain: []
|
12
|
-
date: 2024-06-
|
12
|
+
date: 2024-06-13 00:00:00.000000000 Z
|
13
13
|
dependencies:
|
14
14
|
- !ruby/object:Gem::Dependency
|
15
15
|
name: actionview
|