openproject-primer_view_components 0.25.1 → 0.27.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.
Files changed (52) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +26 -0
  3. data/app/assets/javascripts/app/components/primer/open_project/zen_mode_button.d.ts +13 -0
  4. data/app/assets/javascripts/app/components/primer/primer.d.ts +1 -0
  5. data/app/assets/javascripts/primer_view_components.js +1 -1
  6. data/app/assets/javascripts/primer_view_components.js.map +1 -1
  7. data/app/assets/styles/primer_view_components.css +1 -1
  8. data/app/assets/styles/primer_view_components.css.map +1 -1
  9. data/app/components/primer/alpha/action_list/item.rb +1 -1
  10. data/app/components/primer/alpha/action_list.js +15 -12
  11. data/app/components/primer/alpha/action_list.ts +12 -9
  12. data/app/components/primer/alpha/dialog.css +1 -1
  13. data/app/components/primer/alpha/dialog.css.json +1 -0
  14. data/app/components/primer/alpha/dialog.css.map +1 -1
  15. data/app/components/primer/alpha/dialog.pcss +4 -0
  16. data/app/components/primer/alpha/overlay/header.html.erb +1 -0
  17. data/app/components/primer/alpha/overlay/header.rb +12 -0
  18. data/app/components/primer/alpha/tool_tip.js +1 -1
  19. data/app/components/primer/alpha/tool_tip.ts +1 -1
  20. data/app/components/primer/open_project/page_header/dialog.rb +38 -0
  21. data/app/components/primer/open_project/page_header/menu.rb +38 -0
  22. data/app/components/primer/open_project/page_header.rb +16 -27
  23. data/app/components/primer/open_project/zen_mode_button.d.ts +13 -0
  24. data/app/components/primer/open_project/zen_mode_button.html.erb +11 -0
  25. data/app/components/primer/open_project/zen_mode_button.js +45 -0
  26. data/app/components/primer/open_project/zen_mode_button.rb +23 -0
  27. data/app/components/primer/open_project/zen_mode_button.ts +42 -0
  28. data/app/components/primer/primer.d.ts +1 -0
  29. data/app/components/primer/primer.js +1 -0
  30. data/app/components/primer/primer.ts +1 -0
  31. data/lib/primer/view_components/version.rb +2 -2
  32. data/previews/primer/alpha/action_list_preview.rb +19 -1
  33. data/previews/primer/alpha/overlay_preview/overlay_with_header_filter.html.erb +16 -0
  34. data/previews/primer/alpha/overlay_preview.rb +4 -0
  35. data/previews/primer/alpha/tab_nav_preview.rb +1 -1
  36. data/previews/primer/alpha/tab_panels_preview.rb +2 -2
  37. data/previews/primer/alpha/underline_nav_preview.rb +3 -3
  38. data/previews/primer/alpha/underline_panels_preview.rb +38 -0
  39. data/previews/primer/beta/avatar_stack_preview.rb +1 -1
  40. data/previews/primer/beta/breadcrumbs_preview.rb +2 -2
  41. data/previews/primer/beta/nav_list_preview.rb +9 -3
  42. data/previews/primer/open_project/page_header_preview/actions.html.erb +0 -8
  43. data/previews/primer/open_project/page_header_preview.rb +48 -0
  44. data/previews/primer/open_project/zen_mode_button_preview.rb +22 -0
  45. data/static/arguments.json +42 -4
  46. data/static/audited_at.json +3 -1
  47. data/static/classes.json +3 -0
  48. data/static/constants.json +7 -2
  49. data/static/info_arch.json +183 -8
  50. data/static/previews.json +99 -0
  51. data/static/statuses.json +3 -1
  52. metadata +12 -2
@@ -10,7 +10,7 @@ module Primer
10
10
  # @param align [Symbol] select [left, right]
11
11
  def playground(number_of_panels: 3, align: :left)
12
12
  render(Primer::Alpha::TabPanels.new(label: "label", align: align)) do |component|
13
- Array.new(number_of_panels || 3) do |i|
13
+ Array.new(number_of_panels&.to_i || 3) do |i|
14
14
  component.with_tab(selected: i.zero?, id: "tab-#{i + 1}") do |tab|
15
15
  tab.with_panel { "Panel #{i + 1}" }
16
16
  tab.with_text { "Tab #{i + 1}" }
@@ -26,7 +26,7 @@ module Primer
26
26
  # @snapshot
27
27
  def default(number_of_panels: 3, align: :left)
28
28
  render(Primer::Alpha::TabPanels.new(label: "label", align: align)) do |component|
