lookbook 1.0.0.beta.2 → 1.0.0.beta.5

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.
Files changed (73) hide show
  1. checksums.yaml +4 -4
  2. data/README.md +180 -40
  3. data/app/components/lookbook/{component.rb → base_component.rb} +7 -5
  4. data/app/components/lookbook/button/component.rb +1 -1
  5. data/app/components/lookbook/button_group/component.rb +1 -1
  6. data/app/components/lookbook/code/component.rb +1 -1
  7. data/app/components/lookbook/copy_button/component.html.erb +3 -3
  8. data/app/components/lookbook/copy_button/component.rb +1 -1
  9. data/app/components/lookbook/dimensions_display/component.rb +1 -1
  10. data/app/components/lookbook/embed/component.html.erb +34 -33
  11. data/app/components/lookbook/embed/component.rb +1 -1
  12. data/app/components/lookbook/filter/component.html.erb +1 -1
  13. data/app/components/lookbook/filter/component.rb +1 -1
  14. data/app/components/lookbook/header/component.html.erb +8 -13
  15. data/app/components/lookbook/header/component.rb +6 -1
  16. data/app/components/lookbook/icon/component.rb +1 -1
  17. data/app/components/lookbook/nav/component.html.erb +4 -8
  18. data/app/components/lookbook/nav/component.rb +6 -8
  19. data/app/components/lookbook/nav/item/component.html.erb +12 -6
  20. data/app/components/lookbook/nav/item/component.rb +10 -3
  21. data/app/components/lookbook/page_tabs/component.html.erb +1 -1
  22. data/app/components/lookbook/page_tabs/component.rb +1 -1
  23. data/app/components/lookbook/params_editor/component.rb +1 -1
  24. data/app/components/lookbook/params_editor/field/component.rb +1 -1
  25. data/app/components/lookbook/prose/component.rb +1 -1
  26. data/app/components/lookbook/split_layout/component.html.erb +1 -1
  27. data/app/components/lookbook/split_layout/component.rb +1 -1
  28. data/app/components/lookbook/tab_panels/component.rb +1 -1
  29. data/app/components/lookbook/tab_panels/panel/component.html.erb +2 -2
  30. data/app/components/lookbook/tab_panels/panel/component.rb +2 -2
  31. data/app/components/lookbook/tabs/component.html.erb +2 -2
  32. data/app/components/lookbook/tabs/component.js +6 -6
  33. data/app/components/lookbook/tabs/component.rb +1 -1
  34. data/app/components/lookbook/tabs/dropdown_tab/component.html.erb +1 -1
  35. data/app/components/lookbook/tabs/dropdown_tab/component.rb +1 -1
  36. data/app/components/lookbook/tabs/tab/component.html.erb +1 -1
  37. data/app/components/lookbook/tabs/tab/component.rb +1 -1
  38. data/app/components/lookbook/tag_component.rb +5 -10
  39. data/app/components/lookbook/toolbar/component.rb +1 -1
  40. data/app/components/lookbook/viewport/component.rb +1 -1
  41. data/app/controllers/lookbook/application_controller.rb +1 -1
  42. data/app/controllers/lookbook/previews_controller.rb +24 -29
  43. data/app/helpers/lookbook/application_helper.rb +6 -0
  44. data/app/helpers/lookbook/component_helper.rb +4 -0
  45. data/app/helpers/lookbook/page_helper.rb +1 -1
  46. data/app/views/layouts/lookbook/application.html.erb +76 -58
  47. data/app/views/layouts/lookbook/page.html.erb +35 -35
  48. data/app/views/layouts/lookbook/shell.html.erb +2 -48
  49. data/app/views/layouts/lookbook/skeleton.html.erb +7 -1
  50. data/app/views/lookbook/404.html.erb +1 -1
  51. data/app/views/lookbook/index.html.erb +24 -11
  52. data/app/views/lookbook/pages/show.html.erb +7 -7
  53. data/app/views/lookbook/previews/panels/_notes.html.erb +1 -1
  54. data/app/views/lookbook/previews/show.html.erb +10 -10
  55. data/lib/lookbook/collection.rb +1 -1
  56. data/lib/lookbook/component.rb +31 -0
  57. data/lib/lookbook/config.rb +101 -40
  58. data/lib/lookbook/engine.rb +88 -18
  59. data/lib/lookbook/markdown.rb +3 -1
  60. data/lib/lookbook/page.rb +6 -2
  61. data/lib/lookbook/parser.rb +1 -4
  62. data/lib/lookbook/preview.rb +59 -12
  63. data/lib/lookbook/preview_example.rb +1 -1
  64. data/lib/lookbook/source_inspector.rb +10 -0
  65. data/lib/lookbook/utils.rb +2 -2
  66. data/lib/lookbook/version.rb +1 -1
  67. data/lib/lookbook.rb +1 -12
  68. data/lib/tasks/lookbook_tasks.rake +1 -1
  69. data/public/lookbook-assets/css/lookbook.css +34 -38
  70. data/public/lookbook-assets/css/lookbook.css.map +1 -1
  71. data/public/lookbook-assets/js/lookbook.js +79 -78
  72. data/public/lookbook-assets/js/lookbook.js.map +1 -1
  73. metadata +4 -3
