lookbook 1.2.1 → 1.4.5

Sign up to get free protection for your applications and to get access to all the features.
Files changed (182) hide show
  1. checksums.yaml +4 -4
  2. data/LICENSE.txt +1 -1
  3. data/README.md +47 -14
  4. data/app/assets/lookbook/css/themes/blue.css +4 -2
  5. data/app/assets/lookbook/css/themes/green.css +66 -0
  6. data/app/assets/lookbook/css/themes/indigo.css +4 -2
  7. data/app/assets/lookbook/css/themes/rose.css +66 -0
  8. data/app/assets/lookbook/css/themes/zinc.css +4 -2
  9. data/app/components/lookbook/base_component.rb +2 -2
  10. data/app/components/lookbook/code/component.css +2 -2
  11. data/app/components/lookbook/code/component.html.erb +3 -2
  12. data/app/components/lookbook/code/component.rb +13 -2
  13. data/app/components/lookbook/code/highlight_github.css +406 -0
  14. data/app/components/lookbook/header/component.html.erb +1 -1
  15. data/app/components/lookbook/inspector_panel/component.rb +4 -6
  16. data/app/components/lookbook/nav/component.rb +8 -15
  17. data/app/components/lookbook/nav/directory/component.html.erb +28 -0
  18. data/app/components/lookbook/nav/directory/component.rb +4 -0
  19. data/app/components/lookbook/nav/{item → entity}/component.html.erb +8 -8
  20. data/app/components/lookbook/nav/entity/component.rb +49 -0
  21. data/app/components/lookbook/nav/item/component.css +15 -0
  22. data/app/components/lookbook/nav/item/component.js +4 -0
  23. data/app/components/lookbook/nav/item/component.rb +13 -56
  24. data/app/components/lookbook/params/editor/component.html.erb +2 -2
  25. data/app/components/lookbook/params/editor/component.rb +3 -10
  26. data/app/components/lookbook/params/field/component.css +3 -3
  27. data/app/components/lookbook/params/field/component.html.erb +8 -8
  28. data/app/components/lookbook/params/field/component.rb +21 -72
  29. data/app/components/lookbook/split_layout/component.html.erb +1 -1
  30. data/app/components/lookbook/tabs/component.html.erb +1 -1
  31. data/app/components/lookbook/tabs/component.js +4 -0
  32. data/app/components/lookbook/tag_component.rb +1 -1
  33. data/app/components/lookbook/viewport/component.css +1 -1
  34. data/app/components/lookbook/viewport/component.html.erb +1 -1
  35. data/app/components/lookbook/viewport/component.rb +1 -1
  36. data/app/controllers/concerns/lookbook/targetable_concern.rb +131 -0
  37. data/app/controllers/concerns/lookbook/with_preview_controller_concern.rb +13 -0
  38. data/app/controllers/lookbook/application_controller.rb +21 -9
  39. data/app/controllers/lookbook/inspector_controller.rb +45 -0
  40. data/app/controllers/lookbook/page_controller.rb +13 -9
  41. data/app/controllers/lookbook/pages_controller.rb +9 -15
  42. data/app/controllers/lookbook/previews_controller.rb +4 -210
  43. data/app/helpers/lookbook/application_helper.rb +2 -2
  44. data/app/helpers/lookbook/output_helper.rb +5 -5
  45. data/app/helpers/lookbook/page_helper.rb +7 -4
  46. data/app/views/layouts/lookbook/application.html.erb +40 -38
  47. data/app/views/layouts/lookbook/page.html.erb +2 -2
  48. data/app/views/layouts/lookbook/shell.html.erb +3 -2
  49. data/app/views/layouts/lookbook/skeleton.html.erb +7 -7
  50. data/app/views/lookbook/index.html.erb +13 -2
  51. data/app/views/lookbook/{previews → inspector}/inputs/_color.html.erb +0 -0
  52. data/app/views/lookbook/{previews → inspector}/inputs/_range.html.erb +0 -0
  53. data/app/views/lookbook/{previews → inspector}/inputs/_select.html.erb +0 -0
  54. data/app/views/lookbook/{previews → inspector}/inputs/_text.html.erb +0 -0
  55. data/app/views/lookbook/{previews → inspector}/inputs/_textarea.html.erb +0 -0
  56. data/app/views/lookbook/{previews → inspector}/inputs/_toggle.html.erb +5 -5
  57. data/app/views/lookbook/{previews → inspector}/panels/_content.html.erb +0 -0
  58. data/app/views/lookbook/{previews → inspector}/panels/_notes.html.erb +2 -2
  59. data/app/views/lookbook/{previews → inspector}/panels/_output.html.erb +0 -0
  60. data/app/views/lookbook/inspector/panels/_params.html.erb +15 -0
  61. data/app/views/lookbook/{previews → inspector}/panels/_preview.html.erb +0 -0
  62. data/app/views/lookbook/{previews → inspector}/panels/_source.html.erb +0 -0
  63. data/app/views/lookbook/{previews → inspector}/show.html.erb +5 -2
  64. data/config/app.yml +11 -1
  65. data/config/inputs.yml +12 -12
  66. data/config/languages.yml +41 -0
  67. data/config/panels.yml +6 -6
  68. data/config/routes.rb +5 -5
  69. data/config/tags.yml +8 -1
  70. data/lib/lookbook/engine.rb +103 -130
  71. data/lib/lookbook/entities/collections/component_collection.rb +4 -0
  72. data/lib/lookbook/entities/collections/concerns/hierarchical_collection.rb +23 -0
  73. data/lib/lookbook/entities/collections/entity_collection.rb +61 -0
  74. data/lib/lookbook/entities/collections/page_collection.rb +30 -0
  75. data/lib/lookbook/entities/collections/preview_collection.rb +41 -0
  76. data/lib/lookbook/entities/collections/preview_example_collection.rb +4 -0
  77. data/lib/lookbook/entities/component.rb +31 -0
  78. data/lib/lookbook/entities/concerns/annotatable.rb +58 -0
  79. data/lib/lookbook/entities/concerns/inspectable.rb +44 -0
  80. data/lib/lookbook/entities/concerns/locatable.rb +73 -0
  81. data/lib/lookbook/entities/concerns/navigable.rb +43 -0
  82. data/lib/lookbook/entities/entity.rb +53 -0
  83. data/lib/lookbook/entities/page.rb +80 -0
  84. data/lib/lookbook/entities/page_section.rb +43 -0
  85. data/lib/lookbook/entities/preview.rb +87 -0
  86. data/lib/lookbook/entities/preview_example.rb +100 -0
  87. data/lib/lookbook/entities/preview_group.rb +48 -0
  88. data/lib/lookbook/file_watcher.rb +47 -0
  89. data/lib/lookbook/lang.rb +12 -35
  90. data/lib/lookbook/param.rb +99 -0
  91. data/lib/lookbook/{preview_controller.rb → preview_actions.rb} +14 -3
  92. data/lib/lookbook/preview_parser.rb +53 -0
  93. data/lib/lookbook/process.rb +21 -0
  94. data/lib/lookbook/rendered_example.rb +37 -0
  95. data/lib/lookbook/services/code/code_beautifier.rb +21 -0
  96. data/lib/lookbook/services/code/code_highlighter.rb +69 -0
  97. data/lib/lookbook/services/code/code_indenter.rb +14 -0
  98. data/lib/lookbook/services/data/parsers/data_parser.rb +22 -0
  99. data/lib/lookbook/services/data/parsers/json_parser.rb +7 -0
  100. data/lib/lookbook/services/data/parsers/yaml_parser.rb +7 -0
  101. data/lib/lookbook/services/data/resolvers/data_resolver.rb +70 -0
  102. data/lib/lookbook/services/data/resolvers/eval_resolver.rb +10 -0
  103. data/lib/lookbook/services/data/resolvers/file_resolver.rb +28 -0
  104. data/lib/lookbook/services/data/resolvers/method_resolver.rb +10 -0
  105. data/lib/lookbook/services/data/resolvers/yaml_resolver.rb +18 -0
  106. data/lib/lookbook/services/entities/entity_tree_builder.rb +45 -0
  107. data/lib/lookbook/services/markdown_renderer.rb +29 -0
  108. data/lib/lookbook/services/position_prefix_parser.rb +16 -0
  109. data/lib/lookbook/services/string_value_caster.rb +60 -0
  110. data/lib/lookbook/services/tags/tag_options_parser.rb +62 -0
  111. data/lib/lookbook/services/templates/action_view_annotations_handler.rb +21 -0
  112. data/lib/lookbook/services/templates/action_view_annotations_stripper.rb +15 -0
  113. data/lib/lookbook/services/templates/frontmatter_extractor.rb +28 -0
  114. data/lib/lookbook/services/templates/styles_extractor.rb +38 -0
  115. data/lib/lookbook/services/{search_param_builder.rb → urls/search_param_builder.rb} +1 -1
  116. data/lib/lookbook/services/{search_param_parser.rb → urls/search_param_parser.rb} +1 -1
  117. data/lib/lookbook/stores/config_store.rb +12 -9
  118. data/lib/lookbook/stores/input_store.rb +7 -3
  119. data/lib/lookbook/stores/panel_store.rb +2 -2
  120. data/lib/lookbook/stores/tag_store.rb +3 -5
  121. data/lib/lookbook/support/null_object.rb +10 -0
  122. data/lib/lookbook/support/service.rb +2 -2
  123. data/lib/lookbook/support/store.rb +2 -35
  124. data/lib/lookbook/support/tree_node.rb +87 -0
  125. data/lib/lookbook/support/utils/path_utils.rb +32 -5
  126. data/lib/lookbook/support/utils/utils.rb +24 -0
  127. data/lib/lookbook/tags/component_tag.rb +13 -0
  128. data/lib/lookbook/tags/custom_tag.rb +61 -0
  129. data/lib/lookbook/tags/display_tag.rb +15 -0
  130. data/lib/lookbook/tags/hidden_tag.rb +13 -0
  131. data/lib/lookbook/tags/id_tag.rb +7 -0
  132. data/lib/lookbook/tags/label_tag.rb +4 -0
  133. data/lib/lookbook/tags/logical_path_tag.rb +7 -0
  134. data/lib/lookbook/tags/param_tag.rb +63 -0
  135. data/lib/lookbook/tags/position_tag.rb +16 -0
  136. data/lib/lookbook/tags/source_tag.rb +7 -0
  137. data/lib/lookbook/tags/tag_provider.rb +18 -0
  138. data/lib/lookbook/tags/yard_tag.rb +90 -0
  139. data/lib/lookbook/theme.rb +8 -0
  140. data/lib/lookbook/version.rb +1 -1
  141. data/lib/lookbook/websocket.rb +60 -0
  142. data/lib/lookbook.rb +13 -8
  143. data/public/lookbook-assets/css/lookbook.css +487 -411
  144. data/public/lookbook-assets/css/lookbook.css.map +1 -1
  145. data/public/lookbook-assets/css/themes/blue.css +3 -1
  146. data/public/lookbook-assets/css/themes/blue.css.map +1 -1
  147. data/public/lookbook-assets/css/themes/green.css +68 -0
  148. data/public/lookbook-assets/css/themes/green.css.map +1 -0
  149. data/public/lookbook-assets/css/themes/indigo.css +3 -1
  150. data/public/lookbook-assets/css/themes/indigo.css.map +1 -1
  151. data/public/lookbook-assets/css/themes/rose.css +68 -0
  152. data/public/lookbook-assets/css/themes/rose.css.map +1 -0
  153. data/public/lookbook-assets/css/themes/zinc.css +3 -1
  154. data/public/lookbook-assets/css/themes/zinc.css.map +1 -1
  155. data/public/lookbook-assets/js/embed.js +10 -1
  156. data/public/lookbook-assets/js/embed.js.map +1 -1
  157. data/public/lookbook-assets/js/lookbook.js +358 -629
  158. data/public/lookbook-assets/js/lookbook.js.map +1 -1
  159. metadata +96 -44
  160. data/app/components/lookbook/code/highlight_github_light.css +0 -217
  161. data/app/views/lookbook/previews/panels/_params.html.erb +0 -15
  162. data/lib/lookbook/code_formatter.rb +0 -68
  163. data/lib/lookbook/collection.rb +0 -161
  164. data/lib/lookbook/component.rb +0 -34
  165. data/lib/lookbook/entity.rb +0 -47
  166. data/lib/lookbook/markdown.rb +0 -22
  167. data/lib/lookbook/page.rb +0 -195
  168. data/lib/lookbook/page_collection.rb +0 -19
  169. data/lib/lookbook/page_section.rb +0 -29
  170. data/lib/lookbook/params.rb +0 -157
  171. data/lib/lookbook/parser.rb +0 -42
  172. data/lib/lookbook/preview.rb +0 -174
  173. data/lib/lookbook/preview_collection.rb +0 -23
  174. data/lib/lookbook/preview_example.rb +0 -93
  175. data/lib/lookbook/preview_group.rb +0 -62
  176. data/lib/lookbook/source_inspector.rb +0 -95
  177. data/lib/lookbook/support/utils/attribute_utils.rb +0 -9
  178. data/lib/lookbook/tag.rb +0 -122
  179. data/lib/lookbook/tag_options.rb +0 -111
  180. data/lib/lookbook/tags.rb +0 -17
  181. data/lib/lookbook/template_parser.rb +0 -72
  182. data/lib/lookbook/utils.rb +0 -105
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: lookbook
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.2.1
4
+ version: 1.4.5
5
5
  platform: ruby
