openproject-primer_view_components 0.15.0 → 0.16.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/assets/styles/primer_view_components.css +1 -1
- data/app/assets/styles/primer_view_components.css.map +1 -1
- data/app/components/primer/open_project/page_header.css +1 -1
- data/app/components/primer/open_project/page_header.css.json +4 -1
- data/app/components/primer/open_project/page_header.css.map +1 -1
- data/app/components/primer/open_project/page_header.html.erb +9 -1
- data/app/components/primer/open_project/page_header.pcss +19 -1
- data/app/components/primer/open_project/page_header.rb +38 -0
- data/lib/primer/view_components/version.rb +1 -1
- data/previews/primer/open_project/page_header_preview/context_bar_actions.html.erb +25 -0
- data/previews/primer/open_project/page_header_preview/playground.html.erb +32 -0
- data/previews/primer/open_project/page_header_preview.rb +48 -9
- data/static/classes.json +9 -0
- data/static/constants.json +16 -0
- data/static/info_arch.json +52 -2
- data/static/previews.json +26 -0
- metadata +4 -2
@@ -1 +1 @@
|
|
1
|
-
.PageHeader{border-bottom:var(--borderWidth-thin,max(1px,.0625rem)) solid var(--borderColor-muted,var(--color-border-muted));display:flex;flex-flow:column;margin-bottom:var(--stack-gap-normal,1rem);padding-bottom:var(--stack-padding-condensed,.5rem)}@media (max-width:767.98px){.PageHeader{border-bottom:0}}.PageHeader-titleBar{align-items:center;display:flex;flex-flow:row;justify-content:flex-end}.PageHeader-title{flex:1 1 auto;font-size:24px;font-weight:var(--base-text-weight-normal,400)}.PageHeader-title--large{font-size:var(--text-title-size-large,2rem)}.PageHeader-description{color:var(--fgColor-muted,var(--color-fg-muted));flex:1 100%;font-size:var(--text-body-size-medium,.875rem)}.PageHeader-actions{justify-content:flex-end;margin:
|
1
|
+
.PageHeader{border-bottom:var(--borderWidth-thin,max(1px,.0625rem)) solid var(--borderColor-muted,var(--color-border-muted));display:flex;flex-flow:column;margin-bottom:var(--stack-gap-normal,1rem);padding-bottom:var(--stack-padding-condensed,.5rem)}@media (max-width:767.98px){.PageHeader{border-bottom:0}}.PageHeader-contextBar,.PageHeader-titleBar{align-items:center;display:flex;flex-flow:row;justify-content:flex-end}.PageHeader-title{flex:1 1 auto;font-size:24px;font-weight:var(--base-text-weight-normal,400)}.PageHeader-title--large{font-size:var(--text-title-size-large,2rem)}.PageHeader-description{color:var(--fgColor-muted,var(--color-fg-muted));flex:1 100%;font-size:var(--text-body-size-medium,.875rem)}.PageHeader-actions{display:flex;justify-content:flex-end;margin:0 0 0 var(--base-size-4,.25rem)}.PageHeader-actions+.PageHeader-description{margin-top:var(--base-size-4,.25rem)}.PageHeader-breadcrumbs{display:block;margin-bottom:var(--base-size-8,.5rem);padding-bottom:var(--base-size-4,.25rem);width:100%}.PageHeader-backButton{margin-right:var(--base-size-4,.25rem);margin-top:2px}.PageHeader-parentLink{flex:1 1 auto;margin-bottom:var(--base-size-4,.25rem)}.PageHeader-contextBarActions{margin:0 0 0 var(--base-size-4,.25rem)}
|
@@ -2,6 +2,7 @@
|
|
2
2
|
"name": "open_project/page_header",
|
3
3
|
"selectors": [
|
4
4
|
".PageHeader",
|
5
|
+
".PageHeader-contextBar",
|
5
6
|
".PageHeader-titleBar",
|
6
7
|
".PageHeader-title",
|
7
8
|
".PageHeader-title--large",
|
@@ -9,6 +10,8 @@
|
|
9
10
|
".PageHeader-actions",
|
10
11
|
".PageHeader-actions+.PageHeader-description",
|
11
12
|
".PageHeader-breadcrumbs",
|
12
|
-
".PageHeader-backButton"
|
13
|
+
".PageHeader-backButton",
|
14
|
+
".PageHeader-parentLink",
|
15
|
+
".PageHeader-contextBarActions"
|
13
16
|
]
|
14
17
|
}
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"sources":["page_header.pcss"],"names":[],"mappings":"AAEA,YAIE,gHAAqE,CAHrE,YAAa,CAIb,gBAAiB,CAFjB,0CAAsC,CADtC,mDAQF,CAHE,4BAPF,YAQI,eAEJ,CADE,
|
1
|
+
{"version":3,"sources":["page_header.pcss"],"names":[],"mappings":"AAEA,YAIE,gHAAqE,CAHrE,YAAa,CAIb,gBAAiB,CAFjB,0CAAsC,CADtC,mDAQF,CAHE,4BAPF,YAQI,eAEJ,CADE,CAUF,4CAIE,kBAAmB,CAHnB,YAAa,CACb,aAAc,CACd,wBAEF,CAEA,kBAGE,aAAc,CAFd,cAAe,CACf,8CAEF,CAEA,yBACE,2CACF,CAGA,wBAEE,gDAA2B,CAC3B,WAAY,CAFZ,8CAGF,CAGA,oBAGE,YAAa,CADb,wBAAyB,CADzB,sCAOF,CAHE,4CACE,oCACF,CAGF,wBACE,aAAc,CAEd,sCAAiC,CACjC,wCAAkC,CAFlC,UAGF,CAEA,uBAEE,sCAAgC,CADhC,cAEF,CAEA,uBACE,aAAc,CACd,uCACF,CAEA,8BACE,sCACF","file":"page_header.css","sourcesContent":["/* OP PageHeader */\n\n.PageHeader {\n display: flex;\n padding-bottom: var(--stack-padding-condensed);\n margin-bottom: var(--stack-gap-normal);\n border-bottom: var(--borderWidth-thin) solid var(--borderColor-muted);\n flex-flow: column;\n\n @media (max-width: 767.98px) {\n border-bottom: 0;\n }\n}\n\n.PageHeader-contextBar {\n display: flex;\n flex-flow: row;\n justify-content: flex-end;\n align-items: center;\n}\n\n.PageHeader-titleBar {\n display: flex;\n flex-flow: row;\n justify-content: flex-end;\n align-items: center; /* Keep back button vertically aligned. */\n}\n\n.PageHeader-title {\n font-size: 24px;\n font-weight: var(--base-text-weight-normal);\n flex: 1 1 auto;\n}\n\n.PageHeader-title--large {\n font-size: var(--text-title-size-large);\n}\n\n/* One-liner of supporting text */\n.PageHeader-description {\n font-size: var(--text-body-size-medium);\n color: var(--fgColor-muted);\n flex: 1 100%;\n}\n\n/* Add 1 or 2 buttons to the right of the heading */\n.PageHeader-actions {\n margin: 0 0 0 var(--base-size-4);\n justify-content: flex-end;\n display: flex;\n\n & + .PageHeader-description {\n margin-top: var(--base-size-4);\n }\n}\n\n.PageHeader-breadcrumbs {\n display: block;\n width: 100%;\n margin-bottom: var(--base-size-8);\n padding-bottom: var(--base-size-4);\n}\n\n.PageHeader-backButton {\n margin-top: 2px; /* to center align with label */\n margin-right: var(--base-size-4);\n}\n\n.PageHeader-parentLink {\n flex: 1 1 auto;\n margin-bottom: var(--base-size-4);\n}\n\n.PageHeader-contextBarActions {\n margin: 0 0 0 var(--base-size-4);\n}"]}
|
@@ -1,9 +1,17 @@
|
|
1
1
|
<%= render Primer::BaseComponent.new(**@system_arguments) do %>
|
2
|
-
|
2
|
+
<% if parent_link || breadcrumbs || context_bar_actions %>
|
3
|
+
<div class="PageHeader-contextBar">
|
4
|
+
<%= parent_link %>
|
5
|
+
<%= breadcrumbs %>
|
6
|
+
<%= context_bar_actions %>
|
7
|
+
</div>
|
8
|
+
<% end %>
|
9
|
+
|
3
10
|
<div class="PageHeader-titleBar">
|
4
11
|
<%= back_button %>
|
5
12
|
<%= title %>
|
6
13
|
<%= actions %>
|
7
14
|
</div>
|
15
|
+
|
8
16
|
<%= description %>
|
9
17
|
<% end %>
|
@@ -12,6 +12,13 @@
|
|
12
12
|
}
|
13
13
|
}
|
14
14
|
|
15
|
+
.PageHeader-contextBar {
|
16
|
+
display: flex;
|
17
|
+
flex-flow: row;
|
18
|
+
justify-content: flex-end;
|
19
|
+
align-items: center;
|
20
|
+
}
|
21
|
+
|
15
22
|
.PageHeader-titleBar {
|
16
23
|
display: flex;
|
17
24
|
flex-flow: row;
|
@@ -38,8 +45,9 @@
|
|
38
45
|
|
39
46
|
/* Add 1 or 2 buttons to the right of the heading */
|
40
47
|
.PageHeader-actions {
|
41
|
-
margin:
|
48
|
+
margin: 0 0 0 var(--base-size-4);
|
42
49
|
justify-content: flex-end;
|
50
|
+
display: flex;
|
43
51
|
|
44
52
|
& + .PageHeader-description {
|
45
53
|
margin-top: var(--base-size-4);
|
@@ -50,9 +58,19 @@
|
|
50
58
|
display: block;
|
51
59
|
width: 100%;
|
52
60
|
margin-bottom: var(--base-size-8);
|
61
|
+
padding-bottom: var(--base-size-4);
|
53
62
|
}
|
54
63
|
|
55
64
|
.PageHeader-backButton {
|
56
65
|
margin-top: 2px; /* to center align with label */
|
57
66
|
margin-right: var(--base-size-4);
|
58
67
|
}
|
68
|
+
|
69
|
+
.PageHeader-parentLink {
|
70
|
+
flex: 1 1 auto;
|
71
|
+
margin-bottom: var(--base-size-4);
|
72
|
+
}
|
73
|
+
|
74
|
+
.PageHeader-contextBarActions {
|
75
|
+
margin: 0 0 0 var(--base-size-4);
|
76
|
+
}
|
@@ -27,6 +27,11 @@ module Primer
|
|
27
27
|
"triangle-left"
|
28
28
|
].freeze
|
29
29
|
|
30
|
+
DEFAULT_BACK_BUTTON_DISPLAY = [:none, :flex].freeze
|
31
|
+
DEFAULT_BREADCRUMBS_DISPLAY = [:none, :flex].freeze
|
32
|
+
DEFAULT_PARENT_LINK_DISPLAY = [:block, :none].freeze
|
33
|
+
DEFAULT_CONTEXT_BAR_ACTIONS_DISPLAY = [:block, :none].freeze
|
34
|
+
|
30
35
|
status :open_project
|
31
36
|
|
32
37
|
# The title of the page header
|
@@ -64,7 +69,21 @@ module Primer
|
|
64
69
|
Primer::BaseComponent.new(**system_arguments)
|
65
70
|
}
|
66
71
|
|
72
|
+
# Context Bar Actions
|
73
|
+
# By default shown on narrow screens. Can be overridden with system_argument: display
|
74
|
+
#
|
75
|
+
# @param system_arguments [Hash] <%= link_to_system_arguments_docs %>
|
76
|
+
renders_one :context_bar_actions, lambda { |**system_arguments|
|
77
|
+
deny_tag_argument(**system_arguments)
|
78
|
+
system_arguments[:tag] = :div
|
79
|
+
system_arguments[:classes] = class_names(system_arguments[:classes], "PageHeader-contextBarActions")
|
80
|
+
system_arguments[:display] ||= DEFAULT_CONTEXT_BAR_ACTIONS_DISPLAY
|
81
|
+
|
82
|
+
Primer::BaseComponent.new(**system_arguments)
|
83
|
+
}
|
84
|
+
|
67
85
|
# Optional back button prepend the title
|
86
|
+
# By default shown on wider screens. Can be overridden with system_argument: display
|
68
87
|
#
|
69
88
|
# @param size [Symbol] <%= one_of(Primer::OpenProject::PageHeader::BACK_BUTTON_SIZE_OPTIONS) %>
|
70
89
|
# @param icon [String] <%= one_of(Primer::OpenProject::PageHeader::BACK_BUTTON_ICON_OPTIONS) %>
|
@@ -80,16 +99,35 @@ module Primer
|
|
80
99
|
system_arguments[:size] = fetch_or_fallback(BACK_BUTTON_SIZE_OPTIONS, size, DEFAULT_BACK_BUTTON_SIZE)
|
81
100
|
system_arguments[:icon] = fetch_or_fallback(BACK_BUTTON_ICON_OPTIONS, icon, DEFAULT_BACK_BUTTON_ICON)
|
82
101
|
system_arguments[:classes] = class_names(system_arguments[:classes], "PageHeader-backButton")
|
102
|
+
system_arguments[:display] ||= DEFAULT_BACK_BUTTON_DISPLAY
|
83
103
|
|
84
104
|
Primer::Beta::IconButton.new(**system_arguments)
|
85
105
|
}
|
86
106
|
|
107
|
+
# Optional parent link in the context area
|
108
|
+
# By default shown on narrow screens. Can be overridden with system_argument: display
|
109
|
+
#
|
110
|
+
# @param system_arguments [Hash] <%= link_to_system_arguments_docs %>
|
111
|
+
renders_one :parent_link, lambda { |icon: DEFAULT_BACK_BUTTON_ICON, **system_arguments, &block|
|
112
|
+
deny_tag_argument(**system_arguments)
|
113
|
+
system_arguments[:icon] = fetch_or_fallback(BACK_BUTTON_ICON_OPTIONS, icon, DEFAULT_BACK_BUTTON_ICON)
|
114
|
+
system_arguments[:classes] = class_names(system_arguments[:classes], "PageHeader-parentLink")
|
115
|
+
system_arguments[:display] ||= DEFAULT_PARENT_LINK_DISPLAY
|
116
|
+
|
117
|
+
render(Primer::Beta::Link.new(scheme: :primary, muted: true, **system_arguments)) do
|
118
|
+
render(Primer::Beta::Octicon.new(icon: "arrow-left", "aria-label": "aria_label", mr: 2)) + content_tag(:span, &block)
|
119
|
+
end
|
120
|
+
}
|
121
|
+
|
87
122
|
# Optional breadcrumbs above the title row
|
123
|
+
# By default shown on wider screens. Can be overridden with system_argument: display
|
88
124
|
#
|
89
125
|
# @param items [Array<String, Hash>] Items is an array of strings, hash {href, text} or an anchor tag string
|
90
126
|
# @param system_arguments [Hash] <%= link_to_system_arguments_docs %>
|
91
127
|
renders_one :breadcrumbs, lambda { |items, **system_arguments|
|
92
128
|
system_arguments[:classes] = class_names(system_arguments[:classes], "PageHeader-breadcrumbs")
|
129
|
+
system_arguments[:display] ||= DEFAULT_BREADCRUMBS_DISPLAY
|
130
|
+
|
93
131
|
render(Primer::Beta::Breadcrumbs.new(**system_arguments)) do |breadcrumbs|
|
94
132
|
items.each do |item|
|
95
133
|
item = anchor_string_to_object(item) if anchor_tag_string?(item)
|
@@ -0,0 +1,25 @@
|
|
1
|
+
<%= render(Primer::OpenProject::PageHeader.new) do |component| %>
|
2
|
+
<% component.with_title(tag: :h1) do %>
|
3
|
+
A title
|
4
|
+
<% end %>
|
5
|
+
<% component.with_description do %>
|
6
|
+
A description with actions
|
7
|
+
<% end %>
|
8
|
+
<% component.with_parent_link(href: "#") do %>
|
9
|
+
Parent link
|
10
|
+
<% end %>
|
11
|
+
<% component.with_context_bar_actions do %>
|
12
|
+
<%= render(Primer::Alpha::ActionMenu.new) do |component| %>
|
13
|
+
<% component.with_show_button { "Menu" } %>
|
14
|
+
<% component.with_item(label: "Item", tag: :button, value: "") %>
|
15
|
+
<% component.with_item(
|
16
|
+
label: "Show dialog",
|
17
|
+
tag: :button,
|
18
|
+
content_arguments: { "data-show-dialog-id": "my-dialog" },
|
19
|
+
value: "",
|
20
|
+
scheme: :danger
|
21
|
+
) %>
|
22
|
+
<% end %>
|
23
|
+
<% end %>
|
24
|
+
<% end %>
|
25
|
+
|
@@ -0,0 +1,32 @@
|
|
1
|
+
<%= render Primer::OpenProject::PageHeader.new do |header| %>
|
2
|
+
<%= header.with_title(variant: variant) { title } %>
|
3
|
+
<%= header.with_description { description } %>
|
4
|
+
<%= header.with_back_button(href: "#", size: back_button_size, 'aria-label': "Back") if with_back_button %>
|
5
|
+
<%= header.with_breadcrumbs(breadcrumb_items) if with_breadcrumbs %>
|
6
|
+
<%= header.with_parent_link(href: "#") { "Parent link" } if with_parent_link %>
|
7
|
+
<% if with_actions %>
|
8
|
+
<% header.with_actions do %>
|
9
|
+
<%= render(Primer::Alpha::ActionMenu.new) do |component| %>
|
10
|
+
<% component.with_show_button { "Menu" } %>
|
11
|
+
<% component.with_item(label: "Item", tag: :button, value: "") %>
|
12
|
+
<% component.with_item(
|
13
|
+
label: "Show dialog",
|
14
|
+
tag: :button,
|
15
|
+
content_arguments: { "data-show-dialog-id": "my-dialog" },
|
16
|
+
value: "",
|
17
|
+
scheme: :danger
|
18
|
+
) %>
|
19
|
+
<% end %>
|
20
|
+
<% end %>
|
21
|
+
<% end %>
|
22
|
+
<% if with_context_bar_actions %>
|
23
|
+
<% header.with_context_bar_actions do %>
|
24
|
+
<%= render(Primer::Beta::IconButton.new(
|
25
|
+
scheme: :default,
|
26
|
+
size: :small,
|
27
|
+
icon: "pencil",
|
28
|
+
"aria-label": "aria_label"
|
29
|
+
)) %>
|
30
|
+
<% end %>
|
31
|
+
<% end %>
|
32
|
+
<% end %>
|
@@ -21,22 +21,32 @@ module Primer
|
|
21
21
|
# @param with_back_button [Boolean]
|
22
22
|
# @param back_button_size [Symbol] select [small, medium, large]
|
23
23
|
# @param with_breadcrumbs [Boolean]
|
24
|
+
# @param with_actions [Boolean]
|
25
|
+
# @param with_context_bar_actions [Boolean]
|
26
|
+
# @param with_parent_link [Boolean]
|
24
27
|
def playground(
|
25
28
|
variant: :medium,
|
26
29
|
title: "Hello",
|
27
30
|
description: "Last updated 5 minutes ago by XYZ.",
|
28
31
|
with_back_button: false,
|
29
32
|
back_button_size: :medium,
|
30
|
-
with_breadcrumbs: false
|
33
|
+
with_breadcrumbs: false,
|
34
|
+
with_actions: false,
|
35
|
+
with_context_bar_actions: false,
|
36
|
+
with_parent_link: false
|
31
37
|
)
|
32
38
|
breadcrumb_items = [{ href: "/foo", text: "Foo" }, { href: "/bar", text: "Bar" }, "Baz"]
|
33
39
|
|
34
|
-
|
35
|
-
|
36
|
-
|
37
|
-
|
38
|
-
|
39
|
-
|
40
|
+
render_with_template(locals: { variant: variant,
|
41
|
+
title: title,
|
42
|
+
description: description,
|
43
|
+
with_back_button: with_back_button,
|
44
|
+
back_button_size: back_button_size,
|
45
|
+
with_breadcrumbs: with_breadcrumbs,
|
46
|
+
with_parent_link: with_parent_link,
|
47
|
+
with_actions: with_actions,
|
48
|
+
with_context_bar_actions: with_context_bar_actions,
|
49
|
+
breadcrumb_items: breadcrumb_items })
|
40
50
|
end
|
41
51
|
|
42
52
|
# @label Large
|
@@ -52,7 +62,11 @@ module Primer
|
|
52
62
|
render_with_template(locals: {})
|
53
63
|
end
|
54
64
|
|
55
|
-
# @label With back button
|
65
|
+
# @label With back button (on wide)
|
66
|
+
# **Back button** is only shown on **wider than narrow screens** by default.
|
67
|
+
# If you want to override that behaviour please use the system_argument: **display**
|
68
|
+
# e.g. **component.with\_breadcrumbs(display: [:block, :block])**
|
69
|
+
#
|
56
70
|
# @param href [String] text
|
57
71
|
# @param size [Symbol] select [small, medium, large]
|
58
72
|
# @param icon [String] select ["arrow-left", "chevron-left", "triangle-left"]
|
@@ -63,7 +77,11 @@ module Primer
|
|
63
77
|
end
|
64
78
|
end
|
65
79
|
|
66
|
-
# @label With breadcrumbs
|
80
|
+
# @label With breadcrumbs (on wide)
|
81
|
+
# **Breadcrumbs** are only shown on **wider than narrow screens** by default.
|
82
|
+
# If you want to override that behaviour please use the system_argument: **display**
|
83
|
+
# e.g. **component.with\_breadcrumbs(display: [:block, :block])**
|
84
|
+
#
|
67
85
|
def breadcrumbs
|
68
86
|
breadcrumb_items = [
|
69
87
|
{ href: "/foo", text: "Foo" },
|
@@ -75,6 +93,27 @@ module Primer
|
|
75
93
|
header.with_breadcrumbs(breadcrumb_items)
|
76
94
|
end
|
77
95
|
end
|
96
|
+
|
97
|
+
# @label With parent link (on narrow)
|
98
|
+
# **Parent link** is only shown on **narrow screens** by default.
|
99
|
+
# If you want to override that behaviour please use the system_argument: **display**
|
100
|
+
# e.g. **component.with\_parent\_link(display: [:block, :block])**
|
101
|
+
#
|
102
|
+
def parent_link
|
103
|
+
render(Primer::OpenProject::PageHeader.new) do |header|
|
104
|
+
header.with_title { "A title" }
|
105
|
+
header.with_parent_link(href: "test") { "Parent link" }
|
106
|
+
end
|
107
|
+
end
|
108
|
+
|
109
|
+
# @label With context bar actions (on narrow)
|
110
|
+
# **Context bar actions** are only shown on **narrow screens** by default.
|
111
|
+
# If you want to override that behaviour please use the system_argument: **display**
|
112
|
+
# e.g. **component.with\_context\_bar\_actions(display: [:block, :block])**
|
113
|
+
#
|
114
|
+
def context_bar_actions
|
115
|
+
render_with_template(locals: {})
|
116
|
+
end
|
78
117
|
end
|
79
118
|
end
|
80
119
|
end
|
data/static/classes.json
CHANGED
@@ -441,9 +441,18 @@
|
|
441
441
|
"PageHeader-breadcrumbs": [
|
442
442
|
"Primer::OpenProject::PageHeader"
|
443
443
|
],
|
444
|
+
"PageHeader-contextBar": [
|
445
|
+
"Primer::OpenProject::PageHeader"
|
446
|
+
],
|
447
|
+
"PageHeader-contextBarActions": [
|
448
|
+
"Primer::OpenProject::PageHeader"
|
449
|
+
],
|
444
450
|
"PageHeader-description": [
|
445
451
|
"Primer::OpenProject::PageHeader"
|
446
452
|
],
|
453
|
+
"PageHeader-parentLink": [
|
454
|
+
"Primer::OpenProject::PageHeader"
|
455
|
+
],
|
447
456
|
"PageHeader-title": [
|
448
457
|
"Primer::OpenProject::PageHeader"
|
449
458
|
],
|
data/static/constants.json
CHANGED
@@ -1370,9 +1370,25 @@
|
|
1370
1370
|
"medium",
|
1371
1371
|
"large"
|
1372
1372
|
],
|
1373
|
+
"DEFAULT_BACK_BUTTON_DISPLAY": [
|
1374
|
+
"none",
|
1375
|
+
"flex"
|
1376
|
+
],
|
1373
1377
|
"DEFAULT_BACK_BUTTON_ICON": "arrow-left",
|
1374
1378
|
"DEFAULT_BACK_BUTTON_SIZE": "medium",
|
1379
|
+
"DEFAULT_BREADCRUMBS_DISPLAY": [
|
1380
|
+
"none",
|
1381
|
+
"flex"
|
1382
|
+
],
|
1383
|
+
"DEFAULT_CONTEXT_BAR_ACTIONS_DISPLAY": [
|
1384
|
+
"block",
|
1385
|
+
"none"
|
1386
|
+
],
|
1375
1387
|
"DEFAULT_HEADER_VARIANT": "medium",
|
1388
|
+
"DEFAULT_PARENT_LINK_DISPLAY": [
|
1389
|
+
"block",
|
1390
|
+
"none"
|
1391
|
+
],
|
1376
1392
|
"HEADER_VARIANT_OPTIONS": [
|
1377
1393
|
"large",
|
1378
1394
|
"medium"
|
data/static/info_arch.json
CHANGED
@@ -15473,9 +15473,21 @@
|
|
15473
15473
|
}
|
15474
15474
|
]
|
15475
15475
|
},
|
15476
|
+
{
|
15477
|
+
"name": "context_bar_actions",
|
15478
|
+
"description": "Context Bar Actions\nBy default shown on narrow screens. Can be overridden with system_argument: display",
|
15479
|
+
"parameters": [
|
15480
|
+
{
|
15481
|
+
"name": "system_arguments",
|
15482
|
+
"type": "Hash",
|
15483
|
+
"default": "N/A",
|
15484
|
+
"description": "{{link_to_system_arguments_docs}}"
|
15485
|
+
}
|
15486
|
+
]
|
15487
|
+
},
|
15476
15488
|
{
|
15477
15489
|
"name": "back_button",
|
15478
|
-
"description": "Optional back button prepend the title",
|
15490
|
+
"description": "Optional back button prepend the title\nBy default shown on wider screens. Can be overridden with system_argument: display",
|
15479
15491
|
"parameters": [
|
15480
15492
|
{
|
15481
15493
|
"name": "size",
|
@@ -15497,9 +15509,21 @@
|
|
15497
15509
|
}
|
15498
15510
|
]
|
15499
15511
|
},
|
15512
|
+
{
|
15513
|
+
"name": "parent_link",
|
15514
|
+
"description": "Optional parent link in the context area\nBy default shown on narrow screens. Can be overridden with system_argument: display",
|
15515
|
+
"parameters": [
|
15516
|
+
{
|
15517
|
+
"name": "system_arguments",
|
15518
|
+
"type": "Hash",
|
15519
|
+
"default": "N/A",
|
15520
|
+
"description": "{{link_to_system_arguments_docs}}"
|
15521
|
+
}
|
15522
|
+
]
|
15523
|
+
},
|
15500
15524
|
{
|
15501
15525
|
"name": "breadcrumbs",
|
15502
|
-
"description": "Optional breadcrumbs above the title row",
|
15526
|
+
"description": "Optional breadcrumbs above the title row\nBy default shown on wider screens. Can be overridden with system_argument: display",
|
15503
15527
|
"parameters": [
|
15504
15528
|
{
|
15505
15529
|
"name": "items",
|
@@ -15610,6 +15634,32 @@
|
|
15610
15634
|
"color-contrast"
|
15611
15635
|
]
|
15612
15636
|
}
|
15637
|
+
},
|
15638
|
+
{
|
15639
|
+
"preview_path": "primer/open_project/page_header/parent_link",
|
15640
|
+
"name": "parent_link",
|
15641
|
+
"snapshot": "false",
|
15642
|
+
"skip_rules": {
|
15643
|
+
"wont_fix": [
|
15644
|
+
"region"
|
15645
|
+
],
|
15646
|
+
"will_fix": [
|
15647
|
+
"color-contrast"
|
15648
|
+
]
|
15649
|
+
}
|
15650
|
+
},
|
15651
|
+
{
|
15652
|
+
"preview_path": "primer/open_project/page_header/context_bar_actions",
|
15653
|
+
"name": "context_bar_actions",
|
15654
|
+
"snapshot": "false",
|
15655
|
+
"skip_rules": {
|
15656
|
+
"wont_fix": [
|
15657
|
+
"region"
|
15658
|
+
],
|
15659
|
+
"will_fix": [
|
15660
|
+
"color-contrast"
|
15661
|
+
]
|
15662
|
+
}
|
15613
15663
|
}
|
15614
15664
|
],
|
15615
15665
|
"subcomponents": [
|
data/static/previews.json
CHANGED
@@ -4781,6 +4781,32 @@
|
|
4781
4781
|
"color-contrast"
|
4782
4782
|
]
|
4783
4783
|
}
|
4784
|
+
},
|
4785
|
+
{
|
4786
|
+
"preview_path": "primer/open_project/page_header/parent_link",
|
4787
|
+
"name": "parent_link",
|
4788
|
+
"snapshot": "false",
|
4789
|
+
"skip_rules": {
|
4790
|
+
"wont_fix": [
|
4791
|
+
"region"
|
4792
|
+
],
|
4793
|
+
"will_fix": [
|
4794
|
+
"color-contrast"
|
4795
|
+
]
|
4796
|
+
}
|
4797
|
+
},
|
4798
|
+
{
|
4799
|
+
"preview_path": "primer/open_project/page_header/context_bar_actions",
|
4800
|
+
"name": "context_bar_actions",
|
4801
|
+
"snapshot": "false",
|
4802
|
+
"skip_rules": {
|
4803
|
+
"wont_fix": [
|
4804
|
+
"region"
|
4805
|
+
],
|
4806
|
+
"will_fix": [
|
4807
|
+
"color-contrast"
|
4808
|
+
]
|
4809
|
+
}
|
4784
4810
|
}
|
4785
4811
|
]
|
4786
4812
|
},
|
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.16.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: 2023-11-
|
12
|
+
date: 2023-11-17 00:00:00.000000000 Z
|
13
13
|
dependencies:
|
14
14
|
- !ruby/object:Gem::Dependency
|
15
15
|
name: actionview
|
@@ -852,6 +852,8 @@ files:
|
|
852
852
|
- previews/primer/open_project/grid_layout_preview.rb
|
853
853
|
- previews/primer/open_project/page_header_preview.rb
|
854
854
|
- previews/primer/open_project/page_header_preview/actions.html.erb
|
855
|
+
- previews/primer/open_project/page_header_preview/context_bar_actions.html.erb
|
856
|
+
- previews/primer/open_project/page_header_preview/playground.html.erb
|
855
857
|
- previews/primer/url_helpers.rb
|
856
858
|
- static/arguments.json
|
857
859
|
- static/assets/view-components.svg
|