primer_view_components 0.3.1 → 0.4.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 (120) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +16 -0
  3. data/app/assets/javascripts/app/components/primer/alpha/action_bar_element.d.ts +16 -0
  4. data/app/assets/javascripts/app/components/primer/alpha/action_menu/action_menu_element.d.ts +30 -0
  5. data/app/assets/javascripts/app/components/primer/alpha/dropdown/menu.d.ts +1 -0
  6. data/app/assets/javascripts/app/components/primer/alpha/dropdown.d.ts +1 -0
  7. data/app/assets/javascripts/app/components/primer/alpha/image_crop.d.ts +1 -0
  8. data/app/assets/javascripts/app/components/primer/alpha/modal_dialog.d.ts +18 -0
  9. data/app/assets/javascripts/app/components/primer/alpha/nav_list.d.ts +28 -0
  10. data/app/assets/javascripts/app/components/primer/alpha/segmented_control.d.ts +12 -0
  11. data/app/assets/javascripts/app/components/primer/alpha/tab_container.d.ts +1 -0
  12. data/app/assets/javascripts/app/components/primer/alpha/toggle_switch.d.ts +30 -0
  13. data/app/assets/javascripts/app/components/primer/alpha/tool_tip.d.ts +26 -0
  14. data/app/assets/javascripts/app/components/primer/alpha/x_banner.d.ts +11 -0
  15. data/app/assets/javascripts/app/components/primer/anchored_position.d.ts +27 -0
  16. data/app/assets/javascripts/app/components/primer/beta/auto_complete/auto_complete.d.ts +1 -0
  17. data/app/assets/javascripts/app/components/primer/beta/clipboard_copy.d.ts +1 -0
  18. data/app/assets/javascripts/app/components/primer/beta/relative_time.d.ts +1 -0
  19. data/app/assets/javascripts/app/components/primer/focus_group.d.ts +19 -0
  20. data/app/assets/javascripts/app/components/primer/primer.d.ts +21 -0
  21. data/app/assets/javascripts/lib/primer/forms/primer_multi_input.d.ts +10 -0
  22. data/app/assets/javascripts/lib/primer/forms/primer_text_field.d.ts +1 -0
  23. data/app/assets/javascripts/lib/primer/forms/toggle_switch_input.d.ts +5 -0
  24. data/app/assets/javascripts/primer_view_components.js +1 -1
  25. data/app/assets/javascripts/primer_view_components.js.map +1 -1
  26. data/app/assets/styles/primer_view_components.css +1 -1
  27. data/app/assets/styles/primer_view_components.css.map +1 -1
  28. data/app/components/primer/alpha/action_bar/divider.rb +30 -0
  29. data/app/components/primer/alpha/action_bar/item.rb +26 -0
  30. data/app/components/primer/alpha/action_bar.css +1 -0
  31. data/app/components/primer/alpha/action_bar.css.json +17 -0
  32. data/app/components/primer/alpha/action_bar.css.map +1 -0
  33. data/app/components/primer/alpha/action_bar.html.erb +12 -0
  34. data/app/components/primer/alpha/action_bar.pcss +69 -0
  35. data/app/components/primer/alpha/action_bar.rb +110 -0
  36. data/app/components/primer/alpha/action_bar_element.d.ts +16 -0
  37. data/app/components/primer/alpha/action_bar_element.js +172 -0
  38. data/app/components/primer/alpha/action_bar_element.ts +175 -0
  39. data/app/components/primer/alpha/action_menu/action_menu_element.d.ts +2 -2
  40. data/app/components/primer/alpha/tool_tip.d.ts +3 -2
  41. data/app/components/primer/alpha/tool_tip.js +89 -44
  42. data/app/components/primer/alpha/tool_tip.ts +88 -41
  43. data/app/components/primer/alpha/tooltip.rb +1 -0
  44. data/app/components/primer/beta/link.css +1 -1
  45. data/app/components/primer/beta/link.css.map +1 -1
  46. data/app/components/primer/beta/link.pcss +4 -0
  47. data/app/components/primer/beta/link.rb +6 -10
  48. data/app/components/primer/primer.d.ts +1 -0
  49. data/app/components/primer/primer.js +1 -0
  50. data/app/components/primer/primer.pcss +1 -0
  51. data/app/components/primer/primer.ts +1 -0
  52. data/lib/primer/static/generate_previews.rb +9 -0
  53. data/lib/primer/view_components/linters/tooltipped_migration.rb +1 -3
  54. data/lib/primer/view_components/version.rb +2 -2
  55. data/lib/primer/yard.rb +5 -0
  56. data/previews/primer/alpha/action_bar_preview/inline.html.erb +16 -0
  57. data/previews/primer/alpha/action_bar_preview.rb +77 -0
  58. data/previews/primer/alpha/action_list_preview.rb +10 -0
  59. data/previews/primer/alpha/action_menu_preview.rb +5 -0
  60. data/previews/primer/alpha/auto_complete_preview.rb +1 -0
  61. data/previews/primer/alpha/banner_preview.rb +9 -1
  62. data/previews/primer/alpha/button_marketing_preview.rb +2 -0
  63. data/previews/primer/alpha/check_box_group_preview.rb +1 -0
  64. data/previews/primer/alpha/check_box_preview.rb +6 -0
  65. data/previews/primer/alpha/dialog_preview.rb +1 -0
  66. data/previews/primer/alpha/dropdown_preview.rb +1 -0
  67. data/previews/primer/alpha/hellip_button_preview.rb +1 -0
  68. data/previews/primer/alpha/hidden_text_expander_preview.rb +1 -0
  69. data/previews/primer/alpha/layout_preview.rb +4 -0
  70. data/previews/primer/alpha/menu_preview.rb +1 -0
  71. data/previews/primer/alpha/multi_input_preview.rb +4 -0
  72. data/previews/primer/alpha/nav_list_preview.rb +3 -0
  73. data/previews/primer/alpha/radio_button_group_preview.rb +2 -0
  74. data/previews/primer/alpha/radio_button_preview.rb +10 -0
  75. data/previews/primer/alpha/segmented_control_preview.rb +13 -0
  76. data/previews/primer/alpha/select_preview.rb +6 -0
  77. data/previews/primer/alpha/tab_nav_preview.rb +3 -0
  78. data/previews/primer/alpha/tab_panels_preview.rb +1 -0
  79. data/previews/primer/alpha/text_area_preview.rb +7 -0
  80. data/previews/primer/alpha/text_field_preview.rb +15 -0
  81. data/previews/primer/alpha/toggle_switch_preview.rb +7 -0
  82. data/previews/primer/alpha/tooltip_preview/tooltip_inside_primer_overlay.html.erb +20 -0
  83. data/previews/primer/alpha/tooltip_preview.rb +7 -0
  84. data/previews/primer/alpha/underline_nav_preview.rb +2 -0
  85. data/previews/primer/beta/auto_complete_item_preview.rb +2 -0
  86. data/previews/primer/beta/auto_complete_preview.rb +7 -0
  87. data/previews/primer/beta/avatar_preview.rb +10 -0
  88. data/previews/primer/beta/avatar_stack_preview.rb +3 -0
  89. data/previews/primer/beta/blankslate_preview.rb +9 -0
  90. data/previews/primer/beta/border_box_preview.rb +4 -0
  91. data/previews/primer/beta/breadcrumbs_preview.rb +1 -0
  92. data/previews/primer/beta/button_group_preview.rb +4 -0
  93. data/previews/primer/beta/button_preview.rb +10 -0
  94. data/previews/primer/beta/clipboard_copy_preview.rb +2 -0
  95. data/previews/primer/beta/close_button_preview.rb +1 -0
  96. data/previews/primer/beta/counter_preview.rb +11 -0
  97. data/previews/primer/beta/flash_preview.rb +8 -0
  98. data/previews/primer/beta/heading_preview.rb +1 -0
  99. data/previews/primer/beta/icon_button_preview.rb +3 -0
  100. data/previews/primer/beta/label_preview.rb +13 -0
  101. data/previews/primer/beta/link_preview.rb +11 -9
  102. data/previews/primer/beta/markdown_preview.rb +1 -0
  103. data/previews/primer/beta/octicon_preview.rb +1 -0
  104. data/previews/primer/beta/popover_preview.rb +6 -0
  105. data/previews/primer/beta/progress_bar_preview.rb +4 -0
  106. data/previews/primer/beta/spinner_preview.rb +1 -0
  107. data/previews/primer/beta/state_preview.rb +6 -0
  108. data/previews/primer/beta/subhead_preview.rb +4 -0
  109. data/previews/primer/beta/text_preview.rb +1 -0
  110. data/previews/primer/beta/timeline_item_preview.rb +1 -0
  111. data/previews/primer/beta/truncate_preview.rb +1 -0
  112. data/previews/primer/box_preview.rb +2 -0
  113. data/static/arguments.json +51 -7
  114. data/static/audited_at.json +3 -0
  115. data/static/classes.json +21 -0
  116. data/static/constants.json +20 -6
  117. data/static/info_arch.json +669 -7
  118. data/static/previews.json +571 -0
  119. data/static/statuses.json +3 -0
  120. metadata +43 -8
