lookbook 1.0.3 → 1.0.8

Sign up to get free protection for your applications and to get access to all the features.
Files changed (36) hide show
  1. checksums.yaml +4 -4
  2. data/app/assets/lookbook/js/app.js +1 -0
  3. data/app/assets/lookbook/js/lib/socket.js +9 -5
  4. data/app/components/lookbook/base_component.rb +10 -2
  5. data/app/components/lookbook/copy_button/component.rb +1 -1
  6. data/app/components/lookbook/dimensions_display/component.rb +1 -4
  7. data/app/components/lookbook/embed/component.rb +1 -1
  8. data/app/components/lookbook/icon/component.rb +1 -5
  9. data/app/components/lookbook/nav/component.html.erb +1 -1
  10. data/app/components/lookbook/nav/item/component.rb +2 -2
  11. data/app/components/lookbook/params_editor/field/component.rb +1 -1
  12. data/app/components/lookbook/tabs/component.js +2 -2
  13. data/app/controllers/lookbook/application_controller.rb +10 -1
  14. data/app/controllers/lookbook/pages_controller.rb +0 -1
  15. data/app/controllers/lookbook/previews_controller.rb +9 -6
  16. data/app/helpers/lookbook/component_helper.rb +2 -1
  17. data/app/views/layouts/lookbook/application.html.erb +6 -36
  18. data/app/views/lookbook/index.html.erb +2 -2
  19. data/app/views/lookbook/previews/show.html.erb +1 -1
  20. data/config/routes.rb +1 -1
  21. data/lib/lookbook/config.rb +7 -3
  22. data/lib/lookbook/data.rb +2 -2
  23. data/lib/lookbook/engine.rb +34 -50
  24. data/lib/lookbook/parser.rb +19 -11
  25. data/lib/lookbook/preview.rb +22 -76
  26. data/lib/lookbook/preview_controller.rb +19 -1
  27. data/lib/lookbook/preview_example.rb +12 -5
  28. data/lib/lookbook/source_inspector.rb +2 -2
  29. data/lib/lookbook/store.rb +2 -2
  30. data/lib/lookbook/version.rb +1 -1
  31. data/lib/tasks/lookbook_tasks.rake +1 -2
  32. data/public/lookbook-assets/css/lookbook.css +8 -34
  33. data/public/lookbook-assets/css/lookbook.css.map +1 -1
  34. data/public/lookbook-assets/js/lookbook.js +174 -120
  35. data/public/lookbook-assets/js/lookbook.js.map +1 -1
  36. metadata +2 -2
@@ -5,9 +5,9 @@ module Lookbook
5
5
  delegate :name, :render_args, to: :@preview
6
6
  delegate :position, :group, :notes, :hidden?, :tags, :tag, to: :@preview_inspector
7
7
 
8
- def initialize(preview)
8
+ def initialize(preview, code_object)
9
9
  @preview = preview
10
- @preview_inspector = SourceInspector.new(@preview.name)
10
+ @preview_inspector = SourceInspector.new(code_object)
11
11
  super(preview_class_path(@preview.name))
12
12
  end
13
13
 
@@ -35,7 +35,7 @@ module Lookbook
35
35
  return @examples if @examples.present?
36
36
  public_methods = @preview.public_instance_methods(false)
37
37
  public_method_objects = @preview_inspector&.methods&.select { |m| public_methods.include?(m.name) }
38
- examples = (public_method_objects || []).map { |m| PreviewExample.new(m.name.to_s, self) }
38
+ examples = (public_method_objects || []).map { |m| PreviewExample.new(m.name.to_s, self, m) }
39
39
  sorted = Lookbook.config.sort_examples ? examples.sort_by(&:label) : examples
40
40
  @examples = []
41
41
  if @preview_inspector&.groups&.any?
@@ -109,6 +109,9 @@ module Lookbook
109
109
 
110
110
  protected
111
111
 
112
+ @preview_objects = nil
113
+ @previews = nil
114
+
112
115
  def guess_component
113
116
  name.chomp("Preview").constantize
114
117
  rescue
@@ -129,26 +132,20 @@ module Lookbook
129
132
  end
130
133
 
131
134
  def all
132
- load_previews if preview_files.size > ViewComponent::Preview.descendants.size
133
-
134
- @previews = nil if cache_stale?
135
- return @previews unless @previews.nil?
136
-
137
- previews = ViewComponent::Preview.descendants.map do |p|
138
- new(p)
139
- rescue
140
- Rails.logger.error "[lookbook] error instantiating preview\n#{exception.full_message}"
141
- end
142
-
143
- if errors.any?
144
- errors.each do |error|
145
- Rails.logger.error "[lookbook] preview error\n#{error.full_message}\n"
146
- end
135
+ if @previews.nil? && @preview_objects.present?
136
+ previews = @preview_objects.map do |code_object|
137
+ klass = code_object.path.constantize
138
+ new(klass, code_object) if klass.ancestors.include?(ViewComponent::Preview)
139
+ rescue => exception
140
+ Lookbook.logger.error Lookbook::Error.new(exception)
141
+ nil
142
+ end.compact
143
+
144
+ sorted_previews = previews.compact.sort_by { |preview| [preview.position, preview.label] }
145
+ @previews = PreviewCollection.new(sorted_previews)
146
+ else
147
+ PreviewCollection.new([])
147
148
  end
148
-
149
- sorted_previews = previews.compact.sort_by { |preview| [preview.position, preview.label] }
150
- @previews = PreviewCollection.new(sorted_previews)
151
- mark_as_cached if Lookbook.config.listen == true
152
149
  @previews
153
150
  end
154
151
 
@@ -156,60 +153,9 @@ module Lookbook
156
153
  @errors ||= []
157
154
  end
158
155
 
