primer_view_components 0.43.0 → 0.43.2

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 (78) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +18 -0
  3. data/app/assets/styles/primer_view_components.css +1 -1
  4. data/app/assets/styles/primer_view_components.css.map +1 -1
  5. data/app/components/primer/alpha/segmented_control.css +1 -1
  6. data/app/components/primer/alpha/segmented_control.css.map +1 -1
  7. data/app/components/primer/alpha/select_panel.css +1 -1
  8. data/app/components/primer/alpha/select_panel.css.json +2 -2
  9. data/app/components/primer/alpha/select_panel.css.map +1 -1
  10. data/app/components/primer/alpha/select_panel.html.erb +1 -1
  11. data/app/components/primer/alpha/select_panel.pcss +5 -2
  12. data/app/components/primer/beta/button.css +1 -1
  13. data/app/components/primer/beta/button.css.map +1 -1
  14. data/app/components/primer/beta/truncate.css +1 -1
  15. data/app/components/primer/beta/truncate.css.map +1 -1
  16. data/app/controllers/primer/view_components/action_menu_controller.rb +52 -0
  17. data/app/controllers/primer/view_components/application_controller.rb +10 -0
  18. data/app/controllers/primer/view_components/auto_check_controller.rb +41 -0
  19. data/app/controllers/primer/view_components/auto_complete_test_controller.rb +55 -0
  20. data/app/controllers/primer/view_components/form_handler_controller.rb +31 -0
  21. data/app/controllers/primer/view_components/include_fragment_controller.rb +17 -0
  22. data/app/controllers/primer/view_components/multi_controller.rb +15 -0
  23. data/app/controllers/primer/view_components/nav_list_items_controller.rb +28 -0
  24. data/app/controllers/primer/view_components/select_panel_items_controller.rb +122 -0
  25. data/app/controllers/primer/view_components/toggle_switch_controller.rb +48 -0
  26. data/app/forms/auto_complete_form.rb +1 -1
  27. data/app/forms/immediate_validation_form.rb +3 -3
  28. data/app/lib/primer/forms/acts_as_component.rb +1 -12
  29. data/app/lib/primer/forms/dsl/text_field_input.rb +1 -1
  30. data/app/views/primer/view_components/action_menu/deferred.html.erb +22 -0
  31. data/app/views/primer/view_components/action_menu/deferred_preload.html.erb +5 -0
  32. data/app/views/primer/view_components/action_menu/form_action.html.erb +2 -0
  33. data/app/views/primer/view_components/action_menu/landing.html.erb +3 -0
  34. data/app/views/primer/view_components/auto_check/_error_message.html.erb +1 -0
  35. data/app/views/primer/view_components/auto_check/_success_message.html.erb +1 -0
  36. data/app/views/primer/view_components/auto_check/_warning_message.html.erb +4 -0
  37. data/app/views/primer/view_components/auto_complete_test/index.html.erb +15 -0
  38. data/app/views/primer/view_components/auto_complete_test/no_results.html.erb +16 -0
  39. data/app/views/primer/view_components/form_handler/form_action.html.erb +1 -0
  40. data/app/views/primer/view_components/include_fragment/deferred.html.erb +3 -0
  41. data/app/views/primer/view_components/nav_list_items/index.html.erb +3 -0
  42. data/app/views/primer/view_components/select_panel_items/index.html.erb +15 -0
  43. data/lib/primer/view_components/engine.rb +4 -0
  44. data/lib/primer/view_components/version.rb +1 -1
  45. data/previews/primer/alpha/action_menu_preview/multiple_select_form.html.erb +1 -1
  46. data/previews/primer/alpha/action_menu_preview/single_select_form.html.erb +1 -1
  47. data/previews/primer/alpha/action_menu_preview/single_select_form_items.html.erb +2 -2
  48. data/previews/primer/alpha/action_menu_preview/with_actions.html.erb +2 -2
  49. data/previews/primer/alpha/action_menu_preview.rb +2 -2
  50. data/previews/primer/alpha/auto_complete_preview.rb +6 -6
  51. data/previews/primer/alpha/dialog_preview.rb +1 -1
  52. data/previews/primer/alpha/include_fragment_preview.rb +2 -2
  53. data/previews/primer/alpha/select_panel_preview/custom_loading_description.html.erb +1 -1
  54. data/previews/primer/alpha/select_panel_preview/custom_loading_label.html.erb +1 -1
  55. data/previews/primer/alpha/select_panel_preview/eventually_local_fetch.html.erb +1 -1
  56. data/previews/primer/alpha/select_panel_preview/eventually_local_fetch_initial_failure.html.erb +1 -1
  57. data/previews/primer/alpha/select_panel_preview/eventually_local_fetch_no_results.html.erb +1 -1
  58. data/previews/primer/alpha/select_panel_preview/multiselect_form.html.erb +1 -1
  59. data/previews/primer/alpha/select_panel_preview/playground.html.erb +1 -1
  60. data/previews/primer/alpha/select_panel_preview/remote_fetch.html.erb +1 -1
  61. data/previews/primer/alpha/select_panel_preview/remote_fetch_filter_failure.html.erb +1 -1
  62. data/previews/primer/alpha/select_panel_preview/remote_fetch_form.html.erb +2 -2
  63. data/previews/primer/alpha/select_panel_preview/remote_fetch_initial_failure.html.erb +1 -1
  64. data/previews/primer/alpha/select_panel_preview/remote_fetch_no_results.html.erb +1 -1
  65. data/previews/primer/alpha/select_panel_preview/single_select_form.html.erb +1 -1
  66. data/previews/primer/alpha/text_field_preview/input_group_leading_action_menu.html.erb +1 -1
  67. data/previews/primer/alpha/text_field_preview.rb +3 -3
  68. data/previews/primer/alpha/toggle_switch_preview.rb +11 -11
  69. data/previews/primer/beta/auto_complete_preview/with_submit_button.html.erb +1 -1
  70. data/previews/primer/beta/auto_complete_preview.rb +18 -18
  71. data/previews/primer/beta/nav_list_preview.rb +2 -2
  72. data/previews/primer/forms_preview/action_menu_form.html.erb +1 -1
  73. data/previews/primer/forms_preview/auto_complete_form.html.erb +1 -1
  74. data/previews/primer/forms_preview/example_toggle_switch_form.html.erb +2 -2
  75. data/previews/primer/forms_preview/multi_input_form.html.erb +1 -1
  76. data/previews/primer/forms_preview/select_form.html.erb +1 -1
  77. data/previews/primer/url_helpers.rb +1 -0
  78. metadata +25 -2
@@ -0,0 +1,48 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Primer
4
+ module ViewComponents
5
+ # For toggle switch previews/tests
6
+ # :nocov:
7
+ class ToggleSwitchController < ApplicationController
8
+ class << self
9
+ attr_accessor :last_request
10
+ end
11
+
12
+ rescue_from ActionController::InvalidAuthenticityToken, with: :handle_invalid_authenticity_token
13
+
14
+ before_action :reject_non_ajax_request
15
+
16
+ def create
17
+ # lol this is so not threadsafe
18
+ self.class.last_request = request
19
+
20
+ sleep 1 unless Rails.env.test?
21
+
22
+ if params[:fail] == "true"
23
+ render status: :internal_server_error, plain: "Something went wrong."
24
+ return
25
+ end
26
+
27
+ head :accepted
28
+ end
29
+
30
+ private
31
+
32
+ def handle_invalid_authenticity_token
33
+ render status: :unauthorized, plain: "Bad CSRF token."
34
+ end
35
+
36
+ # this mimics dotcom behavior
37
+ def reject_non_ajax_request
38
+ return if request.headers["HTTP_REQUESTED_WITH"] == "XMLHttpRequest"
39
+
40
+ head :unprocessable_entity
41
+ end
42
+
43
+ def form_params
44
+ params.permit(:value, :authenticity_token)
45
+ end
46
+ end
47
+ end
48
+ end
@@ -9,7 +9,7 @@ class AutoCompleteForm < ApplicationForm
9
9
  name: :fruit,
10
10
  label: "Fruit",
11
11
  caption: "Please enter your favorite fruit",
12
- src: Primer::UrlHelpers.autocomplete_index_path,
12
+ src: Primer::UrlHelpers.primer_view_components.autocomplete_index_path,
13
13
  validation_message: "Something went wrong"
14
14
  )
15
15
 
@@ -8,14 +8,14 @@ class ImmediateValidationForm < ApplicationForm
8
8
  name: :has_error,
9
9
  label: "Will have error",
10
10
  caption: "Every time this checks with the server, it returns an error",
11
- auto_check_src: @view_context.example_check_error_path
11
+ auto_check_src: @view_context.primer_view_components.example_check_error_path
12
12
  )
13
13
 
14
14
  validation_form.text_field(
15
15
  name: :no_error,
16
16
  label: "Will not error",
17
17
  caption: "Will not have an error when it checks the server",
18
- auto_check_src: @view_context.example_check_ok_path,
18
+ auto_check_src: @view_context.primer_view_components.example_check_ok_path,
19
19
  validation_message: "This message will go away once you type something"
20
20
  )
21
21
 
@@ -23,7 +23,7 @@ class ImmediateValidationForm < ApplicationForm
23
23
  name: :random_error,
24
24
  label: "Random error or success",
25
25
  caption: "Server checks will randomly respond with errors or success",
26
- auto_check_src: @view_context.example_check_random_path
26
+ auto_check_src: @view_context.primer_view_components.example_check_random_path
27
27
  )
28
28
  end
29
29
  end
@@ -8,7 +8,7 @@ module Primer
8
8
  module ActsAsComponent
9
9
  # :nodoc:
10
10
  module InstanceMethods
11
- delegate :render, :content_tag, :output_buffer, to: :@view_context
11
+ delegate :render, :content_tag, :output_buffer, :capture, to: :@view_context
12
12
 
13
13
  def render_in(view_context, &block)
14
14
  @view_context = view_context
@@ -16,17 +16,6 @@ module Primer
16
16
  perform_render(&block)
17
17
  end
18
18
 
19
- # This is necessary to restore the functionality changed by https://github.com/rails/rails/pull/47194.
20
- # I would love to remove this at some point, perhaps if we ever decide to replace
21
- # ActsAsComponent with view component.
22
- def capture(*args, &block)
23
- old_buffer = @view_context.output_buffer
24
- @view_context.output_buffer = ActionView::OutputBuffer.new
25
- @view_context.capture(*args, &block)
26
- ensure
27
- @view_context.output_buffer = old_buffer
28
- end
29
-
30
19
  # :nocov:
31
20
  def perform_render(&_block)
32
21
  raise NotImplementedError, "subclasses must implement ##{__method__}."
@@ -20,7 +20,7 @@ module Primer
20
20
  @leading_visual = system_arguments.delete(:leading_visual)
21
21
  @trailing_visual = system_arguments.delete(:trailing_visual)
22
22
  @leading_spinner = !!system_arguments.delete(:leading_spinner)
23
- @clear_button_id = system_arguments.delete(:clear_button_id)
23
+ @clear_button_id = system_arguments.delete(:clear_button_id) || SecureRandom.uuid
24
24
  @inset = system_arguments.delete(:inset)
25
25
  @monospace = system_arguments.delete(:monospace)
26
26
  @auto_check_src = system_arguments.delete(:auto_check_src)
