openproject-primer_view_components 0.26.0 → 0.28.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 +20 -0
- data/app/assets/javascripts/app/components/primer/open_project/zen_mode_button.d.ts +13 -0
- data/app/assets/javascripts/app/components/primer/primer.d.ts +1 -0
- data/app/assets/javascripts/primer_view_components.js +1 -1
- data/app/assets/javascripts/primer_view_components.js.map +1 -1
- data/app/components/primer/open_project/page_header/dialog.rb +38 -0
- data/app/components/primer/open_project/page_header/menu.rb +38 -0
- data/app/components/primer/open_project/page_header.rb +29 -28
- data/app/components/primer/open_project/zen_mode_button.d.ts +13 -0
- data/app/components/primer/open_project/zen_mode_button.html.erb +11 -0
- data/app/components/primer/open_project/zen_mode_button.js +45 -0
- data/app/components/primer/open_project/zen_mode_button.rb +26 -0
- data/app/components/primer/open_project/zen_mode_button.ts +42 -0
- data/app/components/primer/primer.d.ts +1 -0
- data/app/components/primer/primer.js +1 -0
- data/app/components/primer/primer.ts +1 -0
- data/lib/primer/view_components/version.rb +1 -1
- data/previews/primer/open_project/page_header_preview/actions.html.erb +0 -8
- data/previews/primer/open_project/page_header_preview.rb +64 -0
- data/previews/primer/open_project/zen_mode_button_preview.rb +22 -0
- data/static/arguments.json +42 -4
- data/static/audited_at.json +3 -1
- data/static/constants.json +9 -2
- data/static/info_arch.json +144 -6
- data/static/previews.json +73 -0
- data/static/statuses.json +3 -1
- metadata +11 -2
@@ -0,0 +1,38 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
module Primer
|
4
|
+
module OpenProject
|
5
|
+
class PageHeader
|
6
|
+
# A Helper class to create ActionMenus inside the PageHeader action slot
|
7
|
+
# Do not use standalone
|
8
|
+
class Dialog < Primer::Component
|
9
|
+
status :open_project
|
10
|
+
|
11
|
+
# @param dialog_arguments [Hash] The arguments accepted by <%= link_to_component(Primer::Alpha::Dialog) %>.
|
12
|
+
# @param button_arguments [Hash] The arguments accepted by <%= link_to_component(Primer::Beta::Button) %> or <%= link_to_component(Primer::Beta::IconButton) %>, depending on the value of the `icon:` argument.
|
13
|
+
def initialize(dialog_arguments: {}, button_arguments: {})
|
14
|
+
callback = button_arguments.delete(:button_block)
|
15
|
+
|
16
|
+
@dialog = Primer::Alpha::Dialog.new(**dialog_arguments)
|
17
|
+
@button = @dialog.with_show_button(**button_arguments) do |button|
|
18
|
+
callback&.call(button)
|
19
|
+
end
|
20
|
+
end
|
21
|
+
|
22
|
+
def render_in(view_context, &block)
|
23
|
+
super(view_context) do
|
24
|
+
block&.call(@dialog, @button)
|
25
|
+
end
|
26
|
+
end
|
27
|
+
|
28
|
+
def before_render
|
29
|
+
content
|
30
|
+
end
|
31
|
+
|
32
|
+
def call
|
33
|
+
render(@dialog)
|
34
|
+
end
|
35
|
+
end
|
36
|
+
end
|
37
|
+
end
|
38
|
+
end
|
@@ -0,0 +1,38 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
module Primer
|
4
|
+
module OpenProject
|
5
|
+
class PageHeader
|
6
|
+
# A Helper class to create ActionMenus inside the PageHeader action slot
|
7
|
+
# It should not be used standalone
|
8
|
+
class Menu < Primer::Component
|
9
|
+
status :open_project
|
10
|
+
|
11
|
+
# @param menu_arguments [Hash] The arguments accepted by <%= link_to_component(Primer::Alpha::ActionMenu) %>.
|
12
|
+
# @param button_arguments [Hash] The arguments accepted by <%= link_to_component(Primer::Beta::Button) %> or <%= link_to_component(Primer::Beta::IconButton) %>, depending on the value of the `icon:` argument.
|
13
|
+
def initialize(menu_arguments: {}, button_arguments: {})
|
14
|
+
callback = button_arguments.delete(:button_block)
|
15
|
+
|
16
|
+
@menu = Primer::Alpha::ActionMenu.new(**menu_arguments)
|
17
|
+
@button = @menu.with_show_button(**button_arguments) do |button|
|
18
|
+
callback&.call(button)
|
19
|
+
end
|
20
|
+
end
|
21
|
+
|
22
|
+
def render_in(view_context, &block)
|
23
|
+
super(view_context) do
|
24
|
+
block&.call(@menu, @button)
|
25
|
+
end
|
26
|
+
end
|
27
|
+
|
28
|
+
def before_render
|
29
|
+
content
|
30
|
+
end
|
31
|
+
|
32
|
+
def call
|
33
|
+
render(@menu)
|
34
|
+
end
|
35
|
+
end
|
36
|
+
end
|
37
|
+
end
|
38
|
+
end
|
@@ -71,8 +71,18 @@ module Primer
|
|
71
71
|
|
72
72
|
Primer::Beta::Button.new(**system_arguments)
|
73
73
|
},
|
74
|
+
zen_mode_button: lambda { |mobile_icon: Primer::OpenProject::ZenModeButton::ZEN_MODE_BUTTON_ICON, mobile_label: Primer::OpenProject::ZenModeButton::ZEN_MODE_BUTTON_LABEL, **system_arguments|
|
75
|
+
deny_tag_argument(**system_arguments)
|
76
|
+
system_arguments = set_action_arguments(system_arguments, scheme: DEFAULT_ACTION_SCHEME)
|
77
|
+
add_option_to_mobile_menu(system_arguments, mobile_icon, mobile_label, DEFAULT_ACTION_SCHEME)
|
78
|
+
|
79
|
+
Primer::OpenProject::ZenModeButton.new(**system_arguments)
|
80
|
+
},
|
81
|
+
|
74
82
|
link: lambda { |mobile_icon:, mobile_label:, scheme: DEFAULT_ACTION_SCHEME, **system_arguments|
|
75
83
|
deny_tag_argument(**system_arguments)
|
84
|
+
system_arguments[:target] ||= "_top"
|
85
|
+
|
76
86
|
system_arguments = set_action_arguments(system_arguments, scheme: scheme)
|
77
87
|
add_option_to_mobile_menu(system_arguments, mobile_icon, mobile_label, scheme)
|
78
88
|
|
@@ -97,7 +107,20 @@ module Primer
|
|
97
107
|
# Add the options individually to the mobile menu in the template
|
98
108
|
@desktop_menu_block = block
|
99
109
|
|
100
|
-
|
110
|
+
Primer::OpenProject::PageHeader::Menu.new(**system_arguments)
|
111
|
+
},
|
112
|
+
},
|
113
|
+
dialog: {
|
114
|
+
renders: lambda { |mobile_icon:, mobile_label:, **system_arguments|
|
115
|
+
deny_tag_argument(**system_arguments)
|
116
|
+
|
117
|
+
# The id will be automatically calculated for the trigger button, so we have to behave the same, for the mobile click to work
|
118
|
+
system_arguments[:button_arguments][:id] = "dialog-show-#{system_arguments[:dialog_arguments][:id]}"
|
119
|
+
|
120
|
+
system_arguments[:button_arguments] = set_action_arguments(system_arguments[:button_arguments])
|
121
|
+
add_option_to_mobile_menu(system_arguments[:button_arguments], mobile_icon, mobile_label, :default)
|
122
|
+
|
123
|
+
Primer::OpenProject::PageHeader::Dialog.new(**system_arguments)
|
101
124
|
},
|
102
125
|
},
|
103
126
|
}
|
@@ -138,6 +161,8 @@ module Primer
|
|
138
161
|
|
139
162
|
link_arguments[:icon] = fetch_or_fallback(BACK_BUTTON_ICON_OPTIONS, DEFAULT_BACK_BUTTON_ICON)
|
140
163
|
link_arguments[:href] = parsed_parent_item[:href]
|
164
|
+
link_arguments[:target] = "_top"
|
165
|
+
|
141
166
|
link_arguments[:classes] = class_names(link_arguments[:classes], "PageHeader-parentLink")
|
142
167
|
link_arguments[:display] ||= DEFAULT_PARENT_LINK_DISPLAY
|
143
168
|
|
@@ -156,7 +181,7 @@ module Primer
|
|
156
181
|
if item.is_a?(String)
|
157
182
|
breadcrumbs.with_item(href: "#") { item }
|
158
183
|
else
|
159
|
-
breadcrumbs.with_item(href: item[:href]) { item[:text] }
|
184
|
+
breadcrumbs.with_item(href: item[:href], target: "_top") { item[:text] }
|
160
185
|
end
|
161
186
|
end
|
162
187
|
end
|
@@ -183,6 +208,8 @@ module Primer
|
|
183
208
|
|
184
209
|
def render?
|
185
210
|
raise ArgumentError, "PageHeader needs a title and a breadcrumb. Please use the `with_title` and `with_breadcrumbs` slot" unless breadcrumbs? || Rails.env.production?
|
211
|
+
raise ArgumentError, "PageHeader allows only a maximum of 5 actions" if actions.count > 5
|
212
|
+
|
186
213
|
title? && breadcrumbs?
|
187
214
|
end
|
188
215
|
|
@@ -253,32 +280,6 @@ module Primer
|
|
253
280
|
def anchor_tag_string?(item)
|
254
281
|
item.is_a?(String) && item.start_with?("\u003c")
|
255
282
|
end
|
256
|
-
|
257
|
-
# A Helper class to create ActionMenus inside the PageHeader action slot
|
258
|
-
class PageHeaderActionMenu < Primer::Component
|
259
|
-
status :open_project
|
260
|
-
|
261
|
-
# @param menu_arguments [Hash] The arguments accepted by <%= link_to_component(Primer::Alpha::ActionMenu) %>.
|
262
|
-
# @param button_arguments [Hash] The arguments accepted by <%= link_to_component(Primer::Beta::Button) %> or <%= link_to_component(Primer::Beta::IconButton) %>, depending on the value of the `icon:` argument.
|
263
|
-
def initialize(menu_arguments: {}, button_arguments: {})
|
264
|
-
@menu = Primer::Alpha::ActionMenu.new(**menu_arguments)
|
265
|
-
@button = @menu.with_show_button(icon: "triangle-down", **button_arguments)
|
266
|
-
end
|
267
|
-
|
268
|
-
def render_in(view_context, &block)
|
269
|
-
super(view_context) do
|
270
|
-
block.call(@menu, @button)
|
271
|
-
end
|
272
|
-
end
|
273
|
-
|
274
|
-
def before_render
|
275
|
-
content
|
276
|
-
end
|
277
|
-
|
278
|
-
def call
|
279
|
-
render(@menu)
|
280
|
-
end
|
281
|
-
end
|
282
283
|
end
|
283
284
|
end
|
284
285
|
end
|
@@ -0,0 +1,13 @@
|
|
1
|
+
declare class ZenModeButtonElement extends HTMLElement {
|
2
|
+
button: HTMLElement;
|
3
|
+
inZenMode: boolean;
|
4
|
+
private deactivateZenMode;
|
5
|
+
private activateZenMode;
|
6
|
+
performAction(): void;
|
7
|
+
}
|
8
|
+
declare global {
|
9
|
+
interface Window {
|
10
|
+
ZenModeButtonElement: typeof ZenModeButtonElement;
|
11
|
+
}
|
12
|
+
}
|
13
|
+
export {};
|
@@ -0,0 +1,11 @@
|
|
1
|
+
<%= render(Primer::BaseComponent.new(**@system_arguments)) do %>
|
2
|
+
<%= render(
|
3
|
+
Primer::Beta::IconButton.new(
|
4
|
+
scheme: :default,
|
5
|
+
id: "zenModeButton",
|
6
|
+
icon: ZEN_MODE_BUTTON_ICON,
|
7
|
+
aria: { label: ZEN_MODE_BUTTON_LABEL },
|
8
|
+
data: { target: "zen-mode-button.button", action: "click:zen-mode-button#performAction" }
|
9
|
+
)
|
10
|
+
) %>
|
11
|
+
<% end %>
|
@@ -0,0 +1,45 @@
|
|
1
|
+
var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
|
2
|
+
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
3
|
+
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
|
4
|
+
else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
|
5
|
+
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
6
|
+
};
|
7
|
+
import { controller, target } from '@github/catalyst';
|
8
|
+
let ZenModeButtonElement = class ZenModeButtonElement extends HTMLElement {
|
9
|
+
constructor() {
|
10
|
+
super(...arguments);
|
11
|
+
this.inZenMode = false;
|
12
|
+
}
|
13
|
+
deactivateZenMode() {
|
14
|
+
this.inZenMode = false;
|
15
|
+
this.button.setAttribute('aria-pressed', 'false');
|
16
|
+
if (document.exitFullscreen) {
|
17
|
+
void document.exitFullscreen();
|
18
|
+
}
|
19
|
+
}
|
20
|
+
activateZenMode() {
|
21
|
+
this.inZenMode = true;
|
22
|
+
this.button.setAttribute('aria-pressed', 'true');
|
23
|
+
if (document.documentElement.requestFullscreen) {
|
24
|
+
void document.documentElement.requestFullscreen();
|
25
|
+
}
|
26
|
+
}
|
27
|
+
performAction() {
|
28
|
+
if (this.inZenMode) {
|
29
|
+
this.deactivateZenMode();
|
30
|
+
}
|
31
|
+
else {
|
32
|
+
this.activateZenMode();
|
33
|
+
}
|
34
|
+
}
|
35
|
+
};
|
36
|
+
__decorate([
|
37
|
+
target
|
38
|
+
], ZenModeButtonElement.prototype, "button", void 0);
|
39
|
+
ZenModeButtonElement = __decorate([
|
40
|
+
controller
|
41
|
+
], ZenModeButtonElement);
|
42
|
+
if (!window.customElements.get('zen-mode-button')) {
|
43
|
+
window.ZenModeButtonElement = ZenModeButtonElement;
|
44
|
+
window.customElements.define('zen-mode-button', ZenModeButtonElement);
|
45
|
+
}
|
@@ -0,0 +1,26 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
module Primer
|
4
|
+
module OpenProject
|
5
|
+
# Add a general description of component here
|
6
|
+
# Add additional usage considerations or best practices that may aid the user to use the component correctly.
|
7
|
+
# @accessibility Add any accessibility considerations
|
8
|
+
class ZenModeButton < Primer::Component
|
9
|
+
status :open_project
|
10
|
+
|
11
|
+
ZEN_MODE_BUTTON_LABEL = I18n.t("label_zen_mode")
|
12
|
+
ZEN_MODE_BUTTON_ICON = "screen-full"
|
13
|
+
|
14
|
+
# @param system_arguments [Hash] <%= link_to_system_arguments_docs %>
|
15
|
+
def initialize(**system_arguments)
|
16
|
+
@system_arguments = system_arguments
|
17
|
+
@system_arguments[:tag] = "zen-mode-button"
|
18
|
+
@system_arguments[:classes] =
|
19
|
+
class_names(
|
20
|
+
@system_arguments[:classes],
|
21
|
+
"ZenModeButton"
|
22
|
+
)
|
23
|
+
end
|
24
|
+
end
|
25
|
+
end
|
26
|
+
end
|
@@ -0,0 +1,42 @@
|
|
1
|
+
import {controller, target} from '@github/catalyst'
|
2
|
+
|
3
|
+
@controller
|
4
|
+
class ZenModeButtonElement extends HTMLElement {
|
5
|
+
@target button: HTMLElement
|
6
|
+
inZenMode = false
|
7
|
+
|
8
|
+
private deactivateZenMode() {
|
9
|
+
this.inZenMode = false
|
10
|
+
this.button.setAttribute('aria-pressed', 'false')
|
11
|
+
if (document.exitFullscreen) {
|
12
|
+
void document.exitFullscreen()
|
13
|
+
}
|
14
|
+
}
|
15
|
+
|
16
|
+
private activateZenMode() {
|
17
|
+
this.inZenMode = true
|
18
|
+
this.button.setAttribute('aria-pressed', 'true')
|
19
|
+
if (document.documentElement.requestFullscreen) {
|
20
|
+
void document.documentElement.requestFullscreen()
|
21
|
+
}
|
22
|
+
}
|
23
|
+
|
24
|
+
public performAction() {
|
25
|
+
if (this.inZenMode) {
|
26
|
+
this.deactivateZenMode()
|
27
|
+
} else {
|
28
|
+
this.activateZenMode()
|
29
|
+
}
|
30
|
+
}
|
31
|
+
}
|
32
|
+
|
33
|
+
declare global {
|
34
|
+
interface Window {
|
35
|
+
ZenModeButtonElement: typeof ZenModeButtonElement
|
36
|
+
}
|
37
|
+
}
|
38
|
+
|
39
|
+
if (!window.customElements.get('zen-mode-button')) {
|
40
|
+
window.ZenModeButtonElement = ZenModeButtonElement
|
41
|
+
window.customElements.define('zen-mode-button', ZenModeButtonElement)
|
42
|
+
}
|
@@ -14,12 +14,4 @@
|
|
14
14
|
<% end %>
|
15
15
|
<% component.with_action_button(mobile_icon: nil, mobile_label: nil) { "Hide on mobile" } %>
|
16
16
|
<% component.with_action_icon_button(icon: "trash", mobile_icon: "trash", label: "Delete", scheme: :danger) %>
|
17
|
-
<% component.with_action_menu(menu_arguments: { anchor_align: :end }, button_arguments: { icon: "op-kebab-vertical", "aria-label": "Some actions" }) do |menu, button| %>
|
18
|
-
<% menu.with_item(label: "Subitem 1") do |item| %>
|
19
|
-
<% item.with_leading_visual_icon(icon: :paste) %>
|
20
|
-
<% end %>
|
21
|
-
<% menu.with_item(label: "Subitem 2") do |item| %>
|
22
|
-
<% item.with_leading_visual_icon(icon: :log) %>
|
23
|
-
<% end %>
|
24
|
-
<% end %>
|
25
17
|
<% end %>
|
@@ -56,6 +56,70 @@ module Primer
|
|
56
56
|
render_with_template(locals: {})
|
57
57
|
end
|
58
58
|
|
59
|
+
# @label With a menu inside the actions
|
60
|
+
def menu_actions
|
61
|
+
callback = lambda do |button|
|
62
|
+
button.with_leading_visual_icon(icon: :alert)
|
63
|
+
"Click me"
|
64
|
+
end
|
65
|
+
|
66
|
+
render(Primer::OpenProject::PageHeader.new) do |component|
|
67
|
+
component.with_title { "Great news" }
|
68
|
+
component.with_breadcrumbs([{ href: "/foo", text: "Foo" }, { href: "/bar", text: "Bar" }, "Baz"])
|
69
|
+
|
70
|
+
component.with_action_button(mobile_icon: "star", mobile_label: "Star") do |button|
|
71
|
+
button.with_leading_visual_icon(icon: "star")
|
72
|
+
"Star"
|
73
|
+
end
|
74
|
+
component.with_action_menu(menu_arguments: { anchor_align: :end },
|
75
|
+
button_arguments: { button_block: callback }) do |menu|
|
76
|
+
menu.with_item(label: "Subitem 1") do |item|
|
77
|
+
item.with_leading_visual_icon(icon: :paste)
|
78
|
+
end
|
79
|
+
menu.with_item(label: "Subitem 2") do |item|
|
80
|
+
item.with_leading_visual_icon(icon: :log)
|
81
|
+
end
|
82
|
+
end
|
83
|
+
end
|
84
|
+
end
|
85
|
+
|
86
|
+
# @label With a dialog inside the actions
|
87
|
+
def dialog_actions
|
88
|
+
callback = lambda do |button|
|
89
|
+
button.with_leading_visual_icon(icon: :plus)
|
90
|
+
"Open dialog"
|
91
|
+
end
|
92
|
+
|
93
|
+
render(Primer::OpenProject::PageHeader.new) do |component|
|
94
|
+
component.with_title { "Great news" }
|
95
|
+
component.with_breadcrumbs([{ href: "/foo", text: "Foo" }, { href: "/bar", text: "Bar" }, "Baz"])
|
96
|
+
|
97
|
+
component.with_action_icon_button(icon: :trash, mobile_icon: :trash, label: "Delete", scheme: :danger)
|
98
|
+
|
99
|
+
component.with_action_dialog(mobile_icon: :plus, mobile_label: "Open dialog",
|
100
|
+
dialog_arguments: { id: "my_dialog", title: "A great dialog" },
|
101
|
+
button_arguments: { button_block: callback }) do |d|
|
102
|
+
d.with_body { "Hello" }
|
103
|
+
end
|
104
|
+
end
|
105
|
+
end
|
106
|
+
|
107
|
+
# @label With a ZenModeButton inside the actions
|
108
|
+
# The missing label will be resolved automatically when included into the core
|
109
|
+
def zen_mode_button_actions
|
110
|
+
render(Primer::OpenProject::PageHeader.new) do |component|
|
111
|
+
component.with_title { "Great news" }
|
112
|
+
component.with_breadcrumbs([{ href: "/foo", text: "Foo" }, { href: "/bar", text: "Bar" }, "Baz"])
|
113
|
+
|
114
|
+
# The missing label will be resolved automatically when included into the core
|
115
|
+
component.with_action_zen_mode_button
|
116
|
+
component.with_action_button(mobile_icon: "plus", mobile_label: "Meeting", scheme: :primary) do |button|
|
117
|
+
button.with_leading_visual_icon(icon: "plus")
|
118
|
+
"Meeting"
|
119
|
+
end
|
120
|
+
end
|
121
|
+
end
|
122
|
+
|
59
123
|
# @label With leading action (on wide)
|
60
124
|
# **Leading action** is only shown on **wide screens** by default.
|
61
125
|
# If you want to override that behaviour please use the system_argument: **display**
|
@@ -0,0 +1,22 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
# Setup Playground to use all available component props
|
4
|
+
# Setup Features to use individual component props and combinations
|
5
|
+
|
6
|
+
module Primer
|
7
|
+
module OpenProject
|
8
|
+
# @label ZenModeButton
|
9
|
+
class ZenModeButtonPreview < ViewComponent::Preview
|
10
|
+
# @label Default
|
11
|
+
# @snapshot
|
12
|
+
def default
|
13
|
+
render(Primer::OpenProject::ZenModeButton.new)
|
14
|
+
end
|
15
|
+
|
16
|
+
# @label Playground
|
17
|
+
def playground
|
18
|
+
render(Primer::OpenProject::ZenModeButton.new)
|
19
|
+
end
|
20
|
+
end
|
21
|
+
end
|
22
|
+
end
|
data/static/arguments.json
CHANGED
@@ -4974,12 +4974,34 @@
|
|
4974
4974
|
]
|
4975
4975
|
},
|
4976
4976
|
{
|
4977
|
-
"component": "OpenProject::PageHeader::
|
4977
|
+
"component": "OpenProject::PageHeader::Dialog",
|
4978
4978
|
"status": "open_project",
|
4979
4979
|
"a11y_reviewed": false,
|
4980
|
-
"short_name": "
|
4981
|
-
"source": "https://github.com/primer/view_components/tree/main/app/components/primer/open_project/page_header/
|
4982
|
-
"lookbook": "https://primer.style/view-components/lookbook/inspect/primer/open_project/page_header/
|
4980
|
+
"short_name": "OpenProjectPageHeaderDialog",
|
4981
|
+
"source": "https://github.com/primer/view_components/tree/main/app/components/primer/open_project/page_header/dialog.rb",
|
4982
|
+
"lookbook": "https://primer.style/view-components/lookbook/inspect/primer/open_project/page_header/dialog/default/",
|
4983
|
+
"parameters": [
|
4984
|
+
{
|
4985
|
+
"name": "dialog_arguments",
|
4986
|
+
"type": "Hash",
|
4987
|
+
"default": "`{}`",
|
4988
|
+
"description": "The arguments accepted by [Dialog](/components/alpha/dialog)."
|
4989
|
+
},
|
4990
|
+
{
|
4991
|
+
"name": "button_arguments",
|
4992
|
+
"type": "Hash",
|
4993
|
+
"default": "`{}`",
|
4994
|
+
"description": "The arguments accepted by [Button](/components/beta/button) or [IconButton](/components/beta/iconbutton), depending on the value of the `icon:` argument."
|
4995
|
+
}
|
4996
|
+
]
|
4997
|
+
},
|
4998
|
+
{
|
4999
|
+
"component": "OpenProject::PageHeader::Menu",
|
5000
|
+
"status": "open_project",
|
5001
|
+
"a11y_reviewed": false,
|
5002
|
+
"short_name": "OpenProjectPageHeaderMenu",
|
5003
|
+
"source": "https://github.com/primer/view_components/tree/main/app/components/primer/open_project/page_header/menu.rb",
|
5004
|
+
"lookbook": "https://primer.style/view-components/lookbook/inspect/primer/open_project/page_header/menu/default/",
|
4983
5005
|
"parameters": [
|
4984
5006
|
{
|
4985
5007
|
"name": "menu_arguments",
|
@@ -4995,6 +5017,22 @@
|
|
4995
5017
|
}
|
4996
5018
|
]
|
4997
5019
|
},
|
5020
|
+
{
|
5021
|
+
"component": "OpenProject::ZenModeButton",
|
5022
|
+
"status": "open_project",
|
5023
|
+
"a11y_reviewed": false,
|
5024
|
+
"short_name": "OpenProjectZenModeButton",
|
5025
|
+
"source": "https://github.com/primer/view_components/tree/main/app/components/primer/open_project/zen_mode_button.rb",
|
5026
|
+
"lookbook": "https://primer.style/view-components/lookbook/inspect/primer/open_project/zen_mode_button/default/",
|
5027
|
+
"parameters": [
|
5028
|
+
{
|
5029
|
+
"name": "system_arguments",
|
5030
|
+
"type": "Hash",
|
5031
|
+
"default": "N/A",
|
5032
|
+
"description": "[System arguments](/system-arguments)"
|
5033
|
+
}
|
5034
|
+
]
|
5035
|
+
},
|
4998
5036
|
{
|
4999
5037
|
"component": "Tooltip",
|
5000
5038
|
"status": "deprecated",
|
data/static/audited_at.json
CHANGED
@@ -121,7 +121,9 @@
|
|
121
121
|
"Primer::OpenProject::GridLayout::Area": "",
|
122
122
|
"Primer::OpenProject::InputGroup": "",
|
123
123
|
"Primer::OpenProject::PageHeader": "",
|
124
|
-
"Primer::OpenProject::PageHeader::
|
124
|
+
"Primer::OpenProject::PageHeader::Dialog": "",
|
125
|
+
"Primer::OpenProject::PageHeader::Menu": "",
|
126
|
+
"Primer::OpenProject::ZenModeButton": "",
|
125
127
|
"Primer::Tooltip": "",
|
126
128
|
"Primer::Truncate": ""
|
127
129
|
}
|
data/static/constants.json
CHANGED
@@ -1449,6 +1449,7 @@
|
|
1449
1449
|
"block",
|
1450
1450
|
"none"
|
1451
1451
|
],
|
1452
|
+
"Dialog": "Primer::OpenProject::PageHeader::Dialog",
|
1452
1453
|
"HEADER_VARIANT_OPTIONS": [
|
1453
1454
|
"medium",
|
1454
1455
|
"large"
|
@@ -1466,9 +1467,15 @@
|
|
1466
1467
|
"flex",
|
1467
1468
|
"none"
|
1468
1469
|
],
|
1469
|
-
"
|
1470
|
+
"Menu": "Primer::OpenProject::PageHeader::Menu"
|
1470
1471
|
},
|
1471
|
-
"Primer::OpenProject::PageHeader::
|
1472
|
+
"Primer::OpenProject::PageHeader::Dialog": {
|
1473
|
+
},
|
1474
|
+
"Primer::OpenProject::PageHeader::Menu": {
|
1475
|
+
},
|
1476
|
+
"Primer::OpenProject::ZenModeButton": {
|
1477
|
+
"ZEN_MODE_BUTTON_ICON": "screen-full",
|
1478
|
+
"ZEN_MODE_BUTTON_LABEL": "Translation missing: en.label_zen_mode"
|
1472
1479
|
},
|
1473
1480
|
"Primer::Tooltip": {
|
1474
1481
|
"ALIGN_DEFAULT": "default",
|