lookbook 1.1.0 → 1.2.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/app/assets/lookbook/js/helpers/string.js +23 -1
- data/app/assets/lookbook/js/lookbook.js +0 -1
- data/app/components/lookbook/display_options/editor/component.html.erb +13 -0
- data/app/components/lookbook/display_options/editor/component.rb +7 -0
- data/app/components/lookbook/display_options/field/component.css +33 -0
- data/app/components/lookbook/display_options/field/component.html.erb +8 -0
- data/app/components/lookbook/display_options/field/component.js +30 -0
- data/app/components/lookbook/display_options/field/component.rb +28 -0
- data/app/components/lookbook/inspector_panel/component.html.erb +1 -1
- data/app/components/lookbook/inspector_panel/component.rb +10 -11
- data/app/components/lookbook/params/editor/component.rb +6 -3
- data/app/components/lookbook/params/field/component.rb +1 -5
- data/app/components/lookbook/tab_panels/panel/component.html.erb +1 -1
- data/app/components/lookbook/tab_panels/panel/component.rb +1 -2
- data/app/components/lookbook/tabs/dropdown_tab/component.html.erb +1 -0
- data/app/components/lookbook/tabs/tab/component.html.erb +1 -0
- data/app/components/lookbook/viewport/component.html.erb +1 -1
- data/app/components/lookbook/viewport/component.rb +2 -1
- data/app/controllers/lookbook/previews_controller.rb +40 -29
- data/app/helpers/lookbook/preview_helper.rb +1 -1
- data/app/views/lookbook/preview.html.erb +1 -1
- data/app/views/lookbook/previews/panels/_params.html.erb +1 -1
- data/app/views/lookbook/previews/panels/_preview.html.erb +9 -6
- data/app/views/lookbook/previews/show.html.erb +29 -11
- data/config/app.yml +36 -0
- data/config/hooks.yml +4 -0
- data/config/inputs.yml +48 -0
- data/config/panels.yml +30 -0
- data/config/routes.rb +1 -1
- data/config/tags.yml +29 -0
- data/lib/lookbook/engine.rb +40 -87
- data/lib/lookbook/markdown.rb +1 -11
- data/lib/lookbook/page.rb +1 -1
- data/lib/lookbook/params.rb +0 -7
- data/lib/lookbook/parser.rb +3 -10
- data/lib/lookbook/preview.rb +7 -3
- data/lib/lookbook/preview_example.rb +7 -3
- data/lib/lookbook/preview_group.rb +2 -2
- data/lib/lookbook/services/config_loader.rb +20 -0
- data/lib/lookbook/services/search_param_builder.rb +13 -0
- data/lib/lookbook/services/search_param_parser.rb +15 -0
- data/lib/lookbook/services/tags/key_value_tag_parser.rb +24 -0
- data/lib/lookbook/source_inspector.rb +10 -16
- data/lib/lookbook/stores/config_store.rb +80 -0
- data/lib/lookbook/stores/hook_store.rb +28 -0
- data/lib/lookbook/stores/input_store.rb +58 -0
- data/lib/lookbook/stores/panel_store.rb +141 -0
- data/lib/lookbook/stores/tag_store.rb +46 -0
- data/lib/lookbook/support/errors/config_error.rb +7 -0
- data/lib/lookbook/support/errors/lookbook_error.rb +21 -0
- data/lib/lookbook/support/errors/parser_error.rb +7 -0
- data/lib/lookbook/support/service.rb +7 -0
- data/lib/lookbook/support/store.rb +77 -0
- data/lib/lookbook/support/utils/attribute_utils.rb +9 -0
- data/lib/lookbook/support/utils/path_utils.rb +19 -0
- data/lib/lookbook/tags.rb +5 -14
- data/lib/lookbook/version.rb +1 -1
- data/lib/lookbook.rb +106 -30
- data/public/lookbook-assets/css/lookbook.css +33 -0
- data/public/lookbook-assets/css/lookbook.css.map +1 -1
- data/public/lookbook-assets/js/lookbook.js +158 -21
- data/public/lookbook-assets/js/lookbook.js.map +1 -1
- metadata +43 -7
- data/lib/lookbook/config.rb +0 -282
- data/lib/lookbook/data.rb +0 -11
- data/lib/lookbook/hooks.rb +0 -21
- data/lib/lookbook/panels.rb +0 -25
- data/lib/lookbook/store.rb +0 -48
@@ -623,6 +623,10 @@ var $caa9439642c6336c$var$directiveOrder = [
|
|
623
623
|
"ref",
|
624
624
|
"data",
|
625
625
|
"id",
|
626
|
+
"tabs",
|
627
|
+
"radio",
|
628
|
+
"switch",
|
629
|
+
"disclosure",
|
626
630
|
"bind",
|
627
631
|
"init",
|
628
632
|
"for",
|
@@ -1238,11 +1242,11 @@ function $caa9439642c6336c$var$getBinding(el, name, fallback) {
|
|
1238
1242
|
if (el._x_bindings && el._x_bindings[name] !== void 0) return el._x_bindings[name];
|
1239
1243
|
let attr = el.getAttribute(name);
|
1240
1244
|
if (attr === null) return typeof fallback === "function" ? fallback() : fallback;
|
1245
|
+
if (attr === "") return true;
|
1241
1246
|
if ($caa9439642c6336c$var$isBooleanAttr(name)) return !![
|
1242
1247
|
name,
|
1243
1248
|
"true"
|
1244
1249
|
].includes(attr);
|
1245
|
-
if (attr === "") return true;
|
1246
1250
|
return attr;
|
1247
1251
|
}
|
1248
1252
|
// packages/alpinejs/src/utils/debounce.js
|
@@ -1361,7 +1365,7 @@ var $caa9439642c6336c$var$Alpine = {
|
|
1361
1365
|
get raw () {
|
1362
1366
|
return $caa9439642c6336c$var$raw;
|
1363
1367
|
},
|
1364
|
-
version: "3.10.
|
1368
|
+
version: "3.10.4",
|
1365
1369
|
flushAndStopDeferringMutations: $caa9439642c6336c$var$flushAndStopDeferringMutations,
|
1366
1370
|
dontAutoEvaluateFunctions: $caa9439642c6336c$var$dontAutoEvaluateFunctions,
|
1367
1371
|
disableEffectScheduling: $caa9439642c6336c$var$disableEffectScheduling,
|
@@ -2390,7 +2394,7 @@ $caa9439642c6336c$var$directive("bind", (el, { value: value , modifiers: modifie
|
|
2390
2394
|
if (value === "key") return $caa9439642c6336c$var$storeKeyForXFor(el, expression);
|
2391
2395
|
let evaluate2 = $caa9439642c6336c$var$evaluateLater(el, expression);
|
2392
2396
|
effect3(()=>evaluate2((result)=>{
|
2393
|
-
if (result === void 0 && expression.match(/\./)) result = "";
|
2397
|
+
if (result === void 0 && typeof expression === "string" && expression.match(/\./)) result = "";
|
2394
2398
|
$caa9439642c6336c$var$mutateDom(()=>$caa9439642c6336c$var$bind(el, value, result, modifiers));
|
2395
2399
|
}));
|
2396
2400
|
});
|
@@ -6826,6 +6830,19 @@ function $7ae6ae39c2ec9059$export$6cb344a21ca18aec(content) {
|
|
6826
6830
|
function $7ae6ae39c2ec9059$export$2ce3c33e50a76e49(string, prefix = null) {
|
6827
6831
|
return prefix ? `${prefix}-${string}` : string;
|
6828
6832
|
}
|
6833
|
+
function $7ae6ae39c2ec9059$export$f720fd0ddbeb53d9(value) {
|
6834
|
+
const params = {};
|
6835
|
+
value.split("|").forEach((pair_str)=>{
|
6836
|
+
const [key, value] = pair_str.split(":").map((part)=>part.trim());
|
6837
|
+
params[key] = value;
|
6838
|
+
});
|
6839
|
+
return params;
|
6840
|
+
}
|
6841
|
+
function $7ae6ae39c2ec9059$export$c788aab010beeaec(data) {
|
6842
|
+
const pairs = [];
|
6843
|
+
for (const [key, value] of Object.entries(data))pairs.push(`${key}:${value}`);
|
6844
|
+
return pairs.join("|");
|
6845
|
+
}
|
6829
6846
|
|
6830
6847
|
|
6831
6848
|
const { sidebar: $aabd7bdddb195dac$var$sidebar , main: $aabd7bdddb195dac$var$main , inspector: $aabd7bdddb195dac$var$inspector } = (0, $4d527fa4ac70acba$export$2e2bcd8739ae039);
|
@@ -7821,7 +7838,7 @@ function $5439cede634b2921$var$toCamel(s) {
|
|
7821
7838
|
}
|
7822
7839
|
|
7823
7840
|
|
7824
|
-
var $
|
7841
|
+
var $1f889267678ff167$exports = {};
|
7825
7842
|
var $cbd28b10fa9798c7$exports = {};
|
7826
7843
|
|
7827
7844
|
$parcel$defineInteropFlag($cbd28b10fa9798c7$exports);
|
@@ -11485,6 +11502,16 @@ function $cbd28b10fa9798c7$export$2e2bcd8739ae039() {
|
|
11485
11502
|
}
|
11486
11503
|
|
11487
11504
|
|
11505
|
+
var $99486586f6691564$exports = {};
|
11506
|
+
|
11507
|
+
$parcel$defineInteropFlag($99486586f6691564$exports);
|
11508
|
+
|
11509
|
+
$parcel$export($99486586f6691564$exports, "default", () => $99486586f6691564$export$2e2bcd8739ae039);
|
11510
|
+
function $99486586f6691564$export$2e2bcd8739ae039() {
|
11511
|
+
return {};
|
11512
|
+
}
|
11513
|
+
|
11514
|
+
|
11488
11515
|
var $47a1c62621be0c54$exports = {};
|
11489
11516
|
|
11490
11517
|
$parcel$defineInteropFlag($47a1c62621be0c54$exports);
|
@@ -11541,16 +11568,6 @@ function $47a1c62621be0c54$export$2e2bcd8739ae039() {
|
|
11541
11568
|
}
|
11542
11569
|
|
11543
11570
|
|
11544
|
-
var $99486586f6691564$exports = {};
|
11545
|
-
|
11546
|
-
$parcel$defineInteropFlag($99486586f6691564$exports);
|
11547
|
-
|
11548
|
-
$parcel$export($99486586f6691564$exports, "default", () => $99486586f6691564$export$2e2bcd8739ae039);
|
11549
|
-
function $99486586f6691564$export$2e2bcd8739ae039() {
|
11550
|
-
return {};
|
11551
|
-
}
|
11552
|
-
|
11553
|
-
|
11554
11571
|
var $e398acaded942bbe$exports = {};
|
11555
11572
|
|
11556
11573
|
$parcel$defineInteropFlag($e398acaded942bbe$exports);
|
@@ -13326,10 +13343,10 @@ function $6d64716f0b34fdf4$export$2e2bcd8739ae039(store) {
|
|
13326
13343
|
}
|
13327
13344
|
|
13328
13345
|
|
13329
|
-
$
|
13346
|
+
$1f889267678ff167$exports = {
|
13330
13347
|
"button": $cbd28b10fa9798c7$exports,
|
13331
|
-
"copy_button": $47a1c62621be0c54$exports,
|
13332
13348
|
"code": $99486586f6691564$exports,
|
13349
|
+
"copy_button": $47a1c62621be0c54$exports,
|
13333
13350
|
"dimensions_display": $e398acaded942bbe$exports,
|
13334
13351
|
"embed": $e1f51f020443edd4$exports,
|
13335
13352
|
"filter": $e9904a14dabf652d$exports,
|
@@ -13342,7 +13359,125 @@ $205fb3dd9870d001$exports = {
|
|
13342
13359
|
};
|
13343
13360
|
|
13344
13361
|
|
13345
|
-
var $
|
13362
|
+
var $fe98e3f2bf49b28f$exports = {};
|
13363
|
+
var $6a9b69d9cc7f810f$exports = {};
|
13364
|
+
|
13365
|
+
$parcel$defineInteropFlag($6a9b69d9cc7f810f$exports);
|
13366
|
+
|
13367
|
+
$parcel$export($6a9b69d9cc7f810f$exports, "default", () => $6a9b69d9cc7f810f$export$2e2bcd8739ae039);
|
13368
|
+
var $cdfeaa1e0e8d642c$exports = {};
|
13369
|
+
(function(global, factory) {
|
13370
|
+
$cdfeaa1e0e8d642c$exports = factory();
|
13371
|
+
})($cdfeaa1e0e8d642c$exports, function() {
|
13372
|
+
"use strict";
|
13373
|
+
/* eslint-disable no-var */ function assign(target) {
|
13374
|
+
for(var i = 1; i < arguments.length; i++){
|
13375
|
+
var source = arguments[i];
|
13376
|
+
for(var key in source)target[key] = source[key];
|
13377
|
+
}
|
13378
|
+
return target;
|
13379
|
+
}
|
13380
|
+
/* eslint-enable no-var */ /* eslint-disable no-var */ var defaultConverter = {
|
13381
|
+
read: function(value) {
|
13382
|
+
if (value[0] === '"') value = value.slice(1, -1);
|
13383
|
+
return value.replace(/(%[\dA-F]{2})+/gi, decodeURIComponent);
|
13384
|
+
},
|
13385
|
+
write: function(value) {
|
13386
|
+
return encodeURIComponent(value).replace(/%(2[346BF]|3[AC-F]|40|5[BDE]|60|7[BCD])/g, decodeURIComponent);
|
13387
|
+
}
|
13388
|
+
};
|
13389
|
+
/* eslint-enable no-var */ /* eslint-disable no-var */ function init(converter, defaultAttributes) {
|
13390
|
+
function set(key, value, attributes) {
|
13391
|
+
if (typeof document === "undefined") return;
|
13392
|
+
attributes = assign({}, defaultAttributes, attributes);
|
13393
|
+
if (typeof attributes.expires === "number") attributes.expires = new Date(Date.now() + attributes.expires * 864e5);
|
13394
|
+
if (attributes.expires) attributes.expires = attributes.expires.toUTCString();
|
13395
|
+
key = encodeURIComponent(key).replace(/%(2[346B]|5E|60|7C)/g, decodeURIComponent).replace(/[()]/g, escape);
|
13396
|
+
var stringifiedAttributes = "";
|
13397
|
+
for(var attributeName in attributes){
|
13398
|
+
if (!attributes[attributeName]) continue;
|
13399
|
+
stringifiedAttributes += "; " + attributeName;
|
13400
|
+
if (attributes[attributeName] === true) continue;
|
13401
|
+
// Considers RFC 6265 section 5.2:
|
13402
|
+
// ...
|
13403
|
+
// 3. If the remaining unparsed-attributes contains a %x3B (";")
|
13404
|
+
// character:
|
13405
|
+
// Consume the characters of the unparsed-attributes up to,
|
13406
|
+
// not including, the first %x3B (";") character.
|
13407
|
+
// ...
|
13408
|
+
stringifiedAttributes += "=" + attributes[attributeName].split(";")[0];
|
13409
|
+
}
|
13410
|
+
return document.cookie = key + "=" + converter.write(value, key) + stringifiedAttributes;
|
13411
|
+
}
|
13412
|
+
function get(key) {
|
13413
|
+
if (typeof document === "undefined" || arguments.length && !key) return;
|
13414
|
+
// To prevent the for loop in the first place assign an empty array
|
13415
|
+
// in case there are no cookies at all.
|
13416
|
+
var cookies = document.cookie ? document.cookie.split("; ") : [];
|
13417
|
+
var jar = {};
|
13418
|
+
for(var i = 0; i < cookies.length; i++){
|
13419
|
+
var parts = cookies[i].split("=");
|
13420
|
+
var value = parts.slice(1).join("=");
|
13421
|
+
try {
|
13422
|
+
var foundKey = decodeURIComponent(parts[0]);
|
13423
|
+
jar[foundKey] = converter.read(value, foundKey);
|
13424
|
+
if (key === foundKey) break;
|
13425
|
+
} catch (e) {}
|
13426
|
+
}
|
13427
|
+
return key ? jar[key] : jar;
|
13428
|
+
}
|
13429
|
+
return Object.create({
|
13430
|
+
set: set,
|
13431
|
+
get: get,
|
13432
|
+
remove: function(key, attributes) {
|
13433
|
+
set(key, "", assign({}, attributes, {
|
13434
|
+
expires: -1
|
13435
|
+
}));
|
13436
|
+
},
|
13437
|
+
withAttributes: function(attributes) {
|
13438
|
+
return init(this.converter, assign({}, this.attributes, attributes));
|
13439
|
+
},
|
13440
|
+
withConverter: function(converter) {
|
13441
|
+
return init(assign({}, this.converter, converter), this.attributes);
|
13442
|
+
}
|
13443
|
+
}, {
|
13444
|
+
attributes: {
|
13445
|
+
value: Object.freeze(defaultAttributes)
|
13446
|
+
},
|
13447
|
+
converter: {
|
13448
|
+
value: Object.freeze(converter)
|
13449
|
+
}
|
13450
|
+
});
|
13451
|
+
}
|
13452
|
+
var api = init(defaultConverter, {
|
13453
|
+
path: "/"
|
13454
|
+
});
|
13455
|
+
/* eslint-enable no-var */ return api;
|
13456
|
+
});
|
13457
|
+
|
13458
|
+
|
13459
|
+
|
13460
|
+
function $6a9b69d9cc7f810f$export$2e2bcd8739ae039({ name: name , value: value }) {
|
13461
|
+
return {
|
13462
|
+
name: name,
|
13463
|
+
value: value,
|
13464
|
+
init () {
|
13465
|
+
this.$watch("value", ()=>this.update());
|
13466
|
+
},
|
13467
|
+
update () {
|
13468
|
+
(0, (/*@__PURE__*/$parcel$interopDefault($cdfeaa1e0e8d642c$exports))).set(`lookbook-display-${name}`, this.value);
|
13469
|
+
const searchParams = new URLSearchParams(window.location.search);
|
13470
|
+
const display = searchParams.get("_display");
|
13471
|
+
const displayParams = display ? (0, $7ae6ae39c2ec9059$export$f720fd0ddbeb53d9)(display) : {};
|
13472
|
+
displayParams[this.name] = this.value;
|
13473
|
+
searchParams.set("_display", (0, $7ae6ae39c2ec9059$export$c788aab010beeaec)(displayParams));
|
13474
|
+
const path = location.href.replace(location.search, "");
|
13475
|
+
this.navigateTo(`${path}?${searchParams.toString()}`);
|
13476
|
+
}
|
13477
|
+
};
|
13478
|
+
}
|
13479
|
+
|
13480
|
+
|
13346
13481
|
var $9b24cbeb3a465447$exports = {};
|
13347
13482
|
|
13348
13483
|
$parcel$defineInteropFlag($9b24cbeb3a465447$exports);
|
@@ -13431,7 +13566,10 @@ function $e773f8ef556b41ff$export$2e2bcd8739ae039() {
|
|
13431
13566
|
}
|
13432
13567
|
|
13433
13568
|
|
13434
|
-
$
|
13569
|
+
$fe98e3f2bf49b28f$exports = {
|
13570
|
+
"display_options": {
|
13571
|
+
"field": $6a9b69d9cc7f810f$exports
|
13572
|
+
},
|
13435
13573
|
"nav": {
|
13436
13574
|
"item": $9b24cbeb3a465447$exports
|
13437
13575
|
},
|
@@ -13505,13 +13643,12 @@ const $d73574cc5e9b9e72$var$prefix = window.APP_NAME;
|
|
13505
13643
|
// Components
|
13506
13644
|
(0, $caa9439642c6336c$export$2e2bcd8739ae039).data("app", (0, $d709d0f4027033b2$export$2e2bcd8739ae039));
|
13507
13645
|
[
|
13508
|
-
$
|
13509
|
-
$
|
13646
|
+
$1f889267678ff167$exports,
|
13647
|
+
$fe98e3f2bf49b28f$exports,
|
13510
13648
|
$6c10158820e535ef$exports
|
13511
13649
|
].forEach((scripts)=>{
|
13512
13650
|
const components = (0, $5439cede634b2921$export$4e811121b221213b)(scripts);
|
13513
13651
|
Object.keys(components).forEach((name)=>{
|
13514
|
-
console.log(name);
|
13515
13652
|
(0, $caa9439642c6336c$export$2e2bcd8739ae039).data(`${name}Component`, components[name]);
|
13516
13653
|
});
|
13517
13654
|
});
|