@@ -8,16 +8,20 @@ module Lookbook
8
8
  autoload :Config, "lookbook/config"
9
9
 
10
10
  class << self
11
+ def version
12
+ Lookbook::VERSION
13
+ end
14
+
11
15
  def config
12
16
  @config ||= Config.new
13
17
  end
14
18
 
15
- def logger
16
- @logger ||= Rails.env.development? ? Logger.new($stdout) : Rails.logger
19
+ def configure
20
+ yield(config)
17
21
  end
18
22
 
19
- def version
20
- Lookbook::VERSION
23
+ def logger
24
+ @logger ||= Rails.env.development? ? Logger.new($stdout) : Rails.logger
21
25
  end
22
26
 
23
27
  def debug_data
@@ -28,8 +32,54 @@ module Lookbook
28
32
  }
29
33
  end
30
34
 
31
- def configure
32
- yield(config)
35
+ def previews
36
+ Preview.all
37
+ end
38
+
39
+ def previews?
40
+ Preview.any?
41
+ end
42
+
43
+ def pages
44
+ Page.all
45
+ end
46
+
47
+ def pages?
48
+ Page.any?
49
+ end
50
+
51
+ def after_initialize(&block)
52
+ add_hook(:after_initialize, block)
53
+ end
54
+
55
+ def before_exit(&block)
56
+ add_hook(:before_exit, block)
57
+ end
58
+
59
+ def after_change(&block)
60
+ add_hook(:after_change, block)
61
+ end
62
+
63
+ def define_panel(name, opts = {})
64
+ config.define_inspector_panel(name, opts)
65
+ end
66
+
67
+ def amend_panel(name, opts = {})
68
+ config.amend_inspector_panel(name, opts)
69
+ end
70
+
71
+ def remove_panel(name)
72
+ config.remove_inspector_panel(name)
73
+ end
74
+
75
+ def broadcast(event_name, data = {})
76
+ Engine.websocket&.broadcast(event_name.to_s, data)
77
+ end
78
+
79
+ protected
80
+
81
+ def add_hook(event_name, block)
82
+ config.hooks[event_name] << block
33
83
  end
34
84
  end
35
85
 
@@ -43,8 +93,10 @@ module Lookbook
43
93
  config.lookbook.preview_paths += config.view_component.preview_paths
44
94
  config.lookbook.preview_controller ||= config.view_component.preview_controller
45
95
 
96
+ config.lookbook.components_path = config.view_component.view_component_path if config.view_component.view_component_path.present?
97
+
46
98
  config.lookbook.listen_paths += config.lookbook.preview_paths
47
- config.lookbook.listen_paths << (config.view_component.view_component_path.presence || "app/components")
99
+ config.lookbook.listen_paths << config.lookbook.components_path
48
100
  end
49
101
 
50
102
  initializer "lookbook.logging.development" do
@@ -68,26 +120,31 @@ module Lookbook
68
120
 
69
121
  if config.lookbook.listen
70
122
  Listen.logger = Lookbook.logger