@@ -22,6 +22,7 @@ module Primer
22
22
  end
23
23
 
24
24
  # @label Default
25
+ # @snapshot
25
26
  def default
26
27
  render(Primer::Alpha::TabNav.new(label: "Default")) do |component|
27
28
  component.with_tab(selected: true, href: "#") { "Tab 1" }
@@ -31,6 +32,7 @@ module Primer
31
32
  end
32
33
 
33
34
  # @label With icons and counters
35
+ # @snapshot
34
36
  def with_icons_and_counters
35
37
  render(Primer::Alpha::TabNav.new(label: "With icons and counters")) do |component|
36
38
  component.with_tab(href: "#1", selected: true) do |tab|
@@ -52,6 +54,7 @@ module Primer
52
54
  end
53
55
 
54
56
  # @param align [Symbol] select [left, right]
57
+ # @snapshot
55
58
  def with_extra(align: :right)
56
59
  render_with_template(locals: { align: align })
57
60
  end
@@ -23,6 +23,7 @@ module Primer
23
23
  #
24
24
  # @param number_of_panels [Integer] number
25
25
  # @param align [Symbol] select [left, right]
26
+ # @snapshot
26
27
  def default(number_of_panels: 3, align: :left)
27
28
  render(Primer::Alpha::TabPanels.new(label: "label", align: align)) do |component|
