lookbook 0.4.0.beta.2 → 0.4.1

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: b9dc941aff608e601ffdf5e883aaf65a48ec815b40d01db58e85af66c793539d
4
- data.tar.gz: 84e1027d39111c49e101b37dbc9aeaabe63dfcbab2fd3adfaa762de4fd39ee36
3
+ metadata.gz: 6556e23e693e27f706b4989f25c13c75a453ce5582e835e6c380a226840feff8
4
+ data.tar.gz: c28f4d88136a02522fb23adc826ec1066c0800ef6a223451149b4516448d318c
5
5
  SHA512:
6
- metadata.gz: 1f1399cdf6ed3f6184208ffaac1aaf36fd18e8abd5dcec96b73cac5d1384a722b6f742a61c7ec404d5faecd255231bf3f54dff33e2825ce5a4dd0f01c5e2a331
7
- data.tar.gz: 875fb74128ed3cc0f8d72a57245207e8224318d08a8f6f35dc4b627c06e4c0a159501be042917e92340b536a1fbdb81d379fd6b805bccaa70796bfcbbce4dc67
6
+ metadata.gz: 92076777e5a0e2ca449eec799a4702965bc78c12ae1d48f0a7de9276832f02b320f25ecc5384d56aeb5138a953b26a8251ad44756d6a36a58c7fbe84255078e4
7
+ data.tar.gz: e840534cd52b19c9db2b39316739b7ee8df820c96837f59cfd03e96fe99d90778eddc5518ffc5ac0167f61e27f74a2fafaa83642eb7697fd433d34cd09f28550
data/README.md CHANGED
@@ -143,7 +143,7 @@ The following Lookbook-specific tags are available for use:
143
143
 