123
+
71
124
  preview_listener = Listen.to(
72
125
  *config.lookbook.listen_paths,
73
- only: /\.(rb|html.*)$/,
74
- force_polling: Lookbook.config.listen_use_polling
126
+ only: /\.(#{config.lookbook.listen_extensions.join("|")})$/,
127
+ force_polling: config.lookbook.listen_use_polling
75
128
  ) do |modified, added, removed|
129
+ changes = { modified: modified, added: added, removed: removed }
76
130
  begin
77
131
  parser.parse
78
132
  rescue
79
133
  end
80
134
  Lookbook::Preview.clear_cache
81
- Lookbook::Engine.websocket&.broadcast("reload", {})
135
+ Lookbook::Engine.reload_ui(changes)
136
+ Lookbook::Engine.run_hooks(:after_change, changes)
82
137
  end
83
138
  Lookbook::Engine.register_listener(preview_listener)
84
139
 
85
140
  page_listener = Listen.to(
86
141
  *config.lookbook.page_paths,
87
142
  only: /\.(html.*|md.*)$/,
88
- force_polling: Lookbook.config.listen_use_polling
143
+ force_polling: config.lookbook.listen_use_polling
89
144
  ) do |modified, added, removed|
90
- Lookbook::Engine.websocket&.broadcast("reload", {})
145
+ changes = { modified: modified, added: added, removed: removed }
146
+ Lookbook::Engine.reload_ui(changes)
147
+ Lookbook::Engine.run_hooks(:after_change, changes)
91
148
  end
92
149
  Lookbook::Engine.register_listener(page_listener)
93
150
  end
@@ -103,19 +160,22 @@ module Lookbook
103
160
  "
104
161
  end
105
162
  end
163
+
164
+ Lookbook::Engine.run_hooks(:after_initialize)
106
165
  end
107
166
 
108
167
  at_exit do
109
168
  if config.lookbook.listen
110
169
  Lookbook.logger.debug "Stopping listeners"
111
- Lookbook::Engine.listeners.each do |listener|
112
- listener.stop
113
- end
170
+ Lookbook::Engine.listeners.each { |listener| listener.stop }
114
171
  end
172
+ Lookbook::Engine.run_hooks(:before_exit)
115
173
  end
116
174
 
117
175
  class << self
176
+
118
177
  def websocket
178
+ return @websocket unless @websocket.nil?
119
179
  if config.lookbook.auto_refresh
120
180
  cable = ActionCable::Server::Configuration.new
121
181
  cable.cable = {adapter: "async"}.with_indifferent_access
@@ -126,9 +186,9 @@ module Lookbook
126
186
  @websocket ||= if Rails.version.to_f >= 6.0
127
187
  ActionCable::Server::Base.new(config: cable)
128
188
  else
129
- websocket ||= ActionCable::Server::Base.new
130
- websocket.config = cable
131
- websocket
189
+ @websocket ||= ActionCable::Server::Base.new
190
+ @websocket.config = cable
191
+ @websocket
132
192
  end
133
193
  end
134
194
  end
@@ -162,6 +222,16 @@ module Lookbook
162
222
  @listeners ||= []
163
223
  end
164
224
 
225
+ def run_hooks(event_name, *args)
226
+ Lookbook.config.hooks[event_name].each do |hook|
227
+ hook.call(Lookbook, *args)
228
+ end
229
+ end
230
+
231
+ def reload_ui(changed = {})
232
+ websocket&.broadcast("reload", changed)
233
+ end
234
+
165
235
  attr_reader :preview_controller
166
236
  end
167
237
  end
@@ -8,10 +8,12 @@ module Lookbook
8
8
  disable_indented_code_blocks: true,
9
9
  strikethrough: true,
10
10
  highlight: true,
11
- with_toc_data: true
11
+ with_toc_data: true,
12
+ lax_spacing: true
12
13
  }
13
14
 
14
15
  def self.render(text)
16
+ text&.gsub!(/\<\!\-\- (BEGIN|END) (.*) \-\-\>/, "")
15
17
  markdown = Redcarpet::Markdown.new(Renderer, Lookbook.config.markdown_options)
16
18
  markdown.render(text).html_safe
17
19
  end
data/lib/lookbook/page.rb CHANGED
@@ -19,7 +19,7 @@ module Lookbook
19
19
 
20
20
  def initialize(path, base_path)
21
21
  @pathname = Pathname.new path
22
- @base_path = base_path
22
+ @base_path = Pathname.new base_path
23
23
  @options = nil
24
24
  @errors = []
25
25
  @sections = []
@@ -154,6 +154,10 @@ module Lookbook
154
154
  !!find(path)
155
155
  end
156
156
 
157
+ def any?
158
+ all.any?
159
+ end
160
+
157
161
  def all
158
162
  pages, sections =
159
163
  Array(page_paths).flat_map do |dir|
@@ -177,7 +181,7 @@ module Lookbook
177
181
  end
178
182
 
179
183
  def page_paths
180
- Lookbook.config.page_paths.filter { |dir| Dir.exist? dir }
184
+ Lookbook.config.page_paths.select { |dir| Dir.exist? dir }
181
185
  end
182
186
 
183
187
  def section_path?(path)
@@ -23,10 +23,6 @@ module Lookbook
23
23
  registry.get(path)
24
24
  end
25
25
 
26
- # def yardoc_file_path
27
- # Rails&.root ? Rails.root.join(YARDOC_FILE_PATH) : YARDOC_FILE_PATH
28
- # end
29
-
30
26
  class << self
31
27
  def define_tags
32
28
  YARD::Tags::Library.define_tag("Hidden status", :hidden)
@@ -34,6 +30,7 @@ module Lookbook
34
30
  YARD::Tags::Library.define_tag("Display", :display)
