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.
- checksums.yaml +4 -4
- data/CHANGELOG.md +18 -0
- data/app/assets/styles/primer_view_components.css +1 -1
- data/app/assets/styles/primer_view_components.css.map +1 -1
- data/app/components/primer/alpha/segmented_control.css +1 -1
- data/app/components/primer/alpha/segmented_control.css.map +1 -1
- data/app/components/primer/alpha/select_panel.css +1 -1
- data/app/components/primer/alpha/select_panel.css.json +2 -2
- data/app/components/primer/alpha/select_panel.css.map +1 -1
- data/app/components/primer/alpha/select_panel.html.erb +1 -1
- data/app/components/primer/alpha/select_panel.pcss +5 -2
- data/app/components/primer/beta/button.css +1 -1
- data/app/components/primer/beta/button.css.map +1 -1
- data/app/components/primer/beta/truncate.css +1 -1
- data/app/components/primer/beta/truncate.css.map +1 -1
- data/app/controllers/primer/view_components/action_menu_controller.rb +52 -0
- data/app/controllers/primer/view_components/application_controller.rb +10 -0
- data/app/controllers/primer/view_components/auto_check_controller.rb +41 -0
- data/app/controllers/primer/view_components/auto_complete_test_controller.rb +55 -0
- data/app/controllers/primer/view_components/form_handler_controller.rb +31 -0
- data/app/controllers/primer/view_components/include_fragment_controller.rb +17 -0
- data/app/controllers/primer/view_components/multi_controller.rb +15 -0
- data/app/controllers/primer/view_components/nav_list_items_controller.rb +28 -0
- data/app/controllers/primer/view_components/select_panel_items_controller.rb +122 -0
- data/app/controllers/primer/view_components/toggle_switch_controller.rb +48 -0
- data/app/forms/auto_complete_form.rb +1 -1
- data/app/forms/immediate_validation_form.rb +3 -3
- data/app/lib/primer/forms/acts_as_component.rb +1 -12
- data/app/lib/primer/forms/dsl/text_field_input.rb +1 -1
- data/app/views/primer/view_components/action_menu/deferred.html.erb +22 -0
- data/app/views/primer/view_components/action_menu/deferred_preload.html.erb +5 -0
- data/app/views/primer/view_components/action_menu/form_action.html.erb +2 -0
- data/app/views/primer/view_components/action_menu/landing.html.erb +3 -0
- data/app/views/primer/view_components/auto_check/_error_message.html.erb +1 -0
- data/app/views/primer/view_components/auto_check/_success_message.html.erb +1 -0
- data/app/views/primer/view_components/auto_check/_warning_message.html.erb +4 -0
- data/app/views/primer/view_components/auto_complete_test/index.html.erb +15 -0
- data/app/views/primer/view_components/auto_complete_test/no_results.html.erb +16 -0
- data/app/views/primer/view_components/form_handler/form_action.html.erb +1 -0
- data/app/views/primer/view_components/include_fragment/deferred.html.erb +3 -0
- data/app/views/primer/view_components/nav_list_items/index.html.erb +3 -0
- data/app/views/primer/view_components/select_panel_items/index.html.erb +15 -0
- data/lib/primer/view_components/engine.rb +4 -0
- data/lib/primer/view_components/version.rb +1 -1
- data/previews/primer/alpha/action_menu_preview/multiple_select_form.html.erb +1 -1
- data/previews/primer/alpha/action_menu_preview/single_select_form.html.erb +1 -1
- data/previews/primer/alpha/action_menu_preview/single_select_form_items.html.erb +2 -2
- data/previews/primer/alpha/action_menu_preview/with_actions.html.erb +2 -2
- data/previews/primer/alpha/action_menu_preview.rb +2 -2
- data/previews/primer/alpha/auto_complete_preview.rb +6 -6
- data/previews/primer/alpha/dialog_preview.rb +1 -1
- data/previews/primer/alpha/include_fragment_preview.rb +2 -2
- data/previews/primer/alpha/select_panel_preview/custom_loading_description.html.erb +1 -1
- data/previews/primer/alpha/select_panel_preview/custom_loading_label.html.erb +1 -1
- data/previews/primer/alpha/select_panel_preview/eventually_local_fetch.html.erb +1 -1
- data/previews/primer/alpha/select_panel_preview/eventually_local_fetch_initial_failure.html.erb +1 -1
- data/previews/primer/alpha/select_panel_preview/eventually_local_fetch_no_results.html.erb +1 -1
- data/previews/primer/alpha/select_panel_preview/multiselect_form.html.erb +1 -1
- data/previews/primer/alpha/select_panel_preview/playground.html.erb +1 -1
- data/previews/primer/alpha/select_panel_preview/remote_fetch.html.erb +1 -1
- data/previews/primer/alpha/select_panel_preview/remote_fetch_filter_failure.html.erb +1 -1
- data/previews/primer/alpha/select_panel_preview/remote_fetch_form.html.erb +2 -2
- data/previews/primer/alpha/select_panel_preview/remote_fetch_initial_failure.html.erb +1 -1
- data/previews/primer/alpha/select_panel_preview/remote_fetch_no_results.html.erb +1 -1
- data/previews/primer/alpha/select_panel_preview/single_select_form.html.erb +1 -1
- data/previews/primer/alpha/text_field_preview/input_group_leading_action_menu.html.erb +1 -1
- data/previews/primer/alpha/text_field_preview.rb +3 -3
- data/previews/primer/alpha/toggle_switch_preview.rb +11 -11
- data/previews/primer/beta/auto_complete_preview/with_submit_button.html.erb +1 -1
- data/previews/primer/beta/auto_complete_preview.rb +18 -18
- data/previews/primer/beta/nav_list_preview.rb +2 -2
- data/previews/primer/forms_preview/action_menu_form.html.erb +1 -1
- data/previews/primer/forms_preview/auto_complete_form.html.erb +1 -1
- data/previews/primer/forms_preview/example_toggle_switch_form.html.erb +2 -2
- data/previews/primer/forms_preview/multi_input_form.html.erb +1 -1
- data/previews/primer/forms_preview/select_form.html.erb +1 -1
- data/previews/primer/url_helpers.rb +1 -0
- 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 @@
|
|
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,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,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
|
@@ -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
|
)
|
@@ -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,
|
data/previews/primer/alpha/select_panel_preview/eventually_local_fetch_initial_failure.html.erb
CHANGED
@@ -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,
|
@@ -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
|