28
29
  Array.new(number_of_panels || 3) do |i|
@@ -45,6 +45,7 @@ module Primer
45
45
  end
46
46
 
47
47
  # @label Default
48
+ # @snapshot
48
49
  def default
49
50
  render(Primer::Alpha::TextArea.new(name: "my-text-area", label: "Tell me about yourself"))
50
51
  end
@@ -52,31 +53,37 @@ module Primer
52
53
  # @!group Options
53
54
  #
54
55
  # @label With caption
56
+ # @snapshot
55
57
  def with_caption
56
58
  render(Primer::Alpha::TextArea.new(caption: "With a caption", name: "my-text-area", label: "Tell me about yourself"))
57
59
  end
58
60
 
59
61
  # @label Visually hidden label
62
+ # @snapshot
60
63
  def visually_hide_label
61
64
  render(Primer::Alpha::TextArea.new(visually_hide_label: true, name: "my-text-area", label: "Tell me about yourself"))
62
65
  end
63
66
 
64
67
  # @label Full width
68
+ # @snapshot
65
69
  def full_width
66
70
  render(Primer::Alpha::TextArea.new(full_width: true, name: "my-text-area", label: "Tell me about yourself"))
67
71
  end
68
72
 
69
73
  # @label Disabled
74
+ # @snapshot
70
75
  def disabled
71
76
  render(Primer::Alpha::TextArea.new(disabled: true, name: "my-text-area", label: "Tell me about yourself"))
72
77
  end
73
78
 
74
79
  # @label Invalid
80
+ # @snapshot
75
81
  def invalid
76
82
  render(Primer::Alpha::TextArea.new(invalid: true, name: "my-text-area", label: "Tell me about yourself"))
77
83
  end
78
84
 
79
85
  # @label With validation message
86
+ # @snapshot
80
87
  def with_validation_message
81
88
  render(Primer::Alpha::TextArea.new(validation_message: "An error occurred!", name: "my-text-area", label: "Tell me about yourself"))
82
89
  end
@@ -72,6 +72,7 @@ module Primer
72
72
  end
73
73
 
74
74
  # @label Default
75
+ # @snapshot
75
76
  def default
76
77
  render(Primer::Alpha::TextField.new(name: "my-text-field", label: "My text field"))
77
78
  end
@@ -79,16 +80,19 @@ module Primer
79
80
  # @!group Sizes
80
81
  #
81
82
  # @label Small
83
+ # @snapshot
82
84
  def size_small
83
85
  render(Primer::Alpha::TextField.new(size: :small, visually_hide_label: true, name: "my-text-field", label: "My text field"))
84
86
  end
85
87
 
86
88
  # @label Medium
89
+ # @snapshot
87
90
  def size_medium
88
91
  render(Primer::Alpha::TextField.new(size: :medium, visually_hide_label: true, name: "my-text-field", label: "My text field"))
89
92
  end
90
93
 
91
94
  # @label Large
95
+ # @snapshot
92
96
  def size_large
93
97
  render(Primer::Alpha::TextField.new(size: :large, visually_hide_label: true, name: "my-text-field", label: "My text field"))
94
98
  end
@@ -98,56 +102,67 @@ module Primer
98
102
  # @!group Options
99
103
  #
100
104
  # @label With caption
105
+ # @snapshot
101
106
  def with_caption
102
107
  render(Primer::Alpha::TextField.new(caption: "With a caption", name: "my-text-field", label: "My text field"))
103
108
  end
104
109
 
105
110
  # @label Visually hidden label
111
+ # @snapshot
106
112
  def visually_hide_label
107
113
  render(Primer::Alpha::TextField.new(visually_hide_label: true, name: "my-text-field", label: "My text field"))
108
114
  end
109
115
 
110
116
  # @label Show clear button
117
+ # @snapshot
111
118
  def show_clear_button
112
119
  render(Primer::Alpha::TextField.new(show_clear_button: true, name: "my-text-field", label: "My text field"))
113
120
  end
114
121
 
115
122
  # @label Full width
123
+ # @snapshot
116
124
  def full_width
117
125
  render(Primer::Alpha::TextField.new(full_width: true, name: "my-text-field", label: "My text field"))
118
126
  end
119
127
 
120
128
  # @label Disabled
129
+ # @snapshot
121
130
  def disabled