159
- def clear_cache
160
- cache_dir = File.dirname(cache_marker_path)
161
- FileUtils.mkdir_p(cache_dir) unless File.exist?(cache_dir)
162
- File.write(cache_marker_path, Time.now.to_i)
163
- end
164
-
165
- protected
166
-
167
- def cache_marker_path
168
- Rails.root.join("tmp/cache/lookbook-previews")
169
- end
170
-
171
- def cache_stale?
172
- return false if !File.exist?(cache_marker_path)
173
- cache_timestamp = File.read(cache_marker_path).to_i
174
- if @last_cache_timestamp.nil? || cache_timestamp > @last_cache_timestamp
175
- @last_cache_timestamp = cache_timestamp
176
- true
177
- else
178
- false
179
- end
180
- end
181
-
182
- def mark_as_cached
183
- cache_dir = File.dirname(cache_marker_path)
184
- FileUtils.mkdir_p(cache_dir) unless File.exist?(cache_dir)
185
- File.write(cache_marker_path, Time.now)
186
- end
187
-
188
- def load_previews
189
- @errors = []
190
- preview_files.each do |file|
191
- require_dependency file[:path]
192
- rescue SyntaxError, StandardError => exception
193
- @errors.push(
194
- Lookbook::Error.new(exception,
195
- title: "Preview #{exception.class}",
196
- file_name: file[:rel_path],
197
- file_path: file[:path])
198
- )
199
- end
200
- end
201
-
202
- def preview_files
203
- files = Array(Lookbook.config.preview_paths).map do |preview_path|
204
- Dir["#{preview_path}/**/*preview.rb"].map do |path|
205
- {
206
- path: path,
207
- base_path: preview_path,
208
- rel_path: Pathname(path).relative_path_from(Pathname.new(preview_path)).to_s
209
- }
210
- end
211
- end
212
- files.flatten
156
+ def load!(preview_objects)
157
+ @preview_objects = preview_objects
158
+ @previews = nil
213
159
  end
214
160
  end
215
161
 
@@ -11,7 +11,10 @@ module Lookbook
11
11
  opts = {}
12
12
  opts[:layout] = nil
13
13
  opts[:locals] = locals if locals.present?
14
- render html: render_to_string(template, **opts)
14
+
15
+ with_optional_annotations do
16
+ render html: render_to_string(template, **opts)
17
+ end
15
18
  end
16
19
 
17
20
  def render_in_layout_to_string(template, locals, opts = {})
@@ -22,5 +25,20 @@ module Lookbook
22
25
  end
23
26
  render html: html
24
27
  end
28
+
29
+ def with_optional_annotations
30
+ if ActionView::Base.respond_to?(:annotate_rendered_view_with_filenames) && Lookbook.config.preview_disable_action_view_annotations
31
+ original_value = ActionView::Base.annotate_rendered_view_with_filenames
32
+ ActionView::Base.annotate_rendered_view_with_filenames = false
33
+
34
+ res = yield
35
+
36
+ ActionView::Base.annotate_rendered_view_with_filenames = original_value
37
+
38
+ res
39
+ else
40
+ yield
41
+ end
42
+ end
25
43
  end
26
44
  end
@@ -3,10 +3,10 @@ module Lookbook
3
3
  attr_reader :name, :preview
4
4
  delegate :params, :position, :group, :notes, :hidden?, :source, :tags, :tag, to: :@example_inspector
5
5
 
6
- def initialize(name, preview)
6
+ def initialize(name, preview, code_object)
7
7
  @name = name
8
8
  @preview = preview
9
- @example_inspector = SourceInspector.new("#{@preview.name}##{name}")
9
+ @example_inspector = SourceInspector.new(code_object)
10
10
  super("#{@preview.path}/#{name}")
11
11
  end
12
12
 
@@ -27,7 +27,7 @@ module Lookbook
27
27
  end
28
28
 
29
29
  def method_source
30
- @example_inspector.source.split("\n")[1..-2].join("\n").strip_heredoc
30
+ @example_inspector.source.sub(/^def \w+\s?(\([^)]+\))?/m, "").split("\n")[0..-2].join("\n").strip_heredoc.strip
31
31
  end
32
32
 
33
33
  def lang
@@ -35,7 +35,8 @@ module Lookbook
35
35
  end
36
36
 
37
37
  def template_source(template_path)
38
- File.read(full_template_path(template_path))
38
+ source_path = full_template_path(template_path)
39
+ source_path ? File.read(source_path) : nil
39
40
  end
40
41
 
41
42
  def template_lang(template_path)
@@ -56,11 +57,17 @@ module Lookbook
56
57
 
57
58
  protected
58
59
 
60
+ def strip_ext(path)
61
+ path.sub(/\..*$/, "")
62
+ end
63
+
59
64
  def full_template_path(template_path)
65
+ template_path = strip_ext template_path
60
66
  base_path = Array(Lookbook.config.preview_paths).detect do |p|
61
67
  Dir["#{p}/#{template_path}.html.*"].first
62
68
  end
63
- Pathname.new(Dir["#{base_path}/#{template_path}.html.*"].first)
69
+ path = Dir["#{base_path}/#{template_path}.html.*"].first
70
+ path ? Pathname.new(path) : nil
64
71
  end
65
72
 
66
73
  class << self
@@ -5,8 +5,8 @@ module Lookbook
5
5
  attr_reader :code_object
6
6
  delegate :groups, :source, to: :@code_object, allow_nil: true
7
7
 
8
- def initialize(taggable_object_path)
9
- @code_object = Lookbook::Engine.parser.get_code_object(taggable_object_path)
8
+ def initialize(code_object)
9
+ @code_object = code_object
10
10
  end
11
11
 
12
12
  def hidden?
@@ -1,6 +1,6 @@
1
1
  module Lookbook
2
2
  class Store < ActiveSupport::OrderedOptions
3
- def initialize(data = {}, deep = true)
3
+ def initialize(data = {}, deep = false)
4
4
  super()
5
5
  @deep = deep
6
6
  set(data) if data.present?
@@ -42,7 +42,7 @@ module Lookbook
42
42
  end
43
43
 
44
44
  def normalize_value(value)
45
- @deep && value.is_a?(Hash) ? Store.new(value) : value
45
+ @deep && !value.is_a?(Store) && value.is_a?(Hash) ? Store.new(value, @deep) : value
46
46
  end
47
47
  end
48
48
  end
@@ -1,3 +1,3 @@
1
1
  module Lookbook
2
- VERSION = "1.0.3"
2
+ VERSION = "1.0.8"
3
3
  end