@@ -0,0 +1,22 @@
1
+ <%= render(Primer::Alpha::ActionMenu::List.new(menu_id: "deferred")) do |list| %>
2
+ <% list.with_item(label: "Copy link", value: "", autofocus: true) %>
3
+ <% list.with_item(label: "Quote reply", value: "") %>
4
+ <% list.with_item(label: "Reference in new issue", value: "") %>
5
+ <% list.with_item(
6
+ label: "Show dialog",
7
+ tag: :button,
8
+ content_arguments: { "data-show-dialog-id": "my-dialog" },
9
+ value: "",
10
+ scheme: :danger
11
+ ) %>
12
+ <% end %>
13
+
14
+ <%= render(Primer::Alpha::Dialog.new(id: "my-dialog", title: "Confirm deletion")) do |d| %>
15
+ <%= render(Primer::Alpha::Dialog::Body.new()) do %>
16
+ Are you sure you want to delete this?
17
+ <% end %>
18
+ <%= render(Primer::Alpha::Dialog::Footer.new()) do %>
19
+ <%= render(Primer::Beta::Button.new(data: { "close-dialog-id": "my-dialog" })) { "Cancel" } %>
20
+ <%= render(Primer::Beta::Button.new(scheme: :danger)) { "Delete" } %>
21
+ <% end %>
22
+ <% end %>
@@ -0,0 +1,5 @@
1
+ <%= render(Primer::Alpha::ActionMenu::List.new(menu_id: "deferred-preload")) do |list| %>
2
+ <% list.with_item(label: "Copy link", value: "", autofocus: true) %>
3
+ <% list.with_item(label: "Quote reply", value: "") %>
4
+ <% list.with_item(label: "Reference in new issue", value: "") %>
5
+ <% end %>
@@ -0,0 +1,2 @@
1
+ You selected <%= @value.inspect %><br>
2
+ Other params sent to server: <%= @other_params.inspect %>
@@ -0,0 +1,3 @@
1
+ <div class="action-menu-landing-page">
2
+ Hello world!
3
+ </div>
@@ -0,0 +1 @@
1
+ The name <code><%= input_value %></code> is already taken.
@@ -0,0 +1 @@
1
+ The name <code><%= input_value %></code> is available.
@@ -0,0 +1,4 @@
1
+ The name <strong><%= input_value %></strong> is available.
2
+ <div class="color-fg-muted">
3
+ The name can only contain ASCII letters, digits, and the characters <code>.</code>, <code>-</code> and <code>_</code>.
4
+ </div>
@@ -0,0 +1,15 @@
1
+ <%# erblint:counter DeprecatedComponentsCounter 2 %>
2
+ <% @fruit_list.each do |fruit| %>
3
+ <% if params['version'] == "alpha" %>
4
+ <%= render(Primer::Alpha::AutoComplete::Item.new(value: fruit)) { fruit } %>
5
+ <% else %>
6
+ <%= render(Primer::Beta::AutoComplete::Item.new(value: fruit)) do |component| %>
7
+ <% if @visual_type == "leading" %>
8
+ <% component.with_leading_visual_icon(icon: :"mark-github") %>
9
+ <% elsif @visual_type == "trailing" %>
10
+ <% component.with_trailing_visual_icon(icon: :"mark-github") %>
11
+ <% end %>
12
+ <%= fruit %>
13
+ <% end %>
14
+ <% end %>
15
+ <% end %>
@@ -0,0 +1,16 @@
1
+ <% if @fruit_list.length > 0 %>
2
+ <% @fruit_list.each do |fruit| %>
3
+ <%= render(Primer::Beta::AutoComplete::Item.new(value: fruit)) do |component| %>
4
+ <% if @visual_type == "leading" %>
5
+ <% component.with_leading_visual_icon(icon: :"mark-github") %>
6
+ <% elsif @visual_type == "trailing" %>
7
+ <% component.with_trailing_visual_icon(icon: :"mark-github") %>
8
+ <% end %>
9
+ <%= fruit %>
10
+ <% end %>
11
+ <% end %>
12
+ <% else %>
13
+ <%= render(Primer::Beta::AutoComplete::NoResultItem.new) do %>
14
+ No results!
15
+ <% end %>
16
+ <% end %>
@@ -0,0 +1 @@
1
+ Params sent to server: <%= @form_params.inspect %>
@@ -0,0 +1,3 @@
1
+ <div>
2
+ Hello world!
3
+ </div>
@@ -0,0 +1,3 @@
1
+ <% @data.each do |item_arguments| %>
2
+ <%= render(Primer::Beta::NavList::Item.new(list: @list, **item_arguments)) %>
3
+ <% end %>
@@ -0,0 +1,15 @@
1
+ <% unless results.empty? %>
2
+ <%= render(Primer::Alpha::SelectPanel::ItemList.new(
3
+ select_variant: (params[:select_variant] || :multiple).to_sym,
4
+ aria: {
5
+ label: "options",
6
+ },
7
+ )) do |list| %>
8
+ <% results.each do |result| %>
9
+ <% list.with_item(content_arguments: { data: { value: result[:value] } }, active: result[:selected] || false) do |item| %>
10
+ <% item.with_description { result[:description] } %>
11
+ <%= result[:title] %>
12
+ <% end %>
13
+ <% end %>
14
+ <% end %>
15
+ <% end %>
@@ -27,6 +27,10 @@ module Primer
27
27
  config.primer_view_components.validate_class_names = !Rails.env.production?
28
28
  config.primer_view_components.raise_on_invalid_aria = false
29
29
 
30
+ initializer "primer_view_components.mime_types" do
31
+ Mime::Type.register "text/fragment+html", :html_fragment
32
+ end
33
+
30
34
  initializer "primer_view_components.assets" do |app|
