polaris_view_components 0.10.1 → 0.12.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/README.md +24 -62
- data/app/assets/javascripts/polaris_view_components/autocomplete_controller.js +9 -3
- data/app/assets/javascripts/polaris_view_components/dropzone_controller.js +18 -8
- data/app/assets/javascripts/polaris_view_components/popover_controller.js +39 -13
- data/app/assets/javascripts/polaris_view_components.js +112 -59
- data/app/assets/stylesheets/polaris_view_components/custom.css +27 -8
- data/app/assets/stylesheets/polaris_view_components.css +21 -9
- data/app/components/polaris/autocomplete_component.html.erb +3 -0
- data/app/components/polaris/autocomplete_component.rb +3 -0
- data/app/components/polaris/button_component.html.erb +2 -0
- data/app/components/polaris/card/header_component.html.erb +4 -2
- data/app/components/polaris/data_table/column_component.rb +2 -1
- data/app/components/polaris/data_table_component.html.erb +6 -2
- data/app/components/polaris/data_table_component.rb +10 -0
- data/app/components/polaris/dropzone_component.html.erb +38 -32
- data/app/components/polaris/dropzone_component.rb +4 -1
- data/app/components/polaris/empty_search_results_component.html.erb +15 -0
- data/app/components/polaris/empty_search_results_component.rb +21 -0
- data/app/components/polaris/headless_button.html.erb +2 -0
- data/app/components/polaris/headless_button.rb +1 -1
- data/app/components/polaris/index_table/column_component.rb +2 -1
- data/app/components/polaris/index_table_component.html.erb +3 -5
- data/app/components/polaris/index_table_component.rb +10 -0
- data/app/components/polaris/page_component.html.erb +4 -4
- data/app/components/polaris/page_component.rb +7 -2
- data/app/components/polaris/popover_component.html.erb +26 -16
- data/app/components/polaris/popover_component.rb +6 -1
- data/app/components/polaris/resource_item/shortcut_actions_component.html.erb +21 -0
- data/app/components/polaris/resource_item/shortcut_actions_component.rb +88 -0
- data/app/components/polaris/resource_item_component.html.erb +3 -0
- data/app/components/polaris/resource_item_component.rb +11 -1
- data/app/components/polaris/resource_list_component.html.erb +11 -0
- data/app/components/polaris/resource_list_component.rb +21 -0
- data/app/components/polaris/skeleton_page_component.html.erb +23 -0
- data/app/components/polaris/skeleton_page_component.rb +22 -0
- data/app/helpers/polaris/url_helper.rb +37 -0
- data/app/helpers/polaris/view_helper.rb +2 -0
- data/lib/install/install.rb +57 -0
- data/lib/polaris/view_components/version.rb +1 -1
- data/lib/tasks/polaris_view_components_tasks.rake +6 -0
- metadata +10 -6
- data/lib/generators/polaris_view_components/USAGE +0 -5
- data/lib/generators/polaris_view_components/install_generator.rb +0 -35
- data/lib/generators/polaris_view_components/templates/README +0 -14
- data/lib/generators/polaris_view_components/templates/stimulus_index.js +0 -6
@@ -0,0 +1,88 @@
|
|
1
|
+
class Polaris::ResourceItem::ShortcutActionsComponent < Polaris::Component
|
2
|
+
renders_many :buttons, ->(**system_arguments) do
|
3
|
+
ShortcutActionsButtonComponent.new(
|
4
|
+
persist_actions: @persist_actions,
|
5
|
+
**system_arguments
|
6
|
+
)
|
7
|
+
end
|
8
|
+
|
9
|
+
def initialize(
|
10
|
+
persist_actions: false,
|
11
|
+
wrapper_arguments: {},
|
12
|
+
disclosure_arguments: {},
|
13
|
+
popover_arguments: {},
|
14
|
+
**system_arguments
|
15
|
+
)
|
16
|
+
@persist_actions = persist_actions
|
17
|
+
@wrapper_arguments = wrapper_arguments
|
18
|
+
@disclosure_arguments = disclosure_arguments
|
19
|
+
@popover_arguments = popover_arguments
|
20
|
+
@system_arguments = system_arguments
|
21
|
+
end
|
22
|
+
|
23
|
+
def wrapper_arguments
|
24
|
+
@wrapper_arguments.tap do |opts|
|
25
|
+
opts[:tag] = "div"
|
26
|
+
opts[:classes] = class_names(
|
27
|
+
@wrapper_arguments[:classes],
|
28
|
+
"Polaris-ResourceItem__Actions"
|
29
|
+
)
|
30
|
+
end
|
31
|
+
end
|
32
|
+
|
33
|
+
def disclosure_arguments
|
34
|
+
@disclosure_arguments.tap do |opts|
|
35
|
+
opts[:tag] = "div"
|
36
|
+
opts[:classes] = class_names(
|
37
|
+
@disclosure_arguments[:classes],
|
38
|
+
"Polaris-ResourceItem__Disclosure"
|
39
|
+
)
|
40
|
+
end
|
41
|
+
end
|
42
|
+
|
43
|
+
def popover_arguments
|
44
|
+
{
|
45
|
+
alignment: :right,
|
46
|
+
position: :below,
|
47
|
+
append_to_body: true
|
48
|
+
}.deep_merge(@popover_arguments)
|
49
|
+
end
|
50
|
+
|
51
|
+
def system_arguments
|
52
|
+
@system_arguments.tap do |opts|
|
53
|
+
opts[:segmented] = !@persist_actions
|
54
|
+
end
|
55
|
+
end
|
56
|
+
|
57
|
+
class ShortcutActionsButtonComponent < Polaris::Component
|
58
|
+
attr_reader :content
|
59
|
+
|
60
|
+
def initialize(
|
61
|
+
url:,
|
62
|
+
content:,
|
63
|
+
persist_actions:,
|
64
|
+
action_list_item_arguments: {},
|
65
|
+
**system_arguments
|
66
|
+
)
|
67
|
+
@url = url
|
68
|
+
@content = content
|
69
|
+
@persist_actions = persist_actions
|
70
|
+
@action_list_item_arguments = action_list_item_arguments
|
71
|
+
@system_arguments = system_arguments
|
72
|
+
end
|
73
|
+
|
74
|
+
def system_arguments
|
75
|
+
@system_arguments.tap do |opts|
|
76
|
+
opts[:url] = @url
|
77
|
+
opts[:size] = :slim unless @persist_actions
|
78
|
+
opts[:plain] = true if @persist_actions
|
79
|
+
end
|
80
|
+
end
|
81
|
+
|
82
|
+
def action_list_item_arguments
|
83
|
+
@action_list_item_arguments.tap do |opts|
|
84
|
+
opts[:url] = @url
|
85
|
+
end
|
86
|
+
end
|
87
|
+
end
|
88
|
+
end
|
@@ -26,12 +26,20 @@ module Polaris
|
|
26
26
|
end
|
27
27
|
renders_one :media
|
28
28
|
|
29
|
+
renders_one :shortcut_actions, ->(**system_arguments) do
|
30
|
+
Polaris::ResourceItem::ShortcutActionsComponent.new(
|
31
|
+
persist_actions: @persist_actions,
|
32
|
+
**system_arguments
|
33
|
+
)
|
34
|
+
end
|
35
|
+
|
29
36
|
def initialize(
|
30
37
|
url: nil,
|
31
38
|
vertical_alignment: ALIGNMENT_DEFAULT,
|
32
39
|
cursor: CURSOR_DEFAULT,
|
33
40
|
selectable: false,
|
34
41
|
selected: false,
|
42
|
+
persist_actions: false,
|
35
43
|
offset: false,
|
36
44
|
wrapper_arguments: {},
|
37
45
|
container_arguments: {},
|
@@ -42,6 +50,7 @@ module Polaris
|
|
42
50
|
@cursor = fetch_or_fallback(CURSOR_OPTIONS, cursor, CURSOR_DEFAULT)
|
43
51
|
@selectable = selectable
|
44
52
|
@selected = selected
|
53
|
+
@persist_actions = persist_actions
|
45
54
|
@offset = offset
|
46
55
|
@wrapper_arguments = wrapper_arguments
|
47
56
|
@container_arguments = container_arguments
|
@@ -82,7 +91,8 @@ module Polaris
|
|
82
91
|
args[:classes],
|
83
92
|
"Polaris-ResourceItem",
|
84
93
|
"Polaris-ResourceItem--selectable": @selectable,
|
85
|
-
"Polaris-ResourceItem--selected": @selected
|
94
|
+
"Polaris-ResourceItem--selected": @selected,
|
95
|
+
"Polaris-ResourceItem--persistActions": @persist_actions
|
86
96
|
)
|
87
97
|
prepend_option(args, :style, "cursor: #{@cursor};")
|
88
98
|
prepend_option(args[:data], :action, "click->polaris-resource-item#open")
|
@@ -4,6 +4,17 @@
|
|
4
4
|
<%= filters %>
|
5
5
|
</div>
|
6
6
|
<% end %>
|
7
|
+
|
8
|
+
<% if header_title.present? %>
|
9
|
+
<div class="Polaris-ResourceList__HeaderOuterWrapper">
|
10
|
+
<div class="Polaris-ResourceList__HeaderWrapper">
|
11
|
+
<div class="Polaris-ResourceList__HeaderContentWrapper">
|
12
|
+
<div class="Polaris-ResourceList__HeaderTitleWrapper"><%= header_title %></div>
|
13
|
+
</div>
|
14
|
+
</div>
|
15
|
+
</div>
|
16
|
+
<% end %>
|
17
|
+
|
7
18
|
<%= render(Polaris::BaseComponent.new(**@system_arguments)) do %>
|
8
19
|
<%= content %>
|
9
20
|
<% end %>
|
@@ -5,9 +5,16 @@ module Polaris
|
|
5
5
|
renders_one :filters, Polaris::FiltersComponent
|
6
6
|
|
7
7
|
def initialize(
|
8
|
+
items: [],
|
9
|
+
resource_name: nil,
|
10
|
+
total_items_count: nil,
|
8
11
|
wrapper_arguments: {},
|
9
12
|
**system_arguments
|
10
13
|
)
|
14
|
+
@items = items
|
15
|
+
@resource_name = resource_name
|
16
|
+
@total_items_count = total_items_count
|
17
|
+
|
11
18
|
@wrapper_arguments = wrapper_arguments
|
12
19
|
@wrapper_arguments[:tag] = "div"
|
13
20
|
@wrapper_arguments[:classes] = class_names(
|
@@ -22,5 +29,19 @@ module Polaris
|
|
22
29
|
"Polaris-ResourceList"
|
23
30
|
)
|
24
31
|
end
|
32
|
+
|
33
|
+
def header_title
|
34
|
+
count unless @total_items_count.nil?
|
35
|
+
end
|
36
|
+
|
37
|
+
def resource_string
|
38
|
+
return @resource_name[:singular] if @items.size === 1 && !@total_items_count
|
39
|
+
|
40
|
+
@resource_name[:plural]
|
41
|
+
end
|
42
|
+
|
43
|
+
def count
|
44
|
+
"Showing #{@items.size} of #{@total_items_count} #{resource_string}"
|
45
|
+
end
|
25
46
|
end
|
26
47
|
end
|
@@ -0,0 +1,23 @@
|
|
1
|
+
<%= render Polaris::BaseComponent.new(**system_arguments) do %>
|
2
|
+
<div class="Polaris-SkeletonPage__Header">
|
3
|
+
<div class="Polaris-SkeletonPage__TitleAndPrimaryAction">
|
4
|
+
<div class="Polaris-SkeletonPage__TitleWrapper">
|
5
|
+
<% if @title.present? %>
|
6
|
+
<h1 class="Polaris-SkeletonPage__Title">
|
7
|
+
<%= @title %>
|
8
|
+
</h1>
|
9
|
+
<% else %>
|
10
|
+
<div class="Polaris-SkeletonPage__SkeletonTitle"></div>
|
11
|
+
<% end %>
|
12
|
+
</div>
|
13
|
+
<% if @primary_action %>
|
14
|
+
<div class="Polaris-SkeletonPage__PrimaryAction">
|
15
|
+
<%= polaris_skeleton_display_text(size: :large) %>
|
16
|
+
</div>
|
17
|
+
<% end %>
|
18
|
+
</div>
|
19
|
+
</div>
|
20
|
+
<div class="Polaris-SkeletonPage__Content">
|
21
|
+
<%= content %>
|
22
|
+
</div>
|
23
|
+
<% end %>
|
@@ -0,0 +1,22 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
module Polaris
|
4
|
+
class SkeletonPageComponent < Polaris::Component
|
5
|
+
def initialize(title: nil, primary_action: false, **system_arguments)
|
6
|
+
@title = title
|
7
|
+
@primary_action = primary_action
|
8
|
+
@system_arguments = system_arguments
|
9
|
+
end
|
10
|
+
|
11
|
+
def system_arguments
|
12
|
+
@system_arguments.tap do |opts|
|
13
|
+
opts[:tag] = "div"
|
14
|
+
opts[:role] = "status"
|
15
|
+
opts[:classes] = class_names(
|
16
|
+
@system_arguments[:classes],
|
17
|
+
"Polaris-SkeletonPage__Page"
|
18
|
+
)
|
19
|
+
end
|
20
|
+
end
|
21
|
+
end
|
22
|
+
end
|
@@ -15,5 +15,42 @@ module Polaris
|
|
15
15
|
content
|
16
16
|
end
|
17
17
|
end
|
18
|
+
|
19
|
+
def polaris_link_to(name = nil, options = nil, html_options = nil, &block)
|
20
|
+
html_options, options, name = options, name, block if block
|
21
|
+
options ||= {}
|
22
|
+
|
23
|
+
html_options = convert_options_to_data_attributes(options, html_options)
|
24
|
+
html_options[:classes] = html_options[:class]
|
25
|
+
html_options.delete(:class)
|
26
|
+
|
27
|
+
url = url_target(name, options)
|
28
|
+
|
29
|
+
link = Polaris::LinkComponent.new(url: url, **html_options)
|
30
|
+
link = link.with_content(name) unless block
|
31
|
+
|
32
|
+
render(link, &block)
|
33
|
+
end
|
34
|
+
|
35
|
+
def polaris_mail_to(email_address, name = nil, html_options = {}, &block)
|
36
|
+
html_options, name = name, nil if name.is_a?(Hash)
|
37
|
+
html_options = (html_options || {}).stringify_keys
|
38
|
+
html_options[:classes] = html_options[:class]
|
39
|
+
html_options.delete(:class)
|
40
|
+
|
41
|
+
extras = %w[cc bcc body subject reply_to].map! { |item|
|
42
|
+
option = html_options.delete(item).presence || next
|
43
|
+
"#{item.dasherize}=#{ERB::Util.url_encode(option)}"
|
44
|
+
}.compact
|
45
|
+
extras = extras.empty? ? "" : "?" + extras.join("&")
|
46
|
+
|
47
|
+
encoded_email_address = ERB::Util.url_encode(email_address).gsub("%40", "@")
|
48
|
+
url = "mailto:#{encoded_email_address}#{extras}"
|
49
|
+
|
50
|
+
link = Polaris::LinkComponent.new(url: url, **html_options)
|
51
|
+
link = link.with_content(name || email_address) unless block
|
52
|
+
|
53
|
+
render(link, &block)
|
54
|
+
end
|
18
55
|
end
|
19
56
|
end
|
@@ -24,6 +24,7 @@ module Polaris
|
|
24
24
|
description_list: "Polaris::DescriptionListComponent",
|
25
25
|
display_text: "Polaris::DisplayTextComponent",
|
26
26
|
dropzone: "Polaris::DropzoneComponent",
|
27
|
+
empty_search_results: "Polaris::EmptySearchResultsComponent",
|
27
28
|
empty_state: "Polaris::EmptyStateComponent",
|
28
29
|
exception_list: "Polaris::ExceptionListComponent",
|
29
30
|
footer_help: "Polaris::FooterHelpComponent",
|
@@ -59,6 +60,7 @@ module Polaris
|
|
59
60
|
spinner: "Polaris::SpinnerComponent",
|
60
61
|
skeleton_body_text: "Polaris::SkeletonBodyTextComponent",
|
61
62
|
skeleton_display_text: "Polaris::SkeletonDisplayTextComponent",
|
63
|
+
skeleton_page: "Polaris::SkeletonPageComponent",
|
62
64
|
skeleton_thumbnail: "Polaris::SkeletonThumbnailComponent",
|
63
65
|
spacer: "Polaris::SpacerComponent",
|
64
66
|
tabs: "Polaris::TabsComponent",
|
@@ -0,0 +1,57 @@
|
|
1
|
+
APPLICATION_LAYOUT_PATH = Rails.root.join("app/views/layouts/application.html.erb")
|
2
|
+
IMPORTMAP_BINSTUB = Rails.root.join("bin/importmap")
|
3
|
+
IMPORTMAP_CONFIG_PATH = Rails.root.join("config/importmap.rb")
|
4
|
+
STIMULUS_PATH = Rails.root.join("app/javascript/controllers/index.js")
|
5
|
+
|
6
|
+
if APPLICATION_LAYOUT_PATH.exist?
|
7
|
+
say "Add Polaris styles in application layout"
|
8
|
+
insert_into_file APPLICATION_LAYOUT_PATH.to_s, "\n <%= stylesheet_link_tag \"polaris_view_components\" %>", before: /\s*<\/head>/
|
9
|
+
|
10
|
+
if File.read(APPLICATION_LAYOUT_PATH).include?("<body>")
|
11
|
+
say "Add Polaris inline styles for <body> in application layout"
|
12
|
+
gsub_file APPLICATION_LAYOUT_PATH.to_s, "<body>", "<body style=\"<%= polaris_body_styles %>\">"
|
13
|
+
else
|
14
|
+
say "<body> tag is not found in application layout.", :red
|
15
|
+
say " Replace <body> with <body style=\"<%= polaris_body_styles %>\"> in your custom layour."
|
16
|
+
end
|
17
|
+
else
|
18
|
+
say "Default application.html.erb is missing!", :red
|
19
|
+
say " 1. Add <%= stylesheet_link_tag \"polaris_view_components\" %> within the <head> tag in your custom layout."
|
20
|
+
say " 2. Replace <body> with <body style=\"<%= polaris_body_styles %>\"> in your custom layour."
|
21
|
+
end
|
22
|
+
|
23
|
+
if IMPORTMAP_BINSTUB.exist?
|
24
|
+
importmaps = File.read(IMPORTMAP_CONFIG_PATH)
|
25
|
+
|
26
|
+
unless importmaps.include?("@rails/request.js")
|
27
|
+
say "Pin @rails/request.js dependency"
|
28
|
+
run "bin/importmap pin @rails/request.js --download"
|
29
|
+
end
|
30
|
+
|
31
|
+
say "Pin polaris_view_components"
|
32
|
+
append_to_file IMPORTMAP_CONFIG_PATH do
|
33
|
+
'pin "polaris-view-components", to: "polaris_view_components.js"\n'
|
34
|
+
end
|
35
|
+
else
|
36
|
+
package_json = File.read(Rails.root.join("package.json"))
|
37
|
+
|
38
|
+
unless package_json.include?("@rails/request.js")
|
39
|
+
say "Add @rails/request.js dependency"
|
40
|
+
run "yarn add @rails/request.js"
|
41
|
+
end
|
42
|
+
|
43
|
+
say "Add polaris-view-components package"
|
44
|
+
run "yarn add polaris-view-components"
|
45
|
+
end
|
46
|
+
|
47
|
+
if STIMULUS_PATH.exist?
|
48
|
+
say "Add Polaris Stimulus controllers"
|
49
|
+
append_to_file STIMULUS_PATH do
|
50
|
+
"\nimport { registerPolarisControllers } from \"polaris-view-components\"\nregisterPolarisControllers(Stimulus)\n"
|
51
|
+
end
|
52
|
+
else
|
53
|
+
say "Default Stimulus location is missing: app/javascript/controllers/index.js", :red
|
54
|
+
say " Add to your Stimulus index.js:"
|
55
|
+
say " import { registerPolarisControllers } from \"polaris-view-components\""
|
56
|
+
say " registerPolarisControllers(Stimulus)"
|
57
|
+
end
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: polaris_view_components
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
4
|
+
version: 0.12.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Dan Gamble
|
@@ -9,7 +9,7 @@ authors:
|
|
9
9
|
autorequire:
|
10
10
|
bindir: bin
|
11
11
|
cert_chain: []
|
12
|
-
date: 2022-
|
12
|
+
date: 2022-10-12 00:00:00.000000000 Z
|
13
13
|
dependencies:
|
14
14
|
- !ruby/object:Gem::Dependency
|
15
15
|
name: rails
|
@@ -615,6 +615,8 @@ files:
|
|
615
615
|
- app/components/polaris/display_text_component.rb
|
616
616
|
- app/components/polaris/dropzone_component.html.erb
|
617
617
|
- app/components/polaris/dropzone_component.rb
|
618
|
+
- app/components/polaris/empty_search_results_component.html.erb
|
619
|
+
- app/components/polaris/empty_search_results_component.rb
|
618
620
|
- app/components/polaris/empty_state_component.html.erb
|
619
621
|
- app/components/polaris/empty_state_component.rb
|
620
622
|
- app/components/polaris/exception_list/item_component.html.erb
|
@@ -693,6 +695,8 @@ files:
|
|
693
695
|
- app/components/polaris/progress_bar_component.rb
|
694
696
|
- app/components/polaris/radio_button_component.html.erb
|
695
697
|
- app/components/polaris/radio_button_component.rb
|
698
|
+
- app/components/polaris/resource_item/shortcut_actions_component.html.erb
|
699
|
+
- app/components/polaris/resource_item/shortcut_actions_component.rb
|
696
700
|
- app/components/polaris/resource_item_component.html.erb
|
697
701
|
- app/components/polaris/resource_item_component.rb
|
698
702
|
- app/components/polaris/resource_list_component.html.erb
|
@@ -708,6 +712,8 @@ files:
|
|
708
712
|
- app/components/polaris/skeleton_body_text_component.html.erb
|
709
713
|
- app/components/polaris/skeleton_body_text_component.rb
|
710
714
|
- app/components/polaris/skeleton_display_text_component.rb
|
715
|
+
- app/components/polaris/skeleton_page_component.html.erb
|
716
|
+
- app/components/polaris/skeleton_page_component.rb
|
711
717
|
- app/components/polaris/skeleton_thumbnail_component.rb
|
712
718
|
- app/components/polaris/spacer_component.rb
|
713
719
|
- app/components/polaris/spinner_component.html.erb
|
@@ -741,14 +747,12 @@ files:
|
|
741
747
|
- app/helpers/polaris/view_helper.rb
|
742
748
|
- app/validators/type_validator.rb
|
743
749
|
- config/locales/en.yml
|
744
|
-
- lib/
|
745
|
-
- lib/generators/polaris_view_components/install_generator.rb
|
746
|
-
- lib/generators/polaris_view_components/templates/README
|
747
|
-
- lib/generators/polaris_view_components/templates/stimulus_index.js
|
750
|
+
- lib/install/install.rb
|
748
751
|
- lib/polaris/view_components.rb
|
749
752
|
- lib/polaris/view_components/engine.rb
|
750
753
|
- lib/polaris/view_components/version.rb
|
751
754
|
- lib/polaris_view_components.rb
|
755
|
+
- lib/tasks/polaris_view_components_tasks.rake
|
752
756
|
homepage: https://github.com/baoagency/polaris-view-components
|
753
757
|
licenses:
|
754
758
|
- MIT
|
@@ -1,35 +0,0 @@
|
|
1
|
-
# frozen_string_literal: true
|
2
|
-
|
3
|
-
require "rails/generators/active_record"
|
4
|
-
|
5
|
-
module PolarisViewComponents
|
6
|
-
class InstallGenerator < Rails::Generators::Base
|
7
|
-
source_root File.expand_path("templates", __dir__)
|
8
|
-
|
9
|
-
def add_npm_package
|
10
|
-
say "Adding NPM package", :green
|
11
|
-
run "yarn add polaris-view-components"
|
12
|
-
end
|
13
|
-
|
14
|
-
def add_to_stimulus_controller
|
15
|
-
say "Adding import to to Stimulus controller", :green
|
16
|
-
dir_path = "app/javascript/controllers"
|
17
|
-
empty_directory("app/javascript")
|
18
|
-
empty_directory(dir_path)
|
19
|
-
|
20
|
-
file_path = "#{dir_path}/index.js"
|
21
|
-
|
22
|
-
unless File.exist?(file_path)
|
23
|
-
copy_file "stimulus_index.js", file_path
|
24
|
-
end
|
25
|
-
|
26
|
-
append_to_file file_path do
|
27
|
-
"import { registerPolarisControllers } from \"polaris-view-components\"\nregisterPolarisControllers(Stimulus)"
|
28
|
-
end
|
29
|
-
end
|
30
|
-
|
31
|
-
def show_readme
|
32
|
-
readme "README"
|
33
|
-
end
|
34
|
-
end
|
35
|
-
end
|
@@ -1,14 +0,0 @@
|
|
1
|
-
===============================================================================
|
2
|
-
|
3
|
-
Some manual setup is still required:
|
4
|
-
|
5
|
-
1. Setup Polaris styles in your layouts <head> tag:
|
6
|
-
|
7
|
-
<link rel="stylesheet" href="https://unpkg.com/@shopify/polaris@6.6.0/dist/styles.css" />
|
8
|
-
<%= stylesheet_link_tag 'polaris_view_components' %>
|
9
|
-
|
10
|
-
2. Define Polaris style on your <body> tag:
|
11
|
-
|
12
|
-
<body style="<%= polaris_body_styles %>">
|
13
|
-
|
14
|
-
===============================================================================
|
@@ -1,6 +0,0 @@
|
|
1
|
-
import { Application } from "@hotwired/stimulus"
|
2
|
-
import { definitionsFromContext } from "@hotwired/stimulus-webpack-helpers"
|
3
|
-
|
4
|
-
window.Stimulus = Application.start()
|
5
|
-
const context = require.context("./", true, /\.js$/)
|
6
|
-
Stimulus.load(definitionsFromContext(context))
|