29
- Array.new(number_of_panels || 3) do |i|
29
+ Array.new(number_of_panels&.to_i || 3) do |i|
30
30
  component.with_tab(selected: i.zero?, id: "tab-#{i + 1}") do |tab|
31
31
  tab.with_panel { "Panel #{i + 1}" }
32
32
  tab.with_text { "Tab #{i + 1}" }
@@ -15,7 +15,7 @@ module Primer
15
15
  label: label,
16
16
  tag: tag,
17
17
  align: align,
18
- number_of_panels: number_of_panels
18
+ number_of_panels: number_of_panels.to_i,
19
19
  })
20
20
  end
21
21
 
@@ -31,7 +31,7 @@ module Primer
31
31
  label: label,
32
32
  tag: tag,
33
33
  align: align,
34
- number_of_panels: number_of_panels
34
+ number_of_panels: number_of_panels.to_i,
35
35
  })
36
36
  end
37
37
 
@@ -44,7 +44,7 @@ module Primer
44
44
  # @param number_of_panels [Integer] number
45
45
  def with_icons_and_counters(label: "With icons and counters", number_of_panels: 3, align: :left, tag: :nav)
46
46
  render(Primer::Alpha::UnderlineNav.new(label: label, tag: tag, align: align)) do |component|
47
- Array.new(number_of_panels || 3) do |i|
47
+ Array.new(number_of_panels.to_i || 3) do |i|
48
48
  component.with_tab(href: "#", selected: i.zero?) do |tab|
49
49
  tab.with_icon(icon: :star)
50
50
  tab.with_text { "Item #{i + 1}" }
@@ -21,9 +21,44 @@ module Primer
21
21
 
22
22
  # @label Default options
23
23
  #
24
+ # @snapshot
24
25
  # @param number_of_panels [Integer] number
25
26
  # @param align [Symbol] select [left, right]
26
27
  def default(number_of_panels: 3, align: :left)
28
+ render(Primer::Alpha::UnderlinePanels.new(label: "Test navigation", align: align)) do |component|
29
+ Array.new(number_of_panels&.to_i || 3) do |i|
30
+ component.with_tab(selected: i.zero?, id: "tab-#{i + 1}") do |tab|
31
+ tab.with_panel { "Panel #{i + 1}" }
32
+ tab.with_text { "Tab #{i + 1}" }
33
+ end
34
+ end
35
+ end
36
+ end
37
+
38
+ # @label With Icons and Counters
39
+ #
40
+ # @snapshot
41
+ # @param number_of_panels [Integer] number
42
+ # @param align [Symbol] select [left, right]
43
+ def with_icons_and_counters(number_of_panels: 3, align: :left)
44
+ render(Primer::Alpha::UnderlinePanels.new(label: "Test navigation", align: align)) do |component|
45
+ Array.new(number_of_panels || 3) do |i|
46
+ component.with_tab(selected: i.zero?, id: "tab-#{i + 1}") do |tab|
47
+ tab.with_panel { "Panel #{i + 1}" }
48
+ tab.with_text { "Tab #{i + 1}" }
49
+ tab.with_icon(icon: :star)
50
+ tab.with_counter(count: (i + 1) * 5)
51
+ end
52
+ end
53
+ end
54
+ end
55
+
56
+ # @label With Actions
57
+ #
58
+ # @snapshot
59
+ # @param number_of_panels [Integer] number
60
+ # @param align [Symbol] select [left, right]
61
+ def with_actions(number_of_panels: 3, align: :right)
27
62
  render(Primer::Alpha::UnderlinePanels.new(label: "Test navigation", align: align)) do |component|
28
63
  Array.new(number_of_panels || 3) do |i|
29
64
  component.with_tab(selected: i.zero?, id: "tab-#{i + 1}") do |tab|
@@ -31,6 +66,9 @@ module Primer
31
66
  tab.with_text { "Tab #{i + 1}" }
32
67
  end
33
68
  end
69
+ component.with_actions do
70
+ "Actions Content"
71
+ end
34
72
  end
35
73
  end
36
74
  end
@@ -13,7 +13,7 @@ module Primer
13
13
  # @param tooltip_label text
14
14
  def playground(number_of_avatars: 1, tag: :div, align: :left, tooltipped: false, tooltip_label: "This is a tooltip!")
15
15
  render(Primer::Beta::AvatarStack.new(tag: tag, align: align, tooltipped: tooltipped, body_arguments: { label: tooltip_label })) do |component|
16
- Array.new(number_of_avatars || 1) do
16
+ Array.new(number_of_avatars&.to_i || 1) do
17
17
  component.with_avatar(src: Primer::ExampleImage::BASE64_SRC, alt: "@kittenuser")