@@ -4,8 +4,7 @@ namespace :lookbook do
4
4
  namespace :previews do
5
5
  desc "Preparse the previews"
6
6
  task preparse: :environment do
7
- Lookbook::Engine.parser.parse
8
- puts "Lookbook preview parsing complete"
7
+ puts "The lookbook:preparse task is no longer required and will be removed in v2.0"
9
8
  end
10
9
  end
11
10
  end
@@ -1820,10 +1820,6 @@ pre[class*="language-"] {
1820
1820
  top: 40px;
1821
1821
  }
1822
1822
 
1823
- .left-0 {
1824
- left: 0;
1825
- }
1826
-
1827
1823
  .top-\[39px\] {
1828
1824
  top: 39px;
1829
1825
  }
@@ -1902,10 +1898,6 @@ pre[class*="language-"] {
1902
1898
  margin-top: 2rem;
1903
1899
  }
1904
1900
 
1905
- .ml-2 {
1906
- margin-left: .5rem;
1907
- }
1908
-
1909
1901
  .mt-6 {
1910
1902
  margin-top: 1.5rem;
1911
1903
  }
@@ -1914,6 +1906,10 @@ pre[class*="language-"] {
1914
1906
  margin-top: 3rem;
1915
1907
  }
1916
1908
 
1909
+ .ml-2 {
1910
+ margin-left: .5rem;
1911
+ }
1912
+
1917
1913
  .ml-auto {
1918
1914
  margin-left: auto;
1919
1915
  }
@@ -1998,10 +1994,6 @@ pre[class*="language-"] {
1998
1994
  display: none;
1999
1995
  }
2000
1996
 
2001
- .\!hidden {
2002
- display: none !important;
2003
- }
2004
-
2005
1997
  .h-screen {
2006
1998
  height: 100vh;
2007
1999
  }
@@ -2054,10 +2046,6 @@ pre[class*="language-"] {
2054
2046
  height: auto !important;
2055
2047
  }
2056
2048
 
2057
- .max-h-\[300px\] {
2058
- max-height: 300px;
2059
- }
2060
-
2061
2049
  .max-h-full {
2062
2050
  max-height: 100%;
2063
2051
  }
@@ -2320,11 +2308,6 @@ pre[class*="language-"] {
2320
2308
  border-style: dashed;
2321
2309
  }
2322
2310
 
2323
- .divide-red-200 > :not([hidden]) ~ :not([hidden]) {
2324
- --tw-divide-opacity: 1;
2325
- border-color: rgb(254 202 202 / var(--tw-divide-opacity));
2326
- }
2327
-
2328
2311
  .divide-lookbook-divider > :not([hidden]) ~ :not([hidden]) {
2329
2312
  border-color: var(--lookbook-divider);
2330
2313
  }
@@ -2367,10 +2350,6 @@ pre[class*="language-"] {
2367
2350
  white-space: pre-wrap;
2368
2351
  }
2369
2352
 
2370
- .break-all {
2371
- word-break: break-all;
2372
- }
2373
-
2374
2353
  .rounded-sm {
2375
2354
  border-radius: .125rem;
2376
2355
  }
@@ -2769,11 +2748,6 @@ pre[class*="language-"] {
2769
2748
  color: var(--lookbook-blank-slate-title);
2770
2749
  }
2771
2750
 
2772
- .text-red-800 {
2773
- --tw-text-opacity: 1;
2774
- color: rgb(153 27 27 / var(--tw-text-opacity));
2775
- }
2776
-
2777
2751
  .text-lookbook-icon-button-stroke {
2778
2752
  color: var(--lookbook-icon-button-stroke);
2779
2753
  }
@@ -2844,10 +2818,6 @@ pre[class*="language-"] {
2844
2818
  opacity: .6;
2845
2819
  }
2846
2820
 
2847
- .opacity-80 {
2848
- opacity: .8;
2849
- }
2850
-
2851
2821
  .opacity-0 {
2852
2822
  opacity: 0;
2853
2823
  }
@@ -2876,6 +2846,10 @@ pre[class*="language-"] {
2876
2846
  opacity: .7;
2877
2847
  }
2878
2848
 