35
31
  YARD::Tags::Library.define_tag("Position", :position)
36
32
  YARD::Tags::Library.define_tag("ID", :id)
33
+ YARD::Tags::Library.define_tag("Component", :component)
37
34
  end
38
35
  end
39
36
  end
@@ -8,7 +8,7 @@ module Lookbook
8
8
  def initialize(preview)
9
9
  @preview = preview
10
10
  @preview_inspector = SourceInspector.new(@preview.name)
11
- super(preview_class_name(preview_class_basename(@preview.name)))
11
+ super(preview_class_path(@preview.name))
12
12
  end
13
13
 
14
14
  def id
@@ -34,7 +34,7 @@ module Lookbook
34
34
  def examples
35
35
  return @examples if @examples.present?
36
36
  public_methods = @preview.public_instance_methods(false)
37
- public_method_objects = @preview_inspector&.methods&.filter { |m| public_methods.include?(m.name) }
37
+ public_method_objects = @preview_inspector&.methods&.select { |m| public_methods.include?(m.name) }
38
38
  examples = (public_method_objects || []).map { |m| PreviewExample.new(m.name.to_s, self) }
39
39
  sorted = Lookbook.config.sort_examples ? examples.sort_by(&:label) : examples
40
40
  @examples = []
@@ -62,7 +62,7 @@ module Lookbook
62
62
  end
63
63
 
64
64
  def full_path
65
- base_path = Array(preview_paths).detect do |preview_path|
65
+ base_path = Array(Lookbook.config.preview_paths).detect do |preview_path|
66
66
  Dir["#{preview_path}/#{name.underscore}.rb"].first
67
67
  end
68
68
  Pathname.new(Dir["#{base_path}/#{name.underscore}.rb"].first)
@@ -72,10 +72,6 @@ module Lookbook
72
72
  lookbook_inspect_path lookup_path
73
73
  end
74
74
 
75
- def preview_paths
76
- ViewComponent::Base.preview_paths
77
- end
78
-
79
75
  def parent_collections_names
80
76
  File.dirname(path).split("/")
81
77
  end
@@ -96,6 +92,27 @@ module Lookbook
96
92
  true
97
93
  end
98
94
 
95
+ def component
96
+ components.first
97
+ end
98
+
99
+ def components
100
+ component_classes = @preview_inspector&.components.any? ? @preview_inspector&.components : [guess_component]
101
+ component_classes.map do |class_name|
102
+ Component.new(class_name.to_s)
103
+ end
104
+ end
105
+
106
+ protected
107
+
108
+ def guess_component
109
+ begin
110
+ name.chomp("Preview").constantize
111
+ rescue
112
+ nil
113
+ end
114
+ end
115
+
99
116
  class << self
100
117
  def find(path)
101
118
  all.find { |p| p.lookup_path == path }
@@ -105,14 +122,15 @@ module Lookbook
105
122
  !!find(path)
106
123
  end
107
124
 
108
- def clear_cache
109
- @previews = nil
125
+ def any?
126
+ all.any?
110
127
  end
111
128
 
112
129
  def all
113
130
  load_previews if preview_files.size > ViewComponent::Preview.descendants.size
114
131
 
115
- return @previews if @previews.present?
132
+ @previews = nil if cache_stale?
133
+ return @previews unless @previews.nil?
116
134
 
117
135
  previews = ViewComponent::Preview.descendants.map do |p|
118
136
  new(p)
@@ -127,15 +145,44 @@ module Lookbook
127
145
  end
128
146
 
129
147
  sorted_previews = previews.compact.sort_by { |preview| [preview.position, preview.label] }
130
- @previews ||= PreviewCollection.new(sorted_previews)
148
+ @previews = PreviewCollection.new(sorted_previews)
149
+ mark_as_cached if Lookbook.config.listen == true
150
+ @previews
131
151
  end
132
152
 
133
153
  def errors
134
154
  @errors ||= []
135
155
  end
136
156
 
157
+ def clear_cache
158
+ cache_dir = File.dirname(cache_marker_path)
159
+ FileUtils.mkdir_p(cache_dir) unless File.exists?(cache_dir)
160
+ File.write(cache_marker_path, Time.now.to_i)
161
+ end
162
+
137
163
  protected
138
164
 