18
18
  end
19
19
  end
@@ -9,7 +9,7 @@ module Primer
9
9
  # @param number_of_links [Integer] number
10
10
  def playground(number_of_links: 2)
11
11
  render(Primer::Beta::Breadcrumbs.new) do |component|
12
- Array.new(number_of_links || 3) do |i|
12
+ Array.new(number_of_links&.to_i || 3) do |i|
13
13
  component.with_item(href: "##{i}") { "Breadcrumb Item #{i + 1}" }
14
14
  end
15
15
  end
@@ -21,7 +21,7 @@ module Primer
21
21
  # @snapshot
22
22
  def default(number_of_links: 2)
23
23
  render(Primer::Beta::Breadcrumbs.new) do |component|
24
- Array.new(number_of_links || 3) do |i|
24
+ Array.new(number_of_links&.to_i || 3) do |i|
25
25
  component.with_item(href: "##{i}") { "Breadcrumb Item #{i + 1}" }
26
26
  end
27
27
  end
@@ -139,9 +139,15 @@ module Primer
139
139
  component.with_item(
140
140
  label: "Really really long label that may wrap, truncate, or appear as a tooltip",
141
141
  truncate_label: truncate_label
142
- ) do |item|
143
- item.with_trailing_visual_icon(icon: :plus)
144
- end
142
+ )
143
+ component.with_item(
144
+ label: "Really really long label that may wrap, truncate, or appear as a tooltip",
145
+ truncate_label: truncate_label
146
+ )
147
+ component.with_item(
148
+ label: "Really really long label that may wrap, truncate, or appear as a tooltip",
149
+ truncate_label: truncate_label
150
+ )
145
151
  end
146
152
  end
147
153
 
@@ -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,54 @@ 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
+
59
107
  # @label With leading action (on wide)
60
108
  # **Leading action** is only shown on **wide screens** by default.
61
109
  # 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
@@ -4974,12 +4974,34 @@
4974
4974
  ]
4975
4975
  },
4976
4976
  {
4977
- "component": "OpenProject::PageHeader::PageHeaderActionMenu",
4977
+ "component": "OpenProject::PageHeader::Dialog",
4978
4978
  "status": "open_project",
4979
4979
  "a11y_reviewed": false,
4980
- "short_name": "OpenProjectPageHeaderPageHeaderActionMenu",
4981
- "source": "https://github.com/primer/view_components/tree/main/app/components/primer/open_project/page_header/page_header_action_menu.rb",
4982
- "lookbook": "https://primer.style/view-components/lookbook/inspect/primer/open_project/page_header/page_header_action_menu/default/",
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",
@@ -121,7 +121,9 @@
121
121
  "Primer::OpenProject::GridLayout::Area": "",
122
122
  "Primer::OpenProject::InputGroup": "",
123
123
  "Primer::OpenProject::PageHeader": "",
124
- "Primer::OpenProject::PageHeader::PageHeaderActionMenu": "",
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/classes.json CHANGED
@@ -420,6 +420,9 @@
420
420
  "Overlay-header": [
421
421
  "Primer::Alpha::Dialog"
422
422
  ],
423
+ "Overlay-headerFilter": [
424
+ "Primer::Alpha::Dialog"
425
+ ],
423
426
  "PageHeader": [
424
427
  "Primer::OpenProject::PageHeader"
425
428
  ],
@@ -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,13 @@
1466
1467
  "flex",
1467
1468
  "none"
1468
1469
  ],
1469
- "PageHeaderActionMenu": "Primer::OpenProject::PageHeader::PageHeaderActionMenu"
1470
+ "Menu": "Primer::OpenProject::PageHeader::Menu"
1470
1471
  },
1471
- "Primer::OpenProject::PageHeader::PageHeaderActionMenu": {
1472
+ "Primer::OpenProject::PageHeader::Dialog": {
1473
+ },
1474
+ "Primer::OpenProject::PageHeader::Menu": {
1475
+ },
1476
+ "Primer::OpenProject::ZenModeButton": {
1472
1477
  },
1473
1478
  "Primer::Tooltip": {
1474
1479
  "ALIGN_DEFAULT": "default",
@@ -6081,6 +6081,19 @@
6081
6081
  "color-contrast"
6082
6082
  ]
6083
6083
  }
6084
+ },
6085
+ {
6086
+ "preview_path": "primer/alpha/overlay/overlay_with_header_filter",
6087
+ "name": "overlay_with_header_filter",
6088
+ "snapshot": "false",
6089
+ "skip_rules": {
6090
+ "wont_fix": [
6091
+ "region"
6092
+ ],
6093
+ "will_fix": [
6094
+ "color-contrast"
6095
+ ]
6096
+ }
6084
6097
  }