2849
+ .opacity-80 {
2850
+ opacity: .8;
2851
+ }
2852
+
2879
2853
  .shadow {
2880
2854
  --tw-shadow: 0 1px 3px 0 #0000001a, 0 1px 2px -1px #0000001a;
2881
2855
  --tw-shadow-colored: 0 1px 3px 0 var(--tw-shadow-color), 0 1px 2px -1px var(--tw-shadow-color);
@@ -1 +1 @@
1
- {"mappings":"AAKE;;;;;AAOD;;;;AAQC;;;;;;;AASA;;;;;AAOA;;;;;;AAMA;;;;AAIA;;;;;AAUA;;;;;AAKA;;;;AAMA;;;;;AAQA;;;;AAIA;;;;;;;AAMD;;;;AAEA;;;;AAMC;;;;;;AAQA;;;;;;;;;;AAcA;;;;AAMA;;;;;;AASA;;;;AAIA;;;;AAIA;;;;AAIA;;;;AAMA;;;;;AAKA;;;;AAKA;;;;;AAKA;;;;AAIA;;;;AAcD;;;;;AAGA;;;;AAEA;;;;;;AAQC;;;;AAKA;;;;;AAMA;;;;AAKA;;;;AAMA;;;;;AAYA;;;;;AAID;;;;;;;;;;;;AAaA;;;;;;;;;;;;;AAWA;;;;;AAGA;;;;AAEA;;;;AAEA;;;;;AAGA;;;;;;;;;AAOA;;;;;;;;;AAOA;;;;;;;;;;;;;;;;;;AAgBA;;;;AAEA;;;;AAEA;;;;;;;;;;;;AAUA;;;;;;;;AAMA;;;;AAEA;;;;AAEA;;;;;AAGA;;;;;;;;;AAOA;;;;;AAGA;;;;;;;;;;AAQA;;;;AAEA;;;;;AAGA;EACG;;;;;AAGD;;;;;;;;;;AAQF;;;;AAEA;;;;;AAGA;;;;;AAGA;;;;AAEA;;;;;;;;;AAOA;;;;AAEA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AA0FA;;;;;AAGA;;;;;;;;AAMA;;;;;;AAIA;;;;;AAGA;;;;AAEA;;;;AAEA;;;;AAEA;;;;;;;AAKA;;;;AAEA;;;;AAEA;;;;AAEA;;;;AAEA;;;;AAEA;;;;AAEA;;;;AAEA;;;;AAEA;;;;AAEA;;;;;;;AAKA;;;;;AAGA;;;;AAEA;;;;;;;AAKA;;;;;;;;;;;;AAUA;;;;AAEA;;;;AAEA;;;;;;;;;AAOA;;;;;AAGA;;;;;;;;;AAOA;;;;;AAGA;;;;;;;;;AAOA;;;;;AAGA;;;;;;;;AAMA;;;;;AAGA;;;;;AAGA;;;;;AAGA;;;;;;;AAKA;;;;;;AAIA;;;;AAIA;;;;AAEA;;;;AAEA;;;;;AAGA;;;;;AAGA;;;;AAEA;;;;AAEA;;;;AAEA;;;;;;;;;;;;;AAcA;;;;;;;;;;;;AAUA;;;;AAIA;;;;;;;;;;AAQA;;;;;AAGA;;;;;;;;;AAOA;;;;;AAGA;;;;AAEA;;;;AAEA;;;;;AAGA;;;;AAEA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAmCA;;;;;AAGA;;;;;AAGA;;;;;AAGA;;;;;AAGA;;;;AAEA;;;;AAEA;;;;;AAGA;;;;AAEA;;;;AAEA;;;;AAEA;;;;AAEA;;;;;AAGA;;;;AAEA;;;;AAEA;;;;AAEA;;;;AAEA;;;;AAEA;;;;AAEA;;;;AAKA;;;;AAEA;;;;AAEA;;;;AAEA;;;;AAEA;;;;;AAGA;;;;;AAGA;;;;;;;AAKA;;;;;;AAIA;;;;;;;AAKA;;;;;;;AAKA;;;;;;;AAKA;;;;;;AAIA;;;;;AAGA;;;;;AAGA;;;;;AAGA;;;;;AAGA;;;;;;AAIA;;;;AAEA;;;;AAEA;;;;AAEA;;;;;;;;;AAUA;;;;;;AAIA;;;;;;AAIA;;;;;AAGA;;;;AAEA;;;;AAEA;;;;;AAGA;;;;AAEA;;;;AAEA;;;;AAEA;;;;AAEA;;;;;AAGA;;;;;AAGA;;;;AAEA;;;;AAEA;;;;AAEA;;;;AAEA;;;;;AAGA;;;;;;AAIA;;;;AAEA;;;;AAEA;;;;AAKA;;;;AAEA;;;;AAEA;;;;AAEA;;;;AAEA;;;;;AAGA;;;;AAEA;;;;AAEA;;;;AAEA;;;;AAEA;;;;AAEA;;;;AAEA;;;;;AAGA;;;;;AAGA;;;;;;;AAKA;;;;;;AAIA;;;;;;;AAKA;;;;;;;AAKA;;;;;;;AAKA;;;;;;AAIA;;;;;AAGA;;;;;AAGA;;;;;AAGA;;;;;AAGA;;;;;;AAIA;;;;AAEA;;;;AAEA;;;;AAEA;;;;;;;;;AAUA;;;;;;AAIA;;;;;;AAIA;;;;;AAGA;;;;AAEA;;;;AAEA;;;;;AAGA;;;;AAEA;;;;AAEA;;;;AAEA;;;;AAEA;;;;;AAGA;;;;;AAGA;;;;AAEA;;;;AAEA;;;;AAEA;;;;AAEA;;;;;AAGA;;;;;;AAIA;;;;AAEA;;;;AAEA;;;;AAKA;;;;AAEA;;;;AAEA;;;;AAEA;;;;AAEA;;;;;AAGA;;;;AAEA;;;;AAEA;;;;AAEA;;;;AAEA;;;;AAEA;;;;AAEA;;;;;AAGA;;;;AAEA;;;;AAEA;;;;AAEA;;;;AAEA;;;;AAEA;;;;AAEA;;;;;AAGA;;;;;;;AAKM;;;;;AAMA;;;;AAIA;;;;;AAGA;;;;;AAGA;;;;;AAGA;;;;;;AAIA;;;;;AAGA;;;;;AAGA;;;;AAEA;;;;AAEA;;;;AAEA;;;;;AAGA;;;;;AAGA;;;;AAEA;;;;AAEA;;;;AAEA;;;;;AAGA;;;;AAEA;;;;AAUA;;;;;AAGA;;;;AAEA;;;;AAEA;;;;AAEA;;;;AAEA;;;;AAEA;;;;AAEA;;;;;AAGA;;;;AAEA;;;;AAEA;;;;;AAMA;;;;AAEA;;;;AAEA;;;;AAEA;;;;AAEA;;;;AAEA;;;;AAQA;;;;AAgBA;;;;AAEA;;;;AAEA;;;;AAEA;;;;AAEA;;;;AAMA;;;;AAEA;;;;;AAGA;;;;;;;;AAMN;;;;;AAGI;;;;;;;AAKc;;;;AAElB;;;;;;;;AAMM;;;;;;;;;;;;;;;;AAcA;;;;;;;;AAMA;;;;;AAGN;;;;;AAGgC;;;;AAEhC;;;;;AAGA;;;;;;;;;AAOA;;;;;;;;;;AAQA;;;;;AAGA;;;;;;AAIA;;;;;AAIA;;;;;AAGA;;;;AAEA;;;;;;;;AAMA;;;;;AAGI;;;;;;;AAKJ;;;;;AAGE;;;;;;;;;;AAQF;;;;;AAGA;;;;;;;;;AAOA;;;;AAEA;;;;AAEA;;;;;AAGA;;;;AAEA;;;;;AAGA;;;;;;;;AAMA;;;;AAEA;;;;AAEA;;;;AAEA;;;;AAEA;;;;AAEA;;;;AAEA;;;;AAEA;;;;AAKA;;;;AAKA;;;;AAEA;;;;AAEA;;;;AAEA;;;;AAEA;;;;AAEA;;;;AAEA;;;;AAEA;;;;AAEA;;;;AAEA;;;;AAEA;;;;AAEA;;;;AAEA;;;;AAEA;;;;AAEA;;;;AAEA;;;;AAEA;;;;AAEA;;;;;AAGA;;;;;AAGA;;;;AAEA;;;;AAEA;;;;AAEA;;;;AAEA;;;;AAEA;;;;AAEA;;;;AAEA;;;;AAEA;;;;AAEA;;;;AAEA;;;;AAEA;;;;AAEA;;;;AAEA;;;;AAEA;;;;AAEA;;;;AAEA;;;;AAEA;;;;AAEA;;;;AAEA;;;;AAEA;;;;AAEA;;;;AAEA;;;;AAEA;;;;AAEA;;;;AAEA;;;;AAEA;;;;AAEA;;;;AAEA;;;;AAEA;;;;AAEA;;;;AAEA;;;;AAEA;;;;AAEA;;;;AAEA;;;;AAEA;;;;AAEA;;;;AAEA;;;;AAEA;;;;AAEA;;;;AAEA;;;;AAEA;;;;AAEA;;;;AAEA;;;;AAEA;;;;AAEA;;;;AAEA;;;;AAEA;;;;AAEA;;;;AAEA;;;;AAEA;;;;AAEA;;;;AAEA;;;;AAEA;;;;AAEA;;;;AAEA;;;;AAEA;;;;AAEA;;;;AAEA;;;;AAEA;;;;AAEA;;;;AAEA;;;;AAEA;;;;AAEA;;;;AAEA;;;;AAEA;;;;AAEA;;;;AAEA;;;;;AAGA;;;;;AAGA;;;;;AAGA;;;;;AAGA;;;;;AAGA;;;;;AAGA;;;;;AAGA;;;;;AAGA;;;;;;AAKA;;;;AAEA;;;;AAEA;;;;AAEA;;;;AAEA;;;;AAEA;;;;AAEA;;;;AAEA;;;;AAEA;;;;AAEA;;;;AAEA;;;;AAEA;;;;AAEA;;;;AAEA;;;;AAEA;;;;AAEA;;;;AAEA;;;;AAEA;;;;AAEA;;;;AAEA;;;;AAEA;;;;AAEA;;;;;;AAIA;;;;;;AAIA;;;;;;AAIA;;;;;;AAIA;;;;;;AAIA;;;;;;AAIA;;;;AAEA;;;;;AAGA;;;;AAEA;;;;AAEA;;;;AAEA;;;;AAEA;;;;AAEA;;;;AAEA;;;;AAEA;;;;;;AAIA;;;;AAEA;;;;AAEA;;;;AAEA;;;;AAEA;;;;AAEA;;;;AAEA;;;;AAEA;;;;AAEA;;;;AAEA;;;;AAEA;;;;AAEA;;;;AAEA;;;;AAEA;;;;AAEA;;;;AAEA;;;;AAEA;;;;AAEA;;;;AAEA;;;;;AAGA;;;;AAEA;;;;;AAGA;;;;;AAGA;;;;AAEA;;;;AAEA;;;;AAEA;;;;;AAGA;;;;;AAGA;;;;;AAGA;;;;AAEA;;;;;AAGA;;;;AAEA;;;;AAEA;;;;AAEA;;;;AAEA;;;;AAEA;;;;;AAGA;;;;AAEA;;;;AAEA;;;;AAEA;;;;AAEA;;;;AAEA;;;;AAEA;;;;AAEA;;;;AAEA;;;;AAEA;;;;AAEA;;;;AAEA;;;;AAEA;;;;AAEA;;;;AAEA;;;;;AAGA;;;;;AAGA;;;;;AAGA;;;;;AAGA;;;;;AAGA;;;;;AAGA;;;;;AAGA;;;;;AAGA;;;;;AAGA;;;;AAEA;;;;AAEA;;;;AAEA;;;;AAEA;;;;AAEA;;;;AAEA;;;;AAEA;;;;AAEA;;;;AAEA;;;;AAEA;;;;AAEA;;;;AAEA;;;;AAEA;;;;AAEA;;;;AAEA;;;;AAEA;;;;AAEA;;;;AAEA;;;;AAEA;;;;AAEA;;;;;AAGA;;;;;AAGA;;;;;AAGA;;;;;AAGA;;;;;AAGA;;;;AAEA;;;;AAEA;;;;AAEA;;;;AAEA;;;;AAEA;;;;AAEA;;;;AAEA;;;;;AAGA;;;;;AAGA;;;;;AAGA;;;;;AAGA;;;;AAEA;;;;;AAGA;;;;AAEA;;;;AAEA;;;;;AAGA;;;;AAEA;;;;AAEA;;;;;AAGA;;;;AAEA;;;;AAEA;;;;AAEA;;;;AAEA;;;;AAEA;;;;AAEA;;;;AAEA;;;;AAEA;;;;AAEA;;;;AAEA;;;;AAEA;;;;AAEA;;;;AAEA;;;;AAEA;;;;AAEA;;;;AAEA;;;;AAEA;;;;AAEA;;;;AAEA;;;;;;AAIA;;;;;;AAIA;;;;;AAGA;;;;AAEA;;;;;;AAIA;;;;;;AAIA;;;;;;AAIA;;;;;;AAIA;;;;AAEA;;;;AAEA;;;;AAEA;;;;AAA6D;;;;AAA+C;;;;;;;;;;;;AAA6L;;;;AAAsD;;;;;;;;AAAmJ;;;;AAAsD;;;;;;;;AAAyJ;;;;AAAsD;;;;;;;AAAkJ;;;;AAAsD;;;;;;;AAAoJ;;;;AAAuG;;;;;;AAA+C;;;;;;;AAA6F;;;;;;AAA2D;;;;AAAkC;;;;;;;AAAsH;;;;;;;AAAyH;;;;;;;AAA0H;;;;;;;AAA2H;;;;AAA2F;;;;AAAiG;;;;AAA6F;;;;AAA+F;;;;AAAkC;;;;;;;;AAAuG;;;;;;;;AAOx4E;;;;AAEE;;;;AAEA;;;;AAEA;;;;AAEA;;;;;;;;;;;AASF;;;;;;AAIA;;;;AAEE;;;;AAEA;;;;AAEA;;;;AAEA;;;;AAEF;;;;;AAGA;;;;AAEA;;;;;AAGA;;;;;AAGA;;;;AAEA;;;;AAEA;;;;AAEA;;;;AAEA;;;;AAEA;;;;;AAGA;;;;;;AAIA;;;;;;AAIA;;;;AAEA;;;;;AAGA;;;;AAEA;EAEC;;;;;EAKA","sources":["app/assets/lookbook/css/lookbook.css"],"sourcesContent":["@import \"tailwindcss/base\";\n@import \"tailwindcss/components\";\n@import \"tailwindcss/utilities\";\n\n@import \"./tooltip.css\";\n\n@import-glob \"../../../components/lookbook/**/*/component.css\";\n\n@layer base {\n html {\n @apply scroll-smooth h-screen;\n }\n\n @media screen and (prefers-reduced-motion: reduce) {\n html {\n @apply scroll-auto;\n }\n }\n\n body {\n @apply text-lookbook-text font-sans text-sm antialiased overflow-hidden;\n }\n\n [x-cloak] {\n @apply !hidden;\n }\n\n pre[class*=\"language-\"] {\n @apply !p-0 !m-0;\n }\n\n ::-webkit-scrollbar {\n @apply w-1 h-1;\n }\n\n ::-webkit-scrollbar-track {\n @apply bg-transparent;\n }\n\n ::-webkit-scrollbar-thumb {\n @apply transition-colors rounded-full\tbg-clip-content bg-lookbook-scrollbar;\n }\n\n ::-webkit-scrollbar-thumb:hover {\n @apply bg-lookbook-scrollbar-hover;\n }\n}\n\n@layer components {\n .form-input {\n @apply text-lookbook-input-text placeholder:text-lookbook-input-text-placeholder placeholder:italic;\n @apply border-lookbook-input-border focus:ring-lookbook-input-border-focus focus:border-lookbook-input-border-focus;\n @apply rounded-md text-sm w-full bg-lookbook-input-bg;\n }\n}\n"],"names":[],"version":3,"file":"lookbook.css.map"}
1
+ {"mappings":"AAKE;;;;;AAOD;;;;AAQC;;;;;;;AASA;;;;;AAOA;;;;;;AAMA;;;;AAIA;;;;;AAUA;;;;;AAKA;;;;AAMA;;;;;AAQA;;;;AAIA;;;;;;;AAMD;;;;AAEA;;;;AAMC;;;;;;AAQA;;;;;;;;;;AAcA;;;;AAMA;;;;;;AASA;;;;AAIA;;;;AAIA;;;;AAIA;;;;AAMA;;;;;AAKA;;;;AAKA;;;;;AAKA;;;;AAIA;;;;AAcD;;;;;AAGA;;;;AAEA;;;;;;AAQC;;;;AAKA;;;;;AAMA;;;;AAKA;;;;AAMA;;;;;AAYA;;;;;AAID;;;;;;;;;;;;AAaA;;;;;;;;;;;;;AAWA;;;;;AAGA;;;;AAEA;;;;AAEA;;;;;AAGA;;;;;;;;;AAOA;;;;;;;;;AAOA;;;;;;;;;;;;;;;;;;AAgBA;;;;AAEA;;;;AAEA;;;;;;;;;;;;AAUA;;;;;;;;AAMA;;;;AAEA;;;;AAEA;;;;;AAGA;;;;;;;;;AAOA;;;;;AAGA;;;;;;;;;;AAQA;;;;AAEA;;;;;AAGA;EACG;;;;;AAGD;;;;;;;;;;AAQF;;;;AAEA;;;;;AAGA;;;;;AAGA;;;;AAEA;;;;;;;;;AAOA;;;;AAEA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AA0FA;;;;;AAGA;;;;;;;;AAMA;;;;;;AAIA;;;;;AAGA;;;;AAEA;;;;AAEA;;;;AAEA;;;;;;;AAKA;;;;AAEA;;;;AAEA;;;;AAEA;;;;AAEA;;;;AAEA;;;;AAEA;;;;AAEA;;;;AAEA;;;;AAEA;;;;;;;AAKA;;;;;AAGA;;;;AAEA;;;;;;;AAKA;;;;;;;;;;;;AAUA;;;;AAEA;;;;AAEA;;;;;;;;;AAOA;;;;;AAGA;;;;;;;;;AAOA;;;;;AAGA;;;;;;;;;AAOA;;;;;AAGA;;;;;;;;AAMA;;;;;AAGA;;;;;AAGA;;;;;AAGA;;;;;;;AAKA;;;;;;AAIA;;;;AAIA;;;;AAEA;;;;AAEA;;;;;AAGA;;;;;AAGA;;;;AAEA;;;;AAEA;;;;AAEA;;;;;;;;;;;;;AAcA;;;;;;;;;;;;AAUA;;;;AAIA;;;;;;;;;;AAQA;;;;;AAGA;;;;;;;;;AAOA;;;;;AAGA;;;;AAEA;;;;AAEA;;;;;AAGA;;;;AAEA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAmCA;;;;;AAGA;;;;;AAGA;;;;;AAGA;;;;;AAGA;;;;AAEA;;;;AAEA;;;;;AAGA;;;;AAEA;;;;AAEA;;;;AAEA;;;;AAEA;;;;;AAGA;;;;AAEA;;;;AAEA;;;;AAEA;;;;AAEA;;;;AAEA;;;;AAEA;;;;AAKA;;;;AAEA;;;;AAEA;;;;AAEA;;;;AAEA;;;;;AAGA;;;;;AAGA;;;;;;;AAKA;;;;;;AAIA;;;;;;;AAKA;;;;;;;AAKA;;;;;;;AAKA;;;;;;AAIA;;;;;AAGA;;;;;AAGA;;;;;AAGA;;;;;AAGA;;;;;;AAIA;;;;AAEA;;;;AAEA;;;;AAEA;;;;;;;;;AAUA;;;;;;AAIA;;;;;;AAIA;;;;;AAGA;;;;AAEA;;;;AAEA;;;;;AAGA;;;;AAEA;;;;AAEA;;;;AAEA;;;;AAEA;;;;;AAGA;;;;;AAGA;;;;AAEA;;;;AAEA;;;;AAEA;;;;AAEA;;;;;AAGA;;;;;;AAIA;;;;AAEA;;;;AAEA;;;;AAKA;;;;AAEA;;;;AAEA;;;;AAEA;;;;AAEA;;;;;AAGA;;;;AAEA;;;;AAEA;;;;AAEA;;;;AAEA;;;;AAEA;;;;AAEA;;;;;AAGA;;;;;AAGA;;;;;;;AAKA;;;;;;AAIA;;;;;;;AAKA;;;;;;;AAKA;;;;;;;AAKA;;;;;;AAIA;;;;;AAGA;;;;;AAGA;;;;;AAGA;;;;;AAGA;;;;;;AAIA;;;;AAEA;;;;AAEA;;;;AAEA;;;;;;;;;AAUA;;;;;;AAIA;;;;;;AAIA;;;;;AAGA;;;;AAEA;;;;AAEA;;;;;AAGA;;;;AAEA;;;;AAEA;;;;AAEA;;;;AAEA;;;;;AAGA;;;;;AAGA;;;;AAEA;;;;AAEA;;;;AAEA;;;;AAEA;;;;;AAGA;;;;;;AAIA;;;;AAEA;;;;AAEA;;;;AAKA;;;;AAEA;;;;AAEA;;;;AAEA;;;;AAEA;;;;;AAGA;;;;AAEA;;;;AAEA;;;;AAEA;;;;AAEA;;;;AAEA;;;;AAEA;;;;;AAGA;;;;AAEA;;;;AAEA;;;;AAEA;;;;AAEA;;;;AAEA;;;;AAEA;;;;;AAGA;;;;;;;AAKM;;;;;AAMA;;;;AAIA;;;;;AAGA;;;;;AAGA;;;;;AAGA;;;;;;AAIA;;;;;AAGA;;;;;AAGA;;;;AAEA;;;;AAEA;;;;AAEA;;;;;AAGA;;;;;AAGA;;;;AAEA;;;;AAEA;;;;AAEA;;;;;AAGA;;;;AAEA;;;;AAUA;;;;;AAGA;;;;AAEA;;;;AAEA;;;;AAEA;;;;AAEA;;;;AAEA;;;;AAEA;;;;;AAGA;;;;AAEA;;;;AAEA;;;;;AAMA;;;;AAEA;;;;AAEA;;;;AAEA;;;;AAEA;;;;AAEA;;;;AAQA;;;;AAgBA;;;;AAEA;;;;AAEA;;;;AAEA;;;;AAEA;;;;AAMA;;;;AAEA;;;;;AAGA;;;;;;;;AAMN;;;;;AAGI;;;;;;;AAKc;;;;AAElB;;;;;;;;AAMM;;;;;;;;;;;;;;;;AAcA;;;;;;;;AAMA;;;;;AAGN;;;;;AAGgC;;;;AAEhC;;;;;AAGA;;;;;;;;;AAOA;;;;;;;;;;AAQA;;;;;AAGA;;;;;;AAIA;;;;;AAIA;;;;;AAGA;;;;AAEA;;;;;;;;AAMA;;;;;AAGI;;;;;;;AAKJ;;;;;AAGE;;;;;;;;;;AAQF;;;;;AAGA;;;;;;;;;AAOA;;;;AAEA;;;;AAEA;;;;;AAGA;;;;AAEA;;;;;AAGA;;;;;;;;AAMA;;;;AAEA;;;;AAEA;;;;AAEA;;;;AAEA;;;;AAEA;;;;AAEA;;;;AAEA;;;;AAKA;;;;AAKA;;;;AAEA;;;;AAEA;;;;AAEA;;;;AAEA;;;;AAEA;;;;AAEA;;;;AAEA;;;;AAEA;;;;AAEA;;;;AAEA;;;;AAEA;;;;AAEA;;;;AAEA;;;;AAEA;;;;AAEA;;;;AAEA;;;;;AAGA;;;;;AAGA;;;;AAEA;;;;AAEA;;;;AAEA;;;;AAEA;;;;AAEA;;;;AAEA;;;;AAEA;;;;AAEA;;;;AAEA;;;;AAEA;;;;AAEA;;;;AAEA;;;;AAEA;;;;AAEA;;;;AAEA;;;;AAEA;;;;AAEA;;;;AAEA;;;;AAEA;;;;AAEA;;;;AAEA;;;;AAEA;;;;AAEA;;;;AAEA;;;;AAEA;;;;AAEA;;;;AAEA;;;;AAEA;;;;AAEA;;;;AAEA;;;;AAEA;;;;AAEA;;;;AAEA;;;;AAEA;;;;AAEA;;;;AAEA;;;;AAEA;;;;AAEA;;;;AAEA;;;;AAEA;;;;AAEA;;;;AAEA;;;;AAEA;;;;AAEA;;;;AAEA;;;;AAEA;;;;AAEA;;;;AAEA;;;;AAEA;;;;AAEA;;;;AAEA;;;;AAEA;;;;AAEA;;;;AAEA;;;;AAEA;;;;AAEA;;;;AAEA;;;;AAEA;;;;AAEA;;;;AAEA;;;;AAEA;;;;AAEA;;;;AAEA;;;;AAEA;;;;AAEA;;;;;AAGA;;;;;AAGA;;;;;AAGA;;;;;AAGA;;;;;AAGA;;;;;AAGA;;;;;AAGA;;;;;AAGA;;;;;;AAKA;;;;AAEA;;;;AAEA;;;;AAEA;;;;AAEA;;;;AAEA;;;;AAEA;;;;AAEA;;;;AAEA;;;;AAEA;;;;AAEA;;;;AAEA;;;;AAEA;;;;AAEA;;;;AAEA;;;;AAEA;;;;AAEA;;;;AAEA;;;;AAEA;;;;AAEA;;;;AAEA;;;;AAEA;;;;;;AAIA;;;;;;AAIA;;;;;;AAIA;;;;;;AAIA;;;;;;AAIA;;;;;;AAIA;;;;AAEA;;;;AAEA;;;;AAEA;;;;AAEA;;;;AAEA;;;;AAEA;;;;AAEA;;;;AAEA;;;;;;AAIA;;;;AAEA;;;;AAEA;;;;AAEA;;;;AAEA;;;;AAEA;;;;AAEA;;;;AAEA;;;;AAEA;;;;AAEA;;;;AAEA;;;;AAEA;;;;AAEA;;;;AAEA;;;;AAEA;;;;AAEA;;;;AAEA;;;;AAEA;;;;;AAGA;;;;AAEA;;;;;AAGA;;;;;AAGA;;;;AAEA;;;;AAEA;;;;AAEA;;;;;AAGA;;;;;AAGA;;;;;AAGA;;;;AAEA;;;;;AAGA;;;;AAEA;;;;AAEA;;;;AAEA;;;;AAEA;;;;AAEA;;;;;AAGA;;;;AAEA;;;;AAEA;;;;AAEA;;;;AAEA;;;;AAEA;;;;AAEA;;;;AAEA;;;;AAEA;;;;AAEA;;;;AAEA;;;;AAEA;;;;AAEA;;;;AAEA;;;;AAEA;;;;;AAGA;;;;;AAGA;;;;;AAGA;;;;;AAGA;;;;;AAGA;;;;;AAGA;;;;;AAGA;;;;;AAGA;;;;;AAGA;;;;AAEA;;;;AAEA;;;;AAEA;;;;AAEA;;;;AAEA;;;;AAEA;;;;AAEA;;;;AAEA;;;;AAEA;;;;AAEA;;;;AAEA;;;;AAEA;;;;AAEA;;;;AAEA;;;;AAEA;;;;AAEA;;;;AAEA;;;;AAEA;;;;AAEA;;;;AAEA;;;;;AAGA;;;;;AAGA;;;;;AAGA;;;;;AAGA;;;;;AAGA;;;;AAEA;;;;AAEA;;;;AAEA;;;;AAEA;;;;AAEA;;;;AAEA;;;;AAEA;;;;;AAGA;;;;;AAGA;;;;;AAGA;;;;;AAGA;;;;AAEA;;;;AAEA;;;;AAEA;;;;;AAGA;;;;AAEA;;;;AAEA;;;;;AAGA;;;;AAEA;;;;AAEA;;;;AAEA;;;;AAEA;;;;AAEA;;;;AAEA;;;;AAEA;;;;AAEA;;;;AAEA;;;;AAEA;;;;AAEA;;;;AAEA;;;;AAEA;;;;AAEA;;;;AAEA;;;;AAEA;;;;AAEA;;;;AAEA;;;;AAEA;;;;;;AAIA;;;;;;AAIA;;;;;AAGA;;;;AAEA;;;;;;AAIA;;;;;;AAIA;;;;;;AAIA;;;;;;AAIA;;;;AAEA;;;;AAEA;;;;AAEA;;;;AAA6D;;;;AAA+C;;;;;;;;;;;;AAA6L;;;;AAAsD;;;;;;;;AAAmJ;;;;AAAsD;;;;;;;;AAAyJ;;;;AAAsD;;;;;;;AAAkJ;;;;AAAsD;;;;;;;AAAoJ;;;;AAAuG;;;;;;AAA+C;;;;;;;AAA6F;;;;;;AAA2D;;;;AAAkC;;;;;;;AAAsH;;;;;;;AAAyH;;;;;;;AAA0H;;;;;;;AAA2H;;;;AAA2F;;;;AAAiG;;;;AAA6F;;;;AAA+F;;;;AAAkC;;;;;;;;AAAuG;;;;;;;;AAOx4E;;;;AAEE;;;;AAEA;;;;AAEA;;;;AAEA;;;;;;;;;;;AASF;;;;;;AAIA;;;;AAEE;;;;AAEA;;;;AAEA;;;;AAEA;;;;AAEF;;;;;AAGA;;;;AAEA;;;;;AAGA;;;;;AAGA;;;;AAEA;;;;AAEA;;;;AAEA;;;;AAEA;;;;AAEA;;;;;AAGA;;;;;;AAIA;;;;;;AAIA;;;;AAEA;;;;;AAGA;;;;AAEA;EAEC;;;;;EAKA","sources":["app/assets/lookbook/css/lookbook.css"],"sourcesContent":["@import \"tailwindcss/base\";\n@import \"tailwindcss/components\";\n@import \"tailwindcss/utilities\";\n\n@import \"./tooltip.css\";\n\n@import-glob \"../../../components/lookbook/**/*/component.css\";\n\n@layer base {\n html {\n @apply scroll-smooth h-screen;\n }\n\n @media screen and (prefers-reduced-motion: reduce) {\n html {\n @apply scroll-auto;\n }\n }\n\n body {\n @apply text-lookbook-text font-sans text-sm antialiased overflow-hidden;\n }\n\n [x-cloak] {\n @apply !hidden;\n }\n\n pre[class*=\"language-\"] {\n @apply !p-0 !m-0;\n }\n\n ::-webkit-scrollbar {\n @apply w-1 h-1;\n }\n\n ::-webkit-scrollbar-track {\n @apply bg-transparent;\n }\n\n ::-webkit-scrollbar-thumb {\n @apply transition-colors rounded-full\tbg-clip-content bg-lookbook-scrollbar;\n }\n\n ::-webkit-scrollbar-thumb:hover {\n @apply bg-lookbook-scrollbar-hover;\n }\n}\n\n@layer components {\n .form-input {\n @apply text-lookbook-input-text placeholder:text-lookbook-input-text-placeholder placeholder:italic;\n @apply border-lookbook-input-border focus:ring-lookbook-input-border-focus focus:border-lookbook-input-border-focus;\n @apply rounded-md text-sm w-full bg-lookbook-input-bg;\n }\n}\n"],"names":[],"version":3,"file":"lookbook.css.map"}