144
144
  * `@label <label>` -[Customise navigation labels](#-label-text)
145
145
  * `@hidden` - [Prevent items displaying in the navigation](#-hidden)
146
- * `@display <key>:<value>` - [Specify params to pass into the preview template](#-display-key-value)
146
+ * `@display <key> <value>` - [Specify params to pass into the preview template](#-display-key-value)
147
147
  * `@!group <name> ... @!endgroup` - [Render examples in a group on the same page](#-group-name--endgroup)
148
148
 
149
149
  ### 🔖 `@label <text>`
@@ -96,8 +96,8 @@ module Lookbook
96
96
  }
97
97
  end
98
98
  set_params
99
- joined = render_to_string "lookbook/preview_group", locals: {examples: examples}, layout: nil
100
- preview_controller.render_in_layout_to_string(joined, @preview.lookbook_layout || current_layout)
99
+ layout = @preview.lookbook_layout || Rails.configuration.view_component.default_preview_layout || current_layout
100
+ preview_controller.render_in_layout_to_string("lookbook/preview/group", {examples: examples}, layout)
101
101
  else
102
102
  set_params(@example)
103
103
  preview_controller.params[:path] = "#{@preview.preview_name}/#{@example.name}".chomp("/")
@@ -106,10 +106,10 @@ module Lookbook
106
106
  end
107
107
 
108
108
  def set_params(example = nil)
109
- example_params = @preview.lookbook_display_params.deep_merge(example ? example.lookbook_display_params : {})
109
+ example_params = example.nil? ? @preview.display_params : example.display_params
110
110
  preview_controller.params.merge!({
111
111
  lookbook: {
112
- display: Lookbook.config.preview_display_params.deep_merge(example_params)
112
+ display: example_params
113
113
  }
114
114
  })
115
115
  end
@@ -1,4 +1,4 @@
1
- <% examples = node.get_examples %>
1
+ <% examples = node.get_examples.reject(&:hidden?) %>
2
2
  <% if examples.many? %>
3
3
  <%= render "nav/node", node: node, path: show_path(examples.first.path) do %>
4
4
  <% examples.each do |example| %>
@@ -3,6 +3,7 @@
3
3
  <nav class="-mb-px flex space-x-8 cursor-auto">
4
4
  <% panes.each do |key, props| %>
5
5
  <a
6
+ id="inspector-tab-<%= key %>"
6
7
  href="#<%= key %>"
7
8
  class="whitespace-nowrap py-2 px-1 border-b-2 cursor-pointer <%= "!text-gray-300" if props[:disabled] %>"
8
9
  :class="{
@@ -23,7 +24,7 @@
23
24
  <% if props[:clipboard].present? %>
24
25
  <%= render "shared/clipboard" do %><%= h props[:clipboard].strip %><% end %>
25
26
  <% end %>
26
- <div class="flex flex-col h-full overflow-auto">
27
+ <div id="inspector-content-<%= key %>" class="flex flex-col h-full overflow-auto">
27
28
  <%= render "workbench/inspector/#{props[:template]}", key: key, **props %>
28
29
  </div>
29
30
  </div>
@@ -30,7 +30,7 @@ module Lookbook
30
30
 
31
31
  options.preview_controller = vc_options.preview_controller if options.preview_controller.nil?
32
32
  options.preview_srcdoc = true if options.preview_srcdoc.nil?
33
- options.preview_display_params ||= {}
33
+ options.preview_display_params ||= {}.with_indifferent_access
34
34
 
35
35
  options.listen_paths = options.listen_paths.map(&:to_s)
36
36
  options.listen_paths += options.preview_paths
@@ -23,8 +23,8 @@ module Lookbook
23
23
  return @lookbook_examples if @lookbook_examples.present?
24
24
  public_methods = public_instance_methods(false)
25
25
  public_method_objects = code_object.meths.filter { |m| public_methods.include?(m.name) }
26
- visible = public_method_objects.map { |m| PreviewExample.new(m.name.to_s, self) }.reject(&:hidden?)
27
- sorted = Lookbook.config.sort_examples ? visible.sort_by(&:label) : visible
26
+ examples = public_method_objects.map { |m| PreviewExample.new(m.name.to_s, self) }
27
+ sorted = Lookbook.config.sort_examples ? examples.sort_by(&:label) : examples
28
28
  @lookbook_examples = []
29
29
  if code_object.groups.any?
30
30
  sorted.group_by { |m| m.group }.each do |name, examples|
@@ -78,6 +78,10 @@ module Lookbook
78
78
  defined?(@layout) ? @layout : nil
79
79
  end
80
80
 
81
+ def display_params
82
+ Lookbook.config.preview_display_params.deep_merge(lookbook_display_params)
83
+ end
84
+
81
85
  class << self
82
86
  def all
83
87
  ViewComponent::Preview.all.sort_by(&:label)
@@ -14,9 +14,10 @@ module Lookbook
14
14
  render_to_string template, opts
15
15
  end
16
16
 
17
- def render_in_layout_to_string(content, layout_override)
17
+ def render_in_layout_to_string(template, locals, layout_override = nil)
18
+ append_view_path Lookbook::Engine.root.join("app/views")
18
19
  layout = determine_layout(layout_override, prepend_views: false)[:layout]
19
- render_to_string html: content, layout: layout
20
+ render_to_string template, locals: locals, layout: layout
20
21
  end
21
22
  end
22
23
  end
@@ -21,6 +21,10 @@ module Lookbook
21
21
  lookbook_label.presence || name.titleize
22
22
  end
23
23
 
24
+ def display_params
25
+ @preview.display_params.merge(lookbook_display_params)
26
+ end
27
+
24
28
  def method_source
25
29
  code_object.source.split("\n")[1..-2].join("\n").strip_heredoc
26
30
  end
@@ -26,6 +26,10 @@ module Lookbook
26
26
  :group
27
27
  end
28
28
 
29
+ def hidden?
30
+ false
31
+ end
32
+
29
33
  def matchers
30
34
  [@preview.label, label].map { |m| m.gsub(/\s/, "").downcase }
31
35
  end
@@ -21,7 +21,7 @@ module Lookbook
21
21
  end
22
22
 
23
23
  def lookbook_display_params
24
- display_params = {}
24
+ display_params = {}.with_indifferent_access
25
25
  if code_object&.tags(:display).present?
26
26
  code_object.tags(:display).each do |tag|
27
27
  parts = tag.text.strip.match(/^([^\s]*)\s?(.*)$/)
@@ -1,3 +1,3 @@
1
1
  module Lookbook
2
- VERSION = "0.4.0.beta.2"
2
+ VERSION = "0.4.1"
3
3
  end
@@ -11,5 +11,10 @@ namespace :lookbook do
11
11
  contents = file.read
12
12
  File.write(filename, contents.gsub(current_version, new_version))
13
13
  end
14
+
15
+ desc "Build Gem and push to RubyGems"
16
+ task :build_and_push do
17
+ sh("rake build && gem push pkg/lookbook-#{Lookbook::VERSION}.gem")
18
+ end
14
19
  end
15
20
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: lookbook
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.4.0.beta.2
4
+ version: 0.4.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Mark Perkins
@@ -216,7 +216,7 @@ files:
216
216
  - app/views/lookbook/nav/_leaf.html.erb
217
217
  - app/views/lookbook/nav/_node.html.erb
218
218
  - app/views/lookbook/nav/_preview.html.erb
219
- - app/views/lookbook/preview_group.html.erb
219
+ - app/views/lookbook/preview/group.html.erb
220
220
  - app/views/lookbook/shared/_clipboard.html.erb
221
221
  - app/views/lookbook/shared/_header.html.erb
222
222
  - app/views/lookbook/shared/_sidebar.html.erb
@@ -259,9 +259,9 @@ required_ruby_version: !ruby/object:Gem::Requirement
259
259
  version: '0'
260
260
  required_rubygems_version: !ruby/object:Gem::Requirement
261
261
  requirements:
262
- - - ">"
262
+ - - ">="
263
263
  - !ruby/object:Gem::Version
264
- version: 1.3.1
264
+ version: '0'
265
265
  requirements: []
266
266
  rubygems_version: 3.1.2
267
267
  signing_key: