lookbook 1.0.0.beta.0 → 1.0.0.beta.3
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/README.md +231 -9
- data/app/assets/lookbook/js/stores/inspector.js +4 -4
- data/app/components/lookbook/{component.rb → base_component.rb} +1 -1
- data/app/components/lookbook/button/component.rb +1 -1
- data/app/components/lookbook/button_group/component.rb +1 -1
- data/app/components/lookbook/code/component.rb +1 -1
- data/app/components/lookbook/copy_button/component.html.erb +1 -1
- data/app/components/lookbook/copy_button/component.rb +1 -1
- data/app/components/lookbook/dimensions_display/component.html.erb +2 -1
- data/app/components/lookbook/dimensions_display/component.js +19 -12
- data/app/components/lookbook/dimensions_display/component.rb +1 -1
- data/app/components/lookbook/embed/component.html.erb +6 -5
- data/app/components/lookbook/embed/component.rb +1 -1
- data/app/components/lookbook/filter/component.html.erb +1 -1
- data/app/components/lookbook/filter/component.rb +1 -1
- data/app/components/lookbook/header/component.html.erb +7 -12
- data/app/components/lookbook/header/component.rb +1 -1
- data/app/components/lookbook/icon/component.rb +1 -1
- data/app/components/lookbook/nav/component.rb +1 -1
- data/app/components/lookbook/nav/item/component.html.erb +2 -2
- data/app/components/lookbook/nav/item/component.rb +1 -1
- data/app/components/lookbook/page_tabs/component.html.erb +18 -0
- data/app/components/lookbook/page_tabs/component.rb +19 -0
- data/app/components/lookbook/params_editor/component.rb +1 -1
- data/app/components/lookbook/params_editor/field/component.rb +1 -1
- data/app/components/lookbook/prose/component.rb +1 -1
- data/app/components/lookbook/split_layout/component.rb +1 -1
- data/app/components/lookbook/tab_panels/component.html.erb +5 -0
- data/app/components/lookbook/tab_panels/component.js +25 -0
- data/app/components/lookbook/tab_panels/component.rb +20 -0
- data/app/components/lookbook/{tabbed_content/section → tab_panels/panel}/component.html.erb +2 -2
- data/app/components/lookbook/tab_panels/panel/component.rb +9 -0
- data/app/components/lookbook/tabs/component.html.erb +8 -2
- data/app/components/lookbook/tabs/component.js +14 -6
- data/app/components/lookbook/tabs/component.rb +9 -11
- data/app/components/lookbook/tabs/dropdown_tab/component.html.erb +8 -2
- data/app/components/lookbook/tabs/dropdown_tab/component.rb +5 -4
- data/app/components/lookbook/tabs/tab/component.html.erb +9 -3
- data/app/components/lookbook/tabs/tab/component.rb +5 -4
- data/app/components/lookbook/toolbar/component.css +1 -1
- data/app/components/lookbook/toolbar/component.rb +1 -1
- data/app/components/lookbook/viewport/component.rb +1 -1
- data/app/controllers/lookbook/application_controller.rb +2 -2
- data/app/controllers/lookbook/pages_controller.rb +2 -1
- data/app/controllers/lookbook/previews_controller.rb +90 -91
- data/app/helpers/lookbook/application_helper.rb +8 -2
- data/app/helpers/lookbook/component_helper.rb +4 -0
- data/app/helpers/lookbook/page_helper.rb +2 -2
- data/app/views/layouts/lookbook/application.html.erb +1 -1
- data/app/views/layouts/lookbook/page.html.erb +2 -2
- data/app/views/layouts/lookbook/shell.html.erb +1 -1
- data/app/views/layouts/lookbook/skeleton.html.erb +7 -1
- data/app/views/lookbook/404.html.erb +1 -1
- data/app/views/lookbook/index.html.erb +1 -1
- data/app/views/lookbook/pages/show.html.erb +15 -5
- data/app/views/lookbook/preview.html.erb +3 -3
- data/app/views/lookbook/previews/panels/_content.html.erb +13 -0
- data/app/views/lookbook/previews/panels/_notes.html.erb +5 -5
- data/app/views/lookbook/previews/panels/_output.html.erb +3 -3
- data/app/views/lookbook/previews/panels/_params.html.erb +2 -2
- data/app/views/lookbook/previews/panels/_preview.html.erb +2 -2
- data/app/views/lookbook/previews/panels/_source.html.erb +6 -6
- data/app/views/lookbook/previews/show.html.erb +39 -36
- data/config/routes.rb +6 -6
- data/lib/lookbook/collection.rb +1 -1
- data/lib/lookbook/component.rb +31 -0
- data/lib/lookbook/config.rb +133 -33
- data/lib/lookbook/engine.rb +72 -12
- data/lib/lookbook/page.rb +34 -11
- data/lib/lookbook/page_section.rb +31 -0
- data/lib/lookbook/parser.rb +1 -4
- data/lib/lookbook/preview.rb +25 -8
- data/lib/lookbook/preview_example.rb +2 -2
- data/lib/lookbook/preview_group.rb +1 -1
- data/lib/lookbook/source_inspector.rb +10 -0
- data/lib/lookbook/store.rb +36 -0
- data/lib/lookbook/theme.rb +7 -0
- data/lib/lookbook/utils.rb +3 -3
- data/lib/lookbook/version.rb +1 -1
- data/lib/lookbook.rb +3 -12
- data/public/lookbook-assets/css/lookbook.css +34 -5
- data/public/lookbook-assets/css/lookbook.css.map +1 -1
- data/public/lookbook-assets/js/lookbook.js +84 -71
- data/public/lookbook-assets/js/lookbook.js.map +1 -1
- metadata +14 -8
- data/app/components/lookbook/tabbed_content/component.html.erb +0 -5
- data/app/components/lookbook/tabbed_content/component.js +0 -21
- data/app/components/lookbook/tabbed_content/component.rb +0 -20
- data/app/components/lookbook/tabbed_content/section/component.rb +0 -9
data/lib/lookbook/engine.rb
CHANGED
@@ -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
|
16
|
-
|
19
|
+
def configure
|
20
|
+
yield(config)
|
17
21
|
end
|
18
22
|
|
19
|
-
def
|
20
|
-
|
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,46 @@ module Lookbook
|
|
28
32
|
}
|
29
33
|
end
|
30
34
|
|
31
|
-
def
|
32
|
-
|
35
|
+
def previews
|
36
|
+
Preview.all
|
37
|
+
end
|
38
|
+
|
39
|
+
def pages
|
40
|
+
Page.all
|
41
|
+
end
|
42
|
+
|
43
|
+
def after_initialize(&block)
|
44
|
+
add_hook(:after_initialize, block)
|
45
|
+
end
|
46
|
+
|
47
|
+
def before_exit(&block)
|
48
|
+
add_hook(:before_exit, block)
|
49
|
+
end
|
50
|
+
|
51
|
+
def after_change(&block)
|
52
|
+
add_hook(:after_change, block)
|
53
|
+
end
|
54
|
+
|
55
|
+
def define_panel(name, opts = {})
|
56
|
+
config.define_inspector_panel(name, opts)
|
57
|
+
end
|
58
|
+
|
59
|
+
def amend_panel(name, opts = {})
|
60
|
+
config.amend_inspector_panel(name, opts)
|
61
|
+
end
|
62
|
+
|
63
|
+
def remove_panel(name)
|
64
|
+
config.remove_inspector_panel(name)
|
65
|
+
end
|
66
|
+
|
67
|
+
def broadcast(event_name, data = {})
|
68
|
+
Engine.websocket&.broadcast(event_name.to_s, data)
|
69
|
+
end
|
70
|
+
|
71
|
+
protected
|
72
|
+
|
73
|
+
def add_hook(event_name, block)
|
74
|
+
config.hooks[event_name] << block
|
33
75
|
end
|
34
76
|
end
|
35
77
|
|
@@ -43,8 +85,10 @@ module Lookbook
|
|
43
85
|
config.lookbook.preview_paths += config.view_component.preview_paths
|
44
86
|
config.lookbook.preview_controller ||= config.view_component.preview_controller
|
45
87
|
|
88
|
+
config.lookbook.components_path = config.view_component.view_component_path if config.view_component.view_component_path.present?
|
89
|
+
|
46
90
|
config.lookbook.listen_paths += config.lookbook.preview_paths
|
47
|
-
config.lookbook.listen_paths <<
|
91
|
+
config.lookbook.listen_paths << config.lookbook.components_path
|
48
92
|
end
|
49
93
|
|
50
94
|
initializer "lookbook.logging.development" do
|
@@ -73,12 +117,14 @@ module Lookbook
|
|
73
117
|
only: /\.(rb|html.*)$/,
|
74
118
|
force_polling: Lookbook.config.listen_use_polling
|
75
119
|
) do |modified, added, removed|
|
120
|
+
changes = { modified: modified, added: added, removed: removed }
|
76
121
|
begin
|
77
122
|
parser.parse
|
78
123
|
rescue
|
79
124
|
end
|
80
125
|
Lookbook::Preview.clear_cache
|
81
|
-
Lookbook::Engine.
|
126
|
+
Lookbook::Engine.reload_ui(changes)
|
127
|
+
Lookbook::Engine.run_hooks(:after_change, changes)
|
82
128
|
end
|
83
129
|
Lookbook::Engine.register_listener(preview_listener)
|
84
130
|
|
@@ -87,7 +133,9 @@ module Lookbook
|
|
87
133
|
only: /\.(html.*|md.*)$/,
|
88
134
|
force_polling: Lookbook.config.listen_use_polling
|
89
135
|
) do |modified, added, removed|
|
90
|
-
|
136
|
+
changes = { modified: modified, added: added, removed: removed }
|
137
|
+
Lookbook::Engine.reload_ui(changes)
|
138
|
+
Lookbook::Engine.run_hooks(:after_change, changes)
|
91
139
|
end
|
92
140
|
Lookbook::Engine.register_listener(page_listener)
|
93
141
|
end
|
@@ -103,18 +151,20 @@ module Lookbook
|
|
103
151
|
"
|
104
152
|
end
|
105
153
|
end
|
154
|
+
|
155
|
+
Lookbook::Engine.run_hooks(:after_initialize)
|
106
156
|
end
|
107
157
|
|
108
158
|
at_exit do
|
109
159
|
if config.lookbook.listen
|
110
160
|
Lookbook.logger.debug "Stopping listeners"
|
111
|
-
Lookbook::Engine.listeners.each
|
112
|
-
listener.stop
|
113
|
-
end
|
161
|
+
Lookbook::Engine.listeners.each { |listener| listener.stop }
|
114
162
|
end
|
163
|
+
Lookbook::Engine.run_hooks(:before_exit)
|
115
164
|
end
|
116
165
|
|
117
166
|
class << self
|
167
|
+
|
118
168
|
def websocket
|
119
169
|
if config.lookbook.auto_refresh
|
120
170
|
cable = ActionCable::Server::Configuration.new
|
@@ -162,6 +212,16 @@ module Lookbook
|
|
162
212
|
@listeners ||= []
|
163
213
|
end
|
164
214
|
|
215
|
+
def run_hooks(event_name, *args)
|
216
|
+
Lookbook.config.hooks[event_name].each do |hook|
|
217
|
+
hook.call(Lookbook, *args)
|
218
|
+
end
|
219
|
+
end
|
220
|
+
|
221
|
+
def reload_ui(changed = {})
|
222
|
+
websocket&.broadcast("reload", changed)
|
223
|
+
end
|
224
|
+
|
165
225
|
attr_reader :preview_controller
|
166
226
|
end
|
167
227
|
end
|
data/lib/lookbook/page.rb
CHANGED
@@ -15,19 +15,22 @@ module Lookbook
|
|
15
15
|
]
|
16
16
|
|
17
17
|
attr_reader :errors
|
18
|
+
attr_accessor :sections
|
18
19
|
|
19
20
|
def initialize(path, base_path)
|
20
21
|
@pathname = Pathname.new path
|
21
|
-
@base_path = base_path
|
22
|
+
@base_path = Pathname.new base_path
|
22
23
|
@options = nil
|
23
24
|
@errors = []
|
25
|
+
@sections = []
|
26
|
+
@page_name = remove_position_prefix(path_name)
|
24
27
|
rel_path = @pathname.relative_path_from(@base_path)
|
25
|
-
page_path =
|
28
|
+
page_path = rel_path.dirname.to_s == "." ? @page_name : "#{rel_path.dirname}/#{@page_name}"
|
26
29
|
super(page_path)
|
27
30
|
end
|
28
31
|
|
29
32
|
def url_path
|
30
|
-
|
33
|
+
lookbook_page_path lookup_path
|
31
34
|
end
|
32
35
|
|
33
36
|
def full_path
|
@@ -35,7 +38,7 @@ module Lookbook
|
|
35
38
|
end
|
36
39
|
|
37
40
|
def name
|
38
|
-
|
41
|
+
@page_name
|
39
42
|
end
|
40
43
|
|
41
44
|
def hidden?
|
@@ -73,7 +76,7 @@ module Lookbook
|
|
73
76
|
def type
|
74
77
|
:page
|
75
78
|
end
|
76
|
-
|
79
|
+
|
77
80
|
def id
|
78
81
|
options[:id]
|
79
82
|
end
|
@@ -152,17 +155,37 @@ module Lookbook
|
|
152
155
|
end
|
153
156
|
|
154
157
|
def all
|
155
|
-
|
156
|
-
|
157
|
-
|
158
|
-
|
158
|
+
pages, sections =
|
159
|
+
Array(page_paths).flat_map do |dir|
|
160
|
+
Dir["#{dir}/**/*.html.*", "#{dir}/**/*.md.*"].sort.map do |path|
|
161
|
+
create(path, dir)
|
162
|
+
end
|
163
|
+
end.partition { |page| page.type == :page }
|
164
|
+
|
165
|
+
sorted_pages = pages
|
166
|
+
.uniq { |page| page.path }
|
167
|
+
.sort_by { |page| [page.position, page.label] }
|
168
|
+
|
169
|
+
page_dict = sorted_pages.index_by(&:path)
|
170
|
+
sorted_sections = sections.sort_by { |section| [section.position, section.label] }
|
171
|
+
|
172
|
+
sorted_sections.each do |section|
|
173
|
+
page_dict[section.path].sections << section
|
159
174
|
end
|
160
|
-
|
175
|
+
|
161
176
|
PageCollection.new(sorted_pages)
|
162
177
|
end
|
163
178
|
|
164
179
|
def page_paths
|
165
|
-
Lookbook.config.page_paths.
|
180
|
+
Lookbook.config.page_paths.select { |dir| Dir.exist? dir }
|
181
|
+
end
|
182
|
+
|
183
|
+
def section_path?(path)
|
184
|
+
!!path.match(%r{\[(.*?\w+)\]})
|
185
|
+
end
|
186
|
+
|
187
|
+
def create(path, base_path)
|
188
|
+
(section_path?(path) ? PageSection : Page).new(path, base_path)
|
166
189
|
end
|
167
190
|
end
|
168
191
|
end
|
@@ -0,0 +1,31 @@
|
|
1
|
+
module Lookbook
|
2
|
+
class PageSection < Page
|
3
|
+
|
4
|
+
def name
|
5
|
+
return @name if @name.present?
|
6
|
+
matches = full_path.to_s.match(%r{\[(?<name>\w+)\]})
|
7
|
+
@name ||= matches[:name]
|
8
|
+
end
|
9
|
+
|
10
|
+
def id
|
11
|
+
"#{super}-#{name}"
|
12
|
+
end
|
13
|
+
|
14
|
+
def url_path
|
15
|
+
nil
|
16
|
+
end
|
17
|
+
|
18
|
+
def path
|
19
|
+
super.gsub("[#{name}]", "")
|
20
|
+
end
|
21
|
+
|
22
|
+
def type
|
23
|
+
:page_section
|
24
|
+
end
|
25
|
+
|
26
|
+
def lookup_path
|
27
|
+
"#{super}/#{name}"
|
28
|
+
end
|
29
|
+
|
30
|
+
end
|
31
|
+
end
|
data/lib/lookbook/parser.rb
CHANGED
@@ -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
|
data/lib/lookbook/preview.rb
CHANGED
@@ -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(
|
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&.
|
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,18 +62,14 @@ 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)
|
69
69
|
end
|
70
70
|
|
71
71
|
def url_path
|
72
|
-
|
73
|
-
end
|
74
|
-
|
75
|
-
def preview_paths
|
76
|
-
ViewComponent::Base.preview_paths
|
72
|
+
lookbook_inspect_path lookup_path
|
77
73
|
end
|
78
74
|
|
79
75
|
def parent_collections_names
|
@@ -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 }
|
@@ -15,7 +15,7 @@ module Lookbook
|
|
15
15
|
end
|
16
16
|
|
17
17
|
def url_path
|
18
|
-
|
18
|
+
lookbook_inspect_path lookup_path
|
19
19
|
end
|
20
20
|
|
21
21
|
def label
|
@@ -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
|
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?
|
@@ -0,0 +1,36 @@
|
|
1
|
+
module Lookbook
|
2
|
+
class Store < ActiveSupport::OrderedOptions
|
3
|
+
def initialize(data = {}, deep = true)
|
4
|
+
super()
|
5
|
+
@deep = deep
|
6
|
+
set(data) if data.present?
|
7
|
+
end
|
8
|
+
|
9
|
+
def [](key)
|
10
|
+
super(normalize_key(key))
|
11
|
+
end
|
12
|
+
|
13
|
+
def []=(key, value)
|
14
|
+
super(normalize_key(key), normalize_value(value))
|
15
|
+
end
|
16
|
+
|
17
|
+
def set(data)
|
18
|
+
data.keys.each do |key|
|
19
|
+
self[normalize_key(key)] = normalize_value(data[key])
|
20
|
+
end
|
21
|
+
self
|
22
|
+
end
|
23
|
+
|
24
|
+
def method_missing(name, *args)
|
25
|
+
super(normalize_key(name), *args.map { |arg| normalize_value(arg) })
|
26
|
+
end
|
27
|
+
|
28
|
+
def normalize_key(key)
|
29
|
+
key.to_s.downcase.gsub("-", "_").to_sym
|
30
|
+
end
|
31
|
+
|
32
|
+
def normalize_value(value)
|
33
|
+
@deep && value.is_a?(Hash) ? Store.new(value) : value
|
34
|
+
end
|
35
|
+
end
|
36
|
+
end
|
data/lib/lookbook/theme.rb
CHANGED
@@ -1,5 +1,8 @@
|
|
1
1
|
module Lookbook
|
2
2
|
class Theme
|
3
|
+
|
4
|
+
BASE_THEMES = [:indigo, :zinc, :blue]
|
5
|
+
|
3
6
|
def initialize(config = {})
|
4
7
|
@config = config
|
5
8
|
@css = nil
|
@@ -18,5 +21,9 @@ module Lookbook
|
|
18
21
|
""
|
19
22
|
end
|
20
23
|
end
|
24
|
+
|
25
|
+
def self.valid_theme?(name)
|
26
|
+
BASE_THEMES.include? name.to_sym
|
27
|
+
end
|
21
28
|
end
|
22
29
|
end
|
data/lib/lookbook/utils.rb
CHANGED
@@ -8,7 +8,7 @@ module Lookbook
|
|
8
8
|
protected
|
9
9
|
|
10
10
|
def generate_id(*args)
|
11
|
-
parts = args.map { |arg| arg.to_s.parameterize.underscore }
|
11
|
+
parts = args.map { |arg| arg.to_s.force_encoding("UTF-8").parameterize.underscore }
|
12
12
|
parts.join("-").tr("/_", "-").delete_prefix("-").delete_suffix("-").gsub("--", "-")
|
13
13
|
end
|
14
14
|
|
@@ -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
|
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|
|
52
|
+
args.flatten.map { |arg| preview_class_path(arg) }.join("/")
|
53
53
|
end
|
54
54
|
|
55
55
|
protected
|
data/lib/lookbook/version.rb
CHANGED
data/lib/lookbook.rb
CHANGED
@@ -11,6 +11,7 @@ module Lookbook
|
|
11
11
|
autoload :Lang, "lookbook/lang"
|
12
12
|
autoload :Params, "lookbook/params"
|
13
13
|
autoload :Page, "lookbook/page"
|
14
|
+
autoload :PageSection, "lookbook/page_section"
|
14
15
|
autoload :PageCollection, "lookbook/page_collection"
|
15
16
|
autoload :Features, "lookbook/features"
|
16
17
|
autoload :Collection, "lookbook/collection"
|
@@ -25,16 +26,6 @@ module Lookbook
|
|
25
26
|
autoload :CodeFormatter, "lookbook/code_formatter"
|
26
27
|
autoload :Markdown, "lookbook/markdown"
|
27
28
|
autoload :Theme, "lookbook/theme"
|
28
|
-
|
29
|
-
|
30
|
-
include Utils
|
31
|
-
|
32
|
-
def previews
|
33
|
-
Preview.all
|
34
|
-
end
|
35
|
-
|
36
|
-
def pages
|
37
|
-
Page.all
|
38
|
-
end
|
39
|
-
end
|
29
|
+
autoload :Store, "lookbook/store"
|
30
|
+
autoload :Component, "lookbook/component"
|
40
31
|
end
|
@@ -1557,6 +1557,8 @@ pre[class*="language-"] {
|
|
1557
1557
|
|
1558
1558
|
[data-component="toolbar"] [data-component="tabs"] {
|
1559
1559
|
margin-bottom: -1px;
|
1560
|
+
padding-left: 1rem;
|
1561
|
+
padding-right: 1rem;
|
1560
1562
|
position: relative;
|
1561
1563
|
}
|
1562
1564
|
|
@@ -1700,6 +1702,10 @@ pre[class*="language-"] {
|
|
1700
1702
|
left: -1rem;
|
1701
1703
|
}
|
1702
1704
|
|
1705
|
+
.-bottom-px {
|
1706
|
+
bottom: -1px;
|
1707
|
+
}
|
1708
|
+
|
1703
1709
|
.z-50 {
|
1704
1710
|
z-index: 50;
|
1705
1711
|
}
|
@@ -1790,10 +1796,18 @@ pre[class*="language-"] {
|
|
1790
1796
|
margin-top: .25rem;
|
1791
1797
|
}
|
1792
1798
|
|
1799
|
+
.mb-6 {
|
1800
|
+
margin-bottom: 1.5rem;
|
1801
|
+
}
|
1802
|
+
|
1793
1803
|
.-ml-3 {
|
1794
1804
|
margin-left: -.75rem;
|
1795
1805
|
}
|
1796
1806
|
|
1807
|
+
.-mb-px {
|
1808
|
+
margin-bottom: -1px;
|
1809
|
+
}
|
1810
|
+
|
1797
1811
|
.mr-auto {
|
1798
1812
|
margin-right: auto;
|
1799
1813
|
}
|
@@ -1830,6 +1844,10 @@ pre[class*="language-"] {
|
|
1830
1844
|
display: grid;
|
1831
1845
|
}
|
1832
1846
|
|
1847
|
+
.contents {
|
1848
|
+
display: contents;
|
1849
|
+
}
|
1850
|
+
|
1833
1851
|
.\!hidden {
|
1834
1852
|
display: none !important;
|
1835
1853
|
}
|
@@ -2145,6 +2163,12 @@ pre[class*="language-"] {
|
|
2145
2163
|
margin-left: calc(1.5rem * calc(1 - var(--tw-space-x-reverse) ) );
|
2146
2164
|
}
|
2147
2165
|
|
2166
|
+
.space-x-3 > :not([hidden]) ~ :not([hidden]) {
|
2167
|
+
--tw-space-x-reverse: 0;
|
2168
|
+
margin-right: calc(.75rem * var(--tw-space-x-reverse) );
|
2169
|
+
margin-left: calc(.75rem * calc(1 - var(--tw-space-x-reverse) ) );
|
2170
|
+
}
|
2171
|
+
|
2148
2172
|
.divide-y > :not([hidden]) ~ :not([hidden]) {
|
2149
2173
|
--tw-divide-y-reverse: 0;
|
2150
2174
|
border-top-width: calc(1px * calc(1 - var(--tw-divide-y-reverse) ) );
|
@@ -2432,11 +2456,6 @@ pre[class*="language-"] {
|
|
2432
2456
|
padding-right: .75rem;
|
2433
2457
|
}
|
2434
2458
|
|
2435
|
-
.py-4 {
|
2436
|
-
padding-top: 1rem;
|
2437
|
-
padding-bottom: 1rem;
|
2438
|
-
}
|
2439
|
-
|
2440
2459
|
.py-1 {
|
2441
2460
|
padding-top: .25rem;
|
2442
2461
|
padding-bottom: .25rem;
|
@@ -2447,6 +2466,11 @@ pre[class*="language-"] {
|
|
2447
2466
|
padding-right: .25rem;
|
2448
2467
|
}
|
2449
2468
|
|
2469
|
+
.px-2 {
|
2470
|
+
padding-left: .5rem;
|
2471
|
+
padding-right: .5rem;
|
2472
|
+
}
|
2473
|
+
|
2450
2474
|
.pb-10 {
|
2451
2475
|
padding-bottom: 2.5rem;
|
2452
2476
|
}
|
@@ -2543,6 +2567,11 @@ pre[class*="language-"] {
|
|
2543
2567
|
line-height: 1rem;
|
2544
2568
|
}
|
2545
2569
|
|
2570
|
+
.text-lg {
|
2571
|
+
font-size: 1.125rem;
|
2572
|
+
line-height: 1.75rem;
|
2573
|
+
}
|
2574
|
+
|
2546
2575
|
.font-bold {
|
2547
2576
|
font-weight: 700;
|
2548
2577
|
}
|
@@ -1 +1 @@
|
|
1
|
-
{"mappings":"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
|
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"}
|