165
+ def cache_marker_path
166
+ Rails.root.join("tmp/cache/lookbook-previews")
167
+ end
168
+
169
+ def cache_stale?
170
+ return false if !File.exists?(cache_marker_path)
171
+ cache_timestamp = File.read(cache_marker_path).to_i
172
+ if @last_cache_timestamp.nil? || cache_timestamp > @last_cache_timestamp
173
+ @last_cache_timestamp = cache_timestamp
174
+ true
175
+ else
176
+ false
177
+ end
178
+ end
179
+
180
+ def mark_as_cached
181
+ cache_dir = File.dirname(cache_marker_path)
182
+ FileUtils.mkdir_p(cache_dir) unless File.exists?(cache_dir)
183
+ File.write(cache_marker_path, Time.now)
184
+ end
185
+
139
186
  def load_previews
140
187
  @errors = []
141
188
  preview_files.each do |file|
@@ -149,7 +196,7 @@ module Lookbook
149
196
  )
150
197
  end
151
198
  end
152
-
199
+
153
200
  def preview_files
154
201
  files = Array(Lookbook.config.preview_paths).map do |preview_path|
155
202
  Dir["#{preview_path}/**/*preview.rb"].map do |path|
@@ -30,7 +30,7 @@ module Lookbook
30
30
  @example_inspector.source.split("\n")[1..-2].join("\n").strip_heredoc
31
31
  end
32
32
 
33
- def source_lang
33
+ def lang
34
34
  Lookbook::Lang.find(:ruby)
35
35
  end
36
36
 
@@ -39,6 +39,16 @@ module Lookbook
39
39
  code_object&.tag(:position)&.text&.to_i || 10000
40
40
  end
41
41
 
42
+ def components
43
+ if code_object&.tags(:component).present?
44
+ code_object.tags(:component).map do |component|
45
+ component.text.constantize
46
+ end
47
+ else
48
+ []
49
+ end
50
+ end
51
+
42
52
  def display_params
43
53
  display_params = {}.with_indifferent_access
44
54
  if code_object&.tags(:display).present?
@@ -16,7 +16,7 @@ module Lookbook
16
16
  class_name(klass).to_s.chomp("ComponentPreview").chomp("Component::Preview").chomp("::Preview").chomp("Component").chomp("Preview").chomp("::")
17
17
  end
18
18
 
19
- def preview_class_name(klass)
19
+ def preview_class_path(klass)
20
20
  preview_class_basename(klass).underscore
21
21
  end
22
22
 
@@ -49,7 +49,7 @@ module Lookbook
49
49
  end
50
50
 
51
51
  def to_preview_path(*args)
52
- args.flatten.map { |arg| preview_class_name(arg) }.join("/")
52
+ args.flatten.map { |arg| preview_class_path(arg) }.join("/")
53
53
  end
54
54
 
55
55
  protected
@@ -1,3 +1,3 @@
1
1
  module Lookbook
2
- VERSION = "1.0.0.beta.2"
2
+ VERSION = "1.0.0.beta.5"
3
3
  end
data/lib/lookbook.rb CHANGED
@@ -27,16 +27,5 @@ module Lookbook
27
27
  autoload :Markdown, "lookbook/markdown"
28
28
  autoload :Theme, "lookbook/theme"
29
29
  autoload :Store, "lookbook/store"
30
-
31
- class << self
32
- include Utils
33
-
34
- def previews
35
- Preview.all
36
- end
37
-
38
- def pages
39
- Page.all
40
- end
41
- end
30
+ autoload :Component, "lookbook/component"
42
31
  end
@@ -16,7 +16,7 @@ namespace :lookbook do
16
16
 
17
17
  namespace :previews do
18
18
  desc "Preparse the previews"
19
- task :preparse do
19
+ task :preparse => :environment do
20
20
  Lookbook::Engine.parser.parse
21
21
  puts "Lookbook preview parsing complete"
22
22
  end
@@ -1682,10 +1682,6 @@ pre[class*="language-"] {
1682
1682
  top: 39px;
1683
1683
  }
1684
1684
 
1685
- .-top-px {
1686
- top: -1px;
1687
- }
1688
-
1689
1685
  .top-1\/2 {
1690
1686
  top: 50%;
1691
1687
  }
@@ -1694,6 +1690,10 @@ pre[class*="language-"] {
1694
1690
  right: .75rem;
1695
1691
  }
1696
1692
 
1693
+ .-top-px {
1694
+ top: -1px;
1695
+ }
1696
+
1697
1697
  .-left-px {
1698
1698
  left: -1px;
1699
1699
  }
@@ -1756,30 +1756,22 @@ pre[class*="language-"] {
1756
1756
  margin-top: 2rem;
1757
1757
  }
1758
1758
 
1759
- .mt-6 {
1760
- margin-top: 1.5rem;
1761
- }
1762
-
1763
1759
  .ml-2 {
1764
1760
  margin-left: .5rem;
1765
1761
  }
1766
1762
 
