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

Sign up to get free protection for your applications and to get access to all the features.
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"}