31
35
  app.config.assets.precompile += %w[primer_view_components] if app.config.respond_to?(:assets)
32
36
  end
@@ -6,7 +6,7 @@ module Primer
6
6
  module VERSION
7
7
  MAJOR = 0
8
8
  MINOR = 43
9
- PATCH = 0
9
+ PATCH = 2
10
10
 
11
11
  STRING = [MAJOR, MINOR, PATCH].join(".")
12
12
  end
@@ -1,4 +1,4 @@
1
- <%= form_with(url: action_menu_form_action_path(format: route_format)) do |f| %>
1
+ <%= form_with(url: primer_view_components.action_menu_form_action_path(format: route_format)) do |f| %>
2
2
  <%= render(Primer::Alpha::ActionMenu.new(select_variant: :multiple, dynamic_label: true, dynamic_label_prefix: "Strategy", form_arguments: { builder: f, name: "foo" })) do |menu| %>
3
3
  <% menu.with_show_button { "Strategy" } %>
4
4
  <% menu.with_item(label: "Fast forward", data: { value: "fast_forward" }) %>
@@ -1,4 +1,4 @@
1
- <%= form_with(url: action_menu_form_action_path(format: route_format)) do |f| %>
1
+ <%= form_with(url: primer_view_components.action_menu_form_action_path(format: route_format)) do |f| %>
2
2
  <%= render(Primer::Alpha::ActionMenu.new(select_variant: :single, dynamic_label: true, dynamic_label_prefix: "Strategy", form_arguments: { builder: f, name: "foo" })) do |menu| %>
3
3
  <% menu.with_show_button { "Strategy" } %>
4
4
  <% menu.with_item(label: "Fast forward", data: { value: "fast_forward" }) %>
@@ -2,7 +2,7 @@
2
2
  <% menu.with_show_button { "Group By" } %>
