lookbook 1.5.2 → 1.5.4

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: d6dfc00bd48155e8ce1a32cd2ad27668bb1b86a179ecbcce6236ea29f7cd4ef3
4
- data.tar.gz: 30abb627e57ba885312e2b9c4a70f7cfc2a8a27dc6d5fbb6fa721dca38ae913f
3
+ metadata.gz: 635a4d760fc2219791d5e3b3c22b3c20e6187c3d9b7edda5627a6a3298dba4d2
4
+ data.tar.gz: d330347ea2c90d72dd1e0267b4aa4b0b63c6fa9b35a26d247412a22f6246408a
5
5
  SHA512:
6
- metadata.gz: b6634bc5a89fe0b43c389bfeeaf521563d8de55fa2cf8a5778f7471a62bd69949ed79bbbc07a539b87882a0a4802515718a08e5fe7a6637f389c93b8e3bb961f
7
- data.tar.gz: 89e1af478c55cc5f62c532715432f958d8be1651531917828669104ac3b1aa74177fd14162353e583adc9632cb58529c3fa690ac8220b08006b0c568c3e8381d
6
+ metadata.gz: 15ba6a37c350eea559b96479b8960556736705331b1c896bceca062db61aa6f810c022479cd221155c1e22d782742f172ce385f1e059c8517065e9d2c57121b3
7
+ data.tar.gz: b2dbf874e5893ce60687fa44fdc2b44e13a31b13b74e3fbef70ef00573019d9233e25f28fcdfd8982b74c441e20282ff5efc4ba9a56fd8fac2eb3bf81b8b76a9
data/README.md CHANGED
@@ -7,6 +7,14 @@ A tool to help browse, develop, test & document [ViewComponents](https://viewcom
7
7
  [![CI status](https://github.com/ViewComponent/lookbook/actions/workflows/ci.yml/badge.svg?branch=main)](https://github.com/ViewComponent/lookbook/actions/workflows/ci.yml)
8
8
  <br>
9
9
 
10
+ ---
11
+
12
+ ### 🚀 v2.0 beta now available!
13
+
14
+ Find out what's new and how to test it out on the [v2 beta docs site &rarr;](https://v2.lookbook.build/)
15
+
16
+ ---
17
+
10
18
  ## Documentation
11
19
 
12
20
  ✨ **Lookbook guide and API docs**: [lookbook.build](https://lookbook.build)
@@ -3,9 +3,9 @@
3
3
  **@button_attrs,
4
4
  "x-data": prepare_alpine_data,
5
5
  "@click.prevent": "copyToClipboard" do |button| %>
6
- <% button.icon name: @icon, size: icon_size, "x-show": "!copied", cloak: true %>
7
- <%= icon :check, size: icon_size, class: "text-green-500", "x-show": "copied", cloak: true %>
6
+ <% button.with_icon name: @icon, size: icon_size, "x-show": "!copied", cloak: true %>
7
+ <%= icon :check, size: icon_size, class: "text-green-500", "x-show": "copied", cloak: true %>
8
8
  <% if content %>
9
9
  <div x-ref="copyTarget" class="hidden"><%== content %></div>
10
10
  <% end %>
11
- <% end %>
11
+ <% end %>
@@ -44,14 +44,15 @@ module Lookbook
44
44
  display_params = SearchParamParser.call(params[:_display])
45
45
  display_params.each do |name, value|
46
46
  if @dynamic_display_options.key?(name)
47
- cookies["lookbook-display-#{name}"] = value
47
+ cookies["lookbook-display-#{name}"] = value.is_a?(Array) ? value[1] : value
48
48
  end
49
49
  end
50
50
  end
51
51
 
52
52
  @dynamic_display_options.each do |name, opts|
53
53
  choices = opts.is_a?(Hash) ? opts[:choices].to_a : opts
54
- @static_display_options[name] ||= cookies.fetch("lookbook-display-#{name}", choices.first)
54
+ value = choices.first.is_a?(Array) ? choices.first[1] : choices.first
55
+ @static_display_options[name] ||= cookies.fetch("lookbook-display-#{name}", value)
55
56
  end
56
57
 
57
58
  unless params[:_display]
@@ -13,7 +13,7 @@
13
13
  }",
14
14
  "@click.outside": "closeMobileSidebar",
15
15
  cloak: true do %>
16
- <% cache do %>
16
+ <% cache Lookbook::Engine.last_changed do %>
17
17
  <%= lookbook_render :split_layout,
18
18
  alpine_data: "$store.layout.#{@pages.any? && @previews.any? ? "sidebar" : "singleSectionSidebar"}",
19
19
  style: "height: calc(100vh - 2.5rem);" do |layout| %>
@@ -3,11 +3,11 @@
3
3
  <%= icon :alert_triangle, size: 10, class: "text-red-300 mx-auto" %>
4
4
  <div class="mt-3">
5
5
  <h5 class="text-base">
6
- <%== message %>
6
+ <%= message %>
7
7
  </h5>
8
8
  <% if defined?(description) %>
9
9
  <p class="mt-2 opacity-50 text-sm">
10
- <%== description %>
10
+ <%= description %>
11
11
  </p>
12
12
  <% end %>
13
13
  </div>
@@ -43,6 +43,7 @@ module Lookbook
43
43
  initializer "lookbook.file_watcher.pages" do
44
44
  file_watcher.watch(opts.page_paths, opts.page_extensions) do |changes|
45
45
  Engine.pages.load(Engine.page_paths)
46
+ Engine.mark_changed
46
47
  Engine.websocket.broadcast(:reload)
47
48
  run_hooks(:after_change, changes)
48
49
  end
@@ -51,6 +52,7 @@ module Lookbook
51
52
  initializer "lookbook.parser.previews_load_callback" do
52
53
  parser.after_parse do |code_objects|
53
54
  Engine.previews.load(code_objects.all(:class))
55
+ Engine.mark_changed
54
56
  Engine.websocket.broadcast(:reload)
55
57
  end
56
58
  end
@@ -168,6 +170,14 @@ module Lookbook
168
170
  @_previews ||= PreviewCollection.new
169
171
  end
170
172
 
173
+ def mark_changed
174
+ @_last_changed = nil
175
+ end
176
+
177
+ def last_changed
178
+ @_last_changed ||= (Time.now.to_f * 1000).to_i
179
+ end
180
+
171
181
  attr_reader :preview_controller
172
182
  end
173
183
 
@@ -1,3 +1,3 @@
1
1
  module Lookbook
2
- VERSION = "1.5.2"
2
+ VERSION = "1.5.4"
3
3
  end