6
6
  authors:
7
7
  - Mark Perkins
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2022-10-17 00:00:00.000000000 Z
11
+ date: 2022-12-21 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: css_parser
@@ -194,7 +194,9 @@ files:
194
194
  - README.md
195
195
  - app/assets/lookbook/css/lookbook.css
196
196
  - app/assets/lookbook/css/themes/blue.css
197
+ - app/assets/lookbook/css/themes/green.css
197
198
  - app/assets/lookbook/css/themes/indigo.css
199
+ - app/assets/lookbook/css/themes/rose.css
198
200
  - app/assets/lookbook/css/themes/zinc.css
199
201
  - app/assets/lookbook/css/tooltip.css
200
202
  - app/assets/lookbook/js/app.js
@@ -231,7 +233,7 @@ files:
231
233
  - app/components/lookbook/code/component.html.erb
232
234
  - app/components/lookbook/code/component.js
233
235
  - app/components/lookbook/code/component.rb
234
- - app/components/lookbook/code/highlight_github_light.css
236
+ - app/components/lookbook/code/highlight_github.css
235
237
  - app/components/lookbook/copy_button/component.html.erb
236
238
  - app/components/lookbook/copy_button/component.js
237
239
  - app/components/lookbook/copy_button/component.rb
@@ -264,7 +266,11 @@ files:
264
266
  - app/components/lookbook/nav/component.html.erb
265
267
  - app/components/lookbook/nav/component.js
266
268
  - app/components/lookbook/nav/component.rb
267
- - app/components/lookbook/nav/item/component.html.erb
269
+ - app/components/lookbook/nav/directory/component.html.erb
270
+ - app/components/lookbook/nav/directory/component.rb
271
+ - app/components/lookbook/nav/entity/component.html.erb
272
+ - app/components/lookbook/nav/entity/component.rb
273
+ - app/components/lookbook/nav/item/component.css
268
274
  - app/components/lookbook/nav/item/component.js
269
275
  - app/components/lookbook/nav/item/component.rb
270
276
  - app/components/lookbook/page_tabs/component.html.erb
@@ -303,7 +309,10 @@ files:
303
309
  - app/components/lookbook/viewport/component.html.erb
304
310
  - app/components/lookbook/viewport/component.js
305
311
  - app/components/lookbook/viewport/component.rb
312
+ - app/controllers/concerns/lookbook/targetable_concern.rb
313
+ - app/controllers/concerns/lookbook/with_preview_controller_concern.rb
306
314
  - app/controllers/lookbook/application_controller.rb
315
+ - app/controllers/lookbook/inspector_controller.rb
307
316
  - app/controllers/lookbook/page_controller.rb
308
317
  - app/controllers/lookbook/pages_controller.rb
309
318
  - app/controllers/lookbook/previews_controller.rb
@@ -321,52 +330,80 @@ files:
321
330
  - app/views/lookbook/404.html.erb
322
331
  - app/views/lookbook/error.html.erb
323
332
  - app/views/lookbook/index.html.erb
333
+ - app/views/lookbook/inspector/inputs/_color.html.erb
334
+ - app/views/lookbook/inspector/inputs/_range.html.erb
335
+ - app/views/lookbook/inspector/inputs/_select.html.erb
336
+ - app/views/lookbook/inspector/inputs/_text.html.erb
337
+ - app/views/lookbook/inspector/inputs/_textarea.html.erb
338
+ - app/views/lookbook/inspector/inputs/_toggle.html.erb
339
+ - app/views/lookbook/inspector/panels/_content.html.erb
340
+ - app/views/lookbook/inspector/panels/_notes.html.erb
341
+ - app/views/lookbook/inspector/panels/_output.html.erb
342
+ - app/views/lookbook/inspector/panels/_params.html.erb
343
+ - app/views/lookbook/inspector/panels/_preview.html.erb
344
+ - app/views/lookbook/inspector/panels/_source.html.erb
345
+ - app/views/lookbook/inspector/show.html.erb
324
346
  - app/views/lookbook/pages/show.html.erb
325
347
  - app/views/lookbook/preview.html.erb
326
- - app/views/lookbook/previews/inputs/_color.html.erb
327
- - app/views/lookbook/previews/inputs/_range.html.erb
328
- - app/views/lookbook/previews/inputs/_select.html.erb
329
- - app/views/lookbook/previews/inputs/_text.html.erb
330
- - app/views/lookbook/previews/inputs/_textarea.html.erb
331
- - app/views/lookbook/previews/inputs/_toggle.html.erb
332
- - app/views/lookbook/previews/panels/_content.html.erb
333
- - app/views/lookbook/previews/panels/_notes.html.erb
334
- - app/views/lookbook/previews/panels/_output.html.erb
335
- - app/views/lookbook/previews/panels/_params.html.erb
336
- - app/views/lookbook/previews/panels/_preview.html.erb
337
- - app/views/lookbook/previews/panels/_source.html.erb
338
- - app/views/lookbook/previews/show.html.erb
339
348
  - config/app.yml
340
349
  - config/hooks.yml
341
350
  - config/inputs.yml
351
+ - config/languages.yml
342
352
  - config/panels.yml
343
353
  - config/routes.rb
344
354
  - config/tags.yml
345
355
  - lib/lookbook.rb
346
- - lib/lookbook/code_formatter.rb
347
- - lib/lookbook/collection.rb
348
- - lib/lookbook/component.rb
349
356
  - lib/lookbook/engine.rb
350
- - lib/lookbook/entity.rb
357
+ - lib/lookbook/entities/collections/component_collection.rb
358
+ - lib/lookbook/entities/collections/concerns/hierarchical_collection.rb
359
+ - lib/lookbook/entities/collections/entity_collection.rb
360
+ - lib/lookbook/entities/collections/page_collection.rb
361
+ - lib/lookbook/entities/collections/preview_collection.rb
362
+ - lib/lookbook/entities/collections/preview_example_collection.rb
363
+ - lib/lookbook/entities/component.rb
364
+ - lib/lookbook/entities/concerns/annotatable.rb
365
+ - lib/lookbook/entities/concerns/inspectable.rb
366
+ - lib/lookbook/entities/concerns/locatable.rb
367
+ - lib/lookbook/entities/concerns/navigable.rb
368
+ - lib/lookbook/entities/entity.rb
369
+ - lib/lookbook/entities/page.rb
370
+ - lib/lookbook/entities/page_section.rb
371
+ - lib/lookbook/entities/preview.rb
372
+ - lib/lookbook/entities/preview_example.rb
373
+ - lib/lookbook/entities/preview_group.rb
351
374
  - lib/lookbook/error.rb
352
375
  - lib/lookbook/features.rb
376
+ - lib/lookbook/file_watcher.rb
353
377
  - lib/lookbook/lang.rb
354
- - lib/lookbook/markdown.rb
355
- - lib/lookbook/page.rb
356
- - lib/lookbook/page_collection.rb
357
- - lib/lookbook/page_section.rb
358
- - lib/lookbook/params.rb
359
- - lib/lookbook/parser.rb
360
- - lib/lookbook/preview.rb
361
- - lib/lookbook/preview_collection.rb
362
- - lib/lookbook/preview_controller.rb
363
- - lib/lookbook/preview_example.rb
364
- - lib/lookbook/preview_group.rb
378
+ - lib/lookbook/param.rb
379
+ - lib/lookbook/preview_actions.rb
380
+ - lib/lookbook/preview_parser.rb
381
+ - lib/lookbook/process.rb
382
+ - lib/lookbook/rendered_example.rb
383
+ - lib/lookbook/services/code/code_beautifier.rb
384
+ - lib/lookbook/services/code/code_highlighter.rb
385
+ - lib/lookbook/services/code/code_indenter.rb
365
386
  - lib/lookbook/services/config_loader.rb
366
- - lib/lookbook/services/search_param_builder.rb
367
- - lib/lookbook/services/search_param_parser.rb
387
+ - lib/lookbook/services/data/parsers/data_parser.rb
388
+ - lib/lookbook/services/data/parsers/json_parser.rb
389
+ - lib/lookbook/services/data/parsers/yaml_parser.rb
390
+ - lib/lookbook/services/data/resolvers/data_resolver.rb
391
+ - lib/lookbook/services/data/resolvers/eval_resolver.rb
392
+ - lib/lookbook/services/data/resolvers/file_resolver.rb
393
+ - lib/lookbook/services/data/resolvers/method_resolver.rb
394
+ - lib/lookbook/services/data/resolvers/yaml_resolver.rb
395
+ - lib/lookbook/services/entities/entity_tree_builder.rb
396
+ - lib/lookbook/services/markdown_renderer.rb
397
+ - lib/lookbook/services/position_prefix_parser.rb
398
+ - lib/lookbook/services/string_value_caster.rb
368
399
  - lib/lookbook/services/tags/key_value_tag_parser.rb
369
- - lib/lookbook/source_inspector.rb
400
+ - lib/lookbook/services/tags/tag_options_parser.rb
401
+ - lib/lookbook/services/templates/action_view_annotations_handler.rb
402
+ - lib/lookbook/services/templates/action_view_annotations_stripper.rb
403
+ - lib/lookbook/services/templates/frontmatter_extractor.rb
404
+ - lib/lookbook/services/templates/styles_extractor.rb
405
+ - lib/lookbook/services/urls/search_param_builder.rb
406
+ - lib/lookbook/services/urls/search_param_parser.rb
370
407
  - lib/lookbook/stores/config_store.rb
371
408
  - lib/lookbook/stores/hook_store.rb
372
409
  - lib/lookbook/stores/input_store.rb
@@ -375,17 +412,27 @@ files:
375
412
  - lib/lookbook/support/errors/config_error.rb
376
413
  - lib/lookbook/support/errors/lookbook_error.rb
377
414
  - lib/lookbook/support/errors/parser_error.rb
415
+ - lib/lookbook/support/null_object.rb
378
416
  - lib/lookbook/support/service.rb
379
417
  - lib/lookbook/support/store.rb
380
- - lib/lookbook/support/utils/attribute_utils.rb
418
+ - lib/lookbook/support/tree_node.rb
381
419
  - lib/lookbook/support/utils/path_utils.rb
382
- - lib/lookbook/tag.rb
383
- - lib/lookbook/tag_options.rb
384
- - lib/lookbook/tags.rb
385
- - lib/lookbook/template_parser.rb
420
+ - lib/lookbook/support/utils/utils.rb
421
+ - lib/lookbook/tags/component_tag.rb
422
+ - lib/lookbook/tags/custom_tag.rb
423
+ - lib/lookbook/tags/display_tag.rb
424
+ - lib/lookbook/tags/hidden_tag.rb
425
+ - lib/lookbook/tags/id_tag.rb
426
+ - lib/lookbook/tags/label_tag.rb
427
+ - lib/lookbook/tags/logical_path_tag.rb
428
+ - lib/lookbook/tags/param_tag.rb
429
+ - lib/lookbook/tags/position_tag.rb
430
+ - lib/lookbook/tags/source_tag.rb
431
+ - lib/lookbook/tags/tag_provider.rb
432
+ - lib/lookbook/tags/yard_tag.rb
386
433
  - lib/lookbook/theme.rb
387
- - lib/lookbook/utils.rb
388
434
  - lib/lookbook/version.rb
435
+ - lib/lookbook/websocket.rb
389
436
  - lib/tasks/lookbook_tasks.rake
390
437
  - public/lookbook-assets/css/app.css
391
438
  - public/lookbook-assets/css/app.css.map
@@ -393,8 +440,12 @@ files:
393
440
  - public/lookbook-assets/css/lookbook.css.map
394
441
  - public/lookbook-assets/css/themes/blue.css
395
442
  - public/lookbook-assets/css/themes/blue.css.map
443
+ - public/lookbook-assets/css/themes/green.css
444
+ - public/lookbook-assets/css/themes/green.css.map
396
445
  - public/lookbook-assets/css/themes/indigo.css
397
446
  - public/lookbook-assets/css/themes/indigo.css.map
447
+ - public/lookbook-assets/css/themes/rose.css
448
+ - public/lookbook-assets/css/themes/rose.css.map
398
449
  - public/lookbook-assets/css/themes/zinc.css
399
450
  - public/lookbook-assets/css/themes/zinc.css.map
400
451
  - public/lookbook-assets/css/themes/zinc.css.map.91837.5
@@ -406,10 +457,11 @@ files:
406
457
  - public/lookbook-assets/js/embed.js.map
407
458
  - public/lookbook-assets/js/lookbook.js
408
459
  - public/lookbook-assets/js/lookbook.js.map
409
- homepage: https://github.com/allmarkedup/lookbook
460
+ homepage: https://github.com/ViewComponent/lookbook
410
461
  licenses:
411
462
  - MIT
412
- metadata: {}
463
+ metadata:
464
+ rubygems_mfa_required: 'true'
413
465
  post_install_message:
414
466
  rdoc_options: []
415
467
  require_paths:
@@ -418,7 +470,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
418
470
  requirements:
419
471
  - - ">="
420
472
  - !ruby/object:Gem::Version
421
- version: '0'
473
+ version: 2.7.0
422
474
  required_rubygems_version: !ruby/object:Gem::Requirement
423
475
  requirements:
424
476
  - - ">="