3
3
  <% menu.with_item(
4
4
  label: "Repository",
5
- href: action_menu_form_action_path(format: route_format),
5
+ href: primer_view_components.action_menu_form_action_path(format: route_format),
6
6
  form_arguments: {
7
7
  method: :post,
8
8
  inputs: [{
@@ -16,7 +16,7 @@
16
16
  ) %>
17
17
  <% menu.with_item(
18
18
  label: "Date",
19
- href: action_menu_form_action_path(format: route_format),
19
+ href: primer_view_components.action_menu_form_action_path(format: route_format),
20
20
  form_arguments: {
21
21
  method: :post,
22
22
  inputs: [{
@@ -9,11 +9,11 @@
9
9
  <%= render(Primer::Alpha::ActionMenu.new) do |component| %>
10
10
  <% component.with_show_button { "Trigger" } %>
11
11
  <% component.with_item(label: "Alert", tag: :button, id: "alert-item", disabled: disable_items) %>
12
- <% component.with_item(label: "Navigate", tag: :a, content_arguments: { href: action_menu_landing_path }, disabled: disable_items) %>
12
+ <% component.with_item(label: "Navigate", tag: :a, content_arguments: { href: primer_view_components.action_menu_landing_path }, disabled: disable_items) %>
13
13
  <% component.with_item(label: "Copy text", tag: :"clipboard-copy", content_arguments: { value: "Text to copy" }, disabled: disable_items) %>
14
14
  <% component.with_item(
15
15
  label: "Submit form",
16
- href: action_menu_form_action_path(format: route_format),
16
+ href: primer_view_components.action_menu_form_action_path(format: route_format),
17
17
  form_arguments: {
18
18
  name: "foo", value: "bar", method: :post
19
19
  },
@@ -267,7 +267,7 @@ module Primer
267
267
  # @label With deferred content
268
268
  #
269
269
  def with_deferred_content
270
- render(Primer::Alpha::ActionMenu.new(menu_id: "deferred", src: UrlHelpers.action_menu_deferred_path)) do |menu|
270
+ render(Primer::Alpha::ActionMenu.new(menu_id: "deferred", src: UrlHelpers.primer_view_components.action_menu_deferred_path)) do |menu|
271
271
  menu.with_show_button { "Menu with deferred content" }
272
272
  end
273
273
  end
@@ -275,7 +275,7 @@ module Primer
275
275
  # @label With deferred preloaded content
276
276
  #
277
277
  def with_deferred_preloaded_content
278
- render(Primer::Alpha::ActionMenu.new(menu_id: "deferred-preload", preload: true, src: UrlHelpers.action_menu_deferred_preload_path)) do |menu|
278
+ render(Primer::Alpha::ActionMenu.new(menu_id: "deferred-preload", preload: true, src: UrlHelpers.primer_view_components.action_menu_deferred_preload_path)) do |menu|
279
279
  menu.with_show_button { "Menu with deferred and preloaded content" }
280
280
  end
281
281
  end
@@ -19,7 +19,7 @@ module Primer
19
19
  label_text: label_text,
20
20
  input_id: "input-id",
21
21
  list_id: "test-id",
22
- src: UrlHelpers.autocomplete_index_path(version: "alpha"),
22
+ src: UrlHelpers.primer_view_components.autocomplete_index_path(version: "alpha"),
23
23
  is_label_visible: is_label_visible,
24
24
  is_label_inline: is_label_inline,
25
25
  with_icon: with_icon,
@@ -43,7 +43,7 @@ module Primer
43
43
  label_text: label_text,
44
44
  input_id: "input-id",
45
45
  list_id: "test-id",
46
- src: UrlHelpers.autocomplete_index_path(version: "alpha"),
46
+ src: UrlHelpers.primer_view_components.autocomplete_index_path(version: "alpha"),
47
47
  is_label_visible: is_label_visible,
48
48
  is_label_inline: is_label_inline,
49
49
  with_icon: with_icon,
@@ -63,7 +63,7 @@ module Primer
63
63
  label_text: "Select a fruit",
64
64
  input_id: "input-id-1",
65
65
  list_id: "test-id-1",
66
- src: UrlHelpers.autocomplete_index_path(version: "alpha"),
66
+ src: UrlHelpers.primer_view_components.autocomplete_index_path(version: "alpha"),
67
67
  is_label_visible: false
68
68
  )
69
69
  )
@@ -78,7 +78,7 @@ module Primer
78
78
  label_text: "Select a fruit",
79
79
  input_id: "input-id-2",
80
80
  list_id: "test-id-2",
81
- src: UrlHelpers.autocomplete_index_path(version: "alpha"),
81
+ src: UrlHelpers.primer_view_components.autocomplete_index_path(version: "alpha"),
82
82
  is_label_inline: true
83
83
  )
84
84
  )
@@ -93,7 +93,7 @@ module Primer
93
93
  label_text: "Select a fruit",
94
94
  input_id: "input-id-3",
95
95
  list_id: "test-id-3",
96
- src: UrlHelpers.autocomplete_index_path(version: "alpha"),
96
+ src: UrlHelpers.primer_view_components.autocomplete_index_path(version: "alpha"),
97
97
  with_icon: true
98
98
  )
99
99
  )
@@ -108,7 +108,7 @@ module Primer
108
108
  label_text: "Select a fruit",
109
109
  input_id: "input-id-4",
110
110
  list_id: "test-id-4",
111
- src: UrlHelpers.autocomplete_index_path(version: "alpha"),
111
+ src: UrlHelpers.primer_view_components.autocomplete_index_path(version: "alpha"),
112
112
  is_clearable: true
113
113
  )
114
114
  )
@@ -167,7 +167,7 @@ module Primer
167
167
  subtitle: subtitle,
168
168
  button_text: button_text,
169
169
  show_divider: show_divider,
170
- url: UrlHelpers.autocomplete_index_path
170
+ url: UrlHelpers.primer_view_components.autocomplete_index_path
171
171
  })
172
172
  end
173
173
 
@@ -10,12 +10,12 @@ module Primer
10
10
  # @label Playground
11
11
  # @param loading select [eager, lazy]
12
12
  def playground(loading: :eager)
13
- render(Primer::Alpha::IncludeFragment.new(loading: loading, src: UrlHelpers.include_fragment_deferred_path)) { "Loading..." }
13
+ render(Primer::Alpha::IncludeFragment.new(loading: loading, src: UrlHelpers.primer_view_components.include_fragment_deferred_path)) { "Loading..." }
14
14
  end
15
15
 
16
16
  # @label Default options
17
17
  def default
