lookbook 2.2.0 → 2.2.2
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/README.md +5 -1
- data/app/controllers/lookbook/application_controller.rb +2 -0
- data/app/controllers/lookbook/embeds_controller.rb +1 -1
- data/app/controllers/lookbook/previews_controller.rb +1 -1
- data/config/app.yml +1 -0
- data/lib/lookbook/stores/config_store.rb +4 -0
- data/lib/lookbook/theme.rb +2 -6
- data/lib/lookbook/version.rb +1 -1
- data/public/lookbook-assets/js/index.js +60 -44
- data/public/lookbook-assets/js/index.js.map +1 -1
- metadata +4 -4
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 8bb30f67eba8a56b3e6638e5671e493580bee97045acaeeeaa25a9bc1d92801a
|
4
|
+
data.tar.gz: 45ed40efdc4715461fa05217c5514103975182dca010fe754df54bd0572be450
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: e1cd96f2564bd3c4dbb3b4343f31505006403b5260ab47ede3dafb4514d40b406d6c25d6702323a69b36bd8af951b72918a55c04c1cb0c28473802cf169dd22f
|
7
|
+
data.tar.gz: 99650923f94a8e6c9e1bce12c0f292adabcfc0ffde22cc0cf881689d6171aacb14c34f9bb16e6b05b63aa32240802e52809a79ccfd990c9875c8744d99daa18c
|
data/README.md
CHANGED
@@ -14,10 +14,14 @@
|
|
14
14
|
---
|
15
15
|
|
16
16
|
<div align="center">
|
17
|
-
Lookbook combines a powerful <strong>component browser</strong> and <strong>preview system</strong> with an <strong>integrated documentation engine</strong> to help teams build robust, modular, maintainable user interfaces
|
17
|
+
Lookbook combines a powerful <strong>component browser</strong> and <strong>preview system</strong> with an <strong>integrated documentation engine</strong> to help teams build robust, modular, maintainable user interfaces.<br><br>
|
18
|
+
It's compatible with <a href="https://viewcomponent.org/">ViewComponent</a>, <a href="https://www.phlex.fun/">Phlex</a>, ActionView partials and more.
|
19
|
+
<br><br>
|
20
|
+
<a href="https://lookbook.build"><strong>Read the docs →</strong></a>
|
18
21
|
|
19
22
|
</div>
|
20
23
|
|
24
|
+
|
21
25
|
---
|
22
26
|
|
23
27
|
[![Lookbook UI](.github/assets/lookbook_ui.png)](http://lookbook.build/)
|
@@ -21,7 +21,7 @@ module Lookbook
|
|
21
21
|
if props.preview.present?
|
22
22
|
preview = Engine.previews.find_by_preview_class(props.preview)
|
23
23
|
if preview.present?
|
24
|
-
props.scenarios ||=
|
24
|
+
props.scenarios ||= props.scenario || ""
|
25
25
|
scenario = preview.scenario(Array(props.scenarios).first)
|
26
26
|
|
27
27
|
boolean_options = ["display_option_controls"]
|
@@ -68,7 +68,7 @@ module Lookbook
|
|
68
68
|
|
69
69
|
def permit_framing
|
70
70
|
headers["X-Frame-Options"] = Lookbook.config.preview_embeds.policy if embedded?
|
71
|
-
headers["X-Frame-Options"] = "SAMEORIGIN" if headers["X-Frame-Options"]
|
71
|
+
headers["X-Frame-Options"] = "SAMEORIGIN" if headers["X-Frame-Options"]&.upcase == "DENY"
|
72
72
|
end
|
73
73
|
end
|
74
74
|
end
|
data/config/app.yml
CHANGED
@@ -59,6 +59,10 @@ module Lookbook
|
|
59
59
|
store[:highlighter_options].merge!(options.to_h)
|
60
60
|
end
|
61
61
|
|
62
|
+
def preview_disable_error_handling=(value)
|
63
|
+
store[:preview_disable_error_handling] = value
|
64
|
+
end
|
65
|
+
|
62
66
|
def ui_theme=(name)
|
63
67
|
name = name.to_s
|
64
68
|
if Theme.valid_theme?(name)
|
data/lib/lookbook/theme.rb
CHANGED
@@ -30,19 +30,15 @@ module Lookbook
|
|
30
30
|
end
|
31
31
|
|
32
32
|
def favicon_light_mode
|
33
|
-
|
34
|
-
@overrides[:favicon_light_mode].presence ||
|
33
|
+
@overrides[:favicon_light_mode].presence ||
|
35
34
|
@overrides[:favicon].presence ||
|
36
35
|
BASE_THEMES[@base_theme.to_sym][:favicon_light_mode]
|
37
|
-
)
|
38
36
|
end
|
39
37
|
|
40
38
|
def favicon_dark_mode
|
41
|
-
|
42
|
-
@overrides[:favicon_dark_mode].presence ||
|
39
|
+
@overrides[:favicon_dark_mode].presence ||
|
43
40
|
@overrides[:favicon].presence ||
|
44
41
|
BASE_THEMES[@base_theme.to_sym][:favicon_dark_mode]
|
45
|
-
)
|
46
42
|
end
|
47
43
|
|
48
44
|
def to_css
|
data/lib/lookbook/version.rb
CHANGED
@@ -6524,12 +6524,23 @@ var $69a8ec8dbeef3157$var$buildConfigFromModifiers = (modifiers)=>{
|
|
6524
6524
|
if (modifiers.includes("max-width")) config.maxWidth = parseInt(getModifierArgument("max-width"));
|
6525
6525
|
if (modifiers.includes("theme")) config.theme = getModifierArgument("theme");
|
6526
6526
|
if (modifiers.includes("placement")) config.placement = getModifierArgument("placement");
|
6527
|
+
const popperOptions = {};
|
6528
|
+
if (modifiers.includes("no-flip")) {
|
6529
|
+
popperOptions.modifiers ||= [];
|
6530
|
+
popperOptions.modifiers.push({
|
6531
|
+
name: "flip",
|
6532
|
+
enabled: false
|
6533
|
+
});
|
6534
|
+
}
|
6535
|
+
config.popperOptions = popperOptions;
|
6527
6536
|
return config;
|
6528
6537
|
};
|
6529
6538
|
// src/index.js
|
6530
|
-
function $69a8ec8dbeef3157$var$
|
6539
|
+
function $69a8ec8dbeef3157$var$Tooltip(Alpine) {
|
6531
6540
|
Alpine.magic("tooltip", (el)=>{
|
6532
6541
|
return (content, config = {})=>{
|
6542
|
+
const timeout = config.timeout;
|
6543
|
+
delete config.timeout;
|
6533
6544
|
const instance = (0, $69a8ec8dbeef3157$var$import_tippy2.default)(el, {
|
6534
6545
|
content: content,
|
6535
6546
|
trigger: "manual",
|
@@ -6539,7 +6550,7 @@ function $69a8ec8dbeef3157$var$src_default(Alpine) {
|
|
6539
6550
|
setTimeout(()=>{
|
6540
6551
|
instance.hide();
|
6541
6552
|
setTimeout(()=>instance.destroy(), config.duration || 300);
|
6542
|
-
},
|
6553
|
+
}, timeout || 2e3);
|
6543
6554
|
};
|
6544
6555
|
});
|
6545
6556
|
Alpine.directive("tooltip", (el, { modifiers: modifiers, expression: expression }, { evaluateLater: evaluateLater, effect: effect })=>{
|
@@ -6568,6 +6579,11 @@ function $69a8ec8dbeef3157$var$src_default(Alpine) {
|
|
6568
6579
|
}
|
6569
6580
|
});
|
6570
6581
|
}
|
6582
|
+
$69a8ec8dbeef3157$var$Tooltip.defaultProps = (props)=>{
|
6583
|
+
$69a8ec8dbeef3157$var$import_tippy2.default.setDefaultProps(props);
|
6584
|
+
return $69a8ec8dbeef3157$var$Tooltip;
|
6585
|
+
};
|
6586
|
+
var $69a8ec8dbeef3157$var$src_default = $69a8ec8dbeef3157$var$Tooltip;
|
6571
6587
|
// builds/module.js
|
6572
6588
|
var $69a8ec8dbeef3157$export$2e2bcd8739ae039 = $69a8ec8dbeef3157$var$src_default;
|
6573
6589
|
|
@@ -7972,7 +7988,7 @@ function $12b7aa006b8a97e1$var$toCamel(s) {
|
|
7972
7988
|
}
|
7973
7989
|
|
7974
7990
|
|
7975
|
-
var $
|
7991
|
+
var $e29b71de1c821c6e$exports = {};
|
7976
7992
|
var $cbd28b10fa9798c7$exports = {};
|
7977
7993
|
|
7978
7994
|
$parcel$defineInteropFlag($cbd28b10fa9798c7$exports);
|
@@ -11491,16 +11507,6 @@ function $cbd28b10fa9798c7$export$2e2bcd8739ae039() {
|
|
11491
11507
|
}
|
11492
11508
|
|
11493
11509
|
|
11494
|
-
var $99486586f6691564$exports = {};
|
11495
|
-
|
11496
|
-
$parcel$defineInteropFlag($99486586f6691564$exports);
|
11497
|
-
|
11498
|
-
$parcel$export($99486586f6691564$exports, "default", () => $99486586f6691564$export$2e2bcd8739ae039);
|
11499
|
-
function $99486586f6691564$export$2e2bcd8739ae039() {
|
11500
|
-
return {};
|
11501
|
-
}
|
11502
|
-
|
11503
|
-
|
11504
11510
|
var $47a1c62621be0c54$exports = {};
|
11505
11511
|
|
11506
11512
|
$parcel$defineInteropFlag($47a1c62621be0c54$exports);
|
@@ -11557,6 +11563,16 @@ function $47a1c62621be0c54$export$2e2bcd8739ae039() {
|
|
11557
11563
|
}
|
11558
11564
|
|
11559
11565
|
|
11566
|
+
var $99486586f6691564$exports = {};
|
11567
|
+
|
11568
|
+
$parcel$defineInteropFlag($99486586f6691564$exports);
|
11569
|
+
|
11570
|
+
$parcel$export($99486586f6691564$exports, "default", () => $99486586f6691564$export$2e2bcd8739ae039);
|
11571
|
+
function $99486586f6691564$export$2e2bcd8739ae039() {
|
11572
|
+
return {};
|
11573
|
+
}
|
11574
|
+
|
11575
|
+
|
11560
11576
|
var $e398acaded942bbe$exports = {};
|
11561
11577
|
|
11562
11578
|
$parcel$defineInteropFlag($e398acaded942bbe$exports);
|
@@ -12219,6 +12235,33 @@ function $506dabb2bf255b38$var$sizeSplits(sizes) {
|
|
12219
12235
|
}
|
12220
12236
|
|
12221
12237
|
|
12238
|
+
var $a87dacf5139b5e2f$exports = {};
|
12239
|
+
|
12240
|
+
$parcel$defineInteropFlag($a87dacf5139b5e2f$exports);
|
12241
|
+
|
12242
|
+
$parcel$export($a87dacf5139b5e2f$exports, "default", () => $a87dacf5139b5e2f$export$2e2bcd8739ae039);
|
12243
|
+
function $a87dacf5139b5e2f$export$2e2bcd8739ae039(store) {
|
12244
|
+
return {
|
12245
|
+
get store () {
|
12246
|
+
return store || this;
|
12247
|
+
},
|
12248
|
+
get id () {
|
12249
|
+
return this.$root.id;
|
12250
|
+
},
|
12251
|
+
get panels () {
|
12252
|
+
return Array.from(this.$refs.panels.children);
|
12253
|
+
},
|
12254
|
+
isActive (el) {
|
12255
|
+
return this.store.activeTab === this._getRef(el);
|
12256
|
+
},
|
12257
|
+
// protected
|
12258
|
+
_getRef (el) {
|
12259
|
+
return el.getAttribute("x-ref");
|
12260
|
+
}
|
12261
|
+
};
|
12262
|
+
}
|
12263
|
+
|
12264
|
+
|
12222
12265
|
var $0db07828cadc68e0$exports = {};
|
12223
12266
|
|
12224
12267
|
$parcel$defineInteropFlag($0db07828cadc68e0$exports);
|
@@ -12312,33 +12355,6 @@ function $0db07828cadc68e0$export$2e2bcd8739ae039(store) {
|
|
12312
12355
|
}
|
12313
12356
|
|
12314
12357
|
|
12315
|
-
var $a87dacf5139b5e2f$exports = {};
|
12316
|
-
|
12317
|
-
$parcel$defineInteropFlag($a87dacf5139b5e2f$exports);
|
12318
|
-
|
12319
|
-
$parcel$export($a87dacf5139b5e2f$exports, "default", () => $a87dacf5139b5e2f$export$2e2bcd8739ae039);
|
12320
|
-
function $a87dacf5139b5e2f$export$2e2bcd8739ae039(store) {
|
12321
|
-
return {
|
12322
|
-
get store () {
|
12323
|
-
return store || this;
|
12324
|
-
},
|
12325
|
-
get id () {
|
12326
|
-
return this.$root.id;
|
12327
|
-
},
|
12328
|
-
get panels () {
|
12329
|
-
return Array.from(this.$refs.panels.children);
|
12330
|
-
},
|
12331
|
-
isActive (el) {
|
12332
|
-
return this.store.activeTab === this._getRef(el);
|
12333
|
-
},
|
12334
|
-
// protected
|
12335
|
-
_getRef (el) {
|
12336
|
-
return el.getAttribute("x-ref");
|
12337
|
-
}
|
12338
|
-
};
|
12339
|
-
}
|
12340
|
-
|
12341
|
-
|
12342
12358
|
var $6d64716f0b34fdf4$exports = {};
|
12343
12359
|
|
12344
12360
|
$parcel$defineInteropFlag($6d64716f0b34fdf4$exports);
|
@@ -12466,17 +12482,17 @@ function $6d64716f0b34fdf4$export$2e2bcd8739ae039(store) {
|
|
12466
12482
|
}
|
12467
12483
|
|
12468
12484
|
|
12469
|
-
$
|
12485
|
+
$e29b71de1c821c6e$exports = {
|
12470
12486
|
"button": $cbd28b10fa9798c7$exports,
|
12471
|
-
"code": $99486586f6691564$exports,
|
12472
12487
|
"copy_button": $47a1c62621be0c54$exports,
|
12488
|
+
"code": $99486586f6691564$exports,
|
12473
12489
|
"dimensions_display": $e398acaded942bbe$exports,
|
12474
12490
|
"embed_code_dropdown": $216ef7001f59f21d$exports,
|
12475
12491
|
"filter": $e9904a14dabf652d$exports,
|
12476
12492
|
"nav": $d92d9d5253f84566$exports,
|
12477
12493
|
"split_layout": $506dabb2bf255b38$exports,
|
12478
|
-
"tabs": $0db07828cadc68e0$exports,
|
12479
12494
|
"tab_panels": $a87dacf5139b5e2f$exports,
|
12495
|
+
"tabs": $0db07828cadc68e0$exports,
|
12480
12496
|
"viewport": $6d64716f0b34fdf4$exports
|
12481
12497
|
};
|
12482
12498
|
|
@@ -13661,7 +13677,7 @@ const $22969b543678f572$var$prefix = window.APP_NAME;
|
|
13661
13677
|
// Components
|
13662
13678
|
(0, $caa9439642c6336c$export$2e2bcd8739ae039).data("app", (0, $5792afa4170ed552$export$2e2bcd8739ae039));
|
13663
13679
|
[
|
13664
|
-
$
|
13680
|
+
$e29b71de1c821c6e$exports,
|
13665
13681
|
$6178ee12f80cbf68$exports,
|
13666
13682
|
$d56e5cced44001d2$exports
|
13667
13683
|
].forEach((scripts)=>{
|