122
131
  render(Primer::Alpha::TextField.new(disabled: true, name: "my-text-field", label: "My text field"))
123
132
  end
124
133
 
125
134
  # @label Invalid
135
+ # @snapshot
126
136
  def invalid
127
137
  render(Primer::Alpha::TextField.new(invalid: true, name: "my-text-field", label: "My text field"))
128
138
  end
129
139
 
130
140
  # @label With placeholder
141
+ # @snapshot
131
142
  def with_placeholder
132
143
  render(Primer::Alpha::TextField.new(placeholder: "with a placeholder", name: "my-text-field", label: "My text field"))
133
144
  end
134
145
 
135
146
  # @label Inset
147
+ # @snapshot
136
148
  def inset
137
149
  render(Primer::Alpha::TextField.new(inset: true, name: "my-text-field", label: "My text field"))
138
150
  end
139
151
 
140
152
  # @label Monospace
153
+ # @snapshot
141
154
  def monospace
142
155
  render(Primer::Alpha::TextField.new(monospace: true, name: "my-text-field", label: "My text field"))
143
156
  end
144
157
 
145
158
  # @label With leading visual
159
+ # @snapshot
146
160
  def with_leading_visual
147
161
  render(Primer::Alpha::TextField.new(leading_visual: { icon: :search }, name: "my-text-field", label: "My text field"))
148
162
  end
149
163
 
150
164
  # @label With validation message
165
+ # @snapshot
151
166
  def with_validation_message
152
167
  render(Primer::Alpha::TextField.new(validation_message: "An error occurred!", name: "my-text-field", label: "My text field"))
153
168
  end
@@ -12,30 +12,37 @@ module Primer
12
12
  render(ToggleSwitch.new(src: UrlHelpers.toggle_switch_index_path))
13
13
  end
14
14
 
15
+ # @snapshot
15
16
  def default
16
17
  render(ToggleSwitch.new(src: UrlHelpers.toggle_switch_index_path))
17
18
  end
18
19
 
20
+ # @snapshot
19
21
  def checked
20
22
  render(ToggleSwitch.new(src: UrlHelpers.toggle_switch_index_path, checked: true))
21
23
  end
22
24
 
25
+ # @snapshot
23
26
  def disabled
24
27
  render(ToggleSwitch.new(src: UrlHelpers.toggle_switch_index_path, enabled: false))
25
28
  end
26
29
 
30
+ # @snapshot
27
31
  def checked_disabled
28
32
  render(ToggleSwitch.new(src: UrlHelpers.toggle_switch_index_path, checked: true, enabled: false))
29
33
  end
30
34
 
35
+ # @snapshot
31
36
  def small
32
37
  render(ToggleSwitch.new(src: UrlHelpers.toggle_switch_index_path, size: :small))
33
38
  end
34
39
 
40
+ # @snapshot
35
41
  def with_status_label_position_end
36
42
  render(ToggleSwitch.new(src: UrlHelpers.toggle_switch_index_path, status_label_position: :end))
37
43
  end
38
44
 
45
+ # @snapshot
39
46
  def with_a_bad_src
40
47
  render(ToggleSwitch.new(src: "/foo"))
41
48
  end
@@ -0,0 +1,20 @@
1
+ <%= render(Primer::Alpha::Overlay.new(
2
+ title: "Menu",
3
+ role: :dialog,
4
+ )) do |d| %>
5
+ <% d.with_show_button do |b| %>
6
+ Open Overlay
7
+ <% b.with_tooltip(text: "Opens an overlay") %>
8
+ <% end %>
9
+ <% d.with_header do %>
10
+ An overlay
11
+ <% end %>
12
+ <% d.with_body do %>
13
+
14
+ <%= render(Primer::Beta::Button.new(id: "overlay-button")) do |b| %>
15
+ <% b.with_tooltip(text: "This is a tooltip in an Overlay") %>
16
+ A button
17
+ <% end %>
18
+
19
+ <% end %>
20
+ <% end %>
@@ -88,6 +88,13 @@ module Primer
88
88
  render(Primer::Beta::IconButton.new(icon: :search, "aria-label": tooltip_text, tooltip_direction: direction))
89
89
  end
90
90
  # @!endgroup
91
+
92
+ # @label Tooltip inside Primer::Alpha::Overlay
93
+ def tooltip_inside_primer_overlay(direction: :s, tooltip_text: "You can press a button")
94
+ render_with_template(
95
+ locals: {}
96
+ )
97
+ end
91
98
  end
92
99
  end
93
100
  end
@@ -20,6 +20,7 @@ module Primer
20
20
  end
21
21
 
22
22
  # @label Default options
23
+ # @snapshot
23
24
  #
24
25
  # @param label [String] text
25
26
  # @param tag [Symbol] select [div, nav]
@@ -35,6 +36,7 @@ module Primer
35
36
  end
36
37
 
37
38
  # @label With icons and counters
39
+ # @snapshot
38
40
  #