18
- render(Primer::Alpha::IncludeFragment.new(loading: :eager, src: UrlHelpers.include_fragment_deferred_path)) { "Loading..." }
18
+ render(Primer::Alpha::IncludeFragment.new(loading: :eager, src: UrlHelpers.primer_view_components.include_fragment_deferred_path)) { "Loading..." }
19
19
  end
20
20
  end
21
21
  end
@@ -4,7 +4,7 @@
4
4
  <%= render(Primer::Alpha::SelectPanel.new(
5
5
  id: "select-panel",
6
6
  data: { interaction_subject: subject_id },
7
- src: select_panel_items_path(
7
+ src: primer_view_components.select_panel_items_path(
8
8
  select_variant: :multiple,
9
9
  selected_items: selected_items,
10
10
  ),
@@ -3,7 +3,7 @@
3
3
  <%# We set src and fetch_strategy: :local here to make the loading spinner remain visible %>
4
4
  <%= render(Primer::Alpha::SelectPanel.new(
5
5
  data: { interaction_subject: subject_id },
6
- src: select_panel_items_path(
6
+ src: primer_view_components.select_panel_items_path(
7
7
  select_variant: :multiple,
8
8
  selected_items: selected_items,
9
9
  ),
@@ -2,7 +2,7 @@
2
2
 
3
3
  <%= render(Primer::Alpha::SelectPanel.new(
4
4
  data: { interaction_subject: subject_id },
5
- src: select_panel_items_path,
5
+ src: primer_view_components.select_panel_items_path,
6
6
  select_variant: :multiple,
7
7
  fetch_strategy: :eventually_local,
8
8
  open_on_load: open_on_load,
@@ -2,7 +2,7 @@
2
2
 
3
3
  <%= render(Primer::Alpha::SelectPanel.new(
4
4
  data: { interaction_subject: subject_id },
5
- src: select_panel_items_path(fail: "true"),
5
+ src: primer_view_components.select_panel_items_path(fail: "true"),
6
6
  fetch_strategy: :eventually_local,
7
7
  open_on_load: open_on_load
8
8
  )) do |panel| %>
@@ -2,7 +2,7 @@
2
2
 
3
3
  <%= render(Primer::Alpha::SelectPanel.new(
4
4
  data: { interaction_subject: subject_id },
5
- src: select_panel_items_path(show_results: "false"),
5
+ src: primer_view_components.select_panel_items_path(show_results: "false"),
6
6
  select_variant: :multiple,
7
7
  fetch_strategy: :eventually_local,
8
8
  open_on_load: open_on_load
@@ -1,6 +1,6 @@
1
1
  <% subject_id = SecureRandom.hex %>
2
2
 
3
- <%= form_with(url: generic_form_submission_path(format: route_format)) do |builder| %>
3
+ <%= form_with(url: primer_view_components.generic_form_submission_path(format: route_format)) do |builder| %>
4
4
  <%= render(Primer::Alpha::SelectPanel.new(
5
5
  data: { interaction_subject: subject_id },
6
6
  select_variant: :multiple,
@@ -5,7 +5,7 @@
5
5
 
6
6
  <%= render(Primer::Alpha::SelectPanel.new(
7
7
  data: { interaction_subject: subject_id },
8
- src: select_panel_items_path(
8
+ src: primer_view_components.select_panel_items_path(
9
9
  select_variant: :single,
10
10
  show_results: !simulate_no_results,
11
11
  fail: simulate_failure,
@@ -2,7 +2,7 @@
2
2
 
3
3
  <%= render(Primer::Alpha::SelectPanel.new(
4
4
  data: { interaction_subject: subject_id },
5
- src: select_panel_items_path(
5
+ src: primer_view_components.select_panel_items_path(
6
6
  select_variant: :multiple,
7
7
  selected_items: selected_items,
8
8
  ),
@@ -4,7 +4,7 @@
4
4
  data: { interaction_subject: subject_id },
5
5
  # passing a uuid here causes the request to succeed the first time and fail all subsequent times
6
6
  # set show_results to false to simulate an initial load with no items
7
- src: select_panel_items_path(show_results: show_results.to_s, fail: "true", uuid: SecureRandom.uuid),
7
+ src: primer_view_components.select_panel_items_path(show_results: show_results.to_s, fail: "true", uuid: SecureRandom.uuid),
8
8
  fetch_strategy: :remote,
9
9
  open_on_load: open_on_load,
10
10
  **system_arguments
@@ -1,10 +1,10 @@
1
1
  <% subject_id = SecureRandom.hex %>
2
2
 
3
- <%= form_with(url: generic_form_submission_path(format: route_format)) do |builder| %>
3
+ <%= form_with(url: primer_view_components.generic_form_submission_path(format: route_format)) do |builder| %>
4
4
  <%= render(Primer::Alpha::SelectPanel.new(
5
5
  data: { interaction_subject: subject_id },
6
6
  select_variant: :single,
7
- src: select_panel_items_path(
7
+ src: primer_view_components.select_panel_items_path(
8
8
  select_variant: :single,
9
9
  selected_items: selected_items,
10
10
  ),
@@ -2,7 +2,7 @@
2
2
 
3
3
  <%= render(Primer::Alpha::SelectPanel.new(
4
4
  data: { interaction_subject: subject_id },
5
- src: select_panel_items_path(fail: "true"),
5
+ src: primer_view_components.select_panel_items_path(fail: "true"),
6
6
  fetch_strategy: :remote,
7
7
  open_on_load: open_on_load
8
8
  )) do |panel| %>
@@ -2,7 +2,7 @@
2
2
 
3
3
  <%= render(Primer::Alpha::SelectPanel.new(
4
4
  data: { interaction_subject: subject_id },
5
- src: select_panel_items_path(show_results: "false"),
5
+ src: primer_view_components.select_panel_items_path(show_results: "false"),
6
6
  select_variant: :multiple,
7
7
  fetch_strategy: :remote,
8
8
  open_on_load: open_on_load
@@ -1,6 +1,6 @@
1
1
  <% subject_id = SecureRandom.hex %>
2
2
 
3
- <%= form_with(url: generic_form_submission_path(format: route_format)) do |builder| %>
3
+ <%= form_with(url: primer_view_components.generic_form_submission_path(format: route_format)) do |builder| %>
4
4
  <%= render(Primer::Alpha::SelectPanel.new(
5
5
  data: { interaction_subject: subject_id },
6
6
  select_variant: :single,
@@ -1,5 +1,5 @@
1
1
  <%= render(Primer::BaseComponent.new(tag: :div, flex_items: :center, display: :flex)) do %>
2
- <%= form_with(url: action_menu_form_action_path(format: route_format)) do |f| %>
2
+ <%= form_with(url: primer_view_components.action_menu_form_action_path(format: route_format)) do |f| %>
3
3
  <%= render(Primer::Alpha::ActionMenu.new(select_variant: :single, form_arguments: { builder: f, name: "foo" })) do |menu| %>
4
4
  <% menu.with_show_button(classes: "rounded-right-0 border-right-0") { |button| button.with_trailing_action_icon(icon: :"triangle-down"); "Filter" } %>
5
5
  <% menu.with_item(label: "Fast forward", data: { value: "fast_forward" }) %>
@@ -220,17 +220,17 @@ module Primer
220
220
  #
221
221
  # @label Auto check request ok
222
222
  def with_auto_check_ok
223
- render(Primer::Alpha::TextField.new(auto_check_src: UrlHelpers.example_check_ok_path, name: "my-text-field-18", label: "My text field"))
223
+ render(Primer::Alpha::TextField.new(auto_check_src: UrlHelpers.primer_view_components.example_check_ok_path, name: "my-text-field-18", label: "My text field"))
224
224
  end
225
225
 
226
226
  # @label Auto check request accepted
227
227
  def with_auto_check_accepted
228
- render(Primer::Alpha::TextField.new(auto_check_src: UrlHelpers.example_check_accepted_path, name: "my-text-field-19", label: "My text field"))
228
+ render(Primer::Alpha::TextField.new(auto_check_src: UrlHelpers.primer_view_components.example_check_accepted_path, name: "my-text-field-19", label: "My text field"))
229
229
  end
230
230
 
231
231
  # @label Auto check request error
232
232
  def with_auto_check_error
233
- render(Primer::Alpha::TextField.new(auto_check_src: UrlHelpers.example_check_error_path, name: "my-text-field-20", label: "My text field"))
233
+ render(Primer::Alpha::TextField.new(auto_check_src: UrlHelpers.primer_view_components.example_check_error_path, name: "my-text-field-20", label: "My text field"))
234
234
  end
235
235
  #
236
236
  # @!endgroup