@@ -1,217 +0,0 @@
1
- @layer components {
2
- .theme-github-light {
3
- @apply bg-white;
4
-
5
- & .highlight {
6
- & .hll {
7
- background-color: #f8f8f8;
8
- border: 1px solid #ccc;
9
- padding: 6px 10px;
10
- border-radius: 3px;
11
- }
12
- & .c {
13
- color: #999988;
14
- font-style: italic;
15
- }
16
- & .err {
17
- /* color: #a61717;
18
- background-color: #e3d2d2; */
19
- }
20
- & .k {
21
- font-weight: bold;
22
- }
23
- & .o {
24
- font-weight: bold;
25
- }
26
- & .cm {
27
- color: #999988;
28
- font-style: italic;
29
- }
30
- & .cp {
31
- color: #999999;
32
- font-weight: bold;
33
- }
34
- & .c1 {
35
- color: #999988;
36
- font-style: italic;
37
- }
38
- & .cs {
39
- color: #999999;
40
- font-weight: bold;
41
- font-style: italic;
42
- }
43
- & .gd {
44
- color: #000000;
45
- background-color: #ffdddd;
46
- }
47
- & .gd .x {
48
- color: #000000;
49
- background-color: #ffaaaa;
50
- }
51
- & .ge {
52
- font-style: italic;
53
- }
54
- & .gr {
55
- color: #aa0000;
56
- }
57
- & .gh {
58
- color: #999999;
59
- }
60
- & .gi {
61
- color: #000000;
62
- background-color: #ddffdd;
63
- }
64
- & .gi .x {
65
- color: #000000;
66
- background-color: #aaffaa;
67
- }
68
- & .go {
69
- color: #888888;
70
- }
71
- & .gp {
72
- color: #555555;
73
- }
74
- & .gs {
75
- font-weight: bold;
76
- }
77
- & .gu {
78
- color: #800080;
79
- font-weight: bold;
80
- }
81
- & .gt {
82
- color: #aa0000;
83
- }
84
- & .kc {
85
- font-weight: bold;
86
- }
87
- & .kd {
88
- font-weight: bold;
89
- }
90
- & .kn {
91
- font-weight: bold;
92
- }
93
- & .kp {
94
- font-weight: bold;
95
- }
96
- & .kr {
97
- font-weight: bold;
98
- }
99
- & .kt {
100
- color: #445588;
101
- font-weight: bold;
102
- }
103
- & .m {
104
- color: #009999;
105
- }
106
- & .s {
107
- color: #dd1144;
108
- }
109
- & .n {
110
- color: #333333;
111
- }
112
- & .na {
113
- color: teal;
114
- }
115
- & .nb {
116
- color: #0086b3;
117
- }
118
- & .nc {
119
- color: #445588;
120
- font-weight: bold;
121
- }
122
- & .no {
123
- color: teal;
124
- }
125
- & .ni {
126
- color: purple;
127
- }
128
- & .ne {
129
- color: #990000;
130
- font-weight: bold;
131
- }
132
- & .nf {
133
- color: #990000;
134
- font-weight: bold;
135
- }
136
- & .nn {
137
- color: #555555;
138
- }
139
- & .nt {
140
- color: navy;
141
- }
142
- & .nv {
143
- color: teal;
144
- }
145
- & .ow {
146
- font-weight: bold;
147
- }
148
- & .w {
149
- color: #bbbbbb;
150
- }
151
- & .mf {
152
- color: #009999;
153
- }
154
- & .mh {
155
- color: #009999;
156
- }
157
- & .mi {
158
- color: #009999;
159
- }
160
- & .mo {
161
- color: #009999;
162
- }
163
- & .sb {
164
- color: #dd1144;
165
- }
166
- & .sc {
167
- color: #dd1144;
168
- }
169
- & .sd {
170
- color: #dd1144;
171
- }
172
- & .s2 {
173
- color: #dd1144;
174
- }
175
- & .se {
176
- color: #dd1144;
177
- }
178
- & .sh {
179
- color: #dd1144;
180
- }
181
- & .si {
182
- color: #dd1144;
183
- }
184
- & .sx {
185
- color: #dd1144;
186
- }
187
- & .sr {
188
- color: #009926;
189
- }
190
- & .s1 {
191
- color: #dd1144;
192
- }
193
- & .ss {
194
- color: #990073;
195
- }
196
- & .bp {
197
- color: #999999;
198
- }
199
- & .vc {
200
- color: teal;
201
- }
202
- & .vg {
203
- color: teal;
204
- }
205
- & .vi {
206
- color: teal;
207
- }
208
- & .il {
209
- color: #009999;
210
- }
211
- & .gc {
212
- color: #999;
213
- background-color: #eaf2f5;
214
- }
215
- }
216
- }
217
- }
@@ -1,15 +0,0 @@
1
- <% if preview.params.none? %>
2
- <div class="p-4 w-full h-full bg-lookbook-prose-bg">
3
- <%= lookbook_render :prose do %>
4
- <em class='opacity-50'>No params configured.</em>
5
- <% end %>
6
- </div>
7
- <% else %>
8
- <div class="h-full overflow-x-hidden">
9
- <%= lookbook_render "params/editor", inputs: Lookbook::Engine.inputs do |editor| %>
10
- <% preview.params.each do |param| %>
11
- <% editor.field **param, value: params[param[:name]] %>
12
- <% end %>
13
- <% end %>
14
- </div>
15
- <% end %>
@@ -1,68 +0,0 @@
1
- require "rouge"
2
- require "htmlbeautifier"
3
- require "htmlentities"
4
-
5
- module Lookbook
6
- module CodeFormatter
7
- class << self
8
- def highlight(source, **opts)
9
- coder = HTMLEntities.new
10
- source = coder.decode source
11
- language = opts[:language] || "ruby"
12
- formatter = Formatter.new(**opts)
13
- lexer = Rouge::Lexer.find(language.to_s) || Rouge::Lexer.find("plaintext")
14
- formatter.format(lexer.lex(source)).html_safe
15
- end
16
-
17
- def beautify(source, **opts)
18
- language = opts[:language] || "html"
19
- source = source.strip
20
- result = language.downcase == "html" ? HtmlBeautifier.beautify(source) : source
21
- result.strip.html_safe
22
- end
23
- end
24
- end
25
-
26
- class Formatter < Rouge::Formatters::HTML
27
- def initialize(**opts)
28
- @opts = opts
29
- @highlight_lines = opts[:highlight_lines].to_a || []
30
- @start_line = opts[:start_line] || 1
31
- @language = opts[:language]
32
- end
33
-
34
- def stream(tokens, &block)
35
- lines = token_lines(tokens)
36
-
37
- yield "<div class='wrapper'>"
38
-
39
- if @opts[:line_numbers]
40
- yield "<div class='line-numbers'>"
41
- lines.each.with_index do |line, i|
42
- yield "<div class='line #{"highlighted" if highlighted?(i)}'><span class='line-number'>#{line_number(i)}</span></div>"
43
- end
44
- yield "</div>"
45
- end
46
-
47
- yield "<pre class='code highlight' data-lang='#{@language}'><code>"
48
- lines.each.with_index do |line_tokens, i|
49
- yield "<div class='line#{" highlighted" if highlighted?(i)}'>"
50
- line_tokens.each do |token, value|
51
- yield span(token, value)
52
- end
53
- yield "</div>"
54
- end
55
- yield "</code></pre>"
56
-
57
- yield "</div>"
58
- end
59
-
60
- def highlighted?(i)
61
- @highlight_lines.include?(i + 1)
62
- end
63
-
64
- def line_number(i)
65
- @start_line + i
66
- end
67
- end
68
- end
@@ -1,161 +0,0 @@
1
- module Lookbook
2
- class Collection < Entity
3
- include Enumerable
4
-
5
- delegate :size, :each, to: :items
6
-
7
- def initialize(path = "", items = [])
8
- @items = []
9
- if path.is_a?(Array)
10
- items = path
11
- path = ""
12
- end
13
-
14
- @path = path.delete_prefix("/").delete_suffix("/")
15
- super(@path)
16
-
17
- items.each { |item| add(item) }
18
- end
19
-
20
- def id
21
- lookup_path.present? ? super : "root"
22
- end
23
-
24
- def name
25
- @name ||= remove_position_prefix(basename)
26
- end
27
-
28
- def label
29
- name&.titleize
30
- end
31
-
32
- def position
33
- @position ||= parse_position_prefix(basename).first
34
- end
35
-
36
- def items
37
- @items.sort_by { |item| [item.hierarchy_depth, item&.position, item.label] }
38
- end
39
-
40
- def clear
41
- @items = []
42
- end
43
-
44
- def visible_items
45
- reject { |i| i.hidden? }
46
- end
47
-
48
- def non_empty_items
49
- items.select do |item|
50
- !item.is_a?(Lookbook::Collection) || item.items.any?
51
- end
52
- end
53
-
54
- def add(item)
55
- @ordered_entities = nil
56
- @tree = nil
57
- if item.is_a?(String)
58
- item = Collection.new([@path, item].join("/"))
59
- end
60
- @items << item
61
- item
62
- end
63
-
64
- def get(name)
65
- name = name.underscore
66
- items.find { |item| item.name.underscore == name }
67
- end
68
-
69
- def get_or_create(name)
70
- get(remove_position_prefix(name)).presence || add(name)
71
- end
72
-
73
- def find(lookup = nil, &block)
74
- if lookup
75
- lookup.is_a?(Symbol) ? find_by_id(lookup) : find_by_path(lookup)
76
- elsif block
77
- items.find(&block)
78
- end
79
- end
80
-
81
- def find_by_id(id)
82
- id = id.to_s.tr("_", "-")
83
- items.find { |i| i.id.to_s == id }
84
- end
85
-
86
- def find_by_path(path)
87
- items.find { |i| i.lookup_path == path }
88
- end
89
-
90
- def find_parent(child)
91
- parent_path = child.lookup_path.split("/").pop.join("/")
92
- find_by_path(parent_path)
93
- end
94
-
95
- def ordered_entities
96
- return @ordered_entities if @ordered_entities.present?
97
- entities = []
98
- as_tree.items.each do |item|
99
- entities.append(item.is_a?(Collection) ? item.ordered_entities : item)
100
- end
101
- @ordered_entities ||= entities.flatten
102
- end
103
-
104
- def find_first
105
- ordered_entities.first
106
- end
107
-
108
- def find_next(item)
109
- index = ordered_entities.find_index { |i| i.lookup_path == item.lookup_path }
110
- ordered_entities[index + 1] unless index.nil?
111
- end
112
-
113
- def find_previous(item)
114
- index = ordered_entities.find_index { |i| i.lookup_path == item.lookup_path }
115
- ordered_entities[index - 1] if !index.nil? && index > 0
116
- end
117
-
118
- def as_tree(filter_hidden: true)
119
- return self if hierarchy_depth > 0
120
- return @tree if @tree.present?
121
- @tree = self.class.new
122
- candidates = filter_hidden ? visible_items : items
123
- candidates.each do |item|
124
- current = @tree
125
- if item.hierarchy_depth == 1
126
- current.add(item)
127
- else
128
- item.parent_collections_names.each.with_index(1) do |name, i|
129
- target = current.get_or_create(name)
130
- if item.hierarchy_depth == i + 1
131
- target.add(item)
132
- else
133
- current = target
134
- end
135
- end
136
- end
137
- end
138
- @tree
139
- end
140
-
141
- def collapsible?
142
- false
143
- end
144
-
145
- def type
146
- :collection
147
- end
148
-
149
- protected
150
-
151
- def basename
152
- @path.present? ? @path.split("/").last : ""
153
- end
154
-
155
- class << self
156
- def describe_as
157
- "items"
158
- end
159
- end
160
- end
161
- end