39
41
  # @param label [String] text
40
42
  # @param tag [Symbol] select [div, nav]
@@ -23,6 +23,7 @@ module Primer
23
23
  # @param selected toggle
24
24
  # @param disabled toggle
25
25
  # @param value text
26
+ # @snapshot
26
27
  def default(value: "", selected: false, disabled: false)
27
28
  render_with_template(
28
29
  locals: {
@@ -38,6 +39,7 @@ module Primer
38
39
  # @param selected toggle
39
40
  # @param disabled toggle
40
41
  # @param value text
42
+ # @snapshot
41
43
  def with_description(description_variant: "block", value: "", selected: false, disabled: false)
42
44
  description_variant = description_variant.to_sym
43
45
 
@@ -79,6 +79,7 @@ module Primer
79
79
  end
80
80
 
81
81
  # @label Leading visual
82
+ # @snapshot
82
83
  # @param label_text text
83
84
  # @param show_clear_button toggle
84
85
  # @param visually_hide_label toggle
@@ -98,6 +99,7 @@ module Primer
98
99
  end
99
100
 
100
101
  # @label Trailing action
102
+ # @snapshot
101
103
  # @param label_text text
102
104
  # @param show_clear_button toggle
103
105
  # @param visually_hide_label toggle
@@ -115,6 +117,7 @@ module Primer
115
117
  end
116
118
 
117
119
  # @label Full width
120
+ # @snapshot
118
121
  # @param label_text text
119
122
  # @param show_clear_button toggle
120
123
  # @param visually_hide_label toggle
@@ -134,6 +137,7 @@ module Primer
134
137
  end
135
138
 
136
139
  # @label Visually hide label
140
+ # @snapshot
137
141
  # @param label_text text
138
142
  # @param show_clear_button toggle
139
143
  # @param visually_hide_label toggle
@@ -166,6 +170,7 @@ module Primer
166
170
  # @param input_id text
167
171
  # @param list_id text
168
172
  # @param input_name text
173
+ # @snapshot
169
174
  def small(label_text: "Select a fruit", show_clear_button: false, visually_hide_label: false, placeholder: "Placeholder text", size: :small, full_width: false, width: :auto, disabled: false, invalid: false, input_id: "input-id-1", list_id: "list-id-1", input_name: "input-id-1")
170
175
  render(Primer::Beta::AutoComplete.new(label_text: label_text, input_id: input_id, list_id: list_id, src: UrlHelpers.autocomplete_index_path, show_clear_button: show_clear_button, visually_hide_label: visually_hide_label, placeholder: placeholder, size: size, full_width: full_width, width: width, disabled: disabled, invalid: invalid, input_name: input_name)) do |component|
171
176
  component.with_leading_visual_icon(icon: :search)
@@ -184,6 +189,7 @@ module Primer
184
189
  # @param input_id text
185
190
  # @param list_id text
186
191
  # @param input_name text
192
+ # @snapshot
187
193
  def medium(label_text: "Select a fruit", show_clear_button: false, visually_hide_label: false, placeholder: "Placeholder text", size: :medium, full_width: false, width: :auto, disabled: false, invalid: false, input_id: "input-id-2", list_id: "list-id-2", input_name: "input-id-2")
188
194
  render(Primer::Beta::AutoComplete.new(label_text: label_text, input_id: input_id, list_id: list_id, src: UrlHelpers.autocomplete_index_path, show_clear_button: show_clear_button, visually_hide_label: visually_hide_label, placeholder: placeholder, size: size, full_width: full_width, width: width, disabled: disabled, invalid: invalid, input_name: input_name)) do |component|
189
195
  component.with_leading_visual_icon(icon: :search)
@@ -202,6 +208,7 @@ module Primer
202
208
  # @param input_id text
203
209
  # @param list_id text
204
210
  # @param input_name text
211
+ # @snapshot
205
212
  def large(label_text: "Select a fruit", show_clear_button: false, visually_hide_label: false, placeholder: "Placeholder text", size: :large, full_width: false, width: :auto, disabled: false, invalid: false, input_id: "input-id-3", list_id: "list-id-3", input_name: "input-id-3")
206
213
  render(Primer::Beta::AutoComplete.new(label_text: label_text, input_id: input_id, list_id: list_id, src: UrlHelpers.autocomplete_index_path, show_clear_button: show_clear_button, visually_hide_label: visually_hide_label, placeholder: placeholder, size: size, full_width: full_width, width: width, disabled: disabled, invalid: invalid, input_name: input_name)) do |component|
207
214
  component.with_leading_visual_icon(icon: :search)
@@ -14,6 +14,7 @@ module Primer
14
14
  end
15
15
 
16
16
  # @label Default
17
+ # @snapshot
17
18
  def default
18
19
  render(Primer::Beta::Avatar.new(src: Primer::ExampleImage::BASE64_SRC, alt: "@kittenuser"))
19
20
  end
@@ -28,36 +29,43 @@ module Primer
28
29
  # @!group Sizes
29
30
  #
30
31
  # @label 16px
32
+ # @snapshot
31
33
  def size_16
32
34
  render(Primer::Beta::Avatar.new(size: 16, src: Primer::ExampleImage::BASE64_SRC, alt: "@kittenuser"))
33
35
  end
34
36
 
35
37
  # @label 20px
38
+ # @snapshot
36
39
  def size_20
37
40
  render(Primer::Beta::Avatar.new(size: 20, src: Primer::ExampleImage::BASE64_SRC, alt: "@kittenuser"))
38
41
  end
39
42
 
40
43
  # @label 24px
44
+ # @snapshot
41
45
  def size_24
42
46
  render(Primer::Beta::Avatar.new(size: 24, src: Primer::ExampleImage::BASE64_SRC, alt: "@kittenuser"))
43
47
  end
44
48
 
45
49
  # @label 32px
50
+ # @snapshot
46
51
  def size_32
47
52
  render(Primer::Beta::Avatar.new(size: 32, src: Primer::ExampleImage::BASE64_SRC, alt: "@kittenuser"))
48
53
  end
49
54
 
50
55
  # @label 40px
56
+ # @snapshot
51
57
  def size_40
52
58
  render(Primer::Beta::Avatar.new(size: 40, src: Primer::ExampleImage::BASE64_SRC, alt: "@kittenuser"))
53
59
  end
54
60
 
55
61
  # @label 48px
62
+ # @snapshot
56
63
  def size_48
57
64
  render(Primer::Beta::Avatar.new(size: 48, src: Primer::ExampleImage::BASE64_SRC, alt: "@kittenuser"))
58
65
  end
59
66
 
60
67
  # @label 80px
68
+ # @snapshot
61
69
  def size_80
62
70
  render(Primer::Beta::Avatar.new(size: 80, src: Primer::ExampleImage::BASE64_SRC, alt: "@kittenuser"))
63
71
  end
@@ -67,11 +75,13 @@ module Primer
67
75
  # @!group Shape
68
76
  #
69
77
  # @label Circle
78
+ # @snapshot
70
79
  def shape_circle
71
80
  render(Primer::Beta::Avatar.new(shape: :circle, src: Primer::ExampleImage::BASE64_SRC, alt: "@kittenuser"))
72
81
  end
73
82
 
74
83
  # @label Square
84
+ # @snapshot
75
85
  def shape_square
76
86
  render(Primer::Beta::Avatar.new(shape: :square, src: Primer::ExampleImage::BASE64_SRC, alt: "@kittenuser"))
77
87
  end
@@ -20,6 +20,7 @@ module Primer
20
20
  end
21
21
 
22
22
  # @label Default
23
+ # @snapshot
23
24
  def default
24
25
  render(Primer::Beta::AvatarStack.new) do |component|
25
26
  component.with_avatar(src: Primer::ExampleImage::BASE64_SRC, alt: "@kittenuser")
@@ -36,6 +37,7 @@ module Primer
36
37
  end
37
38
 
38
39
  # @label 2 avatars
40
+ # @snapshot
39
41
  def avatar_2
40
42
  render(Primer::Beta::AvatarStack.new) do |component|
41
43
  component.with_avatar(src: Primer::ExampleImage::BASE64_SRC, alt: "@kittenuser")
@@ -44,6 +46,7 @@ module Primer
44
46
  end
45
47
 
46
48
  # @label 3 avatars
49
+ # @snapshot
47
50
  def avatar_3
48
51
  render(Primer::Beta::AvatarStack.new) do |component|
49
52
  component.with_avatar(src: Primer::ExampleImage::BASE64_SRC, alt: "@kittenuser")
@@ -17,6 +17,7 @@ module Primer
17
17
  end
18
18
 
19
19
  # @label Default options
20
+ # @snapshot
20
21
  def default
21
22
  render Primer::Beta::Blankslate.new do |component|
22
23
  component.with_heading(tag: :h2).with_content("Title")
@@ -43,6 +44,7 @@ module Primer
43
44
  end
44
45
 
45
46
  # @label Border
47
+ # @snapshot
46
48
  def option_border
47
49
  render Primer::Beta::Blankslate.new(border: true) do |component|
48
50
  component.with_heading(tag: :h2).with_content("Title")
@@ -55,6 +57,7 @@ module Primer
55
57
  # @param narrow [Boolean] toggle
56
58
  # @param spacious [Boolean] toggle
57
59
  # @param border [Boolean] toggle
60
+ # @snapshot
58
61
  def with_icon(narrow: false, spacious: false, border: false)
59
62
  render Primer::Beta::Blankslate.new(narrow: narrow, spacious: spacious, border: border) do |component|
60
63
  component.with_visual_icon(icon: :shield)
@@ -65,6 +68,7 @@ module Primer
65
68
  # @param narrow [Boolean] toggle
66
69
  # @param spacious [Boolean] toggle
67
70
  # @param border [Boolean] toggle
71
+ # @snapshot
68
72
  def with_image(narrow: false, spacious: false, border: false)
69
73
  render Primer::Beta::Blankslate.new(narrow: narrow, spacious: spacious, border: border) do |component|
70
74
  component.with_heading(tag: :h2).with_content("Millions of teams trust GitHub to keep their work safe")
@@ -75,6 +79,7 @@ module Primer
75
79
  # @param narrow [Boolean] toggle
76
80
  # @param spacious [Boolean] toggle
77
81
  # @param border [Boolean] toggle
82
+ # @snapshot
78
83
  def loading(narrow: false, spacious: false, border: false)
79
84
  render Primer::Beta::Blankslate.new(narrow: narrow, spacious: spacious, border: border) do |component|
80
85
  component.with_heading(tag: :h2).with_content("Mirroring your repository")
@@ -86,6 +91,7 @@ module Primer
86
91
  # @param narrow [Boolean] toggle
87
92
  # @param spacious [Boolean] toggle
88
93
  # @param border [Boolean] toggle
94
+ # @snapshot
89
95
  def description(narrow: false, spacious: false, border: false)
90
96
  render Primer::Beta::Blankslate.new(narrow: narrow, spacious: spacious, border: border) do |component|
91
97
  component.with_heading(tag: :h2).with_content("It looks like we have discovered a vulnerability")
@@ -96,6 +102,7 @@ module Primer
96
102
  # @param narrow [Boolean] toggle
97
103
  # @param spacious [Boolean] toggle
98
104
  # @param border [Boolean] toggle
105
+ # @snapshot
99
106
  def primary_action(narrow: false, spacious: false, border: false)
100
107
  render Primer::Beta::Blankslate.new(narrow: narrow, spacious: spacious, border: border) do |component|
101
108
  component.with_heading(tag: :h2).with_content("It looks like we have discovered a vulnerability")
@@ -106,6 +113,7 @@ module Primer
106
113
  # @param narrow [Boolean] toggle
107
114
  # @param spacious [Boolean] toggle
108
115
  # @param border [Boolean] toggle
116
+ # @snapshot
109
117
  def secondary_action(narrow: false, spacious: false, border: false)
110
118
  render Primer::Beta::Blankslate.new(narrow: narrow, spacious: spacious, border: border) do |component|
111
119
  component.with_heading(tag: :h2).with_content("It looks like we have discovered a vulnerability")
@@ -116,6 +124,7 @@ module Primer
116
124
  # @param narrow [Boolean] toggle
117
125
  # @param spacious [Boolean] toggle
118
126
  # @param border [Boolean] toggle
127
+ # @snapshot
119
128
  def full(narrow: false, spacious: false, border: false)
120
129
  render Primer::Beta::Blankslate.new(narrow: narrow, spacious: spacious, border: border) do |component|
121
130
  component.with_visual_icon(icon: :shield)
@@ -20,6 +20,7 @@ module Primer
20
20
  end
21
21
 
22
22
  # @label Default
23
+ # @snapshot
23
24
  def default
24
25
  render(Primer::Beta::BorderBox.new) do |component|
25
26
  component.with_header { "Header" }
@@ -45,6 +46,7 @@ module Primer
45
46
  end
46
47
 
47
48
  # @label Row colors
49
+ # @snapshot
48
50
  def row_colors
49
51
  render(Primer::Beta::BorderBox.new) do |component|
50
52
  component.with_row(scheme: :default) { "Default" }
@@ -69,6 +71,7 @@ module Primer
69
71
  end
70
72
 
71
73
  # @label Condensed
74
+ # @snapshot
72
75
  def padding_condensed
73
76
  render(Primer::Beta::BorderBox.new(padding: :condensed)) do |component|
74
77
  component.with_header { "Header" }
@@ -81,6 +84,7 @@ module Primer
81
84
  end
82
85
 
83
86
  # @label Spacious
87
+ # @snapshot
84
88
  def padding_spacious
85
89
  render(Primer::Beta::BorderBox.new(padding: :spacious)) do |component|
86
90
  component.with_header { "Header" }
@@ -18,6 +18,7 @@ module Primer
18
18
  # @label Default options
19
19
  #
20
20
  # @param number_of_links [Integer] number
21
+ # @snapshot
21
22
  def default(number_of_links: 2)
22
23
  render(Primer::Beta::Breadcrumbs.new) do |component|
23
24
  Array.new(number_of_links || 3) do |i|
@@ -19,6 +19,7 @@ module Primer
19
19
  # @label Default options
20
20
  #
21
21
  # @param size [Symbol] select [medium, small]
22
+ # @snapshot
22
23
  def default(size: :medium)
23
24
  render(Primer::Beta::ButtonGroup.new(size: size)) do |component|
24
25
  component.with_button { "Button 1" }
@@ -30,6 +31,7 @@ module Primer
30
31
  # @label Split button
31
32
  #
32
33
  # @param size [Symbol] select [medium, small]
34
+ # @snapshot
33
35
  def split_button(size: :medium)
34
36
  render(Primer::Beta::ButtonGroup.new(size: size)) do |component|
35
37
  component.with_button { "Button 1" }
@@ -40,6 +42,7 @@ module Primer
40
42
  # @label Icon buttons
41
43
  #
42
44
  # @param size [Symbol] select [medium, small]
45
+ # @snapshot
43
46
  def icon_buttons(size: :medium)
44
47
  render(Primer::Beta::ButtonGroup.new(size: size)) do |component|
45
48
  component.with_button(icon: :note, "aria-label": "button 1")
@@ -49,6 +52,7 @@ module Primer
49
52
  end
50
53
 
51
54
  # @label Button group with all tags
55
+ # @snapshot
52
56
  def all_tags
53
57
  render(Primer::Beta::ButtonGroup.new) do |component|
54
58
  component.with_button(id: "button-1", tag: :button) do |component|
@@ -12,6 +12,7 @@ module Primer
12
12
  # | :outline | :default or :invisible | option for :scheme |
13
13
  # | dropdown | trailing action icon slot | see trailing action preview for markup |
14
14
  #
15
+
15
16
  # @label Playground
16
17
  # @param scheme select [default, primary, danger, invisible, link]
17
18
  # @param size select [small, medium, large]
@@ -130,6 +131,7 @@ module Primer
130
131
  end
131
132
 
132
133
  # @label Invisible all visuals
134
+ # @snapshot
133
135
  def invisible_all_visuals
134
136
  render_with_template(locals: {})
135
137
  end
@@ -138,6 +140,7 @@ module Primer
138
140
  # @param block toggle
139
141
  # @param disabled toggle
140
142
  # @param tag select [a, summary, button]
143
+ # @snapshot
141
144
  def link(
142
145
  id: "button-preview",
143
146
  block: false,
@@ -157,6 +160,7 @@ module Primer
157
160
  end
158
161
 
159
162
  # @label All schemes
163
+ # @snapshot
160
164
  def all_schemes
161
165
  render_with_template(locals: {})
162
166
  end
@@ -164,6 +168,7 @@ module Primer
164
168
  # @label Full width
165
169
  # @param disabled toggle
166
170
  # @param tag select [a, summary, button]
171
+ # @snapshot
167
172
  def full_width(
168
173
  id: "button-preview",
169
174
  tag: :button,
@@ -186,6 +191,7 @@ module Primer
186
191
  # @param size select [small, medium]
187
192
  # @param block toggle
188
193
  # @param align_content select [center, start]
194
+ # @snapshot
189
195
  def link_as_button(
190
196
  scheme: :default,
191
197
  size: :medium,
@@ -212,6 +218,7 @@ module Primer
212
218
  # @param block toggle
213
219
  # @param align_content select [center, start]
214
220
  # @param tag select [a, summary, button]
221
+ # @snapshot
215
222
  def trailing_visual(
216
223
  scheme: :default,
217
224
  size: :medium,
@@ -235,6 +242,7 @@ module Primer
235
242
  # @param size select [small, medium]
236
243
  # @param block toggle
237
244
  # @param align_content select [center, start]
245
+ # @snapshot
238
246
  def leading_visual(
239
247
  scheme: :invisible,
240
248
  size: :medium,
@@ -254,6 +262,7 @@ module Primer
254
262
  # @label Trailing action
255
263
  # @param block toggle
256
264
  # @param align_content select [center, start]
265
+ # @snapshot
257
266
  def trailing_action(
258
267
  block: false,
259
268
  id: "button-preview",
@@ -270,6 +279,7 @@ module Primer
270
279
  # @param block toggle
271
280
  # @param align_content select [center, start]
272
281
  # @param scheme select [default, primary, danger, invisible]
282
+ # @snapshot
273
283
  def trailing_counter(
274
284
  block: false,
275
285
  id: "button-preview",
@@ -16,6 +16,7 @@ module Primer
16
16
  #
17
17
  # @param aria_label [String]
18
18
  # @param value [String]
19
+ # @snapshot
19
20
  def default(value: "Text to copy", aria_label: "Copy text to the system clipboard")
20
21
  render(Primer::Beta::ClipboardCopy.new(value: value, "aria-label": aria_label))
21
22
  end
@@ -24,6 +25,7 @@ module Primer
24
25
  #
25
26
  # @param aria_label [String]
26
27
  # @param value [String]
28
+ # @snapshot
27
29
  def text(value: "Text to copy", aria_label: "Click to copy!")
28
30
  render(Primer::Beta::ClipboardCopy.new(value: value, "aria-label": aria_label)) { "Click to copy!" }
29
31
  end
@@ -15,6 +15,7 @@ module Primer
15
15
  # @label Default options
16
16
  #
17
17
  # @param type [Symbol] select [button, submit]
18
+ # @snapshot
18
19
  def default(type: :button)
19
20
  render(Primer::Beta::CloseButton.new(type: type))
20
21
  end