6085
6098
  ],
6086
6099
  "subcomponents": [
@@ -6142,7 +6155,18 @@
6142
6155
  }
6143
6156
  ],
6144
6157
  "slots": [
6145
-
6158
+ {
6159
+ "name": "filter",
6160
+ "description": "Optional filter slot for adding a filter input to the header.",
6161
+ "parameters": [
6162
+ {
6163
+ "name": "system_arguments",
6164
+ "type": "Hash",
6165
+ "default": "N/A",
6166
+ "description": "{{link_to_system_arguments_docs}}"
6167
+ }
6168
+ ]
6169
+ }
6146
6170
  ],
6147
6171
  "methods": [
6148
6172
 
@@ -9141,7 +9165,33 @@
9141
9165
  {
9142
9166
  "preview_path": "primer/alpha/underline_panels/default",
9143
9167
  "name": "default",
9144
- "snapshot": "false",
9168
+ "snapshot": "true",
9169
+ "skip_rules": {
9170
+ "wont_fix": [
9171
+ "region"
9172
+ ],
9173
+ "will_fix": [
9174
+ "color-contrast"
9175
+ ]
9176
+ }
9177
+ },
9178
+ {
9179
+ "preview_path": "primer/alpha/underline_panels/with_icons_and_counters",
9180
+ "name": "with_icons_and_counters",
9181
+ "snapshot": "true",
9182
+ "skip_rules": {
9183
+ "wont_fix": [
9184
+ "region"
9185
+ ],
9186
+ "will_fix": [
9187
+ "color-contrast"
9188
+ ]
9189
+ }
9190
+ },
9191
+ {
9192
+ "preview_path": "primer/alpha/underline_panels/with_actions",
9193
+ "name": "with_actions",
9194
+ "snapshot": "true",
9145
9195
  "skip_rules": {
9146
9196
  "wont_fix": [
9147
9197
  "region"
@@ -16555,6 +16605,32 @@
16555
16605
  ]
16556
16606
  }
16557
16607
  },
16608
+ {
16609
+ "preview_path": "primer/open_project/page_header/menu_actions",
16610
+ "name": "menu_actions",
16611
+ "snapshot": "false",
16612
+ "skip_rules": {
16613
+ "wont_fix": [
16614
+ "region"
16615
+ ],
16616
+ "will_fix": [
16617
+ "color-contrast"
16618
+ ]
16619
+ }
16620
+ },
16621
+ {
16622
+ "preview_path": "primer/open_project/page_header/dialog_actions",
16623
+ "name": "dialog_actions",
16624
+ "snapshot": "false",
16625
+ "skip_rules": {
16626
+ "wont_fix": [
16627
+ "region"
16628
+ ],
16629
+ "will_fix": [
16630
+ "color-contrast"
16631
+ ]
16632
+ }
16633
+ },
16558
16634
  {
16559
16635
  "preview_path": "primer/open_project/page_header/leading_action",
16560
16636
  "name": "leading_action",
@@ -16587,18 +16663,58 @@
16587
16663
  ]
16588
16664
  },
