lookbook 2.3.0 → 2.3.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 +9 -9
- data/app/components/lookbook/header/component.html.erb +1 -1
- data/app/components/lookbook/icon/component.html.erb +4 -2
- data/app/components/lookbook/icon/component.rb +0 -16
- data/app/components/lookbook/nav/entity/component.html.erb +3 -0
- data/app/components/lookbook/nav/item/component.js +8 -10
- data/app/helpers/lookbook/application_helper.rb +10 -0
- data/app/views/layouts/lookbook/application.html.erb +98 -87
- data/app/views/layouts/lookbook/embed.html.erb +29 -17
- data/assets/js/app.js +7 -4
- data/assets/js/helpers/request.js +2 -2
- data/config/app.yml +1 -1
- data/lib/lookbook/version.rb +1 -1
- data/public/lookbook-assets/css/lookbook.css +13 -5
- data/public/lookbook-assets/css/lookbook.css.map +1 -1
- data/public/lookbook-assets/img/lucide-sprite.svg +1 -1
- data/public/lookbook-assets/js/index.js +138 -134
- data/public/lookbook-assets/js/index.js.map +1 -1
- metadata +4 -4
@@ -7898,8 +7898,8 @@ function $490552754c23ef6f$export$b98882f166bb7ce2(link) {
|
|
7898
7898
|
}
|
7899
7899
|
|
7900
7900
|
|
7901
|
-
async function $41e83ac737081df5$export$51c59e2af49c1a92(url, selector) {
|
7902
|
-
const response = await fetch(url || window.document.location);
|
7901
|
+
async function $41e83ac737081df5$export$51c59e2af49c1a92(url, selector, options = {}) {
|
7902
|
+
const response = await fetch(url || window.document.location, options);
|
7903
7903
|
const html = await response.text();
|
7904
7904
|
const doc = new DOMParser().parseFromString(html, "text/html");
|
7905
7905
|
return {
|
@@ -7942,7 +7942,11 @@ function $5792afa4170ed552$export$2e2bcd8739ae039() {
|
|
7942
7942
|
this.debug("Navigating to ", window.location.pathname);
|
7943
7943
|
this.$dispatch("navigation:start");
|
7944
7944
|
this.location = window.location;
|
7945
|
-
await this.updateDOM(
|
7945
|
+
await this.updateDOM("#app-main", {
|
7946
|
+
headers: {
|
7947
|
+
"X-Lookbook-Frame": "main"
|
7948
|
+
}
|
7949
|
+
});
|
7946
7950
|
this.$dispatch("navigation:complete");
|
7947
7951
|
},
|
7948
7952
|
hijax (evt) {
|
@@ -7961,13 +7965,13 @@ function $5792afa4170ed552$export$2e2bcd8739ae039() {
|
|
7961
7965
|
}
|
7962
7966
|
}
|
7963
7967
|
},
|
7964
|
-
async updateDOM () {
|
7968
|
+
async updateDOM (rootSelector = `#${this.$root.id}`, options = {}) {
|
7965
7969
|
this.debug("Starting DOM update");
|
7966
7970
|
this.$dispatch("dom:update-start");
|
7967
7971
|
this.requestStart();
|
7968
7972
|
try {
|
7969
|
-
const { fragment: fragment, title: title } = await (0, $41e83ac737081df5$export$51c59e2af49c1a92)(window.location,
|
7970
|
-
(0, $490552754c23ef6f$export$2e5e8c41f5d4e7c7)(
|
7973
|
+
const { fragment: fragment, title: title } = await (0, $41e83ac737081df5$export$51c59e2af49c1a92)(window.location, rootSelector, options);
|
7974
|
+
(0, $490552754c23ef6f$export$2e5e8c41f5d4e7c7)(document.querySelector(rootSelector), fragment);
|
7971
7975
|
document.title = title;
|
7972
7976
|
this.requestEnd();
|
7973
7977
|
this.$dispatch("dom:update-complete");
|
@@ -12531,7 +12535,125 @@ $c9dfaeb25bf110ce$exports = {
|
|
12531
12535
|
};
|
12532
12536
|
|
12533
12537
|
|
12534
|
-
var $
|
12538
|
+
var $6178ee12f80cbf68$exports = {};
|
12539
|
+
var $6a9b69d9cc7f810f$exports = {};
|
12540
|
+
|
12541
|
+
$parcel$defineInteropFlag($6a9b69d9cc7f810f$exports);
|
12542
|
+
|
12543
|
+
$parcel$export($6a9b69d9cc7f810f$exports, "default", () => $6a9b69d9cc7f810f$export$2e2bcd8739ae039);
|
12544
|
+
var $cdfeaa1e0e8d642c$exports = {};
|
12545
|
+
(function(global, factory) {
|
12546
|
+
$cdfeaa1e0e8d642c$exports = factory();
|
12547
|
+
})($cdfeaa1e0e8d642c$exports, function() {
|
12548
|
+
"use strict";
|
12549
|
+
/* eslint-disable no-var */ function assign(target) {
|
12550
|
+
for(var i = 1; i < arguments.length; i++){
|
12551
|
+
var source = arguments[i];
|
12552
|
+
for(var key in source)target[key] = source[key];
|
12553
|
+
}
|
12554
|
+
return target;
|
12555
|
+
}
|
12556
|
+
/* eslint-enable no-var */ /* eslint-disable no-var */ var defaultConverter = {
|
12557
|
+
read: function(value) {
|
12558
|
+
if (value[0] === '"') value = value.slice(1, -1);
|
12559
|
+
return value.replace(/(%[\dA-F]{2})+/gi, decodeURIComponent);
|
12560
|
+
},
|
12561
|
+
write: function(value) {
|
12562
|
+
return encodeURIComponent(value).replace(/%(2[346BF]|3[AC-F]|40|5[BDE]|60|7[BCD])/g, decodeURIComponent);
|
12563
|
+
}
|
12564
|
+
};
|
12565
|
+
/* eslint-enable no-var */ /* eslint-disable no-var */ function init(converter, defaultAttributes) {
|
12566
|
+
function set(name, value, attributes) {
|
12567
|
+
if (typeof document === "undefined") return;
|
12568
|
+
attributes = assign({}, defaultAttributes, attributes);
|
12569
|
+
if (typeof attributes.expires === "number") attributes.expires = new Date(Date.now() + attributes.expires * 864e5);
|
12570
|
+
if (attributes.expires) attributes.expires = attributes.expires.toUTCString();
|
12571
|
+
name = encodeURIComponent(name).replace(/%(2[346B]|5E|60|7C)/g, decodeURIComponent).replace(/[()]/g, escape);
|
12572
|
+
var stringifiedAttributes = "";
|
12573
|
+
for(var attributeName in attributes){
|
12574
|
+
if (!attributes[attributeName]) continue;
|
12575
|
+
stringifiedAttributes += "; " + attributeName;
|
12576
|
+
if (attributes[attributeName] === true) continue;
|
12577
|
+
// Considers RFC 6265 section 5.2:
|
12578
|
+
// ...
|
12579
|
+
// 3. If the remaining unparsed-attributes contains a %x3B (";")
|
12580
|
+
// character:
|
12581
|
+
// Consume the characters of the unparsed-attributes up to,
|
12582
|
+
// not including, the first %x3B (";") character.
|
12583
|
+
// ...
|
12584
|
+
stringifiedAttributes += "=" + attributes[attributeName].split(";")[0];
|
12585
|
+
}
|
12586
|
+
return document.cookie = name + "=" + converter.write(value, name) + stringifiedAttributes;
|
12587
|
+
}
|
12588
|
+
function get(name) {
|
12589
|
+
if (typeof document === "undefined" || arguments.length && !name) return;
|
12590
|
+
// To prevent the for loop in the first place assign an empty array
|
12591
|
+
// in case there are no cookies at all.
|
12592
|
+
var cookies = document.cookie ? document.cookie.split("; ") : [];
|
12593
|
+
var jar = {};
|
12594
|
+
for(var i = 0; i < cookies.length; i++){
|
12595
|
+
var parts = cookies[i].split("=");
|
12596
|
+
var value = parts.slice(1).join("=");
|
12597
|
+
try {
|
12598
|
+
var found = decodeURIComponent(parts[0]);
|
12599
|
+
jar[found] = converter.read(value, found);
|
12600
|
+
if (name === found) break;
|
12601
|
+
} catch (e) {}
|
12602
|
+
}
|
12603
|
+
return name ? jar[name] : jar;
|
12604
|
+
}
|
12605
|
+
return Object.create({
|
12606
|
+
set: set,
|
12607
|
+
get: get,
|
12608
|
+
remove: function(name, attributes) {
|
12609
|
+
set(name, "", assign({}, attributes, {
|
12610
|
+
expires: -1
|
12611
|
+
}));
|
12612
|
+
},
|
12613
|
+
withAttributes: function(attributes) {
|
12614
|
+
return init(this.converter, assign({}, this.attributes, attributes));
|
12615
|
+
},
|
12616
|
+
withConverter: function(converter) {
|
12617
|
+
return init(assign({}, this.converter, converter), this.attributes);
|
12618
|
+
}
|
12619
|
+
}, {
|
12620
|
+
attributes: {
|
12621
|
+
value: Object.freeze(defaultAttributes)
|
12622
|
+
},
|
12623
|
+
converter: {
|
12624
|
+
value: Object.freeze(converter)
|
12625
|
+
}
|
12626
|
+
});
|
12627
|
+
}
|
12628
|
+
var api = init(defaultConverter, {
|
12629
|
+
path: "/"
|
12630
|
+
});
|
12631
|
+
/* eslint-enable no-var */ return api;
|
12632
|
+
});
|
12633
|
+
|
12634
|
+
|
12635
|
+
|
12636
|
+
function $6a9b69d9cc7f810f$export$2e2bcd8739ae039({ name: name, value: value }) {
|
12637
|
+
return {
|
12638
|
+
name: name,
|
12639
|
+
value: value,
|
12640
|
+
init () {
|
12641
|
+
this.$watch("value", ()=>this.update());
|
12642
|
+
},
|
12643
|
+
update () {
|
12644
|
+
(0, (/*@__PURE__*/$parcel$interopDefault($cdfeaa1e0e8d642c$exports))).set(`lookbook-display-${name}`, this.value);
|
12645
|
+
const searchParams = new URLSearchParams(window.location.search);
|
12646
|
+
const display = searchParams.get("_display");
|
12647
|
+
const displayParams = display ? (0, $fb8f79f7dd40b68f$export$f720fd0ddbeb53d9)(display) : {};
|
12648
|
+
displayParams[this.name] = this.value;
|
12649
|
+
searchParams.set("_display", (0, $fb8f79f7dd40b68f$export$c788aab010beeaec)(displayParams));
|
12650
|
+
const path = location.href.replace(location.search, "");
|
12651
|
+
this.navigateTo(`${path}?${searchParams.toString()}`);
|
12652
|
+
}
|
12653
|
+
};
|
12654
|
+
}
|
12655
|
+
|
12656
|
+
|
12535
12657
|
var $c299e36fa9e271bc$exports = {};
|
12536
12658
|
|
12537
12659
|
$parcel$defineInteropFlag($c299e36fa9e271bc$exports);
|
@@ -13424,124 +13546,6 @@ function $c299e36fa9e271bc$export$2e2bcd8739ae039(id, embedStore) {
|
|
13424
13546
|
}
|
13425
13547
|
|
13426
13548
|
|
13427
|
-
var $6a9b69d9cc7f810f$exports = {};
|
13428
|
-
|
13429
|
-
$parcel$defineInteropFlag($6a9b69d9cc7f810f$exports);
|
13430
|
-
|
13431
|
-
$parcel$export($6a9b69d9cc7f810f$exports, "default", () => $6a9b69d9cc7f810f$export$2e2bcd8739ae039);
|
13432
|
-
var $cdfeaa1e0e8d642c$exports = {};
|
13433
|
-
(function(global, factory) {
|
13434
|
-
$cdfeaa1e0e8d642c$exports = factory();
|
13435
|
-
})($cdfeaa1e0e8d642c$exports, function() {
|
13436
|
-
"use strict";
|
13437
|
-
/* eslint-disable no-var */ function assign(target) {
|
13438
|
-
for(var i = 1; i < arguments.length; i++){
|
13439
|
-
var source = arguments[i];
|
13440
|
-
for(var key in source)target[key] = source[key];
|
13441
|
-
}
|
13442
|
-
return target;
|
13443
|
-
}
|
13444
|
-
/* eslint-enable no-var */ /* eslint-disable no-var */ var defaultConverter = {
|
13445
|
-
read: function(value) {
|
13446
|
-
if (value[0] === '"') value = value.slice(1, -1);
|
13447
|
-
return value.replace(/(%[\dA-F]{2})+/gi, decodeURIComponent);
|
13448
|
-
},
|
13449
|
-
write: function(value) {
|
13450
|
-
return encodeURIComponent(value).replace(/%(2[346BF]|3[AC-F]|40|5[BDE]|60|7[BCD])/g, decodeURIComponent);
|
13451
|
-
}
|
13452
|
-
};
|
13453
|
-
/* eslint-enable no-var */ /* eslint-disable no-var */ function init(converter, defaultAttributes) {
|
13454
|
-
function set(name, value, attributes) {
|
13455
|
-
if (typeof document === "undefined") return;
|
13456
|
-
attributes = assign({}, defaultAttributes, attributes);
|
13457
|
-
if (typeof attributes.expires === "number") attributes.expires = new Date(Date.now() + attributes.expires * 864e5);
|
13458
|
-
if (attributes.expires) attributes.expires = attributes.expires.toUTCString();
|
13459
|
-
name = encodeURIComponent(name).replace(/%(2[346B]|5E|60|7C)/g, decodeURIComponent).replace(/[()]/g, escape);
|
13460
|
-
var stringifiedAttributes = "";
|
13461
|
-
for(var attributeName in attributes){
|
13462
|
-
if (!attributes[attributeName]) continue;
|
13463
|
-
stringifiedAttributes += "; " + attributeName;
|
13464
|
-
if (attributes[attributeName] === true) continue;
|
13465
|
-
// Considers RFC 6265 section 5.2:
|
13466
|
-
// ...
|
13467
|
-
// 3. If the remaining unparsed-attributes contains a %x3B (";")
|
13468
|
-
// character:
|
13469
|
-
// Consume the characters of the unparsed-attributes up to,
|
13470
|
-
// not including, the first %x3B (";") character.
|
13471
|
-
// ...
|
13472
|
-
stringifiedAttributes += "=" + attributes[attributeName].split(";")[0];
|
13473
|
-
}
|
13474
|
-
return document.cookie = name + "=" + converter.write(value, name) + stringifiedAttributes;
|
13475
|
-
}
|
13476
|
-
function get(name) {
|
13477
|
-
if (typeof document === "undefined" || arguments.length && !name) return;
|
13478
|
-
// To prevent the for loop in the first place assign an empty array
|
13479
|
-
// in case there are no cookies at all.
|
13480
|
-
var cookies = document.cookie ? document.cookie.split("; ") : [];
|
13481
|
-
var jar = {};
|
13482
|
-
for(var i = 0; i < cookies.length; i++){
|
13483
|
-
var parts = cookies[i].split("=");
|
13484
|
-
var value = parts.slice(1).join("=");
|
13485
|
-
try {
|
13486
|
-
var found = decodeURIComponent(parts[0]);
|
13487
|
-
jar[found] = converter.read(value, found);
|
13488
|
-
if (name === found) break;
|
13489
|
-
} catch (e) {}
|
13490
|
-
}
|
13491
|
-
return name ? jar[name] : jar;
|
13492
|
-
}
|
13493
|
-
return Object.create({
|
13494
|
-
set: set,
|
13495
|
-
get: get,
|
13496
|
-
remove: function(name, attributes) {
|
13497
|
-
set(name, "", assign({}, attributes, {
|
13498
|
-
expires: -1
|
13499
|
-
}));
|
13500
|
-
},
|
13501
|
-
withAttributes: function(attributes) {
|
13502
|
-
return init(this.converter, assign({}, this.attributes, attributes));
|
13503
|
-
},
|
13504
|
-
withConverter: function(converter) {
|
13505
|
-
return init(assign({}, this.converter, converter), this.attributes);
|
13506
|
-
}
|
13507
|
-
}, {
|
13508
|
-
attributes: {
|
13509
|
-
value: Object.freeze(defaultAttributes)
|
13510
|
-
},
|
13511
|
-
converter: {
|
13512
|
-
value: Object.freeze(converter)
|
13513
|
-
}
|
13514
|
-
});
|
13515
|
-
}
|
13516
|
-
var api = init(defaultConverter, {
|
13517
|
-
path: "/"
|
13518
|
-
});
|
13519
|
-
/* eslint-enable no-var */ return api;
|
13520
|
-
});
|
13521
|
-
|
13522
|
-
|
13523
|
-
|
13524
|
-
function $6a9b69d9cc7f810f$export$2e2bcd8739ae039({ name: name, value: value }) {
|
13525
|
-
return {
|
13526
|
-
name: name,
|
13527
|
-
value: value,
|
13528
|
-
init () {
|
13529
|
-
this.$watch("value", ()=>this.update());
|
13530
|
-
},
|
13531
|
-
update () {
|
13532
|
-
(0, (/*@__PURE__*/$parcel$interopDefault($cdfeaa1e0e8d642c$exports))).set(`lookbook-display-${name}`, this.value);
|
13533
|
-
const searchParams = new URLSearchParams(window.location.search);
|
13534
|
-
const display = searchParams.get("_display");
|
13535
|
-
const displayParams = display ? (0, $fb8f79f7dd40b68f$export$f720fd0ddbeb53d9)(display) : {};
|
13536
|
-
displayParams[this.name] = this.value;
|
13537
|
-
searchParams.set("_display", (0, $fb8f79f7dd40b68f$export$c788aab010beeaec)(displayParams));
|
13538
|
-
const path = location.href.replace(location.search, "");
|
13539
|
-
this.navigateTo(`${path}?${searchParams.toString()}`);
|
13540
|
-
}
|
13541
|
-
};
|
13542
|
-
}
|
13543
|
-
|
13544
|
-
|
13545
13549
|
var $9b24cbeb3a465447$exports = {};
|
13546
13550
|
|
13547
13551
|
$parcel$defineInteropFlag($9b24cbeb3a465447$exports);
|
@@ -13551,19 +13555,19 @@ function $9b24cbeb3a465447$export$2e2bcd8739ae039({ id: id, matchers: matchers }
|
|
13551
13555
|
matchers = matchers.map((matcher)=>matcher.replace(/\s/g, "").toLowerCase());
|
13552
13556
|
return {
|
13553
13557
|
filteredOut: false,
|
13558
|
+
active: false,
|
13554
13559
|
get open () {
|
13555
13560
|
return this.isCollection && this.isOpen(id);
|
13556
13561
|
},
|
13557
|
-
get active () {
|
13558
|
-
if (this.$refs.link) return this.location && this.location.pathname === this.$refs.link.getAttribute("href");
|
13559
|
-
return false;
|
13560
|
-
},
|
13561
13562
|
get children () {
|
13562
13563
|
return this.$refs.items ? Array.from(this.$refs.items.children) : [];
|
13563
13564
|
},
|
13564
13565
|
get isCollection () {
|
13565
13566
|
return !this.$refs.link;
|
13566
13567
|
},
|
13568
|
+
checkActive () {
|
13569
|
+
this.active = this.$refs.link && window.location.pathname === this.$refs.link.getAttribute("href");
|
13570
|
+
},
|
13567
13571
|
toggle () {
|
13568
13572
|
this.toggleOpen(id);
|
13569
13573
|
},
|
@@ -13631,13 +13635,13 @@ function $e773f8ef556b41ff$export$2e2bcd8739ae039() {
|
|
13631
13635
|
}
|
13632
13636
|
|
13633
13637
|
|
13634
|
-
$
|
13635
|
-
"embed": {
|
13636
|
-
"inspector": $c299e36fa9e271bc$exports
|
13637
|
-
},
|
13638
|
+
$6178ee12f80cbf68$exports = {
|
13638
13639
|
"display_options": {
|
13639
13640
|
"field": $6a9b69d9cc7f810f$exports
|
13640
13641
|
},
|
13642
|
+
"embed": {
|
13643
|
+
"inspector": $c299e36fa9e271bc$exports
|
13644
|
+
},
|
13641
13645
|
"nav": {
|
13642
13646
|
"item": $9b24cbeb3a465447$exports
|
13643
13647
|
},
|
@@ -13712,7 +13716,7 @@ const $22969b543678f572$var$prefix = window.APP_NAME;
|
|
13712
13716
|
(0, $caa9439642c6336c$export$2e2bcd8739ae039).data("app", (0, $5792afa4170ed552$export$2e2bcd8739ae039));
|
13713
13717
|
[
|
13714
13718
|
$c9dfaeb25bf110ce$exports,
|
13715
|
-
$
|
13719
|
+
$6178ee12f80cbf68$exports,
|
13716
13720
|
$d56e5cced44001d2$exports
|
13717
13721
|
].forEach((scripts)=>{
|
13718
13722
|
const components = (0, $12b7aa006b8a97e1$export$4e811121b221213b)(scripts);
|