1767
- .mr-1 {
1768
- margin-right: .25rem;
1763
+ .mt-6 {
1764
+ margin-top: 1.5rem;
1769
1765
  }
1770
1766
 
1771
- .mr-6 {
1772
- margin-right: 1.5rem;
1767
+ .mt-12 {
1768
+ margin-top: 3rem;
1773
1769
  }
1774
1770
 
1775
1771
  .ml-auto {
1776
1772
  margin-left: auto;
1777
1773
  }
1778
1774
 
1779
- .mt-12 {
1780
- margin-top: 3rem;
1781
- }
1782
-
1783
1775
  .mr-2 {
1784
1776
  margin-right: .5rem;
1785
1777
  }
@@ -1796,6 +1788,14 @@ pre[class*="language-"] {
1796
1788
  margin-top: .25rem;
1797
1789
  }
1798
1790
 
1791
+ .mr-1 {
1792
+ margin-right: .25rem;
1793
+ }
1794
+
1795
+ .mr-6 {
1796
+ margin-right: 1.5rem;
1797
+ }
1798
+
1799
1799
  .mb-6 {
1800
1800
  margin-bottom: 1.5rem;
1801
1801
  }
@@ -1976,12 +1976,12 @@ pre[class*="language-"] {
1976
1976
  max-width: 1024px;
1977
1977
  }
1978
1978
 
1979
- .max-w-\[420px\] {
1980
- max-width: 420px;
1979
+ .max-w-\[400px\] {
1980
+ max-width: 400px;
1981
1981
  }
1982
1982
 
1983
- .max-w-3xl {
1984
- max-width: 48rem;
1983
+ .max-w-\[420px\] {
1984
+ max-width: 420px;
1985
1985
  }
1986
1986
 
1987
1987
  .max-w-none {
@@ -2353,10 +2353,6 @@ pre[class*="language-"] {
2353
2353
  background-color: #0000;
2354
2354
  }
2355
2355
 
2356
- .\!bg-lookbook-header {
2357
- background-color: var(--lookbook-header) !important;
2358
- }
2359
-
2360
2356
  .bg-lookbook-drawer {
2361
2357
  background-color: var(--lookbook-drawer);
2362
2358
  }
@@ -2365,6 +2361,10 @@ pre[class*="language-"] {
2365
2361
  background-color: var(--lookbook-prose);
2366
2362
  }
2367
2363
 
2364
+ .\!bg-lookbook-header {
2365
+ background-color: var(--lookbook-header) !important;
2366
+ }
2367
+
2368
2368
  .bg-zinc-50 {
2369
2369
  --tw-bg-opacity: 1;
2370
2370
  background-color: rgb(250 250 250 / var(--tw-bg-opacity) );
@@ -2625,10 +2625,6 @@ pre[class*="language-"] {
2625
2625
  color: rgb(153 27 27 / var(--tw-text-opacity) );
2626
2626
  }
2627
2627
 
2628
- .\!text-lookbook-header-text {
2629
- color: var(--lookbook-header-text) !important;
2630
- }
2631
-
2632
2628
  .text-lookbook-button-text {
2633
2629
  color: var(--lookbook-button-text);
2634
2630
  }
@@ -2638,6 +2634,10 @@ pre[class*="language-"] {
2638
2634
  color: rgb(34 197 94 / var(--tw-text-opacity) );
2639
2635
  }
2640
2636
 
2637
+ .\!text-lookbook-header-text {
2638
+ color: var(--lookbook-header-text) !important;
2639
+ }
2640
+
2641
2641
  .text-lookbook-branding-text {
2642
2642
  color: var(--lookbook-branding-text);
2643
2643
  }
@@ -2687,14 +2687,14 @@ pre[class*="language-"] {
2687
2687
  opacity: .3;
2688
2688
  }
2689
2689
 
2690
- .opacity-40 {
2691
- opacity: .4;
2692
- }
2693
-
2694
2690
  .opacity-80 {
2695
2691
  opacity: .8;
2696
2692
  }
2697
2693
 
2694
+ .opacity-40 {
2695
+ opacity: .4;
2696
+ }
2697
+
2698
2698
  .opacity-0 {
2699
2699
  opacity: 0;
2700
2700
  }
@@ -2707,18 +2707,14 @@ pre[class*="language-"] {
2707
2707
  opacity: .9;
2708
2708
  }
2709
2709
 
2710
- .opacity-60 {
2711
- opacity: .6;
2710
+ .\!opacity-100 {
2711
+ opacity: 1 !important;
2712
2712
  }
2713
2713
 
2714
2714
  .opacity-70 {
2715
2715
  opacity: .7;
2716
2716
  }
2717
2717
 
2718
- .\!opacity-100 {
2719
- opacity: 1 !important;
2720
- }
2721
-
2722
2718
  .shadow {
2723
2719
  --tw-shadow: 0 1px 3px 0 #0000001a, 0 1px 2px -1px #0000001a;
2724
2720
  --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;;;;;;;;;AAaA;;;;AAMA;;;;;;AASA;;;;AAIA;;;;AAIA;;;;AAIA;;;;AAMA;;;;;AAKA;;;;AAKA;;;;;AAKA;;;;AAIA;;;;AAcD;;;;;AAGA;;;;AAEA;;;;;;AAQC;;;;AAKA;;;;;AAMA;;;;AAKA;;;;AAMA;;;;;AAYA;;;;;AAMA;;;;AAED;;;;;;;;;;;;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;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AA2CA;;;;;AAGA;;;;;;;;AAMA;;;;;;AAIA;;;;;AAGA;;;;;AAGA;;;;AAEA;;;;AAEA;;;;AAEA;;;;AAEA;;;;AAEA;;;;AAEA;;;;AAEA;;;;AAEA;;;;AAEA;;;;;AAGA;;;;;AAGA;;;;AAEA;;;;;;;AAKA;;;;;;;;;;;;AAUA;;;;AAEA;;;;AAEA;;;;;;;;;AAOA;;;;AAEA;;;;;;;;;AAOA;;;;AAEA;;;;;;;;;AAOA;;;;AAEA;;;;;;;;AAMA;;;;AAEA;;;;;AAGA;;;;;;;AAKA;;;;;;AAIA;;;;AAIA;;;;AAEA;;;;;;;;;;;;;AAcA;;;;;;;;;;;;AAUA;;;;AAIA;;;;;;;;;;AAQA;;;;;AAGA;;;;;;;;;AAOA;;;;;AAGA;;;;AAEA;;;;;AAMA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAmCA;;;;;AAGA;;;;;AAGA;;;;;AAGA;;;;;AAGA;;;;AAEA;;;;AAEA;;;;;AAGA;;;;AAEA;;;;AAEA;;;;;AAGA;;;;AAEA;;;;AAEA;;;;AAEA;;;;AAEA;;;;;AAGA;;;;AAEA;;;;AAEA;;;;AAEA;;;;AAEA;;;;AAEA;;;;AAEA;;;;AAEA;;;;AAEA;;;;AAEA;;;;AAEA;;;;;AAGA;;;;;AAGA;;;;;;;AAKA;;;;;;AAIA;;;;;;;AAKA;;;;;;;AAKA;;;;;;;AAKA;;;;;;AAIA;;;;;AAGA;;;;;AAGA;;;;;AAGA;;;;;AAGA;;;;;;AAIA;;;;AAEA;;;;AAEA;;;;AAEA;;;;;;;;;AAUA;;;;AAEA;;;;AAEA;;;;;AAGA;;;;AAEA;;;;AAEA;;;;;AAGA;;;;AAEA;;;;AAEA;;;;AAEA;;;;AAEA;;;;;AAGA;;;;;AAGA;;;;AAEA;;;;AAEA;;;;AAEA;;;;AAEA;;;;;AAGA;;;;;;AAIA;;;;AAEA;;;;AAEA;;;;AAKA;;;;AAEA;;;;AAEA;;;;AAEA;;;;AAEA;;;;;AAGA;;;;;AAGA;;;;;;;AAKA;;;;;;AAIA;;;;;;;AAKA;;;;;;;AAKA;;;;;;;AAKA;;;;;;AAIA;;;;;AAGA;;;;;AAGA;;;;;AAGA;;;;;AAGA;;;;;;AAIA;;;;AAEA;;;;AAEA;;;;AAEA;;;;;;;;;AAUA;;;;AAEA;;;;AAEA;;;;;AAGA;;;;AAEA;;;;AAEA;;;;;AAGA;;;;AAEA;;;;AAEA;;;;AAEA;;;;AAEA;;;;;AAGA;;;;;AAGA;;;;AAEA;;;;AAEA;;;;AAEA;;;;AAEA;;;;;AAGA;;;;;;AAIA;;;;AAEA;;;;AAEA;;;;AAKA;;;;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;;;;;;AAIA;;;;;AAGA;;;;;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;;;;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;;;;;AAGA;;;;;AAGA;;;;;AAGA;;;;;AAGA;;;;;AAGA;;;;AAEA;;;;AAEA;;;;AAEA;;;;AAEA;;;;AAEA;;;;AAEA;;;;AAEA;;;;;AAGA;;;;;AAGA;;;;;AAGA;;;;;AAGA;;;;;AAGA;;;;AAEA;;;;AAEA;;;;;AAGA;;;;AAEA;;;;;AAGA;;;;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;\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;;;;;;;;;AAaA;;;;AAMA;;;;;;AASA;;;;AAIA;;;;AAIA;;;;AAIA;;;;AAMA;;;;;AAKA;;;;AAKA;;;;;AAKA;;;;AAIA;;;;AAcD;;;;;AAGA;;;;AAEA;;;;;;AAQC;;;;AAKA;;;;;AAMA;;;;AAKA;;;;AAMA;;;;;AAYA;;;;;AAMA;;;;AAED;;;;;;;;;;;;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;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AA2CA;;;;;AAGA;;;;;;;;AAMA;;;;;;AAIA;;;;;AAGA;;;;;AAGA;;;;AAEA;;;;AAEA;;;;AAEA;;;;AAEA;;;;AAEA;;;;AAEA;;;;AAEA;;;;AAEA;;;;AAEA;;;;;AAGA;;;;;AAGA;;;;AAEA;;;;;;;AAKA;;;;;;;;;;;;AAUA;;;;AAEA;;;;AAEA;;;;;;;;;AAOA;;;;AAEA;;;;;;;;;AAOA;;;;AAEA;;;;;;;;;AAOA;;;;AAEA;;;;;;;;AAMA;;;;AAEA;;;;;AAGA;;;;;;;AAKA;;;;;;AAIA;;;;AAIA;;;;AAEA;;;;;;;;;;;;;AAcA;;;;;;;;;;;;AAUA;;;;AAIA;;;;;;;;;;AAQA;;;;;AAGA;;;;;;;;;AAOA;;;;;AAGA;;;;AAEA;;;;;AAMA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAmCA;;;;;AAGA;;;;;AAGA;;;;;AAGA;;;;;AAGA;;;;AAEA;;;;AAEA;;;;;AAGA;;;;AAEA;;;;AAEA;;;;;AAGA;;;;AAEA;;;;AAEA;;;;AAEA;;;;AAEA;;;;;AAGA;;;;AAEA;;;;AAEA;;;;AAEA;;;;AAEA;;;;AAEA;;;;AAEA;;;;AAEA;;;;AAEA;;;;AAEA;;;;AAEA;;;;;AAGA;;;;;AAGA;;;;;;;AAKA;;;;;;AAIA;;;;;;;AAKA;;;;;;;AAKA;;;;;;;AAKA;;;;;;AAIA;;;;;AAGA;;;;;AAGA;;;;;AAGA;;;;;AAGA;;;;;;AAIA;;;;AAEA;;;;AAEA;;;;AAEA;;;;;;;;;AAUA;;;;AAEA;;;;AAEA;;;;;AAGA;;;;AAEA;;;;AAEA;;;;;AAGA;;;;AAEA;;;;AAEA;;;;AAEA;;;;AAEA;;;;;AAGA;;;;;AAGA;;;;AAEA;;;;AAEA;;;;AAEA;;;;AAEA;;;;;AAGA;;;;;;AAIA;;;;AAEA;;;;AAEA;;;;AAKA;;;;AAEA;;;;AAEA;;;;AAEA;;;;AAEA;;;;;AAGA;;;;;AAGA;;;;;;;AAKA;;;;;;AAIA;;;;;;;AAKA;;;;;;;AAKA;;;;;;;AAKA;;;;;;AAIA;;;;;AAGA;;;;;AAGA;;;;;AAGA;;;;;AAGA;;;;;;AAIA;;;;AAEA;;;;AAEA;;;;AAEA;;;;;;;;;AAUA;;;;AAEA;;;;AAEA;;;;;AAGA;;;;AAEA;;;;AAEA;;;;;AAGA;;;;AAEA;;;;AAEA;;;;AAEA;;;;AAEA;;;;;AAGA;;;;;AAGA;;;;AAEA;;;;AAEA;;;;AAEA;;;;AAEA;;;;;AAGA;;;;;;AAIA;;;;AAEA;;;;AAEA;;;;AAKA;;;;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;;;;;;AAIA;;;;;AAGA;;;;;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;;;;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;;;;;AAGA;;;;;AAGA;;;;;AAGA;;;;;AAGA;;;;;AAGA;;;;AAEA;;;;AAEA;;;;AAEA;;;;AAEA;;;;AAEA;;;;AAEA;;;;AAEA;;;;;AAGA;;;;;AAGA;;;;;AAGA;;;;;AAGA;;;;;AAGA;;;;AAEA;;;;;AAGA;;;;AAEA;;;;AAEA;;;;;AAGA;;;;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;\n }\n}\n"],"names":[],"version":3,"file":"lookbook.css.map"}