16589
16665
  {
16590
- "fully_qualified_name": "Primer::OpenProject::PageHeader::PageHeaderActionMenu",
16591
- "description": "A Helper class to create ActionMenus inside the PageHeader action slot",
16666
+ "fully_qualified_name": "Primer::OpenProject::PageHeader::Dialog",
16667
+ "description": "A Helper class to create ActionMenus inside the PageHeader action slot\nDo not use standalone",
16668
+ "accessibility_docs": null,
16669
+ "is_form_component": false,
16670
+ "is_published": true,
16671
+ "requires_js": false,
16672
+ "component": "OpenProject::PageHeader::Dialog",
16673
+ "status": "open_project",
16674
+ "a11y_reviewed": false,
16675
+ "short_name": "OpenProjectPageHeaderDialog",
16676
+ "source": "https://github.com/primer/view_components/tree/main/app/components/primer/open_project/page_header/dialog.rb",
16677
+ "lookbook": "https://primer.style/view-components/lookbook/inspect/primer/open_project/page_header/dialog/default/",
16678
+ "parameters": [
16679
+ {
16680
+ "name": "dialog_arguments",
16681
+ "type": "Hash",
16682
+ "default": "`{}`",
16683
+ "description": "The arguments accepted by {{#link_to_component}}Primer::Alpha::Dialog{{/link_to_component}}."
16684
+ },
16685
+ {
16686
+ "name": "button_arguments",
16687
+ "type": "Hash",
16688
+ "default": "`{}`",
16689
+ "description": "The arguments accepted by {{#link_to_component}}Primer::Beta::Button{{/link_to_component}} or {{#link_to_component}}Primer::Beta::IconButton{{/link_to_component}}, depending on the value of the `icon:` argument."
16690
+ }
16691
+ ],
16692
+ "slots": [
16693
+
16694
+ ],
16695
+ "methods": [
16696
+
16697
+ ],
16698
+ "previews": [
16699
+
16700
+ ],
16701
+ "subcomponents": [
16702
+
16703
+ ]
16704
+ },
16705
+ {
16706
+ "fully_qualified_name": "Primer::OpenProject::PageHeader::Menu",
16707
+ "description": "A Helper class to create ActionMenus inside the PageHeader action slot\nIt should not be used standalone",
16592
16708
  "accessibility_docs": null,
16593
16709
  "is_form_component": false,
16594
16710
  "is_published": true,
16595
16711
  "requires_js": false,
16596
- "component": "OpenProject::PageHeader::PageHeaderActionMenu",
16712
+ "component": "OpenProject::PageHeader::Menu",
16597
16713
  "status": "open_project",
16598
16714
  "a11y_reviewed": false,
16599
- "short_name": "OpenProjectPageHeaderPageHeaderActionMenu",
16600
- "source": "https://github.com/primer/view_components/tree/main/app/components/primer/open_project/page_header/page_header_action_menu.rb",
16601
- "lookbook": "https://primer.style/view-components/lookbook/inspect/primer/open_project/page_header/page_header_action_menu/default/",
16715
+ "short_name": "OpenProjectPageHeaderMenu",
16716
+ "source": "https://github.com/primer/view_components/tree/main/app/components/primer/open_project/page_header/menu.rb",
16717
+ "lookbook": "https://primer.style/view-components/lookbook/inspect/primer/open_project/page_header/menu/default/",
16602
16718
  "parameters": [
16603
16719
  {
16604
16720
  "name": "menu_arguments",
@@ -16626,6 +16742,65 @@
16626
16742
 
16627
16743
  ]
16628
16744
  },
16745
+ {
16746
+ "fully_qualified_name": "Primer::OpenProject::ZenModeButton",
16747
+ "description": "Add a general description of component here\nAdd additional usage considerations or best practices that may aid the user to use the component correctly.",
16748
+ "accessibility_docs": "Add any accessibility considerations",
16749
+ "is_form_component": false,
16750
+ "is_published": true,
16751
+ "requires_js": false,
16752
+ "component": "OpenProject::ZenModeButton",
16753
+ "status": "open_project",
16754
+ "a11y_reviewed": false,
16755
+ "short_name": "OpenProjectZenModeButton",
16756
+ "source": "https://github.com/primer/view_components/tree/main/app/components/primer/open_project/zen_mode_button.rb",
16757
+ "lookbook": "https://primer.style/view-components/lookbook/inspect/primer/open_project/zen_mode_button/default/",
16758
+ "parameters": [
16759
+ {
16760
+ "name": "system_arguments",
16761
+ "type": "Hash",
16762
+ "default": "N/A",
16763
+ "description": "{{link_to_system_arguments_docs}}"
16764
+ }
16765
+ ],
16766
+ "slots": [
16767
+
16768
+ ],
16769
+ "methods": [
16770
+
16771
+ ],
16772
+ "previews": [
16773
+ {
16774
+ "preview_path": "primer/open_project/zen_mode_button/default",
16775
+ "name": "default",
16776
+ "snapshot": "true",
16777
+ "skip_rules": {
16778
+ "wont_fix": [
16779
+ "region"
16780
+ ],
16781
+ "will_fix": [
16782
+ "color-contrast"
16783
+ ]
16784
+ }
16785
+ },
16786
+ {
16787
+ "preview_path": "primer/open_project/zen_mode_button/playground",
16788
+ "name": "playground",
16789
+ "snapshot": "false",
16790
+ "skip_rules": {
16791
+ "wont_fix": [
16792
+ "region"
16793
+ ],
16794
+ "will_fix": [
16795
+ "color-contrast"
16796
+ ]
16797
+ }
16798
+ }
16799
+ ],
16800
+ "subcomponents": [
16801
+
16802
+ ]
16803
+ },
16629
16804
  {
16630
16805
  "fully_qualified_name": "Primer::Tooltip",
16631
16806
  "description": "`Tooltip` is a wrapper component that will apply a tooltip to the provided content.",